bytekit 2.2.0 → 2.4.3

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 (97) hide show
  1. package/dist/cli/ddd-boilerplate.d.ts.map +1 -1
  2. package/dist/cli/ddd-boilerplate.js +4 -1
  3. package/dist/cli/ddd-boilerplate.js.map +1 -1
  4. package/dist/cli/index.d.ts.map +1 -1
  5. package/dist/cli/index.js +11 -5
  6. package/dist/cli/index.js.map +1 -1
  7. package/dist/cli/swagger-generator.d.ts.map +1 -1
  8. package/dist/cli/swagger-generator.js +9 -0
  9. package/dist/cli/swagger-generator.js.map +1 -1
  10. package/dist/cli/type-generator.d.ts.map +1 -1
  11. package/dist/cli/type-generator.js +5 -0
  12. package/dist/cli/type-generator.js.map +1 -1
  13. package/dist/utils/async/index.d.ts +8 -0
  14. package/dist/utils/async/index.d.ts.map +1 -1
  15. package/dist/utils/async/index.js +4 -0
  16. package/dist/utils/async/index.js.map +1 -1
  17. package/dist/utils/async/pipeline.d.ts +164 -0
  18. package/dist/utils/async/pipeline.d.ts.map +1 -0
  19. package/dist/utils/async/pipeline.js +154 -0
  20. package/dist/utils/async/pipeline.js.map +1 -0
  21. package/dist/utils/async/promise-pool.d.ts +59 -0
  22. package/dist/utils/async/promise-pool.d.ts.map +1 -0
  23. package/dist/utils/async/promise-pool.js +130 -0
  24. package/dist/utils/async/promise-pool.js.map +1 -0
  25. package/dist/utils/async/request-batcher.d.ts +82 -0
  26. package/dist/utils/async/request-batcher.d.ts.map +1 -0
  27. package/dist/utils/async/request-batcher.js +179 -0
  28. package/dist/utils/async/request-batcher.js.map +1 -0
  29. package/dist/utils/async/request-queue.d.ts +115 -0
  30. package/dist/utils/async/request-queue.d.ts.map +1 -0
  31. package/dist/utils/async/request-queue.js +236 -0
  32. package/dist/utils/async/request-queue.js.map +1 -0
  33. package/dist/utils/async/throttle.d.ts.map +1 -1
  34. package/dist/utils/async/throttle.js +1 -0
  35. package/dist/utils/async/throttle.js.map +1 -1
  36. package/dist/utils/core/ApiClient.d.ts +22 -1
  37. package/dist/utils/core/ApiClient.d.ts.map +1 -1
  38. package/dist/utils/core/ApiClient.js +64 -4
  39. package/dist/utils/core/ApiClient.js.map +1 -1
  40. package/dist/utils/core/ErrorBoundary.d.ts.map +1 -1
  41. package/dist/utils/core/ErrorBoundary.js +18 -5
  42. package/dist/utils/core/ErrorBoundary.js.map +1 -1
  43. package/dist/utils/core/Logger.d.ts +191 -0
  44. package/dist/utils/core/Logger.d.ts.map +1 -1
  45. package/dist/utils/core/Logger.js +155 -0
  46. package/dist/utils/core/Logger.js.map +1 -1
  47. package/dist/utils/core/Profiler.d.ts +41 -0
  48. package/dist/utils/core/Profiler.d.ts.map +1 -1
  49. package/dist/utils/core/Profiler.js +59 -0
  50. package/dist/utils/core/Profiler.js.map +1 -1
  51. package/dist/utils/core/RateLimiter.d.ts.map +1 -1
  52. package/dist/utils/core/RateLimiter.js +2 -0
  53. package/dist/utils/core/RateLimiter.js.map +1 -1
  54. package/dist/utils/core/ResponseValidator.d.ts +56 -0
  55. package/dist/utils/core/ResponseValidator.d.ts.map +1 -1
  56. package/dist/utils/core/ResponseValidator.js +28 -0
  57. package/dist/utils/core/ResponseValidator.js.map +1 -1
  58. package/dist/utils/core/RetryPolicy.d.ts +144 -0
  59. package/dist/utils/core/RetryPolicy.d.ts.map +1 -1
  60. package/dist/utils/core/RetryPolicy.js +108 -0
  61. package/dist/utils/core/RetryPolicy.js.map +1 -1
  62. package/dist/utils/helpers/CacheManager.d.ts.map +1 -1
  63. package/dist/utils/helpers/CacheManager.js +5 -0
  64. package/dist/utils/helpers/CacheManager.js.map +1 -1
  65. package/dist/utils/helpers/CompressionUtils.d.ts.map +1 -1
  66. package/dist/utils/helpers/CompressionUtils.js +21 -4
  67. package/dist/utils/helpers/CompressionUtils.js.map +1 -1
  68. package/dist/utils/helpers/CryptoUtils.d.ts.map +1 -1
  69. package/dist/utils/helpers/CryptoUtils.js +15 -3
  70. package/dist/utils/helpers/CryptoUtils.js.map +1 -1
  71. package/dist/utils/helpers/EnvManager.d.ts +46 -0
  72. package/dist/utils/helpers/EnvManager.d.ts.map +1 -1
  73. package/dist/utils/helpers/EnvManager.js +46 -0
  74. package/dist/utils/helpers/EnvManager.js.map +1 -1
  75. package/dist/utils/helpers/EventEmitter.d.ts.map +1 -1
  76. package/dist/utils/helpers/EventEmitter.js +0 -3
  77. package/dist/utils/helpers/EventEmitter.js.map +1 -1
  78. package/dist/utils/helpers/FileUploadHelper.d.ts +68 -1
  79. package/dist/utils/helpers/FileUploadHelper.d.ts.map +1 -1
  80. package/dist/utils/helpers/FileUploadHelper.js +72 -19
  81. package/dist/utils/helpers/FileUploadHelper.js.map +1 -1
  82. package/dist/utils/helpers/StorageUtils.d.ts +62 -0
  83. package/dist/utils/helpers/StorageUtils.d.ts.map +1 -1
  84. package/dist/utils/helpers/StorageUtils.js +62 -0
  85. package/dist/utils/helpers/StorageUtils.js.map +1 -1
  86. package/dist/utils/helpers/StreamingHelper.d.ts.map +1 -1
  87. package/dist/utils/helpers/StreamingHelper.js +16 -6
  88. package/dist/utils/helpers/StreamingHelper.js.map +1 -1
  89. package/dist/utils/helpers/UrlHelper.d.ts +30 -0
  90. package/dist/utils/helpers/UrlHelper.d.ts.map +1 -1
  91. package/dist/utils/helpers/UrlHelper.js +23 -1
  92. package/dist/utils/helpers/UrlHelper.js.map +1 -1
  93. package/dist/utils/helpers/WebSocketHelper.d.ts +30 -0
  94. package/dist/utils/helpers/WebSocketHelper.d.ts.map +1 -1
  95. package/dist/utils/helpers/WebSocketHelper.js +117 -5
  96. package/dist/utils/helpers/WebSocketHelper.js.map +1 -1
  97. package/package.json +5 -1
@@ -1 +1 @@
1
- {"version":3,"file":"StorageUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers/StorageUtils.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAc;IACX,OAAO,CAAC,OAAO;gBAAP,OAAO,GAAE,OAAsB;IAEnD,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM;IAK5C,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAe7B,MAAM,CAAC,GAAG,EAAE,MAAM;IAIlB,KAAK;CAGR"}
1
+ {"version":3,"file":"StorageUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers/StorageUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAc;IAOX,OAAO,CAAC,OAAO;IAN3B;;;;;OAKG;gBACiB,OAAO,GAAE,OAAsB;IAEnD;;;;;;;;;;;;;OAaG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM;IAK5C;;;;;;;;;;;;;;OAcG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAe7B;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM;IAIlB;;;;;;;OAOG;IACH,KAAK;CAGR"}
@@ -1,4 +1,24 @@
1
+ /**
2
+ * JSON-serialising wrapper around the browser `Storage` API with optional
3
+ * time-to-live (TTL) support.
4
+ *
5
+ * Works with any `Storage`-compatible object (`localStorage`,
6
+ * `sessionStorage`, or a custom in-memory implementation).
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * const store = new StorageManager();
11
+ * store.set('user', { id: 1, name: 'Alice' }, 3_600_000); // expires in 1 h
12
+ * const user = store.get<{ id: number; name: string }>('user');
13
+ * ```
14
+ */
1
15
  export class StorageManager {
16
+ /**
17
+ * Creates a new `StorageManager` instance.
18
+ *
19
+ * @param storage - The `Storage` backend to use. Defaults to
20
+ * `localStorage`.
21
+ */
2
22
  constructor(storage = localStorage) {
3
23
  Object.defineProperty(this, "storage", {
4
24
  enumerable: true,
@@ -7,10 +27,39 @@ export class StorageManager {
7
27
  value: storage
8
28
  });
9
29
  }
30
+ /**
31
+ * Serialises a value to JSON and stores it under the given key.
32
+ *
33
+ * @template T - Type of the value to store.
34
+ * @param key - Storage key.
35
+ * @param value - Value to serialise and store.
36
+ * @param ttlMs - Optional time-to-live in milliseconds. When set, the
37
+ * entry is automatically invalidated after this duration.
38
+ *
39
+ * @example
40
+ * ```typescript
41
+ * store.set('token', 'abc123', 60_000); // expires in 60 s
42
+ * ```
43
+ */
10
44
  set(key, value, ttlMs) {
11
45
  const data = { value, expires: ttlMs ? Date.now() + ttlMs : null };
12
46
  this.storage.setItem(key, JSON.stringify(data));
13
47
  }
48
+ /**
49
+ * Retrieves and deserialises a stored value.
50
+ *
51
+ * Returns `null` when the key does not exist, the stored JSON is malformed,
52
+ * or the entry's TTL has expired (expired entries are removed automatically).
53
+ *
54
+ * @template T - Expected type of the stored value.
55
+ * @param key - Storage key to retrieve.
56
+ * @returns The deserialised value, or `null` on miss or expiry.
57
+ *
58
+ * @example
59
+ * ```typescript
60
+ * const token = store.get<string>('token');
61
+ * ```
62
+ */
14
63
  get(key) {
15
64
  const raw = this.storage.getItem(key);
16
65
  if (!raw)
@@ -27,9 +76,22 @@ export class StorageManager {
27
76
  return null;
28
77
  }
29
78
  }
79
+ /**
80
+ * Removes a single entry from storage.
81
+ *
82
+ * @param key - Storage key to remove.
83
+ */
30
84
  remove(key) {
31
85
  this.storage.removeItem(key);
32
86
  }
87
+ /**
88
+ * Removes all entries from the underlying storage backend.
89
+ *
90
+ * @example
91
+ * ```typescript
92
+ * store.clear(); // clears all localStorage entries
93
+ * ```
94
+ */
33
95
  clear() {
34
96
  this.storage.clear();
35
97
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StorageUtils.js","sourceRoot":"","sources":["../../../src/utils/helpers/StorageUtils.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,cAAc;IACvB,YAAoB,UAAmB,YAAY;QAAvC;;;;mBAAQ,OAAO;WAAwB;IAAG,CAAC;IAEvD,GAAG,CAAI,GAAW,EAAE,KAAQ,EAAE,KAAc;QACxC,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACnE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,GAAG,CAAI,GAAW;QACd,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC5C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC7B,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,OAAO,IAAI,CAAC,KAAU,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED,MAAM,CAAC,GAAW;QACd,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,KAAK;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACJ"}
1
+ {"version":3,"file":"StorageUtils.js","sourceRoot":"","sources":["../../../src/utils/helpers/StorageUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,cAAc;IACvB;;;;;OAKG;IACH,YAAoB,UAAmB,YAAY;QAAvC;;;;mBAAQ,OAAO;WAAwB;IAAG,CAAC;IAEvD;;;;;;;;;;;;;OAaG;IACH,GAAG,CAAI,GAAW,EAAE,KAAQ,EAAE,KAAc;QACxC,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACnE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,GAAG,CAAI,GAAW;QACd,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC5C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC7B,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,OAAO,IAAI,CAAC,KAAU,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,GAAW;QACd,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"StreamingHelper.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers/StreamingHelper.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc,CAAC,CAAC;IAC7B,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;CACjB;AAID;;;;GAIG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC,GAAG,OAAO;IACjC,qFAAqF;IACrF,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC;IACjB,+CAA+C;IAC/C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;IACpD,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,eAAe;IACxB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAgBrC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAmB3B;;;;;;;;;;;;;;OAcG;WACU,eAAe,CAAC,CAAC,EAC1B,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,aAAkB,GAC5B,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAqE7B;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,SAAS,CAAC,CAAC,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,aAAa,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO,GACrD;QACC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;QACvD,KAAK,EAAE,MAAM,IAAI,CAAC;KACrB;IAoDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;WACW,QAAQ,CAAC,CAAC,GAAG,OAAO,EAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,eAAoB,GAC9B,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC;IAyJ/C;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAqC5B;;OAEG;WACU,cAAc,CACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,aAAa,GAAG;QACrB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;KACtC,GACP,OAAO,CAAC,IAAI,CAAC;CA4DnB"}
1
+ {"version":3,"file":"StreamingHelper.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers/StreamingHelper.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc,CAAC,CAAC;IAC7B,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;CACjB;AAID;;;;GAIG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC,GAAG,OAAO;IACjC,qFAAqF;IACrF,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC;IACjB,+CAA+C;IAC/C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;IACpD,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,eAAe;IACxB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAiBrC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAmB3B;;;;;;;;;;;;;;OAcG;WACU,eAAe,CAAC,CAAC,EAC1B,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,aAAkB,GAC5B,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAsE7B;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,SAAS,CAAC,CAAC,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,aAAa,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO,GACrD;QACC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;QACvD,KAAK,EAAE,MAAM,IAAI,CAAC;KACrB;IAoDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;WACW,QAAQ,CAAC,CAAC,GAAG,OAAO,EAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,eAAoB,GAC9B,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC;IA6J/C;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAyC5B;;OAEG;WACU,cAAc,CACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,aAAa,GAAG;QACrB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;KACtC,GACP,OAAO,CAAC,IAAI,CAAC;CA6DnB"}
@@ -7,6 +7,7 @@ export class StreamingHelper {
7
7
  try {
8
8
  const item = JSON.parse(buffer);
9
9
  data.push(item);
10
+ /* v8 ignore next */
10
11
  onChunk?.(buffer);
11
12
  }
12
13
  catch {
@@ -91,6 +92,7 @@ export class StreamingHelper {
91
92
  onComplete?.();
92
93
  }
93
94
  catch (err) {
95
+ /* v8 ignore next */
94
96
  error = err instanceof Error ? err : new Error(String(err));
95
97
  onError?.(error);
96
98
  }
@@ -198,7 +200,8 @@ export class StreamingHelper {
198
200
  body instanceof FormData ||
199
201
  body instanceof URLSearchParams ||
200
202
  body instanceof Blob ||
201
- (typeof ReadableStream !== "undefined" && body instanceof ReadableStream)) {
203
+ (typeof ReadableStream !== "undefined" &&
204
+ body instanceof ReadableStream)) {
202
205
  requestBody = body;
203
206
  }
204
207
  else {
@@ -238,6 +241,7 @@ export class StreamingHelper {
238
241
  if (done) {
239
242
  // Flush any partial event left in the buffer
240
243
  const flushed = this.flushSSEEvent(currentEvent, currentData, currentId, currentRetry, eventTypes, raw);
244
+ /* v8 ignore next */
241
245
  if (flushed)
242
246
  yield flushed;
243
247
  break;
@@ -246,6 +250,7 @@ export class StreamingHelper {
246
250
  // SSE spec: events are separated by one or more blank lines (\n\n)
247
251
  const segments = buffer.split("\n");
248
252
  // Keep the last segment (may be incomplete)
253
+ /* v8 ignore next */
249
254
  buffer = segments.pop();
250
255
  for (const line of segments) {
251
256
  if (line === "" || line === "\r") {
@@ -276,9 +281,10 @@ export class StreamingHelper {
276
281
  else {
277
282
  field = cleaned.slice(0, colonIdx);
278
283
  // The spec says: if the first character after ':' is a space, strip it
279
- val = cleaned[colonIdx + 1] === " "
280
- ? cleaned.slice(colonIdx + 2)
281
- : cleaned.slice(colonIdx + 1);
284
+ val =
285
+ cleaned[colonIdx + 1] === " "
286
+ ? cleaned.slice(colonIdx + 2)
287
+ : cleaned.slice(colonIdx + 1);
282
288
  }
283
289
  switch (field) {
284
290
  case "event":
@@ -315,7 +321,9 @@ export class StreamingHelper {
315
321
  return null;
316
322
  const type = eventType || "message";
317
323
  // Filter by allowed event types
318
- if (allowedTypes && allowedTypes.length > 0 && !allowedTypes.includes(type)) {
324
+ if (allowedTypes &&
325
+ allowedTypes.length > 0 &&
326
+ !allowedTypes.includes(type)) {
319
327
  return null;
320
328
  }
321
329
  // Per spec, multiple `data:` lines are joined with \n
@@ -380,7 +388,9 @@ export class StreamingHelper {
380
388
  return new Blob(chunks);
381
389
  }
382
390
  catch (error) {
383
- const err = error instanceof Error ? error : new Error(String(error));
391
+ const err =
392
+ /* v8 ignore next */
393
+ error instanceof Error ? error : new Error(String(error));
384
394
  onError?.(err);
385
395
  throw err;
386
396
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StreamingHelper.js","sourceRoot":"","sources":["../../../src/utils/helpers/StreamingHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StreamingHelper.js","sourceRoot":"","sources":["../../../src/utils/helpers/StreamingHelper.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,19 @@
1
+ /** Options for {@link UrlHelper.stringify}. */
1
2
  export interface QueryStringOptions {
3
+ /**
4
+ * How arrays are serialised in the query string.
5
+ * - `"repeat"` (default): `a=1&a=2`
6
+ * - `"bracket"`: `a[]=1&a[]=2`
7
+ * - `"comma"`: `a=1,2`
8
+ */
2
9
  arrayFormat?: "repeat" | "bracket" | "comma";
10
+ /** When `true`, keys whose value is `null` are omitted. Defaults to `true`. */
3
11
  skipNull?: boolean;
12
+ /** When `true`, keys with an empty-string value are omitted. Defaults to `false`. */
4
13
  skipEmptyString?: boolean;
14
+ /** When `true`, keys and values are percent-encoded. Defaults to `true`. */
5
15
  encode?: boolean;
16
+ /** When `true`, query parameters are sorted alphabetically by key. Defaults to `true`. */
6
17
  sortKeys?: boolean;
7
18
  }
8
19
  export interface SlugifyOptions {
@@ -12,6 +23,25 @@ export interface SlugifyOptions {
12
23
  lowercase?: boolean;
13
24
  }
14
25
  export declare class UrlHelper {
26
+ /**
27
+ * Serialises a plain object into a URL query string.
28
+ *
29
+ * Supports nested objects, arrays, `Date` values, and booleans. Returns
30
+ * an empty string when `params` is `null` or `undefined`.
31
+ *
32
+ * @param params - Object whose own enumerable properties are serialised.
33
+ * @param customOptions - Optional overrides for serialisation behaviour.
34
+ * @returns A percent-encoded query string without a leading `?`.
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * UrlHelper.stringify({ page: 1, tags: ['a', 'b'] });
39
+ * // "page=1&tags=a&tags=b"
40
+ *
41
+ * UrlHelper.stringify({ ids: [1, 2] }, { arrayFormat: 'bracket' });
42
+ * // "ids%5B%5D=1&ids%5B%5D=2"
43
+ * ```
44
+ */
15
45
  static stringify(params: Record<string, unknown> | null | undefined, customOptions?: QueryStringOptions): string;
16
46
  /**
17
47
  * Converts an object representation or a raw string into an SEO friendly slug URL string.
@@ -1 +1 @@
1
- {"version":3,"file":"UrlHelper.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers/UrlHelper.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IAC/B,WAAW,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAsFD,MAAM,WAAW,cAAc;IAC3B,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAQD,qBAAa,SAAS;IAClB,MAAM,CAAC,SAAS,CACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,EAClD,aAAa,GAAE,kBAAuB,GACvC,MAAM;IAoBT;;;;OAIG;IACH,MAAM,CAAC,OAAO,CACV,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EAC3D,OAAO,GAAE,MAAM,GAAG,cAAmB,GACtC,MAAM;CAyCZ"}
1
+ {"version":3,"file":"UrlHelper.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers/UrlHelper.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,MAAM,WAAW,kBAAkB;IAC/B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;IAC7C,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qFAAqF;IACrF,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,4EAA4E;IAC5E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAwFD,MAAM,WAAW,cAAc;IAC3B,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAQD,qBAAa,SAAS;IAClB;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,SAAS,CACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,EAClD,aAAa,GAAE,kBAAuB,GACvC,MAAM;IAoBT;;;;OAIG;IACH,MAAM,CAAC,OAAO,CACV,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EAC3D,OAAO,GAAE,MAAM,GAAG,cAAmB,GACtC,MAAM;CAgDZ"}
@@ -1,4 +1,7 @@
1
- const safeString = (value) => value === null || value === undefined ? "" : String(value);
1
+ const safeString = (value) =>
2
+ /* v8 ignore next */
3
+ value === null || value === undefined ? "" : String(value);
4
+ /* v8 ignore next */
2
5
  const isPlainObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
3
6
  const serializeValue = (value) => {
4
7
  if (value instanceof Date)
@@ -65,6 +68,25 @@ const NON_ALPHANUMERIC_REGEX = /[^a-z0-9]+/gi;
65
68
  const escapeRegExp = (value) => value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
66
69
  const removeDiacritics = (value) => value.normalize("NFD").replace(DIACRITICS_REGEX, "");
67
70
  export class UrlHelper {
71
+ /**
72
+ * Serialises a plain object into a URL query string.
73
+ *
74
+ * Supports nested objects, arrays, `Date` values, and booleans. Returns
75
+ * an empty string when `params` is `null` or `undefined`.
76
+ *
77
+ * @param params - Object whose own enumerable properties are serialised.
78
+ * @param customOptions - Optional overrides for serialisation behaviour.
79
+ * @returns A percent-encoded query string without a leading `?`.
80
+ *
81
+ * @example
82
+ * ```typescript
83
+ * UrlHelper.stringify({ page: 1, tags: ['a', 'b'] });
84
+ * // "page=1&tags=a&tags=b"
85
+ *
86
+ * UrlHelper.stringify({ ids: [1, 2] }, { arrayFormat: 'bracket' });
87
+ * // "ids%5B%5D=1&ids%5B%5D=2"
88
+ * ```
89
+ */
68
90
  static stringify(params, customOptions = {}) {
69
91
  if (!params)
70
92
  return "";
@@ -1 +1 @@
1
- {"version":3,"file":"UrlHelper.js","sourceRoot":"","sources":["../../../src/utils/helpers/UrlHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UrlHelper.js","sourceRoot":"","sources":["../../../src/utils/helpers/UrlHelper.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,8 @@
1
+ import type { SchemaAdapter } from "../core/SchemaAdapter.js";
2
+ export type BackoffStrategy = "linear" | "exponential" | ((attempt: number) => number);
3
+ export type WebSocketReconnectHandler = (attempt: number, delay: number) => void;
4
+ export type WebSocketMaxRetriesHandler = () => void;
5
+ export type WebSocketValidationErrorHandler = (error: Error, message: WebSocketMessage) => void;
1
6
  export interface WebSocketMessage<T = unknown> {
2
7
  type: string;
3
8
  data: T;
@@ -9,6 +14,11 @@ export interface WebSocketOptions {
9
14
  reconnectDelayMs?: number;
10
15
  heartbeatIntervalMs?: number;
11
16
  messageTimeout?: number;
17
+ backoffStrategy?: BackoffStrategy;
18
+ maxReconnectDelayMs?: number;
19
+ jitter?: boolean;
20
+ heartbeatTimeoutMs?: number;
21
+ schemas?: Record<string, SchemaAdapter>;
12
22
  }
13
23
  export type WebSocketEventHandler<T = unknown> = (data: T) => void;
14
24
  export type WebSocketErrorHandler = (error: Error) => void;
@@ -21,6 +31,10 @@ export declare class WebSocketHelper {
21
31
  private reconnectAttempts;
22
32
  private heartbeatTimer?;
23
33
  private isIntentionallyClosed;
34
+ private reconnectHandlers;
35
+ private maxRetriesHandlers;
36
+ private validationErrorHandlers;
37
+ private pongTimeoutTimer;
24
38
  constructor(url: string, options?: WebSocketOptions);
25
39
  /**
26
40
  * Connect to WebSocket
@@ -38,6 +52,20 @@ export declare class WebSocketHelper {
38
52
  * Subscribe to errors
39
53
  */
40
54
  onError(handler: WebSocketErrorHandler): () => void;
55
+ /**
56
+ * Subscribe to reconnect attempts.
57
+ * Fires just before each reconnect delay begins.
58
+ */
59
+ onReconnect(handler: WebSocketReconnectHandler): () => void;
60
+ /**
61
+ * Subscribe to terminal failure when all reconnect attempts are exhausted.
62
+ */
63
+ onMaxRetriesReached(handler: WebSocketMaxRetriesHandler): () => void;
64
+ /**
65
+ * Subscribe to incoming message validation errors.
66
+ * The offending message is dropped (on() handlers are NOT called).
67
+ */
68
+ onValidationError(handler: WebSocketValidationErrorHandler): () => void;
41
69
  /**
42
70
  * Send a message and wait for response
43
71
  */
@@ -58,6 +86,8 @@ export declare class WebSocketHelper {
58
86
  private startHeartbeat;
59
87
  private stopHeartbeat;
60
88
  private attemptReconnect;
89
+ private computeDelay;
61
90
  private notifyError;
91
+ private notifyValidationError;
62
92
  }
63
93
  //# sourceMappingURL=WebSocketHelper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WebSocketHelper.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers/WebSocketHelper.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,OAAO;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,qBAAqB,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;AACnE,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;AAE3D,qBAAa,eAAe;IACxB,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,eAAe,CACT;IACd,OAAO,CAAC,aAAa,CAAyC;IAC9D,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,qBAAqB,CAAS;gBAE1B,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB;IAWvD;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAmC9B;;OAEG;IACH,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI;IAc9C;;OAEG;IACH,EAAE,CAAC,CAAC,GAAG,OAAO,EACV,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAClC,MAAM,IAAI;IAgBb;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM,IAAI;IAKnD;;OAEG;IACG,OAAO,CAAC,QAAQ,EAAE,SAAS,EAC7B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,EACd,YAAY,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,SAAS,CAAC;IA0BrB;;OAEG;IACH,KAAK,IAAI,IAAI;IASb;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB,OAAO,CAAC,aAAa;IAyBrB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,WAAW;CAStB"}
1
+ {"version":3,"file":"WebSocketHelper.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers/WebSocketHelper.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,30 @@ export class WebSocketHelper {
48
48
  writable: true,
49
49
  value: false
50
50
  });
51
+ Object.defineProperty(this, "reconnectHandlers", {
52
+ enumerable: true,
53
+ configurable: true,
54
+ writable: true,
55
+ value: new Set()
56
+ });
57
+ Object.defineProperty(this, "maxRetriesHandlers", {
58
+ enumerable: true,
59
+ configurable: true,
60
+ writable: true,
61
+ value: new Set()
62
+ });
63
+ Object.defineProperty(this, "validationErrorHandlers", {
64
+ enumerable: true,
65
+ configurable: true,
66
+ writable: true,
67
+ value: new Set()
68
+ });
69
+ Object.defineProperty(this, "pongTimeoutTimer", {
70
+ enumerable: true,
71
+ configurable: true,
72
+ writable: true,
73
+ value: void 0
74
+ });
51
75
  this.url = url;
52
76
  this.options = {
53
77
  reconnect: options.reconnect ?? true,
@@ -55,6 +79,11 @@ export class WebSocketHelper {
55
79
  reconnectDelayMs: options.reconnectDelayMs ?? 3000,
56
80
  heartbeatIntervalMs: options.heartbeatIntervalMs ?? 30000,
57
81
  messageTimeout: options.messageTimeout ?? 5000,
82
+ backoffStrategy: options.backoffStrategy ?? "linear",
83
+ maxReconnectDelayMs: options.maxReconnectDelayMs ?? 30000,
84
+ jitter: options.jitter ?? false,
85
+ heartbeatTimeoutMs: options.heartbeatTimeoutMs ?? 5000,
86
+ schemas: options.schemas ?? {},
58
87
  };
59
88
  }
60
89
  /**
@@ -85,7 +114,9 @@ export class WebSocketHelper {
85
114
  };
86
115
  }
87
116
  catch (error) {
88
- reject(error instanceof Error ? error : new Error(String(error)));
117
+ reject(
118
+ /* v8 ignore next */
119
+ error instanceof Error ? error : new Error(String(error)));
89
120
  }
90
121
  });
91
122
  }
@@ -126,6 +157,29 @@ export class WebSocketHelper {
126
157
  this.errorHandlers.add(handler);
127
158
  return () => this.errorHandlers.delete(handler);
128
159
  }
160
+ /**
161
+ * Subscribe to reconnect attempts.
162
+ * Fires just before each reconnect delay begins.
163
+ */
164
+ onReconnect(handler) {
165
+ this.reconnectHandlers.add(handler);
166
+ return () => this.reconnectHandlers.delete(handler);
167
+ }
168
+ /**
169
+ * Subscribe to terminal failure when all reconnect attempts are exhausted.
170
+ */
171
+ onMaxRetriesReached(handler) {
172
+ this.maxRetriesHandlers.add(handler);
173
+ return () => this.maxRetriesHandlers.delete(handler);
174
+ }
175
+ /**
176
+ * Subscribe to incoming message validation errors.
177
+ * The offending message is dropped (on() handlers are NOT called).
178
+ */
179
+ onValidationError(handler) {
180
+ this.validationErrorHandlers.add(handler);
181
+ return () => this.validationErrorHandlers.delete(handler);
182
+ }
129
183
  /**
130
184
  * Send a message and wait for response
131
185
  */
@@ -174,8 +228,23 @@ export class WebSocketHelper {
174
228
  return this.ws?.readyState ?? WebSocket.CLOSED;
175
229
  }
176
230
  handleMessage(rawData) {
231
+ clearTimeout(this.pongTimeoutTimer);
232
+ this.pongTimeoutTimer = undefined;
177
233
  try {
178
234
  const message = JSON.parse(rawData);
235
+ // Schema validation — US2
236
+ const schema = this.options.schemas[message.type];
237
+ if (schema) {
238
+ try {
239
+ message.data = schema.parse(message.data);
240
+ }
241
+ catch (error) {
242
+ this.notifyValidationError(error instanceof Error
243
+ ? error
244
+ : new Error(String(error)), message);
245
+ return; // drop message
246
+ }
247
+ }
179
248
  const handlers = this.messageHandlers.get(message.type);
180
249
  if (handlers) {
181
250
  handlers.forEach((handler) => {
@@ -191,7 +260,9 @@ export class WebSocketHelper {
191
260
  }
192
261
  }
193
262
  catch (error) {
194
- this.notifyError(error instanceof Error ? error : new Error(String(error)));
263
+ this.notifyError(
264
+ /* v8 ignore next */
265
+ error instanceof Error ? error : new Error(String(error)));
195
266
  }
196
267
  }
197
268
  startHeartbeat() {
@@ -199,6 +270,9 @@ export class WebSocketHelper {
199
270
  if (this.isConnected()) {
200
271
  try {
201
272
  this.send("ping", {});
273
+ this.pongTimeoutTimer = setTimeout(() => {
274
+ this.ws?.close();
275
+ }, this.options.heartbeatTimeoutMs);
202
276
  }
203
277
  catch {
204
278
  // Heartbeat failed, connection will be handled by onclose
@@ -207,6 +281,8 @@ export class WebSocketHelper {
207
281
  }, this.options.heartbeatIntervalMs);
208
282
  }
209
283
  stopHeartbeat() {
284
+ clearTimeout(this.pongTimeoutTimer);
285
+ this.pongTimeoutTimer = undefined;
210
286
  if (this.heartbeatTimer) {
211
287
  clearInterval(this.heartbeatTimer);
212
288
  this.heartbeatTimer = undefined;
@@ -214,18 +290,44 @@ export class WebSocketHelper {
214
290
  }
215
291
  attemptReconnect() {
216
292
  if (this.reconnectAttempts >= this.options.maxReconnectAttempts) {
217
- const error = new Error("Max reconnection attempts reached");
218
- this.notifyError(error);
293
+ this.maxRetriesHandlers.forEach((handler) => {
294
+ try {
295
+ handler();
296
+ }
297
+ catch (e) {
298
+ console.error("Error in maxRetriesReached handler:", e);
299
+ }
300
+ });
219
301
  return;
220
302
  }
221
303
  this.reconnectAttempts++;
222
- const delay = this.options.reconnectDelayMs * this.reconnectAttempts;
304
+ const delay = this.computeDelay(this.reconnectAttempts);
305
+ this.reconnectHandlers.forEach((handler) => {
306
+ try {
307
+ handler(this.reconnectAttempts, delay);
308
+ }
309
+ catch (e) {
310
+ console.error("Error in reconnect handler:", e);
311
+ }
312
+ });
223
313
  setTimeout(() => {
224
314
  this.connect().catch((error) => {
225
315
  this.notifyError(error);
226
316
  });
227
317
  }, delay);
228
318
  }
319
+ computeDelay(attempt) {
320
+ const strategy = this.options.backoffStrategy;
321
+ if (typeof strategy === "function") {
322
+ return strategy(attempt);
323
+ }
324
+ if (strategy === "exponential") {
325
+ const cap = Math.min(this.options.maxReconnectDelayMs, this.options.reconnectDelayMs * Math.pow(2, attempt - 1));
326
+ return this.options.jitter ? Math.random() * cap : cap;
327
+ }
328
+ // "linear" (default)
329
+ return this.options.reconnectDelayMs * attempt;
330
+ }
229
331
  notifyError(error) {
230
332
  this.errorHandlers.forEach((handler) => {
231
333
  try {
@@ -236,5 +338,15 @@ export class WebSocketHelper {
236
338
  }
237
339
  });
238
340
  }
341
+ notifyValidationError(error, message) {
342
+ this.validationErrorHandlers.forEach((handler) => {
343
+ try {
344
+ handler(error, message);
345
+ }
346
+ catch (e) {
347
+ console.error("Error in validation error handler:", e);
348
+ }
349
+ });
350
+ }
239
351
  }
240
352
  //# sourceMappingURL=WebSocketHelper.js.map