@hyperttp/core 1.3.1 → 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.
@@ -1,10 +1,14 @@
1
1
  import type { IHyperCore, HyperTransport, HttpClientOptions, HyperPlugin, InternalRequest, HttpResponse, RequestInterface, StreamResponse, RequestBodyData } from "@hyperttp/types";
2
2
  /**
3
- * @ru Основной класс HTTP-клиента Hyperttp. Управляет транспортами, плагинами, перехватчиками, повторными попытками и сжатием.
4
- * @en Core HTTP client class for Hyperttp. Manages transports, plugins, interceptors, retries, and compression.
3
+ * @ru Основной класс HTTP-клиента с поддержкой плагинов, потоковой передачи, кэширования URL и гибкой настройки.
4
+ * @en Core HTTP client class with plugin support, streaming, URL caching and flexible configuration.
5
+ * @implements {IHyperCore}
5
6
  */
6
7
  export declare class HyperCore implements IHyperCore {
7
- /** @ru Конфигурация клиента (базовый URL, таймауты, заголовки и т.д.). @en Client configuration (base URL, timeouts, headers, etc.). */
8
+ /**
9
+ * @ru Активная конфигурация клиента (объединена с настройками по умолчанию).
10
+ * @en Current client configuration (merged with default settings).
11
+ */
8
12
  config: HttpClientOptions;
9
13
  private readonly transportManager;
10
14
  private readonly defaultHeaders;
@@ -12,159 +16,223 @@ export declare class HyperCore implements IHyperCore {
12
16
  private readonly pipelines;
13
17
  /**
14
18
  * @ru Создаёт экземпляр HyperCore.
15
- * @en Creates an instance of HyperCore.
16
- * @param config - Client configuration options.
17
- * @param transport - Optional custom transport implementation.
19
+ * @en Creates a HyperCore instance.
20
+ * @param config - Client configuration (overrides defaults).
21
+ * @param transport - Optional transport layer (auto‑selected if omitted).
18
22
  */
19
23
  constructor(config?: HttpClientOptions, transport?: HyperTransport);
24
+ /**
25
+ * @ru Возвращает текущий транспортный экземпляр (или null, если он ещё не инициализирован).
26
+ * @en Returns the current transport instance (or null if not yet initialized).
27
+ */
20
28
  private get transport();
29
+ getTransportName(): Promise<string>;
30
+ /**
31
+ * @ru Гарантирует наличие готового к работе транспорта (асинхронная инициализация при необходимости).
32
+ * @en Ensures a ready‑to‑use transport (async initialization if needed).
33
+ * @returns Promise resolving to a transport instance.
34
+ */
21
35
  private ensureTransport;
36
+ /**
37
+ * @ru Внутренний метод диспетчеризации запроса, обрабатывающий как обычные, так и стриминговые ответы.
38
+ * @en Internal request dispatcher handling both regular and streaming responses.
39
+ * @param req - Internal request object.
40
+ * @returns Promise resolving to a response (HttpResponse or StreamResponse).
41
+ */
22
42
  private dispatchInternal;
23
43
  /**
24
- * @ru Выполняет HTTP-запрос с полным контролем (через объект InternalRequest).
25
- * @en Performs an HTTP request with full control (via InternalRequest object).
44
+ * @ru Отправляет HTTP-запрос и возвращает обычный (нестриминговый) ответ.
45
+ * @en Sends an HTTP request and returns a regular (non‑streaming) response.
26
46
  * @param req - Internal request object.
27
- * @returns Promise with the HTTP response.
47
+ * @returns Promise resolving to a typed HTTP response.
28
48
  */
29
49
  dispatch<T = unknown>(req: InternalRequest): Promise<HttpResponse<T>>;
30
50
  /**
31
- * @ru Регистрирует плагин для расширения функциональности клиента.
32
- * @en Registers a plugin to extend client functionality.
33
- * @param plugin - Plugin instance.
51
+ * @ru Регистрирует плагин в клиенте. Плагин может добавлять хуки на различных этапах обработки запроса/ответа.
52
+ * @en Registers a plugin with the client. The plugin can add hooks at various request/response processing stages.
53
+ * @param plugin - Plugin instance to register.
34
54
  * @returns This instance for chaining.
35
55
  */
36
56
  use(plugin: HyperPlugin): this;
37
57
  /**
38
- * @ru Выполняет GET-запрос и возвращает ответ в виде потока (StreamResponse).
39
- * @en Performs a GET request and returns the response as a stream (StreamResponse).
40
- * @param req - Request URL or RequestInterface object.
41
- * @param signal - Optional abort signal.
42
- * @returns Promise with the stream response.
58
+ * @ru Выполняет GET-запрос с потоковым ответом.
59
+ * @en Performs a GET request with a streaming response.
60
+ * @param req - Request URL or configuration object.
61
+ * @param signal - Optional AbortSignal to cancel the request.
62
+ * @returns Promise resolving to a StreamResponse.
43
63
  */
44
64
  stream(req: RequestInterface | string, signal?: AbortSignal): Promise<StreamResponse<unknown>>;
45
65
  /**
46
- * @ru Выполняет POST-запрос и возвращает ответ в виде потока (StreamResponse).
47
- * @en Performs a POST request and returns the response as a stream (StreamResponse).
48
- * @param req - Request URL or RequestInterface object.
66
+ * @ru Выполняет POST-запрос с потоковым ответом.
67
+ * @en Performs a POST request with a streaming response.
68
+ * @param req - Request URL or configuration object.
49
69
  * @param body - Request body data.
50
- * @param signal - Optional abort signal.
51
- * @returns Promise with the stream response.
70
+ * @param signal - Optional AbortSignal to cancel the request.
71
+ * @returns Promise resolving to a StreamResponse.
52
72
  */
53
73
  postStream<T = unknown>(req: RequestInterface | string, body?: RequestBodyData, signal?: AbortSignal): Promise<StreamResponse<T>>;
54
74
  /**
55
75
  * @ru Выполняет GET-запрос.
56
76
  * @en Performs a GET request.
57
- * @param req - Request URL or RequestInterface object.
58
- * @param signal - Optional abort signal.
59
- * @returns Promise with the HTTP response.
77
+ * @param req - Request URL or configuration object.
78
+ * @param signal - Optional AbortSignal to cancel the request.
79
+ * @returns Promise resolving to an HttpResponse.
60
80
  */
61
81
  get<T = unknown>(req: RequestInterface | string, signal?: AbortSignal): Promise<HttpResponse<T>>;
62
82
  /**
63
83
  * @ru Выполняет POST-запрос.
64
84
  * @en Performs a POST request.
65
- * @param req - Request URL or RequestInterface object.
85
+ * @param req - Request URL or configuration object.
66
86
  * @param body - Request body data.
67
- * @param signal - Optional abort signal.
68
- * @returns Promise with the HTTP response.
87
+ * @param signal - Optional AbortSignal to cancel the request.
88
+ * @returns Promise resolving to an HttpResponse.
69
89
  */
70
90
  post<T = unknown>(req: RequestInterface | string, body?: RequestBodyData, signal?: AbortSignal): Promise<HttpResponse<T>>;
71
91
  /**
72
92
  * @ru Выполняет PUT-запрос.
73
93
  * @en Performs a PUT request.
74
- * @param req - Request URL or RequestInterface object.
94
+ * @param req - Request URL or configuration object.
75
95
  * @param body - Request body data.
76
- * @param signal - Optional abort signal.
77
- * @returns Promise with the HTTP response.
96
+ * @param signal - Optional AbortSignal to cancel the request.
97
+ * @returns Promise resolving to an HttpResponse.
78
98
  */
79
99
  put<T = unknown>(req: RequestInterface | string, body?: RequestBodyData, signal?: AbortSignal): Promise<HttpResponse<T>>;
80
100
  /**
81
101
  * @ru Выполняет PATCH-запрос.
82
102
  * @en Performs a PATCH request.
83
- * @param req - Request URL or RequestInterface object.
103
+ * @param req - Request URL or configuration object.
84
104
  * @param body - Request body data.
85
- * @param signal - Optional abort signal.
86
- * @returns Promise with the HTTP response.
105
+ * @param signal - Optional AbortSignal to cancel the request.
106
+ * @returns Promise resolving to an HttpResponse.
87
107
  */
88
108
  patch<T = unknown>(req: RequestInterface | string, body?: RequestBodyData, signal?: AbortSignal): Promise<HttpResponse<T>>;
89
109
  /**
90
110
  * @ru Выполняет DELETE-запрос.
91
111
  * @en Performs a DELETE request.
92
- * @param req - Request URL or RequestInterface object.
93
- * @param signal - Optional abort signal.
94
- * @returns Promise with the HTTP response.
112
+ * @param req - Request URL or configuration object.
113
+ * @param signal - Optional AbortSignal to cancel the request.
114
+ * @returns Promise resolving to an HttpResponse.
95
115
  */
96
116
  delete<T = unknown>(req: RequestInterface | string, signal?: AbortSignal): Promise<HttpResponse<T>>;
97
117
  /**
98
118
  * @ru Выполняет OPTIONS-запрос.
99
119
  * @en Performs an OPTIONS request.
100
- * @param req - Request URL or RequestInterface object.
101
- * @param body - Optional request body data.
102
- * @param signal - Optional abort signal.
103
- * @returns Promise with the HTTP response.
120
+ * @param req - Request URL or configuration object.
121
+ * @param body - Request body data.
122
+ * @param signal - Optional AbortSignal to cancel the request.
123
+ * @returns Promise resolving to an HttpResponse.
104
124
  */
105
125
  options<T = unknown>(req: RequestInterface | string, body?: RequestBodyData, signal?: AbortSignal): Promise<HttpResponse<T>>;
106
126
  /**
107
127
  * @ru Выполняет HEAD-запрос.
108
128
  * @en Performs a HEAD request.
109
- * @param req - Request URL or RequestInterface object.
110
- * @param signal - Optional abort signal.
111
- * @returns Promise with the HTTP response (body is always null).
129
+ * @param req - Request URL or configuration object.
130
+ * @param signal - Optional AbortSignal to cancel the request.
131
+ * @returns Promise resolving to an HttpResponse with null body.
112
132
  */
113
133
  head(req: RequestInterface | string, signal?: AbortSignal): Promise<HttpResponse<null>>;
114
134
  /**
115
- * @ru Создаёт новый экземпляр HyperCore с расширенной конфигурацией (поверх текущей).
116
- * @en Creates a new HyperCore instance with extended configuration (on top of current).
117
- * @param options - Additional configuration options.
135
+ * @ru Создаёт новый экземпляр HyperCore путём расширения текущей конфигурации.
136
+ * @en Creates a new HyperCore instance by extending the current configuration.
137
+ * @param options - Partial configuration overrides.
118
138
  * @returns New HyperCore instance.
119
139
  */
120
140
  extend(options: Partial<HttpClientOptions>): HyperCore;
121
141
  /**
122
- * @ru Алиас для extend(). Создаёт новый экземпляр HyperCore.
123
- * @en Alias for extend(). Creates a new HyperCore instance.
124
- * @param options - Configuration options.
142
+ * @ru Алиас для {@link extend}. Создаёт новый экземпляр с переопределёнными опциями.
143
+ * @en Alias for {@link extend}. Creates a new instance with overridden options.
144
+ * @param options - Partial configuration overrides.
125
145
  * @returns New HyperCore instance.
126
146
  */
127
147
  create(options: Partial<HttpClientOptions>): HyperCore;
128
148
  /**
129
- * @ru Уничтожает клиент, закрывая соединения и очищая ресурсы.
130
- * @en Destroys the client, closing connections and cleaning up resources.
131
- * @param graceful - If true, attempts graceful shutdown (default: true).
132
- * @returns Promise that resolves when destruction is complete.
149
+ * @ru Завершает работу клиента: закрывает транспортные соединения.
150
+ * @en Shuts down the client: closes transport connections.
151
+ * @param graceful - If true, attempts graceful shutdown (waiting for pending requests).
152
+ * @returns Promise that resolves when shutdown is complete.
133
153
  */
134
154
  destroy(graceful?: boolean): Promise<void>;
135
155
  /**
136
- * @ru Выполняет запрос и сразу возвращает распарсенный JSON (сокращённый метод).
137
- * @en Performs a request and immediately returns parsed JSON (shortcut method).
138
- * @param req - Request URL or RequestInterface object.
139
- * @param signal - Optional abort signal.
140
- * @returns Promise with the parsed JSON value.
141
- * @throws If the response does not contain a json() method.
156
+ * @ru Выполняет запрос и возвращает распарсенный JSON-ответ.
157
+ * @en Performs a request and returns parsed JSON response.
158
+ * @param req - Request URL or configuration object.
159
+ * @param signal - Optional AbortSignal to cancel the request.
160
+ * @returns Promise resolving to the parsed JSON value.
161
+ * @throws If response body cannot be parsed as JSON.
142
162
  */
143
163
  json<T = unknown>(req: RequestInterface | string, signal?: AbortSignal): Promise<T>;
144
164
  /**
145
- * @ru Выполняет запрос и возвращает тело как строку (сокращённый метод).
146
- * @en Performs a request and returns the body as a string (shortcut method).
147
- * @param req - Request URL or RequestInterface object.
148
- * @param signal - Optional abort signal.
149
- * @returns Promise with the response text.
150
- * @throws If the response does not contain a text() method.
165
+ * @ru Выполняет запрос и возвращает ответ в виде текста.
166
+ * @en Performs a request and returns response as text.
167
+ * @param req - Request URL or configuration object.
168
+ * @param signal - Optional AbortSignal to cancel the request.
169
+ * @returns Promise resolving to the response body as string.
170
+ * @throws If response body cannot be read as text.
151
171
  */
152
172
  text(req: RequestInterface | string, signal?: AbortSignal): Promise<string>;
153
173
  /**
154
- * @ru Выполняет запрос и немедленно отменяет (сбрасывает) тело ответа без чтения.
155
- * @en Performs a request and immediately discards the response body without reading.
156
- * @param req - Request URL or RequestInterface object.
157
- * @param signal - Optional abort signal.
158
- * @returns Promise that resolves after dumping the response.
159
- * @throws If the response does not contain a dump() method.
174
+ * @ru Выполняет запрос и полностью потребляет тело ответа (без обработки).
175
+ * @en Performs a request and fully consumes the response body (no processing).
176
+ * @param req - Request URL or configuration object.
177
+ * @param signal - Optional AbortSignal to cancel the request.
178
+ * @returns Promise that resolves when response body is drained.
160
179
  */
161
180
  dump(req: RequestInterface | string, signal?: AbortSignal): Promise<void>;
181
+ /**
182
+ * @ru Выполняет пайплайн обработки ответа (мутаторы и сайд-эффекты).
183
+ * @en Executes response processing pipeline (mutators and side effects).
184
+ * @param response - Response object (HttpResponse or StreamResponse).
185
+ * @param req - Original internal request.
186
+ */
162
187
  private runResponsePipeline;
188
+ /**
189
+ * @ru Обрабатывает ошибки, возникшие при выполнении запроса, с учётом пайплайна ошибок.
190
+ * @en Handles errors occurring during request execution, considering the error pipeline.
191
+ * @param error - The caught error.
192
+ * @param req - Internal request that caused the error.
193
+ * @returns If recovered, returns a response; otherwise throws the error.
194
+ * @throws The original error if no plugin recovers it.
195
+ */
163
196
  private handleDispatchError;
197
+ /**
198
+ * @ru Применяет декомпрессию к телу ответа в зависимости от заголовка Content-Encoding.
199
+ * @en Applies decompression to the response body based on the Content-Encoding header.
200
+ * @param rawResponse - Raw transport response object (mutated in place).
201
+ */
164
202
  private applyDecompression;
203
+ /**
204
+ * @ru Строит внутренний объект запроса на основе пользовательских параметров.
205
+ * @en Builds an internal request object from user parameters.
206
+ * @param method - HTTP method.
207
+ * @param req - Request URL or configuration object.
208
+ * @param body - Request body (optional).
209
+ * @param signal - AbortSignal (optional).
210
+ * @returns Fully constructed InternalRequest.
211
+ * @throws If URL is undefined or invalid.
212
+ */
165
213
  private buildInternalRequest;
214
+ /**
215
+ * @ru Создаёт объект запроса, сохраняя прототип исходного объекта (если есть).
216
+ * @en Creates a request object preserving the prototype of the source object (if any).
217
+ * @param source - Original request object (may have a custom prototype).
218
+ * @param overrides - Properties to override or add.
219
+ * @returns New object with merged properties and inherited prototype.
220
+ */
166
221
  private createInternalRequestObject;
222
+ /**
223
+ * @ru Добавляет параметры запроса к URL-объекту.
224
+ * @en Appends query parameters to a URL object.
225
+ * @param url - URL object to mutate.
226
+ * @param query - Record of query parameters (supports arrays).
227
+ */
167
228
  private appendQueryParams;
229
+ /**
230
+ * @ru Упрощённый метод для текстовых/JSON-запросов, определяющий метод из объекта запроса.
231
+ * @en Shortcut method for text/JSON requests, determining method from the request object.
232
+ * @param req - Request URL or configuration object.
233
+ * @param signal - Optional AbortSignal.
234
+ * @returns Promise resolving to HttpResponse.
235
+ */
168
236
  private dispatchShortcut;
169
237
  }
170
238
  //# sourceMappingURL=HyperCore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HyperCore.d.ts","sourceRoot":"","sources":["../../src/Core/HyperCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HyperCore.d.ts","sourceRoot":"","sources":["../../src/Core/HyperCore.ts"],"names":[],"mappings":"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"}