@hyperttp/core 1.3.1 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/Core/HyperCore.d.ts +135 -77
  2. package/Core/HyperCore.d.ts.map +1 -1
  3. package/Core/HyperCore.js +280 -246
  4. package/Core/HyperCore.js.map +1 -1
  5. package/README.md +169 -96
  6. package/package.json +14 -8
  7. package/transports/browser.d.ts +228 -0
  8. package/transports/browser.d.ts.map +1 -0
  9. package/transports/browser.js +451 -0
  10. package/transports/browser.js.map +1 -0
  11. package/transports/manager.d.ts +9 -85
  12. package/transports/manager.d.ts.map +1 -1
  13. package/transports/manager.js +152 -222
  14. package/transports/manager.js.map +1 -1
  15. package/transports/node.d.ts +4 -36
  16. package/transports/node.d.ts.map +1 -1
  17. package/transports/node.js +119 -159
  18. package/transports/node.js.map +1 -1
  19. package/utils/decompress.d.ts +16 -20
  20. package/utils/decompress.d.ts.map +1 -1
  21. package/utils/decompress.js +151 -60
  22. package/utils/decompress.js.map +1 -1
  23. package/utils/errors.d.ts +0 -10
  24. package/utils/errors.d.ts.map +1 -1
  25. package/utils/errors.js +1 -11
  26. package/utils/errors.js.map +1 -1
  27. package/utils/merge.d.ts +0 -3
  28. package/utils/merge.d.ts.map +1 -1
  29. package/utils/merge.js +12 -22
  30. package/utils/merge.js.map +1 -1
  31. package/utils/normalize.d.ts +40 -21
  32. package/utils/normalize.d.ts.map +1 -1
  33. package/utils/normalize.js +217 -138
  34. package/utils/normalize.js.map +1 -1
  35. package/utils/pipeline.d.ts +10 -30
  36. package/utils/pipeline.d.ts.map +1 -1
  37. package/utils/pipeline.js +44 -44
  38. package/utils/pipeline.js.map +1 -1
  39. package/utils/response.d.ts +105 -23
  40. package/utils/response.d.ts.map +1 -1
  41. package/utils/response.js +308 -38
  42. package/utils/response.js.map +1 -1
  43. package/utils/retryUtils.d.ts +2 -10
  44. package/utils/retryUtils.d.ts.map +1 -1
  45. package/utils/retryUtils.js +17 -21
  46. package/utils/retryUtils.js.map +1 -1
@@ -1,9 +1,11 @@
1
1
  /**
2
- * @ru Множество заголовков, которые должны иметь только одно значение (не объединяются при повторении).
3
- * @en Set of headers that should have only a single value (not merged when repeated).
2
+ * @ru Карта заголовков, которые должны содержать только одно значение (не массив).
3
+ * Использует `Object.create(null)` для быстрого доступа без прототипа.
4
+ * @en Map of headers that should contain only a single value (not an array).
5
+ * Uses `Object.create(null)` for fast prototype-less access.
4
6
  */
5
7
  const SINGLE_VALUE_HEADERS = Object.create(null);
6
- const svh = [
8
+ for (const h of [
7
9
  "content-type",
8
10
  "content-length",
9
11
  "content-encoding",
@@ -17,13 +19,12 @@ const svh = [
17
19
  "location",
18
20
  "etag",
19
21
  "last-modified",
20
- ];
21
- for (let i = 0; i < svh.length; i++) {
22
- SINGLE_VALUE_HEADERS[svh[i]] = true;
22
+ ]) {
23
+ SINGLE_VALUE_HEADERS[h] = 1;
23
24
  }
24
25
  /**
25
- * @ru Кэш нормализованных методов HTTP для быстрого доступа.
26
- * @en Cache of normalized HTTP methods for fast lookup.
26
+ * @ru Кэш нормализованных HTTP-методов для избежания повторных вызовов `toUpperCase()`.
27
+ * @en Cache of normalized HTTP methods to avoid repeated `toUpperCase()` calls.
27
28
  */
28
29
  const METHOD_CACHE = {
29
30
  get: "GET",
@@ -42,167 +43,245 @@ const METHOD_CACHE = {
42
43
  OPTIONS: "OPTIONS",
43
44
  };
44
45
  /**
45
- * @ru Нормализует метод HTTP: приводит к верхнему регистру, использует кэш для часто встречающихся методов.
46
- * @en Normalizes an HTTP method: converts to uppercase, uses cache for common methods.
47
- * @param method - Raw method string (e.g., 'get', 'POST').
48
- * @returns Normalized uppercase method.
46
+ * @ru Кэш для нормализации ключей заголовков (lowercase).
47
+ * Ограничен размером HEADER_CACHE_LIMIT для предотвращения утечек памяти.
48
+ * @en Cache for header key normalization (lowercase).
49
+ * Limited by HEADER_CACHE_LIMIT to prevent memory leaks.
49
50
  */
50
- export function normalizeMethod(method) {
51
- const cached = METHOD_CACHE[method];
51
+ const HEADER_CACHE_LIMIT = 2048;
52
+ const HEADER_KEY_CACHE = Object.create(null);
53
+ /**
54
+ * @ru Список наиболее распространённых HTTP-заголовков для предзаполнения кэша.
55
+ * @en List of most common HTTP headers for cache pre-population.
56
+ */
57
+ const COMMON_HEADERS = [
58
+ "accept",
59
+ "accept-encoding",
60
+ "accept-language",
61
+ "authorization",
62
+ "cache-control",
63
+ "connection",
64
+ "content-encoding",
65
+ "content-length",
66
+ "content-type",
67
+ "cookie",
68
+ "date",
69
+ "etag",
70
+ "host",
71
+ "if-modified-since",
72
+ "if-none-match",
73
+ "keep-alive",
74
+ "location",
75
+ "origin",
76
+ "pragma",
77
+ "proxy-authorization",
78
+ "referer",
79
+ "sec-ch-ua",
80
+ "server",
81
+ "set-cookie",
82
+ "transfer-encoding",
83
+ "user-agent",
84
+ "x-forwarded-for",
85
+ "x-requested-with",
86
+ ];
87
+ for (let i = 0; i < COMMON_HEADERS.length; i++) {
88
+ const lower = COMMON_HEADERS[i];
89
+ HEADER_KEY_CACHE[lower] = lower;
90
+ }
91
+ let cacheSize = COMMON_HEADERS.length;
92
+ /**
93
+ * @ru Быстрая нормализация ключа заголовка в нижний регистр с кэшированием.
94
+ * @en Fast header key normalization to lowercase with caching.
95
+ * @param key - The header key to normalize.
96
+ * @returns The lowercase version of the key.
97
+ */
98
+ function fastLowercaseKey(key) {
99
+ const cached = HEADER_KEY_CACHE[key];
52
100
  if (cached !== undefined)
53
101
  return cached;
54
- return method.toUpperCase();
102
+ const lower = key.toLowerCase();
103
+ if (cacheSize < HEADER_CACHE_LIMIT) {
104
+ HEADER_KEY_CACHE[key] = lower;
105
+ cacheSize++;
106
+ }
107
+ return lower;
55
108
  }
56
109
  /**
57
- * @ru Извлекает URL из объекта запроса или строки. Поддерживает поля url, _url, или комбинацию scheme/host/path.
58
- * @en Extracts a URL from a request object or string. Supports url, _url fields, or scheme/host/path combination.
59
- * @param req - Request object or URL string.
60
- * @returns Normalized URL string.
61
- * @throws If URL cannot be resolved.
110
+ * @ru Нормализует HTTP-метод в верхний регистр с кэшированием.
111
+ * @en Normalizes HTTP method to uppercase with caching.
112
+ * @param method - The HTTP method string (e.g., 'get', 'POST').
113
+ * @returns The normalized HTTP method in uppercase.
114
+ */
115
+ export function normalizeMethod(method) {
116
+ const cached = METHOD_CACHE[method];
117
+ return cached !== undefined ? cached : method.toUpperCase();
118
+ }
119
+ /**
120
+ * @ru Извлекает URL из объекта запроса или строки.
121
+ * Поддерживает различные форматы: строка, объект с полем `url`, `_url`, или `scheme/host/path`.
122
+ * @en Extracts URL from a request object or string.
123
+ * Supports various formats: string, object with `url`, `_url`, or `scheme/host/path` fields.
124
+ * @param req - The request object or URL string.
125
+ * @returns The extracted URL string.
126
+ * @throws Error if URL is missing in the request.
62
127
  */
63
128
  export function normalizeUrl(req) {
64
129
  if (typeof req === "string")
65
130
  return req;
66
- if (req.url)
67
- return typeof req.url === "string" ? req.url : String(req.url);
68
- if (req._url)
69
- return typeof req._url === "string" ? req._url : String(req._url);
70
- if (req.scheme && req.host && req.path) {
71
- return `${req.scheme}://${req.host}${req.path}`;
131
+ if (req && typeof req === "object") {
132
+ const r = req;
133
+ const url = r.url;
134
+ if (typeof url === "string")
135
+ return url;
136
+ if (url != null)
137
+ return String(url);
138
+ const u = r._url;
139
+ if (typeof u === "string")
140
+ return u;
141
+ if (u != null)
142
+ return String(u);
143
+ const scheme = r.scheme;
144
+ const host = r.host;
145
+ const path = r.path;
146
+ if (typeof scheme === "string" && typeof host === "string" && typeof path === "string") {
147
+ return `${scheme}://${host}${path}`;
148
+ }
72
149
  }
73
150
  throw new Error("URL missing in request");
74
151
  }
75
152
  /**
76
- * @ru Нормализует заголовки из различных форматов (массив, объект) в единый объект с правильной обработкой множественных значений (cookie, set-cookie).
77
- * @en Normalizes headers from various formats (array, object) into a single object with proper handling of multi-value headers (cookie, set-cookie).
78
- * @param headers - Raw headers in array or object format.
79
- * @returns Normalized headers object where values are strings or arrays of strings (for set-cookie).
153
+ * @ru Добавляет значение заголовка к нормализованному объекту заголовков.
154
+ * Учитывает специальные правила для `set-cookie`, `cookie`, и других заголовков.
155
+ * @en Appends a header value to the normalized headers object.
156
+ * Accounts for special rules for `set-cookie`, `cookie`, and other headers.
157
+ * @param out - The normalized headers object to modify.
158
+ * @param lowerKey - The lowercase header key.
159
+ * @param value - The header value to append.
160
+ */
161
+ function appendHeader(out, lowerKey, value) {
162
+ if (SINGLE_VALUE_HEADERS[lowerKey] === 1) {
163
+ out[lowerKey] = value;
164
+ return;
165
+ }
166
+ const existing = out[lowerKey];
167
+ if (existing === undefined) {
168
+ out[lowerKey] = lowerKey === "set-cookie" ? [value] : value;
169
+ return;
170
+ }
171
+ if (lowerKey === "set-cookie") {
172
+ if (Array.isArray(existing)) {
173
+ existing.push(value);
174
+ }
175
+ else {
176
+ out[lowerKey] = [existing, value];
177
+ }
178
+ return;
179
+ }
180
+ if (lowerKey === "cookie" || lowerKey === "cookie2") {
181
+ out[lowerKey] = existing + "; " + value;
182
+ return;
183
+ }
184
+ out[lowerKey] = existing + ", " + value;
185
+ }
186
+ /**
187
+ * @ru Добавляет сырое значение заголовка к нормализованному объекту.
188
+ * Обрабатывает массивы значений и преобразует нестроковые значения в строки.
189
+ * @en Appends a raw header value to the normalized headers object.
190
+ * Handles arrays of values and converts non-string values to strings.
191
+ * @param out - The normalized headers object to modify.
192
+ * @param lower - The lowercase header key.
193
+ * @param raw - The raw header value (string, array, or other).
194
+ */
195
+ function appendRawValue(out, lower, raw) {
196
+ if (raw === undefined || raw === null)
197
+ return;
198
+ if (Array.isArray(raw)) {
199
+ const len = raw.length;
200
+ for (let i = 0; i < len; i++) {
201
+ const item = raw[i];
202
+ if (item !== undefined && item !== null) {
203
+ appendHeader(out, lower, typeof item === "string" ? item : String(item));
204
+ }
205
+ }
206
+ return;
207
+ }
208
+ appendHeader(out, lower, typeof raw === "string" ? raw : String(raw));
209
+ }
210
+ /**
211
+ * @ru Нормализует заголовки запроса в единый формат с ключами в нижнем регистре.
212
+ * Поддерживает различные входные форматы: объект, массив пар, плоский массив.
213
+ *
214
+ * Специальные правила:
215
+ * - `set-cookie` всегда хранится как массив
216
+ * - `cookie`/`cookie2` объединяются через `; `
217
+ * - Остальные множественные заголовки объединяются через `, `
218
+ * - Заголовки из SINGLE_VALUE_HEADERS перезаписываются (не объединяются)
219
+ *
220
+ * @en Normalizes request headers into a unified format with lowercase keys.
221
+ * Supports various input formats: object, array of pairs, flat array.
222
+ *
223
+ * Special rules:
224
+ * - `set-cookie` is always stored as an array
225
+ * - `cookie`/`cookie2` are joined with `; `
226
+ * - Other multiple headers are joined with `, `
227
+ * - Headers from SINGLE_VALUE_HEADERS are overwritten (not merged)
228
+ *
229
+ * @param headers - The headers to normalize (object, array of pairs, or flat array).
230
+ * @returns Normalized headers object with lowercase keys.
80
231
  */
81
232
  export function normalizeHeaders(headers) {
82
233
  const out = Object.create(null);
83
234
  if (!headers || typeof headers !== "object")
84
235
  return out;
85
- if (Array.isArray(headers)) {
86
- for (let i = 0; i < headers.length; i += 2) {
87
- const key = headers[i];
88
- if (typeof key !== "string" || !key)
89
- continue;
90
- const rawValue = headers[i + 1];
91
- if (rawValue === undefined || rawValue === null)
92
- continue;
93
- const lower = key.toLowerCase();
94
- const value = typeof rawValue === "string" ? rawValue : String(rawValue);
95
- if (SINGLE_VALUE_HEADERS[lower] !== undefined) {
96
- out[lower] = value;
97
- continue;
236
+ if (!Array.isArray(headers)) {
237
+ for (const key in headers) {
238
+ if (Object.prototype.hasOwnProperty.call(headers, key)) {
239
+ const val = headers[key];
240
+ if (val !== undefined && val !== null) {
241
+ appendRawValue(out, fastLowercaseKey(key), val);
242
+ }
98
243
  }
99
- const existing = out[lower];
100
- if (existing === undefined) {
101
- out[lower] = value;
244
+ }
245
+ return out;
246
+ }
247
+ const len = headers.length;
248
+ if (len === 0)
249
+ return out;
250
+ if (Array.isArray(headers[0])) {
251
+ for (let i = 0; i < len; i++) {
252
+ const pair = headers[i];
253
+ if (!Array.isArray(pair))
102
254
  continue;
103
- }
104
- if (lower === "set-cookie") {
105
- if (Array.isArray(existing)) {
106
- existing.push(value);
107
- }
108
- else {
109
- out[lower] = [existing, value];
110
- }
255
+ const key = pair[0];
256
+ if (typeof key !== "string" || key.length === 0)
111
257
  continue;
112
- }
113
- if (lower === "cookie" || lower === "cookie2") {
114
- out[lower] = `${existing}; ${value}`;
258
+ const rawValue = pair[1];
259
+ if (rawValue === undefined || rawValue === null)
115
260
  continue;
116
- }
117
- out[lower] = Array.isArray(existing)
118
- ? `${existing.join(", ")}, ${value}`
119
- : `${existing}, ${value}`;
261
+ appendHeader(out, fastLowercaseKey(key), typeof rawValue === "string" ? rawValue : String(rawValue));
120
262
  }
121
- return out;
122
263
  }
123
- const headerObj = headers;
124
- for (const key in headerObj) {
125
- if (Object.prototype.hasOwnProperty.call(headerObj, key)) {
126
- const val = headerObj[key];
127
- if (val === undefined || val === null)
264
+ else {
265
+ for (let i = 0; i < len; i += 2) {
266
+ const key = headers[i];
267
+ if (typeof key !== "string" || key.length === 0)
128
268
  continue;
129
- const lower = key.toLowerCase();
130
- if (Array.isArray(val)) {
131
- for (let i = 0; i < val.length; i++) {
132
- const rawValue = val[i];
133
- if (rawValue === undefined || rawValue === null)
134
- continue;
135
- const value = typeof rawValue === "string" ? rawValue : String(rawValue);
136
- if (SINGLE_VALUE_HEADERS[lower] !== undefined) {
137
- out[lower] = value;
138
- continue;
139
- }
140
- const existing = out[lower];
141
- if (existing === undefined) {
142
- out[lower] = value;
143
- continue;
144
- }
145
- if (lower === "set-cookie") {
146
- if (Array.isArray(existing)) {
147
- existing.push(value);
148
- }
149
- else {
150
- out[lower] = [existing, value];
151
- }
152
- continue;
153
- }
154
- if (lower === "cookie" || lower === "cookie2") {
155
- out[lower] = `${existing}; ${value}`;
156
- continue;
157
- }
158
- out[lower] = Array.isArray(existing)
159
- ? `${existing.join(", ")}, ${value}`
160
- : `${existing}, ${value}`;
161
- }
162
- }
163
- else {
164
- const value = typeof val === "string" ? val : String(val);
165
- if (SINGLE_VALUE_HEADERS[lower] !== undefined) {
166
- out[lower] = value;
167
- continue;
168
- }
169
- const existing = out[lower];
170
- if (existing === undefined) {
171
- out[lower] = value;
172
- continue;
173
- }
174
- if (lower === "set-cookie") {
175
- if (Array.isArray(existing)) {
176
- existing.push(value);
177
- }
178
- else {
179
- out[lower] = [existing, value];
180
- }
181
- continue;
182
- }
183
- if (lower === "cookie" || lower === "cookie2") {
184
- out[lower] = `${existing}; ${value}`;
185
- continue;
186
- }
187
- out[lower] = Array.isArray(existing)
188
- ? `${existing.join(", ")}, ${value}`
189
- : `${existing}, ${value}`;
190
- }
269
+ const rawValue = headers[i + 1];
270
+ if (rawValue === undefined || rawValue === null)
271
+ continue;
272
+ appendHeader(out, fastLowercaseKey(key), typeof rawValue === "string" ? rawValue : String(rawValue));
191
273
  }
192
274
  }
193
275
  return out;
194
276
  }
195
277
  /**
196
- * @ru Нормализует тело запроса: для методов GET и HEAD тело всегда undefined, для остальных возвращает переданное тело.
197
- * @en Normalizes request body: for GET and HEAD methods body is always undefined, for others returns the provided body.
198
- * @param method - HTTP method.
199
- * @param body - Raw request body.
200
- * @returns Normalized body or undefined.
278
+ * @ru Нормализует тело запроса, удаляя его для методов GET и HEAD.
279
+ * @en Normalizes request body by removing it for GET and HEAD methods.
280
+ * @param method - The HTTP method.
281
+ * @param body - The request body data.
282
+ * @returns The body for methods that support it, or undefined for GET/HEAD.
201
283
  */
202
284
  export function normalizeBody(method, body) {
203
- if (method === "GET" || method === "HEAD") {
204
- return undefined;
205
- }
206
- return body ?? undefined;
285
+ return method === "GET" || method === "HEAD" ? undefined : body;
207
286
  }
208
287
  //# sourceMappingURL=normalize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../src/utils/normalize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../src/utils/normalize.ts"],"names":[],"mappings":"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"}
@@ -41,43 +41,23 @@ export declare function createPipelines(): PipelineContainer;
41
41
  */
42
42
  export declare function insertHookSorted<T>(list: HookRecord<T>[], hook: HookRecord<T>): void;
43
43
  /**
44
- * @ru Выполняет конвейер пред-запроса. Поддерживает short-circuit (ранний возврат ответа). Использует Fast-Path для синхронных хуков без аллокации микротасок.
45
- * @en Executes the pre-request pipeline. Supports short-circuiting with fast-path for sync hooks.
46
- * @param hooks - Array of request hooks.
47
- * @param req - Internal request object.
48
- * @param ctx - Plugin context.
49
- * @returns A response if short-circuited, null otherwise, or a promise.
44
+ * @ru Выполняет конвейер пред-запроса. Поддерживает short-circuit.
45
+ * @en Executes the pre-request pipeline. Supports short-circuiting.
50
46
  */
51
- export declare function executeRequestPipeline(hooks: readonly HookRecord<Required<HyperPlugin>["onRequest"]>[], req: InternalRequest, ctx: PluginContext): Promise<HttpResponse<unknown> | null> | HttpResponse<unknown> | null | void;
47
+ export declare function executeRequestPipeline(hooks: readonly HookRecord<Required<HyperPlugin>["onRequest"]>[], req: InternalRequest, ctx: PluginContext): Promise<HttpResponse<unknown> | null> | HttpResponse<unknown> | null;
52
48
  /**
53
- * @ru Выполняет низкоуровневый конвейер трансформации сырых данных транспорта (фаза DATA). Если хук возвращает измененный TransportResponse, он передается дальше по цепочке.
54
- * @en Executes low-level transport data transformation pipeline (DATA phase). If a hook returns a modified TransportResponse, it is passed along the chain.
55
- * @param hooks - Array of response data hooks.
56
- * @param res - Current transport response.
57
- * @param ctx - Plugin context.
58
- * @returns The (possibly transformed) transport response, either directly or wrapped in a promise.
49
+ * @ru Выполняет низкоуровневый конвейер трансформации сырых данных транспорта (фаза DATA).
50
+ * @en Executes low-level transport data transformation pipeline (DATA phase).
59
51
  */
60
52
  export declare function executeResponseDataPipeline(hooks: readonly HookRecord<Required<HyperPlugin>["onResponseData"]>[], res: TransportResponse, ctx: PluginContext): Promise<TransportResponse> | TransportResponse;
61
53
  /**
62
- * @ru Выполняет конвейер пост-ответа. Разделен на мутаторы (последовательно) и сайд-эффекты (в фоне). Оптимизирован для минимизации выделения памяти под замыкания логгера.
63
- * @en Executes the post-response pipeline. Split into mutators (sequential) and side-effects (background). Optimized to minimize memory allocations for logger closures.
64
- * @param mutators - Hooks that mutate the response (executed sequentially).
65
- * @param sideEffects - Hooks that run in background, errors are logged but do not break the main flow.
66
- * @param res - HTTP response object.
67
- * @param req - Internal request object.
68
- * @param ctx - Plugin context.
69
- * @param logger - Optional logger for side-effect errors.
70
- * @returns A promise if any mutator returns a promise, otherwise void.
54
+ * @ru Выполняет конвейер пост-ответа. Разделен на мутаторы и сайд-эффекты.
55
+ * @en Executes the post-response pipeline. Split into mutators and side-effects.
71
56
  */
72
57
  export declare function executeResponsePipeline(mutators: readonly HookRecord<Required<HyperPlugin>["onResponse"]>[], sideEffects: readonly HookRecord<Required<HyperPlugin>["onResponse"]>[], res: HttpResponse<unknown>, req: InternalRequest, ctx: PluginContext, logger?: HttpClientOptions["logger"]): Promise<void> | void;
73
58
  /**
74
- * @ru Выполняет конвейер перехвата ошибок. Первый вернувший HttpResponse плагин прерывает панику.
75
- * @en Executes the error interception pipeline. The first plugin that returns HttpResponse stops the panic.
76
- * @param hooks - Array of error hooks.
77
- * @param error - The error that occurred.
78
- * @param req - Internal request object.
79
- * @param ctx - Plugin context.
80
- * @returns A response if recovered, null otherwise, or a promise.
59
+ * @ru Выполняет конвейер перехвата ошибок.
60
+ * @en Executes the error interception pipeline.
81
61
  */
82
- export declare function executeErrorPipeline(hooks: readonly HookRecord<Required<HyperPlugin>["onError"]>[], error: HyperttpError, req: InternalRequest, ctx: PluginContext): Promise<HttpResponse<unknown> | null> | HttpResponse<unknown> | null | void;
62
+ export declare function executeErrorPipeline(hooks: readonly HookRecord<Required<HyperPlugin>["onError"]>[], error: HyperttpError, req: InternalRequest, ctx: PluginContext): Promise<HttpResponse<unknown> | null> | HttpResponse<unknown> | null;
83
63
  //# sourceMappingURL=pipeline.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/utils/pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/utils/pipeline.ts"],"names":[],"mappings":"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"}