js β’ Lines: 167import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js";
const eraValues = {
narrow: ["BC", "AD"],
abbreviated: ["BC", "AD"],
wide: ["κΈ°μμ ", "μκΈ°"],
};
const quarterValues = {
narrow: ["1", "2", "3", "4"],
abbreviated: ["Q1", "Q2", "Q3", "Q4"],
wide: ["1λΆκΈ°", "2λΆκΈ°", "3λΆκΈ°", "4λΆκΈ°"],
};
const monthValues = {
narrow: ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"],
abbreviated: [
"1μ",
"2μ",
"3μ",
"4μ",
"5μ",
"6μ",
"7μ",
"8μ",
"9μ",
"10μ",
"11μ",
"12μ",
],
wide: [
"1μ",
"2μ",
"3μ",
"4μ",
"5μ",
"6μ",
"7μ",
"8μ",
"9μ",
"10μ",
"11μ",
"12μ",
],
};
const dayValues = {
narrow: ["μΌ", "μ", "ν", "μ", "λͺ©", "κΈ", "ν "],
short: ["μΌ", "μ", "ν", "μ", "λͺ©", "κΈ", "ν "],
abbreviated: ["μΌ", "μ", "ν", "μ", "λͺ©", "κΈ", "ν "],
wide: ["μΌμμΌ", "μμμΌ", "νμμΌ", "μμμΌ", "λͺ©μμΌ", "κΈμμΌ", "ν μμΌ"],
};
const 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: "λ°€",
},
};
const 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: "λ°€",
},
};
const ordinalNumber = (dirtyNumber, options) => {
const number = Number(dirtyNumber);
const unit = String(options?.unit);
switch (unit) {
case "minute":
case "second":
return String(number);
case "date":
return number + "μΌ";
default:
return number + "λ²μ§Έ";
}
};
export const localize = {
ordinalNumber,
era: buildLocalizeFn({
values: eraValues,
defaultWidth: "wide",
}),
quarter: buildLocalizeFn({
values: quarterValues,
defaultWidth: "wide",
argumentCallback: (quarter) => quarter - 1,
}),
month: buildLocalizeFn({
values: monthValues,
defaultWidth: "wide",
}),
day: buildLocalizeFn({
values: dayValues,
defaultWidth: "wide",
}),
dayPeriod: buildLocalizeFn({
values: dayPeriodValues,
defaultWidth: "wide",
formattingValues: formattingDayPeriodValues,
defaultFormattingWidth: "wide",
}),
};