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.
- package/dist/cli/ddd-boilerplate.d.ts.map +1 -1
- package/dist/cli/ddd-boilerplate.js +4 -1
- package/dist/cli/ddd-boilerplate.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +11 -5
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/swagger-generator.d.ts.map +1 -1
- package/dist/cli/swagger-generator.js +9 -0
- package/dist/cli/swagger-generator.js.map +1 -1
- package/dist/cli/type-generator.d.ts.map +1 -1
- package/dist/cli/type-generator.js +5 -0
- package/dist/cli/type-generator.js.map +1 -1
- package/dist/utils/async/index.d.ts +8 -0
- package/dist/utils/async/index.d.ts.map +1 -1
- package/dist/utils/async/index.js +4 -0
- package/dist/utils/async/index.js.map +1 -1
- package/dist/utils/async/pipeline.d.ts +164 -0
- package/dist/utils/async/pipeline.d.ts.map +1 -0
- package/dist/utils/async/pipeline.js +154 -0
- package/dist/utils/async/pipeline.js.map +1 -0
- package/dist/utils/async/promise-pool.d.ts +59 -0
- package/dist/utils/async/promise-pool.d.ts.map +1 -0
- package/dist/utils/async/promise-pool.js +130 -0
- package/dist/utils/async/promise-pool.js.map +1 -0
- package/dist/utils/async/request-batcher.d.ts +82 -0
- package/dist/utils/async/request-batcher.d.ts.map +1 -0
- package/dist/utils/async/request-batcher.js +179 -0
- package/dist/utils/async/request-batcher.js.map +1 -0
- package/dist/utils/async/request-queue.d.ts +115 -0
- package/dist/utils/async/request-queue.d.ts.map +1 -0
- package/dist/utils/async/request-queue.js +236 -0
- package/dist/utils/async/request-queue.js.map +1 -0
- package/dist/utils/async/throttle.d.ts.map +1 -1
- package/dist/utils/async/throttle.js +1 -0
- package/dist/utils/async/throttle.js.map +1 -1
- package/dist/utils/core/ApiClient.d.ts +22 -1
- package/dist/utils/core/ApiClient.d.ts.map +1 -1
- package/dist/utils/core/ApiClient.js +64 -4
- package/dist/utils/core/ApiClient.js.map +1 -1
- package/dist/utils/core/ErrorBoundary.d.ts.map +1 -1
- package/dist/utils/core/ErrorBoundary.js +18 -5
- package/dist/utils/core/ErrorBoundary.js.map +1 -1
- package/dist/utils/core/Logger.d.ts +191 -0
- package/dist/utils/core/Logger.d.ts.map +1 -1
- package/dist/utils/core/Logger.js +155 -0
- package/dist/utils/core/Logger.js.map +1 -1
- package/dist/utils/core/Profiler.d.ts +41 -0
- package/dist/utils/core/Profiler.d.ts.map +1 -1
- package/dist/utils/core/Profiler.js +59 -0
- package/dist/utils/core/Profiler.js.map +1 -1
- package/dist/utils/core/RateLimiter.d.ts.map +1 -1
- package/dist/utils/core/RateLimiter.js +2 -0
- package/dist/utils/core/RateLimiter.js.map +1 -1
- package/dist/utils/core/ResponseValidator.d.ts +56 -0
- package/dist/utils/core/ResponseValidator.d.ts.map +1 -1
- package/dist/utils/core/ResponseValidator.js +28 -0
- package/dist/utils/core/ResponseValidator.js.map +1 -1
- package/dist/utils/core/RetryPolicy.d.ts +144 -0
- package/dist/utils/core/RetryPolicy.d.ts.map +1 -1
- package/dist/utils/core/RetryPolicy.js +108 -0
- package/dist/utils/core/RetryPolicy.js.map +1 -1
- package/dist/utils/helpers/CacheManager.d.ts.map +1 -1
- package/dist/utils/helpers/CacheManager.js +5 -0
- package/dist/utils/helpers/CacheManager.js.map +1 -1
- package/dist/utils/helpers/CompressionUtils.d.ts.map +1 -1
- package/dist/utils/helpers/CompressionUtils.js +21 -4
- package/dist/utils/helpers/CompressionUtils.js.map +1 -1
- package/dist/utils/helpers/CryptoUtils.d.ts.map +1 -1
- package/dist/utils/helpers/CryptoUtils.js +15 -3
- package/dist/utils/helpers/CryptoUtils.js.map +1 -1
- package/dist/utils/helpers/EnvManager.d.ts +46 -0
- package/dist/utils/helpers/EnvManager.d.ts.map +1 -1
- package/dist/utils/helpers/EnvManager.js +46 -0
- package/dist/utils/helpers/EnvManager.js.map +1 -1
- package/dist/utils/helpers/EventEmitter.d.ts.map +1 -1
- package/dist/utils/helpers/EventEmitter.js +0 -3
- package/dist/utils/helpers/EventEmitter.js.map +1 -1
- package/dist/utils/helpers/FileUploadHelper.d.ts +68 -1
- package/dist/utils/helpers/FileUploadHelper.d.ts.map +1 -1
- package/dist/utils/helpers/FileUploadHelper.js +72 -19
- package/dist/utils/helpers/FileUploadHelper.js.map +1 -1
- package/dist/utils/helpers/StorageUtils.d.ts +62 -0
- package/dist/utils/helpers/StorageUtils.d.ts.map +1 -1
- package/dist/utils/helpers/StorageUtils.js +62 -0
- package/dist/utils/helpers/StorageUtils.js.map +1 -1
- package/dist/utils/helpers/StreamingHelper.d.ts.map +1 -1
- package/dist/utils/helpers/StreamingHelper.js +16 -6
- package/dist/utils/helpers/StreamingHelper.js.map +1 -1
- package/dist/utils/helpers/UrlHelper.d.ts +30 -0
- package/dist/utils/helpers/UrlHelper.d.ts.map +1 -1
- package/dist/utils/helpers/UrlHelper.js +23 -1
- package/dist/utils/helpers/UrlHelper.js.map +1 -1
- package/dist/utils/helpers/WebSocketHelper.d.ts +30 -0
- package/dist/utils/helpers/WebSocketHelper.d.ts.map +1 -1
- package/dist/utils/helpers/WebSocketHelper.js +117 -5
- package/dist/utils/helpers/WebSocketHelper.js.map +1 -1
- 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;
|
|
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;
|
|
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" &&
|
|
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 =
|
|
280
|
-
|
|
281
|
-
|
|
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 &&
|
|
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 =
|
|
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;
|
|
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) =>
|
|
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":"
|
|
1
|
+
{"version":3,"file":"UrlHelper.js","sourceRoot":"","sources":["../../../src/utils/helpers/UrlHelper.ts"],"names":[],"mappings":"AAqBA,MAAM,UAAU,GAAG,CAAC,KAAwB,EAAE,EAAE;AAC5C,oBAAoB;AACpB,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAE/D,oBAAoB;AACpB,MAAM,aAAa,GAAG,CAAC,KAAc,EAAoC,EAAE,CACvE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEzE,MAAM,cAAc,GAAG,CAAC,KAAc,EAAE,EAAE;IACtC,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IACtD,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAChE,IACI,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,QAAQ;QAEzB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,OAAO,UAAU,CAAC,KAA0B,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAiC;IACxD,WAAW,EAAE,QAAQ;IACrB,QAAQ,EAAE,IAAI;IACd,eAAe,EAAE,KAAK;IACtB,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;CACjB,CAAC;AAIF,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,MAAe,EAAE,EAAE,CAClD,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAE/C,MAAM,eAAe,GAAG,CACpB,GAAW,EACX,KAAc,EACd,OAAqC,EACrC,KAAkB,EACpB,EAAE;IACA,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAChC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7C,OAAO;IACX,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE/B,IAAI,OAAO,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,KAAK;iBACnB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;iBACrC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;iBAC7D,IAAI,CAAC,GAAG,CAAC,CAAC;YACf,IAAI,UAAU,IAAI,CAAC,OAAO,CAAC,eAAe;gBACtC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;YAClC,OAAO;QACX,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,OAAO,GACT,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;YACzD,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;QACD,OAAO;IACX,CAAC;IAED,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,OAAO,CAAC,QAAQ;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,OAAO,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;YACvD,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACzD,CAAC;QACD,OAAO;IACX,CAAC;IAED,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,OAAO,CAAC,eAAe,IAAI,UAAU,KAAK,EAAE;QAAE,OAAO;IACzD,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAC5C,MAAM,sBAAsB,GAAG,cAAc,CAAC;AAS9C,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE,CACnC,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AAEjD,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,EAAE,CACvC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;AAEzD,MAAM,OAAO,SAAS;IAClB;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,SAAS,CACZ,MAAkD,EAClD,gBAAoC,EAAE;QAEtC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,EAAE,GAAG,qBAAqB,EAAE,GAAG,aAAa,EAAE,CAAC;QAC/D,MAAM,KAAK,GAAgB,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,OAAO,CAAC,QAAQ;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAErE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;YACjC,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,KAAK;aACP,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAClB,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACnD,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACvD,OAAO,GAAG,UAAU,IAAI,YAAY,EAAE,CAAC;QAC3C,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,OAAO,CACV,MAA2D,EAC3D,UAAmC,EAAE;QAErC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAEvB,mFAAmF;QACnF,MAAM,IAAI,GACN,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACnE,MAAM,EAAE,SAAS,GAAG,GAAG,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;QAEnD,IAAI,SAAS,GAAG,EAAE,CAAC;QAEnB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7B,SAAS,GAAG,MAAM,CAAC;QACvB,CAAC;aAAM,CAAC;YACJ,MAAM,YAAY,GAAG,EAAE,GAAG,qBAAqB,EAAE,CAAC;YAClD,MAAM,KAAK,GAAgB,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,YAAY,CAAC,QAAQ;gBACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YAEnD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;gBACjC,0EAA0E;gBAC1E,eAAe,CACX,GAAG,EACH,KAAK,EACL,EAAE,GAAG,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,EAClC,KAAK,CACR,CAAC;YACN,CAAC;YAED,0BAA0B;YAC1B,SAAS,GAAG,KAAK;iBACZ,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC;iBACnC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;iBACxC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;QAC/D,MAAM,gBAAgB,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;QAEjD,OAAO,IAAI;aACN,OAAO,CAAC,sBAAsB,EAAE,SAAS,CAAC;aAC1C,OAAO,CAAC,IAAI,MAAM,CAAC,GAAG,gBAAgB,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,CAAC;aAC3D,OAAO,CACJ,IAAI,MAAM,CAAC,IAAI,gBAAgB,IAAI,gBAAgB,GAAG,EAAE,GAAG,CAAC,EAC5D,EAAE,CACL,CAAC;IACV,CAAC;CACJ"}
|
|
@@ -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;
|
|
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(
|
|
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(
|
|
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
|
-
|
|
218
|
-
|
|
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.
|
|
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
|