@alicloud/console-base-intl-factory-basic
Version:
ConsoleBase Intl Factory Basic, Pure Text, No JSX
31 lines (30 loc) • 1.31 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = factory;
var _consoleBaseConfLocale = _interopRequireDefault(require("@alicloud/console-base-conf-locale"));
var _util = require("../util");
/**
* 获得 intl 方法,其中 messagesMap 中的 key 你可以随便,不用在意大小写,中划线还是下划线还是骆驼,这里自会适应
*/
function factory(messagesMap) {
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
_ref$locale = _ref.locale,
locale = _ref$locale === void 0 ? _consoleBaseConfLocale.default.LOCALE : _ref$locale,
localeDefault = _ref.localeDefault;
// : <V extends {}>(id, values?: V) => string =>
var messages = (0, _util.getMessages)(messagesMap, locale, localeDefault);
var intl = function intl(id, values, escapeValues) {
return (0, _util.formatMessage)(messages, id, values, escapeValues);
};
intl.intlNumber = function (n, options) {
return (0, _util.formatNumber)(Number(n), options, locale);
};
intl.intlDate = function (d, format) {
var date = (0, _util.convertDate)(d);
return date ? (0, _util.formatDate)(date, format, locale) : '';
};
return intl;
}