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
|
@@ -40,6 +40,7 @@ export class CryptoUtils {
|
|
|
40
40
|
return globalThis.crypto.randomUUID();
|
|
41
41
|
}
|
|
42
42
|
// Check if we can use getRandomValues for fallback
|
|
43
|
+
/* v8 ignore start */
|
|
43
44
|
if (typeof globalThis !== "undefined" &&
|
|
44
45
|
globalThis.crypto?.getRandomValues) {
|
|
45
46
|
const bytes = new Uint8Array(16);
|
|
@@ -52,12 +53,15 @@ export class CryptoUtils {
|
|
|
52
53
|
.join("");
|
|
53
54
|
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
|
|
54
55
|
}
|
|
56
|
+
/* v8 ignore end */
|
|
57
|
+
/* v8 ignore next 3 */
|
|
55
58
|
throw new Error("Secure random generation unavailable. crypto API required.");
|
|
56
59
|
}
|
|
57
60
|
/**
|
|
58
61
|
* Base64 encode
|
|
59
62
|
*/
|
|
60
63
|
static base64Encode(str) {
|
|
64
|
+
/* v8 ignore next */
|
|
61
65
|
if (typeof globalThis !== "undefined" && globalThis.btoa) {
|
|
62
66
|
// Encode to UTF-8 bytes first to handle Unicode characters
|
|
63
67
|
const encoder = new TextEncoder();
|
|
@@ -65,13 +69,15 @@ export class CryptoUtils {
|
|
|
65
69
|
const binaryString = Array.from(bytes, (byte) => String.fromCharCode(byte)).join("");
|
|
66
70
|
return globalThis.btoa(binaryString);
|
|
67
71
|
}
|
|
68
|
-
// Node.js fallback
|
|
72
|
+
// Node.js fallback (unreachable: btoa is available in Node.js 18+)
|
|
73
|
+
/* v8 ignore next */
|
|
69
74
|
return Buffer.from(str, "utf-8").toString("base64");
|
|
70
75
|
}
|
|
71
76
|
/**
|
|
72
77
|
* Base64 decode
|
|
73
78
|
*/
|
|
74
79
|
static base64Decode(str) {
|
|
80
|
+
/* v8 ignore next */
|
|
75
81
|
if (typeof globalThis !== "undefined" && globalThis.atob) {
|
|
76
82
|
// Decode from binary string to UTF-8 to handle Unicode characters
|
|
77
83
|
const binaryString = globalThis.atob(str);
|
|
@@ -82,7 +88,8 @@ export class CryptoUtils {
|
|
|
82
88
|
const decoder = new TextDecoder();
|
|
83
89
|
return decoder.decode(bytes);
|
|
84
90
|
}
|
|
85
|
-
// Node.js fallback
|
|
91
|
+
// Node.js fallback (unreachable: atob is available in Node.js 18+)
|
|
92
|
+
/* v8 ignore next */
|
|
86
93
|
return Buffer.from(str, "base64").toString("utf-8");
|
|
87
94
|
}
|
|
88
95
|
/**
|
|
@@ -118,6 +125,7 @@ export class CryptoUtils {
|
|
|
118
125
|
* Hash string using SubtleCrypto (browser) or crypto (Node.js)
|
|
119
126
|
*/
|
|
120
127
|
static async hash(str, algorithm = "SHA-256") {
|
|
128
|
+
/* v8 ignore next */
|
|
121
129
|
if (typeof globalThis !== "undefined" && globalThis.crypto?.subtle) {
|
|
122
130
|
// Browser
|
|
123
131
|
const encoder = new TextEncoder();
|
|
@@ -128,7 +136,8 @@ export class CryptoUtils {
|
|
|
128
136
|
.map((b) => b.toString(16).padStart(2, "0"))
|
|
129
137
|
.join("");
|
|
130
138
|
}
|
|
131
|
-
// Node.js fallback
|
|
139
|
+
// Node.js fallback (unreachable: SubtleCrypto is available in Node.js 18+)
|
|
140
|
+
/* v8 ignore start */
|
|
132
141
|
if (typeof process !== "undefined" && process.versions?.node) {
|
|
133
142
|
try {
|
|
134
143
|
const crypto = await import("crypto");
|
|
@@ -143,6 +152,7 @@ export class CryptoUtils {
|
|
|
143
152
|
}
|
|
144
153
|
// Browser without SubtleCrypto fallback
|
|
145
154
|
return this.simpleHash(str);
|
|
155
|
+
/* v8 ignore end */
|
|
146
156
|
}
|
|
147
157
|
/**
|
|
148
158
|
* Create HMAC signature
|
|
@@ -159,6 +169,7 @@ export class CryptoUtils {
|
|
|
159
169
|
.join("");
|
|
160
170
|
}
|
|
161
171
|
// Node.js fallback
|
|
172
|
+
/* v8 ignore start */
|
|
162
173
|
if (typeof process !== "undefined" && process.versions?.node) {
|
|
163
174
|
try {
|
|
164
175
|
const crypto = await import("crypto");
|
|
@@ -172,6 +183,7 @@ export class CryptoUtils {
|
|
|
172
183
|
}
|
|
173
184
|
// Browser without SubtleCrypto fallback
|
|
174
185
|
return "";
|
|
186
|
+
/* v8 ignore end */
|
|
175
187
|
}
|
|
176
188
|
/**
|
|
177
189
|
* Check if string matches hash
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CryptoUtils.js","sourceRoot":"","sources":["../../../src/utils/helpers/CryptoUtils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CryptoUtils.js","sourceRoot":"","sources":["../../../src/utils/helpers/CryptoUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Isomorphic environment variable accessor.
|
|
3
|
+
*
|
|
4
|
+
* Reads from `import.meta.env` in browser environments (Vite / bundlers)
|
|
5
|
+
* and from `process.env` in Node.js, providing a unified API across runtimes.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* const env = new EnvManager();
|
|
10
|
+
* const apiUrl = env.require('API_URL');
|
|
11
|
+
* console.log(env.isProd()); // true in production
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
1
14
|
export declare class EnvManager {
|
|
2
15
|
private readonly isBrowser;
|
|
16
|
+
/**
|
|
17
|
+
* Reads an environment variable by name.
|
|
18
|
+
*
|
|
19
|
+
* @param name - The environment variable name (e.g., `"API_URL"`).
|
|
20
|
+
* @returns The variable's string value, or `undefined` if not set.
|
|
21
|
+
*/
|
|
3
22
|
get(name: string): string | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* Reads a required environment variable, throwing if absent.
|
|
25
|
+
*
|
|
26
|
+
* @param name - The environment variable name.
|
|
27
|
+
* @returns The variable's string value.
|
|
28
|
+
* @throws {Error} If the variable is not set in the current environment.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* const secret = env.require('API_SECRET');
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
4
35
|
require(name: string): string;
|
|
36
|
+
/**
|
|
37
|
+
* Returns `true` when running in production mode.
|
|
38
|
+
*
|
|
39
|
+
* Checks `NODE_ENV` (Node.js) or `MODE` (Vite) for the value
|
|
40
|
+
* `"production"`.
|
|
41
|
+
*
|
|
42
|
+
* @returns `true` if the environment is production, `false` otherwise.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* if (env.isProd()) {
|
|
47
|
+
* logger.setLevel('warn');
|
|
48
|
+
* }
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
5
51
|
isProd(): boolean;
|
|
6
52
|
}
|
|
7
53
|
//# sourceMappingURL=EnvManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvManager.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers/EnvManager.ts"],"names":[],"mappings":"AAAA,qBAAa,UAAU;IACnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiC;IAE3D,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAUrC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAM7B,MAAM;CAIT"}
|
|
1
|
+
{"version":3,"file":"EnvManager.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers/EnvManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,qBAAa,UAAU;IACnB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiC;IAE3D;;;;;OAKG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAUrC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAM7B;;;;;;;;;;;;;;OAcG;IACH,MAAM;CAIT"}
|
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Isomorphic environment variable accessor.
|
|
3
|
+
*
|
|
4
|
+
* Reads from `import.meta.env` in browser environments (Vite / bundlers)
|
|
5
|
+
* and from `process.env` in Node.js, providing a unified API across runtimes.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* const env = new EnvManager();
|
|
10
|
+
* const apiUrl = env.require('API_URL');
|
|
11
|
+
* console.log(env.isProd()); // true in production
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
1
14
|
export class EnvManager {
|
|
2
15
|
constructor() {
|
|
3
16
|
Object.defineProperty(this, "isBrowser", {
|
|
@@ -7,6 +20,12 @@ export class EnvManager {
|
|
|
7
20
|
value: typeof window !== "undefined"
|
|
8
21
|
});
|
|
9
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Reads an environment variable by name.
|
|
25
|
+
*
|
|
26
|
+
* @param name - The environment variable name (e.g., `"API_URL"`).
|
|
27
|
+
* @returns The variable's string value, or `undefined` if not set.
|
|
28
|
+
*/
|
|
10
29
|
get(name) {
|
|
11
30
|
if (this.isBrowser) {
|
|
12
31
|
const meta = import.meta;
|
|
@@ -14,12 +33,39 @@ export class EnvManager {
|
|
|
14
33
|
}
|
|
15
34
|
return process?.env?.[name];
|
|
16
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Reads a required environment variable, throwing if absent.
|
|
38
|
+
*
|
|
39
|
+
* @param name - The environment variable name.
|
|
40
|
+
* @returns The variable's string value.
|
|
41
|
+
* @throws {Error} If the variable is not set in the current environment.
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```typescript
|
|
45
|
+
* const secret = env.require('API_SECRET');
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
17
48
|
require(name) {
|
|
18
49
|
const value = this.get(name);
|
|
19
50
|
if (!value)
|
|
20
51
|
throw new Error(`Missing environment variable: ${name}`);
|
|
21
52
|
return value;
|
|
22
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Returns `true` when running in production mode.
|
|
56
|
+
*
|
|
57
|
+
* Checks `NODE_ENV` (Node.js) or `MODE` (Vite) for the value
|
|
58
|
+
* `"production"`.
|
|
59
|
+
*
|
|
60
|
+
* @returns `true` if the environment is production, `false` otherwise.
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```typescript
|
|
64
|
+
* if (env.isProd()) {
|
|
65
|
+
* logger.setLevel('warn');
|
|
66
|
+
* }
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
23
69
|
isProd() {
|
|
24
70
|
const mode = this.get("NODE_ENV") || this.get("MODE");
|
|
25
71
|
return mode === "production";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvManager.js","sourceRoot":"","sources":["../../../src/utils/helpers/EnvManager.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,UAAU;IAAvB;QACqB;;;;mBAAY,OAAO,MAAM,KAAK,WAAW;WAAC;
|
|
1
|
+
{"version":3,"file":"EnvManager.js","sourceRoot":"","sources":["../../../src/utils/helpers/EnvManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,UAAU;IAAvB;QACqB;;;;mBAAY,OAAO,MAAM,KAAK,WAAW;WAAC;IAuD/D,CAAC;IArDG;;;;;OAKG;IACH,GAAG,CAAC,IAAY;QACZ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,CAAC,IAEnB,CAAC;YACF,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,IAAY;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAC;QACrE,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,MAAM;QACF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtD,OAAO,IAAI,KAAK,YAAY,CAAC;IACjC,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventEmitter.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers/EventEmitter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3E,MAAM,MAAM,sBAAsB,CAAC,CAAC,GAAG,OAAO,IAAI,CAC9C,IAAI,EAAE,CAAC,EACP,KAAK,CAAC,EAAE,KAAK,KACZ,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1B,MAAM,WAAW,mBAAmB;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;GAEG;AACH,qBAAa,YAAY,CACrB,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAEhE,OAAO,CAAC,QAAQ,CAA8C;IAC9D,OAAO,CAAC,OAAO,CAA8C;IAC7D,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,aAAa,CAA0C;gBAEnD,OAAO,GAAE,mBAAwB;IAK7C;;OAEG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,MAAM,EACrB,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GACnC,IAAI;IAkBP;;OAEG;IACH,IAAI,CAAC,CAAC,SAAS,MAAM,MAAM,EACvB,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GACnC,IAAI;
|
|
1
|
+
{"version":3,"file":"EventEmitter.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers/EventEmitter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3E,MAAM,MAAM,sBAAsB,CAAC,CAAC,GAAG,OAAO,IAAI,CAC9C,IAAI,EAAE,CAAC,EACP,KAAK,CAAC,EAAE,KAAK,KACZ,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1B,MAAM,WAAW,mBAAmB;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;GAEG;AACH,qBAAa,YAAY,CACrB,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAEhE,OAAO,CAAC,QAAQ,CAA8C;IAC9D,OAAO,CAAC,OAAO,CAA8C;IAC7D,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,aAAa,CAA0C;gBAEnD,OAAO,GAAE,mBAAwB;IAK7C;;OAEG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,MAAM,EACrB,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GACnC,IAAI;IAkBP;;OAEG;IACH,IAAI,CAAC,CAAC,SAAS,MAAM,MAAM,EACvB,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GACnC,IAAI;IAmBP;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,MAAM,EACtB,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GACnC,IAAI;IAiCP;;OAEG;IACH,kBAAkB,CAAC,CAAC,SAAS,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI;IAW3D;;OAEG;IACG,IAAI,CAAC,CAAC,SAAS,MAAM,MAAM,EAC7B,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,GAChB,OAAO,CAAC,OAAO,CAAC;IAqCnB;;OAEG;IACH,QAAQ,CAAC,CAAC,SAAS,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO;IAqBpE;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI;IAK/C;;OAEG;IACH,OAAO,CAAC,WAAW;IAUnB;;OAEG;IACH,aAAa,CAAC,CAAC,SAAS,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM;IAKvD;;OAEG;IACH,YAAY,CAAC,CAAC,SAAS,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;IAO1E;;OAEG;IACH,UAAU,IAAI,CAAC,MAAM,MAAM,CAAC,EAAE;IAI9B;;OAEG;IACH,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKhC;;OAEG;IACH,eAAe,IAAI,MAAM;CAG5B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAC9B,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClE,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAAC,MAAM,CAAC,CAErD"}
|
|
@@ -68,9 +68,6 @@ export class EventEmitter {
|
|
|
68
68
|
};
|
|
69
69
|
// Attach original listener to allow removal by off()
|
|
70
70
|
onceListener._originalListener = listener;
|
|
71
|
-
if (!this.onceMap.has(event)) {
|
|
72
|
-
this.onceMap.set(event, new Set());
|
|
73
|
-
}
|
|
74
71
|
this.onceMap.get(event).add(onceListener);
|
|
75
72
|
return this.on(event, onceListener);
|
|
76
73
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventEmitter.js","sourceRoot":"","sources":["../../../src/utils/helpers/EventEmitter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH;;GAEG;AACH,MAAM,OAAO,YAAY;IASrB,YAAY,UAA+B,EAAE;QANrC;;;;mBAA4C,IAAI,GAAG,EAAE;WAAC;QACtD;;;;mBAA2C,IAAI,GAAG,EAAE;WAAC;QACrD;;;;;WAAqB;QACrB;;;;;WAA2B;QAC3B;;;;mBAA6C,IAAI,GAAG,EAAE;WAAC;QAG3D,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,KAAK,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,EAAE,CACE,KAAQ,EACR,QAAkC;QAElC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAe,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAe,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAe,CAAE,CAAC;QACrD,IAAI,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACrC,OAAO,CAAC,IAAI,CACR,gCACI,QAAQ,CAAC,IAAI,GAAG,CACpB,+BAA+B,MAAM,CAAC,KAAK,CAAC,GAAG,CAClD,CAAC;QACN,CAAC;QAED,QAAQ,CAAC,GAAG,CAAC,QAAyB,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,IAAI,CACA,KAAQ,EACR,QAAkC;QAElC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAe,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAe,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,8DAA8D;QAC9D,MAAM,YAAY,GAAQ,KAAK,EAAE,IAAa,EAAE,EAAE;YAC9C,MAAM,QAAQ,CAAC,IAAiB,CAAC,CAAC;YAClC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAClC,CAAC,CAAC;QAEF,qDAAqD;QACrD,YAAY,CAAC,iBAAiB,GAAG,QAAQ,CAAC;QAE1C,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"EventEmitter.js","sourceRoot":"","sources":["../../../src/utils/helpers/EventEmitter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH;;GAEG;AACH,MAAM,OAAO,YAAY;IASrB,YAAY,UAA+B,EAAE;QANrC;;;;mBAA4C,IAAI,GAAG,EAAE;WAAC;QACtD;;;;mBAA2C,IAAI,GAAG,EAAE;WAAC;QACrD;;;;;WAAqB;QACrB;;;;;WAA2B;QAC3B;;;;mBAA6C,IAAI,GAAG,EAAE;WAAC;QAG3D,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,KAAK,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,EAAE,CACE,KAAQ,EACR,QAAkC;QAElC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAe,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAe,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAe,CAAE,CAAC;QACrD,IAAI,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACrC,OAAO,CAAC,IAAI,CACR,gCACI,QAAQ,CAAC,IAAI,GAAG,CACpB,+BAA+B,MAAM,CAAC,KAAK,CAAC,GAAG,CAClD,CAAC;QACN,CAAC;QAED,QAAQ,CAAC,GAAG,CAAC,QAAyB,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,IAAI,CACA,KAAQ,EACR,QAAkC;QAElC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAe,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAe,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,8DAA8D;QAC9D,MAAM,YAAY,GAAQ,KAAK,EAAE,IAAa,EAAE,EAAE;YAC9C,MAAM,QAAQ,CAAC,IAAiB,CAAC,CAAC;YAClC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAClC,CAAC,CAAC;QAEF,qDAAqD;QACrD,YAAY,CAAC,iBAAiB,GAAG,QAAQ,CAAC;QAE1C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAe,CAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAErD,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,GAAG,CACC,KAAQ,EACR,QAAkC;QAElC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAe,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE3B,uDAAuD;QACvD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,IACI,OAAO,KAAK,QAAQ;gBACpB,8DAA8D;gBAC7D,OAAe,CAAC,iBAAiB,KAAK,QAAQ,EACjD,CAAC;gBACC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACzB,MAAM;YACV,CAAC;QACL,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAe,CAAC,CAAC;QACvD,IAAI,YAAY,EAAE,CAAC;YACf,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;gBACjC,IACI,OAAO,KAAK,QAAQ;oBACpB,8DAA8D;oBAC7D,OAAe,CAAC,iBAAiB,KAAK,QAAQ,EACjD,CAAC;oBACC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC7B,MAAM;gBACV,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAyB,KAAS;QAChD,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAe,CAAC,CAAC;YACtC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAe,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CACN,KAAQ,EACR,IAAe;QAEf,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAe,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,QAAQ,GAAoB,EAAE,CAAC;QACrC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC7B,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;oBAC5B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1B,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACzB,IAAI,CAAC,WAAW,CAAC,KAAc,EAAE,IAAI,CAAC,CAAC;gBAC3C,CAAC;qBAAM,CAAC;oBACJ,MAAM,KAAK,CAAC;gBAChB,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC;gBACD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAChC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACzB,IAAI,CAAC,WAAW,CAAC,KAAc,EAAE,IAAI,CAAC,CAAC;gBAC3C,CAAC;qBAAM,CAAC;oBACJ,MAAM,KAAK,CAAC;gBAChB,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,QAAQ,CAAyB,KAAQ,EAAE,IAAe;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAe,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACzB,IAAI,CAAC,WAAW,CAAC,KAAc,EAAE,IAAI,CAAC,CAAC;gBAC3C,CAAC;qBAAM,CAAC;oBACJ,MAAM,KAAK,CAAC;gBAChB,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,QAAgC;QACpC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,KAAY,EAAE,IAAa;QAC3C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvC,IAAI,CAAC;gBACD,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACL,kCAAkC;YACtC,CAAC;QACL,CAAC;IACL,CAAC;IAED;;OAEG;IACH,aAAa,CAAyB,KAAQ;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAe,CAAC,CAAC;QACpD,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,YAAY,CAAyB,KAAQ;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAe,CAAC,CAAC;QACpD,OAAO,QAAQ;YACX,CAAC,CAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAgC;YACtD,CAAC,CAAC,EAAE,CAAC;IACb,CAAC;IAED;;OAEG;IACH,UAAU;QACN,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAqB,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,CAAS;QACrB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,eAAe;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAEhC,OAA6B;IAC3B,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC"}
|
|
@@ -4,17 +4,61 @@ export interface UploadProgress {
|
|
|
4
4
|
percentage: number;
|
|
5
5
|
}
|
|
6
6
|
export interface FileUploadOptions {
|
|
7
|
+
/** Called after each chunk completes with cumulative bytes loaded so far. */
|
|
7
8
|
onProgress?: (progress: UploadProgress) => void;
|
|
9
|
+
/**
|
|
10
|
+
* Size of each chunk in bytes.
|
|
11
|
+
* Values <= 0 fall back to the default.
|
|
12
|
+
* @default 5242880 (5 MB)
|
|
13
|
+
*/
|
|
8
14
|
chunkSize?: number;
|
|
15
|
+
/**
|
|
16
|
+
* Maximum retry attempts per chunk on failure.
|
|
17
|
+
* @default 3
|
|
18
|
+
*/
|
|
9
19
|
maxRetries?: number;
|
|
20
|
+
/**
|
|
21
|
+
* Per-chunk request timeout in milliseconds.
|
|
22
|
+
* @default 30000
|
|
23
|
+
*/
|
|
10
24
|
timeout?: number;
|
|
25
|
+
/** Additional headers sent with every chunk request. */
|
|
11
26
|
headers?: Record<string, string>;
|
|
27
|
+
/**
|
|
28
|
+
* 0-based chunk index to start uploading from, skipping all prior chunks.
|
|
29
|
+
* Pass the `uploadedChunks` value from a previous failed {@link UploadResponse}
|
|
30
|
+
* to resume an interrupted upload. Negative values are clamped to 0.
|
|
31
|
+
* @default 0
|
|
32
|
+
*/
|
|
33
|
+
resumeFrom?: number;
|
|
34
|
+
/**
|
|
35
|
+
* Maximum number of chunks to upload concurrently.
|
|
36
|
+
* Chunks are processed in sequential batches of this size.
|
|
37
|
+
* Values < 1 are clamped to 1 (sequential).
|
|
38
|
+
* @default 1
|
|
39
|
+
*/
|
|
40
|
+
concurrency?: number;
|
|
12
41
|
}
|
|
13
42
|
export interface UploadResponse {
|
|
43
|
+
/** Whether the upload completed successfully (all chunks sent). */
|
|
14
44
|
success: boolean;
|
|
45
|
+
/** Server-assigned file identifier (currently generated client-side as a UUID). */
|
|
15
46
|
fileId?: string;
|
|
47
|
+
/** URL of the uploaded file, if returned by the server. */
|
|
16
48
|
url?: string;
|
|
49
|
+
/** Error message when `success` is `false`. */
|
|
17
50
|
error?: string;
|
|
51
|
+
/**
|
|
52
|
+
* Number of chunks successfully uploaded (absolute count including any skipped
|
|
53
|
+
* by `resumeFrom`). On success equals `totalChunks`. On failure reflects chunks
|
|
54
|
+
* completed before the error — safe to pass as `resumeFrom` on the next call.
|
|
55
|
+
*/
|
|
56
|
+
uploadedChunks?: number;
|
|
57
|
+
/**
|
|
58
|
+
* Total number of chunks the file was divided into at the given `chunkSize`.
|
|
59
|
+
* Useful for computing resume progress or verifying chunk arithmetic.
|
|
60
|
+
*/
|
|
61
|
+
totalChunks?: number;
|
|
18
62
|
}
|
|
19
63
|
export declare class FileUploadHelper {
|
|
20
64
|
/**
|
|
@@ -22,7 +66,30 @@ export declare class FileUploadHelper {
|
|
|
22
66
|
*/
|
|
23
67
|
private static uploadChunkWithRetry;
|
|
24
68
|
/**
|
|
25
|
-
* Upload a file with progress tracking and
|
|
69
|
+
* Upload a file with chunking, progress tracking, resume support, and concurrency control.
|
|
70
|
+
*
|
|
71
|
+
* @param file - The file or blob to upload.
|
|
72
|
+
* @param endpoint - Destination URL (absolute or relative).
|
|
73
|
+
* @param options - Upload configuration. All fields are optional.
|
|
74
|
+
* @returns Result including `uploadedChunks` and `totalChunks` for resume support.
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```typescript
|
|
78
|
+
* // Basic chunked upload
|
|
79
|
+
* const result = await FileUploadHelper.uploadFile(file, "/api/upload", {
|
|
80
|
+
* chunkSize: 1_048_576,
|
|
81
|
+
* onProgress: (p) => console.log(`${p.percentage}%`),
|
|
82
|
+
* });
|
|
83
|
+
*
|
|
84
|
+
* // Resume an interrupted upload
|
|
85
|
+
* if (!result.success) {
|
|
86
|
+
* const resumed = await FileUploadHelper.uploadFile(file, "/api/upload", {
|
|
87
|
+
* chunkSize: 1_048_576,
|
|
88
|
+
* resumeFrom: result.uploadedChunks,
|
|
89
|
+
* concurrency: 3,
|
|
90
|
+
* });
|
|
91
|
+
* }
|
|
92
|
+
* ```
|
|
26
93
|
*/
|
|
27
94
|
static uploadFile(file: File | Blob, endpoint: string, options?: FileUploadOptions): Promise<UploadResponse>;
|
|
28
95
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploadHelper.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers/FileUploadHelper.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAC9B,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"FileUploadHelper.d.ts","sourceRoot":"","sources":["../../../src/utils/helpers/FileUploadHelper.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAC9B,6EAA6E;IAC7E,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;IAChD;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC3B,mEAAmE;IACnE,OAAO,EAAE,OAAO,CAAC;IACjB,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,gBAAgB;IACzB;;OAEG;mBACkB,oBAAoB;IAoCzC;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;WACU,UAAU,CACnB,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,iBAAsB,GAChC,OAAO,CAAC,cAAc,CAAC;IA8G1B;;OAEG;mBACkB,WAAW;IAgChC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAI/B;;OAEG;IACH,MAAM,CAAC,YAAY,CACf,IAAI,EAAE,IAAI,EACV,OAAO,GAAE;QACL,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;KAC3B,GACP;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;CAoCxC"}
|
|
@@ -22,41 +22,94 @@ export class FileUploadHelper {
|
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
|
-
* Upload a file with progress tracking and
|
|
25
|
+
* Upload a file with chunking, progress tracking, resume support, and concurrency control.
|
|
26
|
+
*
|
|
27
|
+
* @param file - The file or blob to upload.
|
|
28
|
+
* @param endpoint - Destination URL (absolute or relative).
|
|
29
|
+
* @param options - Upload configuration. All fields are optional.
|
|
30
|
+
* @returns Result including `uploadedChunks` and `totalChunks` for resume support.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* // Basic chunked upload
|
|
35
|
+
* const result = await FileUploadHelper.uploadFile(file, "/api/upload", {
|
|
36
|
+
* chunkSize: 1_048_576,
|
|
37
|
+
* onProgress: (p) => console.log(`${p.percentage}%`),
|
|
38
|
+
* });
|
|
39
|
+
*
|
|
40
|
+
* // Resume an interrupted upload
|
|
41
|
+
* if (!result.success) {
|
|
42
|
+
* const resumed = await FileUploadHelper.uploadFile(file, "/api/upload", {
|
|
43
|
+
* chunkSize: 1_048_576,
|
|
44
|
+
* resumeFrom: result.uploadedChunks,
|
|
45
|
+
* concurrency: 3,
|
|
46
|
+
* });
|
|
47
|
+
* }
|
|
48
|
+
* ```
|
|
26
49
|
*/
|
|
27
50
|
static async uploadFile(file, endpoint, options = {}) {
|
|
28
|
-
const { onProgress, chunkSize = 5 * 1024 * 1024,
|
|
29
|
-
|
|
51
|
+
const { onProgress, chunkSize = 5 * 1024 * 1024, maxRetries = 3, timeout = 30000, headers = {}, resumeFrom = 0, concurrency = 1, } = options;
|
|
52
|
+
// Clamp and validate options (D5: non-breaking defaults)
|
|
53
|
+
const resolvedChunkSize = chunkSize > 0 ? chunkSize : 5 * 1024 * 1024;
|
|
54
|
+
const resolvedConcurrency = Math.max(1, concurrency);
|
|
30
55
|
const totalSize = file.size;
|
|
31
|
-
const
|
|
56
|
+
const totalChunks = Math.ceil(totalSize / resolvedChunkSize);
|
|
57
|
+
const resolvedResumeFrom = Math.max(0, Math.min(resumeFrom, totalChunks));
|
|
32
58
|
const uploadId = this.generateUploadId();
|
|
59
|
+
// Nothing left to upload — all chunks already on the server
|
|
60
|
+
if (resolvedResumeFrom >= totalChunks) {
|
|
61
|
+
return {
|
|
62
|
+
success: true,
|
|
63
|
+
fileId: uploadId,
|
|
64
|
+
uploadedChunks: totalChunks,
|
|
65
|
+
totalChunks,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
// Pre-initialize progress baseline from already-uploaded (skipped) chunks
|
|
69
|
+
let loadedBytes = Math.min(resolvedResumeFrom * resolvedChunkSize, totalSize);
|
|
70
|
+
let uploadedChunksCount = resolvedResumeFrom;
|
|
33
71
|
try {
|
|
34
|
-
for (let
|
|
35
|
-
const
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
72
|
+
for (let batchStart = resolvedResumeFrom; batchStart < totalChunks; batchStart += resolvedConcurrency) {
|
|
73
|
+
const batchEnd = Math.min(batchStart + resolvedConcurrency, totalChunks);
|
|
74
|
+
const batchPromises = [];
|
|
75
|
+
for (let i = batchStart; i < batchEnd; i++) {
|
|
76
|
+
const start = i * resolvedChunkSize;
|
|
77
|
+
const end = Math.min(start + resolvedChunkSize, totalSize);
|
|
78
|
+
const chunk = file.slice(start, end);
|
|
79
|
+
const chunkBytes = end - start;
|
|
80
|
+
const chunkHeaders = {
|
|
81
|
+
...headers,
|
|
82
|
+
...(totalChunks > 1 ? { "X-Upload-ID": uploadId } : {}),
|
|
83
|
+
};
|
|
84
|
+
batchPromises.push(this.uploadChunkWithRetry(chunk, endpoint, i, totalChunks, chunkHeaders, timeout, maxRetries).then(() => {
|
|
85
|
+
// Fires per-chunk (not per-batch) even under concurrency
|
|
86
|
+
loadedBytes += chunkBytes;
|
|
87
|
+
uploadedChunksCount++;
|
|
88
|
+
if (onProgress) {
|
|
89
|
+
onProgress({
|
|
90
|
+
loaded: loadedBytes,
|
|
91
|
+
total: totalSize,
|
|
92
|
+
percentage: parseFloat(((loadedBytes / totalSize) *
|
|
93
|
+
100).toFixed(2)),
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}));
|
|
49
97
|
}
|
|
98
|
+
await Promise.all(batchPromises);
|
|
50
99
|
}
|
|
51
100
|
return {
|
|
52
101
|
success: true,
|
|
53
102
|
fileId: uploadId,
|
|
103
|
+
uploadedChunks: uploadedChunksCount,
|
|
104
|
+
totalChunks,
|
|
54
105
|
};
|
|
55
106
|
}
|
|
56
107
|
catch (error) {
|
|
57
108
|
return {
|
|
58
109
|
success: false,
|
|
59
110
|
error: error instanceof Error ? error.message : "Upload failed",
|
|
111
|
+
uploadedChunks: uploadedChunksCount,
|
|
112
|
+
totalChunks,
|
|
60
113
|
};
|
|
61
114
|
}
|
|
62
115
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploadHelper.js","sourceRoot":"","sources":["../../../src/utils/helpers/FileUploadHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"FileUploadHelper.js","sourceRoot":"","sources":["../../../src/utils/helpers/FileUploadHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,71 @@
|
|
|
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 declare class StorageManager {
|
|
2
16
|
private storage;
|
|
17
|
+
/**
|
|
18
|
+
* Creates a new `StorageManager` instance.
|
|
19
|
+
*
|
|
20
|
+
* @param storage - The `Storage` backend to use. Defaults to
|
|
21
|
+
* `localStorage`.
|
|
22
|
+
*/
|
|
3
23
|
constructor(storage?: Storage);
|
|
24
|
+
/**
|
|
25
|
+
* Serialises a value to JSON and stores it under the given key.
|
|
26
|
+
*
|
|
27
|
+
* @template T - Type of the value to store.
|
|
28
|
+
* @param key - Storage key.
|
|
29
|
+
* @param value - Value to serialise and store.
|
|
30
|
+
* @param ttlMs - Optional time-to-live in milliseconds. When set, the
|
|
31
|
+
* entry is automatically invalidated after this duration.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* store.set('token', 'abc123', 60_000); // expires in 60 s
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
4
38
|
set<T>(key: string, value: T, ttlMs?: number): void;
|
|
39
|
+
/**
|
|
40
|
+
* Retrieves and deserialises a stored value.
|
|
41
|
+
*
|
|
42
|
+
* Returns `null` when the key does not exist, the stored JSON is malformed,
|
|
43
|
+
* or the entry's TTL has expired (expired entries are removed automatically).
|
|
44
|
+
*
|
|
45
|
+
* @template T - Expected type of the stored value.
|
|
46
|
+
* @param key - Storage key to retrieve.
|
|
47
|
+
* @returns The deserialised value, or `null` on miss or expiry.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```typescript
|
|
51
|
+
* const token = store.get<string>('token');
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
5
54
|
get<T>(key: string): T | null;
|
|
55
|
+
/**
|
|
56
|
+
* Removes a single entry from storage.
|
|
57
|
+
*
|
|
58
|
+
* @param key - Storage key to remove.
|
|
59
|
+
*/
|
|
6
60
|
remove(key: string): void;
|
|
61
|
+
/**
|
|
62
|
+
* Removes all entries from the underlying storage backend.
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```typescript
|
|
66
|
+
* store.clear(); // clears all localStorage entries
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
7
69
|
clear(): void;
|
|
8
70
|
}
|
|
9
71
|
//# sourceMappingURL=StorageUtils.d.ts.map
|