@hyperttp/core 1.3.0 → 1.3.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/Core/HyperCore.d.ts +185 -8
- package/Core/HyperCore.d.ts.map +1 -1
- package/Core/HyperCore.js +246 -99
- package/Core/HyperCore.js.map +1 -1
- package/README.md +169 -96
- package/package.json +2 -2
- package/transports/manager.d.ts +61 -3
- package/transports/manager.d.ts.map +1 -1
- package/transports/manager.js +130 -93
- package/transports/manager.js.map +1 -1
- package/transports/node.d.ts +26 -9
- package/transports/node.d.ts.map +1 -1
- package/transports/node.js +63 -134
- package/transports/node.js.map +1 -1
- package/utils/decompress.d.ts +20 -0
- package/utils/decompress.d.ts.map +1 -1
- package/utils/decompress.js +75 -25
- package/utils/decompress.js.map +1 -1
- package/utils/merge.js +12 -18
- package/utils/merge.js.map +1 -1
- package/utils/normalize.d.ts +26 -1
- package/utils/normalize.d.ts.map +1 -1
- package/utils/normalize.js +68 -89
- package/utils/normalize.js.map +1 -1
- package/utils/pipeline.d.ts +42 -10
- package/utils/pipeline.d.ts.map +1 -1
- package/utils/pipeline.js +34 -15
- package/utils/pipeline.js.map +1 -1
- package/utils/response.d.ts +41 -23
- package/utils/response.d.ts.map +1 -1
- package/utils/response.js +76 -36
- package/utils/response.js.map +1 -1
- package/utils/retryUtils.d.ts +20 -0
- package/utils/retryUtils.d.ts.map +1 -1
- package/utils/retryUtils.js +24 -0
- package/utils/retryUtils.js.map +1 -1
package/Core/HyperCore.js
CHANGED
|
@@ -4,12 +4,28 @@ import { TransportManager } from "../transports/manager.js";
|
|
|
4
4
|
import { createPipelines, executeErrorPipeline, executeRequestPipeline, executeResponsePipeline, executeResponseDataPipeline, insertHookSorted, } from "../utils/pipeline.js";
|
|
5
5
|
import { normalizeBody, normalizeHeaders, normalizeUrl, } from "../utils/normalize.js";
|
|
6
6
|
import { decompressBuffer, createDecompressStream, } from "../utils/decompress.js";
|
|
7
|
+
const urlCache = new Map();
|
|
8
|
+
/**
|
|
9
|
+
* @ru Основной класс HTTP-клиента с поддержкой плагинов, потоковой передачи, кэширования URL и гибкой настройки.
|
|
10
|
+
* @en Core HTTP client class with plugin support, streaming, URL caching and flexible configuration.
|
|
11
|
+
* @implements {IHyperCore}
|
|
12
|
+
*/
|
|
7
13
|
export class HyperCore {
|
|
14
|
+
/**
|
|
15
|
+
* @ru Активная конфигурация клиента (объединена с настройками по умолчанию).
|
|
16
|
+
* @en Current client configuration (merged with default settings).
|
|
17
|
+
*/
|
|
8
18
|
config;
|
|
9
19
|
transportManager;
|
|
10
20
|
defaultHeaders;
|
|
11
21
|
pluginCtx;
|
|
12
22
|
pipelines = createPipelines();
|
|
23
|
+
/**
|
|
24
|
+
* @ru Создаёт экземпляр HyperCore.
|
|
25
|
+
* @en Creates a HyperCore instance.
|
|
26
|
+
* @param config - Client configuration (overrides defaults).
|
|
27
|
+
* @param transport - Optional transport layer (auto‑selected if omitted).
|
|
28
|
+
*/
|
|
13
29
|
constructor(config = defaultConfig, transport) {
|
|
14
30
|
this.config = {
|
|
15
31
|
...defaultConfig,
|
|
@@ -25,14 +41,30 @@ export class HyperCore {
|
|
|
25
41
|
});
|
|
26
42
|
this.pluginCtx = { config: this.config, core: this };
|
|
27
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* @ru Возвращает текущий транспортный экземпляр (или null, если он ещё не инициализирован).
|
|
46
|
+
* @en Returns the current transport instance (or null if not yet initialized).
|
|
47
|
+
*/
|
|
28
48
|
get transport() {
|
|
29
49
|
return this.transportManager.instance;
|
|
30
50
|
}
|
|
51
|
+
async getTransportName() {
|
|
52
|
+
const t = await this.ensureTransport();
|
|
53
|
+
return t.constructor.name;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* @ru Гарантирует наличие готового к работе транспорта (асинхронная инициализация при необходимости).
|
|
57
|
+
* @en Ensures a ready‑to‑use transport (async initialization if needed).
|
|
58
|
+
* @returns Promise resolving to a transport instance.
|
|
59
|
+
*/
|
|
31
60
|
ensureTransport() {
|
|
32
61
|
return this.transportManager.get();
|
|
33
62
|
}
|
|
34
63
|
/**
|
|
35
|
-
*
|
|
64
|
+
* @ru Внутренний метод диспетчеризации запроса, обрабатывающий как обычные, так и стриминговые ответы.
|
|
65
|
+
* @en Internal request dispatcher handling both regular and streaming responses.
|
|
66
|
+
* @param req - Internal request object.
|
|
67
|
+
* @returns Promise resolving to a response (HttpResponse or StreamResponse).
|
|
36
68
|
*/
|
|
37
69
|
async dispatchInternal(req) {
|
|
38
70
|
try {
|
|
@@ -43,7 +75,6 @@ export class HyperCore {
|
|
|
43
75
|
return shortCircuit;
|
|
44
76
|
}
|
|
45
77
|
}
|
|
46
|
-
req.headers = normalizeHeaders(req.headers);
|
|
47
78
|
const transport = this.transport || (await this.ensureTransport());
|
|
48
79
|
let rawResponse = await transport.execute(req);
|
|
49
80
|
if (this.pipelines.responseData.length > 0) {
|
|
@@ -61,18 +92,26 @@ export class HyperCore {
|
|
|
61
92
|
return this.handleDispatchError(error, req);
|
|
62
93
|
}
|
|
63
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* @ru Отправляет HTTP-запрос и возвращает обычный (нестриминговый) ответ.
|
|
97
|
+
* @en Sends an HTTP request and returns a regular (non‑streaming) response.
|
|
98
|
+
* @param req - Internal request object.
|
|
99
|
+
* @returns Promise resolving to a typed HTTP response.
|
|
100
|
+
*/
|
|
64
101
|
async dispatch(req) {
|
|
65
102
|
return this.dispatchInternal(req);
|
|
66
103
|
}
|
|
67
104
|
/**
|
|
68
|
-
*
|
|
105
|
+
* @ru Регистрирует плагин в клиенте. Плагин может добавлять хуки на различных этапах обработки запроса/ответа.
|
|
106
|
+
* @en Registers a plugin with the client. The plugin can add hooks at various request/response processing stages.
|
|
107
|
+
* @param plugin - Plugin instance to register.
|
|
108
|
+
* @returns This instance for chaining.
|
|
69
109
|
*/
|
|
70
110
|
use(plugin) {
|
|
71
111
|
const isEnabled = plugin.enabled ? plugin.enabled(this.config) : true;
|
|
72
112
|
if (!isEnabled)
|
|
73
113
|
return this;
|
|
74
|
-
|
|
75
|
-
plugin.setup(this.pluginCtx);
|
|
114
|
+
plugin.setup?.(this.pluginCtx);
|
|
76
115
|
const priority = plugin.priority ?? 0;
|
|
77
116
|
if (plugin.onRequest) {
|
|
78
117
|
insertHookSorted(this.pipelines.request, {
|
|
@@ -82,10 +121,10 @@ export class HyperCore {
|
|
|
82
121
|
});
|
|
83
122
|
}
|
|
84
123
|
if (plugin.onResponse) {
|
|
85
|
-
const
|
|
124
|
+
const target = plugin.mode === "background"
|
|
86
125
|
? this.pipelines.responseSideEffects
|
|
87
126
|
: this.pipelines.responseMutators;
|
|
88
|
-
insertHookSorted(
|
|
127
|
+
insertHookSorted(target, {
|
|
89
128
|
name: plugin.name,
|
|
90
129
|
priority,
|
|
91
130
|
run: plugin.onResponse,
|
|
@@ -108,39 +147,110 @@ export class HyperCore {
|
|
|
108
147
|
return this;
|
|
109
148
|
}
|
|
110
149
|
/**
|
|
111
|
-
*
|
|
150
|
+
* @ru Выполняет GET-запрос с потоковым ответом.
|
|
151
|
+
* @en Performs a GET request with a streaming response.
|
|
152
|
+
* @param req - Request URL or configuration object.
|
|
153
|
+
* @param signal - Optional AbortSignal to cancel the request.
|
|
154
|
+
* @returns Promise resolving to a StreamResponse.
|
|
112
155
|
*/
|
|
113
156
|
async stream(req, signal) {
|
|
114
157
|
const internalReq = this.buildInternalRequest("GET", req, undefined, signal);
|
|
115
158
|
internalReq.meta = { ...internalReq.meta, responseType: "stream" };
|
|
116
159
|
return this.dispatchInternal(internalReq);
|
|
117
160
|
}
|
|
161
|
+
/**
|
|
162
|
+
* @ru Выполняет POST-запрос с потоковым ответом.
|
|
163
|
+
* @en Performs a POST request with a streaming response.
|
|
164
|
+
* @param req - Request URL or configuration object.
|
|
165
|
+
* @param body - Request body data.
|
|
166
|
+
* @param signal - Optional AbortSignal to cancel the request.
|
|
167
|
+
* @returns Promise resolving to a StreamResponse.
|
|
168
|
+
*/
|
|
118
169
|
async postStream(req, body, signal) {
|
|
119
170
|
const internalReq = this.buildInternalRequest("POST", req, body, signal);
|
|
120
171
|
internalReq.meta = { ...internalReq.meta, responseType: "stream" };
|
|
121
172
|
return this.dispatchInternal(internalReq);
|
|
122
173
|
}
|
|
174
|
+
/**
|
|
175
|
+
* @ru Выполняет GET-запрос.
|
|
176
|
+
* @en Performs a GET request.
|
|
177
|
+
* @param req - Request URL or configuration object.
|
|
178
|
+
* @param signal - Optional AbortSignal to cancel the request.
|
|
179
|
+
* @returns Promise resolving to an HttpResponse.
|
|
180
|
+
*/
|
|
123
181
|
get(req, signal) {
|
|
124
182
|
return this.dispatch(this.buildInternalRequest("GET", req, undefined, signal));
|
|
125
183
|
}
|
|
184
|
+
/**
|
|
185
|
+
* @ru Выполняет POST-запрос.
|
|
186
|
+
* @en Performs a POST request.
|
|
187
|
+
* @param req - Request URL or configuration object.
|
|
188
|
+
* @param body - Request body data.
|
|
189
|
+
* @param signal - Optional AbortSignal to cancel the request.
|
|
190
|
+
* @returns Promise resolving to an HttpResponse.
|
|
191
|
+
*/
|
|
126
192
|
post(req, body, signal) {
|
|
127
193
|
return this.dispatch(this.buildInternalRequest("POST", req, body, signal));
|
|
128
194
|
}
|
|
195
|
+
/**
|
|
196
|
+
* @ru Выполняет PUT-запрос.
|
|
197
|
+
* @en Performs a PUT request.
|
|
198
|
+
* @param req - Request URL or configuration object.
|
|
199
|
+
* @param body - Request body data.
|
|
200
|
+
* @param signal - Optional AbortSignal to cancel the request.
|
|
201
|
+
* @returns Promise resolving to an HttpResponse.
|
|
202
|
+
*/
|
|
129
203
|
put(req, body, signal) {
|
|
130
204
|
return this.dispatch(this.buildInternalRequest("PUT", req, body, signal));
|
|
131
205
|
}
|
|
206
|
+
/**
|
|
207
|
+
* @ru Выполняет PATCH-запрос.
|
|
208
|
+
* @en Performs a PATCH request.
|
|
209
|
+
* @param req - Request URL or configuration object.
|
|
210
|
+
* @param body - Request body data.
|
|
211
|
+
* @param signal - Optional AbortSignal to cancel the request.
|
|
212
|
+
* @returns Promise resolving to an HttpResponse.
|
|
213
|
+
*/
|
|
132
214
|
patch(req, body, signal) {
|
|
133
215
|
return this.dispatch(this.buildInternalRequest("PATCH", req, body, signal));
|
|
134
216
|
}
|
|
217
|
+
/**
|
|
218
|
+
* @ru Выполняет DELETE-запрос.
|
|
219
|
+
* @en Performs a DELETE request.
|
|
220
|
+
* @param req - Request URL or configuration object.
|
|
221
|
+
* @param signal - Optional AbortSignal to cancel the request.
|
|
222
|
+
* @returns Promise resolving to an HttpResponse.
|
|
223
|
+
*/
|
|
135
224
|
delete(req, signal) {
|
|
136
225
|
return this.dispatch(this.buildInternalRequest("DELETE", req, undefined, signal));
|
|
137
226
|
}
|
|
227
|
+
/**
|
|
228
|
+
* @ru Выполняет OPTIONS-запрос.
|
|
229
|
+
* @en Performs an OPTIONS request.
|
|
230
|
+
* @param req - Request URL or configuration object.
|
|
231
|
+
* @param body - Request body data.
|
|
232
|
+
* @param signal - Optional AbortSignal to cancel the request.
|
|
233
|
+
* @returns Promise resolving to an HttpResponse.
|
|
234
|
+
*/
|
|
138
235
|
options(req, body, signal) {
|
|
139
236
|
return this.dispatch(this.buildInternalRequest("OPTIONS", req, body, signal));
|
|
140
237
|
}
|
|
238
|
+
/**
|
|
239
|
+
* @ru Выполняет HEAD-запрос.
|
|
240
|
+
* @en Performs a HEAD request.
|
|
241
|
+
* @param req - Request URL or configuration object.
|
|
242
|
+
* @param signal - Optional AbortSignal to cancel the request.
|
|
243
|
+
* @returns Promise resolving to an HttpResponse with null body.
|
|
244
|
+
*/
|
|
141
245
|
head(req, signal) {
|
|
142
246
|
return this.dispatch(this.buildInternalRequest("HEAD", req, undefined, signal));
|
|
143
247
|
}
|
|
248
|
+
/**
|
|
249
|
+
* @ru Создаёт новый экземпляр HyperCore путём расширения текущей конфигурации.
|
|
250
|
+
* @en Creates a new HyperCore instance by extending the current configuration.
|
|
251
|
+
* @param options - Partial configuration overrides.
|
|
252
|
+
* @returns New HyperCore instance.
|
|
253
|
+
*/
|
|
144
254
|
extend(options) {
|
|
145
255
|
return new HyperCore({
|
|
146
256
|
...this.config,
|
|
@@ -148,45 +258,81 @@ export class HyperCore {
|
|
|
148
258
|
network: { ...this.config.network, ...options.network },
|
|
149
259
|
}, this.transport ?? undefined);
|
|
150
260
|
}
|
|
261
|
+
/**
|
|
262
|
+
* @ru Алиас для {@link extend}. Создаёт новый экземпляр с переопределёнными опциями.
|
|
263
|
+
* @en Alias for {@link extend}. Creates a new instance with overridden options.
|
|
264
|
+
* @param options - Partial configuration overrides.
|
|
265
|
+
* @returns New HyperCore instance.
|
|
266
|
+
*/
|
|
151
267
|
create(options) {
|
|
152
268
|
return this.extend(options);
|
|
153
269
|
}
|
|
270
|
+
/**
|
|
271
|
+
* @ru Завершает работу клиента: закрывает транспортные соединения.
|
|
272
|
+
* @en Shuts down the client: closes transport connections.
|
|
273
|
+
* @param graceful - If true, attempts graceful shutdown (waiting for pending requests).
|
|
274
|
+
* @returns Promise that resolves when shutdown is complete.
|
|
275
|
+
*/
|
|
154
276
|
async destroy(graceful = true) {
|
|
155
277
|
await this.transportManager.destroy(graceful);
|
|
156
278
|
}
|
|
279
|
+
/**
|
|
280
|
+
* @ru Выполняет запрос и возвращает распарсенный JSON-ответ.
|
|
281
|
+
* @en Performs a request and returns parsed JSON response.
|
|
282
|
+
* @param req - Request URL or configuration object.
|
|
283
|
+
* @param signal - Optional AbortSignal to cancel the request.
|
|
284
|
+
* @returns Promise resolving to the parsed JSON value.
|
|
285
|
+
* @throws If response body cannot be parsed as JSON.
|
|
286
|
+
*/
|
|
157
287
|
async json(req, signal) {
|
|
158
288
|
const res = await this.dispatchShortcut(req, signal);
|
|
159
|
-
|
|
160
|
-
throw new Error("[HyperCore] Method 'json()' is missing on response object.");
|
|
161
|
-
return res.json();
|
|
289
|
+
return res.json?.() ?? Promise.reject(new Error("json() not supported"));
|
|
162
290
|
}
|
|
291
|
+
/**
|
|
292
|
+
* @ru Выполняет запрос и возвращает ответ в виде текста.
|
|
293
|
+
* @en Performs a request and returns response as text.
|
|
294
|
+
* @param req - Request URL or configuration object.
|
|
295
|
+
* @param signal - Optional AbortSignal to cancel the request.
|
|
296
|
+
* @returns Promise resolving to the response body as string.
|
|
297
|
+
* @throws If response body cannot be read as text.
|
|
298
|
+
*/
|
|
163
299
|
async text(req, signal) {
|
|
164
300
|
const res = await this.dispatchShortcut(req, signal);
|
|
165
|
-
|
|
166
|
-
throw new Error("[HyperCore] Method 'text()' is missing on response object.");
|
|
167
|
-
return res.text();
|
|
301
|
+
return res.text?.() ?? Promise.reject(new Error("text() not supported"));
|
|
168
302
|
}
|
|
303
|
+
/**
|
|
304
|
+
* @ru Выполняет запрос и полностью потребляет тело ответа (без обработки).
|
|
305
|
+
* @en Performs a request and fully consumes the response body (no processing).
|
|
306
|
+
* @param req - Request URL or configuration object.
|
|
307
|
+
* @param signal - Optional AbortSignal to cancel the request.
|
|
308
|
+
* @returns Promise that resolves when response body is drained.
|
|
309
|
+
*/
|
|
169
310
|
async dump(req, signal) {
|
|
170
311
|
const res = await this.dispatchShortcut(req, signal);
|
|
171
|
-
|
|
172
|
-
throw new Error("[HyperCore] Method 'dump()' is missing on response object.");
|
|
173
|
-
await res.dump();
|
|
312
|
+
await res.dump?.();
|
|
174
313
|
}
|
|
175
314
|
/**
|
|
176
|
-
*
|
|
315
|
+
* @ru Выполняет пайплайн обработки ответа (мутаторы и сайд-эффекты).
|
|
316
|
+
* @en Executes response processing pipeline (mutators and side effects).
|
|
317
|
+
* @param response - Response object (HttpResponse or StreamResponse).
|
|
318
|
+
* @param req - Original internal request.
|
|
177
319
|
*/
|
|
178
320
|
async runResponsePipeline(response, req) {
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
if (hasMutators || hasSideEffects) {
|
|
321
|
+
if (this.pipelines.responseMutators.length ||
|
|
322
|
+
this.pipelines.responseSideEffects.length) {
|
|
182
323
|
await executeResponsePipeline(this.pipelines.responseMutators, this.pipelines.responseSideEffects, response, req, this.pluginCtx, this.config.logger);
|
|
183
324
|
}
|
|
184
325
|
}
|
|
185
326
|
/**
|
|
186
|
-
*
|
|
327
|
+
* @ru Обрабатывает ошибки, возникшие при выполнении запроса, с учётом пайплайна ошибок.
|
|
328
|
+
* @en Handles errors occurring during request execution, considering the error pipeline.
|
|
329
|
+
* @param error - The caught error.
|
|
330
|
+
* @param req - Internal request that caused the error.
|
|
331
|
+
* @returns If recovered, returns a response; otherwise throws the error.
|
|
332
|
+
* @throws The original error if no plugin recovers it.
|
|
187
333
|
*/
|
|
188
334
|
async handleDispatchError(error, req) {
|
|
189
|
-
if (this.pipelines.error.length
|
|
335
|
+
if (this.pipelines.error.length) {
|
|
190
336
|
const recovered = await executeErrorPipeline(this.pipelines.error, error, req, this.pluginCtx);
|
|
191
337
|
if (recovered) {
|
|
192
338
|
await this.runResponsePipeline(recovered, req);
|
|
@@ -196,119 +342,120 @@ export class HyperCore {
|
|
|
196
342
|
throw error;
|
|
197
343
|
}
|
|
198
344
|
/**
|
|
199
|
-
*
|
|
345
|
+
* @ru Применяет декомпрессию к телу ответа в зависимости от заголовка Content-Encoding.
|
|
346
|
+
* @en Applies decompression to the response body based on the Content-Encoding header.
|
|
347
|
+
* @param rawResponse - Raw transport response object (mutated in place).
|
|
200
348
|
*/
|
|
201
349
|
applyDecompression(rawResponse) {
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
const encodingHeader = rawResponse.headers?.["content-encoding"] ??
|
|
205
|
-
rawResponse.headers?.["Content-Encoding"];
|
|
206
|
-
if (!encodingHeader)
|
|
207
|
-
return;
|
|
208
|
-
const contentEncoding = typeof encodingHeader === "string"
|
|
209
|
-
? encodingHeader
|
|
210
|
-
: Array.isArray(encodingHeader)
|
|
211
|
-
? encodingHeader[0]
|
|
212
|
-
: undefined;
|
|
213
|
-
if (!contentEncoding)
|
|
350
|
+
const encoding = rawResponse.headers?.["content-encoding"];
|
|
351
|
+
if (!encoding || !rawResponse.body)
|
|
214
352
|
return;
|
|
353
|
+
const enc = Array.isArray(encoding) ? encoding[0] : encoding;
|
|
215
354
|
if (rawResponse.body instanceof Uint8Array) {
|
|
216
|
-
rawResponse.body = decompressBuffer(rawResponse.body,
|
|
355
|
+
rawResponse.body = decompressBuffer(rawResponse.body, enc);
|
|
217
356
|
}
|
|
218
357
|
else {
|
|
219
|
-
rawResponse.body = createDecompressStream(rawResponse.body,
|
|
358
|
+
rawResponse.body = createDecompressStream(rawResponse.body, enc);
|
|
220
359
|
}
|
|
221
360
|
}
|
|
222
361
|
/**
|
|
223
|
-
*
|
|
362
|
+
* @ru Строит внутренний объект запроса на основе пользовательских параметров.
|
|
363
|
+
* @en Builds an internal request object from user parameters.
|
|
364
|
+
* @param method - HTTP method.
|
|
365
|
+
* @param req - Request URL or configuration object.
|
|
366
|
+
* @param body - Request body (optional).
|
|
367
|
+
* @param signal - AbortSignal (optional).
|
|
368
|
+
* @returns Fully constructed InternalRequest.
|
|
369
|
+
* @throws If URL is undefined or invalid.
|
|
224
370
|
*/
|
|
225
371
|
buildInternalRequest(method, req, body, signal) {
|
|
226
|
-
const isStr = typeof req === "string";
|
|
227
372
|
const rawUrl = normalizeUrl(req);
|
|
228
373
|
if (!rawUrl) {
|
|
229
|
-
throw new Error(`[HyperCore]
|
|
230
|
-
}
|
|
231
|
-
const urlObj = new URL(rawUrl);
|
|
232
|
-
const castedReq = isStr
|
|
233
|
-
? undefined
|
|
234
|
-
: req;
|
|
235
|
-
if (castedReq?.query) {
|
|
236
|
-
this.appendQueryParams(urlObj, castedReq.query);
|
|
374
|
+
throw new Error(`[HyperCore] URL is undefined for ${method}`);
|
|
237
375
|
}
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
376
|
+
if (typeof req === "string") {
|
|
377
|
+
let cached = urlCache.get(rawUrl);
|
|
378
|
+
if (!cached) {
|
|
379
|
+
const urlObj = new URL(rawUrl);
|
|
380
|
+
cached = {
|
|
381
|
+
href: urlObj.href,
|
|
382
|
+
origin: urlObj.origin,
|
|
383
|
+
path: urlObj.pathname + urlObj.search,
|
|
384
|
+
};
|
|
385
|
+
if (urlCache.size > 512)
|
|
386
|
+
urlCache.clear();
|
|
387
|
+
urlCache.set(rawUrl, cached);
|
|
388
|
+
}
|
|
245
389
|
return {
|
|
246
|
-
|
|
390
|
+
method,
|
|
391
|
+
url: cached.href,
|
|
392
|
+
origin: cached.origin,
|
|
393
|
+
path: cached.path,
|
|
247
394
|
headers: { ...this.defaultHeaders },
|
|
248
395
|
body,
|
|
249
396
|
signal,
|
|
250
397
|
meta: {},
|
|
251
398
|
};
|
|
252
399
|
}
|
|
253
|
-
const
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
const
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
signal: computedSignal,
|
|
268
|
-
meta,
|
|
400
|
+
const urlObj = new URL(rawUrl);
|
|
401
|
+
if (req.query) {
|
|
402
|
+
this.appendQueryParams(urlObj, req.query);
|
|
403
|
+
}
|
|
404
|
+
const headers = (req.headers ?? {});
|
|
405
|
+
return this.createInternalRequestObject(req, {
|
|
406
|
+
method,
|
|
407
|
+
url: urlObj.href,
|
|
408
|
+
origin: urlObj.origin,
|
|
409
|
+
path: urlObj.pathname + urlObj.search,
|
|
410
|
+
headers: mergeHeadersFast(this.defaultHeaders, headers),
|
|
411
|
+
body: normalizeBody(method, req.body ?? body),
|
|
412
|
+
signal: req.signal ?? signal,
|
|
413
|
+
meta: req.meta ?? {},
|
|
269
414
|
});
|
|
270
415
|
}
|
|
271
416
|
/**
|
|
272
|
-
*
|
|
417
|
+
* @ru Создаёт объект запроса, сохраняя прототип исходного объекта (если есть).
|
|
418
|
+
* @en Creates a request object preserving the prototype of the source object (if any).
|
|
419
|
+
* @param source - Original request object (may have a custom prototype).
|
|
420
|
+
* @param overrides - Properties to override or add.
|
|
421
|
+
* @returns New object with merged properties and inherited prototype.
|
|
273
422
|
*/
|
|
274
|
-
createInternalRequestObject(
|
|
275
|
-
const proto = Object.getPrototypeOf(
|
|
423
|
+
createInternalRequestObject(source, overrides) {
|
|
424
|
+
const proto = Object.getPrototypeOf(source);
|
|
276
425
|
const target = proto && proto !== Object.prototype ? Object.create(proto) : {};
|
|
277
|
-
Object.
|
|
278
|
-
const propertyDescriptors = {};
|
|
279
|
-
for (const [key, value] of Object.entries(overrides)) {
|
|
280
|
-
propertyDescriptors[key] = {
|
|
281
|
-
value,
|
|
282
|
-
enumerable: true,
|
|
283
|
-
writable: true,
|
|
284
|
-
configurable: true,
|
|
285
|
-
};
|
|
286
|
-
}
|
|
287
|
-
Object.defineProperties(target, propertyDescriptors);
|
|
288
|
-
return target;
|
|
426
|
+
return Object.assign(target, source, overrides);
|
|
289
427
|
}
|
|
428
|
+
/**
|
|
429
|
+
* @ru Добавляет параметры запроса к URL-объекту.
|
|
430
|
+
* @en Appends query parameters to a URL object.
|
|
431
|
+
* @param url - URL object to mutate.
|
|
432
|
+
* @param query - Record of query parameters (supports arrays).
|
|
433
|
+
*/
|
|
290
434
|
appendQueryParams(url, query) {
|
|
291
435
|
if (!query)
|
|
292
436
|
return;
|
|
293
|
-
for (const
|
|
294
|
-
|
|
437
|
+
for (const k in query) {
|
|
438
|
+
const v = query[k];
|
|
439
|
+
if (v == null)
|
|
295
440
|
continue;
|
|
296
|
-
if (Array.isArray(
|
|
297
|
-
for (const
|
|
298
|
-
|
|
299
|
-
continue;
|
|
300
|
-
url.searchParams.append(key, String(item));
|
|
301
|
-
}
|
|
441
|
+
if (Array.isArray(v)) {
|
|
442
|
+
for (const i of v)
|
|
443
|
+
url.searchParams.append(k, String(i));
|
|
302
444
|
}
|
|
303
445
|
else {
|
|
304
|
-
url.searchParams.set(
|
|
446
|
+
url.searchParams.set(k, String(v));
|
|
305
447
|
}
|
|
306
448
|
}
|
|
307
449
|
}
|
|
450
|
+
/**
|
|
451
|
+
* @ru Упрощённый метод для текстовых/JSON-запросов, определяющий метод из объекта запроса.
|
|
452
|
+
* @en Shortcut method for text/JSON requests, determining method from the request object.
|
|
453
|
+
* @param req - Request URL or configuration object.
|
|
454
|
+
* @param signal - Optional AbortSignal.
|
|
455
|
+
* @returns Promise resolving to HttpResponse.
|
|
456
|
+
*/
|
|
308
457
|
async dispatchShortcut(req, signal) {
|
|
309
|
-
const method = typeof req === "string"
|
|
310
|
-
? "GET"
|
|
311
|
-
: (req.method ?? "GET");
|
|
458
|
+
const method = typeof req === "string" ? "GET" : (req.method ?? "GET");
|
|
312
459
|
return this.dispatch(this.buildInternalRequest(method, req, undefined, signal));
|
|
313
460
|
}
|
|
314
461
|
}
|
package/Core/HyperCore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperCore.js","sourceRoot":"","sources":["../../src/Core/HyperCore.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,eAAe,EACf,aAAa,EACb,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,2BAA2B,EAC3B,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,YAAY,GACb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAIhC,MAAM,OAAO,SAAS;IACb,MAAM,CAAoB;IAChB,gBAAgB,CAAmB;IACnC,cAAc,CAAoC;IAClD,SAAS,CAAgB;IACzB,SAAS,GAAG,eAAe,EAAE,CAAC;IAE/C,YACE,SAA4B,aAAa,EACzC,SAA0B;QAE1B,IAAI,CAAC,MAAM,GAAG;YACZ,GAAG,aAAa;YAChB,GAAG,MAAM;YACT,OAAO,EAAE,EAAE,GAAG,aAAa,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE;SACzD,CAAC;QAEF,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAErE,IAAI,CAAC,cAAc,GAAG,gBAAgB,CAAC;YACrC,MAAM,EAAE,mCAAmC;YAC3C,iBAAiB,EAAE,mBAAmB;YACtC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,IAAI,cAAc;YAC9D,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO;SAChC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACvD,CAAC;IAED,IAAY,SAAS;QACnB,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC;IACxC,CAAC;IAEO,eAAe;QACrB,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAC5B,GAAoB;QAEpB,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,MAAM,YAAY,GAAG,MAAM,sBAAsB,CAC/C,IAAI,CAAC,SAAS,CAAC,OAAO,EACtB,GAAG,EACH,IAAI,CAAC,SAAS,CACf,CAAC;gBACF,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;oBAClD,OAAO,YAA+B,CAAC;gBACzC,CAAC;YACH,CAAC;YAED,GAAG,CAAC,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAE5C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;YACnE,IAAI,WAAW,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,GAAoB,CAAC,CAAC;YAEhE,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3C,WAAW,GAAG,MAAM,2BAA2B,CAC7C,IAAI,CAAC,SAAS,CAAC,YAAY,EAC3B,WAAW,EACX,IAAI,CAAC,SAAS,CACf,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAErC,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,YAAY,KAAK,QAAQ,CAAC;YACrD,MAAM,QAAQ,GAAG,QAAQ;gBACvB,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC;gBAC5B,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAEjC,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAE9C,OAAO,QAAsC,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAc,EAAE,GAAG,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,QAAQ,CACnB,GAAoB;QAEpB,OAAO,IAAI,CAAC,gBAAgB,CAAI,GAAG,CAA6B,CAAC;IACnE,CAAC;IAED;;OAEG;IACI,GAAG,CAAC,MAAmB;QAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACtE,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAE5B,IAAI,MAAM,CAAC,KAAK;YAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE/C,MAAM,QAAQ,GAAI,MAAgC,CAAC,QAAQ,IAAI,CAAC,CAAC;QAEjE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;gBACvC,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,QAAQ;gBACR,GAAG,EAAE,MAAM,CAAC,SAAS;aACtB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,MAAM,cAAc,GAClB,MAAM,CAAC,IAAI,KAAK,YAAY;gBAC1B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB;gBACpC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;YACtC,gBAAgB,CAAC,cAAc,EAAE;gBAC/B,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,QAAQ;gBACR,GAAG,EAAE,MAAM,CAAC,UAAU;aACvB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE;gBAC5C,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,QAAQ;gBACR,GAAG,EAAE,MAAM,CAAC,cAAc;aAC3B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;gBACrC,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,QAAQ;gBACR,GAAG,EAAE,MAAM,CAAC,OAAO;aACpB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,MAAM,CACjB,GAA8B,EAC9B,MAAoB;QAEpB,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAC3C,KAAK,EACL,GAAG,EACH,SAAS,EACT,MAAM,CACP,CAAC;QACF,WAAW,CAAC,IAAI,GAAG,EAAE,GAAG,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAEvC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,UAAU,CACrB,GAA8B,EAC9B,IAAsB,EACtB,MAAoB;QAEpB,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACzE,WAAW,CAAC,IAAI,GAAG,EAAE,GAAG,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAA+B,CAAC;IAC1E,CAAC;IAEM,GAAG,CACR,GAA8B,EAC9B,MAAoB;QAEpB,OAAO,IAAI,CAAC,QAAQ,CAClB,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CACzD,CAAC;IACJ,CAAC;IAEM,IAAI,CACT,GAA8B,EAC9B,IAAsB,EACtB,MAAoB;QAEpB,OAAO,IAAI,CAAC,QAAQ,CAClB,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CACrD,CAAC;IACJ,CAAC;IAEM,GAAG,CACR,GAA8B,EAC9B,IAAsB,EACtB,MAAoB;QAEpB,OAAO,IAAI,CAAC,QAAQ,CAClB,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CACpD,CAAC;IACJ,CAAC;IAEM,KAAK,CACV,GAA8B,EAC9B,IAAsB,EACtB,MAAoB;QAEpB,OAAO,IAAI,CAAC,QAAQ,CAClB,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CACtD,CAAC;IACJ,CAAC;IAEM,MAAM,CACX,GAA8B,EAC9B,MAAoB;QAEpB,OAAO,IAAI,CAAC,QAAQ,CAClB,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAC5D,CAAC;IACJ,CAAC;IAEM,OAAO,CACZ,GAA8B,EAC9B,IAAsB,EACtB,MAAoB;QAEpB,OAAO,IAAI,CAAC,QAAQ,CAClB,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CACxD,CAAC;IACJ,CAAC;IAEM,IAAI,CACT,GAA8B,EAC9B,MAAoB;QAEpB,OAAO,IAAI,CAAC,QAAQ,CAClB,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAC1D,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,OAAmC;QAC/C,OAAO,IAAI,SAAS,CAClB;YACE,GAAG,IAAI,CAAC,MAAM;YACd,GAAG,OAAO;YACV,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE;SACxD,EACD,IAAI,CAAC,SAAS,IAAI,SAAS,CAC5B,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,OAAmC;QAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI;QAClC,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAEM,KAAK,CAAC,IAAI,CACf,GAA8B,EAC9B,MAAoB;QAEpB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG,CAAC,IAAI;YACX,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;QACJ,OAAO,GAAG,CAAC,IAAI,EAAK,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,IAAI,CACf,GAA8B,EAC9B,MAAoB;QAEpB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG,CAAC,IAAI;YACX,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;QACJ,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAEM,KAAK,CAAC,IAAI,CACf,GAA8B,EAC9B,MAAoB;QAEpB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG,CAAC,IAAI;YACX,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;QACJ,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC;IAED;;OAEG;IAEK,KAAK,CAAC,mBAAmB,CAC/B,QAAgD,EAChD,GAAoB;QAEpB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/D,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC;QAErE,IAAI,WAAW,IAAI,cAAc,EAAE,CAAC;YAClC,MAAM,uBAAuB,CAC3B,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAC/B,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAClC,QAAwB,EACxB,GAAG,EACH,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,CAAC,MAAM,CACnB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAC/B,KAAY,EACZ,GAAoB;QAEpB,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAC1C,IAAI,CAAC,SAAS,CAAC,KAAK,EACpB,KAAsB,EACtB,GAAG,EACH,IAAI,CAAC,SAAS,CACf,CAAC;YACF,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;gBAC/C,OAAO,SAA4B,CAAC;YACtC,CAAC;QACH,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,WAAgB;QACzC,IAAI,CAAC,WAAW,CAAC,IAAI;YAAE,OAAO;QAE9B,MAAM,cAAc,GAClB,WAAW,CAAC,OAAO,EAAE,CAAC,kBAAkB,CAAC;YACzC,WAAW,CAAC,OAAO,EAAE,CAAC,kBAAkB,CAAC,CAAC;QAC5C,IAAI,CAAC,cAAc;YAAE,OAAO;QAE5B,MAAM,eAAe,GACnB,OAAO,cAAc,KAAK,QAAQ;YAChC,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;gBAC7B,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;gBACnB,CAAC,CAAC,SAAS,CAAC;QAElB,IAAI,CAAC,eAAe;YAAE,OAAO;QAE7B,IAAI,WAAW,CAAC,IAAI,YAAY,UAAU,EAAE,CAAC;YAC3C,WAAW,CAAC,IAAI,GAAG,gBAAgB,CAAC,WAAW,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,GAAG,sBAAsB,CACvC,WAAW,CAAC,IAAkC,EAC9C,eAAe,CAChB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,oBAAoB,CAC1B,MAAc,EACd,GAA8B,EAC9B,IAAsB,EACtB,MAAoB;QAEpB,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC;QACtC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QAEjC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CACb,iEAAiE,MAAM,GAAG,CAC3E,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,SAAS,GAAG,KAAK;YACrB,CAAC,CAAC,SAAS;YACX,CAAC,CAAE,GAA0C,CAAC;QAEhD,IAAI,SAAS,EAAE,KAAK,EAAE,CAAC;YACrB,IAAI,CAAC,iBAAiB,CACpB,MAAM,EACN,SAAS,CAAC,KAAgC,CAC3C,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG;YACd,MAAM;YACN,GAAG,EAAE,MAAM,CAAC,IAAI;YAChB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM;SACtC,CAAC;QAEF,IAAI,KAAK,EAAE,CAAC;YACV,OAAO;gBACL,GAAG,OAAO;gBACV,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE;gBACnC,IAAI;gBACJ,MAAM;gBACN,IAAI,EAAE,EAAE;aACqB,CAAC;QAClC,CAAC;QAED,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,SAAU,CAAC,QAAQ,CAEzC,CAAC;QACd,MAAM,OAAO,GAAG,UAAU;YACxB,CAAC,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;YACrE,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAE/B,MAAM,OAAO,GACX,SAAU,CAAC,IAAI,IAAI,SAAU,CAAC,QAAQ,IAAI,SAAU,CAAC,SAAS,IAAI,IAAI,CAAC;QACzE,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAEpD,MAAM,cAAc,GAClB,GAAG,CAAC,MAAM,IAAK,SAAU,CAAC,OAAmC,IAAI,MAAM,CAAC;QAC1E,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI;YACpB,SAAU,CAAC,KAAK;YAChB,EAAE,CAA4B,CAAC;QAEjC,OAAO,IAAI,CAAC,2BAA2B,CAAC,SAAU,EAAE;YAClD,GAAG,OAAO;YACV,OAAO;YACP,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,cAAc;YACtB,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,2BAA2B,CACjC,SAAkC,EAClC,SAAkC;QAElC,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,MAAM,GACV,KAAK,IAAI,KAAK,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAElE,MAAM,CAAC,gBAAgB,CACrB,MAAM,EACN,MAAM,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAC5C,CAAC;QAEF,MAAM,mBAAmB,GAA0B,EAAE,CAAC;QACtD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACrD,mBAAmB,CAAC,GAAG,CAAC,GAAG;gBACzB,KAAK;gBACL,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,IAAI;gBACd,YAAY,EAAE,IAAI;aACnB,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;QACrD,OAAO,MAAyB,CAAC;IACnC,CAAC;IAEO,iBAAiB,CAAC,GAAQ,EAAE,KAA+B;QACjE,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;gBAAE,SAAS;YAEpD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI;wBAAE,SAAS;oBAClD,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,GAA8B,EAC9B,MAAoB;QAEpB,MAAM,MAAM,GACV,OAAO,GAAG,KAAK,QAAQ;YACrB,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,CAAG,GAA0C,CAAC,MAEhC,IAAI,KAAK,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAClB,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAC1D,CAAC;IACJ,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"HyperCore.js","sourceRoot":"","sources":["../../src/Core/HyperCore.ts"],"names":[],"mappings":"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"}
|