react-translate-maker
Version:
React translation module. Internationalize your great project.
56 lines (47 loc) • 1.25 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = LocaleSwitch;
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _react = require("react");
var _TranslateContext = _interopRequireDefault(require("./TranslateContext"));
function LocaleSwitch(props) {
const {
onError,
onChange,
children
} = props;
const {
translate
} = (0, _react.useContext)(_TranslateContext.default);
const handleChange = (0, _react.useCallback)(
/*#__PURE__*/
function () {
var _ref = (0, _asyncToGenerator2.default)(function* (locale) {
try {
yield translate.setLocale(locale);
if (onChange) {
onChange(locale);
}
} catch (e) {
if (onError) {
onError(e);
}
}
});
return function (_x) {
return _ref.apply(this, arguments);
};
}(), []);
return children({
locale: translate.getLocale(),
changeLocale: handleChange
});
}
LocaleSwitch.defaultProps = {
onError: undefined,
onChange: undefined
};
//# sourceMappingURL=LocaleSwitch.js.map