This commit is contained in:
15
node_modules/react-polyglot/lib/i18n-context.js
generated
vendored
Normal file
15
node_modules/react-polyglot/lib/i18n-context.js
generated
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports["default"] = void 0;
|
||||
|
||||
var _react = _interopRequireDefault(require("react"));
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
||||
|
||||
var I18nContext = _react["default"].createContext();
|
||||
|
||||
var _default = I18nContext;
|
||||
exports["default"] = _default;
|
||||
66
node_modules/react-polyglot/lib/i18n.js
generated
vendored
Normal file
66
node_modules/react-polyglot/lib/i18n.js
generated
vendored
Normal file
@@ -0,0 +1,66 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports["default"] = I18n;
|
||||
|
||||
var _react = _interopRequireDefault(require("react"));
|
||||
|
||||
var _propTypes = _interopRequireDefault(require("prop-types"));
|
||||
|
||||
var _nodePolyglot = _interopRequireDefault(require("node-polyglot"));
|
||||
|
||||
var _i18nContext = _interopRequireDefault(require("./i18n-context"));
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
||||
|
||||
function I18n(_ref) {
|
||||
var locale = _ref.locale,
|
||||
messages = _ref.messages,
|
||||
allowMissing = _ref.allowMissing,
|
||||
onMissingKey = _ref.onMissingKey,
|
||||
interpolation = _ref.interpolation,
|
||||
pluralRules = _ref.pluralRules,
|
||||
children = _ref.children;
|
||||
|
||||
var translate = _react["default"].useMemo(function () {
|
||||
var polyglot = new _nodePolyglot["default"]({
|
||||
locale: locale,
|
||||
phrases: messages,
|
||||
allowMissing: allowMissing,
|
||||
onMissingKey: onMissingKey,
|
||||
interpolation: interpolation,
|
||||
pluralRules: pluralRules
|
||||
});
|
||||
var boundTranslate = polyglot.t.bind(polyglot);
|
||||
boundTranslate._polyglot = polyglot;
|
||||
return boundTranslate;
|
||||
}, [locale, messages, allowMissing, onMissingKey, interpolation, pluralRules]);
|
||||
|
||||
return _react["default"].createElement(_i18nContext["default"].Provider, {
|
||||
value: translate
|
||||
}, _react["default"].Children.only(children));
|
||||
}
|
||||
|
||||
I18n.propTypes = {
|
||||
locale: _propTypes["default"].string.isRequired,
|
||||
messages: _propTypes["default"].object.isRequired,
|
||||
allowMissing: _propTypes["default"].bool,
|
||||
onMissingKey: _propTypes["default"].func,
|
||||
interpolation: _propTypes["default"].shape({
|
||||
suffix: _propTypes["default"].string,
|
||||
prefix: _propTypes["default"].string
|
||||
}),
|
||||
pluralRules: _propTypes["default"].shape({
|
||||
pluralTypes: _propTypes["default"].object,
|
||||
pluralTypeToLanguages: _propTypes["default"].object
|
||||
}),
|
||||
children: _propTypes["default"].element.isRequired
|
||||
};
|
||||
I18n.defaultProps = {
|
||||
allowMissing: false,
|
||||
onMissingKey: undefined,
|
||||
interpolation: undefined,
|
||||
pluralRules: undefined
|
||||
};
|
||||
100
node_modules/react-polyglot/lib/i18n.test.js
generated
vendored
Normal file
100
node_modules/react-polyglot/lib/i18n.test.js
generated
vendored
Normal file
@@ -0,0 +1,100 @@
|
||||
"use strict";
|
||||
|
||||
var _react = _interopRequireWildcard(require("react"));
|
||||
|
||||
var _reactTestRenderer = _interopRequireDefault(require("react-test-renderer"));
|
||||
|
||||
var _i18n = _interopRequireDefault(require("./i18n"));
|
||||
|
||||
var _i18nContext = _interopRequireDefault(require("./i18n-context"));
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
||||
|
||||
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
|
||||
|
||||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
||||
|
||||
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
||||
|
||||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||
|
||||
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
||||
|
||||
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
||||
|
||||
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
||||
|
||||
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
||||
|
||||
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
||||
|
||||
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
||||
|
||||
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
||||
|
||||
describe('I18n Provider', function () {
|
||||
var createChild = function createChild() {
|
||||
var Child =
|
||||
/*#__PURE__*/
|
||||
function (_Component) {
|
||||
_inherits(Child, _Component);
|
||||
|
||||
function Child() {
|
||||
_classCallCheck(this, Child);
|
||||
|
||||
return _possibleConstructorReturn(this, _getPrototypeOf(Child).apply(this, arguments));
|
||||
}
|
||||
|
||||
_createClass(Child, [{
|
||||
key: "render",
|
||||
value: function render() {
|
||||
return _react["default"].createElement("div", null);
|
||||
}
|
||||
}]);
|
||||
|
||||
return Child;
|
||||
}(_react.Component);
|
||||
|
||||
return Child;
|
||||
};
|
||||
|
||||
var Child = createChild();
|
||||
|
||||
function getPolyglotFromRenderer(renderer) {
|
||||
var instance = renderer.root;
|
||||
var children = instance.children;
|
||||
var firstChild = children[0];
|
||||
var firstChildValueProps = firstChild.props.value;
|
||||
var polyglot = firstChildValueProps._polyglot;
|
||||
return polyglot;
|
||||
}
|
||||
|
||||
it('should update instance on receiving new props', function () {
|
||||
var props = {
|
||||
locale: 'en',
|
||||
messages: {
|
||||
test: 'test'
|
||||
}
|
||||
};
|
||||
|
||||
var renderer = _reactTestRenderer["default"].create(_react["default"].createElement(_i18n["default"], props, _react["default"].createElement(_i18nContext["default"].Consumer, null, function (value) {
|
||||
return _react["default"].createElement(Child, {
|
||||
value: value
|
||||
});
|
||||
})));
|
||||
|
||||
var newProps = {
|
||||
locale: 'jp',
|
||||
messages: {
|
||||
test: 'test'
|
||||
}
|
||||
};
|
||||
renderer.update(_react["default"].createElement(_i18n["default"], newProps, _react["default"].createElement(_i18nContext["default"].Consumer, null, function (value) {
|
||||
return _react["default"].createElement(Child, {
|
||||
value: value
|
||||
});
|
||||
})));
|
||||
var polyglot = getPolyglotFromRenderer(renderer);
|
||||
expect(polyglot.locale()).toBe('jp');
|
||||
});
|
||||
});
|
||||
31
node_modules/react-polyglot/lib/index.js
generated
vendored
Normal file
31
node_modules/react-polyglot/lib/index.js
generated
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, "I18n", {
|
||||
enumerable: true,
|
||||
get: function get() {
|
||||
return _i18n["default"];
|
||||
}
|
||||
});
|
||||
Object.defineProperty(exports, "translate", {
|
||||
enumerable: true,
|
||||
get: function get() {
|
||||
return _translate["default"];
|
||||
}
|
||||
});
|
||||
Object.defineProperty(exports, "useTranslate", {
|
||||
enumerable: true,
|
||||
get: function get() {
|
||||
return _useTranslate["default"];
|
||||
}
|
||||
});
|
||||
|
||||
var _i18n = _interopRequireDefault(require("./i18n"));
|
||||
|
||||
var _translate = _interopRequireDefault(require("./translate"));
|
||||
|
||||
var _useTranslate = _interopRequireDefault(require("./useTranslate"));
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
||||
31
node_modules/react-polyglot/lib/translate.js
generated
vendored
Normal file
31
node_modules/react-polyglot/lib/translate.js
generated
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports["default"] = translate;
|
||||
|
||||
var _react = _interopRequireDefault(require("react"));
|
||||
|
||||
var _hoistNonReactStatics = _interopRequireDefault(require("hoist-non-react-statics"));
|
||||
|
||||
var _i18nContext = _interopRequireDefault(require("./i18n-context"));
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
||||
|
||||
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
||||
|
||||
// higher order decorator for components that need `t`
|
||||
function translate() {
|
||||
return function (WrappedComponent) {
|
||||
var _translate = function _translate(props) {
|
||||
return _react["default"].createElement(_i18nContext["default"].Consumer, null, function (t) {
|
||||
return _react["default"].createElement(WrappedComponent, _extends({}, props, {
|
||||
t: t
|
||||
}));
|
||||
});
|
||||
};
|
||||
|
||||
return (0, _hoistNonReactStatics["default"])(_translate, WrappedComponent);
|
||||
};
|
||||
}
|
||||
16
node_modules/react-polyglot/lib/useTranslate.js
generated
vendored
Normal file
16
node_modules/react-polyglot/lib/useTranslate.js
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports["default"] = useTranslate;
|
||||
|
||||
var _react = require("react");
|
||||
|
||||
var _i18nContext = _interopRequireDefault(require("./i18n-context"));
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
||||
|
||||
function useTranslate() {
|
||||
return (0, _react.useContext)(_i18nContext["default"]);
|
||||
}
|
||||
Reference in New Issue
Block a user