@matter/general 0.16.0-alpha.0-20250817-1b000357c → 0.16.0-alpha.0-20250820-24939dd26

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 (193) hide show
  1. package/dist/cjs/codec/DnsCodec.d.ts +8 -6
  2. package/dist/cjs/codec/DnsCodec.d.ts.map +1 -1
  3. package/dist/cjs/codec/DnsCodec.js +10 -7
  4. package/dist/cjs/codec/DnsCodec.js.map +1 -1
  5. package/dist/cjs/crypto/Crypto.d.ts +32 -36
  6. package/dist/cjs/crypto/Crypto.d.ts.map +1 -1
  7. package/dist/cjs/environment/Environment.d.ts.map +1 -1
  8. package/dist/cjs/environment/Environment.js +2 -1
  9. package/dist/cjs/environment/Environment.js.map +1 -1
  10. package/dist/cjs/log/Diagnostic.d.ts +4 -6
  11. package/dist/cjs/log/Diagnostic.d.ts.map +1 -1
  12. package/dist/cjs/log/Diagnostic.js +6 -26
  13. package/dist/cjs/log/Diagnostic.js.map +1 -1
  14. package/dist/cjs/log/Logger.js +1 -1
  15. package/dist/cjs/log/Logger.js.map +1 -1
  16. package/dist/cjs/net/RetrySchedule.d.ts +10 -11
  17. package/dist/cjs/net/RetrySchedule.d.ts.map +1 -1
  18. package/dist/cjs/net/RetrySchedule.js +8 -7
  19. package/dist/cjs/net/RetrySchedule.js.map +1 -1
  20. package/dist/cjs/net/ServerAddress.d.ts +15 -4
  21. package/dist/cjs/net/ServerAddress.d.ts.map +1 -1
  22. package/dist/cjs/net/ServerAddress.js +33 -3
  23. package/dist/cjs/net/ServerAddress.js.map +2 -2
  24. package/dist/cjs/net/UdpMulticastServer.d.ts.map +1 -1
  25. package/dist/cjs/net/UdpMulticastServer.js +2 -1
  26. package/dist/cjs/net/UdpMulticastServer.js.map +1 -1
  27. package/dist/cjs/storage/StringifyTools.d.ts +2 -1
  28. package/dist/cjs/storage/StringifyTools.d.ts.map +1 -1
  29. package/dist/cjs/storage/StringifyTools.js +3 -0
  30. package/dist/cjs/storage/StringifyTools.js.map +1 -1
  31. package/dist/cjs/time/Duration.d.ts +47 -0
  32. package/dist/cjs/time/Duration.d.ts.map +1 -0
  33. package/dist/cjs/time/Duration.js +145 -0
  34. package/dist/cjs/time/Duration.js.map +6 -0
  35. package/dist/cjs/time/Time.d.ts +21 -19
  36. package/dist/cjs/time/Time.d.ts.map +1 -1
  37. package/dist/cjs/time/Time.js +44 -33
  38. package/dist/cjs/time/Time.js.map +1 -1
  39. package/dist/cjs/time/TimeUnit.d.ts +87 -0
  40. package/dist/cjs/time/TimeUnit.d.ts.map +1 -0
  41. package/dist/cjs/time/TimeUnit.js +88 -0
  42. package/dist/cjs/time/TimeUnit.js.map +6 -0
  43. package/dist/cjs/time/Timespan.d.ts +26 -0
  44. package/dist/cjs/time/Timespan.d.ts.map +1 -0
  45. package/dist/cjs/time/Timespan.js +52 -0
  46. package/dist/cjs/time/Timespan.js.map +6 -0
  47. package/dist/cjs/time/Timestamp.d.ts +47 -0
  48. package/dist/cjs/time/Timestamp.d.ts.map +1 -0
  49. package/dist/cjs/time/Timestamp.js +78 -0
  50. package/dist/cjs/time/Timestamp.js.map +6 -0
  51. package/dist/cjs/time/index.d.ts +4 -0
  52. package/dist/cjs/time/index.d.ts.map +1 -1
  53. package/dist/cjs/time/index.js +4 -0
  54. package/dist/cjs/time/index.js.map +1 -1
  55. package/dist/cjs/transaction/Status.d.ts +1 -1
  56. package/dist/cjs/transaction/Status.d.ts.map +1 -1
  57. package/dist/cjs/transaction/Status.js +2 -1
  58. package/dist/cjs/transaction/Status.js.map +1 -1
  59. package/dist/cjs/transaction/Tx.d.ts.map +1 -1
  60. package/dist/cjs/transaction/Tx.js +10 -8
  61. package/dist/cjs/transaction/Tx.js.map +1 -1
  62. package/dist/cjs/util/Cache.d.ts +5 -4
  63. package/dist/cjs/util/Cache.d.ts.map +1 -1
  64. package/dist/cjs/util/Cache.js +11 -11
  65. package/dist/cjs/util/Cache.js.map +1 -1
  66. package/dist/cjs/util/DataReadQueue.d.ts +2 -1
  67. package/dist/cjs/util/DataReadQueue.d.ts.map +1 -1
  68. package/dist/cjs/util/DataReadQueue.js +9 -3
  69. package/dist/cjs/util/DataReadQueue.js.map +1 -1
  70. package/dist/cjs/util/DeepEqual.d.ts +13 -1
  71. package/dist/cjs/util/DeepEqual.d.ts.map +1 -1
  72. package/dist/cjs/util/DeepEqual.js +24 -5
  73. package/dist/cjs/util/DeepEqual.js.map +2 -2
  74. package/dist/cjs/util/Observable.d.ts +4 -3
  75. package/dist/cjs/util/Observable.d.ts.map +1 -1
  76. package/dist/cjs/util/Observable.js +16 -15
  77. package/dist/cjs/util/Observable.js.map +1 -1
  78. package/dist/cjs/util/PromiseQueue.d.ts +2 -1
  79. package/dist/cjs/util/PromiseQueue.d.ts.map +1 -1
  80. package/dist/cjs/util/PromiseQueue.js +2 -1
  81. package/dist/cjs/util/PromiseQueue.js.map +1 -1
  82. package/dist/cjs/util/Promises.d.ts +3 -2
  83. package/dist/cjs/util/Promises.d.ts.map +1 -1
  84. package/dist/cjs/util/Promises.js +4 -4
  85. package/dist/cjs/util/Promises.js.map +1 -1
  86. package/dist/esm/codec/DnsCodec.d.ts +8 -6
  87. package/dist/esm/codec/DnsCodec.d.ts.map +1 -1
  88. package/dist/esm/codec/DnsCodec.js +10 -7
  89. package/dist/esm/codec/DnsCodec.js.map +1 -1
  90. package/dist/esm/crypto/Crypto.d.ts +32 -36
  91. package/dist/esm/crypto/Crypto.d.ts.map +1 -1
  92. package/dist/esm/environment/Environment.d.ts.map +1 -1
  93. package/dist/esm/environment/Environment.js +2 -1
  94. package/dist/esm/environment/Environment.js.map +1 -1
  95. package/dist/esm/log/Diagnostic.d.ts +4 -6
  96. package/dist/esm/log/Diagnostic.d.ts.map +1 -1
  97. package/dist/esm/log/Diagnostic.js +6 -26
  98. package/dist/esm/log/Diagnostic.js.map +1 -1
  99. package/dist/esm/log/Logger.js +1 -1
  100. package/dist/esm/log/Logger.js.map +1 -1
  101. package/dist/esm/net/RetrySchedule.d.ts +10 -11
  102. package/dist/esm/net/RetrySchedule.d.ts.map +1 -1
  103. package/dist/esm/net/RetrySchedule.js +8 -7
  104. package/dist/esm/net/RetrySchedule.js.map +1 -1
  105. package/dist/esm/net/ServerAddress.d.ts +15 -4
  106. package/dist/esm/net/ServerAddress.d.ts.map +1 -1
  107. package/dist/esm/net/ServerAddress.js +33 -3
  108. package/dist/esm/net/ServerAddress.js.map +2 -2
  109. package/dist/esm/net/UdpMulticastServer.d.ts.map +1 -1
  110. package/dist/esm/net/UdpMulticastServer.js +2 -1
  111. package/dist/esm/net/UdpMulticastServer.js.map +1 -1
  112. package/dist/esm/storage/StringifyTools.d.ts +2 -1
  113. package/dist/esm/storage/StringifyTools.d.ts.map +1 -1
  114. package/dist/esm/storage/StringifyTools.js +3 -0
  115. package/dist/esm/storage/StringifyTools.js.map +1 -1
  116. package/dist/esm/time/Duration.d.ts +47 -0
  117. package/dist/esm/time/Duration.d.ts.map +1 -0
  118. package/dist/esm/time/Duration.js +125 -0
  119. package/dist/esm/time/Duration.js.map +6 -0
  120. package/dist/esm/time/Time.d.ts +21 -19
  121. package/dist/esm/time/Time.d.ts.map +1 -1
  122. package/dist/esm/time/Time.js +44 -33
  123. package/dist/esm/time/Time.js.map +1 -1
  124. package/dist/esm/time/TimeUnit.d.ts +87 -0
  125. package/dist/esm/time/TimeUnit.d.ts.map +1 -0
  126. package/dist/esm/time/TimeUnit.js +68 -0
  127. package/dist/esm/time/TimeUnit.js.map +6 -0
  128. package/dist/esm/time/Timespan.d.ts +26 -0
  129. package/dist/esm/time/Timespan.d.ts.map +1 -0
  130. package/dist/esm/time/Timespan.js +32 -0
  131. package/dist/esm/time/Timespan.js.map +6 -0
  132. package/dist/esm/time/Timestamp.d.ts +47 -0
  133. package/dist/esm/time/Timestamp.d.ts.map +1 -0
  134. package/dist/esm/time/Timestamp.js +58 -0
  135. package/dist/esm/time/Timestamp.js.map +6 -0
  136. package/dist/esm/time/index.d.ts +4 -0
  137. package/dist/esm/time/index.d.ts.map +1 -1
  138. package/dist/esm/time/index.js +4 -0
  139. package/dist/esm/time/index.js.map +1 -1
  140. package/dist/esm/transaction/Status.d.ts +1 -1
  141. package/dist/esm/transaction/Status.d.ts.map +1 -1
  142. package/dist/esm/transaction/Status.js +2 -1
  143. package/dist/esm/transaction/Status.js.map +1 -1
  144. package/dist/esm/transaction/Tx.d.ts.map +1 -1
  145. package/dist/esm/transaction/Tx.js +10 -8
  146. package/dist/esm/transaction/Tx.js.map +1 -1
  147. package/dist/esm/util/Cache.d.ts +5 -4
  148. package/dist/esm/util/Cache.d.ts.map +1 -1
  149. package/dist/esm/util/Cache.js +11 -11
  150. package/dist/esm/util/Cache.js.map +1 -1
  151. package/dist/esm/util/DataReadQueue.d.ts +2 -1
  152. package/dist/esm/util/DataReadQueue.d.ts.map +1 -1
  153. package/dist/esm/util/DataReadQueue.js +9 -3
  154. package/dist/esm/util/DataReadQueue.js.map +1 -1
  155. package/dist/esm/util/DeepEqual.d.ts +13 -1
  156. package/dist/esm/util/DeepEqual.d.ts.map +1 -1
  157. package/dist/esm/util/DeepEqual.js +24 -5
  158. package/dist/esm/util/DeepEqual.js.map +2 -2
  159. package/dist/esm/util/Observable.d.ts +4 -3
  160. package/dist/esm/util/Observable.d.ts.map +1 -1
  161. package/dist/esm/util/Observable.js +16 -15
  162. package/dist/esm/util/Observable.js.map +1 -1
  163. package/dist/esm/util/PromiseQueue.d.ts +2 -1
  164. package/dist/esm/util/PromiseQueue.d.ts.map +1 -1
  165. package/dist/esm/util/PromiseQueue.js +2 -1
  166. package/dist/esm/util/PromiseQueue.js.map +1 -1
  167. package/dist/esm/util/Promises.d.ts +3 -2
  168. package/dist/esm/util/Promises.d.ts.map +1 -1
  169. package/dist/esm/util/Promises.js +4 -4
  170. package/dist/esm/util/Promises.js.map +1 -1
  171. package/package.json +3 -3
  172. package/src/codec/DnsCodec.ts +27 -8
  173. package/src/environment/Environment.ts +2 -1
  174. package/src/log/Diagnostic.ts +9 -37
  175. package/src/log/Logger.ts +1 -1
  176. package/src/net/RetrySchedule.ts +14 -14
  177. package/src/net/ServerAddress.ts +44 -5
  178. package/src/net/UdpMulticastServer.ts +2 -1
  179. package/src/storage/StringifyTools.ts +5 -0
  180. package/src/time/Duration.ts +181 -0
  181. package/src/time/Time.ts +50 -39
  182. package/src/time/TimeUnit.ts +159 -0
  183. package/src/time/Timespan.ts +52 -0
  184. package/src/time/Timestamp.ts +94 -0
  185. package/src/time/index.ts +4 -0
  186. package/src/transaction/Status.ts +2 -1
  187. package/src/transaction/Tx.ts +9 -7
  188. package/src/util/Cache.ts +11 -10
  189. package/src/util/DataReadQueue.ts +9 -3
  190. package/src/util/DeepEqual.ts +38 -13
  191. package/src/util/Observable.ts +19 -17
  192. package/src/util/PromiseQueue.ts +4 -2
  193. package/src/util/Promises.ts +6 -5
@@ -5,6 +5,8 @@
5
5
  */
6
6
  import { CancelablePromise } from "#util/Cancelable.js";
7
7
  import { Diagnostic } from "../log/Diagnostic.js";
8
+ import { Duration } from "./Duration.js";
9
+ import type { Timestamp } from "./Timestamp.js";
8
10
  /**
9
11
  * Timer and date/time management interface.
10
12
  *
@@ -12,32 +14,32 @@ import { Diagnostic } from "../log/Diagnostic.js";
12
14
  * environment.
13
15
  */
14
16
  export declare class Time {
15
- static get: () => Time;
17
+ static default: Time;
16
18
  static startup: {
17
- systemMs: number;
18
- processMs: number;
19
+ systemMs: Timestamp;
20
+ processMs: Timestamp;
19
21
  };
20
- now(): Date;
21
- static readonly now: () => Date;
22
- nowMs(): number;
23
- static readonly nowMs: () => number;
24
- nowUs(): number;
25
- static readonly nowUs: () => number;
22
+ get now(): Date;
23
+ static get now(): Date;
24
+ get nowMs(): number;
25
+ static get nowMs(): Timestamp;
26
+ get nowUs(): Timestamp;
27
+ static get nowUs(): Timestamp;
26
28
  /**
27
29
  * Create a timer that will call callback after durationMs has passed.
28
30
  */
29
- getTimer(name: string, durationMs: number, callback: Timer.Callback): Timer;
30
- static readonly getTimer: (name: string, durationMs: number, callback: Timer.Callback) => Timer;
31
+ getTimer(name: string, duration: Duration, callback: Timer.Callback): Timer;
32
+ static readonly getTimer: (name: string, duration: Duration, callback: Timer.Callback) => Timer;
31
33
  /**
32
34
  * Create a timer that will periodically call callback at intervalMs intervals.
33
35
  */
34
- getPeriodicTimer(name: string, intervalMs: number, callback: Timer.Callback): Timer;
35
- static readonly getPeriodicTimer: (name: string, intervalMs: number, callback: Timer.Callback) => Timer;
36
+ getPeriodicTimer(name: string, duration: Duration, callback: Timer.Callback): Timer;
37
+ static readonly getPeriodicTimer: (name: string, duration: Duration, callback: Timer.Callback) => Timer;
36
38
  /**
37
39
  * Create a promise that resolves after a specific interval or when canceled, whichever comes first.
38
40
  */
39
- sleep(name: string, durationMs: number): CancelablePromise;
40
- static sleep(name: string, durationMs: number): CancelablePromise<void>;
41
+ sleep(name: string, duration: Duration): CancelablePromise;
42
+ static sleep(name: string, duration: Duration): CancelablePromise<void>;
41
43
  static register(timer: Timer): void;
42
44
  static unregister(timer: Timer): void;
43
45
  static get timers(): Set<Timer>;
@@ -50,7 +52,7 @@ export interface Timer {
50
52
  /** System ID (diagnostics) */
51
53
  systemId: unknown;
52
54
  /** Interval (diagnostics) */
53
- intervalMs: number;
55
+ interval: Duration;
54
56
  /** Is the timer periodic? (diagnostics) */
55
57
  isPeriodic: boolean;
56
58
  /** Amount of time interval has been active (diagnostics) */
@@ -72,14 +74,14 @@ export declare class StandardTimer implements Timer {
72
74
  readonly isPeriodic: boolean;
73
75
  isRunning: boolean;
74
76
  get systemId(): number;
75
- constructor(name: string, intervalMs: number, callback: Timer.Callback, isPeriodic: boolean);
77
+ constructor(name: string, duration: Duration, callback: Timer.Callback, isPeriodic: boolean);
76
78
  /**
77
79
  * The timer's interval.
78
80
  *
79
81
  * You can change this value but changes have no effect until the timer restarts.
80
82
  */
81
- set intervalMs(intervalMs: number);
82
- get intervalMs(): number;
83
+ set interval(interval: Duration);
84
+ get interval(): Duration;
83
85
  get utility(): boolean;
84
86
  set utility(utility: boolean);
85
87
  start(): this;
@@ -1 +1 @@
1
- {"version":3,"file":"Time.d.ts","sourceRoot":"","sources":["../../../src/time/Time.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAKlD;;;;;GAKG;AACH,qBAAa,IAAI;IACb,MAAM,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC;IAEvB,MAAM,CAAC,OAAO;;;MAGZ;IAEF,GAAG;IAGH,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAO,IAAI,CAAqB;IAEnD,KAAK;IAGL,MAAM,CAAC,QAAQ,CAAC,KAAK,QAAO,MAAM,CAAuB;IAEzD,KAAK;IAGL,MAAM,CAAC,QAAQ,CAAC,KAAK,QAAO,MAAM,CAAuB;IAEzD;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAG,KAAK;IAG3E,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAI,MAAM,MAAM,EAAE,YAAY,MAAM,EAAE,UAAU,KAAK,CAAC,QAAQ,KAAG,KAAK,CAC1C;IAEpD;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAG,KAAK;IAGnF,MAAM,CAAC,QAAQ,CAAC,gBAAgB,GAAI,MAAM,MAAM,EAAE,YAAY,MAAM,EAAE,UAAU,KAAK,CAAC,QAAQ,KAAG,KAAK,CAC1C;IAE5D;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,iBAAiB;IAgB1D,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAI7C,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK;IAK5B,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK;IAI9B,MAAM,KAAK,MAAM,eAEhB;CACJ;AAOD,MAAM,WAAW,KAAK;IAClB,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IAEb,wEAAwE;IACxE,OAAO,EAAE,OAAO,CAAC;IAEjB,8BAA8B;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAElB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;IAEnB,2CAA2C;IAC3C,UAAU,EAAE,OAAO,CAAC;IAEpB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC;IAE7B,wCAAwC;IACxC,SAAS,EAAE,OAAO,CAAC;IAEnB,oCAAoC;IACpC,KAAK,IAAI,KAAK,CAAC;IAEf,mCAAmC;IACnC,IAAI,IAAI,KAAK,CAAC;CACjB;AAED,yBAAiB,KAAK,CAAC;IACnB,KAAY,QAAQ,GAAG,MAAM,GAAG,CAAC;CACpC;AAED,qBAAa,aAAc,YAAW,KAAK;;IAWnC,QAAQ,CAAC,IAAI,EAAE,MAAM;IAErB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,QAAQ,CAAC,UAAU,EAAE,OAAO;IAVhC,SAAS,UAAS;IAElB,IAAI,QAAQ,WAEX;gBAGY,IAAI,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EACD,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAChC,UAAU,EAAE,OAAO;IAKhC;;;;OAIG;IACH,IAAI,UAAU,CAAC,UAAU,EAAE,MAAM,EAOhC;IAED,IAAI,UAAU,IATa,MAAM,CAWhC;IAED,IAAI,OAAO,IAIU,OAAO,CAF3B;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,EAgB3B;IAED,KAAK;IAcL,IAAI;CAMP"}
1
+ {"version":3,"file":"Time.d.ts","sourceRoot":"","sources":["../../../src/time/Time.ts"],"names":[],"mappings":"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"}
@@ -8,49 +8,56 @@ import { CancelablePromise } from "#util/Cancelable.js";
8
8
  import { ImplementationError } from "../MatterError.js";
9
9
  import { Diagnostic } from "../log/Diagnostic.js";
10
10
  import { DiagnosticSource } from "../log/DiagnosticSource.js";
11
+ import { Instant } from "./TimeUnit.js";
11
12
  const registry = /* @__PURE__ */ new Set();
12
13
  class Time {
13
- static get;
14
+ static default;
14
15
  static startup = {
15
16
  systemMs: 0,
16
17
  processMs: 0
17
18
  };
18
- now() {
19
+ get now() {
19
20
  return /* @__PURE__ */ new Date();
20
21
  }
21
- static now = () => Time.get().now();
22
- nowMs() {
22
+ static get now() {
23
+ return Time.default.now;
24
+ }
25
+ get nowMs() {
23
26
  return Date.now();
24
27
  }
25
- static nowMs = () => Time.get().nowMs();
26
- nowUs() {
27
- return Math.floor(performance.now() + performance.timeOrigin) * 1e3;
28
+ static get nowMs() {
29
+ return Time.default.nowMs;
30
+ }
31
+ get nowUs() {
32
+ return Math.floor(performance.now() + performance.timeOrigin);
33
+ }
34
+ static get nowUs() {
35
+ return Time.default.nowUs;
28
36
  }
29
- static nowUs = () => Time.get().nowUs();
30
37
  /**
31
38
  * Create a timer that will call callback after durationMs has passed.
32
39
  */
33
- getTimer(name, durationMs, callback) {
34
- return new StandardTimer(name, durationMs, callback, false);
40
+ getTimer(name, duration, callback) {
41
+ return new StandardTimer(name, duration, callback, false);
35
42
  }
36
- static getTimer = (name, durationMs, callback) => Time.get().getTimer(name, durationMs, callback);
43
+ static getTimer = (name, duration, callback) => Time.default.getTimer(name, duration, callback);
37
44
  /**
38
45
  * Create a timer that will periodically call callback at intervalMs intervals.
39
46
  */
40
- getPeriodicTimer(name, intervalMs, callback) {
41
- return new StandardTimer(name, intervalMs, callback, true);
47
+ getPeriodicTimer(name, duration, callback) {
48
+ return new StandardTimer(name, duration, callback, true);
42
49
  }
43
- static getPeriodicTimer = (name, intervalMs, callback) => Time.get().getPeriodicTimer(name, intervalMs, callback);
50
+ static getPeriodicTimer = (name, duration, callback) => Time.default.getPeriodicTimer(name, duration, callback);
44
51
  /**
45
52
  * Create a promise that resolves after a specific interval or when canceled, whichever comes first.
46
53
  */
47
- sleep(name, durationMs) {
54
+ sleep(name, duration) {
48
55
  let timer;
49
56
  let resolver;
50
57
  return new CancelablePromise(
51
58
  (resolve) => {
52
59
  resolver = resolve;
53
- timer = Time.getTimer(name, durationMs, resolve);
60
+ timer = Time.getTimer(name, duration, resolve);
54
61
  timer.start();
55
62
  },
56
63
  () => {
@@ -59,8 +66,8 @@ class Time {
59
66
  }
60
67
  );
61
68
  }
62
- static sleep(name, durationMs) {
63
- return Time.get().sleep(name, durationMs);
69
+ static sleep(name, duration) {
70
+ return Time.default.sleep(name, duration);
64
71
  }
65
72
  static register(timer) {
66
73
  registry.add(timer);
@@ -74,18 +81,23 @@ class Time {
74
81
  }
75
82
  }
76
83
  if (!performance || typeof performance.now !== "function" || typeof performance.timeOrigin !== "number") {
77
- Time.prototype.nowUs = () => Time.nowMs() * 1e3;
84
+ Object.defineProperty(Time.prototype, "nowUs", {
85
+ get() {
86
+ return Time.nowMs;
87
+ }
88
+ });
78
89
  }
79
90
  class StandardTimer {
80
- constructor(name, intervalMs, callback, isPeriodic) {
91
+ constructor(name, duration, callback, isPeriodic) {
81
92
  this.name = name;
82
93
  this.callback = callback;
83
94
  this.isPeriodic = isPeriodic;
84
- this.intervalMs = intervalMs;
95
+ this.interval = duration;
85
96
  }
86
97
  #timerId;
87
98
  #utility = false;
88
- #intervalMs = -1;
99
+ #interval = Instant;
100
+ // Real value installed in constructor
89
101
  isRunning = false;
90
102
  get systemId() {
91
103
  return Number(this.#timerId);
@@ -95,16 +107,16 @@ class StandardTimer {
95
107
  *
96
108
  * You can change this value but changes have no effect until the timer restarts.
97
109
  */
98
- set intervalMs(intervalMs) {
99
- if (intervalMs < 0 || intervalMs > 2147483647) {
110
+ set interval(interval) {
111
+ if (interval < 0 || interval > 2147483647) {
100
112
  throw new ImplementationError(
101
- `Invalid intervalMs: ${intervalMs}. The value must be between 0 and 32-bit maximum value (2147483647)`
113
+ `Invalid intervalMs: ${interval}. The value must be between 0 and 32-bit maximum value (2147483647)`
102
114
  );
103
115
  }
104
- this.#intervalMs = intervalMs;
116
+ this.#interval = interval;
105
117
  }
106
- get intervalMs() {
107
- return this.#intervalMs;
118
+ get interval() {
119
+ return this.#interval;
108
120
  }
109
121
  get utility() {
110
122
  return this.#utility;
@@ -133,7 +145,7 @@ class StandardTimer {
133
145
  this.isRunning = false;
134
146
  }
135
147
  this.callback();
136
- }, this.intervalMs);
148
+ }, this.interval);
137
149
  return this;
138
150
  }
139
151
  stop() {
@@ -150,7 +162,7 @@ DiagnosticSource.add({
150
162
  timer.name,
151
163
  Diagnostic.dict({
152
164
  periodic: timer.isPeriodic,
153
- interval: Diagnostic.interval(timer.intervalMs),
165
+ interval: timer.interval,
154
166
  system: timer.systemId,
155
167
  elapsed: timer.elapsed
156
168
  })
@@ -159,9 +171,8 @@ DiagnosticSource.add({
159
171
  }
160
172
  });
161
173
  Boot.init(() => {
162
- const time = new Time();
163
- Time.startup.systemMs = Time.startup.processMs = time.nowMs();
164
- Time.get = () => time;
174
+ Time.default = new Time();
175
+ Time.startup.systemMs = Time.startup.processMs = Time.nowMs;
165
176
  if (typeof MatterHooks !== "undefined") {
166
177
  MatterHooks?.timeSetup?.(Time);
167
178
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/time/Time.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,87 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Duration } from "./Duration.js";
7
+ /**
8
+ * Details of a specific unit of time.
9
+ */
10
+ export interface TimeUnit {
11
+ (scale: number | bigint): Duration;
12
+ (scale: undefined | number | bigint): undefined | Duration;
13
+ /**
14
+ * Long name of the unit.
15
+ */
16
+ readonly kind: TimeUnit.Kind;
17
+ /**
18
+ * Abbreviated name of the unit.
19
+ */
20
+ readonly abbrev: string;
21
+ /**
22
+ * An interval representing a single unit.
23
+ */
24
+ readonly one: Duration;
25
+ /**
26
+ * Convert an interval to an integer of this unit.
27
+ *
28
+ * Produces an even integer result. Use {@link fractionalOf} to retain any fractional component.
29
+ */
30
+ of<T extends Duration | undefined>(interval: T): T extends undefined ? number | undefined : number;
31
+ /**
32
+ * Convert an interval to this unit, retaining fractional component.
33
+ */
34
+ fractionalOf<T extends Duration | undefined>(interval: T): T extends undefined ? number | undefined : number;
35
+ /**
36
+ * Compute the ceiling of an interval in this unit.
37
+ */
38
+ ceil(duration: Duration): Duration;
39
+ /**
40
+ * Compute the floor of an interval in this unit.
41
+ */
42
+ floor(duration: Duration): Duration;
43
+ /**
44
+ * Round an interval to this unit.
45
+ */
46
+ round(duration: Duration): Duration;
47
+ length: never;
48
+ }
49
+ export declare namespace TimeUnit {
50
+ /**
51
+ * Standard time units.
52
+ */
53
+ type Kind = "microsecond" | "millisecond" | "second" | "minute" | "hour" | "day";
54
+ }
55
+ /**
56
+ * Implement a {@link TimeUnit}.
57
+ */
58
+ export declare function TimeUnit<T = {}>(kind: TimeUnit.Kind, abbrev: string, one: number, props?: T): TimeUnit & T;
59
+ /**
60
+ * Create an interval in microseconds.
61
+ */
62
+ export declare const Microseconds: TimeUnit;
63
+ /**
64
+ * Create an interval in milliseconds.
65
+ */
66
+ export declare const Millis: TimeUnit;
67
+ /**
68
+ * Create an interval in seconds.
69
+ */
70
+ export declare const Seconds: TimeUnit;
71
+ /**
72
+ * Create an interval in minutes.
73
+ */
74
+ export declare const Minutes: TimeUnit;
75
+ /**
76
+ * Create an interval in hours.
77
+ */
78
+ export declare const Hours: TimeUnit;
79
+ /**
80
+ * Create an interval in days.
81
+ */
82
+ export declare const Days: TimeUnit;
83
+ /**
84
+ * A zero-length interval.
85
+ */
86
+ export declare const Instant: Duration;
87
+ //# sourceMappingURL=TimeUnit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimeUnit.d.ts","sourceRoot":"","sources":["../../../src/time/TimeUnit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,QAAQ;IACrB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IACnC,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IAE3D;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IAEvB;;;;OAIG;IACH,EAAE,CAAC,CAAC,SAAS,QAAQ,GAAG,SAAS,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,SAAS,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IAEnG;;OAEG;IACH,YAAY,CAAC,CAAC,SAAS,QAAQ,GAAG,SAAS,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,SAAS,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IAE7G;;OAEG;IACH,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAEnC;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAEpC;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAEpC,MAAM,EAAE,KAAK,CAAC;CACjB;AAED,yBAAiB,QAAQ,CAAC;IACtB;;OAEG;IACH,KAAY,IAAI,GAAG,aAAa,GAAG,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;CAC3F;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,GAAS,CAAC,GAAG,QAAQ,GAAG,CAAC,CA6BhH;AA0BD;;GAEG;AACH,eAAO,MAAM,YAAY,UAAuC,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,MAAM,UAAmC,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,OAAO,UAAiC,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,OAAO,UAAkC,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,KAAK,UAAmC,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,IAAI,UAAmC,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,OAAO,UAAY,CAAC"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ function TimeUnit(kind, abbrev, one, props = {}) {
7
+ const unit = {
8
+ [kind]: (scale) => {
9
+ if (scale === void 0) {
10
+ return void 0;
11
+ }
12
+ if (typeof scale === "bigint") {
13
+ scale = Number(scale);
14
+ }
15
+ return scale * one;
16
+ }
17
+ }[kind];
18
+ Object.assign(unit, {
19
+ ...props,
20
+ kind,
21
+ abbrev,
22
+ one,
23
+ of,
24
+ fractionalOf,
25
+ ceil,
26
+ floor,
27
+ round,
28
+ toString: kindOf,
29
+ [Symbol.for("nodejs.util.inspect.custom")]: kindOf
30
+ });
31
+ return unit;
32
+ }
33
+ function of(duration) {
34
+ return Math.floor(duration / this.one);
35
+ }
36
+ function fractionalOf(duration) {
37
+ return duration / this.one;
38
+ }
39
+ function ceil(duration) {
40
+ return Math.ceil(duration / this.one) * this.one;
41
+ }
42
+ function floor(duration) {
43
+ return Math.floor(duration / this.one) * this.one;
44
+ }
45
+ function round(duration) {
46
+ return Math.round(duration / this.one) * this.one;
47
+ }
48
+ function kindOf() {
49
+ return this.kind;
50
+ }
51
+ const Microseconds = TimeUnit("microsecond", "\u03BCs", 1e-3);
52
+ const Millis = TimeUnit("millisecond", "ms", 1);
53
+ const Seconds = TimeUnit("second", "s", 1e3);
54
+ const Minutes = TimeUnit("minute", "m", 6e4);
55
+ const Hours = TimeUnit("hour", "h", 36e5);
56
+ const Days = TimeUnit("day", "d", 864e5);
57
+ const Instant = Millis(0);
58
+ export {
59
+ Days,
60
+ Hours,
61
+ Instant,
62
+ Microseconds,
63
+ Millis,
64
+ Minutes,
65
+ Seconds,
66
+ TimeUnit
67
+ };
68
+ //# sourceMappingURL=TimeUnit.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/time/TimeUnit.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAsEO,SAAS,SAAiB,MAAqB,QAAgB,KAAa,QAAQ,CAAC,GAAsB;AAC9G,QAAM,OAAO;AAAA,IACT,CAAC,IAAI,GAAG,CAAC,UAAuC;AAC5C,UAAI,UAAU,QAAW;AACrB,eAAO;AAAA,MACX;AACA,UAAI,OAAO,UAAU,UAAU;AAC3B,gBAAQ,OAAO,KAAK;AAAA,MACxB;AACA,aAAQ,QAAQ;AAAA,IACpB;AAAA,EACJ,EAAE,IAAI;AAGN,SAAO,OAAO,MAAM;AAAA,IAChB,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,CAAC,OAAO,IAAI,4BAA4B,CAAC,GAAG;AAAA,EAChD,CAAC;AAED,SAAO;AACX;AAEA,SAAS,GAAmB,UAAoB;AAC5C,SAAO,KAAK,MAAM,WAAW,KAAK,GAAG;AACzC;AAEA,SAAS,aAA6B,UAAoB;AACtD,SAAO,WAAW,KAAK;AAC3B;AAEA,SAAS,KAAqB,UAAoB;AAC9C,SAAO,KAAK,KAAK,WAAW,KAAK,GAAG,IAAI,KAAK;AACjD;AAEA,SAAS,MAAsB,UAAoB;AAC/C,SAAO,KAAK,MAAM,WAAW,KAAK,GAAG,IAAI,KAAK;AAClD;AAEA,SAAS,MAAsB,UAAoB;AAC/C,SAAO,KAAK,MAAM,WAAW,KAAK,GAAG,IAAI,KAAK;AAClD;AAEA,SAAS,SAAuB;AAC5B,SAAO,KAAK;AAChB;AAKO,MAAM,eAAe,SAAS,eAAe,WAAM,IAAK;AAKxD,MAAM,SAAS,SAAS,eAAe,MAAM,CAAC;AAK9C,MAAM,UAAU,SAAS,UAAU,KAAK,GAAK;AAK7C,MAAM,UAAU,SAAS,UAAU,KAAK,GAAM;AAK9C,MAAM,QAAQ,SAAS,QAAQ,KAAK,IAAS;AAK7C,MAAM,OAAO,SAAS,OAAO,KAAK,KAAU;AAK5C,MAAM,UAAU,OAAO,CAAC;",
5
+ "names": []
6
+ }
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Duration } from "./Duration.js";
7
+ import { Timestamp } from "./Timestamp.js";
8
+ /**
9
+ * A period between two {@link Timestamp}s.
10
+ */
11
+ export interface Timespan {
12
+ start: Timestamp;
13
+ stop: Timestamp;
14
+ duration: Duration;
15
+ from(newStart: Timestamp.Definition): Timespan;
16
+ to(newStart: Timestamp.Definition): Timespan;
17
+ valueOf(): {
18
+ start: Timestamp;
19
+ stop: Timestamp;
20
+ };
21
+ }
22
+ /**
23
+ * Create a new timespan representing time between {@link start} and {@link stop}.
24
+ */
25
+ export declare function Timespan(start: Timestamp.Definition, stop: Timestamp.Definition): Timespan;
26
+ //# sourceMappingURL=Timespan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Timespan.d.ts","sourceRoot":"","sources":["../../../src/time/Timespan.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,QAAQ;IACrB,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC;IAEnB,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,UAAU,GAAG,QAAQ,CAAC;IAC/C,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,UAAU,GAAG,QAAQ,CAAC;IAC7C,OAAO,IAAI;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC;CACpD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,UAAU,GAItE,QAAQ,CACjB"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Timestamp } from "./Timestamp.js";
7
+ function Timespan(start, stop) {
8
+ return Object.create(prototype, {
9
+ start: { value: Timestamp(start), enumerable: true },
10
+ stop: { value: Timestamp(stop), enumerable: true }
11
+ });
12
+ }
13
+ const prototype = {
14
+ start: 0,
15
+ stop: 0,
16
+ get duration() {
17
+ return this.stop - this.start;
18
+ },
19
+ from(newStart) {
20
+ return Timespan(newStart, this.stop);
21
+ },
22
+ to(newStop) {
23
+ return Timespan(this.start, newStop);
24
+ },
25
+ valueOf() {
26
+ return { start: this.start, stop: this.stop };
27
+ }
28
+ };
29
+ export {
30
+ Timespan
31
+ };
32
+ //# sourceMappingURL=Timespan.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/time/Timespan.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,iBAAiB;AAkBnB,SAAS,SAAS,OAA6B,MAA4B;AAC9E,SAAO,OAAO,OAAO,WAAW;AAAA,IAC5B,OAAO,EAAE,OAAO,UAAU,KAAK,GAAG,YAAY,KAAK;AAAA,IACnD,MAAM,EAAE,OAAO,UAAU,IAAI,GAAG,YAAY,KAAK;AAAA,EACrD,CAAC;AACL;AAEA,MAAM,YAAsB;AAAA,EACxB,OAAO;AAAA,EACP,MAAM;AAAA,EAEN,IAAI,WAAW;AACX,WAAQ,KAAK,OAAO,KAAK;AAAA,EAC7B;AAAA,EAEA,KAAqB,UAAU;AAC3B,WAAO,SAAS,UAAU,KAAK,IAAI;AAAA,EACvC;AAAA,EAEA,GAAmB,SAAS;AACxB,WAAO,SAAS,KAAK,OAAO,OAAO;AAAA,EACvC;AAAA,EAEA,UAAwB;AACpB,WAAO,EAAE,OAAO,KAAK,OAAO,MAAM,KAAK,KAAK;AAAA,EAChD;AACJ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { UnexpectedDataError } from "#MatterError.js";
7
+ import { Branded } from "#util/Type.js";
8
+ /**
9
+ * A UNIX epoch timestamp in milliseconds.
10
+ *
11
+ * Note that the precision of the timestamp may be greater than milliseconds but is limited to floating point precision.
12
+ */
13
+ export type Timestamp = Branded<number, "Timestamp"> | 0;
14
+ /**
15
+ * Create a timestamp.
16
+ *
17
+ * Input may be a UNIX epoch value in milliseconds, a parseable date string, or a {@link Date}.
18
+ */
19
+ export declare function Timestamp<T extends undefined | Timestamp.Definition>(source: T): T extends undefined ? undefined | Timestamp : Timestamp;
20
+ /**
21
+ * Thrown when a textual timestamp cannot be parsed.
22
+ */
23
+ export declare class TimestampFormatError extends UnexpectedDataError {
24
+ }
25
+ export declare namespace Timestamp {
26
+ /**
27
+ * Values that may be used to initialize a timestamp.
28
+ */
29
+ type Definition = number | bigint | string | Date;
30
+ /**
31
+ * Create a low-resolution timestamp from a seconds value.
32
+ */
33
+ function fromSeconds(source: number): number;
34
+ /**
35
+ * Create a high-resolution timestamp from a microsecond value.
36
+ */
37
+ function fromMicroseconds(source: number | bigint): Timestamp;
38
+ /**
39
+ * The UNIX epoch.
40
+ */
41
+ const zero: Timestamp;
42
+ /**
43
+ * Obtain a {@link Date} for a {@link Timestamp}.
44
+ */
45
+ function dateOf(timestamp: Timestamp): Date;
46
+ }
47
+ //# sourceMappingURL=Timestamp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Timestamp.d.ts","sourceRoot":"","sources":["../../../src/time/Timestamp.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;AAEzD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,CAAC,UAAU,EAChE,MAAM,EAAE,CAAC,GACV,CAAC,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CA4BzD;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,mBAAmB;CAAG;AAEhE,yBAAiB,SAAS,CAAC;IACvB;;OAEG;IACH,KAAY,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAEzD;;OAEG;IACH,SAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,UAEzC;IAED;;OAEG;IACH,SAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,aAKvD;IAED;;OAEG;IACI,MAAM,IAAI,WAAe,CAAC;IAEjC;;OAEG;IACH,SAAgB,MAAM,CAAC,SAAS,EAAE,SAAS,QAE1C;CACJ"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { UnexpectedDataError } from "#MatterError.js";
7
+ import { Time } from "./Time.js";
8
+ function Timestamp(source) {
9
+ if (source === void 0) {
10
+ return Time.nowMs;
11
+ }
12
+ if (typeof source === "string") {
13
+ const date = Date.parse(source);
14
+ if (Number.isNaN(date.valueOf())) {
15
+ throw new TimestampFormatError("Invalid timestamp format");
16
+ }
17
+ } else if (typeof source === "object" && source !== null && source instanceof Date) {
18
+ if (Number.isNaN(source.valueOf())) {
19
+ throw new TimestampFormatError("Cannot convert date to timestamp because it is invalid");
20
+ }
21
+ source = source.getTime();
22
+ } else if (typeof source === "bigint") {
23
+ source = Number(source);
24
+ }
25
+ if (typeof source === "number") {
26
+ if (Number.isNaN(source)) {
27
+ throw new TimestampFormatError("A timestamp may not be NaN");
28
+ }
29
+ } else {
30
+ throw new TimestampFormatError(`Timestamp is not a number (received ${typeof source})`);
31
+ }
32
+ return source;
33
+ }
34
+ class TimestampFormatError extends UnexpectedDataError {
35
+ }
36
+ ((Timestamp2) => {
37
+ function fromSeconds(source) {
38
+ return Math.floor(source * 1e3);
39
+ }
40
+ Timestamp2.fromSeconds = fromSeconds;
41
+ function fromMicroseconds(source) {
42
+ if (typeof source === "bigint") {
43
+ source = Number(source);
44
+ }
45
+ return Timestamp2(source / 1e3);
46
+ }
47
+ Timestamp2.fromMicroseconds = fromMicroseconds;
48
+ Timestamp2.zero = Timestamp2(0);
49
+ function dateOf(timestamp) {
50
+ return new Date(timestamp);
51
+ }
52
+ Timestamp2.dateOf = dateOf;
53
+ })(Timestamp || (Timestamp = {}));
54
+ export {
55
+ Timestamp,
56
+ TimestampFormatError
57
+ };
58
+ //# sourceMappingURL=Timestamp.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/time/Timestamp.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,2BAA2B;AAEpC,SAAS,YAAY;AAcd,SAAS,UACZ,QACuD;AACvD,MAAI,WAAW,QAAW;AACtB,WAAO,KAAK;AAAA,EAChB;AAEA,MAAI,OAAO,WAAW,UAAU;AAC5B,UAAM,OAAO,KAAK,MAAM,MAAM;AAC9B,QAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,GAAG;AAC9B,YAAM,IAAI,qBAAqB,0BAA0B;AAAA,IAC7D;AAAA,EACJ,WAAW,OAAO,WAAW,YAAY,WAAW,QAAQ,kBAAkB,MAAM;AAChF,QAAI,OAAO,MAAM,OAAO,QAAQ,CAAC,GAAG;AAChC,YAAM,IAAI,qBAAqB,wDAAwD;AAAA,IAC3F;AACA,aAAS,OAAO,QAAQ;AAAA,EAC5B,WAAW,OAAO,WAAW,UAAU;AACnC,aAAS,OAAO,MAAM;AAAA,EAC1B;AAEA,MAAI,OAAO,WAAW,UAAU;AAC5B,QAAI,OAAO,MAAM,MAAM,GAAG;AACtB,YAAM,IAAI,qBAAqB,4BAA4B;AAAA,IAC/D;AAAA,EACJ,OAAO;AACH,UAAM,IAAI,qBAAqB,uCAAuC,OAAO,MAAM,GAAG;AAAA,EAC1F;AAEA,SAAO;AACX;AAKO,MAAM,6BAA6B,oBAAoB;AAAC;AAAA,CAExD,CAAUA,eAAV;AASI,WAAS,YAAY,QAAgB;AACxC,WAAO,KAAK,MAAM,SAAS,GAAI;AAAA,EACnC;AAFO,EAAAA,WAAS;AAOT,WAAS,iBAAiB,QAAyB;AACtD,QAAI,OAAO,WAAW,UAAU;AAC5B,eAAS,OAAO,MAAM;AAAA,IAC1B;AACA,WAAOA,WAAU,SAAS,GAAI;AAAA,EAClC;AALO,EAAAA,WAAS;AAUT,EAAMA,WAAA,OAAOA,WAAU,CAAC;AAKxB,WAAS,OAAO,WAAsB;AACzC,WAAO,IAAI,KAAK,SAAS;AAAA,EAC7B;AAFO,EAAAA,WAAS;AAAA,GA/BH;",
5
+ "names": ["Timestamp"]
6
+ }
@@ -3,5 +3,9 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ export * from "./Duration.js";
6
7
  export * from "./Time.js";
8
+ export * from "./Timespan.js";
9
+ export * from "./Timestamp.js";
10
+ export * from "./TimeUnit.js";
7
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/time/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/time/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC"}