@aibrains/shared-types 0.15.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/dist/events/enrollment-billing.events.d.ts +47 -0
  2. package/dist/events/enrollment-billing.events.d.ts.map +1 -0
  3. package/dist/events/enrollment-billing.events.js +9 -0
  4. package/dist/events/enrollment-billing.events.js.map +1 -0
  5. package/dist/identity/country-config.d.ts +120 -0
  6. package/dist/identity/country-config.d.ts.map +1 -0
  7. package/dist/identity/country-config.js +404 -0
  8. package/dist/identity/country-config.js.map +1 -0
  9. package/dist/identity/field-governance.d.ts +40 -0
  10. package/dist/identity/field-governance.d.ts.map +1 -0
  11. package/dist/identity/field-governance.js +111 -0
  12. package/dist/identity/field-governance.js.map +1 -0
  13. package/dist/index.d.ts +6 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +9 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/mappers/edfi/education-org.mapper.js +3 -3
  18. package/dist/mappers/edfi/education-org.mapper.js.map +1 -1
  19. package/dist/schemas/finance/common.d.ts +1 -1
  20. package/dist/schemas/finance/common.d.ts.map +1 -1
  21. package/dist/schemas/finance/common.js +1 -1
  22. package/dist/schemas/finance/common.js.map +1 -1
  23. package/dist/schemas/finance/credit-note.schema.d.ts +127 -0
  24. package/dist/schemas/finance/credit-note.schema.d.ts.map +1 -0
  25. package/dist/schemas/finance/credit-note.schema.js +55 -0
  26. package/dist/schemas/finance/credit-note.schema.js.map +1 -0
  27. package/dist/schemas/finance/discount-rule.schema.d.ts +352 -0
  28. package/dist/schemas/finance/discount-rule.schema.d.ts.map +1 -0
  29. package/dist/schemas/finance/discount-rule.schema.js +57 -0
  30. package/dist/schemas/finance/discount-rule.schema.js.map +1 -0
  31. package/dist/schemas/finance/fee-structure.schema.d.ts +36 -6
  32. package/dist/schemas/finance/fee-structure.schema.d.ts.map +1 -1
  33. package/dist/schemas/finance/fee-structure.schema.js +10 -0
  34. package/dist/schemas/finance/fee-structure.schema.js.map +1 -1
  35. package/dist/schemas/finance/index.d.ts +3 -0
  36. package/dist/schemas/finance/index.d.ts.map +1 -1
  37. package/dist/schemas/finance/index.js +3 -0
  38. package/dist/schemas/finance/index.js.map +1 -1
  39. package/dist/schemas/finance/invoice.schema.d.ts +63 -3
  40. package/dist/schemas/finance/invoice.schema.d.ts.map +1 -1
  41. package/dist/schemas/finance/invoice.schema.js +10 -1
  42. package/dist/schemas/finance/invoice.schema.js.map +1 -1
  43. package/dist/schemas/finance/payment.schema.d.ts +22 -22
  44. package/dist/schemas/finance/refund.schema.d.ts +99 -0
  45. package/dist/schemas/finance/refund.schema.d.ts.map +1 -0
  46. package/dist/schemas/finance/refund.schema.js +47 -0
  47. package/dist/schemas/finance/refund.schema.js.map +1 -0
  48. package/dist/schemas/identity/academic-year.schema.d.ts +14 -14
  49. package/dist/schemas/identity/department.schema.d.ts +6 -6
  50. package/dist/schemas/identity/index.d.ts +2 -0
  51. package/dist/schemas/identity/index.d.ts.map +1 -1
  52. package/dist/schemas/identity/index.js +4 -0
  53. package/dist/schemas/identity/index.js.map +1 -1
  54. package/dist/schemas/identity/leave.schema.d.ts +26 -26
  55. package/dist/schemas/identity/school-year.schema.d.ts +18 -18
  56. package/dist/schemas/identity/school.schema.d.ts +609 -120
  57. package/dist/schemas/identity/school.schema.d.ts.map +1 -1
  58. package/dist/schemas/identity/school.schema.js +32 -8
  59. package/dist/schemas/identity/school.schema.js.map +1 -1
  60. package/dist/utils/bikram-sambat.d.ts +68 -0
  61. package/dist/utils/bikram-sambat.d.ts.map +1 -0
  62. package/dist/utils/bikram-sambat.js +301 -0
  63. package/dist/utils/bikram-sambat.js.map +1 -0
  64. package/dist/utils/currency.d.ts +30 -8
  65. package/dist/utils/currency.d.ts.map +1 -1
  66. package/dist/utils/currency.js +93 -25
  67. package/dist/utils/currency.js.map +1 -1
  68. package/dist/utils/date-format.d.ts +20 -0
  69. package/dist/utils/date-format.d.ts.map +1 -0
  70. package/dist/utils/date-format.js +66 -0
  71. package/dist/utils/date-format.js.map +1 -0
  72. package/dist/utils/school-hours.d.ts +48 -0
  73. package/dist/utils/school-hours.d.ts.map +1 -0
  74. package/dist/utils/school-hours.js +134 -0
  75. package/dist/utils/school-hours.js.map +1 -0
  76. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"school.schema.d.ts","sourceRoot":"","sources":["../../../src/schemas/identity/school.schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"school.schema.d.ts","sourceRoot":"","sources":["../../../src/schemas/identity/school.schema.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * Zod schemas for school management DTOs.
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.schoolListResponseSchema = exports.schoolResponseSchema = exports.updateSchoolSchema = exports.createSchoolSchema = exports.schoolAddressSchema = exports.schoolGradeRangeSchema = exports.schoolContactInfoSchema = exports.academicCalendarTypeSchema = exports.schoolStatusSchema = exports.schoolTypeSchema = void 0;
8
+ exports.schoolListResponseSchema = exports.schoolResponseSchema = exports.updateSchoolSchema = exports.createSchoolSchema = exports.schoolAddressSchema = exports.schoolGradeRangeSchema = exports.schoolContactInfoSchema = exports.calendarSystemSchema = exports.academicCalendarTypeSchema = exports.schoolStatusSchema = exports.schoolTypeSchema = void 0;
9
9
  const zod_1 = require("zod");
10
10
  const common_1 = require("../common");
11
11
  const education_org_descriptors_1 = require("./education-org-descriptors");
@@ -31,14 +31,15 @@ exports.schoolStatusSchema = zod_1.z.enum([
31
31
  'suspended',
32
32
  'closed',
33
33
  ]);
34
- exports.academicCalendarTypeSchema = zod_1.z.enum(['semester', 'quarter', 'trimester']);
34
+ exports.academicCalendarTypeSchema = zod_1.z.enum(['semester', 'quarter', 'trimester', 'annual']);
35
+ exports.calendarSystemSchema = zod_1.z.enum(['gregorian', 'bikram_sambat']);
35
36
  // ============================================
36
37
  // Contact Info Schema
37
38
  // ============================================
38
39
  exports.schoolContactInfoSchema = zod_1.z.object({
39
40
  primaryEmail: common_1.emailSchema,
40
- primaryPhone: zod_1.z.string().min(10).max(20),
41
- secondaryPhone: zod_1.z.string().min(10).max(20).optional(),
41
+ primaryPhone: zod_1.z.string().min(7).max(20),
42
+ secondaryPhone: zod_1.z.string().min(7).max(20).optional(),
42
43
  website: common_1.urlSchema.optional(),
43
44
  fax: zod_1.z.string().max(20).optional(),
44
45
  schoolEmail: common_1.emailSchema.optional(),
@@ -56,14 +57,34 @@ exports.schoolGradeRangeSchema = zod_1.z.object({
56
57
  exports.schoolAddressSchema = zod_1.z.object({
57
58
  street1: zod_1.z.string().min(1).max(200),
58
59
  street2: zod_1.z.string().max(200).optional(),
59
- city: zod_1.z.string().min(1).max(100),
60
- state: zod_1.z.string().min(1).max(100),
61
- zipCode: zod_1.z.string().min(1).max(20),
60
+ city: zod_1.z.string().max(100).optional(),
61
+ state: zod_1.z.string().max(100).optional(),
62
+ zipCode: zod_1.z.string().max(20).optional(),
62
63
  country: zod_1.z.string().max(100).optional(),
64
+ // Nepal-specific fields
65
+ wardNumber: zod_1.z.string().max(10).optional(),
66
+ municipality: zod_1.z.string().max(100).optional(),
67
+ district: zod_1.z.string().max(100).optional(),
68
+ province: zod_1.z.string().max(100).optional(),
69
+ // Generic international field
70
+ region: zod_1.z.string().max(100).optional(),
71
+ // Coordinates
63
72
  latitude: zod_1.z.number().min(-90).max(90).optional(),
64
73
  longitude: zod_1.z.number().min(-180).max(180).optional(),
65
74
  timezone: zod_1.z.string().optional(),
66
- });
75
+ }).refine((data) => {
76
+ const country = data.country || 'USA';
77
+ if (country === 'USA') {
78
+ return !!data.state && data.state.length >= 1 && !!data.zipCode && data.zipCode.length >= 1;
79
+ }
80
+ return true;
81
+ }, { message: 'US addresses require state and zip code', path: ['state'] }).refine((data) => {
82
+ const country = data.country || 'USA';
83
+ if (country === 'NPL') {
84
+ return !!data.district && !!data.province;
85
+ }
86
+ return true;
87
+ }, { message: 'Nepal addresses require district and province', path: ['district'] });
67
88
  // ============================================
68
89
  // Create School Schema
69
90
  // ============================================
@@ -83,6 +104,7 @@ exports.createSchoolSchema = zod_1.z.object({
83
104
  timezone: zod_1.z.string().default('America/Chicago'),
84
105
  locale: zod_1.z.string().default('en-US'),
85
106
  academicCalendarType: exports.academicCalendarTypeSchema.default('semester'),
107
+ calendarSystem: exports.calendarSystemSchema.default('gregorian'),
86
108
  logoUrl: common_1.urlSchema.optional(),
87
109
  // Ed-Fi Education Organization Fields (optional for backwards compatibility)
88
110
  localEducationAgencyId: zod_1.z.string().uuid().optional(), // LEA parent reference
@@ -124,6 +146,7 @@ exports.updateSchoolSchema = zod_1.z.object({
124
146
  status: exports.schoolStatusSchema.optional(),
125
147
  timezone: zod_1.z.string().optional(),
126
148
  locale: zod_1.z.string().optional(),
149
+ calendarSystem: exports.calendarSystemSchema.optional(),
127
150
  currentAcademicYearId: zod_1.z.string().uuid().optional(),
128
151
  logoUrl: common_1.urlSchema.optional(),
129
152
  // Ed-Fi Education Organization Fields
@@ -175,6 +198,7 @@ exports.schoolResponseSchema = zod_1.z.object({
175
198
  timezone: zod_1.z.string(),
176
199
  locale: zod_1.z.string(),
177
200
  academicCalendarType: exports.academicCalendarTypeSchema,
201
+ calendarSystem: exports.calendarSystemSchema.default('gregorian'),
178
202
  currentAcademicYearId: zod_1.z.string().uuid().optional(),
179
203
  studentCount: zod_1.z.number().int().min(0).optional(),
180
204
  staffCount: zod_1.z.number().int().min(0).optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"school.schema.js","sourceRoot":"","sources":["../../../src/schemas/identity/school.schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"school.schema.js","sourceRoot":"","sources":["../../../src/schemas/identity/school.schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Bikram Sambat (BS) ↔ Gregorian (AD) Date Conversion
3
+ *
4
+ * Nepal's official calendar. BS year ~57 years ahead of AD.
5
+ * Months have variable days (29-32). All dates stored as Gregorian ISO;
6
+ * conversion happens at display/input layer only.
7
+ *
8
+ * Data table covers BS years 2000-2090 (sufficient for next 60+ years).
9
+ */
10
+ /**
11
+ * Convert Gregorian ISO date string to Bikram Sambat components.
12
+ */
13
+ export declare function gregorianToBs(date: string): {
14
+ year: number;
15
+ month: number;
16
+ day: number;
17
+ };
18
+ /**
19
+ * Convert Bikram Sambat to Gregorian ISO date string.
20
+ * @param year BS year
21
+ * @param month BS month (1-12, 1=Baishakh)
22
+ * @param day BS day (1-32)
23
+ */
24
+ export declare function bsToGregorian(year: number, month: number, day: number): string;
25
+ /**
26
+ * Format a Gregorian ISO date as a BS date string.
27
+ * @param isoDate Gregorian ISO date (e.g., '2026-04-14')
28
+ * @param format Output format: 'YYYY/MM/DD' (default), 'long', 'short'
29
+ */
30
+ export declare function formatBsDate(isoDate: string, format?: string): string;
31
+ /**
32
+ * Parse a BS date string to Gregorian ISO.
33
+ * Accepts formats: 'YYYY/MM/DD', 'YYYY-MM-DD'
34
+ */
35
+ export declare function parseBsDate(bsString: string): string;
36
+ /**
37
+ * Get current BS year.
38
+ */
39
+ export declare function getCurrentBsYear(): number;
40
+ /**
41
+ * Get BS month name (English).
42
+ * @param month 1-indexed (1=Baishakh, 12=Chaitra)
43
+ */
44
+ export declare function getBsMonthName(month: number, locale?: 'en' | 'ne'): string;
45
+ /**
46
+ * Get number of days in a BS month.
47
+ */
48
+ export declare function getBsMonthDays(year: number, month: number): number;
49
+ /**
50
+ * Get all BS month names.
51
+ */
52
+ export declare function getBsMonthNames(locale?: 'en' | 'ne'): string[];
53
+ /**
54
+ * Get total days in a BS year.
55
+ */
56
+ export declare function getBsYearDays(year: number): number;
57
+ /**
58
+ * Check if a BS year is in the supported range.
59
+ */
60
+ export declare function isBsYearSupported(year: number): boolean;
61
+ /**
62
+ * Get the supported BS year range.
63
+ */
64
+ export declare function getBsSupportedRange(): {
65
+ min: number;
66
+ max: number;
67
+ };
68
+ //# sourceMappingURL=bikram-sambat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bikram-sambat.d.ts","sourceRoot":"","sources":["../../src/utils/bikram-sambat.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAqIH;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAqCxF;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CA4B9E;AAMD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,MAAqB,GAAG,MAAM,CAcnF;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOpD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAIzC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,IAAI,GAAG,IAAW,GAAG,MAAM,CAGhF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAKlE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,GAAE,IAAI,GAAG,IAAW,GAAG,MAAM,EAAE,CAEpE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAGlE"}
@@ -0,0 +1,301 @@
1
+ "use strict";
2
+ /**
3
+ * Bikram Sambat (BS) ↔ Gregorian (AD) Date Conversion
4
+ *
5
+ * Nepal's official calendar. BS year ~57 years ahead of AD.
6
+ * Months have variable days (29-32). All dates stored as Gregorian ISO;
7
+ * conversion happens at display/input layer only.
8
+ *
9
+ * Data table covers BS years 2000-2090 (sufficient for next 60+ years).
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.gregorianToBs = gregorianToBs;
13
+ exports.bsToGregorian = bsToGregorian;
14
+ exports.formatBsDate = formatBsDate;
15
+ exports.parseBsDate = parseBsDate;
16
+ exports.getCurrentBsYear = getCurrentBsYear;
17
+ exports.getBsMonthName = getBsMonthName;
18
+ exports.getBsMonthDays = getBsMonthDays;
19
+ exports.getBsMonthNames = getBsMonthNames;
20
+ exports.getBsYearDays = getBsYearDays;
21
+ exports.isBsYearSupported = isBsYearSupported;
22
+ exports.getBsSupportedRange = getBsSupportedRange;
23
+ // ============================================================================
24
+ // BS CALENDAR DATA
25
+ // ============================================================================
26
+ /** Days per month for each BS year (index 0 = Baishakh, 11 = Chaitra) */
27
+ const BS_CALENDAR_DATA = {
28
+ 2000: [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],
29
+ 2001: [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],
30
+ 2002: [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],
31
+ 2003: [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],
32
+ 2004: [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],
33
+ 2005: [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],
34
+ 2006: [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],
35
+ 2007: [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],
36
+ 2008: [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 29, 31],
37
+ 2009: [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],
38
+ 2010: [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],
39
+ 2011: [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],
40
+ 2012: [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30],
41
+ 2013: [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],
42
+ 2014: [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],
43
+ 2015: [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],
44
+ 2016: [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30],
45
+ 2017: [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],
46
+ 2018: [31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30],
47
+ 2019: [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],
48
+ 2020: [31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30],
49
+ 2021: [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],
50
+ 2022: [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30],
51
+ 2023: [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],
52
+ 2024: [31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30],
53
+ 2025: [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],
54
+ 2026: [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],
55
+ 2027: [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],
56
+ 2028: [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],
57
+ 2029: [31, 31, 32, 31, 32, 30, 30, 29, 30, 29, 30, 30],
58
+ 2030: [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],
59
+ 2031: [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],
60
+ 2032: [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],
61
+ 2033: [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],
62
+ 2034: [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],
63
+ 2035: [30, 32, 31, 32, 31, 31, 29, 30, 30, 29, 29, 31],
64
+ 2036: [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],
65
+ 2037: [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],
66
+ 2038: [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],
67
+ 2039: [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30],
68
+ 2040: [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],
69
+ 2041: [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],
70
+ 2042: [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],
71
+ 2043: [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30],
72
+ 2044: [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],
73
+ 2045: [31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30],
74
+ 2046: [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],
75
+ 2047: [31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30],
76
+ 2048: [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],
77
+ 2049: [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30],
78
+ 2050: [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],
79
+ 2051: [31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30],
80
+ 2052: [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],
81
+ 2053: [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30],
82
+ 2054: [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],
83
+ 2055: [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],
84
+ 2056: [31, 31, 32, 31, 32, 30, 30, 29, 30, 29, 30, 30],
85
+ 2057: [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],
86
+ 2058: [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],
87
+ 2059: [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],
88
+ 2060: [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],
89
+ 2061: [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],
90
+ 2062: [30, 32, 31, 32, 31, 31, 29, 30, 29, 30, 29, 31],
91
+ 2063: [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],
92
+ 2064: [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],
93
+ 2065: [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],
94
+ 2066: [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 29, 31],
95
+ 2067: [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],
96
+ 2068: [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],
97
+ 2069: [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],
98
+ 2070: [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30],
99
+ 2071: [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],
100
+ 2072: [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30],
101
+ 2073: [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],
102
+ 2074: [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],
103
+ 2075: [31, 31, 32, 31, 32, 30, 30, 29, 30, 29, 30, 30],
104
+ 2076: [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30],
105
+ 2077: [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],
106
+ 2078: [31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30],
107
+ 2079: [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],
108
+ 2080: [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30],
109
+ 2081: [31, 31, 32, 32, 31, 30, 30, 30, 29, 30, 30, 30],
110
+ 2082: [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30],
111
+ 2083: [31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, 30],
112
+ 2084: [31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, 30],
113
+ 2085: [31, 32, 31, 32, 30, 31, 30, 30, 29, 30, 30, 30],
114
+ 2086: [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30],
115
+ 2087: [31, 31, 32, 31, 31, 31, 30, 30, 29, 30, 30, 30],
116
+ 2088: [30, 31, 32, 32, 30, 31, 30, 30, 29, 30, 30, 30],
117
+ 2089: [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30],
118
+ 2090: [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30],
119
+ };
120
+ /** BS month names in English transliteration */
121
+ const BS_MONTHS = [
122
+ 'Baishakh', 'Jestha', 'Ashadh', 'Shrawan', 'Bhadra', 'Ashwin',
123
+ 'Kartik', 'Mangsir', 'Poush', 'Magh', 'Falgun', 'Chaitra',
124
+ ];
125
+ /** BS month names in Devanagari */
126
+ const BS_MONTHS_NE = [
127
+ 'बैशाख', 'जेठ', 'असार', 'श्रावण', 'भदौ', 'आश्विन',
128
+ 'कार्तिक', 'मंसिर', 'पौष', 'माघ', 'फाल्गुन', 'चैत्र',
129
+ ];
130
+ // Reference point: BS 2000/1/1 = AD 1943/4/14
131
+ const BS_EPOCH_YEAR = 2000;
132
+ const AD_EPOCH = new Date(1943, 3, 14); // April 14, 1943
133
+ // ============================================================================
134
+ // CORE CONVERSION FUNCTIONS
135
+ // ============================================================================
136
+ function getTotalDaysInBsYear(year) {
137
+ const months = BS_CALENDAR_DATA[year];
138
+ if (!months)
139
+ throw new Error(`BS year ${year} is out of supported range (2000-2090)`);
140
+ return months.reduce((sum, d) => sum + d, 0);
141
+ }
142
+ function daysBetweenDates(d1, d2) {
143
+ const utc1 = Date.UTC(d1.getFullYear(), d1.getMonth(), d1.getDate());
144
+ const utc2 = Date.UTC(d2.getFullYear(), d2.getMonth(), d2.getDate());
145
+ return Math.floor((utc2 - utc1) / 86400000);
146
+ }
147
+ /**
148
+ * Convert Gregorian ISO date string to Bikram Sambat components.
149
+ */
150
+ function gregorianToBs(date) {
151
+ const adDate = new Date(date);
152
+ if (isNaN(adDate.getTime())) {
153
+ throw new Error(`Invalid date string: ${date}`);
154
+ }
155
+ let totalDays = daysBetweenDates(AD_EPOCH, adDate);
156
+ if (totalDays < 0) {
157
+ throw new Error(`Date ${date} is before the supported range`);
158
+ }
159
+ let bsYear = BS_EPOCH_YEAR;
160
+ let bsMonth = 0;
161
+ let bsDay = 1;
162
+ // Count years
163
+ while (totalDays > 0) {
164
+ const daysInYear = getTotalDaysInBsYear(bsYear);
165
+ if (totalDays < daysInYear)
166
+ break;
167
+ totalDays -= daysInYear;
168
+ bsYear++;
169
+ }
170
+ // Count months
171
+ const months = BS_CALENDAR_DATA[bsYear];
172
+ if (!months)
173
+ throw new Error(`BS year ${bsYear} is out of supported range`);
174
+ for (let m = 0; m < 12; m++) {
175
+ if (totalDays < months[m]) {
176
+ bsMonth = m;
177
+ bsDay = totalDays + 1;
178
+ break;
179
+ }
180
+ totalDays -= months[m];
181
+ }
182
+ return { year: bsYear, month: bsMonth + 1, day: bsDay }; // 1-indexed month
183
+ }
184
+ /**
185
+ * Convert Bikram Sambat to Gregorian ISO date string.
186
+ * @param year BS year
187
+ * @param month BS month (1-12, 1=Baishakh)
188
+ * @param day BS day (1-32)
189
+ */
190
+ function bsToGregorian(year, month, day) {
191
+ if (!BS_CALENDAR_DATA[year]) {
192
+ throw new Error(`BS year ${year} is out of supported range (2000-2090)`);
193
+ }
194
+ const monthIdx = month - 1;
195
+ const maxDay = BS_CALENDAR_DATA[year][monthIdx];
196
+ if (!maxDay || day < 1 || day > maxDay) {
197
+ throw new Error(`Invalid BS date: ${year}/${month}/${day} (month ${month} has ${maxDay} days)`);
198
+ }
199
+ // Count total days from BS epoch
200
+ let totalDays = 0;
201
+ for (let y = BS_EPOCH_YEAR; y < year; y++) {
202
+ totalDays += getTotalDaysInBsYear(y);
203
+ }
204
+ for (let m = 0; m < monthIdx; m++) {
205
+ totalDays += BS_CALENDAR_DATA[year][m];
206
+ }
207
+ totalDays += day - 1;
208
+ const result = new Date(AD_EPOCH);
209
+ result.setDate(result.getDate() + totalDays);
210
+ const yyyy = result.getFullYear();
211
+ const mm = String(result.getMonth() + 1).padStart(2, '0');
212
+ const dd = String(result.getDate()).padStart(2, '0');
213
+ return `${yyyy}-${mm}-${dd}`;
214
+ }
215
+ // ============================================================================
216
+ // FORMATTING FUNCTIONS
217
+ // ============================================================================
218
+ /**
219
+ * Format a Gregorian ISO date as a BS date string.
220
+ * @param isoDate Gregorian ISO date (e.g., '2026-04-14')
221
+ * @param format Output format: 'YYYY/MM/DD' (default), 'long', 'short'
222
+ */
223
+ function formatBsDate(isoDate, format = 'YYYY/MM/DD') {
224
+ const bs = gregorianToBs(isoDate);
225
+ if (format === 'long') {
226
+ return `${bs.day} ${BS_MONTHS[bs.month - 1]} ${bs.year}`;
227
+ }
228
+ if (format === 'short') {
229
+ return `${bs.day} ${BS_MONTHS[bs.month - 1].slice(0, 3)} ${bs.year}`;
230
+ }
231
+ // Default: YYYY/MM/DD
232
+ const mm = String(bs.month).padStart(2, '0');
233
+ const dd = String(bs.day).padStart(2, '0');
234
+ return `${bs.year}/${mm}/${dd}`;
235
+ }
236
+ /**
237
+ * Parse a BS date string to Gregorian ISO.
238
+ * Accepts formats: 'YYYY/MM/DD', 'YYYY-MM-DD'
239
+ */
240
+ function parseBsDate(bsString) {
241
+ const parts = bsString.split(/[\/\-]/);
242
+ if (parts.length !== 3) {
243
+ throw new Error(`Cannot parse BS date: ${bsString}. Expected format: YYYY/MM/DD`);
244
+ }
245
+ const [y, m, d] = parts.map(Number);
246
+ return bsToGregorian(y, m, d);
247
+ }
248
+ /**
249
+ * Get current BS year.
250
+ */
251
+ function getCurrentBsYear() {
252
+ const now = new Date();
253
+ const iso = `${now.getFullYear()}-${String(now.getMonth() + 1).padStart(2, '0')}-${String(now.getDate()).padStart(2, '0')}`;
254
+ return gregorianToBs(iso).year;
255
+ }
256
+ /**
257
+ * Get BS month name (English).
258
+ * @param month 1-indexed (1=Baishakh, 12=Chaitra)
259
+ */
260
+ function getBsMonthName(month, locale = 'en') {
261
+ if (month < 1 || month > 12)
262
+ throw new Error(`Invalid BS month: ${month}`);
263
+ return locale === 'ne' ? BS_MONTHS_NE[month - 1] : BS_MONTHS[month - 1];
264
+ }
265
+ /**
266
+ * Get number of days in a BS month.
267
+ */
268
+ function getBsMonthDays(year, month) {
269
+ const data = BS_CALENDAR_DATA[year];
270
+ if (!data)
271
+ throw new Error(`BS year ${year} is out of supported range`);
272
+ if (month < 1 || month > 12)
273
+ throw new Error(`Invalid BS month: ${month}`);
274
+ return data[month - 1];
275
+ }
276
+ /**
277
+ * Get all BS month names.
278
+ */
279
+ function getBsMonthNames(locale = 'en') {
280
+ return locale === 'ne' ? [...BS_MONTHS_NE] : [...BS_MONTHS];
281
+ }
282
+ /**
283
+ * Get total days in a BS year.
284
+ */
285
+ function getBsYearDays(year) {
286
+ return getTotalDaysInBsYear(year);
287
+ }
288
+ /**
289
+ * Check if a BS year is in the supported range.
290
+ */
291
+ function isBsYearSupported(year) {
292
+ return !!BS_CALENDAR_DATA[year];
293
+ }
294
+ /**
295
+ * Get the supported BS year range.
296
+ */
297
+ function getBsSupportedRange() {
298
+ const years = Object.keys(BS_CALENDAR_DATA).map(Number);
299
+ return { min: Math.min(...years), max: Math.max(...years) };
300
+ }
301
+ //# sourceMappingURL=bikram-sambat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bikram-sambat.js","sourceRoot":"","sources":["../../src/utils/bikram-sambat.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;AAwIH,sCAqCC;AAQD,sCA4BC;AAWD,oCAcC;AAMD,kCAOC;AAKD,4CAIC;AAMD,wCAGC;AAKD,wCAKC;AAKD,0CAEC;AAKD,sCAEC;AAKD,8CAEC;AAKD,kDAGC;AA9SD,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,yEAAyE;AACzE,MAAM,gBAAgB,GAA6B;IACjD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EA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"}
@@ -1,23 +1,45 @@
1
1
  /**
2
2
  * Currency Formatting Utilities
3
3
  *
4
- * NPR formatting with Nepal-style lakh/crore grouping.
4
+ * Generic currency formatting with special support for South Asian
5
+ * lakh/crore grouping (NPR, INR) and standard Western grouping.
5
6
  * Pure utility functions — NOT in schema files.
6
7
  */
7
- interface CurrencyFormatOpts {
8
- locale?: 'en' | 'ne';
8
+ export interface CurrencyFormatOpts {
9
+ locale?: string;
9
10
  showSymbol?: boolean;
10
11
  decimals?: number;
11
12
  }
13
+ /**
14
+ * Generic currency formatter.
15
+ *
16
+ * Picks the correct digit-grouping style (lakh/crore vs. Western)
17
+ * based on the currency code. Falls back to Western grouping for
18
+ * unknown currencies.
19
+ *
20
+ * @param amount - numeric amount (supports 0 and negatives for credits)
21
+ * @param currency - ISO 4217 currency code (e.g. 'NPR', 'USD')
22
+ * @param options - formatting overrides
23
+ *
24
+ * Examples:
25
+ * formatCurrency(0, 'NPR') → "NPR 0.00"
26
+ * formatCurrency(150000, 'NPR') → "NPR 1,50,000.00"
27
+ * formatCurrency(-500, 'NPR') → "NPR -500.00"
28
+ * formatCurrency(1234567, 'USD') → "$ 1,234,567.00"
29
+ * formatCurrency(1234567, 'INR') → "INR 12,34,567.00"
30
+ */
31
+ export declare function formatCurrency(amount: number, currency: string, options?: CurrencyFormatOpts): string;
12
32
  /**
13
33
  * Format an amount as NPR currency string.
14
- * Uses Nepal's number formatting (commas at lakh/crore positions).
34
+ * Convenience wrapper around formatCurrency for Nepali Rupees.
35
+ * Uses Nepal's lakh/crore grouping (##,##,###.##).
15
36
  *
16
37
  * Examples:
17
- * formatNPR(12500) → "NPR 12,500.00"
18
- * formatNPR(12500, { locale: 'ne', showSymbol: true }) → "रू १२,५००.००"
19
- * formatNPR(150000) → "NPR 1,50,000.00" (lakh grouping)
38
+ * formatNPR(0) → "NPR 0.00"
39
+ * formatNPR(12500) → "NPR 12,500.00"
40
+ * formatNPR(150000) → "NPR 1,50,000.00"
41
+ * formatNPR(-500) → "NPR -500.00"
42
+ * formatNPR(12500, { locale: 'ne' }) → "रू १२,५००.००"
20
43
  */
21
44
  export declare function formatNPR(amount: number, options?: CurrencyFormatOpts): string;
22
- export {};
23
45
  //# sourceMappingURL=currency.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"currency.d.ts","sourceRoot":"","sources":["../../src/utils/currency.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,UAAU,kBAAkB;IAC1B,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CA8BR"}
1
+ {"version":3,"file":"currency.d.ts","sourceRoot":"","sources":["../../src/utils/currency.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAsDD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CAuCR;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CAER"}