@c9up/chronos 0.1.4 → 0.1.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"DateTime.d.ts","sourceRoot":"","sources":["../src/DateTime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DateTime.d.ts","sourceRoot":"","sources":["../src/DateTime.ts"],"names":[],"mappings":"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"}
package/dist/DateTime.js CHANGED
@@ -353,8 +353,14 @@ export class DateTime {
353
353
  s.setUTCMinutes(s.getUTCMinutes() + 1);
354
354
  break;
355
355
  }
356
- s.setUTCMilliseconds(s.getUTCMilliseconds() - 1); // last millisecond, not last second
357
- return new DateTime(nativeChronos().fromLocal(normalizeIso(s.toISOString()), this.#zone), this.#zone);
356
+ // `s` now holds the START of the next unit (whole second). Resolve it to
357
+ // a UTC instant in-zone, THEN step back one millisecond — doing the -1ms
358
+ // on the UTC side (exactly like the native UTC end_of) avoids handing
359
+ // `fromLocal` a fractional-second string, which its parser rejects
360
+ // (`…T23:59:59.999` → "Invalid naive datetime").
361
+ const nextStartUtc = nativeChronos().fromLocal(normalizeIso(s.toISOString()), this.#zone);
362
+ const endIso = new Date(new Date(nextStartUtc).getTime() - 1).toISOString();
363
+ return new DateTime(endIso, this.#zone);
358
364
  }
359
365
  return new DateTime(nativeChronos().endOf(this.#iso, unit), this.#zone);
360
366
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DateTime.js","sourceRoot":"","sources":["../src/DateTime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DateTime.js","sourceRoot":"","sources":["../src/DateTime.ts"],"names":[],"mappings":"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"}
@@ -75,12 +75,26 @@ export declare class Duration {
75
75
  * units — same caveat as `shiftTo`).
76
76
  */
77
77
  as(unit: DurationUnit): number;
78
- /** ISO 8601 duration string (`P1Y2M3DT4H5M6S`). */
78
+ /**
79
+ * ISO 8601 duration string (`P1Y2M3DT4H5M6S`). Always round-trips through
80
+ * {@link fromISO}.
81
+ *
82
+ * Two spec constraints are honoured: the week form (`PnW`) cannot mix with
83
+ * other designators — so weeks are emitted alone as `PnW`, otherwise folded
84
+ * into days; and durations are non-negative — a uniformly-negative duration
85
+ * (e.g. from {@link negate}) is emitted with a single leading `-` over
86
+ * absolute components, which `fromISO` parses back.
87
+ */
79
88
  toISO(): string;
80
89
  /**
81
90
  * Simple pattern format: `hh:mm:ss`, `HH:mm`, etc. Supported tokens:
82
91
  * `Y` (years), `M` (months), `d` (days), `h`/`hh` (hours), `m`/`mm`
83
92
  * (minutes), `s`/`ss` (seconds), `S`/`SSS` (milliseconds).
93
+ *
94
+ * Wrap literal text in square brackets so its letters aren't read as tokens:
95
+ * `"h [hours], m [min]"` → `"2 hours, 30 min"`. A single left-to-right scan
96
+ * (longest token first) means substituted values are never re-scanned and
97
+ * literal/overlapping text is left intact.
84
98
  */
85
99
  toFormat(pattern: string): string;
86
100
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Duration.d.ts","sourceRoot":"","sources":["../src/Duration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,cAAc;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC;AA4BhD,qBAAa,QAAQ;;IAGpB,OAAO;IAeP,gDAAgD;IAChD,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,cAAc,GAAG,QAAQ;IAIhD,+EAA+E;IAC/E,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ;IAIvC;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ;IAmCrC,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,MAAM,IAAI,MAAM,CAEnB;IACD,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,IAAI,IAAI,MAAM,CAEjB;IACD,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,OAAO,IAAI,MAAM,CAEpB;IACD,IAAI,OAAO,IAAI,MAAM,CAEpB;IACD,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,2BAA2B;IAC3B,GAAG,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM;IAI/B,iDAAiD;IACjD,QAAQ,IAAI,QAAQ,CAAC,cAAc,CAAC;IAMpC,4DAA4D;IAC5D,IAAI,CAAC,KAAK,EAAE,QAAQ,GAAG,cAAc,GAAG,QAAQ;IAchD,+CAA+C;IAC/C,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,cAAc,GAAG,QAAQ;IAcjD,mCAAmC;IACnC,MAAM,IAAI,QAAQ;IAelB;;;;;;;OAOG;IACH,SAAS,IAAI,QAAQ;IAuCrB;;;;;;;OAOG;IACH,OAAO,CAAC,GAAG,KAAK,EAAE,YAAY,EAAE,GAAG,QAAQ;IA2B3C;;;OAGG;IACH,EAAE,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM;IAU9B,mDAAmD;IACnD,KAAK,IAAI,MAAM;IAgBf;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAgBjC;;;OAGG;IACH,OAAO,IAAI,MAAM;IAoBjB,QAAQ,IAAI,MAAM;IAGlB,MAAM,IAAI,MAAM;CAGhB"}
1
+ {"version":3,"file":"Duration.d.ts","sourceRoot":"","sources":["../src/Duration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,cAAc;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC;AA4BhD,qBAAa,QAAQ;;IAGpB,OAAO;IAeP,gDAAgD;IAChD,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,cAAc,GAAG,QAAQ;IAIhD,+EAA+E;IAC/E,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ;IAIvC;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ;IA8CrC,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,MAAM,IAAI,MAAM,CAEnB;IACD,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,IAAI,IAAI,MAAM,CAEjB;IACD,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,OAAO,IAAI,MAAM,CAEpB;IACD,IAAI,OAAO,IAAI,MAAM,CAEpB;IACD,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,2BAA2B;IAC3B,GAAG,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM;IAI/B,iDAAiD;IACjD,QAAQ,IAAI,QAAQ,CAAC,cAAc,CAAC;IAMpC,4DAA4D;IAC5D,IAAI,CAAC,KAAK,EAAE,QAAQ,GAAG,cAAc,GAAG,QAAQ;IAchD,+CAA+C;IAC/C,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,cAAc,GAAG,QAAQ;IAcjD,mCAAmC;IACnC,MAAM,IAAI,QAAQ;IAelB;;;;;;;OAOG;IACH,SAAS,IAAI,QAAQ;IAuCrB;;;;;;;OAOG;IACH,OAAO,CAAC,GAAG,KAAK,EAAE,YAAY,EAAE,GAAG,QAAQ;IA2B3C;;;OAGG;IACH,EAAE,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM;IAU9B;;;;;;;;;OASG;IACH,KAAK,IAAI,MAAM;IAiCf;;;;;;;;;OASG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IA6CjC;;;OAGG;IACH,OAAO,IAAI,MAAM;IAoBjB,QAAQ,IAAI,MAAM;IAGlB,MAAM,IAAI,MAAM;CAGhB"}
package/dist/Duration.js CHANGED
@@ -63,23 +63,32 @@ export class Duration {
63
63
  * that cannot be mixed with other designators per the spec.
64
64
  */
65
65
  static fromISO(iso) {
66
- const s = iso.trim();
66
+ const trimmed = iso.trim();
67
+ // A leading '-' marks a negative duration (the extension toISO emits).
68
+ const negative = trimmed.startsWith("-P");
69
+ const s = negative ? trimmed.slice(1) : trimmed;
67
70
  if (!s.startsWith("P"))
68
71
  throw new Error(`Invalid ISO 8601 duration: ${iso}`);
72
+ const apply = (d) => (negative ? d.negate() : d);
69
73
  // Week form: P3W
70
74
  const weekMatch = /^P(\d+(?:\.\d+)?)W$/.exec(s);
71
75
  if (weekMatch) {
72
- return new Duration({ weeks: Number.parseFloat(weekMatch[1]) });
76
+ return apply(new Duration({ weeks: Number.parseFloat(weekMatch[1]) }));
73
77
  }
74
78
  const match = /^P(?:(\d+)Y)?(?:(\d+)M)?(?:(\d+)D)?(?:T(?:(\d+)H)?(?:(\d+)M)?(?:([\d.]+)S)?)?$/.exec(s);
75
79
  if (!match)
76
80
  throw new Error(`Invalid ISO 8601 duration: ${iso}`);
77
81
  const [, y, mo, d, h, mi, sec] = match;
82
+ // The all-optional regex also matches bare "P"/"PT" — a duration needs at
83
+ // least one component. An explicit zero ("PT0S", "P0D") still parses.
84
+ if (!y && !mo && !d && !h && !mi && !sec) {
85
+ throw new Error(`Invalid ISO 8601 duration: ${iso}`);
86
+ }
78
87
  const seconds = sec ? Math.floor(Number.parseFloat(sec)) : 0;
79
88
  const milliseconds = sec
80
89
  ? Math.round((Number.parseFloat(sec) - seconds) * 1000)
81
90
  : 0;
82
- return new Duration({
91
+ return apply(new Duration({
83
92
  years: y ? Number(y) : 0,
84
93
  months: mo ? Number(mo) : 0,
85
94
  days: d ? Number(d) : 0,
@@ -87,7 +96,7 @@ export class Duration {
87
96
  minutes: mi ? Number(mi) : 0,
88
97
  seconds,
89
98
  milliseconds,
90
- });
99
+ }));
91
100
  }
92
101
  // ─── Accessors ──────────────────────────────────────────
93
102
  get years() {
@@ -251,49 +260,107 @@ export class Duration {
251
260
  return totalMs / MS_PER[unit];
252
261
  }
253
262
  // ─── Formatting ─────────────────────────────────────────
254
- /** ISO 8601 duration string (`P1Y2M3DT4H5M6S`). */
263
+ /**
264
+ * ISO 8601 duration string (`P1Y2M3DT4H5M6S`). Always round-trips through
265
+ * {@link fromISO}.
266
+ *
267
+ * Two spec constraints are honoured: the week form (`PnW`) cannot mix with
268
+ * other designators — so weeks are emitted alone as `PnW`, otherwise folded
269
+ * into days; and durations are non-negative — a uniformly-negative duration
270
+ * (e.g. from {@link negate}) is emitted with a single leading `-` over
271
+ * absolute components, which `fromISO` parses back.
272
+ */
255
273
  toISO() {
256
274
  const v = this.#values;
275
+ const units = ORDERED_UNITS.map((u) => v[u]);
276
+ const negative = units.some((n) => n < 0) && units.every((n) => n <= 0);
277
+ const sign = negative ? "-" : "";
278
+ const a = (n) => (negative ? Math.abs(n) : n);
279
+ // Week form only when weeks is the sole unit; never combined with others.
280
+ const onlyWeeks = v.weeks !== 0 &&
281
+ v.years === 0 &&
282
+ v.months === 0 &&
283
+ v.days === 0 &&
284
+ v.hours === 0 &&
285
+ v.minutes === 0 &&
286
+ v.seconds === 0 &&
287
+ v.milliseconds === 0;
288
+ if (onlyWeeks)
289
+ return `${sign}P${a(v.weeks)}W`;
290
+ const days = v.days + v.weeks * 7;
257
291
  let date = "";
258
292
  if (v.years)
259
- date += `${v.years}Y`;
293
+ date += `${a(v.years)}Y`;
260
294
  if (v.months)
261
- date += `${v.months}M`;
262
- if (v.weeks)
263
- date += `${v.weeks}W`;
264
- if (v.days)
265
- date += `${v.days}D`;
295
+ date += `${a(v.months)}M`;
296
+ if (days)
297
+ date += `${a(days)}D`;
266
298
  let time = "";
267
299
  if (v.hours)
268
- time += `${v.hours}H`;
300
+ time += `${a(v.hours)}H`;
269
301
  if (v.minutes)
270
- time += `${v.minutes}M`;
302
+ time += `${a(v.minutes)}M`;
271
303
  const totalSec = v.seconds + v.milliseconds / 1000;
272
304
  if (totalSec)
273
- time += `${totalSec}S`;
305
+ time += `${a(totalSec)}S`;
274
306
  if (!date && !time)
275
307
  return "PT0S";
276
- return `P${date}${time ? `T${time}` : ""}`;
308
+ return `${sign}P${date}${time ? `T${time}` : ""}`;
277
309
  }
278
310
  /**
279
311
  * Simple pattern format: `hh:mm:ss`, `HH:mm`, etc. Supported tokens:
280
312
  * `Y` (years), `M` (months), `d` (days), `h`/`hh` (hours), `m`/`mm`
281
313
  * (minutes), `s`/`ss` (seconds), `S`/`SSS` (milliseconds).
314
+ *
315
+ * Wrap literal text in square brackets so its letters aren't read as tokens:
316
+ * `"h [hours], m [min]"` → `"2 hours, 30 min"`. A single left-to-right scan
317
+ * (longest token first) means substituted values are never re-scanned and
318
+ * literal/overlapping text is left intact.
282
319
  */
283
320
  toFormat(pattern) {
284
321
  const v = this.normalize().#values;
285
- return pattern
286
- .replace(/hh/g, String(v.hours).padStart(2, "0"))
287
- .replace(/mm/g, String(v.minutes).padStart(2, "0"))
288
- .replace(/ss/g, String(v.seconds).padStart(2, "0"))
289
- .replace(/SSS/g, String(v.milliseconds).padStart(3, "0"))
290
- .replace(/h/g, String(v.hours))
291
- .replace(/m/g, String(v.minutes))
292
- .replace(/s/g, String(v.seconds))
293
- .replace(/S/g, String(v.milliseconds))
294
- .replace(/Y/g, String(v.years))
295
- .replace(/M/g, String(v.months))
296
- .replace(/d/g, String(v.days));
322
+ const tokens = {
323
+ SSS: String(v.milliseconds).padStart(3, "0"),
324
+ hh: String(v.hours).padStart(2, "0"),
325
+ mm: String(v.minutes).padStart(2, "0"),
326
+ ss: String(v.seconds).padStart(2, "0"),
327
+ S: String(v.milliseconds),
328
+ h: String(v.hours),
329
+ m: String(v.minutes),
330
+ s: String(v.seconds),
331
+ Y: String(v.years),
332
+ M: String(v.months),
333
+ d: String(v.days),
334
+ };
335
+ const order = ["SSS", "hh", "mm", "ss", "S", "h", "m", "s", "Y", "M", "d"];
336
+ let out = "";
337
+ let i = 0;
338
+ while (i < pattern.length) {
339
+ if (pattern[i] === "[") {
340
+ i++;
341
+ while (i < pattern.length && pattern[i] !== "]") {
342
+ out += pattern[i];
343
+ i++;
344
+ }
345
+ if (i < pattern.length)
346
+ i++; // skip the closing ']'
347
+ continue;
348
+ }
349
+ let matched = false;
350
+ for (const key of order) {
351
+ if (pattern.startsWith(key, i)) {
352
+ out += tokens[key];
353
+ i += key.length;
354
+ matched = true;
355
+ break;
356
+ }
357
+ }
358
+ if (!matched) {
359
+ out += pattern[i];
360
+ i++;
361
+ }
362
+ }
363
+ return out;
297
364
  }
298
365
  /**
299
366
  * Human-readable form: "2 hours, 15 minutes". Uses English hardcoded —
@@ -1 +1 @@
1
- {"version":3,"file":"Duration.js","sourceRoot":"","sources":["../src/Duration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Duration.js","sourceRoot":"","sources":["../src/Duration.ts"],"names":[],"mappings":"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"}
Binary file
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@c9up/chronos",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "Chronos — advanced date/time and recurrence engine (TypeScript + Rust N-API)",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -21,13 +21,12 @@
21
21
  "README.md",
22
22
  "dist",
23
23
  "index.*.node",
24
- "index.d.ts",
25
- "index.js",
26
24
  "scripts",
27
25
  "src",
28
26
  "wasm"
29
27
  ],
30
28
  "devDependencies": {
29
+ "@biomejs/biome": "^2.4.10",
31
30
  "@types/node": "^22.19.15",
32
31
  "typescript": "^6.0.2",
33
32
  "vitest": "^4.1.2"
@@ -0,0 +1,27 @@
1
+ import { existsSync, statSync } from 'node:fs'
2
+ import { dirname, join } from 'node:path'
3
+ import { fileURLToPath } from 'node:url'
4
+
5
+ // Publish-time gate: the `wasm-pack build --target web` output (JS glue + the
6
+ // binary) MUST be in the package. Without it the browser loader
7
+ // (src/native.ts) throws CHRONOS_ENGINE_REQUIRED at runtime — exactly the
8
+ // "stub-only tarball" failure this gate exists to prevent. Only the hand-written
9
+ // `chronos_engine_wasm.d.ts` typecheck stub is committed; the .js/.wasm are built.
10
+
11
+ const here = dirname(fileURLToPath(import.meta.url))
12
+ const wasmDir = join(here, '..', 'wasm')
13
+
14
+ const required = ['chronos_engine_wasm.js', 'chronos_engine_wasm_bg.wasm']
15
+ for (const name of required) {
16
+ const p = join(wasmDir, name)
17
+ if (!existsSync(p)) {
18
+ throw new Error(
19
+ `[chronos:wasm] missing build artifact: wasm/${name} — run \`pnpm build:wasm\` (wasm-pack) before publishing`,
20
+ )
21
+ }
22
+ if (statSync(p).size === 0) {
23
+ throw new Error(`[chronos:wasm] empty build artifact: wasm/${name}`)
24
+ }
25
+ }
26
+
27
+ console.log('[chronos:wasm] browser artifacts present')
package/src/DateTime.ts CHANGED
@@ -453,11 +453,19 @@ export class DateTime {
453
453
  s.setUTCMinutes(s.getUTCMinutes() + 1);
454
454
  break;
455
455
  }
456
- s.setUTCMilliseconds(s.getUTCMilliseconds() - 1); // last millisecond, not last second
457
- return new DateTime(
458
- nativeChronos().fromLocal(normalizeIso(s.toISOString()), this.#zone),
456
+ // `s` now holds the START of the next unit (whole second). Resolve it to
457
+ // a UTC instant in-zone, THEN step back one millisecond — doing the -1ms
458
+ // on the UTC side (exactly like the native UTC end_of) avoids handing
459
+ // `fromLocal` a fractional-second string, which its parser rejects
460
+ // (`…T23:59:59.999` → "Invalid naive datetime").
461
+ const nextStartUtc = nativeChronos().fromLocal(
462
+ normalizeIso(s.toISOString()),
459
463
  this.#zone,
460
464
  );
465
+ const endIso = new Date(
466
+ new Date(nextStartUtc).getTime() - 1,
467
+ ).toISOString();
468
+ return new DateTime(endIso, this.#zone);
461
469
  }
462
470
  return new DateTime(nativeChronos().endOf(this.#iso, unit), this.#zone);
463
471
  }
package/src/Duration.ts CHANGED
@@ -84,14 +84,18 @@ export class Duration {
84
84
  * that cannot be mixed with other designators per the spec.
85
85
  */
86
86
  static fromISO(iso: string): Duration {
87
- const s = iso.trim();
87
+ const trimmed = iso.trim();
88
+ // A leading '-' marks a negative duration (the extension toISO emits).
89
+ const negative = trimmed.startsWith("-P");
90
+ const s = negative ? trimmed.slice(1) : trimmed;
88
91
  if (!s.startsWith("P"))
89
92
  throw new Error(`Invalid ISO 8601 duration: ${iso}`);
93
+ const apply = (d: Duration): Duration => (negative ? d.negate() : d);
90
94
 
91
95
  // Week form: P3W
92
96
  const weekMatch = /^P(\d+(?:\.\d+)?)W$/.exec(s);
93
97
  if (weekMatch) {
94
- return new Duration({ weeks: Number.parseFloat(weekMatch[1]) });
98
+ return apply(new Duration({ weeks: Number.parseFloat(weekMatch[1]) }));
95
99
  }
96
100
 
97
101
  const match =
@@ -101,19 +105,26 @@ export class Duration {
101
105
  if (!match) throw new Error(`Invalid ISO 8601 duration: ${iso}`);
102
106
 
103
107
  const [, y, mo, d, h, mi, sec] = match;
108
+ // The all-optional regex also matches bare "P"/"PT" — a duration needs at
109
+ // least one component. An explicit zero ("PT0S", "P0D") still parses.
110
+ if (!y && !mo && !d && !h && !mi && !sec) {
111
+ throw new Error(`Invalid ISO 8601 duration: ${iso}`);
112
+ }
104
113
  const seconds = sec ? Math.floor(Number.parseFloat(sec)) : 0;
105
114
  const milliseconds = sec
106
115
  ? Math.round((Number.parseFloat(sec) - seconds) * 1000)
107
116
  : 0;
108
- return new Duration({
109
- years: y ? Number(y) : 0,
110
- months: mo ? Number(mo) : 0,
111
- days: d ? Number(d) : 0,
112
- hours: h ? Number(h) : 0,
113
- minutes: mi ? Number(mi) : 0,
114
- seconds,
115
- milliseconds,
116
- });
117
+ return apply(
118
+ new Duration({
119
+ years: y ? Number(y) : 0,
120
+ months: mo ? Number(mo) : 0,
121
+ days: d ? Number(d) : 0,
122
+ hours: h ? Number(h) : 0,
123
+ minutes: mi ? Number(mi) : 0,
124
+ seconds,
125
+ milliseconds,
126
+ }),
127
+ );
117
128
  }
118
129
 
119
130
  // ─── Accessors ──────────────────────────────────────────
@@ -297,42 +308,102 @@ export class Duration {
297
308
 
298
309
  // ─── Formatting ─────────────────────────────────────────
299
310
 
300
- /** ISO 8601 duration string (`P1Y2M3DT4H5M6S`). */
311
+ /**
312
+ * ISO 8601 duration string (`P1Y2M3DT4H5M6S`). Always round-trips through
313
+ * {@link fromISO}.
314
+ *
315
+ * Two spec constraints are honoured: the week form (`PnW`) cannot mix with
316
+ * other designators — so weeks are emitted alone as `PnW`, otherwise folded
317
+ * into days; and durations are non-negative — a uniformly-negative duration
318
+ * (e.g. from {@link negate}) is emitted with a single leading `-` over
319
+ * absolute components, which `fromISO` parses back.
320
+ */
301
321
  toISO(): string {
302
322
  const v = this.#values;
323
+ const units = ORDERED_UNITS.map((u) => v[u]);
324
+ const negative = units.some((n) => n < 0) && units.every((n) => n <= 0);
325
+ const sign = negative ? "-" : "";
326
+ const a = (n: number): number => (negative ? Math.abs(n) : n);
327
+
328
+ // Week form only when weeks is the sole unit; never combined with others.
329
+ const onlyWeeks =
330
+ v.weeks !== 0 &&
331
+ v.years === 0 &&
332
+ v.months === 0 &&
333
+ v.days === 0 &&
334
+ v.hours === 0 &&
335
+ v.minutes === 0 &&
336
+ v.seconds === 0 &&
337
+ v.milliseconds === 0;
338
+ if (onlyWeeks) return `${sign}P${a(v.weeks)}W`;
339
+
340
+ const days = v.days + v.weeks * 7;
303
341
  let date = "";
304
- if (v.years) date += `${v.years}Y`;
305
- if (v.months) date += `${v.months}M`;
306
- if (v.weeks) date += `${v.weeks}W`;
307
- if (v.days) date += `${v.days}D`;
342
+ if (v.years) date += `${a(v.years)}Y`;
343
+ if (v.months) date += `${a(v.months)}M`;
344
+ if (days) date += `${a(days)}D`;
308
345
  let time = "";
309
- if (v.hours) time += `${v.hours}H`;
310
- if (v.minutes) time += `${v.minutes}M`;
346
+ if (v.hours) time += `${a(v.hours)}H`;
347
+ if (v.minutes) time += `${a(v.minutes)}M`;
311
348
  const totalSec = v.seconds + v.milliseconds / 1000;
312
- if (totalSec) time += `${totalSec}S`;
349
+ if (totalSec) time += `${a(totalSec)}S`;
313
350
  if (!date && !time) return "PT0S";
314
- return `P${date}${time ? `T${time}` : ""}`;
351
+ return `${sign}P${date}${time ? `T${time}` : ""}`;
315
352
  }
316
353
 
317
354
  /**
318
355
  * Simple pattern format: `hh:mm:ss`, `HH:mm`, etc. Supported tokens:
319
356
  * `Y` (years), `M` (months), `d` (days), `h`/`hh` (hours), `m`/`mm`
320
357
  * (minutes), `s`/`ss` (seconds), `S`/`SSS` (milliseconds).
358
+ *
359
+ * Wrap literal text in square brackets so its letters aren't read as tokens:
360
+ * `"h [hours], m [min]"` → `"2 hours, 30 min"`. A single left-to-right scan
361
+ * (longest token first) means substituted values are never re-scanned and
362
+ * literal/overlapping text is left intact.
321
363
  */
322
364
  toFormat(pattern: string): string {
323
365
  const v = this.normalize().#values;
324
- return pattern
325
- .replace(/hh/g, String(v.hours).padStart(2, "0"))
326
- .replace(/mm/g, String(v.minutes).padStart(2, "0"))
327
- .replace(/ss/g, String(v.seconds).padStart(2, "0"))
328
- .replace(/SSS/g, String(v.milliseconds).padStart(3, "0"))
329
- .replace(/h/g, String(v.hours))
330
- .replace(/m/g, String(v.minutes))
331
- .replace(/s/g, String(v.seconds))
332
- .replace(/S/g, String(v.milliseconds))
333
- .replace(/Y/g, String(v.years))
334
- .replace(/M/g, String(v.months))
335
- .replace(/d/g, String(v.days));
366
+ const tokens: Record<string, string> = {
367
+ SSS: String(v.milliseconds).padStart(3, "0"),
368
+ hh: String(v.hours).padStart(2, "0"),
369
+ mm: String(v.minutes).padStart(2, "0"),
370
+ ss: String(v.seconds).padStart(2, "0"),
371
+ S: String(v.milliseconds),
372
+ h: String(v.hours),
373
+ m: String(v.minutes),
374
+ s: String(v.seconds),
375
+ Y: String(v.years),
376
+ M: String(v.months),
377
+ d: String(v.days),
378
+ };
379
+ const order = ["SSS", "hh", "mm", "ss", "S", "h", "m", "s", "Y", "M", "d"];
380
+ let out = "";
381
+ let i = 0;
382
+ while (i < pattern.length) {
383
+ if (pattern[i] === "[") {
384
+ i++;
385
+ while (i < pattern.length && pattern[i] !== "]") {
386
+ out += pattern[i];
387
+ i++;
388
+ }
389
+ if (i < pattern.length) i++; // skip the closing ']'
390
+ continue;
391
+ }
392
+ let matched = false;
393
+ for (const key of order) {
394
+ if (pattern.startsWith(key, i)) {
395
+ out += tokens[key];
396
+ i += key.length;
397
+ matched = true;
398
+ break;
399
+ }
400
+ }
401
+ if (!matched) {
402
+ out += pattern[i];
403
+ i++;
404
+ }
405
+ }
406
+ return out;
336
407
  }
337
408
 
338
409
  /**
@@ -1,62 +0,0 @@
1
- /**
2
- * Type stub for the WASM module emitted by `wasm-pack build` during the
3
- * chronos release pipeline. The actual `.js` + `.wasm` artifacts are not
4
- * checked into the source tree; they live alongside this `.d.ts` at
5
- * publish time so the browser/edge fallback path in `src/native.ts`
6
- * resolves at runtime. The stub lets `tsc --noEmit` typecheck during
7
- * development without forcing every contributor to run `wasm-pack`.
8
- *
9
- * Signature mirrors the wasm-bindgen-generated `chronos_engine_wasm.js`,
10
- * preserving Rust snake_case names that `src/native.ts` adapts to the
11
- * camelCase `NativeChronos` interface.
12
- */
13
- export default function init(): Promise<unknown>;
14
- export function add(iso: string, amount: bigint, unit: string): string;
15
- export function diff(a: string, b: string, unit: string): bigint;
16
- export function start_of(iso: string, unit: string): string;
17
- export function end_of(iso: string, unit: string): string;
18
- export function format(iso: string, pattern: string): string;
19
- export function validate_timezone(zone: string): string;
20
- export function to_zone(
21
- iso: string,
22
- zone: string,
23
- ): { iso: string; offsetMinutes: number; zoneName: string };
24
- export function add_in_zone(
25
- iso: string,
26
- amount: bigint,
27
- unit: string,
28
- zone: string,
29
- ): string;
30
- export function diff_in_zone(
31
- a: string,
32
- b: string,
33
- unit: string,
34
- zone: string,
35
- ): bigint;
36
- export function zone_offset(iso: string, zone: string): number;
37
- export function from_local(naive: string, zone: string): string;
38
- export function parse_rfc2822(input: string): string;
39
- export function parse_sql(input: string): string;
40
- export function parse_http(input: string): string;
41
- export function rrule_expand(
42
- start: string,
43
- rrule: string,
44
- limit: number,
45
- ): string[];
46
- export function calendar_parts(iso: string): {
47
- year: number;
48
- month: number;
49
- day: number;
50
- hour: number;
51
- minute: number;
52
- second: number;
53
- millisecond: number;
54
- weekday: number;
55
- weekNumber: number;
56
- weekYear: number;
57
- ordinal: number;
58
- quarter: number;
59
- daysInMonth: number;
60
- daysInYear: number;
61
- isLeapYear: boolean;
62
- };