@hyperttp/core 1.1.11 → 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 +174 -9
  2. package/Core/HyperCore.d.ts.map +1 -1
  3. package/Core/HyperCore.js +337 -110
  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 +19 -5
  21. package/transports/node.d.ts.map +1 -1
  22. package/transports/node.js +254 -126
  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 -14
  45. package/transports/bun.d.ts.map +0 -1
  46. package/transports/bun.js +0 -164
  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 -20
  93. package/types/transport.d.ts.map +0 -1
  94. package/types/transport.js +0 -2
  95. package/types/transport.js.map +0 -1
@@ -1,31 +1,196 @@
1
- import type { HttpClientOptions } from "../types/options.js";
2
- import type { RequestBodyData, RequestInterface } from "../types/request.js";
3
- import type { StreamResponse } from "../types/stream.js";
4
- import type { HyperTransport } from "../types/transport.js";
5
- import type { HttpResponse, InternalRequest } from "../types/hyper.js";
6
- import { HyperPlugin } from "../types/plugins.js";
7
- export declare class HyperCore {
1
+ import type { IHyperCore, HyperTransport, HttpClientOptions, HyperPlugin, InternalRequest, HttpResponse, RequestInterface, StreamResponse, RequestBodyData } from "@hyperttp/types";
2
+ export type Runtime = "bun" | "node";
3
+ export declare function getRuntime(): Runtime;
4
+ type TransportDef = {
5
+ name: string;
6
+ runtime: Runtime[];
7
+ pkg: string;
8
+ export: string;
9
+ priority: number;
10
+ };
11
+ export declare const TRANSPORTS: TransportDef[];
12
+ declare module "@hyperttp/types" {
13
+ interface HttpClientOptions {
14
+ /**
15
+ * @ru Кастомный транспорт, переданный пользователем вручную
16
+ * @en Manually provided custom transport instance
17
+ */
18
+ customTransport?: HyperTransport;
19
+ }
20
+ }
21
+ export declare function resolveTransport(config: HttpClientOptions): Promise<any>;
22
+ /**
23
+ * @ru Основной оркестратор HTTP-клиента, управляющий жизненным циклом запросов, плагинами и транспортом.
24
+ * @en Main HTTP client orchestrator managing request lifecycle, plugins, and network transports.
25
+ */
26
+ export declare class HyperCore implements IHyperCore {
27
+ /**
28
+ * @ru Текущая конфигурация экземпляра клиента.
29
+ * @en Current client instance configuration.
30
+ */
8
31
  config: HttpClientOptions;
9
32
  private transport;
10
33
  private transportPromise;
11
34
  private readonly defaultHeaders;
12
35
  private readonly pluginCtx;
36
+ private readonly requestHooks;
37
+ private readonly responseHooks;
38
+ private readonly errorHooks;
39
+ private hasRequestHooks;
40
+ private hasResponseHooks;
41
+ private hasErrorHooks;
42
+ /**
43
+ * @ru Создает новый экземпляр HyperCore.
44
+ * @en Creates a new HyperCore instance.
45
+ * @param config - Client configuration options.
46
+ * @param transport - Pre-configured transport layer.
47
+ */
13
48
  constructor(config: HttpClientOptions, transport?: HyperTransport);
49
+ /**
50
+ * @private
51
+ * @ru Динамически импортирует и инициализирует транспорт в зависимости от рантайма.
52
+ * @en Dynamically imports and initializes transport depending on the runtime environment.
53
+ * @throws Error если не удалось загрузить или инициализировать модуль транспорта.
54
+ * @returns Network transport instance.
55
+ */
14
56
  private createTransport;
57
+ /**
58
+ * @private
59
+ * @ru Гарантирует синглтон-инициализацию сетевого транспорта.
60
+ * @en Ensures singleton initialization of the network transport layer.
61
+ * @returns Network transport instance promise.
62
+ */
15
63
  private ensureTransport;
16
- dispatch: <T = unknown>(req: InternalRequest) => Promise<HttpResponse<T>>;
64
+ /**
65
+ * @ru Главный конвейер (Hot Path) выполнения запроса, последовательно вызывающий хуки плагинов и сетевой транспорт.
66
+ * @en Main hot path execution pipeline, sequentially running plugin hooks and the network transport.
67
+ * @template T - Type of the expected response body.
68
+ * @param req - Prepared internal request configuration.
69
+ * @returns Formatted HTTP response object.
70
+ */
71
+ dispatch<T = unknown>(req: InternalRequest): Promise<HttpResponse<T>>;
72
+ /**
73
+ * @private
74
+ * @ru Вспомогательный хелпер прогона сквозной фазы Response.
75
+ * @en Internal helper to run through the cross-cutting Response phase hooks.
76
+ * @template T - Type of the expected response body.
77
+ * @param res - Raw HTTP response object.
78
+ * @param req - Original internal request configuration.
79
+ * @returns Processed response object.
80
+ */
81
+ private executeResponseHooks;
82
+ /**
83
+ * @ru Регистрирует плагин и встраивает его хуки в конвейер выполнения.
84
+ * @en Registers a plugin and injects its hooks into the execution pipeline.
85
+ * @param plugin - Plugin object to register.
86
+ * @returns Current client instance.
87
+ */
17
88
  use(plugin: HyperPlugin): this;
89
+ /**
90
+ * @ru Выполняет GET-запрос в режиме потоковой передачи (streaming) без прогона через хуки плагинов.
91
+ * @en Executes a GET request in streaming mode, bypassing standard plugin hooks.
92
+ * @param req - Request configurations or targeted URL string.
93
+ * @param signal - Optional signal to abort the stream transport.
94
+ * @returns Stream response mapping container.
95
+ */
18
96
  stream(req: RequestInterface | string, signal?: AbortSignal): Promise<StreamResponse<unknown>>;
97
+ /**
98
+ * @ru Выполняет HTTP GET-запрос.
99
+ * @en Executes an HTTP GET request.
100
+ * @template T - Type of the expected response body.
101
+ * @param req - Request URL or options object.
102
+ * @param signal - Optional cancellation signal.
103
+ * @returns Wrapped HTTP response.
104
+ */
19
105
  get<T = unknown>(req: RequestInterface | string, signal?: AbortSignal): Promise<HttpResponse<T>>;
106
+ /**
107
+ * @ru Выполняет HTTP POST-запрос с телом данных.
108
+ * @en Executes an HTTP POST request with a payload body.
109
+ * @template T - Type of the expected response body.
110
+ * @param req - Request URL or options object.
111
+ * @param body - Request body data.
112
+ * @param signal - Optional cancellation signal.
113
+ * @returns Wrapped HTTP response.
114
+ */
20
115
  post<T = unknown>(req: RequestInterface | string, body?: RequestBodyData, signal?: AbortSignal): Promise<HttpResponse<T>>;
116
+ /**
117
+ * @ru Выполняет HTTP PUT-запрос с телом данных.
118
+ * @en Executes an HTTP PUT request with a payload body.
119
+ * @template T - Type of the expected response body.
120
+ * @param req - Request URL or options object.
121
+ * @param body - Request body data.
122
+ * @param signal - Optional cancellation signal.
123
+ * @returns Wrapped HTTP response.
124
+ */
21
125
  put<T = unknown>(req: RequestInterface | string, body?: RequestBodyData, signal?: AbortSignal): Promise<HttpResponse<T>>;
126
+ /**
127
+ * @ru Выполняет HTTP PATCH-запрос с телом данных.
128
+ * @en Executes an HTTP PATCH request with a payload body.
129
+ * @template T - Type of the expected response body.
130
+ * @param req - Request URL or options object.
131
+ * @param body - Request body data.
132
+ * @param signal - Optional cancellation signal.
133
+ * @returns Wrapped HTTP response.
134
+ */
22
135
  patch<T = unknown>(req: RequestInterface | string, body?: RequestBodyData, signal?: AbortSignal): Promise<HttpResponse<T>>;
136
+ /**
137
+ * @ru Выполняет HTTP DELETE-запрос.
138
+ * @en Executes an HTTP DELETE request.
139
+ * @template T - Type of the expected response body.
140
+ * @param req - Request URL or options object.
141
+ * @param signal - Optional cancellation signal.
142
+ * @returns Wrapped HTTP response.
143
+ */
23
144
  delete<T = unknown>(req: RequestInterface | string, signal?: AbortSignal): Promise<HttpResponse<T>>;
145
+ /**
146
+ * @ru Выполняет HTTP OPTIONS-запрос.
147
+ * @en Executes an HTTP OPTIONS request.
148
+ * @template T - Type of the expected response body.
149
+ * @param req - Request URL or options object.
150
+ * @param body - Optional request body data.
151
+ * @param signal - Optional cancellation signal.
152
+ * @returns Wrapped HTTP response.
153
+ */
24
154
  options<T = unknown>(req: RequestInterface | string, body?: RequestBodyData, signal?: AbortSignal): Promise<HttpResponse<T>>;
155
+ /**
156
+ * @ru Выполняет HTTP HEAD-запрос. Тело ответа всегда возвращает null.
157
+ * @en Executes an HTTP HEAD request. Response body always resolves to null.
158
+ * @param req - Request URL or options object.
159
+ * @param signal - Optional cancellation signal.
160
+ * @returns Wrapped null response.
161
+ */
25
162
  head(req: RequestInterface | string, signal?: AbortSignal): Promise<HttpResponse<null>>;
163
+ /**
164
+ * @private
165
+ * @ru Быстрый сборщик внутреннего нормализованного состояния запроса.
166
+ * @en Fast compiler of internal normalized request configurations.
167
+ * @param method - HTTP Verb / Method.
168
+ * @param req - User input request target or configuration block.
169
+ * @param body - Request body data.
170
+ * @param signal - Optional AbortSignal.
171
+ * @returns Compiled request payload.
172
+ */
26
173
  private buildInternalRequest;
174
+ /**
175
+ * @ru Создает новую копию ядра, расширяя текущую конфигурацию новыми опциями.
176
+ * @en Creates a new core copy extending the current instance configuration with fresh options.
177
+ * @param options - Partial configuration object override.
178
+ * @returns Extended HyperCore instance.
179
+ */
27
180
  extend(options: Partial<HttpClientOptions>): HyperCore;
181
+ /**
182
+ * @ru Алиас метода `extend`. Создает инстанс на базе текущих настроек.
183
+ * @en Alias for `extend` method. Spawn instance configuration based on current setup.
184
+ * @param options - Partial configuration object override.
185
+ * @returns Extended HyperCore instance.
186
+ */
28
187
  create(options: Partial<HttpClientOptions>): HyperCore;
29
- destroy(): Promise<void>;
188
+ /**
189
+ * @ru Завершает работу транспорта и корректно освобождает дескрипторы активных соединений.
190
+ * @en Destroys the transport layer lifecycle and cleans up active sockets accurately.
191
+ * @param graceful - If true, drains pipeline before connection teardown.
192
+ */
193
+ destroy(graceful?: boolean): Promise<void>;
30
194
  }
195
+ export {};
31
196
  //# sourceMappingURL=HyperCore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HyperCore.d.ts","sourceRoot":"","sources":["../../src/Core/HyperCore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGvE,OAAO,EAAE,WAAW,EAAiB,MAAM,qBAAqB,CAAC;AA4DjE,qBAAa,SAAS;IACb,MAAM,EAAE,iBAAiB,CAAC;IACjC,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,gBAAgB,CAAwC;IAChE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAoC;IACnE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgB;gBAE9B,MAAM,EAAE,iBAAiB,EAAE,SAAS,CAAC,EAAE,cAAc;YA4BnD,eAAe;IAS7B,OAAO,CAAC,eAAe;IAUhB,QAAQ,GAAI,CAAC,GAAG,OAAO,EAC5B,KAAK,eAAe,KACnB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAczB;IAEK,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAa9B,MAAM,CACX,GAAG,EAAE,gBAAgB,GAAG,MAAM,EAC9B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAiC5B,GAAG,CAAC,CAAC,GAAG,OAAO,EACpB,GAAG,EAAE,gBAAgB,GAAG,MAAM,EAC9B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAMpB,IAAI,CAAC,CAAC,GAAG,OAAO,EACrB,GAAG,EAAE,gBAAgB,GAAG,MAAM,EAC9B,IAAI,CAAC,EAAE,eAAe,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAMpB,GAAG,CAAC,CAAC,GAAG,OAAO,EACpB,GAAG,EAAE,gBAAgB,GAAG,MAAM,EAC9B,IAAI,CAAC,EAAE,eAAe,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAMpB,KAAK,CAAC,CAAC,GAAG,OAAO,EACtB,GAAG,EAAE,gBAAgB,GAAG,MAAM,EAC9B,IAAI,CAAC,EAAE,eAAe,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAMpB,MAAM,CAAC,CAAC,GAAG,OAAO,EACvB,GAAG,EAAE,gBAAgB,GAAG,MAAM,EAC9B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAMpB,OAAO,CAAC,CAAC,GAAG,OAAO,EACxB,GAAG,EAAE,gBAAgB,GAAG,MAAM,EAC9B,IAAI,CAAC,EAAE,eAAe,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAMpB,IAAI,CACT,GAAG,EAAE,gBAAgB,GAAG,MAAM,EAC9B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAM9B,OAAO,CAAC,oBAAoB;IAoCrB,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,SAAS;IAWtD,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,SAAS;IAIhD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAYtC"}
1
+ {"version":3,"file":"HyperCore.d.ts","sourceRoot":"","sources":["../../src/Core/HyperCore.ts"],"names":[],"mappings":"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"}