@hyperttp/core 1.1.12 → 1.2.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 (95) hide show
  1. package/Core/HyperCore.d.ts +173 -8
  2. package/Core/HyperCore.d.ts.map +1 -1
  3. package/Core/HyperCore.js +329 -100
  4. package/Core/HyperCore.js.map +1 -1
  5. package/Core/index.d.ts +0 -1
  6. package/Core/index.d.ts.map +1 -1
  7. package/Core/index.js +0 -1
  8. package/Core/index.js.map +1 -1
  9. package/LICENSE +21 -0
  10. package/README.md +178 -0
  11. package/defaultConfig.d.ts +1 -1
  12. package/defaultConfig.d.ts.map +1 -1
  13. package/defaultConfig.js +0 -1
  14. package/defaultConfig.js.map +1 -1
  15. package/index.d.ts +1 -4
  16. package/index.d.ts.map +1 -1
  17. package/index.js +1 -1
  18. package/index.js.map +1 -1
  19. package/package.json +20 -6
  20. package/transports/node.d.ts +18 -7
  21. package/transports/node.d.ts.map +1 -1
  22. package/transports/node.js +255 -142
  23. package/transports/node.js.map +1 -1
  24. package/utils/errors.d.ts +49 -0
  25. package/utils/errors.d.ts.map +1 -0
  26. package/utils/errors.js +63 -0
  27. package/utils/errors.js.map +1 -0
  28. package/utils/merge.d.ts +8 -1
  29. package/utils/merge.d.ts.map +1 -1
  30. package/utils/merge.js +27 -13
  31. package/utils/merge.js.map +1 -1
  32. package/utils/response.d.ts +40 -0
  33. package/utils/response.d.ts.map +1 -0
  34. package/utils/response.js +79 -0
  35. package/utils/response.js.map +1 -0
  36. package/utils/retryUtils.d.ts +5 -0
  37. package/utils/retryUtils.d.ts.map +1 -0
  38. package/utils/retryUtils.js +35 -0
  39. package/utils/retryUtils.js.map +1 -0
  40. package/Core/RequestExecutor.d.ts +0 -64
  41. package/Core/RequestExecutor.d.ts.map +0 -1
  42. package/Core/RequestExecutor.js +0 -213
  43. package/Core/RequestExecutor.js.map +0 -1
  44. package/transports/bun.d.ts +0 -16
  45. package/transports/bun.d.ts.map +0 -1
  46. package/transports/bun.js +0 -181
  47. package/transports/bun.js.map +0 -1
  48. package/types/errors.d.ts +0 -20
  49. package/types/errors.d.ts.map +0 -1
  50. package/types/errors.js +0 -28
  51. package/types/errors.js.map +0 -1
  52. package/types/http.d.ts +0 -5
  53. package/types/http.d.ts.map +0 -1
  54. package/types/http.js +0 -2
  55. package/types/http.js.map +0 -1
  56. package/types/hyper.d.ts +0 -34
  57. package/types/hyper.d.ts.map +0 -1
  58. package/types/hyper.js +0 -2
  59. package/types/hyper.js.map +0 -1
  60. package/types/index.d.ts +0 -12
  61. package/types/index.d.ts.map +0 -1
  62. package/types/index.js +0 -12
  63. package/types/index.js.map +0 -1
  64. package/types/metrics.d.ts +0 -65
  65. package/types/metrics.d.ts.map +0 -1
  66. package/types/metrics.js +0 -2
  67. package/types/metrics.js.map +0 -1
  68. package/types/network.d.ts +0 -65
  69. package/types/network.d.ts.map +0 -1
  70. package/types/network.js +0 -2
  71. package/types/network.js.map +0 -1
  72. package/types/options.d.ts +0 -51
  73. package/types/options.d.ts.map +0 -1
  74. package/types/options.js +0 -2
  75. package/types/options.js.map +0 -1
  76. package/types/plugins.d.ts +0 -47
  77. package/types/plugins.d.ts.map +0 -1
  78. package/types/plugins.js +0 -2
  79. package/types/plugins.js.map +0 -1
  80. package/types/request.d.ts +0 -114
  81. package/types/request.d.ts.map +0 -1
  82. package/types/request.js +0 -2
  83. package/types/request.js.map +0 -1
  84. package/types/retry.d.ts +0 -28
  85. package/types/retry.d.ts.map +0 -1
  86. package/types/retry.js +0 -2
  87. package/types/retry.js.map +0 -1
  88. package/types/stream.d.ts +0 -39
  89. package/types/stream.d.ts.map +0 -1
  90. package/types/stream.js +0 -2
  91. package/types/stream.js.map +0 -1
  92. package/types/transport.d.ts +0 -25
  93. package/types/transport.d.ts.map +0 -1
  94. package/types/transport.js +0 -2
  95. package/types/transport.js.map +0 -1
package/Core/HyperCore.js CHANGED
@@ -1,59 +1,83 @@
1
1
  import { defaultConfig } from "../defaultConfig.js";
2
- /**
3
- * @private
4
- * Теперь функция полностью дженериковая. Какой тип пришел — такой и ушел.
5
- */
6
- const cloneBodyFast = (body) => {
7
- if (typeof body !== "object" || body === null)
8
- return body;
9
- try {
10
- return structuredClone(body);
11
- }
12
- catch {
2
+ import { mapResponseFast, mapStreamFast, mergeHeadersFast, } from "../utils/response.js";
3
+ import { createRequire } from "node:module";
4
+ export function getRuntime() {
5
+ if (typeof Bun !== "undefined")
6
+ return "bun";
7
+ return "node";
8
+ }
9
+ export const TRANSPORTS = [
10
+ {
11
+ name: "Bun",
12
+ runtime: ["bun"],
13
+ pkg: "@hyperttp/transport-bun",
14
+ export: "BunTransport",
15
+ priority: 100,
16
+ },
17
+ {
18
+ name: "Undici",
19
+ runtime: ["node"],
20
+ pkg: "@hyperttp/transport-undici",
21
+ export: "UndiciTransport",
22
+ priority: 90,
23
+ },
24
+ {
25
+ name: "Node",
26
+ runtime: ["node", "bun"],
27
+ pkg: "../transports/node.js",
28
+ export: "NodeTransport",
29
+ priority: 10,
30
+ },
31
+ ];
32
+ export async function resolveTransport(config) {
33
+ const runtime = getRuntime();
34
+ const candidates = TRANSPORTS.filter((t) => t.runtime.includes(runtime)).sort((a, b) => b.priority - a.priority);
35
+ const localRequire = createRequire(process.cwd() + "/package.json");
36
+ for (const t of candidates) {
37
+ config.logger?.("debug", `Loading transport: ${t.name}`);
13
38
  try {
14
- return JSON.parse(JSON.stringify(body));
39
+ const path = t.pkg.startsWith(".")
40
+ ? new URL(t.pkg, import.meta.url).href
41
+ : localRequire.resolve(t.pkg);
42
+ const mod = await import(path);
43
+ const Transport = mod[t.export] || mod.default;
44
+ if (!Transport)
45
+ continue;
46
+ config.logger?.("info", `Selected transport: ${t.name}`);
47
+ return new Transport(config);
15
48
  }
16
- catch {
17
- return { ...body };
49
+ catch (e) {
50
+ config.logger?.("debug", `Skip ${t.name}: ${e}`);
18
51
  }
19
52
  }
20
- };
21
- function responseCloneHandler() {
22
- return {
23
- status: this.status,
24
- headers: { ...this.headers },
25
- body: cloneBodyFast(this.body),
26
- url: this.url,
27
- clone: responseCloneHandler,
28
- };
53
+ throw new Error(`No transport for runtime: ${runtime}`);
29
54
  }
30
55
  /**
31
- * Принимает сырой ответ с телом `unknown` и возвращает плоский объект.
56
+ * @ru Основной оркестратор HTTP-клиента, управляющий жизненным циклом запросов, плагинами и транспортом.
57
+ * @en Main HTTP client orchestrator managing request lifecycle, plugins, and network transports.
32
58
  */
33
- const mapResponseFast = (rawResponse) => ({
34
- status: rawResponse.status,
35
- headers: rawResponse.headers,
36
- body: rawResponse.body,
37
- url: rawResponse.url ?? "",
38
- clone: responseCloneHandler,
39
- });
40
- const mapStreamFast = (rawResponse) => ({
41
- status: rawResponse.status,
42
- headers: rawResponse.headers,
43
- body: rawResponse.body,
44
- url: rawResponse.url ?? "",
45
- });
46
- const mergeHeadersFast = (base, override) => {
47
- if (!override || Object.keys(override).length === 0)
48
- return base;
49
- return { ...base, ...override };
50
- };
51
59
  export class HyperCore {
60
+ /**
61
+ * @ru Текущая конфигурация экземпляра клиента.
62
+ * @en Current client instance configuration.
63
+ */
52
64
  config;
53
65
  transport = null;
54
66
  transportPromise = null;
55
67
  defaultHeaders;
56
68
  pluginCtx;
69
+ requestHooks = [];
70
+ responseHooks = [];
71
+ errorHooks = [];
72
+ hasRequestHooks = false;
73
+ hasResponseHooks = false;
74
+ hasErrorHooks = false;
75
+ /**
76
+ * @ru Создает новый экземпляр HyperCore.
77
+ * @en Creates a new HyperCore instance.
78
+ * @param config - Client configuration options.
79
+ * @param transport - Pre-configured transport layer.
80
+ */
57
81
  constructor(config, transport) {
58
82
  this.config = {
59
83
  ...defaultConfig,
@@ -66,6 +90,9 @@ export class HyperCore {
66
90
  if (transport) {
67
91
  this.transport = transport;
68
92
  this.transportPromise = Promise.resolve(transport);
93
+ if ("config" in transport) {
94
+ transport.config = this.config;
95
+ }
69
96
  }
70
97
  this.defaultHeaders = {
71
98
  Accept: "application/json, text/plain, */*",
@@ -78,14 +105,80 @@ export class HyperCore {
78
105
  core: this,
79
106
  };
80
107
  }
108
+ /**
109
+ * @private
110
+ * @ru Динамически импортирует и инициализирует транспорт в зависимости от рантайма.
111
+ * @en Dynamically imports and initializes transport depending on the runtime environment.
112
+ * @throws Error если не удалось загрузить или инициализировать модуль транспорта.
113
+ * @returns Network transport instance.
114
+ */
81
115
  async createTransport() {
82
- if (typeof Bun !== "undefined") {
83
- const { BunTransport } = await import("../transports/bun.js");
84
- return new BunTransport(this.config);
116
+ if (this.config.customTransport) {
117
+ this.config.logger?.("debug", "Using user-provided custom transport.");
118
+ return this.config.customTransport;
85
119
  }
86
- const { NodeTransport } = await import("../transports/node.js");
87
- return new NodeTransport(this.config);
120
+ const isBun = typeof Bun !== "undefined";
121
+ const isNode = typeof process !== "undefined" && !!process.versions?.node;
122
+ const strategies = [
123
+ {
124
+ name: "Bun",
125
+ runtime: "bun",
126
+ check: () => isBun,
127
+ pkg: "@hyperttp/transport-bun",
128
+ export: "BunTransport",
129
+ },
130
+ {
131
+ name: "Undici",
132
+ runtime: "node",
133
+ check: () => isNode,
134
+ pkg: "@hyperttp/transport-undici",
135
+ export: "UndiciTransport",
136
+ },
137
+ {
138
+ name: "Node",
139
+ runtime: "all",
140
+ check: () => true,
141
+ pkg: "../transports/node.js",
142
+ export: "NodeTransport",
143
+ isLocal: true,
144
+ },
145
+ ];
146
+ const filtered = strategies.filter((s) => {
147
+ if (s.runtime === "bun")
148
+ return isBun;
149
+ if (s.runtime === "node")
150
+ return isNode;
151
+ return true;
152
+ });
153
+ const localRequire = createRequire(process.cwd() + "/package.json");
154
+ for (const strategy of filtered) {
155
+ try {
156
+ this.config.logger?.("debug", `Attempting to load ${strategy.name} transport...`);
157
+ const path = strategy.isLocal
158
+ ? new URL(strategy.pkg, import.meta.url).href
159
+ : localRequire.resolve(strategy.pkg);
160
+ const module = await import(path);
161
+ const TransportClass = module[strategy.export] ||
162
+ module.default?.[strategy.export] ||
163
+ module.default;
164
+ if (!TransportClass) {
165
+ throw new Error(`Invalid transport export: ${strategy.name}`);
166
+ }
167
+ this.config.logger?.("info", `Successfully initialized ${strategy.name} transport.`);
168
+ return new TransportClass(this.config);
169
+ }
170
+ catch (e) {
171
+ this.config.logger?.("warn", `${strategy.name} transport failed: ${e}`);
172
+ }
173
+ }
174
+ throw new Error("No compatible transport implementation available");
88
175
  }
176
+ /**
177
+ * @private
178
+ * @ru Гарантирует синглтон-инициализацию сетевого транспорта.
179
+ * @en Ensures singleton initialization of the network transport layer.
180
+ * @returns Network transport instance promise.
181
+ */
89
182
  ensureTransport() {
90
183
  return (this.transportPromise ||
91
184
  (this.transportPromise = this.createTransport().then((t) => {
@@ -93,102 +186,226 @@ export class HyperCore {
93
186
  return t;
94
187
  })));
95
188
  }
96
- dispatch = (req) => {
97
- if (req.signal?.aborted) {
98
- return Promise.reject(new Error("Request aborted by user"));
189
+ /**
190
+ * @ru Главный конвейер (Hot Path) выполнения запроса, последовательно вызывающий хуки плагинов и сетевой транспорт.
191
+ * @en Main hot path execution pipeline, sequentially running plugin hooks and the network transport.
192
+ * @template T - Type of the expected response body.
193
+ * @param req - Prepared internal request configuration.
194
+ * @returns Formatted HTTP response object.
195
+ */
196
+ async dispatch(req) {
197
+ try {
198
+ if (this.hasRequestHooks) {
199
+ for (let i = 0; i < this.requestHooks.length; i++) {
200
+ const shortCircuitResponse = await this.requestHooks[i].run(req, this.pluginCtx);
201
+ if (shortCircuitResponse) {
202
+ return this.executeResponseHooks(shortCircuitResponse, req);
203
+ }
204
+ }
205
+ }
206
+ const transport = this.transport || (await this.ensureTransport());
207
+ const rawResponse = await transport.execute(req);
208
+ const response = mapResponseFast(rawResponse);
209
+ return this.executeResponseHooks(response, req);
99
210
  }
100
- if (this.transport) {
101
- return this.transport
102
- .execute(req)
103
- .then(mapResponseFast);
211
+ catch (error) {
212
+ if (this.hasErrorHooks) {
213
+ const httpError = error;
214
+ for (let i = 0; i < this.errorHooks.length; i++) {
215
+ const recoveredResponse = await this.errorHooks[i].run(httpError, req, this.pluginCtx);
216
+ if (recoveredResponse) {
217
+ return this.executeResponseHooks(recoveredResponse, req);
218
+ }
219
+ }
220
+ }
221
+ throw error;
222
+ }
223
+ }
224
+ /**
225
+ * @private
226
+ * @ru Вспомогательный хелпер прогона сквозной фазы Response.
227
+ * @en Internal helper to run through the cross-cutting Response phase hooks.
228
+ * @template T - Type of the expected response body.
229
+ * @param res - Raw HTTP response object.
230
+ * @param req - Original internal request configuration.
231
+ * @returns Processed response object.
232
+ */
233
+ async executeResponseHooks(res, req) {
234
+ if (this.hasResponseHooks) {
235
+ for (let i = 0; i < this.responseHooks.length; i++) {
236
+ await this.responseHooks[i].run(res, req, this.pluginCtx);
237
+ }
104
238
  }
105
- return this.ensureTransport()
106
- .then((transport) => transport.execute(req))
107
- .then(mapResponseFast);
108
- };
239
+ return res;
240
+ }
241
+ /**
242
+ * @ru Регистрирует плагин и встраивает его хуки в конвейер выполнения.
243
+ * @en Registers a plugin and injects its hooks into the execution pipeline.
244
+ * @param plugin - Plugin object to register.
245
+ * @returns Current client instance.
246
+ */
109
247
  use(plugin) {
110
- if (typeof plugin.enabled === "function" && !plugin.enabled(this.config)) {
248
+ if (!plugin.enabled(this.config)) {
111
249
  return this;
112
250
  }
113
- if (typeof plugin.setup === "function") {
251
+ if (plugin.setup) {
114
252
  plugin.setup(this.pluginCtx);
115
253
  }
116
- if (typeof plugin.wrapDispatch === "function") {
117
- this.dispatch = plugin.wrapDispatch(this.dispatch, this.pluginCtx);
254
+ if (plugin.onRequest) {
255
+ this.requestHooks.push({ name: plugin.name, run: plugin.onRequest });
256
+ this.hasRequestHooks = true;
118
257
  }
119
- return this;
120
- }
121
- stream(req, signal) {
122
- let url;
123
- let reqHeaders;
124
- if (typeof req === "string") {
125
- url = req;
258
+ if (plugin.onResponse) {
259
+ this.responseHooks.push({ name: plugin.name, run: plugin.onResponse });
260
+ this.hasResponseHooks = true;
126
261
  }
127
- else {
128
- url = req.url;
129
- signal = req.signal ?? signal;
130
- reqHeaders = req.headers;
262
+ if (plugin.onError) {
263
+ this.errorHooks.push({ name: plugin.name, run: plugin.onError });
264
+ this.hasErrorHooks = true;
131
265
  }
132
- const finalHeaders = mergeHeadersFast(this.defaultHeaders, reqHeaders);
266
+ return this;
267
+ }
268
+ /**
269
+ * @ru Выполняет GET-запрос в режиме потоковой передачи (streaming) без прогона через хуки плагинов.
270
+ * @en Executes a GET request in streaming mode, bypassing standard plugin hooks.
271
+ * @param req - Request configurations or targeted URL string.
272
+ * @param signal - Optional signal to abort the stream transport.
273
+ * @returns Stream response mapping container.
274
+ */
275
+ async stream(req, signal) {
276
+ const isStr = typeof req === "string";
277
+ const url = isStr ? req : req.url;
278
+ const reqHeaders = isStr ? undefined : req.headers;
279
+ const finalSignal = isStr ? signal : (req.signal ?? signal);
133
280
  const transportArgs = {
134
281
  method: "GET",
135
282
  url,
136
- headers: finalHeaders,
137
- signal,
283
+ headers: mergeHeadersFast(this.defaultHeaders, reqHeaders),
284
+ signal: finalSignal,
138
285
  };
139
- if (this.transport) {
140
- return this.transport.execute(transportArgs).then(mapStreamFast);
141
- }
142
- return this.ensureTransport()
143
- .then((transport) => transport.execute(transportArgs))
144
- .then(mapStreamFast);
286
+ const transport = this.transport || (await this.ensureTransport());
287
+ const rawResponse = await transport.execute(transportArgs);
288
+ return mapStreamFast(rawResponse);
145
289
  }
290
+ /**
291
+ * @ru Выполняет HTTP GET-запрос.
292
+ * @en Executes an HTTP GET request.
293
+ * @template T - Type of the expected response body.
294
+ * @param req - Request URL or options object.
295
+ * @param signal - Optional cancellation signal.
296
+ * @returns Wrapped HTTP response.
297
+ */
146
298
  get(req, signal) {
147
299
  return this.dispatch(this.buildInternalRequest("GET", req, undefined, signal));
148
300
  }
301
+ /**
302
+ * @ru Выполняет HTTP POST-запрос с телом данных.
303
+ * @en Executes an HTTP POST request with a payload body.
304
+ * @template T - Type of the expected response body.
305
+ * @param req - Request URL or options object.
306
+ * @param body - Request body data.
307
+ * @param signal - Optional cancellation signal.
308
+ * @returns Wrapped HTTP response.
309
+ */
149
310
  post(req, body, signal) {
150
311
  return this.dispatch(this.buildInternalRequest("POST", req, body, signal));
151
312
  }
313
+ /**
314
+ * @ru Выполняет HTTP PUT-запрос с телом данных.
315
+ * @en Executes an HTTP PUT request with a payload body.
316
+ * @template T - Type of the expected response body.
317
+ * @param req - Request URL or options object.
318
+ * @param body - Request body data.
319
+ * @param signal - Optional cancellation signal.
320
+ * @returns Wrapped HTTP response.
321
+ */
152
322
  put(req, body, signal) {
153
323
  return this.dispatch(this.buildInternalRequest("PUT", req, body, signal));
154
324
  }
325
+ /**
326
+ * @ru Выполняет HTTP PATCH-запрос с телом данных.
327
+ * @en Executes an HTTP PATCH request with a payload body.
328
+ * @template T - Type of the expected response body.
329
+ * @param req - Request URL or options object.
330
+ * @param body - Request body data.
331
+ * @param signal - Optional cancellation signal.
332
+ * @returns Wrapped HTTP response.
333
+ */
155
334
  patch(req, body, signal) {
156
335
  return this.dispatch(this.buildInternalRequest("PATCH", req, body, signal));
157
336
  }
337
+ /**
338
+ * @ru Выполняет HTTP DELETE-запрос.
339
+ * @en Executes an HTTP DELETE request.
340
+ * @template T - Type of the expected response body.
341
+ * @param req - Request URL or options object.
342
+ * @param signal - Optional cancellation signal.
343
+ * @returns Wrapped HTTP response.
344
+ */
158
345
  delete(req, signal) {
159
346
  return this.dispatch(this.buildInternalRequest("DELETE", req, undefined, signal));
160
347
  }
348
+ /**
349
+ * @ru Выполняет HTTP OPTIONS-запрос.
350
+ * @en Executes an HTTP OPTIONS request.
351
+ * @template T - Type of the expected response body.
352
+ * @param req - Request URL or options object.
353
+ * @param body - Optional request body data.
354
+ * @param signal - Optional cancellation signal.
355
+ * @returns Wrapped HTTP response.
356
+ */
161
357
  options(req, body, signal) {
162
358
  return this.dispatch(this.buildInternalRequest("OPTIONS", req, body, signal));
163
359
  }
360
+ /**
361
+ * @ru Выполняет HTTP HEAD-запрос. Тело ответа всегда возвращает null.
362
+ * @en Executes an HTTP HEAD request. Response body always resolves to null.
363
+ * @param req - Request URL or options object.
364
+ * @param signal - Optional cancellation signal.
365
+ * @returns Wrapped null response.
366
+ */
164
367
  head(req, signal) {
165
368
  return this.dispatch(this.buildInternalRequest("HEAD", req, undefined, signal));
166
369
  }
370
+ /**
371
+ * @private
372
+ * @ru Быстрый сборщик внутреннего нормализованного состояния запроса.
373
+ * @en Fast compiler of internal normalized request configurations.
374
+ * @param method - HTTP Verb / Method.
375
+ * @param req - User input request target or configuration block.
376
+ * @param body - Request body data.
377
+ * @param signal - Optional AbortSignal.
378
+ * @returns Compiled request payload.
379
+ */
167
380
  buildInternalRequest(method, req, body, signal) {
168
- let url;
169
- let reqHeaders;
170
- let reqSignal = signal;
171
- let finalBody = body;
172
- let meta = undefined;
173
381
  if (typeof req === "string") {
174
- url = req;
175
- }
176
- else {
177
- url = req.url;
178
- reqHeaders = req.headers;
179
- reqSignal = req.signal ?? signal;
180
- finalBody = req.body ?? body;
181
- meta = req.meta;
382
+ return {
383
+ method,
384
+ url: req,
385
+ headers: this.defaultHeaders,
386
+ body,
387
+ signal,
388
+ meta: undefined,
389
+ };
182
390
  }
391
+ const headers = req.headers
392
+ ? mergeHeadersFast(this.defaultHeaders, req.headers)
393
+ : this.defaultHeaders;
183
394
  return {
184
395
  method,
185
- url,
186
- headers: mergeHeadersFast(this.defaultHeaders, reqHeaders),
187
- body: finalBody,
188
- signal: reqSignal,
189
- meta,
396
+ url: req.url,
397
+ headers,
398
+ body: req.body ?? body,
399
+ signal: req.signal ?? signal,
400
+ meta: req.meta,
190
401
  };
191
402
  }
403
+ /**
404
+ * @ru Создает новую копию ядра, расширяя текущую конфигурацию новыми опциями.
405
+ * @en Creates a new core copy extending the current instance configuration with fresh options.
406
+ * @param options - Partial configuration object override.
407
+ * @returns Extended HyperCore instance.
408
+ */
192
409
  extend(options) {
193
410
  return new HyperCore({
194
411
  ...this.config,
@@ -196,10 +413,22 @@ export class HyperCore {
196
413
  network: { ...this.config.network, ...options.network },
197
414
  }, this.transport ?? undefined);
198
415
  }
416
+ /**
417
+ * @ru Алиас метода `extend`. Создает инстанс на базе текущих настроек.
418
+ * @en Alias for `extend` method. Spawn instance configuration based on current setup.
419
+ * @param options - Partial configuration object override.
420
+ * @returns Extended HyperCore instance.
421
+ */
199
422
  create(options) {
200
423
  return this.extend(options);
201
424
  }
425
+ /**
426
+ * @ru Завершает работу транспорта и корректно освобождает дескрипторы активных соединений.
427
+ * @en Destroys the transport layer lifecycle and cleans up active sockets accurately.
428
+ * @param graceful - If true, drains pipeline before connection teardown.
429
+ */
202
430
  async destroy(graceful = true) {
431
+ this.config.logger?.("debug", "Destroying transport...");
203
432
  const transport = this.transport;
204
433
  if (!transport)
205
434
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"HyperCore.js","sourceRoot":"","sources":["../../src/Core/HyperCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HyperCore.js","sourceRoot":"","sources":["../../src/Core/HyperCore.ts"],"names":[],"mappings":"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"}
package/Core/index.d.ts CHANGED
@@ -1,3 +1,2 @@
1
1
  export { HyperCore } from "./HyperCore.js";
2
- export { RequestExecutor } from "./RequestExecutor.js";
3
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
package/Core/index.js CHANGED
@@ -1,3 +1,2 @@
1
1
  export { HyperCore } from "./HyperCore.js";
2
- export { RequestExecutor } from "./RequestExecutor.js";
3
2
  //# sourceMappingURL=index.js.map
package/Core/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 IT IF OR
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.