bytekit 2.2.0 → 2.2.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 +4 -1
- package/dist/cli/index.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 +178 -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/core/ApiClient.d.ts +22 -1
- package/dist/utils/core/ApiClient.d.ts.map +1 -1
- package/dist/utils/core/ApiClient.js +52 -3
- package/dist/utils/core/ApiClient.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/StreamingHelper.d.ts.map +1 -1
- package/dist/utils/helpers/StreamingHelper.js +9 -5
- package/dist/utils/helpers/StreamingHelper.js.map +1 -1
- package/dist/utils/helpers/UrlHelper.d.ts.map +1 -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 +111 -3
- package/dist/utils/helpers/WebSocketHelper.js.map +1 -1
- package/package.json +5 -1
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RequestQueue — Priority-aware, concurrency-limited task queue with AbortSignal cancellation.
|
|
3
|
+
* Feature: 004-batching-system
|
|
4
|
+
* Zero external dependencies: AbortController, Map (built-in).
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Thrown when a queued task is cancelled — either via an external AbortSignal
|
|
8
|
+
* or via the internal `cancel(id)` mechanism.
|
|
9
|
+
*/
|
|
10
|
+
export class QueueAbortError extends Error {
|
|
11
|
+
constructor(message) {
|
|
12
|
+
super(message ?? "Request cancelled");
|
|
13
|
+
this.name = "QueueAbortError";
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* A priority-aware, concurrency-limited task queue with AbortSignal-based cancellation.
|
|
18
|
+
*
|
|
19
|
+
* Tasks are organised into three lanes (`high`, `normal`, `low`). At any moment,
|
|
20
|
+
* at most `concurrency` tasks execute simultaneously. When a slot opens, the
|
|
21
|
+
* highest-priority queued task is dequeued and started.
|
|
22
|
+
*
|
|
23
|
+
* **Consumer cancellation** is done via `AddOptions.signal`.
|
|
24
|
+
* The `cancel(id)` method is an internal queue-management mechanism.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* const queue = new RequestQueue({ concurrency: 3 });
|
|
29
|
+
*
|
|
30
|
+
* const result = await queue.add(
|
|
31
|
+
* (signal) => fetch("/api/data", { signal }),
|
|
32
|
+
* { priority: "high" }
|
|
33
|
+
* );
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export class RequestQueue {
|
|
37
|
+
/**
|
|
38
|
+
* Creates a new RequestQueue.
|
|
39
|
+
* @throws {TypeError} if `concurrency` is less than 1.
|
|
40
|
+
*/
|
|
41
|
+
constructor(options) {
|
|
42
|
+
Object.defineProperty(this, "_concurrency", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
configurable: true,
|
|
45
|
+
writable: true,
|
|
46
|
+
value: void 0
|
|
47
|
+
});
|
|
48
|
+
Object.defineProperty(this, "_onError", {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
configurable: true,
|
|
51
|
+
writable: true,
|
|
52
|
+
value: void 0
|
|
53
|
+
});
|
|
54
|
+
Object.defineProperty(this, "_high", {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
configurable: true,
|
|
57
|
+
writable: true,
|
|
58
|
+
value: []
|
|
59
|
+
});
|
|
60
|
+
Object.defineProperty(this, "_normal", {
|
|
61
|
+
enumerable: true,
|
|
62
|
+
configurable: true,
|
|
63
|
+
writable: true,
|
|
64
|
+
value: []
|
|
65
|
+
});
|
|
66
|
+
Object.defineProperty(this, "_low", {
|
|
67
|
+
enumerable: true,
|
|
68
|
+
configurable: true,
|
|
69
|
+
writable: true,
|
|
70
|
+
value: []
|
|
71
|
+
});
|
|
72
|
+
Object.defineProperty(this, "_running", {
|
|
73
|
+
enumerable: true,
|
|
74
|
+
configurable: true,
|
|
75
|
+
writable: true,
|
|
76
|
+
value: 0
|
|
77
|
+
});
|
|
78
|
+
Object.defineProperty(this, "_active", {
|
|
79
|
+
enumerable: true,
|
|
80
|
+
configurable: true,
|
|
81
|
+
writable: true,
|
|
82
|
+
value: new Map()
|
|
83
|
+
});
|
|
84
|
+
Object.defineProperty(this, "_counter", {
|
|
85
|
+
enumerable: true,
|
|
86
|
+
configurable: true,
|
|
87
|
+
writable: true,
|
|
88
|
+
value: 0
|
|
89
|
+
});
|
|
90
|
+
Object.defineProperty(this, "_flushWaiters", {
|
|
91
|
+
enumerable: true,
|
|
92
|
+
configurable: true,
|
|
93
|
+
writable: true,
|
|
94
|
+
value: []
|
|
95
|
+
});
|
|
96
|
+
if (options.concurrency < 1) {
|
|
97
|
+
throw new TypeError("concurrency must be >= 1");
|
|
98
|
+
}
|
|
99
|
+
this._concurrency = options.concurrency;
|
|
100
|
+
this._onError = options.onError;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Enqueues a task. The task factory receives an internal AbortSignal
|
|
104
|
+
* that fires when the task is cancelled via `cancel(id)`.
|
|
105
|
+
*
|
|
106
|
+
* @returns `Promise<T>` resolving to the task's return value.
|
|
107
|
+
* @throws {@link QueueAbortError} if cancelled before or during execution.
|
|
108
|
+
* @throws Whatever the task itself throws.
|
|
109
|
+
*/
|
|
110
|
+
add(task, options) {
|
|
111
|
+
const priority = options?.priority ?? "normal";
|
|
112
|
+
const externalSignal = options?.signal;
|
|
113
|
+
if (externalSignal?.aborted) {
|
|
114
|
+
return Promise.reject(new QueueAbortError());
|
|
115
|
+
}
|
|
116
|
+
const controller = new AbortController();
|
|
117
|
+
const id = String(++this._counter);
|
|
118
|
+
return new Promise((resolve, reject) => {
|
|
119
|
+
const item = {
|
|
120
|
+
task,
|
|
121
|
+
priority,
|
|
122
|
+
resolve,
|
|
123
|
+
reject,
|
|
124
|
+
controller,
|
|
125
|
+
id,
|
|
126
|
+
};
|
|
127
|
+
const lane = priority === "high"
|
|
128
|
+
? this._high
|
|
129
|
+
: priority === "low"
|
|
130
|
+
? this._low
|
|
131
|
+
: this._normal;
|
|
132
|
+
lane.push(item);
|
|
133
|
+
if (externalSignal) {
|
|
134
|
+
externalSignal.addEventListener("abort", () => {
|
|
135
|
+
this.cancel(id);
|
|
136
|
+
}, { once: true });
|
|
137
|
+
}
|
|
138
|
+
this._drain();
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
_drain() {
|
|
142
|
+
while (this._running < this._concurrency) {
|
|
143
|
+
const item = this._high.shift() ?? this._normal.shift() ?? this._low.shift();
|
|
144
|
+
if (!item)
|
|
145
|
+
break;
|
|
146
|
+
this._running++;
|
|
147
|
+
this._active.set(item.id, item);
|
|
148
|
+
const p = item
|
|
149
|
+
.task(item.controller.signal)
|
|
150
|
+
.then((value) => {
|
|
151
|
+
item.resolve(value);
|
|
152
|
+
}, (err) => {
|
|
153
|
+
this._onError?.(err instanceof Error ? err : new Error(String(err)), item.id);
|
|
154
|
+
item.reject(err);
|
|
155
|
+
})
|
|
156
|
+
.finally(() => {
|
|
157
|
+
this._running--;
|
|
158
|
+
this._active.delete(item.id);
|
|
159
|
+
this._drain();
|
|
160
|
+
});
|
|
161
|
+
void p;
|
|
162
|
+
}
|
|
163
|
+
this._notifyFlushWaiters();
|
|
164
|
+
}
|
|
165
|
+
_notifyFlushWaiters() {
|
|
166
|
+
if (this._running === 0 && this.size === 0) {
|
|
167
|
+
const waiters = this._flushWaiters.splice(0);
|
|
168
|
+
for (const w of waiters)
|
|
169
|
+
w();
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Cancels a task by ID.
|
|
174
|
+
* - **Queued task**: removed from its lane; promise rejects with {@link QueueAbortError}.
|
|
175
|
+
* Task factory is never called.
|
|
176
|
+
* - **In-flight task**: internal AbortSignal is fired. The task is responsible
|
|
177
|
+
* for reacting to signal abortion and rejecting its promise.
|
|
178
|
+
*
|
|
179
|
+
* @returns `true` if the ID was found; `false` otherwise.
|
|
180
|
+
* @internal Public consumers should use `AddOptions.signal` for cancellation.
|
|
181
|
+
*/
|
|
182
|
+
cancel(id) {
|
|
183
|
+
for (const lane of [this._high, this._normal, this._low]) {
|
|
184
|
+
const idx = lane.findIndex((i) => i.id === id);
|
|
185
|
+
if (idx !== -1) {
|
|
186
|
+
const [item] = lane.splice(idx, 1);
|
|
187
|
+
item.reject(new QueueAbortError());
|
|
188
|
+
this._notifyFlushWaiters();
|
|
189
|
+
return true;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
const active = this._active.get(id);
|
|
193
|
+
if (active) {
|
|
194
|
+
active.controller.abort();
|
|
195
|
+
return true;
|
|
196
|
+
}
|
|
197
|
+
return false;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Resolves when all currently queued and running tasks have settled.
|
|
201
|
+
* Tasks added after `flush()` is called are included in the wait.
|
|
202
|
+
*/
|
|
203
|
+
flush() {
|
|
204
|
+
if (this._running === 0 && this.size === 0) {
|
|
205
|
+
return Promise.resolve();
|
|
206
|
+
}
|
|
207
|
+
return new Promise((resolve) => {
|
|
208
|
+
this._flushWaiters.push(resolve);
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
/** @internal Returns IDs of all queued (not yet running) items across all lanes. */
|
|
212
|
+
_queuedIds() {
|
|
213
|
+
return [
|
|
214
|
+
...this._high.map((i) => i.id),
|
|
215
|
+
...this._normal.map((i) => i.id),
|
|
216
|
+
...this._low.map((i) => i.id),
|
|
217
|
+
];
|
|
218
|
+
}
|
|
219
|
+
/** @internal Returns IDs of all currently running items. */
|
|
220
|
+
_runningIds() {
|
|
221
|
+
return [...this._active.keys()];
|
|
222
|
+
}
|
|
223
|
+
/** Number of tasks waiting to start (across all priority lanes). */
|
|
224
|
+
get size() {
|
|
225
|
+
return this._high.length + this._normal.length + this._low.length;
|
|
226
|
+
}
|
|
227
|
+
/** Number of tasks currently executing. */
|
|
228
|
+
get running() {
|
|
229
|
+
return this._running;
|
|
230
|
+
}
|
|
231
|
+
/** Total active work: `size + running`. */
|
|
232
|
+
get pending() {
|
|
233
|
+
return this.size + this._running;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
//# sourceMappingURL=request-queue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-queue.js","sourceRoot":"","sources":["../../../src/utils/async/request-queue.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,9 @@ import { Logger } from "#core/Logger.js";
|
|
|
2
2
|
import { RetryConfig, CircuitBreakerConfig } from "#core/RetryPolicy.js";
|
|
3
3
|
import { ValidationSchema } from "#core/ResponseValidator.js";
|
|
4
4
|
import { SchemaAdapter } from "./SchemaAdapter.js";
|
|
5
|
+
import { PromisePoolOptions } from "../async/promise-pool.js";
|
|
6
|
+
import { RequestQueueOptions } from "../async/request-queue.js";
|
|
7
|
+
import { BatchOptions } from "../async/request-batcher.js";
|
|
5
8
|
export type QueryParamValue = string | number | boolean | null | undefined;
|
|
6
9
|
export type QueryParam = QueryParamValue | QueryParamValue[] | Record<string, unknown>;
|
|
7
10
|
export type Locale = "en" | "es";
|
|
@@ -24,6 +27,12 @@ export interface ApiClientConfig {
|
|
|
24
27
|
logger?: Logger;
|
|
25
28
|
retryPolicy?: RetryConfig;
|
|
26
29
|
circuitBreaker?: CircuitBreakerConfig;
|
|
30
|
+
/** Optional pool for limiting concurrent requests. */
|
|
31
|
+
pool?: PromisePoolOptions;
|
|
32
|
+
/** Optional request queue for concurrency-limited, priority-aware request execution. */
|
|
33
|
+
queue?: RequestQueueOptions;
|
|
34
|
+
/** Optional request batcher for time-window deduplication of identical requests. */
|
|
35
|
+
batch?: BatchOptions;
|
|
27
36
|
}
|
|
28
37
|
export type RequestBody = Record<string, unknown> | unknown[] | string | FormData | Blob | BufferSource;
|
|
29
38
|
export interface RequestOptions<TResponse = unknown> extends Omit<RequestInit, "body"> {
|
|
@@ -32,6 +41,14 @@ export interface RequestOptions<TResponse = unknown> extends Omit<RequestInit, "
|
|
|
32
41
|
errorLocale?: Locale;
|
|
33
42
|
timeoutMs?: number;
|
|
34
43
|
validateResponse?: ValidationSchema | SchemaAdapter<TResponse>;
|
|
44
|
+
/**
|
|
45
|
+
* Optional post-processing pipeline applied to the response body after parsing
|
|
46
|
+
* and validation. Applied after `validateResponse` (if present) has already run.
|
|
47
|
+
* If `pipeline.process()` throws, the error propagates as a request error.
|
|
48
|
+
*/
|
|
49
|
+
pipeline?: {
|
|
50
|
+
process(data: TResponse): Promise<unknown>;
|
|
51
|
+
};
|
|
35
52
|
skipRetry?: boolean;
|
|
36
53
|
skipInterceptors?: boolean;
|
|
37
54
|
logHeaders?: boolean;
|
|
@@ -109,6 +126,9 @@ export declare class ApiClient {
|
|
|
109
126
|
private readonly errorMessages;
|
|
110
127
|
private readonly retryPolicy;
|
|
111
128
|
private readonly circuitBreaker;
|
|
129
|
+
private readonly pool?;
|
|
130
|
+
private readonly _queue?;
|
|
131
|
+
private readonly _batcher?;
|
|
112
132
|
/**
|
|
113
133
|
* Creates a new ApiClient instance.
|
|
114
134
|
*
|
|
@@ -123,7 +143,7 @@ export declare class ApiClient {
|
|
|
123
143
|
*
|
|
124
144
|
* @param config Client configuration including baseUrl, headers, and policies.
|
|
125
145
|
*/
|
|
126
|
-
constructor({ baseUrl, baseURL, defaultHeaders, fetchImpl, locale, errorMessages, timeoutMs, interceptors, disableInterceptors, logHeaders, redactHeaderKeys, logger, retryPolicy, circuitBreaker, }: ApiClientConfig);
|
|
146
|
+
constructor({ baseUrl, baseURL, defaultHeaders, fetchImpl, locale, errorMessages, timeoutMs, interceptors, disableInterceptors, logHeaders, redactHeaderKeys, logger, retryPolicy, circuitBreaker, pool, queue, batch, }: ApiClientConfig);
|
|
127
147
|
get<T>(path: string | URL, options?: RequestOptions<T>): Promise<T>;
|
|
128
148
|
/**
|
|
129
149
|
* POST request - Acepta body directamente o RequestOptions
|
|
@@ -177,6 +197,7 @@ export declare class ApiClient {
|
|
|
177
197
|
*/
|
|
178
198
|
private handleRequestError;
|
|
179
199
|
request<T>(path: string | URL, options?: RequestOptions<T>): Promise<T>;
|
|
200
|
+
private executeRequest;
|
|
180
201
|
/**
|
|
181
202
|
* Normaliza el segundo parámetro de post/put/patch para soportar:
|
|
182
203
|
* 1. Body directo: post("/path", { name: "John" })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiClient.d.ts","sourceRoot":"","sources":["../../../src/utils/core/ApiClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ApiClient.d.ts","sourceRoot":"","sources":["../../../src/utils/core/ApiClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,9 @@ import { retry as retryFn } from "../async/retry.js";
|
|
|
3
3
|
import { RetryPolicy, CircuitBreaker, } from "#core/RetryPolicy.js";
|
|
4
4
|
import { ResponseValidator, } from "#core/ResponseValidator.js";
|
|
5
5
|
import { isSchemaAdapter } from "./SchemaAdapter.js";
|
|
6
|
+
import { PromisePool } from "../async/promise-pool.js";
|
|
7
|
+
import { RequestQueue } from "../async/request-queue.js";
|
|
8
|
+
import { RequestBatcher } from "../async/request-batcher.js";
|
|
6
9
|
export class ApiError extends Error {
|
|
7
10
|
constructor(status, statusText, message, body, isTimeout = false) {
|
|
8
11
|
super(message);
|
|
@@ -127,7 +130,7 @@ export class ApiClient {
|
|
|
127
130
|
*
|
|
128
131
|
* @param config Client configuration including baseUrl, headers, and policies.
|
|
129
132
|
*/
|
|
130
|
-
constructor({ baseUrl, baseURL, defaultHeaders, fetchImpl, locale = "es", errorMessages, timeoutMs = 15000, interceptors, disableInterceptors = false, logHeaders = false, redactHeaderKeys, logger, retryPolicy, circuitBreaker, }) {
|
|
133
|
+
constructor({ baseUrl, baseURL, defaultHeaders, fetchImpl, locale = "es", errorMessages, timeoutMs = 15000, interceptors, disableInterceptors = false, logHeaders = false, redactHeaderKeys, logger, retryPolicy, circuitBreaker, pool, queue, batch, }) {
|
|
131
134
|
Object.defineProperty(this, "baseUrl", {
|
|
132
135
|
enumerable: true,
|
|
133
136
|
configurable: true,
|
|
@@ -206,6 +209,24 @@ export class ApiClient {
|
|
|
206
209
|
writable: true,
|
|
207
210
|
value: void 0
|
|
208
211
|
});
|
|
212
|
+
Object.defineProperty(this, "pool", {
|
|
213
|
+
enumerable: true,
|
|
214
|
+
configurable: true,
|
|
215
|
+
writable: true,
|
|
216
|
+
value: void 0
|
|
217
|
+
});
|
|
218
|
+
Object.defineProperty(this, "_queue", {
|
|
219
|
+
enumerable: true,
|
|
220
|
+
configurable: true,
|
|
221
|
+
writable: true,
|
|
222
|
+
value: void 0
|
|
223
|
+
});
|
|
224
|
+
Object.defineProperty(this, "_batcher", {
|
|
225
|
+
enumerable: true,
|
|
226
|
+
configurable: true,
|
|
227
|
+
writable: true,
|
|
228
|
+
value: void 0
|
|
229
|
+
});
|
|
209
230
|
// Support both baseUrl and baseURL (common convention)
|
|
210
231
|
const url = baseUrl ?? baseURL;
|
|
211
232
|
if (!url) {
|
|
@@ -231,6 +252,9 @@ export class ApiClient {
|
|
|
231
252
|
this.logger = logger;
|
|
232
253
|
this.retryPolicy = new RetryPolicy(retryPolicy);
|
|
233
254
|
this.circuitBreaker = new CircuitBreaker(circuitBreaker);
|
|
255
|
+
this.pool = pool ? new PromisePool(pool) : undefined;
|
|
256
|
+
this._queue = queue ? new RequestQueue(queue) : undefined;
|
|
257
|
+
this._batcher = batch ? new RequestBatcher(batch) : undefined;
|
|
234
258
|
}
|
|
235
259
|
// -------------------------
|
|
236
260
|
// Core request shortcuts
|
|
@@ -419,7 +443,28 @@ export class ApiClient {
|
|
|
419
443
|
throw err;
|
|
420
444
|
}
|
|
421
445
|
async request(path, options = {}) {
|
|
422
|
-
|
|
446
|
+
// US4: RequestQueue — concurrency-limited, priority-aware queue
|
|
447
|
+
if (this._queue) {
|
|
448
|
+
return this._queue.add((_signal) => this.executeRequest(path, options));
|
|
449
|
+
}
|
|
450
|
+
// US4: RequestBatcher — time-window deduplication
|
|
451
|
+
if (this._batcher) {
|
|
452
|
+
const pathStr = String(path);
|
|
453
|
+
const method = (options.method ?? "GET").toUpperCase();
|
|
454
|
+
const proxyInit = { method };
|
|
455
|
+
return this._batcher.add(pathStr, proxyInit, (_url, _init) => this.executeRequest(path, options));
|
|
456
|
+
}
|
|
457
|
+
// T026: legacy pool support (003) — if a pool is configured, route through it
|
|
458
|
+
if (this.pool) {
|
|
459
|
+
const results = await this.pool.run([
|
|
460
|
+
() => this.executeRequest(path, options),
|
|
461
|
+
]);
|
|
462
|
+
return results[0];
|
|
463
|
+
}
|
|
464
|
+
return this.executeRequest(path, options);
|
|
465
|
+
}
|
|
466
|
+
async executeRequest(path, options = {}) {
|
|
467
|
+
const { validateResponse, pipeline, skipRetry, skipInterceptors, logHeaders, ...requestOptions } = options;
|
|
423
468
|
const executeRequest = async () => {
|
|
424
469
|
return this.circuitBreaker.execute(async () => {
|
|
425
470
|
const { errorLocale, ...rest } = requestOptions;
|
|
@@ -449,7 +494,11 @@ export class ApiClient {
|
|
|
449
494
|
throw await this.toApiError(finalResponse, errorLocale);
|
|
450
495
|
}
|
|
451
496
|
// Process response
|
|
452
|
-
|
|
497
|
+
let data = await this.processResponse(finalResponse, validateResponse);
|
|
498
|
+
// Apply optional pipeline post-processing
|
|
499
|
+
if (pipeline) {
|
|
500
|
+
data = await pipeline.process(data);
|
|
501
|
+
}
|
|
453
502
|
this.logger?.debug("HTTP Response", {
|
|
454
503
|
status: finalResponse.status,
|
|
455
504
|
url,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiClient.js","sourceRoot":"","sources":["../../../src/utils/core/ApiClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ApiClient.js","sourceRoot":"","sources":["../../../src/utils/core/ApiClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -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"}
|