@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
@@ -4,6 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { Time } from "#time/Time.js";
7
+ import { Instant, Millis, Seconds } from "#time/TimeUnit.js";
7
8
  import { ImplementationError } from "../MatterError.js";
8
9
  import { Logger } from "../log/Logger.js";
9
10
  import "../polyfills/disposable.js";
@@ -360,7 +361,7 @@ class ObserverGroup {
360
361
  class QuietObservable extends BasicObservable {
361
362
  #emitAutomatically = QuietObservable.defaults.emitAutomatically;
362
363
  #suppressionEnabled = QuietObservable.defaults.suppressionEnabled;
363
- #minimumEmitIntervalMs = QuietObservable.defaults.minimumEmitIntervalMs;
364
+ #minimumEmitInterval = QuietObservable.defaults.minimumEmitInterval;
364
365
  #shouldEmit;
365
366
  #source;
366
367
  #sink;
@@ -379,15 +380,15 @@ class QuietObservable extends BasicObservable {
379
380
  return this;
380
381
  }
381
382
  set config(config) {
382
- const { suppressionEnabled, minimumEmitIntervalMs, emitAutomatically } = config;
383
+ const { suppressionEnabled, minimumEmitInterval, emitAutomatically } = config;
383
384
  if (emitAutomatically !== void 0) {
384
385
  this.emitAutomatically = emitAutomatically;
385
386
  }
386
387
  if (suppressionEnabled !== void 0) {
387
388
  this.suppressionEnabled = suppressionEnabled;
388
389
  }
389
- if (minimumEmitIntervalMs !== void 0) {
390
- this.minimumEmitIntervalMs = minimumEmitIntervalMs;
390
+ if (minimumEmitInterval !== void 0) {
391
+ this.minimumEmitInterval = minimumEmitInterval;
391
392
  }
392
393
  if ("shouldEmit" in config) {
393
394
  this.shouldEmit = config.shouldEmit;
@@ -424,18 +425,18 @@ class QuietObservable extends BasicObservable {
424
425
  set suppressionEnabled(value) {
425
426
  this.#suppressionEnabled = value;
426
427
  }
427
- get minimumEmitIntervalMs() {
428
- return this.#minimumEmitIntervalMs;
428
+ get minimumEmitInterval() {
429
+ return this.#minimumEmitInterval;
429
430
  }
430
- set minimumEmitIntervalMs(value) {
431
- if (this.#minimumEmitIntervalMs === value) {
431
+ set minimumEmitInterval(value) {
432
+ if (this.#minimumEmitInterval === value) {
432
433
  return;
433
434
  }
434
435
  const needStart = this.#emitTimer !== void 0;
435
436
  if (needStart) {
436
437
  this.#stop();
437
438
  }
438
- this.#minimumEmitIntervalMs = value;
439
+ this.#minimumEmitInterval = value;
439
440
  if (needStart) {
440
441
  this.#start();
441
442
  }
@@ -500,8 +501,8 @@ class QuietObservable extends BasicObservable {
500
501
  this.#deferredPayload = payload;
501
502
  return;
502
503
  }
503
- const now = Time.nowMs();
504
- if (immediate || !this.#suppressionEnabled || this.#lastEmitAt === void 0 || this.#lastEmitAt + this.#minimumEmitIntervalMs < now) {
504
+ const now = Time.nowMs;
505
+ if (immediate || !this.#suppressionEnabled || this.#lastEmitAt === void 0 || this.#lastEmitAt + this.#minimumEmitInterval < now) {
505
506
  return this.#emit(payload, now);
506
507
  }
507
508
  this.#deferredPayload = payload;
@@ -530,7 +531,7 @@ class QuietObservable extends BasicObservable {
530
531
  }
531
532
  #emit(payload, now) {
532
533
  this.#deferredPayload = void 0;
533
- this.#lastEmitAt = now ?? Time.nowMs();
534
+ this.#lastEmitAt = now ?? Time.nowMs;
534
535
  this.#stop();
535
536
  super.emit(...payload);
536
537
  }
@@ -540,9 +541,9 @@ class QuietObservable extends BasicObservable {
540
541
  }
541
542
  let timeout;
542
543
  if (this.#lastEmitAt === void 0) {
543
- timeout = 0;
544
+ timeout = Instant;
544
545
  } else {
545
- timeout = this.#minimumEmitIntervalMs - ((now ?? Time.nowMs()) - this.#lastEmitAt);
546
+ timeout = Millis(this.#minimumEmitInterval - ((now ?? Time.nowMs) - this.#lastEmitAt));
546
547
  }
547
548
  if (timeout <= 0) {
548
549
  this.emitNow();
@@ -563,7 +564,7 @@ class QuietObservable extends BasicObservable {
563
564
  QuietObservable2.defaults = {
564
565
  emitAutomatically: true,
565
566
  suppressionEnabled: true,
566
- minimumEmitIntervalMs: 1e3
567
+ minimumEmitInterval: Seconds.one
567
568
  };
568
569
  })(QuietObservable || (QuietObservable = {}));
569
570
  export {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/util/Observable.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["result", "event", "observers", "QuietObservable"]
6
6
  }
@@ -3,12 +3,13 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { Duration } from "#time/Duration.js";
6
7
  /**
7
8
  * A queue that processes promises with a given concurrency and delays after each promise if desired.
8
9
  */
9
10
  export declare class PromiseQueue {
10
11
  #private;
11
- constructor(concurrency?: number, delay?: number);
12
+ constructor(concurrency?: number, delay?: Duration);
12
13
  /**
13
14
  * Add a promise to the queue. It returns a promise that can be awaited.
14
15
  */
@@ -1 +1 @@
1
- {"version":3,"file":"PromiseQueue.d.ts","sourceRoot":"","sources":["../../../src/util/PromiseQueue.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH;;GAEG;AACH,qBAAa,YAAY;;gBAMT,WAAW,SAAI,EAAE,KAAK,SAAI;IAKtC;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAsD9C;;OAEG;IACH,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAS5B,+CAA+C;IAC/C,IAAI,KAAK,WAER;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;CAGhB"}
1
+ {"version":3,"file":"PromiseQueue.d.ts","sourceRoot":"","sources":["../../../src/util/PromiseQueue.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAQ7C;;GAEG;AACH,qBAAa,YAAY;;gBAMT,WAAW,SAAI,EAAE,KAAK,WAAU;IAK5C;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAsD9C;;OAEG;IACH,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAS5B,+CAA+C;IAC/C,IAAI,KAAK,WAER;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;CAGhB"}
@@ -4,6 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { Time } from "#time/Time.js";
7
+ import { Instant } from "#time/TimeUnit.js";
7
8
  import { Logger } from "../log/Logger.js";
8
9
  import { createPromise } from "./Promises.js";
9
10
  const logger = Logger.get("PromiseQueue");
@@ -12,7 +13,7 @@ class PromiseQueue {
12
13
  #queue = new Array();
13
14
  #concurrency;
14
15
  #runningCount = 0;
15
- constructor(concurrency = 1, delay = 0) {
16
+ constructor(concurrency = 1, delay = Instant) {
16
17
  this.#concurrency = concurrency;
17
18
  this.#delay = delay;
18
19
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/util/PromiseQueue.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,YAAY;AACrB,SAAS,cAAc;AACvB,SAAS,qBAAqB;AAE9B,MAAM,SAAS,OAAO,IAAI,cAAc;AAKjC,MAAM,aAAa;AAAA,EACb;AAAA,EACA,SAAS,IAAI,MAAsE;AAAA,EACnF;AAAA,EACT,gBAAgB;AAAA,EAEhB,YAAY,cAAc,GAAG,QAAQ,GAAG;AACpC,SAAK,eAAe;AACpB,SAAK,SAAS;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA,EAKA,IAAO,UAAwC;AAC3C,UAAM,EAAE,SAAS,UAAU,SAAS,IAAI,cAAiB;AAEzD,WAAO,MAAM,iCAAiC,KAAK,OAAO,SAAS,CAAC;AACpE,SAAK,OAAO,KAAK;AAAA,MACb,MAAM,MAAM,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ;AAAA,MACpD;AAAA,IACJ,CAAC;AACD,SAAK,KAAK;AACV,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAKA,OAAa;AACT,QAAI,KAAK,iBAAiB,KAAK,gBAAgB,KAAK,OAAO,WAAW,GAAG;AACrE;AAAA,IACJ;AAEA,WAAO;AAAA,MACH;AAAA,MACA,KAAK,OAAO;AAAA,MACZ;AAAA,MACA,KAAK;AAAA,IACT;AACA,UAAM,EAAE,KAAK,IAAI,KAAK,OAAO,MAAM,KAAK,CAAC;AACzC,QAAI,SAAS,QAAW;AACpB,WAAK;AACL,WAAK,EACA,MAAM,WAAS;AACZ,cAAM;AAAA,MACV,CAAC,EACA,QAAQ,MAAM;AACX,eAAO,MAAM,wCAAwC,KAAK,gBAAgB,CAAC;AAC3E,YAAI,KAAK,SAAS,GAAG;AAEjB,eAAK,MAAM,eAAe,KAAK,MAAM,EAChC,KAAK,MAAM,KAAK,SAAS,CAAC,EAC1B,MAAM,WAAS;AACZ,kBAAM;AAAA,UACV,CAAC;AAAA,QACT,OAAO;AACH,eAAK,SAAS;AAAA,QAClB;AAAA,MACJ,CAAC;AAAA,IACT;AAAA,EACJ;AAAA,EAEA,WAAiB;AACb,SAAK;AACL,SAAK,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,QAAuB;AACzB,QAAI,QAAQ;AACR,iBAAW,EAAE,SAAS,KAAK,KAAK,QAAQ;AACpC,iBAAS;AAAA,MACb;AAAA,IACJ;AACA,SAAK,OAAO,SAAS;AAAA,EACzB;AAAA;AAAA,EAGA,IAAI,QAAQ;AACR,WAAO,KAAK,OAAO;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA,EAKA,QAAc;AACV,SAAK,MAAM,KAAK;AAAA,EACpB;AACJ;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,YAAY;AACrB,SAAS,eAAe;AACxB,SAAS,cAAc;AACvB,SAAS,qBAAqB;AAE9B,MAAM,SAAS,OAAO,IAAI,cAAc;AAKjC,MAAM,aAAa;AAAA,EACb;AAAA,EACA,SAAS,IAAI,MAAsE;AAAA,EACnF;AAAA,EACT,gBAAgB;AAAA,EAEhB,YAAY,cAAc,GAAG,QAAQ,SAAS;AAC1C,SAAK,eAAe;AACpB,SAAK,SAAS;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA,EAKA,IAAO,UAAwC;AAC3C,UAAM,EAAE,SAAS,UAAU,SAAS,IAAI,cAAiB;AAEzD,WAAO,MAAM,iCAAiC,KAAK,OAAO,SAAS,CAAC;AACpE,SAAK,OAAO,KAAK;AAAA,MACb,MAAM,MAAM,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ;AAAA,MACpD;AAAA,IACJ,CAAC;AACD,SAAK,KAAK;AACV,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAKA,OAAa;AACT,QAAI,KAAK,iBAAiB,KAAK,gBAAgB,KAAK,OAAO,WAAW,GAAG;AACrE;AAAA,IACJ;AAEA,WAAO;AAAA,MACH;AAAA,MACA,KAAK,OAAO;AAAA,MACZ;AAAA,MACA,KAAK;AAAA,IACT;AACA,UAAM,EAAE,KAAK,IAAI,KAAK,OAAO,MAAM,KAAK,CAAC;AACzC,QAAI,SAAS,QAAW;AACpB,WAAK;AACL,WAAK,EACA,MAAM,WAAS;AACZ,cAAM;AAAA,MACV,CAAC,EACA,QAAQ,MAAM;AACX,eAAO,MAAM,wCAAwC,KAAK,gBAAgB,CAAC;AAC3E,YAAI,KAAK,SAAS,GAAG;AAEjB,eAAK,MAAM,eAAe,KAAK,MAAM,EAChC,KAAK,MAAM,KAAK,SAAS,CAAC,EAC1B,MAAM,WAAS;AACZ,kBAAM;AAAA,UACV,CAAC;AAAA,QACT,OAAO;AACH,eAAK,SAAS;AAAA,QAClB;AAAA,MACJ,CAAC;AAAA,IACT;AAAA,EACJ;AAAA,EAEA,WAAiB;AACb,SAAK;AACL,SAAK,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,QAAuB;AACzB,QAAI,QAAQ;AACR,iBAAW,EAAE,SAAS,KAAK,KAAK,QAAQ;AACpC,iBAAS;AAAA,MACb;AAAA,IACJ;AACA,SAAK,OAAO,SAAS;AAAA,EACzB;AAAA;AAAA,EAGA,IAAI,QAAQ;AACR,WAAO,KAAK,OAAO;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA,EAKA,QAAc;AACV,SAAK,MAAM,KAAK;AAAA,EACpB;AACJ;",
5
5
  "names": []
6
6
  }
@@ -5,6 +5,7 @@
5
5
  * Copyright 2022-2025 Matter.js Authors
6
6
  * SPDX-License-Identifier: Apache-2.0
7
7
  */
8
+ import { Duration } from "#time/Duration.js";
8
9
  import { TimeoutError } from "../MatterError.js";
9
10
  /**
10
11
  * Obtain a promise with functions to resolve and reject.
@@ -29,11 +30,11 @@ export declare class PromiseTimeoutError extends TimeoutError {
29
30
  *
30
31
  * By default, rejects with {@link PromiseTimeoutError} on timeout but you can override by supplying {@link cancel}.
31
32
  *
32
- * @param timeoutMs the timeout in milliseconds
33
+ * @param timeout the timeout in milliseconds
33
34
  * @param promise a promise that resolves or rejects when the timed task completes
34
35
  * @param cancel invoked on timeout (default implementation throws {@link PromiseTimeoutError})
35
36
  */
36
- export declare function withTimeout<T>(timeoutMs: number, promise: Promise<T>, cancel?: AbortController | (() => void)): Promise<T>;
37
+ export declare function withTimeout<T>(timeout: Duration, promise: Promise<T>, cancel?: AbortController | (() => void)): Promise<T>;
37
38
  /**
38
39
  * Return type for functions that are optionally asynchronous.
39
40
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Promises.d.ts","sourceRoot":"","sources":["../../../src/util/Promises.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAiB,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGhE;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,KAAK;IAChC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CACpC,CAiBA;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAsBvF;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;CAAG;AAExD;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAAC,CAAC,EAC/B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,MAAM,CAAC,EAAE,eAAe,GAAG,CAAC,MAAM,IAAI,CAAC,GACxC,OAAO,CAAC,CAAC,CAAC,CAmDZ;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AAE5D,eAAO,MAAM,YAAY;IACrB;;OAEG;OACA,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC;IAUtD;;;OAGG;SACE,CAAC,EAAE,EAAE,UAAU,EAAE,oBACR,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,YACzC,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,YAAY,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,WACxC,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,YAAY,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,GACnD,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;IAsCxB;;OAEG;UACG,CAAC,EAAE,OAAO,oBACF,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,eACtC,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI;IAKhE;;OAEG;YACK,CAAC,YACK,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,cACvC,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,GAC9C,YAAY,CAAC,CAAC,CAAC;;CA4DrB,CAAC"}
1
+ {"version":3,"file":"Promises.d.ts","sourceRoot":"","sources":["../../../src/util/Promises.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAiB,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGhE;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,KAAK;IAChC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CACpC,CAiBA;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAsBvF;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;CAAG;AAExD;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAAC,CAAC,EAC/B,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,MAAM,CAAC,EAAE,eAAe,GAAG,CAAC,MAAM,IAAI,CAAC,GACxC,OAAO,CAAC,CAAC,CAAC,CAmDZ;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AAE5D,eAAO,MAAM,YAAY;IACrB;;OAEG;OACA,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC;IAUtD;;;OAGG;SACE,CAAC,EAAE,EAAE,UAAU,EAAE,oBACR,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,YACzC,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,YAAY,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,WACxC,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,YAAY,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,GACnD,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;IAsCxB;;OAEG;UACG,CAAC,EAAE,OAAO,oBACF,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,eACtC,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI;IAKhE;;OAEG;YACK,CAAC,YACK,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,cACvC,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,GAC9C,YAAY,CAAC,CAAC,CAAC;;CA4DrB,CAAC"}
@@ -45,7 +45,7 @@ function anyPromise(promises) {
45
45
  }
46
46
  class PromiseTimeoutError extends TimeoutError {
47
47
  }
48
- async function withTimeout(timeoutMs, promise, cancel) {
48
+ async function withTimeout(timeout, promise, cancel) {
49
49
  let cancelFn;
50
50
  if (typeof cancel === "function") {
51
51
  cancelFn = cancel;
@@ -57,8 +57,8 @@ async function withTimeout(timeoutMs, promise, cancel) {
57
57
  };
58
58
  }
59
59
  let cancelTimer;
60
- const timeout = new Promise((resolve, reject) => {
61
- const timer = Time.getTimer("promise-timeout", timeoutMs, () => {
60
+ const timedOut = new Promise((resolve, reject) => {
61
+ const timer = Time.getTimer("promise-timeout", timeout, () => {
62
62
  try {
63
63
  cancelFn();
64
64
  } catch (e) {
@@ -83,7 +83,7 @@ async function withTimeout(timeoutMs, promise, cancel) {
83
83
  throw e;
84
84
  }
85
85
  );
86
- await Promise.all([timeout, producer]);
86
+ await Promise.all([timedOut, producer]);
87
87
  return result;
88
88
  }
89
89
  const MaybePromise = {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/util/Promises.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/general",
3
- "version": "0.16.0-alpha.0-20250817-1b000357c",
3
+ "version": "0.16.0-alpha.0-20250820-24939dd26",
4
4
  "description": "Non-Matter support for Matter.js",
5
5
  "keywords": [
6
6
  "iot",
@@ -33,10 +33,10 @@
33
33
  "embed-examples": "embedme **/README.md"
34
34
  },
35
35
  "dependencies": {
36
- "@noble/curves": "^1.9.5"
36
+ "@noble/curves": "^1.9.7"
37
37
  },
38
38
  "devDependencies": {
39
- "@matter/testing": "0.16.0-alpha.0-20250817-1b000357c"
39
+ "@matter/testing": "0.16.0-alpha.0-20250820-24939dd26"
40
40
  },
41
41
  "files": [
42
42
  "dist/**/*",
@@ -4,19 +4,28 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
+ import { Duration } from "#time/Duration.js";
8
+ import { Seconds } from "#time/TimeUnit.js";
7
9
  import { InternalError, NotImplementedError, UnexpectedDataError } from "../MatterError.js";
8
10
  import { Bytes, Endian } from "../util/Bytes.js";
9
11
  import { DataReader } from "../util/DataReader.js";
10
12
  import { DataWriter } from "../util/DataWriter.js";
11
13
  import { ipv4BytesToString, ipv4ToBytes, ipv6BytesToString, ipv6ToBytes, isIPv4, isIPv6 } from "../util/Ip.js";
12
14
 
15
+ export const DEFAULT_MDNS_TTL = Seconds(120);
16
+
13
17
  /**
14
18
  * The maximum MDNS message size to usually fit into one UDP network MTU packet. Data are split into multiple messages
15
19
  * when needed.
16
20
  */
17
21
  export const MAX_MDNS_MESSAGE_SIZE = 1232; // 1280bytes (IPv6 packet size) - 8bytes (UDP header) - 40bytes (IPv6 IP header, IPv4 is only 20bytes)
18
22
 
19
- export const PtrRecord = (name: string, ptr: string, ttl = 120, flushCache = false): DnsRecord<string> => ({
23
+ export const PtrRecord = (
24
+ name: string,
25
+ ptr: string,
26
+ ttl = DEFAULT_MDNS_TTL,
27
+ flushCache = false,
28
+ ): DnsRecord<string> => ({
20
29
  name,
21
30
  value: ptr,
22
31
  ttl,
@@ -24,7 +33,7 @@ export const PtrRecord = (name: string, ptr: string, ttl = 120, flushCache = fal
24
33
  recordClass: DnsRecordClass.IN,
25
34
  flushCache,
26
35
  });
27
- export const ARecord = (name: string, ip: string, ttl = 120, flushCache = false): DnsRecord<string> => ({
36
+ export const ARecord = (name: string, ip: string, ttl = DEFAULT_MDNS_TTL, flushCache = false): DnsRecord<string> => ({
28
37
  name,
29
38
  value: ip,
30
39
  ttl,
@@ -32,7 +41,12 @@ export const ARecord = (name: string, ip: string, ttl = 120, flushCache = false)
32
41
  recordClass: DnsRecordClass.IN,
33
42
  flushCache,
34
43
  });
35
- export const AAAARecord = (name: string, ip: string, ttl = 120, flushCache = false): DnsRecord<string> => ({
44
+ export const AAAARecord = (
45
+ name: string,
46
+ ip: string,
47
+ ttl = DEFAULT_MDNS_TTL,
48
+ flushCache = false,
49
+ ): DnsRecord<string> => ({
36
50
  name,
37
51
  value: ip,
38
52
  ttl,
@@ -40,7 +54,12 @@ export const AAAARecord = (name: string, ip: string, ttl = 120, flushCache = fal
40
54
  recordClass: DnsRecordClass.IN,
41
55
  flushCache,
42
56
  });
43
- export const TxtRecord = (name: string, entries: string[], ttl = 120, flushCache = false): DnsRecord<string[]> => ({
57
+ export const TxtRecord = (
58
+ name: string,
59
+ entries: string[],
60
+ ttl = DEFAULT_MDNS_TTL,
61
+ flushCache = false,
62
+ ): DnsRecord<string[]> => ({
44
63
  name,
45
64
  value: entries,
46
65
  ttl,
@@ -51,7 +70,7 @@ export const TxtRecord = (name: string, entries: string[], ttl = 120, flushCache
51
70
  export const SrvRecord = (
52
71
  name: string,
53
72
  srv: SrvRecordValue,
54
- ttl = 120,
73
+ ttl = DEFAULT_MDNS_TTL,
55
74
  flushCache = false,
56
75
  ): DnsRecord<SrvRecordValue> => ({
57
76
  name,
@@ -81,7 +100,7 @@ export type DnsRecord<T = unknown> = {
81
100
  recordType: DnsRecordType;
82
101
  recordClass: DnsRecordClass;
83
102
  flushCache?: boolean;
84
- ttl: number;
103
+ ttl: Duration;
85
104
  value: T;
86
105
  };
87
106
 
@@ -168,7 +187,7 @@ export class DnsCodec {
168
187
  const classInt = reader.readUInt16();
169
188
  const flushCache = (classInt & 0x8000) !== 0;
170
189
  const recordClass = classInt & 0x7fff;
171
- const ttl = reader.readUInt32();
190
+ const ttl = Seconds(reader.readUInt32());
172
191
  const valueLength = reader.readUInt16();
173
192
  const valueBytes = reader.readByteArray(valueLength);
174
193
  const value = this.decodeRecordValue(valueBytes, recordType, message);
@@ -298,7 +317,7 @@ export class DnsCodec {
298
317
  writer.writeByteArray(this.encodeQName(name));
299
318
  writer.writeUInt16(recordType);
300
319
  writer.writeUInt16(recordClass | (flushCache ? 0x8000 : 0));
301
- writer.writeUInt32(ttl);
320
+ writer.writeUInt32(Seconds.of(ttl));
302
321
  const encodedValue = this.encodeRecordValue(value, recordType);
303
322
  writer.writeUInt16(encodedValue.byteLength);
304
323
  writer.writeByteArray(encodedValue);
@@ -4,6 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
+ import { Instant } from "#time/TimeUnit.js";
7
8
  import { MaybePromise } from "#util/Promises.js";
8
9
  import { DiagnosticSource } from "../log/DiagnosticSource.js";
9
10
  import { Logger } from "../log/Logger.js";
@@ -227,7 +228,7 @@ export class Environment {
227
228
  * Display tasks that supply diagnostics.
228
229
  */
229
230
  diagnose() {
230
- Time.getTimer("Diagnostics", 0, () => {
231
+ Time.getTimer("Diagnostics", Instant, () => {
231
232
  try {
232
233
  logger.notice("Diagnostics follow", DiagnosticSource);
233
234
  } catch (e) {
@@ -4,6 +4,10 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
+ import { Duration } from "#time/Duration.js";
8
+ import { Time } from "#time/Time.js";
9
+ import { Timestamp } from "#time/Timestamp.js";
10
+ import { Millis } from "#time/TimeUnit.js";
7
11
  import { Bytes } from "#util/Bytes.js";
8
12
  import type { Lifecycle } from "../util/Lifecycle.js";
9
13
  import { LogLevel } from "./LogLevel.js";
@@ -302,56 +306,24 @@ export namespace Diagnostic {
302
306
  }
303
307
 
304
308
  export interface Elapsed {
305
- readonly startedAt: number;
306
- readonly time: number;
309
+ readonly startedAt: Timestamp;
310
+ readonly time: Duration;
307
311
  toString(): string;
308
312
  }
309
313
 
310
- /**
311
- * Convert an interval to text.
312
- */
313
- export function interval(ms: number) {
314
- if (ms < 0) {
315
- return `${(ms * 1000).toPrecision(3)}μs`;
316
- } else if (ms < 1000) {
317
- return `${ms.toPrecision(3)}ms`;
318
- } else if (ms < 60000) {
319
- return `${(ms / 1000).toPrecision(3)}s`;
320
- }
321
-
322
- let days;
323
- if (ms > 86_400_000) {
324
- days = `${Math.floor(ms / 86_400_000)}d `;
325
- ms %= 86_400_000;
326
- } else {
327
- days = "";
328
- }
329
- const hours = Math.floor(ms / 3_600_000)
330
- .toString()
331
- .padStart(2, "0");
332
- ms %= 3_600_000;
333
- const minutes = Math.floor(ms / 60_000)
334
- .toString()
335
- .padStart(2, "0");
336
- ms %= 60_000;
337
- const seconds = Math.floor(ms).toString().padStart(2, "0");
338
-
339
- return `${days}${hours}:${minutes}:${seconds}`;
340
- }
341
-
342
314
  /**
343
315
  * Create a diagnostic that renders as elapsed time since creation.
344
316
  */
345
317
  export function elapsed(): Elapsed {
346
318
  return {
347
- startedAt: performance.now(),
319
+ startedAt: Time.nowUs,
348
320
 
349
321
  get time() {
350
- return performance.now() - this.startedAt;
322
+ return Millis(Time.nowUs - this.startedAt);
351
323
  },
352
324
 
353
325
  toString() {
354
- return interval(this.time);
326
+ return Duration.format(this.time);
355
327
  },
356
328
  };
357
329
  }
package/src/log/Logger.ts CHANGED
@@ -225,7 +225,7 @@ export class Logger {
225
225
  dest.context.run(() =>
226
226
  dest.add(
227
227
  Diagnostic.message({
228
- now: Time.now(),
228
+ now: Time.now,
229
229
  facility: this.#name,
230
230
  level,
231
231
  prefix: nestingPrefix(),
@@ -5,6 +5,8 @@
5
5
  */
6
6
 
7
7
  import { Crypto } from "#crypto/Crypto.js";
8
+ import { Duration } from "#time/Duration.js";
9
+ import { Instant, Millis, Seconds } from "#time/TimeUnit.js";
8
10
 
9
11
  /**
10
12
  * An iterable of retry values based on a scheduling configuration.
@@ -29,31 +31,31 @@ export class RetrySchedule {
29
31
  maximumInterval,
30
32
  maximumCount,
31
33
  jitterFactor = 0,
32
- initialInterval = 1000,
34
+ initialInterval = Seconds.one,
33
35
  backoffFactor = 2,
34
36
  } = this.config;
35
37
 
36
38
  let count = 0;
37
39
  let baseInterval = initialInterval;
38
- let timeSoFar = 0;
40
+ let timeSoFar = Instant;
39
41
 
40
42
  while ((timeout === undefined || timeSoFar < timeout) && (maximumCount === undefined || maximumCount > count)) {
41
43
  count++;
42
44
  const maxJitter = jitterFactor * baseInterval;
43
- const jitter = Math.floor((maxJitter * this.#crypto.randomUint32) / Math.pow(2, 32));
44
- let interval = baseInterval + jitter;
45
+ const jitter = Millis.floor(Millis((maxJitter * this.#crypto.randomUint32) / Math.pow(2, 32)));
46
+ let interval = Millis(baseInterval + jitter);
45
47
 
46
48
  if (timeout !== undefined && timeSoFar + interval > timeout) {
47
- interval = timeout - timeSoFar;
49
+ interval = Millis(timeout - timeSoFar);
48
50
  }
49
51
  if (maximumInterval !== undefined && interval > maximumInterval) {
50
52
  interval = maximumInterval;
51
53
  }
52
54
 
53
55
  yield interval;
54
- timeSoFar += interval;
56
+ timeSoFar = Millis(timeSoFar + interval);
55
57
 
56
- baseInterval *= backoffFactor;
58
+ baseInterval = Millis(baseInterval * backoffFactor);
57
59
  }
58
60
  }
59
61
  }
@@ -61,16 +63,14 @@ export class RetrySchedule {
61
63
  export namespace RetrySchedule {
62
64
  /**
63
65
  * Configuration parameters for retry schedule.
64
- *
65
- * All intervals are in milliseconds.
66
66
  */
67
67
  export interface Configuration {
68
68
  /**
69
- * Overall timeout in seconds.
69
+ * Overall timeout.
70
70
  *
71
71
  * Leave undefined to allow indefinite transmission.
72
72
  */
73
- readonly timeout?: number;
73
+ readonly timeout?: Duration;
74
74
 
75
75
  /**
76
76
  * Maximum number of occurrences (including first).
@@ -82,9 +82,9 @@ export namespace RetrySchedule {
82
82
  /**
83
83
  * Interval between first request and final interval.
84
84
  *
85
- * Defaults to 1000 ms.
85
+ * Defaults to 1s.
86
86
  */
87
- readonly initialInterval?: number;
87
+ readonly initialInterval?: Duration;
88
88
 
89
89
  /**
90
90
  * Multiplier for subsequent retries.
@@ -98,7 +98,7 @@ export namespace RetrySchedule {
98
98
  *
99
99
  * Leave undefined for interval to allow interval to grow continuously.
100
100
  */
101
- readonly maximumInterval?: number;
101
+ readonly maximumInterval?: Duration;
102
102
 
103
103
  /**
104
104
  * Multiplier for retry jitter.