recoder-code
Version:
đ AI-powered development platform - Chat with 32+ models, build projects, automate workflows. Free models included!
192 lines (190 loc) âĸ 6.15 kB
JavaScript
import buildLocalizeFn from "../../../_lib/buildLocalizeFn/index.js";
var numberValues = {
locale: {
'1': 'ā§§',
'2': '⧍',
'3': 'ā§Š',
'4': 'ā§Ē',
'5': 'ā§Ģ',
'6': 'ā§Ŧ',
'7': 'ā§',
'8': 'ā§Ž',
'9': '⧝',
'0': 'ā§Ļ'
},
number: {
'ā§§': '1',
'⧍': '2',
'ā§Š': '3',
'ā§Ē': '4',
'ā§Ģ': '5',
'ā§Ŧ': '6',
'ā§': '7',
'ā§Ž': '8',
'⧝': '9',
'ā§Ļ': '0'
}
};
var eraValues = {
narrow: ['āĻā§āϰāĻŋāĻāĻĒā§āĻ', 'āĻā§āϰāĻŋāĻ'],
abbreviated: ['āĻā§āϰāĻŋāĻāĻĒā§āϰā§āĻŦ', 'āĻā§āϰāĻŋāĻ'],
wide: ['āĻā§āϰāĻŋāϏā§āĻāĻĒā§āϰā§āĻŦ', 'āĻā§āϰāĻŋāϏā§āĻāĻžāĻŦā§āĻĻ']
};
var quarterValues = {
narrow: ['ā§§', '⧍', 'ā§Š', 'ā§Ē'],
abbreviated: ['ā§§āϤā§āϰā§', '⧍āϤā§āϰā§', 'ā§ŠāϤā§āϰā§', 'ā§ĒāϤā§āϰā§'],
wide: ['ā§§āĻŽ āϤā§āϰā§āĻŽāĻžāϏāĻŋāĻ', '⧍⧠āϤā§āϰā§āĻŽāĻžāϏāĻŋāĻ', 'ā§Šā§ āϤā§āϰā§āĻŽāĻžāϏāĻŋāĻ', 'ā§Ēāϰā§āĻĨ āϤā§āϰā§āĻŽāĻžāϏāĻŋāĻ']
};
var monthValues = {
narrow: ['āĻāĻžāύā§', 'āĻĢā§āĻŦā§āϰā§', 'āĻŽāĻžāϰā§āĻ', 'āĻāĻĒā§āϰāĻŋāϞ', 'āĻŽā§', 'āĻā§āύ', 'āĻā§āϞāĻžāĻ', 'āĻāĻāϏā§āĻ', 'āϏā§āĻĒā§āĻ', 'āĻ
āĻā§āĻā§', 'āύāĻā§', 'āĻĄāĻŋāϏā§'],
abbreviated: ['āĻāĻžāύā§', 'āĻĢā§āĻŦā§āϰā§', 'āĻŽāĻžāϰā§āĻ', 'āĻāĻĒā§āϰāĻŋāϞ', 'āĻŽā§', 'āĻā§āύ', 'āĻā§āϞāĻžāĻ', 'āĻāĻāϏā§āĻ', 'āϏā§āĻĒā§āĻ', 'āĻ
āĻā§āĻā§', 'āύāĻā§', 'āĻĄāĻŋāϏā§'],
wide: ['āĻāĻžāύā§ā§āĻžāϰāĻŋ', 'āĻĢā§āĻŦā§āϰā§ā§āĻžāϰāĻŋ', 'āĻŽāĻžāϰā§āĻ', 'āĻāĻĒā§āϰāĻŋāϞ', 'āĻŽā§', 'āĻā§āύ', 'āĻā§āϞāĻžāĻ', 'āĻāĻāϏā§āĻ', 'āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰ', 'āĻ
āĻā§āĻā§āĻŦāϰ', 'āύāĻā§āĻŽā§āĻŦāϰ', 'āĻĄāĻŋāϏā§āĻŽā§āĻŦāϰ']
};
var dayValues = {
narrow: ['āϰ', 'āϏā§', 'āĻŽ', 'āĻŦā§', 'āĻŦā§', 'āĻļā§', 'āĻļ'],
short: ['āϰāĻŦāĻŋ', 'āϏā§āĻŽ', 'āĻŽāĻā§āĻāϞ', 'āĻŦā§āϧ', 'āĻŦā§āĻš', 'āĻļā§āĻā§āϰ', 'āĻļāύāĻŋ'],
abbreviated: ['āϰāĻŦāĻŋ', 'āϏā§āĻŽ', 'āĻŽāĻā§āĻāϞ', 'āĻŦā§āϧ', 'āĻŦā§āĻš', 'āĻļā§āĻā§āϰ', 'āĻļāύāĻŋ'],
wide: ['āϰāĻŦāĻŋāĻŦāĻžāϰ', 'āϏā§āĻŽāĻŦāĻžāϰ', 'āĻŽāĻā§āĻāϞāĻŦāĻžāϰ', 'āĻŦā§āϧāĻŦāĻžāϰ', 'āĻŦā§āĻšāϏā§āĻĒāϤāĻŋāĻŦāĻžāϰ ', 'āĻļā§āĻā§āϰāĻŦāĻžāϰ', 'āĻļāύāĻŋāĻŦāĻžāϰ']
};
var dayPeriodValues = {
narrow: {
am: 'āĻĒā§',
pm: 'āĻ
āĻĒ',
midnight: 'āĻŽāϧā§āϝāϰāĻžāϤ',
noon: 'āĻŽāϧā§āϝāĻžāĻšā§āύ',
morning: 'āϏāĻāĻžāϞ',
afternoon: 'āĻŦāĻŋāĻāĻžāϞ',
evening: 'āϏāύā§āϧā§āϝāĻž',
night: 'āϰāĻžāϤ'
},
abbreviated: {
am: 'āĻĒā§āϰā§āĻŦāĻžāĻšā§āύ',
pm: 'āĻ
āĻĒāϰāĻžāĻšā§āύ',
midnight: 'āĻŽāϧā§āϝāϰāĻžāϤ',
noon: 'āĻŽāϧā§āϝāĻžāĻšā§āύ',
morning: 'āϏāĻāĻžāϞ',
afternoon: 'āĻŦāĻŋāĻāĻžāϞ',
evening: 'āϏāύā§āϧā§āϝāĻž',
night: 'āϰāĻžāϤ'
},
wide: {
am: 'āĻĒā§āϰā§āĻŦāĻžāĻšā§āύ',
pm: 'āĻ
āĻĒāϰāĻžāĻšā§āύ',
midnight: 'āĻŽāϧā§āϝāϰāĻžāϤ',
noon: 'āĻŽāϧā§āϝāĻžāĻšā§āύ',
morning: 'āϏāĻāĻžāϞ',
afternoon: 'āĻŦāĻŋāĻāĻžāϞ',
evening: 'āϏāύā§āϧā§āϝāĻž',
night: 'āϰāĻžāϤ'
}
};
var formattingDayPeriodValues = {
narrow: {
am: 'āĻĒā§',
pm: 'āĻ
āĻĒ',
midnight: 'āĻŽāϧā§āϝāϰāĻžāϤ',
noon: 'āĻŽāϧā§āϝāĻžāĻšā§āύ',
morning: 'āϏāĻāĻžāϞ',
afternoon: 'āĻŦāĻŋāĻāĻžāϞ',
evening: 'āϏāύā§āϧā§āϝāĻž',
night: 'āϰāĻžāϤ'
},
abbreviated: {
am: 'āĻĒā§āϰā§āĻŦāĻžāĻšā§āύ',
pm: 'āĻ
āĻĒāϰāĻžāĻšā§āύ',
midnight: 'āĻŽāϧā§āϝāϰāĻžāϤ',
noon: 'āĻŽāϧā§āϝāĻžāĻšā§āύ',
morning: 'āϏāĻāĻžāϞ',
afternoon: 'āĻŦāĻŋāĻāĻžāϞ',
evening: 'āϏāύā§āϧā§āϝāĻž',
night: 'āϰāĻžāϤ'
},
wide: {
am: 'āĻĒā§āϰā§āĻŦāĻžāĻšā§āύ',
pm: 'āĻ
āĻĒāϰāĻžāĻšā§āύ',
midnight: 'āĻŽāϧā§āϝāϰāĻžāϤ',
noon: 'āĻŽāϧā§āϝāĻžāĻšā§āύ',
morning: 'āϏāĻāĻžāϞ',
afternoon: 'āĻŦāĻŋāĻāĻžāϞ',
evening: 'āϏāύā§āϧā§āϝāĻž',
night: 'āϰāĻžāϤ'
}
};
function dateOrdinalNumber(number, localeNumber) {
if (number > 18 && number <= 31) {
return localeNumber + 'āĻļā§';
} else {
switch (number) {
case 1:
return localeNumber + 'āϞāĻž';
case 2:
case 3:
return localeNumber + 'āϰāĻž';
case 4:
return localeNumber + 'āĻ āĻž';
default:
return localeNumber + 'āĻ';
}
}
}
var ordinalNumber = function ordinalNumber(dirtyNumber, options) {
var number = Number(dirtyNumber);
var localeNumber = numberToLocale(number);
var unit = options === null || options === void 0 ? void 0 : options.unit;
if (unit === 'date') {
return dateOrdinalNumber(number, localeNumber);
}
if (number > 10 || number === 0) return localeNumber + 'āϤāĻŽ';
var rem10 = number % 10;
switch (rem10) {
case 2:
case 3:
return localeNumber + 'ā§';
case 4:
return localeNumber + 'āϰā§āĻĨ';
case 6:
return localeNumber + 'āώā§āĻ ';
default:
return localeNumber + 'āĻŽ';
}
};
// function localeToNumber(locale: string): number {
// const enNumber = locale.toString().replace(/[ā§§ā§¨ā§Šā§Ēā§Ģā§Ŧā§ā§Žā§¯ā§Ļ]/g, function (match) {
// return numberValues.number[match as keyof typeof numberValues.number]
// })
// return Number(enNumber)
// }
export function numberToLocale(enNumber) {
return enNumber.toString().replace(/\d/g, function (match) {
return numberValues.locale[match];
});
}
var localize = {
ordinalNumber: ordinalNumber,
era: buildLocalizeFn({
values: eraValues,
defaultWidth: 'wide'
}),
quarter: buildLocalizeFn({
values: quarterValues,
defaultWidth: 'wide',
argumentCallback: function argumentCallback(quarter) {
return quarter - 1;
}
}),
month: buildLocalizeFn({
values: monthValues,
defaultWidth: 'wide'
}),
day: buildLocalizeFn({
values: dayValues,
defaultWidth: 'wide'
}),
dayPeriod: buildLocalizeFn({
values: dayPeriodValues,
defaultWidth: 'wide',
formattingValues: formattingDayPeriodValues,
defaultFormattingWidth: 'wide'
})
};
export default localize;