@venizia/ignis-helpers 0.2.1 → 0.2.2-1

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 (77) hide show
  1. package/dist/cjs/modules/error/index.d.ts +1 -1
  2. package/dist/cjs/modules/error/index.d.ts.map +1 -1
  3. package/dist/cjs/modules/error/index.js +2 -1
  4. package/dist/cjs/modules/error/index.js.map +1 -1
  5. package/dist/cjs/modules/temporal/adapters/index.d.ts +1 -0
  6. package/dist/cjs/modules/temporal/adapters/index.d.ts.map +1 -1
  7. package/dist/cjs/modules/temporal/adapters/index.js +1 -0
  8. package/dist/cjs/modules/temporal/adapters/index.js.map +1 -1
  9. package/dist/cjs/modules/temporal/adapters/intl.d.ts +16 -0
  10. package/dist/cjs/modules/temporal/adapters/intl.d.ts.map +1 -0
  11. package/dist/cjs/modules/temporal/adapters/intl.js +83 -0
  12. package/dist/cjs/modules/temporal/adapters/intl.js.map +1 -0
  13. package/dist/cjs/modules/temporal/common/constants.d.ts +12 -0
  14. package/dist/cjs/modules/temporal/common/constants.d.ts.map +1 -1
  15. package/dist/cjs/modules/temporal/common/constants.js +15 -1
  16. package/dist/cjs/modules/temporal/common/constants.js.map +1 -1
  17. package/dist/cjs/modules/temporal/common/types.d.ts +9 -0
  18. package/dist/cjs/modules/temporal/common/types.d.ts.map +1 -1
  19. package/dist/cjs/modules/temporal/duration.d.ts +19 -0
  20. package/dist/cjs/modules/temporal/duration.d.ts.map +1 -0
  21. package/dist/cjs/modules/temporal/duration.js +64 -0
  22. package/dist/cjs/modules/temporal/duration.js.map +1 -0
  23. package/dist/cjs/modules/temporal/helper.d.ts +90 -4
  24. package/dist/cjs/modules/temporal/helper.d.ts.map +1 -1
  25. package/dist/cjs/modules/temporal/helper.js +213 -3
  26. package/dist/cjs/modules/temporal/helper.js.map +1 -1
  27. package/dist/cjs/modules/temporal/locale.d.ts +40 -0
  28. package/dist/cjs/modules/temporal/locale.d.ts.map +1 -0
  29. package/dist/cjs/modules/temporal/locale.js +124 -0
  30. package/dist/cjs/modules/temporal/locale.js.map +1 -0
  31. package/dist/cjs/modules/temporal/pattern.d.ts +2 -0
  32. package/dist/cjs/modules/temporal/pattern.d.ts.map +1 -1
  33. package/dist/cjs/modules/temporal/pattern.js +15 -2
  34. package/dist/cjs/modules/temporal/pattern.js.map +1 -1
  35. package/dist/cjs/modules/temporal/tokens.d.ts +19 -6
  36. package/dist/cjs/modules/temporal/tokens.d.ts.map +1 -1
  37. package/dist/cjs/modules/temporal/tokens.js +49 -17
  38. package/dist/cjs/modules/temporal/tokens.js.map +1 -1
  39. package/dist/esm/modules/error/index.d.ts +1 -1
  40. package/dist/esm/modules/error/index.d.ts.map +1 -1
  41. package/dist/esm/modules/error/index.js +1 -1
  42. package/dist/esm/modules/error/index.js.map +1 -1
  43. package/dist/esm/modules/temporal/adapters/index.d.ts +1 -0
  44. package/dist/esm/modules/temporal/adapters/index.d.ts.map +1 -1
  45. package/dist/esm/modules/temporal/adapters/index.js +1 -0
  46. package/dist/esm/modules/temporal/adapters/index.js.map +1 -1
  47. package/dist/esm/modules/temporal/adapters/intl.d.ts +16 -0
  48. package/dist/esm/modules/temporal/adapters/intl.d.ts.map +1 -0
  49. package/dist/esm/modules/temporal/adapters/intl.js +79 -0
  50. package/dist/esm/modules/temporal/adapters/intl.js.map +1 -0
  51. package/dist/esm/modules/temporal/common/constants.d.ts +12 -0
  52. package/dist/esm/modules/temporal/common/constants.d.ts.map +1 -1
  53. package/dist/esm/modules/temporal/common/constants.js +13 -0
  54. package/dist/esm/modules/temporal/common/constants.js.map +1 -1
  55. package/dist/esm/modules/temporal/common/types.d.ts +9 -0
  56. package/dist/esm/modules/temporal/common/types.d.ts.map +1 -1
  57. package/dist/esm/modules/temporal/duration.d.ts +19 -0
  58. package/dist/esm/modules/temporal/duration.d.ts.map +1 -0
  59. package/dist/esm/modules/temporal/duration.js +60 -0
  60. package/dist/esm/modules/temporal/duration.js.map +1 -0
  61. package/dist/esm/modules/temporal/helper.d.ts +90 -4
  62. package/dist/esm/modules/temporal/helper.d.ts.map +1 -1
  63. package/dist/esm/modules/temporal/helper.js +215 -5
  64. package/dist/esm/modules/temporal/helper.js.map +1 -1
  65. package/dist/esm/modules/temporal/locale.d.ts +40 -0
  66. package/dist/esm/modules/temporal/locale.d.ts.map +1 -0
  67. package/dist/esm/modules/temporal/locale.js +120 -0
  68. package/dist/esm/modules/temporal/locale.js.map +1 -0
  69. package/dist/esm/modules/temporal/pattern.d.ts +2 -0
  70. package/dist/esm/modules/temporal/pattern.d.ts.map +1 -1
  71. package/dist/esm/modules/temporal/pattern.js +16 -3
  72. package/dist/esm/modules/temporal/pattern.js.map +1 -1
  73. package/dist/esm/modules/temporal/tokens.d.ts +19 -6
  74. package/dist/esm/modules/temporal/tokens.d.ts.map +1 -1
  75. package/dist/esm/modules/temporal/tokens.js +47 -16
  76. package/dist/esm/modules/temporal/tokens.js.map +1 -1
  77. package/package.json +2 -2
@@ -1,9 +1,9 @@
1
1
  import { BaseHelper } from '../base.js';
2
- import type { TTemporalUnit } from './common/constants.js';
3
- import type { ITemporalAdapter, IZonedTemporalParts, TTemporalInput } from './common/types.js';
2
+ import type { TTemporalDurationStyle, TTemporalUnit } from './common/constants.js';
3
+ import type { ITemporalAdapter, ITemporalDurationParts, IZonedTemporalParts, TTemporalInput } from './common/types.js';
4
4
  /**
5
5
  * Dates in one time zone, through whichever library you choose: pass an adapter - the runtime's
6
- * `Temporal` (the default), your own dayjs, your own Luxon. The adapter only reports a zone's UTC
6
+ * `Temporal` (the default where the runtime has it, `Intl` everywhere else), your own dayjs, your own Luxon. The adapter only reports a zone's UTC
7
7
  * offset at an instant; the wall clock, daylight-saving gaps and repeats, and the calendar math all
8
8
  * live here, so every adapter shares one behaviour.
9
9
  *
@@ -14,13 +14,25 @@ import type { ITemporalAdapter, IZonedTemporalParts, TTemporalInput } from './co
14
14
  export declare class TemporalHelper extends BaseHelper {
15
15
  /** Validated once per process: `Intl` answers the same for a zone name every time. */
16
16
  private static readonly knownTimeZones;
17
+ private static readonly intlFormatters;
17
18
  private readonly adapter;
18
19
  private readonly timeZone;
20
+ private readonly locale;
21
+ /**
22
+ * `locale` (default `en-US`) spells month and weekday names, AM/PM, relative time and durations,
23
+ * unless a call passes its own.
24
+ */
19
25
  constructor(opts?: {
20
26
  adapter?: ITemporalAdapter;
21
27
  timeZone?: string;
28
+ locale?: string;
22
29
  scope?: string;
23
30
  });
31
+ /** The runtime's `Temporal` where it has one; `Intl`, which every runtime has, everywhere else. */
32
+ private static defaultAdapter;
33
+ private static ensureLocale;
34
+ /** A parse or input error the caller may treat as "not a date"; anything else is a bug and still throws. */
35
+ private static isRefusal;
24
36
  private static ensureTimeZone;
25
37
  private static ensureUnit;
26
38
  /** Every result passes here: an overflowing `add` is refused, never an Invalid Date. */
@@ -45,6 +57,7 @@ export declare class TemporalHelper extends BaseHelper {
45
57
  */
46
58
  private unitBounds;
47
59
  getTimeZone(): string;
60
+ getLocale(): string;
48
61
  now(): Date;
49
62
  /** The instant a value names. An ISO string without an offset is read as wall clock in the zone. */
50
63
  toDate(opts: {
@@ -67,11 +80,34 @@ export declare class TemporalHelper extends BaseHelper {
67
80
  timeZone?: string;
68
81
  }): Date;
69
82
  private readIso;
70
- /** Writes the value in the zone. Without a `pattern`: ISO 8601 with the zone's offset. */
83
+ /** `parse`, answering `null` where `parse` refuses the value. A pattern that does not compile still throws. */
84
+ tryParse(opts: {
85
+ value: string;
86
+ pattern?: string;
87
+ timeZone?: string;
88
+ }): Date | null;
89
+ /** Whether the value names an instant in years 1-9999 - a string read as `parse` reads it. */
90
+ isValid(opts: {
91
+ value: TTemporalInput;
92
+ pattern?: string;
93
+ timeZone?: string;
94
+ }): boolean;
95
+ /**
96
+ * Writes the value in the zone. Without a `pattern`: ISO 8601 with the zone's offset. The locale
97
+ * tokens `MMMM MMM dddd ddd A a hh h LL L` are spelled in `locale`.
98
+ */
71
99
  format(opts: {
72
100
  value: TTemporalInput;
73
101
  pattern?: string;
74
102
  timeZone?: string;
103
+ locale?: string;
104
+ }): string;
105
+ /** Writes the value with `Intl.DateTimeFormat` options, in the zone - for what the pattern tokens cannot say. */
106
+ formatIntl(opts: {
107
+ value: TTemporalInput;
108
+ options?: Omit<Intl.DateTimeFormatOptions, 'timeZone'>;
109
+ timeZone?: string;
110
+ locale?: string;
75
111
  }): string;
76
112
  /**
77
113
  * Moves the value by whole units. Hours and smaller are elapsed time; days and larger move the
@@ -116,5 +152,55 @@ export declare class TemporalHelper extends BaseHelper {
116
152
  timeZone?: string;
117
153
  }): Date;
118
154
  private stepToWeekday;
155
+ /**
156
+ * How many whole units `value` is past `other` - negative when it is before - truncated toward
157
+ * zero. Hours and smaller count elapsed time. Days and larger count the calendar in the zone, as
158
+ * `add` moves it: the answer is the largest `n` that `add` can move `other` by without passing
159
+ * `value`, so `diff(add(x, n), x)` is `n` wherever the zone skips no whole day.
160
+ */
161
+ diff(opts: {
162
+ value: TTemporalInput;
163
+ other: TTemporalInput;
164
+ unit: TTemporalUnit;
165
+ timeZone?: string;
166
+ }): number;
167
+ /**
168
+ * `-1`, `0` or `1` as `value` is before, in, or after the unit that holds `other`, in the zone.
169
+ * Without a unit the two instants are compared to the millisecond.
170
+ */
171
+ compare(opts: {
172
+ value: TTemporalInput;
173
+ other: TTemporalInput;
174
+ unit?: TTemporalUnit;
175
+ timeZone?: string;
176
+ }): -1 | 0 | 1;
177
+ /**
178
+ * `value` relative to `base` (default: now) in words, through `Intl.RelativeTimeFormat`:
179
+ * `3 hours ago`, `in 2 days`. With a `unit`, it counts the unit's boundaries in the zone, so
180
+ * 23:00 yesterday seen at 01:00 is `yesterday` under `numeric: 'auto'`. Without one it says the
181
+ * largest whole unit that has elapsed, from years down to seconds.
182
+ */
183
+ relative(opts: {
184
+ value: TTemporalInput;
185
+ base?: TTemporalInput;
186
+ unit?: TTemporalUnit;
187
+ numeric?: Intl.RelativeTimeFormatNumeric;
188
+ style?: Intl.RelativeTimeFormatStyle;
189
+ timeZone?: string;
190
+ locale?: string;
191
+ }): string;
192
+ /** A span of milliseconds as days, hours, minutes, seconds and milliseconds. A day is 24 hours. */
193
+ durationParts(opts: {
194
+ milliseconds: number;
195
+ }): ITemporalDurationParts;
196
+ /**
197
+ * A span of milliseconds written out: `compact` (the default) is `1d1h30m`; `narrow`, `short` and
198
+ * `long` use the locale's unit words. Zero units are left out and milliseconds dropped.
199
+ */
200
+ formatDuration(opts: {
201
+ milliseconds: number;
202
+ style?: TTemporalDurationStyle;
203
+ locale?: string;
204
+ }): string;
119
205
  }
120
206
  //# sourceMappingURL=helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../../../src/modules/temporal/helper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAoB5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EACV,gBAAgB,EAEhB,mBAAmB,EACnB,cAAc,EACf,MAAM,gBAAgB,CAAC;AAoBxB;;;;;;;;;GASG;AACH,qBAAa,cAAe,SAAQ,UAAU;IAC5C,sFAAsF;IACtF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAqB;IAE3D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,gBAAgB,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IAUpF,OAAO,CAAC,MAAM,CAAC,cAAc;IAqB7B,OAAO,CAAC,MAAM,CAAC,UAAU;IAgBzB,wFAAwF;IACxF,OAAO,CAAC,MAAM,CAAC,aAAa;IAW5B,OAAO,CAAC,MAAM,CAAC,UAAU;IASzB,OAAO,CAAC,eAAe;IASvB,wGAAwG;IACxG,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,UAAU;IAMlB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAsBlB,2GAA2G;IAC3G,OAAO,CAAC,UAAU;IAKlB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAwBlB,WAAW,IAAI,MAAM;IAIrB,GAAG,IAAI,IAAI;IAIX,oGAAoG;IACpG,MAAM,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,cAAc,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAYhE,uFAAuF;IACvF,KAAK,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,cAAc,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,mBAAmB;IAM9E;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IA4BzE,OAAO,CAAC,OAAO;IAsCf,0FAA0F;IAC1F,MAAM,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,cAAc,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAOpF;;;;OAIG;IACH,GAAG,CAAC,IAAI,EAAE;QACR,KAAK,EAAE,cAAc,CAAC;QACtB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,aAAa,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI;IAsBR,QAAQ,CAAC,IAAI,EAAE;QACb,KAAK,EAAE,cAAc,CAAC;QACtB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,aAAa,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI;IAIR,8FAA8F;IAC9F,OAAO,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,cAAc,CAAC;QAAC,IAAI,EAAE,aAAa,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IActF,0EAA0E;IAC1E,KAAK,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,cAAc,CAAC;QAAC,IAAI,EAAE,aAAa,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAcpF,4DAA4D;IAC5D,SAAS,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,cAAc,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO;IAItE,WAAW,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,cAAc,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAIrE,eAAe,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,cAAc,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAIzE,OAAO,CAAC,aAAa;CAkBtB"}
1
+ {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../../../src/modules/temporal/helper.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,13 @@
1
1
  import { HTTP } from '../../common/constants/http.js';
2
2
  import { BaseHelper } from '../base.js';
3
- import { getError } from '../error/index.js';
3
+ import { getError, isApplicationError } from '../error/index.js';
4
+ import { isTemporalNamespace } from './adapters/guards.js';
5
+ import { IntlTemporalAdapter } from './adapters/intl.js';
4
6
  import { NativeTemporalAdapter } from './adapters/native.js';
5
7
  import { epochAtOffset, EXACT_UNIT_MILLISECONDS, isRealDateTime, isSupportedYear, MAX_TEMPORAL_YEAR, MIN_TEMPORAL_YEAR, shiftWallClock, truncateTo, wallClockAt, wallClockOf, } from './calendar.js';
6
- import { DEFAULT_TEMPORAL_PATTERN, DEFAULT_TEMPORAL_TIME_ZONE, TemporalUnits, } from './common/constants.js';
8
+ import { DEFAULT_TEMPORAL_LOCALE, DEFAULT_TEMPORAL_PATTERN, DEFAULT_TEMPORAL_TIME_ZONE, TemporalUnits, } from './common/constants.js';
9
+ import { TemporalDuration } from './duration.js';
10
+ import { TemporalLocale } from './locale.js';
7
11
  import { TemporalPattern } from './pattern.js';
8
12
  /** `2026-09-19`, `2026-09-19T12:00`, `2026-09-19 12:00:00.021+07:00`, `...Z` - an offset only after a time. */
9
13
  const ISO_8601 = /^(\d{4})-(\d{2})-(\d{2})(?:[T ](\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{1,9}))?)?(Z|[+-]\d{2}(?::?\d{2}(?::?\d{2})?)?)?)?$/i;
@@ -14,10 +18,22 @@ const DAY_MILLISECONDS = 86_400_000;
14
18
  const MIN_INSTANT = -62_135_596_800_000;
15
19
  const MAX_INSTANT = 253_402_300_799_999;
16
20
  const MAX_KNOWN_TIME_ZONES = 256;
21
+ /** `formatIntl` builds one formatter per locale, options and zone; capped so caller-fed options cannot grow it. */
22
+ const MAX_INTL_FORMATTERS = 128;
23
+ /** `relative` without a unit says it in the largest whole one, down to seconds. */
24
+ const RELATIVE_UNITS = [
25
+ TemporalUnits.YEAR,
26
+ TemporalUnits.MONTH,
27
+ TemporalUnits.WEEK,
28
+ TemporalUnits.DAY,
29
+ TemporalUnits.HOUR,
30
+ TemporalUnits.MINUTE,
31
+ TemporalUnits.SECOND,
32
+ ];
17
33
  const OUT_OF_RANGE = `outside the years ${MIN_TEMPORAL_YEAR}-${MAX_TEMPORAL_YEAR}`;
18
34
  /**
19
35
  * Dates in one time zone, through whichever library you choose: pass an adapter - the runtime's
20
- * `Temporal` (the default), your own dayjs, your own Luxon. The adapter only reports a zone's UTC
36
+ * `Temporal` (the default where the runtime has it, `Intl` everywhere else), your own dayjs, your own Luxon. The adapter only reports a zone's UTC
21
37
  * offset at an instant; the wall clock, daylight-saving gaps and repeats, and the calendar math all
22
38
  * live here, so every adapter shares one behaviour.
23
39
  *
@@ -28,13 +44,33 @@ const OUT_OF_RANGE = `outside the years ${MIN_TEMPORAL_YEAR}-${MAX_TEMPORAL_YEAR
28
44
  export class TemporalHelper extends BaseHelper {
29
45
  /** Validated once per process: `Intl` answers the same for a zone name every time. */
30
46
  static { this.knownTimeZones = new Set(); }
47
+ static { this.intlFormatters = new Map(); }
48
+ /**
49
+ * `locale` (default `en-US`) spells month and weekday names, AM/PM, relative time and durations,
50
+ * unless a call passes its own.
51
+ */
31
52
  constructor(opts) {
32
53
  super({ scope: opts?.scope ?? TemporalHelper.name });
33
54
  this.timeZone = TemporalHelper.ensureTimeZone({
34
55
  timeZone: opts?.timeZone ?? DEFAULT_TEMPORAL_TIME_ZONE,
35
56
  statusCode: HTTP.ResultCodes.RS_5.InternalServerError,
36
57
  });
37
- this.adapter = opts?.adapter ?? new NativeTemporalAdapter();
58
+ this.locale = TemporalHelper.ensureLocale({ locale: opts?.locale ?? DEFAULT_TEMPORAL_LOCALE });
59
+ this.adapter = opts?.adapter ?? TemporalHelper.defaultAdapter();
60
+ }
61
+ /** The runtime's `Temporal` where it has one; `Intl`, which every runtime has, everywhere else. */
62
+ static defaultAdapter() {
63
+ return isTemporalNamespace(Reflect.get(globalThis, 'Temporal'))
64
+ ? new NativeTemporalAdapter()
65
+ : new IntlTemporalAdapter();
66
+ }
67
+ static ensureLocale(opts) {
68
+ TemporalLocale.of({ locale: opts.locale });
69
+ return opts.locale;
70
+ }
71
+ /** A parse or input error the caller may treat as "not a date"; anything else is a bug and still throws. */
72
+ static isRefusal(error) {
73
+ return isApplicationError(error) && error.statusCode === HTTP.ResultCodes.RS_4.BadRequest;
38
74
  }
39
75
  static ensureTimeZone(opts) {
40
76
  const { timeZone, statusCode } = opts;
@@ -157,6 +193,9 @@ export class TemporalHelper extends BaseHelper {
157
193
  getTimeZone() {
158
194
  return this.timeZone;
159
195
  }
196
+ getLocale() {
197
+ return this.locale;
198
+ }
160
199
  now() {
161
200
  return new Date();
162
201
  }
@@ -235,13 +274,57 @@ export class TemporalHelper extends BaseHelper {
235
274
  const milliseconds = ((hours * 60 + minutes) * 60 + seconds) * 1000;
236
275
  return { parts, offsetMilliseconds: sign === '-' ? -milliseconds : milliseconds };
237
276
  }
238
- /** Writes the value in the zone. Without a `pattern`: ISO 8601 with the zone's offset. */
277
+ /** `parse`, answering `null` where `parse` refuses the value. A pattern that does not compile still throws. */
278
+ tryParse(opts) {
279
+ // Outside the try: a bad zone is the caller's bug, as a broken pattern is.
280
+ const timeZone = this.resolveTimeZone({ timeZone: opts.timeZone });
281
+ try {
282
+ return this.parse({ ...opts, timeZone });
283
+ }
284
+ catch (error) {
285
+ if (TemporalHelper.isRefusal(error)) {
286
+ return null;
287
+ }
288
+ throw error;
289
+ }
290
+ }
291
+ /** Whether the value names an instant in years 1-9999 - a string read as `parse` reads it. */
292
+ isValid(opts) {
293
+ const { value, pattern, timeZone } = opts;
294
+ if (typeof value === 'string') {
295
+ return this.tryParse({ value, pattern, timeZone }) !== null;
296
+ }
297
+ const epoch = value instanceof Date ? value.getTime() : value;
298
+ return epoch >= MIN_INSTANT && epoch <= MAX_INSTANT;
299
+ }
300
+ /**
301
+ * Writes the value in the zone. Without a `pattern`: ISO 8601 with the zone's offset. The locale
302
+ * tokens `MMMM MMM dddd ddd A a hh h LL L` are spelled in `locale`.
303
+ */
239
304
  format(opts) {
240
305
  return TemporalPattern.format({
241
306
  pattern: opts.pattern ?? DEFAULT_TEMPORAL_PATTERN,
242
307
  parts: this.parts({ value: opts.value, timeZone: opts.timeZone }),
308
+ locale: opts.locale ?? this.locale,
243
309
  });
244
310
  }
311
+ /** Writes the value with `Intl.DateTimeFormat` options, in the zone - for what the pattern tokens cannot say. */
312
+ formatIntl(opts) {
313
+ const timeZone = this.resolveTimeZone({ timeZone: opts.timeZone });
314
+ const locale = opts.locale === undefined
315
+ ? this.locale
316
+ : TemporalHelper.ensureLocale({ locale: opts.locale });
317
+ const date = this.toDate({ value: opts.value, timeZone });
318
+ const key = `${locale}|${timeZone}|${JSON.stringify(opts.options ?? {})}`;
319
+ let formatter = TemporalHelper.intlFormatters.get(key);
320
+ if (!formatter) {
321
+ formatter = new Intl.DateTimeFormat(locale, { ...opts.options, timeZone });
322
+ if (TemporalHelper.intlFormatters.size < MAX_INTL_FORMATTERS) {
323
+ TemporalHelper.intlFormatters.set(key, formatter);
324
+ }
325
+ }
326
+ return formatter.format(date);
327
+ }
245
328
  /**
246
329
  * Moves the value by whole units. Hours and smaller are elapsed time; days and larger move the
247
330
  * calendar in the zone, so a day across a daylight-saving jump keeps the wall time, and a month
@@ -318,5 +401,132 @@ export class TemporalHelper extends BaseHelper {
318
401
  }
319
402
  return candidate;
320
403
  }
404
+ /**
405
+ * How many whole units `value` is past `other` - negative when it is before - truncated toward
406
+ * zero. Hours and smaller count elapsed time. Days and larger count the calendar in the zone, as
407
+ * `add` moves it: the answer is the largest `n` that `add` can move `other` by without passing
408
+ * `value`, so `diff(add(x, n), x)` is `n` wherever the zone skips no whole day.
409
+ */
410
+ diff(opts) {
411
+ const { unit } = opts;
412
+ TemporalHelper.ensureUnit({ unit });
413
+ const timeZone = this.resolveTimeZone({ timeZone: opts.timeZone });
414
+ const value = this.toDate({ value: opts.value, timeZone }).getTime();
415
+ const other = this.toDate({ value: opts.other, timeZone }).getTime();
416
+ const exact = EXACT_UNIT_MILLISECONDS[unit];
417
+ if (exact !== undefined) {
418
+ // `+ 0` turns a truncated `-0` into `0`.
419
+ return Math.trunc((value - other) / exact) + 0;
420
+ }
421
+ if (value === other) {
422
+ return 0;
423
+ }
424
+ const later = this.zonedParts({ epoch: value, timeZone });
425
+ const earlier = this.zonedParts({ epoch: other, timeZone });
426
+ // A first guess from the wall clocks, settled by `add` itself: back while it passes `value`, then
427
+ // on while the next step does not - a zone that repeats or skips a whole day can put it either side.
428
+ let guess;
429
+ if (unit === TemporalUnits.MONTH || unit === TemporalUnits.YEAR) {
430
+ const months = (later.year - earlier.year) * 12 + (later.month - earlier.month);
431
+ guess = unit === TemporalUnits.YEAR ? Math.trunc(months / 12) : months;
432
+ }
433
+ else {
434
+ const days = Math.round((epochAtOffset({ parts: wallClockOf({ parts: later }), offsetMilliseconds: 0 }) -
435
+ epochAtOffset({ parts: wallClockOf({ parts: earlier }), offsetMilliseconds: 0 })) /
436
+ DAY_MILLISECONDS);
437
+ guess = unit === TemporalUnits.WEEK ? Math.trunc(days / 7) : Math.trunc(days);
438
+ }
439
+ const direction = Math.sign(value - other);
440
+ const start = wallClockOf({ parts: earlier });
441
+ const passes = (amount) => {
442
+ // A move past years 1-9999 passes every value inside them, and `add` would refuse it.
443
+ if (!isSupportedYear(shiftWallClock({ parts: start, amount, unit }).year)) {
444
+ return true;
445
+ }
446
+ const moved = this.add({ value: other, amount, unit, timeZone }).getTime();
447
+ return direction > 0 ? moved > value : moved < value;
448
+ };
449
+ while (guess !== 0 && passes(guess)) {
450
+ guess -= direction;
451
+ }
452
+ while (!passes(guess + direction)) {
453
+ guess += direction;
454
+ }
455
+ return guess + 0;
456
+ }
457
+ /**
458
+ * `-1`, `0` or `1` as `value` is before, in, or after the unit that holds `other`, in the zone.
459
+ * Without a unit the two instants are compared to the millisecond.
460
+ */
461
+ compare(opts) {
462
+ const { unit } = opts;
463
+ const timeZone = this.resolveTimeZone({ timeZone: opts.timeZone });
464
+ const value = unit === undefined
465
+ ? this.toDate({ value: opts.value, timeZone })
466
+ : this.startOf({ value: opts.value, unit, timeZone });
467
+ const other = unit === undefined
468
+ ? this.toDate({ value: opts.other, timeZone })
469
+ : this.startOf({ value: opts.other, unit, timeZone });
470
+ const delta = value.getTime() - other.getTime();
471
+ return delta < 0 ? -1 : delta > 0 ? 1 : 0;
472
+ }
473
+ /**
474
+ * `value` relative to `base` (default: now) in words, through `Intl.RelativeTimeFormat`:
475
+ * `3 hours ago`, `in 2 days`. With a `unit`, it counts the unit's boundaries in the zone, so
476
+ * 23:00 yesterday seen at 01:00 is `yesterday` under `numeric: 'auto'`. Without one it says the
477
+ * largest whole unit that has elapsed, from years down to seconds.
478
+ */
479
+ relative(opts) {
480
+ const { unit, numeric = 'always', style = 'long' } = opts;
481
+ const timeZone = this.resolveTimeZone({ timeZone: opts.timeZone });
482
+ const locale = opts.locale === undefined
483
+ ? this.locale
484
+ : TemporalHelper.ensureLocale({ locale: opts.locale });
485
+ const value = this.toDate({ value: opts.value, timeZone });
486
+ const base = opts.base === undefined ? this.now() : this.toDate({ value: opts.base, timeZone });
487
+ let amount = 0;
488
+ let said = TemporalUnits.SECOND;
489
+ if (unit !== undefined) {
490
+ TemporalHelper.ensureUnit({ unit });
491
+ if (unit === TemporalUnits.MILLISECOND) {
492
+ throw getError({
493
+ statusCode: HTTP.ResultCodes.RS_4.BadRequest,
494
+ message: '[TemporalHelper] relative time has no millisecond unit | Use second or larger',
495
+ });
496
+ }
497
+ amount = this.diff({
498
+ value: this.startOf({ value, unit, timeZone }),
499
+ other: this.startOf({ value: base, unit, timeZone }),
500
+ unit,
501
+ timeZone,
502
+ });
503
+ said = unit;
504
+ }
505
+ else {
506
+ for (const candidate of RELATIVE_UNITS) {
507
+ const counted = this.diff({ value, other: base, unit: candidate, timeZone });
508
+ if (counted !== 0 || candidate === TemporalUnits.SECOND) {
509
+ amount = counted;
510
+ said = candidate;
511
+ break;
512
+ }
513
+ }
514
+ }
515
+ return new Intl.RelativeTimeFormat(locale, { numeric, style }).format(amount, said);
516
+ }
517
+ /** A span of milliseconds as days, hours, minutes, seconds and milliseconds. A day is 24 hours. */
518
+ durationParts(opts) {
519
+ return TemporalDuration.parts(opts);
520
+ }
521
+ /**
522
+ * A span of milliseconds written out: `compact` (the default) is `1d1h30m`; `narrow`, `short` and
523
+ * `long` use the locale's unit words. Zero units are left out and milliseconds dropped.
524
+ */
525
+ formatDuration(opts) {
526
+ const locale = opts.locale === undefined
527
+ ? this.locale
528
+ : TemporalHelper.ensureLocale({ locale: opts.locale });
529
+ return TemporalDuration.format({ milliseconds: opts.milliseconds, style: opts.style, locale });
530
+ }
321
531
  }
322
532
  //# sourceMappingURL=helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../../src/modules/temporal/helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../../src/modules/temporal/helper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import type { ITemporalParts } from './common/types.js';
2
+ /**
3
+ * Month and weekday names, the AM/PM marker and the written date of one locale, as `Intl` spells
4
+ * them. Every table is read once, on first use, from a fixed UTC date: the names belong to the
5
+ * calendar, not to a time zone, so the wall clock is formatted as if it were UTC.
6
+ */
7
+ export declare class TemporalLocale {
8
+ private static readonly locales;
9
+ private readonly locale;
10
+ private readonly tables;
11
+ private readonly formatters;
12
+ private constructor();
13
+ /** The locale's names; a malformed tag is a 400. */
14
+ static of(opts: {
15
+ locale: string;
16
+ }): TemporalLocale;
17
+ private formatterOf;
18
+ private tableOf;
19
+ /** `month` is 1-12. */
20
+ monthName(opts: {
21
+ month: number;
22
+ width: 'short' | 'long';
23
+ }): string;
24
+ /** `dayOfWeek` is ISO: 1 Monday - 7 Sunday. */
25
+ weekdayName(opts: {
26
+ dayOfWeek: number;
27
+ width: 'short' | 'long';
28
+ }): string;
29
+ /** The AM or PM marker the locale writes for `hour` (0-23), lower-cased by the locale's own rules when asked. */
30
+ dayPeriod(opts: {
31
+ hour: number;
32
+ isLowerCase?: boolean;
33
+ }): string;
34
+ /** The wall-clock date the way the locale writes it: `numeric` is `10/14/2026`, `long` is `October 14, 2026`. */
35
+ writtenDate(opts: {
36
+ parts: ITemporalParts;
37
+ style: 'numeric' | 'long';
38
+ }): string;
39
+ }
40
+ //# sourceMappingURL=locale.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale.d.ts","sourceRoot":"","sources":["../../../../src/modules/temporal/locale.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAarD;;;;GAIG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAqC;IAEpE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA0C;IAErE,OAAO;IAIP,oDAAoD;IACpD,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,cAAc;IA4BnD,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,OAAO;IAef,uBAAuB;IACvB,SAAS,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAA;KAAE,GAAG,MAAM;IAWnE,+CAA+C;IAC/C,WAAW,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAA;KAAE,GAAG,MAAM;IAWzE,iHAAiH;IACjH,SAAS,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM;IAchE,iHAAiH;IACjH,WAAW,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,cAAc,CAAC;QAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAAA;KAAE,GAAG,MAAM;CAWhF"}