@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.
- package/dist/cjs/modules/error/index.d.ts +1 -1
- package/dist/cjs/modules/error/index.d.ts.map +1 -1
- package/dist/cjs/modules/error/index.js +2 -1
- package/dist/cjs/modules/error/index.js.map +1 -1
- package/dist/cjs/modules/temporal/adapters/index.d.ts +1 -0
- package/dist/cjs/modules/temporal/adapters/index.d.ts.map +1 -1
- package/dist/cjs/modules/temporal/adapters/index.js +1 -0
- package/dist/cjs/modules/temporal/adapters/index.js.map +1 -1
- package/dist/cjs/modules/temporal/adapters/intl.d.ts +16 -0
- package/dist/cjs/modules/temporal/adapters/intl.d.ts.map +1 -0
- package/dist/cjs/modules/temporal/adapters/intl.js +83 -0
- package/dist/cjs/modules/temporal/adapters/intl.js.map +1 -0
- package/dist/cjs/modules/temporal/common/constants.d.ts +12 -0
- package/dist/cjs/modules/temporal/common/constants.d.ts.map +1 -1
- package/dist/cjs/modules/temporal/common/constants.js +15 -1
- package/dist/cjs/modules/temporal/common/constants.js.map +1 -1
- package/dist/cjs/modules/temporal/common/types.d.ts +9 -0
- package/dist/cjs/modules/temporal/common/types.d.ts.map +1 -1
- package/dist/cjs/modules/temporal/duration.d.ts +19 -0
- package/dist/cjs/modules/temporal/duration.d.ts.map +1 -0
- package/dist/cjs/modules/temporal/duration.js +64 -0
- package/dist/cjs/modules/temporal/duration.js.map +1 -0
- package/dist/cjs/modules/temporal/helper.d.ts +90 -4
- package/dist/cjs/modules/temporal/helper.d.ts.map +1 -1
- package/dist/cjs/modules/temporal/helper.js +213 -3
- package/dist/cjs/modules/temporal/helper.js.map +1 -1
- package/dist/cjs/modules/temporal/locale.d.ts +40 -0
- package/dist/cjs/modules/temporal/locale.d.ts.map +1 -0
- package/dist/cjs/modules/temporal/locale.js +124 -0
- package/dist/cjs/modules/temporal/locale.js.map +1 -0
- package/dist/cjs/modules/temporal/pattern.d.ts +2 -0
- package/dist/cjs/modules/temporal/pattern.d.ts.map +1 -1
- package/dist/cjs/modules/temporal/pattern.js +15 -2
- package/dist/cjs/modules/temporal/pattern.js.map +1 -1
- package/dist/cjs/modules/temporal/tokens.d.ts +19 -6
- package/dist/cjs/modules/temporal/tokens.d.ts.map +1 -1
- package/dist/cjs/modules/temporal/tokens.js +49 -17
- package/dist/cjs/modules/temporal/tokens.js.map +1 -1
- package/dist/esm/modules/error/index.d.ts +1 -1
- package/dist/esm/modules/error/index.d.ts.map +1 -1
- package/dist/esm/modules/error/index.js +1 -1
- package/dist/esm/modules/error/index.js.map +1 -1
- package/dist/esm/modules/temporal/adapters/index.d.ts +1 -0
- package/dist/esm/modules/temporal/adapters/index.d.ts.map +1 -1
- package/dist/esm/modules/temporal/adapters/index.js +1 -0
- package/dist/esm/modules/temporal/adapters/index.js.map +1 -1
- package/dist/esm/modules/temporal/adapters/intl.d.ts +16 -0
- package/dist/esm/modules/temporal/adapters/intl.d.ts.map +1 -0
- package/dist/esm/modules/temporal/adapters/intl.js +79 -0
- package/dist/esm/modules/temporal/adapters/intl.js.map +1 -0
- package/dist/esm/modules/temporal/common/constants.d.ts +12 -0
- package/dist/esm/modules/temporal/common/constants.d.ts.map +1 -1
- package/dist/esm/modules/temporal/common/constants.js +13 -0
- package/dist/esm/modules/temporal/common/constants.js.map +1 -1
- package/dist/esm/modules/temporal/common/types.d.ts +9 -0
- package/dist/esm/modules/temporal/common/types.d.ts.map +1 -1
- package/dist/esm/modules/temporal/duration.d.ts +19 -0
- package/dist/esm/modules/temporal/duration.d.ts.map +1 -0
- package/dist/esm/modules/temporal/duration.js +60 -0
- package/dist/esm/modules/temporal/duration.js.map +1 -0
- package/dist/esm/modules/temporal/helper.d.ts +90 -4
- package/dist/esm/modules/temporal/helper.d.ts.map +1 -1
- package/dist/esm/modules/temporal/helper.js +215 -5
- package/dist/esm/modules/temporal/helper.js.map +1 -1
- package/dist/esm/modules/temporal/locale.d.ts +40 -0
- package/dist/esm/modules/temporal/locale.d.ts.map +1 -0
- package/dist/esm/modules/temporal/locale.js +120 -0
- package/dist/esm/modules/temporal/locale.js.map +1 -0
- package/dist/esm/modules/temporal/pattern.d.ts +2 -0
- package/dist/esm/modules/temporal/pattern.d.ts.map +1 -1
- package/dist/esm/modules/temporal/pattern.js +16 -3
- package/dist/esm/modules/temporal/pattern.js.map +1 -1
- package/dist/esm/modules/temporal/tokens.d.ts +19 -6
- package/dist/esm/modules/temporal/tokens.d.ts.map +1 -1
- package/dist/esm/modules/temporal/tokens.js +47 -16
- package/dist/esm/modules/temporal/tokens.js.map +1 -1
- 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
|
-
/**
|
|
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;
|
|
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.
|
|
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
|
-
/**
|
|
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"}
|