@nextera.one/tps-standard 0.5.33 → 0.5.34

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 (57) hide show
  1. package/dist/date.d.ts +54 -0
  2. package/dist/date.js +174 -0
  3. package/dist/date.js.map +1 -0
  4. package/dist/drivers/gregorian.d.ts +3 -5
  5. package/dist/drivers/gregorian.js +26 -19
  6. package/dist/drivers/gregorian.js.map +1 -1
  7. package/dist/drivers/hijri.d.ts +1 -16
  8. package/dist/drivers/hijri.js +9 -102
  9. package/dist/drivers/hijri.js.map +1 -1
  10. package/dist/drivers/holocene.d.ts +6 -3
  11. package/dist/drivers/holocene.js +7 -20
  12. package/dist/drivers/holocene.js.map +1 -1
  13. package/dist/drivers/julian.d.ts +3 -10
  14. package/dist/drivers/julian.js +11 -71
  15. package/dist/drivers/julian.js.map +1 -1
  16. package/dist/drivers/persian.d.ts +1 -6
  17. package/dist/drivers/persian.js +17 -92
  18. package/dist/drivers/persian.js.map +1 -1
  19. package/dist/drivers/tps.d.ts +11 -28
  20. package/dist/drivers/tps.js +8 -58
  21. package/dist/drivers/tps.js.map +1 -1
  22. package/dist/drivers/unix.d.ts +5 -6
  23. package/dist/drivers/unix.js +10 -32
  24. package/dist/drivers/unix.js.map +1 -1
  25. package/dist/index.d.ts +6 -477
  26. package/dist/index.js +33 -978
  27. package/dist/index.js.map +1 -1
  28. package/dist/types.d.ts +85 -0
  29. package/dist/types.js +30 -0
  30. package/dist/types.js.map +1 -0
  31. package/dist/uid.d.ts +48 -0
  32. package/dist/uid.js +225 -0
  33. package/dist/uid.js.map +1 -0
  34. package/dist/utils/calendar.d.ts +55 -0
  35. package/dist/utils/calendar.js +136 -0
  36. package/dist/utils/calendar.js.map +1 -0
  37. package/dist/utils/env.d.ts +12 -0
  38. package/dist/utils/env.js +79 -0
  39. package/dist/utils/env.js.map +1 -0
  40. package/dist/utils/tps-string.d.ts +12 -0
  41. package/dist/utils/tps-string.js +164 -0
  42. package/dist/utils/tps-string.js.map +1 -0
  43. package/package.json +1 -1
  44. package/src/date.ts +243 -0
  45. package/src/drivers/gregorian.ts +29 -27
  46. package/src/drivers/hijri.ts +13 -113
  47. package/src/drivers/holocene.ts +11 -12
  48. package/src/drivers/julian.ts +18 -72
  49. package/src/drivers/persian.ts +25 -92
  50. package/src/drivers/tps.ts +16 -55
  51. package/src/drivers/unix.ts +12 -33
  52. package/src/index.ts +18 -1446
  53. package/src/types.ts +107 -0
  54. package/src/uid.ts +308 -0
  55. package/src/utils/calendar.ts +161 -0
  56. package/src/utils/env.ts +88 -0
  57. package/src/utils/tps-string.ts +166 -0
package/dist/date.d.ts ADDED
@@ -0,0 +1,54 @@
1
+ /**
2
+ * TpsDate Date-like wrapper with native TPS conversion helpers.
3
+ */
4
+ import { TimeOrder } from "./types";
5
+ export declare class TpsDate {
6
+ private readonly internal;
7
+ private _cachedComponents;
8
+ private _cachedTps;
9
+ constructor();
10
+ constructor(value: string | number | Date | TpsDate);
11
+ constructor(year: number, monthIndex: number, day?: number, hours?: number, minutes?: number, seconds?: number, ms?: number);
12
+ private static looksLikeTPS;
13
+ private getTpsComponents;
14
+ private getTpsFullYear;
15
+ static now(): number;
16
+ static parse(input: string): number;
17
+ static UTC(year: number, monthIndex: number, day?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number;
18
+ static fromTPS(tps: string): TpsDate;
19
+ toGregorianDate(): Date;
20
+ toDate(): Date;
21
+ toTPS(calendar?: string, opts?: {
22
+ order?: TimeOrder;
23
+ }): string;
24
+ toTPSURI(calendar?: string, opts?: {
25
+ order?: TimeOrder;
26
+ latitude?: number;
27
+ longitude?: number;
28
+ altitude?: number;
29
+ isUnknownLocation?: boolean;
30
+ isHiddenLocation?: boolean;
31
+ isRedactedLocation?: boolean;
32
+ }): string;
33
+ getTime(): number;
34
+ valueOf(): number;
35
+ toString(): string;
36
+ toISOString(): string;
37
+ toUTCString(): string;
38
+ toJSON(): string | null;
39
+ getFullYear(): number;
40
+ getUTCFullYear(): number;
41
+ getMonth(): number;
42
+ getUTCMonth(): number;
43
+ getDate(): number;
44
+ getUTCDate(): number;
45
+ getHours(): number;
46
+ getUTCHours(): number;
47
+ getMinutes(): number;
48
+ getUTCMinutes(): number;
49
+ getSeconds(): number;
50
+ getUTCSeconds(): number;
51
+ getMilliseconds(): number;
52
+ getUTCMilliseconds(): number;
53
+ [Symbol.toPrimitive](hint: string): string | number;
54
+ }
package/dist/date.js ADDED
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+ /**
3
+ * TpsDate Date-like wrapper with native TPS conversion helpers.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TpsDate = void 0;
7
+ const types_1 = require("./types");
8
+ const index_1 = require("./index");
9
+ class TpsDate {
10
+ constructor(...args) {
11
+ this._cachedComponents = null;
12
+ this._cachedTps = null;
13
+ if (args.length === 0) {
14
+ this.internal = new Date();
15
+ return;
16
+ }
17
+ if (args.length === 1) {
18
+ const value = args[0];
19
+ if (value instanceof TpsDate) {
20
+ this.internal = new Date(value.getTime());
21
+ return;
22
+ }
23
+ if (value instanceof Date) {
24
+ this.internal = new Date(value.getTime());
25
+ return;
26
+ }
27
+ if (typeof value === "string" && TpsDate.looksLikeTPS(value)) {
28
+ const parsed = index_1.TPS.toDate(value);
29
+ if (!parsed) {
30
+ throw new RangeError(`Invalid TPS date string: ${value}`);
31
+ }
32
+ this.internal = parsed;
33
+ return;
34
+ }
35
+ this.internal = new Date(value);
36
+ return;
37
+ }
38
+ const [year, monthIndex, day, hours, minutes, seconds, ms] = args;
39
+ this.internal = new Date(year, monthIndex, day ?? 1, hours ?? 0, minutes ?? 0, seconds ?? 0, ms ?? 0);
40
+ }
41
+ static looksLikeTPS(input) {
42
+ const s = input.trim();
43
+ return s.startsWith("tps://") || s.startsWith("T:") || s.startsWith("t:");
44
+ }
45
+ getTpsComponents() {
46
+ const currentTps = this.toTPS(types_1.DefaultCalendars.TPS);
47
+ if (this._cachedTps === currentTps && this._cachedComponents) {
48
+ return this._cachedComponents;
49
+ }
50
+ const parsed = index_1.TPS.parse(currentTps);
51
+ if (!parsed) {
52
+ throw new Error("TpsDate: failed to derive TPS components");
53
+ }
54
+ this._cachedTps = currentTps;
55
+ this._cachedComponents = parsed;
56
+ return parsed;
57
+ }
58
+ getTpsFullYear() {
59
+ const comp = this.getTpsComponents();
60
+ return (comp.millennium - 1) * 1000 + (comp.century - 1) * 100 + comp.year;
61
+ }
62
+ static now() {
63
+ return Date.now();
64
+ }
65
+ static parse(input) {
66
+ if (this.looksLikeTPS(input)) {
67
+ const d = index_1.TPS.toDate(input);
68
+ return d ? d.getTime() : Number.NaN;
69
+ }
70
+ return Date.parse(input);
71
+ }
72
+ static UTC(year, monthIndex, day, hours, minutes, seconds, ms) {
73
+ return Date.UTC(year, monthIndex, day ?? 1, hours ?? 0, minutes ?? 0, seconds ?? 0, ms ?? 0);
74
+ }
75
+ static fromTPS(tps) {
76
+ return new TpsDate(tps);
77
+ }
78
+ toGregorianDate() {
79
+ return new Date(this.internal.getTime());
80
+ }
81
+ toDate() {
82
+ return this.toGregorianDate();
83
+ }
84
+ toTPS(calendar = types_1.DefaultCalendars.TPS, opts) {
85
+ return index_1.TPS.fromDate(this.internal, calendar, opts);
86
+ }
87
+ toTPSURI(calendar = types_1.DefaultCalendars.TPS, opts) {
88
+ const time = this.toTPS(calendar, { order: opts?.order });
89
+ const comp = index_1.TPS.parse(time);
90
+ if (opts?.latitude !== undefined && opts?.longitude !== undefined) {
91
+ comp.latitude = opts.latitude;
92
+ comp.longitude = opts.longitude;
93
+ if (opts.altitude !== undefined)
94
+ comp.altitude = opts.altitude;
95
+ }
96
+ else if (opts?.isHiddenLocation) {
97
+ comp.isHiddenLocation = true;
98
+ }
99
+ else if (opts?.isRedactedLocation) {
100
+ comp.isRedactedLocation = true;
101
+ }
102
+ else {
103
+ comp.isUnknownLocation = true;
104
+ }
105
+ return index_1.TPS.toURI(comp);
106
+ }
107
+ getTime() {
108
+ return this.internal.getTime();
109
+ }
110
+ valueOf() {
111
+ return this.internal.valueOf();
112
+ }
113
+ toString() {
114
+ return this.toTPS(types_1.DefaultCalendars.TPS);
115
+ }
116
+ toISOString() {
117
+ return this.internal.toISOString();
118
+ }
119
+ toUTCString() {
120
+ return this.internal.toUTCString();
121
+ }
122
+ toJSON() {
123
+ return this.internal.toJSON();
124
+ }
125
+ getFullYear() {
126
+ return this.getTpsFullYear();
127
+ }
128
+ getUTCFullYear() {
129
+ return this.getTpsFullYear();
130
+ }
131
+ getMonth() {
132
+ return this.getTpsComponents().month - 1;
133
+ }
134
+ getUTCMonth() {
135
+ return this.getTpsComponents().month - 1;
136
+ }
137
+ getDate() {
138
+ return this.getTpsComponents().day;
139
+ }
140
+ getUTCDate() {
141
+ return this.getTpsComponents().day;
142
+ }
143
+ getHours() {
144
+ return this.getTpsComponents().hour;
145
+ }
146
+ getUTCHours() {
147
+ return this.getTpsComponents().hour;
148
+ }
149
+ getMinutes() {
150
+ return this.getTpsComponents().minute;
151
+ }
152
+ getUTCMinutes() {
153
+ return this.getTpsComponents().minute;
154
+ }
155
+ getSeconds() {
156
+ return this.getTpsComponents().second;
157
+ }
158
+ getUTCSeconds() {
159
+ return this.getTpsComponents().second;
160
+ }
161
+ getMilliseconds() {
162
+ return this.getTpsComponents().millisecond;
163
+ }
164
+ getUTCMilliseconds() {
165
+ return this.getTpsComponents().millisecond;
166
+ }
167
+ [Symbol.toPrimitive](hint) {
168
+ if (hint === "number")
169
+ return this.valueOf();
170
+ return this.toString();
171
+ }
172
+ }
173
+ exports.TpsDate = TpsDate;
174
+ //# sourceMappingURL=date.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.js","sourceRoot":"","sources":["../src/date.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,7 @@
1
- import { CalendarDriver, TPSComponents, CalendarMetadata } from "../index";
1
+ import { CalendarDriver, CalendarMetadata, TPSComponents } from "../types";
2
2
  /**
3
3
  * Gregorian calendar driver.
4
- * This mirrors the built-in logic that used to live in `TPS.fromDate`/`toDate`
5
- * and provides implementations for the full `CalendarDriver` interface.
6
- * The driver also implements the optional helpers, enabling unit tests to
7
- * exercise `parseDate`, `format`, `validate`, and `getMetadata`.
4
+ * Supports robust validation and canonical Date conversions.
8
5
  */
9
6
  export declare class GregorianDriver implements CalendarDriver {
10
7
  readonly code: string;
@@ -13,6 +10,7 @@ export declare class GregorianDriver implements CalendarDriver {
13
10
  getFromDate(date: Date): string;
14
11
  parseDate(input: string, format?: string): Partial<TPSComponents>;
15
12
  format(components: Partial<TPSComponents>, format?: string): string;
13
+ private isLeap;
16
14
  validate(input: string | Partial<TPSComponents>): boolean;
17
15
  getMetadata(): CalendarMetadata;
18
16
  }
@@ -1,13 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GregorianDriver = void 0;
4
- const index_1 = require("../index");
4
+ const tps_string_1 = require("../utils/tps-string");
5
5
  /**
6
6
  * Gregorian calendar driver.
7
- * This mirrors the built-in logic that used to live in `TPS.fromDate`/`toDate`
8
- * and provides implementations for the full `CalendarDriver` interface.
9
- * The driver also implements the optional helpers, enabling unit tests to
10
- * exercise `parseDate`, `format`, `validate`, and `getMetadata`.
7
+ * Supports robust validation and canonical Date conversions.
11
8
  */
12
9
  class GregorianDriver {
13
10
  constructor() {
@@ -38,14 +35,11 @@ class GregorianDriver {
38
35
  }
39
36
  getFromDate(date) {
40
37
  const comp = this.getComponentsFromDate(date);
41
- // buildTimePart understands the `order` field if the caller has set it
42
- return index_1.TPS.buildTimePart(comp);
38
+ return (0, tps_string_1.buildTimePart)(comp);
43
39
  }
44
40
  // --- optional helpers --------------------------------------------------
45
41
  parseDate(input, format) {
46
- // Accept ISO-like formats: "YYYY-MM-DD" and optionally time portion
47
42
  const s = input.trim();
48
- // simple regex - not exhaustive
49
43
  const m = s.match(/^(\d{4})-(\d{2})-(\d{2})(?:[ T](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?)?$/);
50
44
  if (!m) {
51
45
  throw new Error(`GregorianDriver.parseDate: unsupported format "${input}"`);
@@ -74,7 +68,6 @@ class GregorianDriver {
74
68
  return comp;
75
69
  }
76
70
  format(components, format) {
77
- // For simplicity we ignore `format` and always produce ISO-ish string
78
71
  const y = components.year !== undefined
79
72
  ? String(components.year).padStart(4, "0")
80
73
  : "0000";
@@ -105,20 +98,34 @@ class GregorianDriver {
105
98
  }
106
99
  return out;
107
100
  }
101
+ isLeap(y) {
102
+ return (y % 4 === 0 && y % 100 !== 0) || y % 400 === 0;
103
+ }
108
104
  validate(input) {
109
105
  if (typeof input === "string") {
110
- // basic ISO date with optional time and fractional seconds
111
106
  return /^\d{4}-\d{2}-\d{2}(?:[ T]\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?)?$/.test(input.trim());
112
107
  }
113
108
  if (typeof input === "object") {
114
- return (input.year !== undefined &&
115
- input.month !== undefined &&
116
- input.day !== undefined &&
117
- input.year >= 0 &&
118
- input.month >= 1 &&
119
- input.month <= 12 &&
120
- input.day >= 1 &&
121
- input.day <= 31);
109
+ const y = input.year ?? 0;
110
+ const m = input.month ?? 1;
111
+ const d = input.day ?? 1;
112
+ if (y < 0 || m < 1 || m > 12 || d < 1)
113
+ return false;
114
+ const daysInMonth = [
115
+ 31,
116
+ this.isLeap(y) ? 29 : 28,
117
+ 31,
118
+ 30,
119
+ 31,
120
+ 30,
121
+ 31,
122
+ 31,
123
+ 30,
124
+ 31,
125
+ 30,
126
+ 31,
127
+ ];
128
+ return d <= daysInMonth[m - 1];
122
129
  }
123
130
  return false;
124
131
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gregorian.js","sourceRoot":"","sources":["../../src/drivers/gregorian.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gregorian.js","sourceRoot":"","sources":["../../src/drivers/gregorian.ts"],"names":[],"mappings":"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"}
@@ -10,15 +10,13 @@
10
10
  * This uses the Tabular Islamic Calendar (civil/Type II-A) algorithm
11
11
  * based on the formulas from Meeus "Astronomical Algorithms".
12
12
  */
13
- import { CalendarDriver, CalendarMetadata, TPSComponents } from "../index";
13
+ import { CalendarDriver, CalendarMetadata, TPSComponents } from "../types";
14
14
  export declare class HijriDriver implements CalendarDriver {
15
15
  readonly code = "hij";
16
16
  readonly name = "Hijri (Islamic Calendar)";
17
17
  private readonly MONTH_NAMES;
18
18
  private readonly MONTH_NAMES_SHORT;
19
19
  private readonly DAY_NAMES;
20
- /** Leap years in a 30-year cycle (civil / Type II-A pattern) */
21
- private readonly LEAP_YEARS_IN_CYCLE;
22
20
  getComponentsFromDate(date: Date): Partial<TPSComponents>;
23
21
  getDateFromComponents(components: Partial<TPSComponents>): Date;
24
22
  getFromDate(date: Date): string;
@@ -26,17 +24,4 @@ export declare class HijriDriver implements CalendarDriver {
26
24
  format(components: Partial<TPSComponents>, format?: string): string;
27
25
  validate(input: string | Partial<TPSComponents>): boolean;
28
26
  getMetadata(): CalendarMetadata;
29
- private isLeapYear;
30
- private daysInMonth;
31
- /**
32
- * Convert Gregorian to Hijri (Tabular Islamic Calendar).
33
- * Algorithm from "Astronomical Algorithms" by Jean Meeus.
34
- */
35
- private gregorianToHijri;
36
- /**
37
- * Convert Hijri to Gregorian.
38
- */
39
- private hijriToGregorian;
40
- private gregorianToJdn;
41
- private jdnToGregorian;
42
27
  }
@@ -1,19 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HijriDriver = void 0;
4
- /**
5
- * Hijri (Islamic) Calendar Driver — Tabular / Arithmetic variant
6
- *
7
- * Calendar characteristics:
8
- * - Lunar calendar with 12 months of alternating 30/29 days
9
- * - 30-year cycle with 11 leap years (Dhul Hijjah gains a day)
10
- * - Year 1 AH ≈ 16 July 622 CE (Julian)
11
- * - Average year ≈ 354.36667 days
12
- *
13
- * This uses the Tabular Islamic Calendar (civil/Type II-A) algorithm
14
- * based on the formulas from Meeus "Astronomical Algorithms".
15
- */
16
- const index_1 = require("../index");
4
+ const tps_string_1 = require("../utils/tps-string");
5
+ const calendar_1 = require("../utils/calendar");
17
6
  class HijriDriver {
18
7
  constructor() {
19
8
  this.code = "hij";
@@ -55,14 +44,9 @@ class HijriDriver {
55
44
  "al-Jumu'ah",
56
45
  "as-Sabt",
57
46
  ];
58
- /** Leap years in a 30-year cycle (civil / Type II-A pattern) */
59
- this.LEAP_YEARS_IN_CYCLE = new Set([
60
- 2, 5, 7, 10, 13, 16, 18, 21, 24, 26, 29,
61
- ]);
62
47
  }
63
- // ── CalendarDriver interface ──────────────────────────────────────────
64
48
  getComponentsFromDate(date) {
65
- const { hy, hm, hd } = this.gregorianToHijri(date.getUTCFullYear(), date.getUTCMonth() + 1, date.getUTCDate());
49
+ const { hy, hm, hd } = (0, calendar_1.gregorianToHijri)(date.getUTCFullYear(), date.getUTCMonth() + 1, date.getUTCDate());
66
50
  return {
67
51
  calendar: this.code,
68
52
  millennium: Math.floor(hy / 1000) + 1,
@@ -89,12 +73,12 @@ class HijriDriver {
89
73
  }
90
74
  const hm = components.month ?? 1;
91
75
  const hd = components.day ?? 1;
92
- const { gy, gm, gd } = this.hijriToGregorian(hy, hm, hd);
76
+ const { gy, gm, gd } = (0, calendar_1.hijriToGregorian)(hy, hm, hd);
93
77
  return new Date(Date.UTC(gy, gm - 1, gd, components.hour ?? 0, components.minute ?? 0, Math.floor(components.second ?? 0), components.millisecond ?? 0));
94
78
  }
95
79
  getFromDate(date) {
96
80
  const comp = this.getComponentsFromDate(date);
97
- return index_1.TPS.buildTimePart(comp);
81
+ return (0, tps_string_1.buildTimePart)(comp);
98
82
  }
99
83
  parseDate(input, format) {
100
84
  const trimmed = input.trim();
@@ -140,9 +124,8 @@ class HijriDriver {
140
124
  else {
141
125
  fullYear = components.year ?? 0;
142
126
  }
143
- if (format === "short") {
127
+ if (format === "short")
144
128
  return `${components.day}/${pad(components.month)}/${fullYear}`;
145
- }
146
129
  if (format === "long") {
147
130
  const mn = this.MONTH_NAMES[(components.month ?? 1) - 1];
148
131
  return `${components.day} ${mn} ${fullYear}`;
@@ -167,7 +150,6 @@ class HijriDriver {
167
150
  comp = input;
168
151
  }
169
152
  const { year, month, day } = comp;
170
- // Reconstruct full year for leap check
171
153
  let fullYear;
172
154
  if (comp.millennium !== undefined) {
173
155
  fullYear =
@@ -184,7 +166,9 @@ class HijriDriver {
184
166
  return false;
185
167
  if (!day || day < 1)
186
168
  return false;
187
- const maxDays = this.daysInMonth(fullYear, month);
169
+ // leap check (cycle of 30 years)
170
+ const isLeap = new Set([2, 5, 7, 10, 13, 16, 18, 21, 24, 26, 29]).has(((fullYear - 1) % 30) + 1);
171
+ const maxDays = month === 12 && isLeap ? 30 : month % 2 === 1 ? 30 : 29;
188
172
  return day <= maxDays;
189
173
  }
190
174
  getMetadata() {
@@ -199,83 +183,6 @@ class HijriDriver {
199
183
  epochYear: 1,
200
184
  };
201
185
  }
202
- // ── Internal helpers ──────────────────────────────────────────────────
203
- isLeapYear(year) {
204
- return this.LEAP_YEARS_IN_CYCLE.has(((year - 1) % 30) + 1);
205
- }
206
- daysInMonth(year, month) {
207
- if (month === 12 && this.isLeapYear(year))
208
- return 30;
209
- return month % 2 === 1 ? 30 : 29;
210
- }
211
- // ── Gregorian ↔ Hijri (Tabular algorithm from Meeus) ──────────────────
212
- /**
213
- * Convert Gregorian to Hijri (Tabular Islamic Calendar).
214
- * Algorithm from "Astronomical Algorithms" by Jean Meeus.
215
- */
216
- gregorianToHijri(gy, gm, gd) {
217
- // Step 1: Gregorian → JDN
218
- const jdn = this.gregorianToJdn(gy, gm, gd);
219
- // Step 2: JDN → Hijri
220
- // L = JDN − 1948440 + 10632
221
- const L = jdn - 1948440 + 10632;
222
- // N = floor((L − 1) / 10631)
223
- const N = Math.floor((L - 1) / 10631);
224
- // L = L − 10631 × N + 354
225
- const L2 = L - 10631 * N + 354;
226
- // J = floor((10985 − L2) / 5316) × floor((50×L2) / 17719) + floor(L2 / 5670) × floor((43×L2) / 15238)
227
- const J = Math.floor((10985 - L2) / 5316) * Math.floor((50 * L2) / 17719) +
228
- Math.floor(L2 / 5670) * Math.floor((43 * L2) / 15238);
229
- // L3 = L2 − floor((30 − J) / 15) × floor((17719 × J) / 50) − floor(J / 16) × floor((15238 × J) / 43) + 29
230
- const L3 = L2 -
231
- Math.floor((30 - J) / 15) * Math.floor((17719 * J) / 50) -
232
- Math.floor(J / 16) * Math.floor((15238 * J) / 43) +
233
- 29;
234
- const hm = Math.floor((24 * L3) / 709);
235
- const hd = L3 - Math.floor((709 * hm) / 24);
236
- const hy = 30 * N + J - 30;
237
- return { hy, hm, hd };
238
- }
239
- /**
240
- * Convert Hijri to Gregorian.
241
- */
242
- hijriToGregorian(hy, hm, hd) {
243
- // Hijri → JDN
244
- const jdn = Math.floor((11 * hy + 3) / 30) +
245
- 354 * hy +
246
- 30 * hm -
247
- Math.floor((hm - 1) / 2) +
248
- hd +
249
- 1948440 -
250
- 385;
251
- // JDN → Gregorian
252
- return this.jdnToGregorian(jdn);
253
- }
254
- // ── JDN helpers ───────────────────────────────────────────────────────
255
- gregorianToJdn(gy, gm, gd) {
256
- const a = Math.floor((14 - gm) / 12);
257
- const y = gy + 4800 - a;
258
- const m = gm + 12 * a - 3;
259
- return (gd +
260
- Math.floor((153 * m + 2) / 5) +
261
- 365 * y +
262
- Math.floor(y / 4) -
263
- Math.floor(y / 100) +
264
- Math.floor(y / 400) -
265
- 32045);
266
- }
267
- jdnToGregorian(jdn) {
268
- const a = jdn + 32044;
269
- const b = Math.floor((4 * a + 3) / 146097);
270
- const c = a - Math.floor((146097 * b) / 4);
271
- const d = Math.floor((4 * c + 3) / 1461);
272
- const e = c - Math.floor((1461 * d) / 4);
273
- const m = Math.floor((5 * e + 2) / 153);
274
- const gd = e - Math.floor((153 * m + 2) / 5) + 1;
275
- const gm = m + 3 - 12 * Math.floor(m / 10);
276
- const gy = 100 * b + d - 4800 + Math.floor(m / 10);
277
- return { gy, gm, gd };
278
- }
279
186
  }
280
187
  exports.HijriDriver = HijriDriver;
281
188
  //# sourceMappingURL=hijri.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hijri.js","sourceRoot":"","sources":["../../src/drivers/hijri.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hijri.js","sourceRoot":"","sources":["../../src/drivers/hijri.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,10 @@
9
9
  *
10
10
  * This is a thin wrapper around GregorianDriver with a year offset.
11
11
  */
12
- import { CalendarDriver, CalendarMetadata, TPSComponents } from "../index";
12
+ import { CalendarDriver, CalendarMetadata, TPSComponents } from "../types";
13
+ /**
14
+ * Holocene (Human Era) Calendar Driver
15
+ */
13
16
  export declare class HoloceneDriver implements CalendarDriver {
14
17
  readonly code = "holo";
15
18
  readonly name = "Holocene (Human Era)";
@@ -18,8 +21,8 @@ export declare class HoloceneDriver implements CalendarDriver {
18
21
  getComponentsFromDate(date: Date): Partial<TPSComponents>;
19
22
  getDateFromComponents(components: Partial<TPSComponents>): Date;
20
23
  getFromDate(date: Date): string;
21
- parseDate(input: string, format?: string): Partial<TPSComponents>;
22
- format(components: Partial<TPSComponents>, format?: string): string;
24
+ parseDate(input: string, _format?: string): Partial<TPSComponents>;
25
+ format(components: Partial<TPSComponents>, _format?: string): string;
23
26
  validate(input: string | Partial<TPSComponents>): boolean;
24
27
  getMetadata(): CalendarMetadata;
25
28
  }