@c9up/chronos 0.1.8 → 0.1.10

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.
@@ -21,6 +21,12 @@ export interface DurationObject {
21
21
  export type DurationUnit = keyof DurationObject;
22
22
  export declare class Duration {
23
23
  #private;
24
+ /**
25
+ * Private because a Duration is only ever built through the named factories, which normalise the units.
26
+ *
27
+ * `private` and not `#`: a private CONSTRUCTOR has no native form. It is the
28
+ * one place the keyword expresses something `#` cannot.
29
+ */
24
30
  private constructor();
25
31
  /** Build from a plain object of unit values. */
26
32
  static fromObject(obj: DurationObject): Duration;
@@ -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;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"}
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;;;;;OAKG;IACH,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
@@ -34,6 +34,12 @@ const MS_PER = {
34
34
  };
35
35
  export class Duration {
36
36
  #values;
37
+ /**
38
+ * Private because a Duration is only ever built through the named factories, which normalise the units.
39
+ *
40
+ * `private` and not `#`: a private CONSTRUCTOR has no native form. It is the
41
+ * one place the keyword expresses something `#` cannot.
42
+ */
37
43
  constructor(values) {
38
44
  this.#values = {
39
45
  years: values.years ?? 0,
@@ -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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"}
@@ -11,6 +11,12 @@ import { type DateInput, DateTime, type DateUnit } from "./DateTime.js";
11
11
  import { Duration, type DurationUnit } from "./Duration.js";
12
12
  export declare class Interval {
13
13
  #private;
14
+ /**
15
+ * Private because an Interval is only ever built through the named factories, which validate the bounds.
16
+ *
17
+ * `private` and not `#`: a private CONSTRUCTOR has no native form. It is the
18
+ * one place the keyword expresses something `#` cannot.
19
+ */
14
20
  private constructor();
15
21
  /** Build from two `DateInput` values. Half-open: `[start, end)`. */
16
22
  static fromDateTimes(start: DateInput, end: DateInput): Interval;
@@ -1 +1 @@
1
- {"version":3,"file":"Interval.d.ts","sourceRoot":"","sources":["../src/Interval.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,KAAK,SAAS,EAAE,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAE5D,qBAAa,QAAQ;;IAIpB,OAAO;IAUP,oEAAoE;IACpE,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,GAAG,QAAQ;IAIhE,6CAA6C;IAC7C,MAAM,CAAC,KAAK,CACX,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,QAAQ,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,QAAQ,CAAA;KAAE,GACrD,QAAQ;IAgBX,IAAI,KAAK,IAAI,QAAQ,CAEpB;IACD,IAAI,GAAG,IAAI,QAAQ,CAElB;IAED,iEAAiE;IACjE,MAAM,CAAC,IAAI,GAAE,YAA6B,GAAG,MAAM;IAenD,6CAA6C;IAC7C,UAAU,IAAI,QAAQ;IAMtB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO;IAKhC,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO;IAIhC,yDAAyD;IACzD,OAAO,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO;IAI/B,4CAA4C;IAC5C,OAAO,IAAI,OAAO;IAMlB,2CAA2C;IAC3C,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAOlC,gDAAgD;IAChD,OAAO,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAOjC,2EAA2E;IAC3E,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAIpC,sDAAsD;IACtD,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAIlC,2DAA2D;IAC3D,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI;IAU9C,uFAAuF;IACvF,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI;IAoBvC,mFAAmF;IACnF,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,QAAQ,CAAA;KAAE,GAAG,QAAQ,EAAE;IAgC5E,6EAA6E;IAC7E,OAAO,CAAC,GAAG,GAAG,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE;IAuBxC,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE;CAGxC"}
1
+ {"version":3,"file":"Interval.d.ts","sourceRoot":"","sources":["../src/Interval.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,KAAK,SAAS,EAAE,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAE5D,qBAAa,QAAQ;;IAIpB;;;;;OAKG;IACH,OAAO;IAUP,oEAAoE;IACpE,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,GAAG,QAAQ;IAIhE,6CAA6C;IAC7C,MAAM,CAAC,KAAK,CACX,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,QAAQ,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,QAAQ,CAAA;KAAE,GACrD,QAAQ;IAgBX,IAAI,KAAK,IAAI,QAAQ,CAEpB;IACD,IAAI,GAAG,IAAI,QAAQ,CAElB;IAED,iEAAiE;IACjE,MAAM,CAAC,IAAI,GAAE,YAA6B,GAAG,MAAM;IAenD,6CAA6C;IAC7C,UAAU,IAAI,QAAQ;IAMtB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO;IAKhC,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO;IAIhC,yDAAyD;IACzD,OAAO,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO;IAI/B,4CAA4C;IAC5C,OAAO,IAAI,OAAO;IAMlB,2CAA2C;IAC3C,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAOlC,gDAAgD;IAChD,OAAO,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAOjC,2EAA2E;IAC3E,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAIpC,sDAAsD;IACtD,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAIlC,2DAA2D;IAC3D,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI;IAU9C,uFAAuF;IACvF,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI;IAoBvC,mFAAmF;IACnF,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,QAAQ,CAAA;KAAE,GAAG,QAAQ,EAAE;IAgC5E,6EAA6E;IAC7E,OAAO,CAAC,GAAG,GAAG,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE;IAuBxC,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE;CAGxC"}
package/dist/Interval.js CHANGED
@@ -12,6 +12,12 @@ import { Duration } from "./Duration.js";
12
12
  export class Interval {
13
13
  #start;
14
14
  #end;
15
+ /**
16
+ * Private because an Interval is only ever built through the named factories, which validate the bounds.
17
+ *
18
+ * `private` and not `#`: a private CONSTRUCTOR has no native form. It is the
19
+ * one place the keyword expresses something `#` cannot.
20
+ */
15
21
  constructor(start, end) {
16
22
  if (start.isAfter(end)) {
17
23
  throw new Error("Interval start must be <= end");
@@ -1 +1 @@
1
- {"version":3,"file":"Interval.js","sourceRoot":"","sources":["../src/Interval.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Interval.js","sourceRoot":"","sources":["../src/Interval.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ export interface CalendarPartsNapi {
2
+ year: number;
3
+ month: number;
4
+ day: number;
5
+ hour: number;
6
+ minute: number;
7
+ second: number;
8
+ millisecond: number;
9
+ weekday: number;
10
+ weekNumber: number;
11
+ weekYear: number;
12
+ ordinal: number;
13
+ quarter: number;
14
+ daysInMonth: number;
15
+ daysInYear: number;
16
+ isLeapYear: boolean;
17
+ }
18
+ export interface ZonedOutputNapi {
19
+ iso: string;
20
+ offsetMinutes: number;
21
+ zoneName: string;
22
+ }
23
+ export declare function add(iso: string, amount: number, unit: string): string;
24
+ export declare function diff(aIso: string, bIso: string, unit: string): number;
25
+ export declare function startOf(iso: string, unit: string): string;
26
+ export declare function endOf(iso: string, unit: string): string;
27
+ export declare function format(iso: string, pattern: string): string;
28
+ export declare function calendarParts(iso: string): CalendarPartsNapi;
29
+ export declare function validateTimezone(zone: string): string;
30
+ export declare function toZone(utcIso: string, zone: string): ZonedOutputNapi;
31
+ export declare function addInZone(utcIso: string, amount: number, unit: string, zone: string): string;
32
+ export declare function startOfInZone(utcIso: string, unit: string, zone: string): string;
33
+ export declare function endOfInZone(utcIso: string, unit: string, zone: string): string;
34
+ export declare function diffInZone(aUtc: string, bUtc: string, unit: string, zone: string): number;
35
+ export declare function zoneOffset(utcIso: string, zone: string): number;
36
+ export declare function fromLocal(naiveIso: string, zone: string): string;
37
+ export declare function parseRfc2822(input: string): string;
38
+ export declare function parseSql(input: string): string;
39
+ export declare function parseHttp(input: string): string;
40
+ export declare function rruleExpand(startIso: string, rrule: string, limit: number): Array<string>;
41
+ //# sourceMappingURL=generated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generated.d.ts","sourceRoot":"","sources":["../../src/native/generated.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ // GENERATED FROM THE RUST — do not edit.
2
+ //
3
+ // Produced by scripts/generate-napi-types.mjs from napi-derive's type-def
4
+ // output. Editing this file by hand puts it back where it started: a
5
+ // description that can disagree with the code it describes.
6
+ export {};
7
+ //# sourceMappingURL=generated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generated.js","sourceRoot":"","sources":["../../src/native/generated.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,0EAA0E;AAC1E,qEAAqE;AACrE,4DAA4D"}
package/dist/native.d.ts CHANGED
@@ -5,45 +5,16 @@
5
5
  * immediately. Chronos operations (timezone, DST, RFC 5545) are too complex
6
6
  * for a pure-TS fallback.
7
7
  */
8
- export interface NativeChronos {
9
- add(iso: string, amount: number, unit: string): string;
10
- diff(aIso: string, bIso: string, unit: string): number;
11
- startOf(iso: string, unit: string): string;
12
- endOf(iso: string, unit: string): string;
13
- format(iso: string, pattern: string): string;
14
- validateTimezone(zone: string): string;
15
- toZone(utcIso: string, zone: string): {
16
- iso: string;
17
- offsetMinutes: number;
18
- zoneName: string;
19
- };
20
- addInZone(utcIso: string, amount: number, unit: string, zone: string): string;
21
- startOfInZone(utcIso: string, unit: string, zone: string): string;
22
- endOfInZone(utcIso: string, unit: string, zone: string): string;
23
- diffInZone(aUtc: string, bUtc: string, unit: string, zone: string): number;
24
- zoneOffset(utcIso: string, zone: string): number;
25
- fromLocal(naiveIso: string, zone: string): string;
26
- parseRfc2822(input: string): string;
27
- parseSql(input: string): string;
28
- parseHttp(input: string): string;
29
- rruleExpand(startIso: string, rrule: string, limit: number): string[];
30
- calendarParts(iso: string): {
31
- year: number;
32
- month: number;
33
- day: number;
34
- hour: number;
35
- minute: number;
36
- second: number;
37
- millisecond: number;
38
- weekday: number;
39
- weekNumber: number;
40
- weekYear: number;
41
- ordinal: number;
42
- quarter: number;
43
- daysInMonth: number;
44
- daysInYear: number;
45
- isLeapYear: boolean;
46
- };
47
- }
8
+ /**
9
+ * The engine's surface, as the Rust declares it.
10
+ *
11
+ * Derived from `./native/generated.js` — written by `pnpm build:napi-types`
12
+ * from napi-derive's own `type-def` output — rather than restated here, where
13
+ * nothing would notice a `pub fn` gaining a parameter or changing its return.
14
+ *
15
+ * The WASM build is held to the same shape below, so the two engines cannot
16
+ * quietly diverge either: the browser glue has to export what the Rust does.
17
+ */
18
+ export type NativeChronos = typeof import("./native/generated.js");
48
19
  export declare function nativeChronos(): NativeChronos;
49
20
  //# sourceMappingURL=native.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../src/native.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,aAAa;IAC7B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACvD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACvD,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3C,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACzC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7C,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACvC,MAAM,CACL,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACV;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5D,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9E,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAClE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAChE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3E,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACjD,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAClD,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACtE,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG;QAC3B,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;KACpB,CAAC;CACF;AAuED,wBAAgB,aAAa,IAAI,aAAa,CAW7C"}
1
+ {"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../src/native.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG,cAAc,uBAAuB,CAAC,CAAC;AAuEnE,wBAAgB,aAAa,IAAI,aAAa,CAW7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"native.js","sourceRoot":"","sources":["../src/native.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native.js","sourceRoot":"","sources":["../src/native.ts"],"names":[],"mappings":"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"}
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@c9up/chronos",
3
- "version": "0.1.8",
3
+ "version": "0.1.10",
4
4
  "description": "Chronos — advanced date/time and recurrence engine (TypeScript + Rust N-API)",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -44,7 +44,8 @@
44
44
  "scripts": {
45
45
  "build": "tsc -p tsconfig.build.json",
46
46
  "build:rust": "cargo build --release",
47
- "build:napi": "cargo build --release && node scripts/copy-napi.mjs",
47
+ "build:napi": "cargo build --release && pnpm build:napi-types && node scripts/copy-napi.mjs",
48
+ "build:napi-types": "node scripts/build-napi-types.mjs",
48
49
  "test": "vitest run",
49
50
  "test:rust": "cargo test",
50
51
  "test:napi": "node scripts/verify-napi.mjs",
@@ -0,0 +1,68 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Regenerate `src/native/generated.ts` from the Rust.
4
+ *
5
+ * Node rather than a shell script because this runs inside `build:napi`, and
6
+ * that runs on the Windows prebuild runner too: a bash `mktemp` there hands
7
+ * cargo a `/tmp/...` path the native proc-macro cannot write to, so the
8
+ * type-def file comes back empty and the build fails for no visible reason.
9
+ *
10
+ * One crate at a time on purpose: napi-derive APPENDS to `TYPE_DEF_TMP_PATH`
11
+ * while cargo compiles, and a parallel build interleaves the writes —
12
+ * definitions go missing, silently, and the generated file comes out short.
13
+ */
14
+
15
+ import { execFileSync } from 'node:child_process'
16
+ import { createRequire } from 'node:module'
17
+ import { mkdtempSync, readFileSync, rmSync, writeFileSync } from 'node:fs'
18
+ import { tmpdir } from 'node:os'
19
+ import { dirname, join } from 'node:path'
20
+ import { fileURLToPath } from 'node:url'
21
+
22
+ const CRATES = ['chronos-engine-napi']
23
+
24
+ const packageRoot = join(dirname(fileURLToPath(import.meta.url)), '..')
25
+ const output = join('src', 'native', 'generated.ts')
26
+ const scratch = mkdtempSync(join(tmpdir(), 'napi-types-'))
27
+
28
+ try {
29
+ const lines = []
30
+ for (const crate of CRATES) {
31
+ const perCrate = join(scratch, `${crate}.jsonl`)
32
+ writeFileSync(perCrate, '')
33
+ execFileSync('cargo', ['build', '-p', crate], {
34
+ cwd: packageRoot,
35
+ env: { ...process.env, TYPE_DEF_TMP_PATH: perCrate },
36
+ stdio: ['ignore', 'ignore', 'inherit'],
37
+ })
38
+ const emitted = readFileSync(perCrate, 'utf8').split('\n').filter(Boolean)
39
+ if (emitted.length === 0) {
40
+ throw new Error(
41
+ `[napi-types] ${crate} emitted nothing — is napi-derive's "type-def" feature on?`,
42
+ )
43
+ }
44
+ lines.push(...emitted)
45
+ }
46
+
47
+ const combined = join(scratch, 'combined.jsonl')
48
+ writeFileSync(combined, `${lines.join('\n')}\n`)
49
+
50
+ execFileSync(
51
+ process.execPath,
52
+ [join('scripts', 'generate-napi-types.mjs'), combined, output],
53
+ { cwd: packageRoot, stdio: 'inherit' },
54
+ )
55
+
56
+ // Formatted here rather than excluded from the linter: the file is checked
57
+ // in, so it should read like the rest of the tree — and formatting it at
58
+ // generation means it never shows up as a diff someone has to fix by hand.
59
+ // Resolved through the package entry rather than `node_modules/.bin`, whose
60
+ // shim is a shell script the Windows runner cannot execute directly.
61
+ const biome = createRequire(import.meta.url).resolve('@biomejs/biome/bin/biome')
62
+ execFileSync(process.execPath, [biome, 'format', '--write', output], {
63
+ cwd: packageRoot,
64
+ stdio: ['ignore', 'ignore', 'inherit'],
65
+ })
66
+ } finally {
67
+ rmSync(scratch, { recursive: true, force: true })
68
+ }
@@ -0,0 +1,153 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Generate the TypeScript surface of the native module FROM the Rust.
4
+ *
5
+ * `napi-derive`'s `type-def` feature emits one JSON line per exported item
6
+ * while cargo compiles. Those lines are the source of truth: they are derived
7
+ * from the `#[napi]` items themselves, so a signature cannot drift from the
8
+ * Rust without this file changing.
9
+ *
10
+ * Hand-written interfaces are what this replaces, and they do drift — nothing
11
+ * on the TypeScript side notices when a `pub fn` gains a parameter or stops
12
+ * being `async`.
13
+ *
14
+ * One thing napi-rs cannot infer: the shape of a `JsFunction` callback. It
15
+ * emits `(...args: any[]) => any`. Any such parameter is refined below, by
16
+ * name, and the script fails if a refinement no longer matches anything — so
17
+ * the table cannot rot either.
18
+ *
19
+ * TYPE_DEF_TMP_PATH=<file> cargo build -p <crate>
20
+ * node scripts/generate-napi-types.mjs <file> <out.d.ts>
21
+ */
22
+
23
+ import { readFileSync, writeFileSync } from 'node:fs'
24
+
25
+ /**
26
+ * Callback signatures napi-rs erases to `any`, restored here.
27
+ *
28
+ * Keyed by `<owner>.<method>`; the value replaces the whole parameter. Every
29
+ * entry must match, or the script fails: a stale refinement is how a hand
30
+ * annotation quietly stops describing the Rust.
31
+ *
32
+ * Empty while this crate exposes no `JsFunction` parameter — add an entry the
33
+ * day one appears, rather than letting an `any` through.
34
+ */
35
+ const CALLBACK_REFINEMENTS = {}
36
+
37
+ const [input, output] = process.argv.slice(2)
38
+ if (!input || !output) {
39
+ console.error('usage: generate-napi-types.mjs <type-def file> <out.d.ts>')
40
+ process.exit(2)
41
+ }
42
+
43
+ const entries = readFileSync(input, 'utf8')
44
+ .split('\n')
45
+ .map((l) => l.trim())
46
+ .filter(Boolean)
47
+ .map((l) => JSON.parse(l))
48
+
49
+ const used = new Set()
50
+
51
+ /** Apply the refinements that belong to `owner`, tracking which ones matched. */
52
+ function refine(owner, body) {
53
+ let out = body
54
+ for (const [key, { from, to }] of Object.entries(CALLBACK_REFINEMENTS)) {
55
+ const [entryOwner] = key.split('.')
56
+ if (entryOwner !== owner) continue
57
+ if (out.includes(from)) {
58
+ out = out.replace(from, to)
59
+ used.add(key)
60
+ }
61
+ }
62
+ return out
63
+ }
64
+
65
+ /**
66
+ * JSDoc as emitted by napi-derive, indented to sit above its member.
67
+ *
68
+ * `*` followed by `/` inside the text closes the comment early — a Rust doc
69
+ * example holding a cron expression (`0 *​/5 * * *`) is enough to do it, and
70
+ * the generated file then fails to parse. Escaped rather than stripped, so the
71
+ * example still reads correctly.
72
+ */
73
+ function docBlock(doc, indent = '') {
74
+ if (!doc) return ''
75
+ // Escape every `*/` EXCEPT the one that closes the block. A Rust doc example
76
+ // holding a cron expression (`0 */5 * * *`) closes the comment early
77
+ // otherwise, and the generated file stops parsing — but escaping the closer
78
+ // too breaks it just as thoroughly, whether the block spans one line or many.
79
+ const closer = doc.lastIndexOf('*/')
80
+ const escaped =
81
+ closer === -1
82
+ ? doc
83
+ : doc.slice(0, closer).replaceAll('*/', '*\\/') + doc.slice(closer)
84
+ return (
85
+ escaped
86
+ .split('\n')
87
+ .filter((l) => l.length > 0)
88
+ .map((l) => `${indent}${l}`)
89
+ .join('\n') + '\n'
90
+ )
91
+ }
92
+
93
+ const interfaces = entries.filter((e) => e.kind === 'interface')
94
+ const structs = entries.filter((e) => e.kind === 'struct')
95
+ const impls = new Map(entries.filter((e) => e.kind === 'impl').map((e) => [e.name, e]))
96
+ const fns = entries.filter((e) => e.kind === 'fn')
97
+
98
+ const out = [
99
+ '// GENERATED FROM THE RUST — do not edit.',
100
+ '//',
101
+ "// Produced by scripts/generate-napi-types.mjs from napi-derive's type-def",
102
+ '// output. Editing this file by hand puts it back where it started: a',
103
+ '// description that can disagree with the code it describes.',
104
+ '',
105
+ ]
106
+
107
+ for (const iface of interfaces) {
108
+ out.push(docBlock(iface.js_doc))
109
+ out.push(`export interface ${iface.name} {`)
110
+ for (const line of iface.def.split('\n')) {
111
+ out.push(line ? ` ${line.trim()}` : '')
112
+ }
113
+ out.push('}', '')
114
+ }
115
+
116
+ for (const struct of structs) {
117
+ const impl = impls.get(struct.name)
118
+ out.push(docBlock(struct.js_doc))
119
+ out.push(`export declare class ${struct.name} {`)
120
+ if (impl) {
121
+ for (const line of refine(struct.name, impl.def).split('\n')) {
122
+ out.push(line ? ` ${line.trim()}` : '')
123
+ }
124
+ }
125
+ out.push('}', '')
126
+ }
127
+
128
+ for (const fn of fns) {
129
+ out.push(docBlock(fn.js_doc))
130
+ // napi-derive emits the whole declaration for a function, unlike a struct
131
+ // where `def` holds only the members.
132
+ const declaration = fn.def.trim()
133
+ out.push(
134
+ declaration.startsWith('export declare function')
135
+ ? `${declaration};`
136
+ : `export declare function ${fn.name}${declaration};`,
137
+ '',
138
+ )
139
+ }
140
+
141
+ const stale = Object.keys(CALLBACK_REFINEMENTS).filter((k) => !used.has(k))
142
+ if (stale.length > 0) {
143
+ console.error(
144
+ `[napi-types] refinement(s) that matched nothing: ${stale.join(', ')}\n` +
145
+ '[napi-types] the Rust changed under them — update or remove the entry.',
146
+ )
147
+ process.exit(1)
148
+ }
149
+
150
+ writeFileSync(output, out.join('\n'))
151
+ console.log(
152
+ `[napi-types] ${output} — ${interfaces.length} interface(s), ${structs.length} class(es), ${fns.length} function(s)`,
153
+ )
package/src/Duration.ts CHANGED
@@ -51,6 +51,12 @@ const MS_PER: Record<DurationUnit, number> = {
51
51
  export class Duration {
52
52
  readonly #values: Readonly<Required<DurationObject>>;
53
53
 
54
+ /**
55
+ * Private because a Duration is only ever built through the named factories, which normalise the units.
56
+ *
57
+ * `private` and not `#`: a private CONSTRUCTOR has no native form. It is the
58
+ * one place the keyword expresses something `#` cannot.
59
+ */
54
60
  private constructor(values: DurationObject) {
55
61
  this.#values = {
56
62
  years: values.years ?? 0,
package/src/Interval.ts CHANGED
@@ -14,6 +14,12 @@ export class Interval {
14
14
  readonly #start: DateTime;
15
15
  readonly #end: DateTime;
16
16
 
17
+ /**
18
+ * Private because an Interval is only ever built through the named factories, which validate the bounds.
19
+ *
20
+ * `private` and not `#`: a private CONSTRUCTOR has no native form. It is the
21
+ * one place the keyword expresses something `#` cannot.
22
+ */
17
23
  private constructor(start: DateTime, end: DateTime) {
18
24
  if (start.isAfter(end)) {
19
25
  throw new Error("Interval start must be <= end");
@@ -0,0 +1,87 @@
1
+ // GENERATED FROM THE RUST — do not edit.
2
+ //
3
+ // Produced by scripts/generate-napi-types.mjs from napi-derive's type-def
4
+ // output. Editing this file by hand puts it back where it started: a
5
+ // description that can disagree with the code it describes.
6
+
7
+ export interface CalendarPartsNapi {
8
+ year: number;
9
+ month: number;
10
+ day: number;
11
+ hour: number;
12
+ minute: number;
13
+ second: number;
14
+ millisecond: number;
15
+ weekday: number;
16
+ weekNumber: number;
17
+ weekYear: number;
18
+ ordinal: number;
19
+ quarter: number;
20
+ daysInMonth: number;
21
+ daysInYear: number;
22
+ isLeapYear: boolean;
23
+ }
24
+
25
+ export interface ZonedOutputNapi {
26
+ iso: string;
27
+ offsetMinutes: number;
28
+ zoneName: string;
29
+ }
30
+
31
+ export declare function add(iso: string, amount: number, unit: string): string;
32
+
33
+ export declare function diff(aIso: string, bIso: string, unit: string): number;
34
+
35
+ export declare function startOf(iso: string, unit: string): string;
36
+
37
+ export declare function endOf(iso: string, unit: string): string;
38
+
39
+ export declare function format(iso: string, pattern: string): string;
40
+
41
+ export declare function calendarParts(iso: string): CalendarPartsNapi;
42
+
43
+ export declare function validateTimezone(zone: string): string;
44
+
45
+ export declare function toZone(utcIso: string, zone: string): ZonedOutputNapi;
46
+
47
+ export declare function addInZone(
48
+ utcIso: string,
49
+ amount: number,
50
+ unit: string,
51
+ zone: string,
52
+ ): string;
53
+
54
+ export declare function startOfInZone(
55
+ utcIso: string,
56
+ unit: string,
57
+ zone: string,
58
+ ): string;
59
+
60
+ export declare function endOfInZone(
61
+ utcIso: string,
62
+ unit: string,
63
+ zone: string,
64
+ ): string;
65
+
66
+ export declare function diffInZone(
67
+ aUtc: string,
68
+ bUtc: string,
69
+ unit: string,
70
+ zone: string,
71
+ ): number;
72
+
73
+ export declare function zoneOffset(utcIso: string, zone: string): number;
74
+
75
+ export declare function fromLocal(naiveIso: string, zone: string): string;
76
+
77
+ export declare function parseRfc2822(input: string): string;
78
+
79
+ export declare function parseSql(input: string): string;
80
+
81
+ export declare function parseHttp(input: string): string;
82
+
83
+ export declare function rruleExpand(
84
+ startIso: string,
85
+ rrule: string,
86
+ limit: number,
87
+ ): Array<string>;
package/src/native.ts CHANGED
@@ -6,45 +6,17 @@
6
6
  * for a pure-TS fallback.
7
7
  */
8
8
 
9
- export interface NativeChronos {
10
- add(iso: string, amount: number, unit: string): string;
11
- diff(aIso: string, bIso: string, unit: string): number;
12
- startOf(iso: string, unit: string): string;
13
- endOf(iso: string, unit: string): string;
14
- format(iso: string, pattern: string): string;
15
- validateTimezone(zone: string): string;
16
- toZone(
17
- utcIso: string,
18
- zone: string,
19
- ): { iso: string; offsetMinutes: number; zoneName: string };
20
- addInZone(utcIso: string, amount: number, unit: string, zone: string): string;
21
- startOfInZone(utcIso: string, unit: string, zone: string): string;
22
- endOfInZone(utcIso: string, unit: string, zone: string): string;
23
- diffInZone(aUtc: string, bUtc: string, unit: string, zone: string): number;
24
- zoneOffset(utcIso: string, zone: string): number;
25
- fromLocal(naiveIso: string, zone: string): string;
26
- parseRfc2822(input: string): string;
27
- parseSql(input: string): string;
28
- parseHttp(input: string): string;
29
- rruleExpand(startIso: string, rrule: string, limit: number): string[];
30
- calendarParts(iso: string): {
31
- year: number;
32
- month: number;
33
- day: number;
34
- hour: number;
35
- minute: number;
36
- second: number;
37
- millisecond: number;
38
- weekday: number;
39
- weekNumber: number;
40
- weekYear: number;
41
- ordinal: number;
42
- quarter: number;
43
- daysInMonth: number;
44
- daysInYear: number;
45
- isLeapYear: boolean;
46
- };
47
- }
9
+ /**
10
+ * The engine's surface, as the Rust declares it.
11
+ *
12
+ * Derived from `./native/generated.js` — written by `pnpm build:napi-types`
13
+ * from napi-derive's own `type-def` output — rather than restated here, where
14
+ * nothing would notice a `pub fn` gaining a parameter or changing its return.
15
+ *
16
+ * The WASM build is held to the same shape below, so the two engines cannot
17
+ * quietly diverge either: the browser glue has to export what the Rust does.
18
+ */
19
+ export type NativeChronos = typeof import("./native/generated.js");
48
20
 
49
21
  let native: NativeChronos | undefined;
50
22
  let loadError: unknown;