devextreme
Version:
JavaScript/TypeScript Component Suite for Responsive Web Development
89 lines (87 loc) • 3.04 kB
JavaScript
/**
* DevExtreme (cjs/__internal/core/m_global_format_config.js)
* Version: 26.1.3
* Build date: Wed Jun 10 2026
*
* Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.resolvePresetOverride = exports.getGlobalFormatByDataType = exports.default = void 0;
var _config = _interopRequireDefault(require("../../core/config"));
var _core = _interopRequireDefault(require("../../common/core/localization/core"));
var _parent_locales = _interopRequireDefault(require("../core/localization/cldr-data/parent_locales"));
var _parentLocale = _interopRequireDefault(require("../core/localization/parentLocale"));
var _type = require("../../core/utils/type");
function _interopRequireDefault(e) {
return e && e.__esModule ? e : {
default: e
}
}
const hasOwn = Object.prototype.hasOwnProperty;
const resolveByLocaleMap = localeMap => {
let currentLocale = _core.default.locale();
while (currentLocale) {
if (hasOwn.call(localeMap, currentLocale) && void 0 !== localeMap[currentLocale]) {
return localeMap[currentLocale]
}
currentLocale = (0, _parentLocale.default)(_parent_locales.default, currentLocale)
}
if (hasOwn.call(localeMap, "default")) {
return localeMap.default
}
return
};
const resolveConfigValue = value => {
if (void 0 === value) {
return
}
if ((0, _type.isString)(value) || (0, _type.isFunction)(value)) {
return value
}
if ((0, _type.isPlainObject)(value)) {
return resolveByLocaleMap(value)
}
return
};
const resolveGlobalFormat = optionName => {
const optionValue = (0, _config.default)()[optionName];
return resolveConfigValue(optionValue)
};
const getGlobalFormatByDataType = dataType => {
switch (dataType) {
case "date":
return resolveGlobalFormat("dateFormat");
case "datetime":
return resolveGlobalFormat("dateTimeFormat");
case "time":
return resolveGlobalFormat("timeFormat");
case "number":
return resolveGlobalFormat("numberFormat");
default:
return
}
};
exports.getGlobalFormatByDataType = getGlobalFormatByDataType;
const resolvePresetOverride = presetName => {
const presets = (0, _config.default)().dateTimeFormatPresets;
if (!presets || !(0, _type.isPlainObject)(presets)) {
return
}
const lowerName = presetName.toLowerCase();
const keys = Object.keys(presets);
for (let i = 0; i < keys.length; i++) {
if (keys[i].toLowerCase() === lowerName) {
return resolveConfigValue(presets[keys[i]])
}
}
return
};
exports.resolvePresetOverride = resolvePresetOverride;
var _default = exports.default = {
getGlobalFormatByDataType: getGlobalFormatByDataType,
resolvePresetOverride: resolvePresetOverride
};