codigo0/node_modules/date-fns/locale/hi/_lib/localize.mjs
planetazuzu 5d7a6500fe refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades
-  Ticket 1.1: Estructura Clean Architecture en backend
-  Ticket 1.2: Schemas Zod compartidos
-  Ticket 1.3: Refactorización drugs.ts (1362 → 8 archivos modulares)
-  Ticket 1.4: Refactorización procedures.ts (3583 → 6 archivos modulares)
-  Ticket 1.5: Eliminación de duplicidades (~50 líneas)

Cambios principales:
- Creada estructura Clean Architecture en backend/src/
- Schemas Zod compartidos en backend/src/shared/schemas/
- Refactorización modular de drugs y procedures
- Utilidades genéricas en src/utils/ (filter, validation)
- Eliminados scripts obsoletos y documentación antigua
- Corregidos errores: QueryClient, import test-error-handling
- Build verificado y funcionando correctamente
2026-01-25 21:09:47 +01:00

228 lines
5.4 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.mjs";
const numberValues = {
locale: {
1: "१",
2: "२",
3: "३",
4: "४",
5: "५",
6: "६",
7: "७",
8: "८",
9: "९",
0: "",
},
number: {
"१": "1",
"२": "2",
"३": "3",
"४": "4",
"५": "5",
"६": "6",
"७": "7",
"८": "8",
"९": "9",
"": "0",
},
};
// CLDR #1585 - #1592
const eraValues = {
narrow: ["ईसा-पूर्व", "ईस्वी"],
abbreviated: ["ईसा-पूर्व", "ईस्वी"],
wide: ["ईसा-पूर्व", "ईसवी सन"],
};
// CLDR #1593 - #1616
const quarterValues = {
narrow: ["1", "2", "3", "4"],
abbreviated: ["ति1", "ति2", "ति3", "ति4"],
wide: ["पहली तिमाही", "दूसरी तिमाही", "तीसरी तिमाही", "चौथी तिमाही"],
};
// Note: in English, the names of days of the week and months are capitalized.
// If you are making a new locale based on this one, check if the same is true for the language you're working on.
// Generally, formatted dates should look like they are in the middle of a sentence,
// e.g. in Spanish language the weekdays and months should be in the lowercase.
// https://www.unicode.org/cldr/charts/32/summary/hi.html
// CLDR #1617 - #1688
const monthValues = {
narrow: [
"ज",
"फ़",
"मा",
"अ",
"मई",
"जू",
"जु",
"अग",
"सि",
"अक्टू",
"न",
"दि",
],
abbreviated: [
"जन",
"फ़र",
"मार्च",
"अप्रैल",
"मई",
"जून",
"जुल",
"अग",
"सित",
"अक्टू",
"नव",
"दिस",
],
wide: [
"जनवरी",
"फ़रवरी",
"मार्च",
"अप्रैल",
"मई",
"जून",
"जुलाई",
"अगस्त",
"सितंबर",
"अक्टूबर",
"नवंबर",
"दिसंबर",
],
};
// CLDR #1689 - #1744
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);
return numberToLocale(number);
};
export function localeToNumber(locale) {
const enNumber = locale.toString().replace(/[१२३४५६७८९०]/g, function (match) {
return numberValues.number[match];
});
return Number(enNumber);
}
export function numberToLocale(enNumber) {
return enNumber.toString().replace(/\d/g, function (match) {
return numberValues.locale[match];
});
}
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",
}),
};