@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,23 +1,10 @@
1
1
  import { pathToFileURL } from "node:url";
2
2
  import resolveFrom from "resolve-from";
3
3
  import { mapResponseFast, mapStreamFast } from "../utils/response.js";
4
- /**
5
- * @ru Определение текущей среды выполнения (Bun или Node) на основе глобальных объектов.
6
- * @en Detects the current runtime (Bun or Node) based on global objects.
7
- */
8
4
  export const CURRENT_RUNTIME = typeof Bun !== "undefined" ? "bun" : "node";
9
- /**
10
- * @ru Возвращает текущую среду выполнения.
11
- * @en Returns the current runtime.
12
- * @returns The current runtime ('bun' or 'node').
13
- */
14
5
  export function getRuntime() {
15
6
  return CURRENT_RUNTIME;
16
7
  }
17
- /**
18
- * @ru Список доступных транспортов с приоритетами. Высший приоритет — предпочтительный транспорт для рантайма.
19
- * @en List of available transports with priorities. Higher priority means preferred transport for the runtime.
20
- */
21
8
  export const TRANSPORTS = [
22
9
  {
23
10
  name: "Bun",
@@ -41,68 +28,26 @@ export const TRANSPORTS = [
41
28
  priority: 10,
42
29
  },
43
30
  ];
44
- /**
45
- * @ru Кэш кандидатов транспорта для каждого рантайма, отсортированных по убыванию приоритета.
46
- * @en Cache of transport candidates per runtime, sorted by descending priority.
47
- */
48
31
  const CANDIDATES_MAP = {
49
32
  node: TRANSPORTS.filter((t) => t.runtime.includes("node")).sort((a, b) => b.priority - a.priority),
50
33
  bun: TRANSPORTS.filter((t) => t.runtime.includes("bun")).sort((a, b) => b.priority - a.priority),
51
34
  };
52
- /**
53
- * @ru Глобальный кэш загруженных классов транспорта для каждого рантайма (избегаем повторной загрузки).
54
- * @en Global cache of loaded transport classes per runtime (avoids re-loading).
55
- */
56
- const GLOBAL_TRANSPORT_CLASS_CACHE = Object.create(null);
57
- /**
58
- * @ru Логирует ошибку в зависимости от конфигурации (verbose, logger).
59
- * @en Logs an error according to configuration (verbose, logger).
60
- * @param config - Client configuration.
61
- * @param message - Log message.
62
- * @param err - Error object.
63
- */
64
- function logError(config, message, err) {
65
- if (config.verbose) {
66
- console.error(message, err);
67
- }
68
- const logger = config.logger;
69
- if (logger) {
70
- if (typeof logger === "function") {
71
- logger(message, err);
72
- return;
73
- }
74
- const candidate = logger;
75
- if (typeof candidate.error === "function") {
76
- candidate.error(message, err);
77
- return;
78
- }
79
- }
80
- if (!config.verbose) {
81
- console.error(message, err);
82
- }
83
- }
84
- /**
85
- * @ru Проверяет, является ли ошибка "модуль не найден" (пропускаем такие транспорты).
86
- * @en Checks if the error indicates a missing module (skip such transports).
87
- * @param err - Error to check.
88
- * @returns True if module not found.
89
- */
35
+ const CACHE = new Map();
36
+ const DEBUG = false;
37
+ const trace = (...args) => {
38
+ if (DEBUG)
39
+ console.log("[hyperttp]", ...args);
40
+ };
90
41
  function isModuleNotFoundError(err) {
91
42
  if (!err || typeof err !== "object")
92
43
  return false;
93
- const code = err.code;
94
- const message = err instanceof Error ? err.message : "";
95
- return (code === "ERR_MODULE_NOT_FOUND" ||
96
- message.includes("Cannot find module") ||
97
- message.includes("Failed to resolve"));
44
+ const e = err;
45
+ const msg = err instanceof Error ? err.message : "";
46
+ return (e.code === "ERR_MODULE_NOT_FOUND" ||
47
+ msg.includes("Cannot find module") ||
48
+ msg.includes("Failed to resolve"));
98
49
  }
99
- /**
100
- * @ru Разрешает путь к модулю транспорта: для относительных путей использует import.meta.resolve, для пакетов — resolve-from + import.meta.resolve.
101
- * @en Resolves the module path for a transport: for relative paths uses import.meta.resolve, for packages uses resolve-from + import.meta.resolve.
102
- * @param pkg - Package name or relative path.
103
- * @returns Resolved URL string or null if not found.
104
- */
105
- async function resolveTransportModulePath(pkg) {
50
+ async function resolveModule(pkg) {
106
51
  if (pkg.startsWith(".")) {
107
52
  try {
108
53
  return import.meta.resolve(pkg, import.meta.url);
@@ -111,182 +56,174 @@ async function resolveTransportModulePath(pkg) {
111
56
  return null;
112
57
  }
113
58
  }
114
- const physicalPath = resolveFrom.silent(process.cwd(), pkg);
115
- if (physicalPath) {
116
- return pathToFileURL(physicalPath).href;
117
- }
118
59
  try {
119
60
  return import.meta.resolve(pkg, import.meta.url);
120
61
  }
121
62
  catch {
122
- return null;
63
+ //
123
64
  }
65
+ const physical = resolveFrom.silent(process.cwd(), pkg);
66
+ if (physical)
67
+ return pathToFileURL(physical).href;
68
+ return null;
124
69
  }
125
- /**
126
- * @ru Загружает конструктор транспорта из указанного пакета и экспорта.
127
- * @en Loads a transport constructor from the given package and export.
128
- * @param pkg - Package name or path.
129
- * @param exportName - Export name.
130
- * @returns Transport constructor or null.
131
- */
132
- async function loadTransportCtor(pkg, exportName) {
133
- const path = await resolveTransportModulePath(pkg);
134
- if (!path)
70
+ async function loadCtor(pkg, exportName) {
71
+ const resolved = await resolveModule(pkg);
72
+ if (!resolved) {
73
+ trace("resolve failed:", pkg);
135
74
  return null;
136
- const mod = (await import(path));
137
- const candidate = mod[exportName] ??
138
- mod.default?.[exportName] ??
139
- mod.default;
140
- if (typeof candidate !== "function")
75
+ }
76
+ const mod = (await import(resolved));
77
+ const candidate = mod[exportName] ?? mod.default;
78
+ if (typeof candidate !== "function") {
79
+ trace("invalid export:", pkg, exportName);
141
80
  return null;
81
+ }
142
82
  return candidate;
143
83
  }
144
84
  /**
145
- * @ru Разрешает и создаёт экземпляр транспорта на основе конфигурации и текущей среды выполнения. Использует кэш классов.
146
- * @en Resolves and creates a transport instance based on configuration and the current runtime. Uses class cache.
147
- * @param config - Client configuration.
148
- * @returns Promise resolving to a transport instance.
149
- * @throws If no compatible transport is available.
85
+ * @ru Главный резолвер транспорта (диагностический и детерминированный).
86
+ * @en Main transport resolver (diagnostic and deterministic).
87
+ * @param config - Client configuration (may contain customTransport).
88
+ * @returns Promise resolving to a HyperTransport instance.
89
+ * @throws If no compatible transport can be loaded.
150
90
  */
151
91
  export async function resolveTransport(config) {
152
- if (config.customTransport) {
153
- config.logger?.(`info`, "[Hyperttp] Using custom user-provided transport.", config);
92
+ if (config.customTransport)
154
93
  return config.customTransport;
155
- }
156
94
  const runtime = CURRENT_RUNTIME;
157
- const cachedCtor = GLOBAL_TRANSPORT_CLASS_CACHE[runtime];
158
- if (cachedCtor) {
159
- config.logger?.(`info`, `[Hyperttp] Using cached transport class for runtime: ${runtime}`, config);
160
- return new cachedCtor(config);
161
- }
162
95
  const candidates = CANDIDATES_MAP[runtime];
96
+ const failures = [];
163
97
  for (const t of candidates) {
98
+ trace("trying:", t.pkg);
164
99
  try {
165
- config.logger?.(`debug`, `[Hyperttp] Attempting to load transport: ${t.name} (${t.pkg})...`, config);
166
- const Transport = await loadTransportCtor(t.pkg, t.export);
167
- if (!Transport) {
168
- config.logger?.(`debug`, `[Hyperttp] Export '${t.export}' not found in ${t.pkg}. Skipping...`, config);
100
+ const cached = CACHE.get(t.pkg);
101
+ if (cached) {
102
+ trace("cache hit:", t.pkg);
103
+ return new cached(config);
104
+ }
105
+ const ctor = await loadCtor(t.pkg, t.export);
106
+ if (!ctor) {
107
+ failures.push(`${t.pkg} (no export: ${t.export})`);
169
108
  continue;
170
109
  }
171
- config.logger?.(`debug`, `[Hyperttp] Successfully loaded transport: ${t.name}`, config);
172
- GLOBAL_TRANSPORT_CLASS_CACHE[runtime] = Transport;
173
- return new Transport(config);
110
+ CACHE.set(t.pkg, ctor);
111
+ trace("selected:", t.pkg);
112
+ return new ctor(config);
174
113
  }
175
114
  catch (err) {
176
115
  if (isModuleNotFoundError(err)) {
177
- config.logger?.(`info`, `[Hyperttp] Transport package '${t.pkg}' is not available. Skipping...`, config);
116
+ failures.push(`${t.pkg} (not installed)`);
178
117
  continue;
179
118
  }
180
- logError(config, `[Hyperttp] Critical error while loading transport ${t.pkg}:`, err);
181
- throw err;
119
+ throw new Error(`[Hyperttp] transport crash in ${t.pkg}: ${err?.message}`, { cause: err });
182
120
  }
183
121
  }
184
- throw new Error(`No compatible transport implementation available for runtime: ${runtime}. Make sure one of ${candidates
185
- .map((c) => c.pkg)
186
- .join(", ")} is installed.`);
122
+ throw new Error(`No compatible transport for runtime="${runtime}".\n` +
123
+ `Failures:\n- ${failures.join("\n- ")}`);
187
124
  }
188
125
  /**
189
- * @ru Менеджер транспорта: ленивая загрузка, кэширование, синхронизация конфигурации, выполнение запросов, уничтожение.
190
- * @en Transport manager: lazy loading, caching, config synchronization, request execution, destruction.
126
+ * @ru Управляет жизненным циклом транспортного слоя: ленивая инициализация, кеширование, синхронизация конфигурации.
127
+ * @en Manages the transport layer lifecycle: lazy initialization, caching, configuration synchronization.
191
128
  */
192
129
  export class TransportManager {
193
130
  transport = null;
194
- transportPromise = null;
131
+ promise = null;
195
132
  config;
196
133
  /**
197
134
  * @ru Создаёт менеджер транспорта.
198
135
  * @en Creates a transport manager.
199
136
  * @param config - Client configuration.
200
- * @param customTransport - Optional pre-created transport instance.
137
+ * @param custom - Optional externally provided transport instance.
201
138
  */
202
- constructor(config, customTransport) {
139
+ constructor(config, custom) {
203
140
  this.config = config;
204
- if (customTransport) {
205
- this.transport = customTransport;
206
- this.transportPromise = Promise.resolve(customTransport);
207
- this.syncConfig();
141
+ if (custom) {
142
+ this.transport = custom;
143
+ this.promise = Promise.resolve(custom);
208
144
  }
209
145
  }
210
146
  /**
211
- * @ru Обновляет конфигурацию клиента и синхронизирует её с активным транспортом (если есть).
212
- * @en Updates the client configuration and syncs it with the active transport (if any).
147
+ * @ru Обновляет конфигурацию клиента.
148
+ * @en Updates the client configuration.
213
149
  * @param config - New configuration.
214
150
  */
215
151
  setConfig(config) {
216
152
  this.config = config;
217
- this.syncConfig();
218
153
  }
219
154
  /**
220
- * @ru Возвращает текущий экземпляр транспорта (если уже загружен).
221
- * @en Returns the current transport instance (if already loaded).
155
+ * @ru Возвращает текущий экземпляр транспорта (если уже инициализирован).
156
+ * @en Returns the current transport instance (if already initialised).
222
157
  */
223
158
  get instance() {
224
159
  return this.transport;
225
160
  }
226
161
  /**
227
- * @ru Асинхронно получает транспорт (ленивая загрузка).
228
- * @en Asynchronously gets the transport (lazy loading).
229
- * @returns Promise resolving to transport instance.
162
+ * @ru Асинхронно получает экземпляр транспорта (инициализирует при необходимости).
163
+ * @en Asynchronously obtains a transport instance (initialises if needed).
164
+ * @returns Promise resolving to a HyperTransport.
230
165
  */
231
166
  async get() {
232
167
  if (this.transport)
233
168
  return this.transport;
234
- if (this.transportPromise)
235
- return this.transportPromise;
236
- this.transportPromise = resolveTransport(this.config).then((t) => {
169
+ if (this.promise)
170
+ return this.promise;
171
+ this.promise = resolveTransport(this.config).then((t) => {
237
172
  this.transport = t;
238
- this.syncConfig();
239
173
  return t;
240
174
  });
241
- return this.transportPromise;
175
+ return this.promise;
242
176
  }
243
177
  /**
244
- * @ru Синхронизирует конфигурацию с транспортом, если транспорт имеет свойство config.
245
- * @en Syncs configuration with the transport if the transport has a config property.
178
+ * @ru Выполняет запрос через транспорт и возвращает обычный (не стриминговый) ответ.
179
+ * @en Executes a request through the transport and returns a regular (non‑streaming) response.
180
+ * @param req - Request parameters.
181
+ * @returns Promise resolving to HttpResponse.
246
182
  */
247
- syncConfig() {
248
- if (this.transport && "config" in this.transport) {
249
- this.transport.config = this.config;
250
- }
183
+ async execute(req) {
184
+ const t = this.transport || (await this.get());
185
+ return mapResponseFast(await t.execute(req));
251
186
  }
252
187
  /**
253
- * @ru Выполняет запрос и возвращает стандартный HttpResponse (не поток).
254
- * @en Executes a request and returns a standard HttpResponse (non-stream).
255
- * @param req - Request parameters for transport.
256
- * @returns Promise with HTTP response.
188
+ * @ru Выполняет запрос через транспорт и возвращает стриминговый ответ.
189
+ * @en Executes a request through the transport and returns a streaming response.
190
+ * @param req - Request parameters.
191
+ * @returns Promise resolving to StreamResponse.
257
192
  */
258
- async execute(req) {
259
- const transport = this.transport || (await this.get());
260
- const rawResponse = await transport.execute(req);
261
- return mapResponseFast(rawResponse);
193
+ async executeStream(req) {
194
+ const t = this.transport || (await this.get());
195
+ return mapStreamFast(await t.execute(req));
262
196
  }
263
197
  /**
264
- * @ru Выполняет запрос и возвращает потоковый ответ (StreamResponse).
265
- * @en Executes a request and returns a stream response (StreamResponse).
266
- * @param req - Request parameters for transport.
267
- * @returns Promise with stream response.
198
+ * @ru Возвращает отладочную информацию о текущем транспорте.
199
+ * @en Returns debug information about the current transport.
268
200
  */
269
- async executeStream(req) {
270
- const transport = this.transport || (await this.get());
271
- const rawResponse = await transport.execute(req);
272
- return mapStreamFast(rawResponse);
201
+ get debug() {
202
+ const t = this.transport;
203
+ if (!t)
204
+ return null;
205
+ return {
206
+ name: t.__name ?? t.constructor?.name,
207
+ pkg: t.__pkg ?? "unknown",
208
+ runtime: getRuntime(),
209
+ };
273
210
  }
274
211
  /**
275
- * @ru Уничтожает транспорт: закрывает соединения (graceful) или принудительно разрушает.
276
- * @en Destroys the transport: closes connections (graceful) or forces destruction.
277
- * @param graceful - If true, attempts graceful shutdown via close(). Otherwise destroys.
278
- * @returns Promise that resolves when destruction is complete.
212
+ * @ru Завершает работу транспорта (закрывает соединения при graceful shutdown, иначе принудительно уничтожает).
213
+ * @en Shuts down the transport (gracefully closes connections or forcefully destroys).
214
+ * @param graceful - If true, attempt graceful close; otherwise call destroy.
215
+ * @returns Promise that resolves when shutdown is complete.
279
216
  */
280
217
  async destroy(graceful = true) {
281
- const transport = this.transport;
282
- if (!transport)
218
+ const t = this.transport;
219
+ if (!t)
283
220
  return;
284
- if (graceful && typeof transport.close === "function") {
285
- await transport.close();
221
+ if (graceful && typeof t.close === "function") {
222
+ await t.close();
286
223
  return;
287
224
  }
288
- if (typeof transport.destroy === "function") {
289
- await transport.destroy();
225
+ if (typeof t.destroy === "function") {
226
+ await t.destroy();
290
227
  }
291
228
  }
292
229
  }
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/transports/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/transports/manager.ts"],"names":[],"mappings":"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"}
@@ -1,48 +1,36 @@
1
+ /**
2
+ * @ru Транспорт на основе глобального fetch (Node.js 18+). Обрабатывает нормализацию URL, сериализацию тела и очистку потока.
3
+ * @en Transport based on the global fetch API (Node.js 18+). Handles URL normalisation, body serialisation, and stream cleanup.
4
+ */
1
5
  import type { HttpClientOptions, HyperTransport, TransportRequest, TransportResponse } from "@hyperttp/types";
2
6
  export interface NodeTransportConfig extends HttpClientOptions {
3
7
  baseUrl?: string;
4
- network?: {
5
- maxConcurrent?: number;
6
- keepAliveTimeout?: number;
7
- };
8
8
  }
9
9
  /**
10
- * @ru Реализация HTTP-транспорта на основе встроенных модулей Node.js (http/https). Поддерживает keep-alive, пулы соединений, автоматический Content-Length, обработку abort-сигналов.
11
- * @en HTTP transport implementation based on Node.js built-in modules (http/https). Supports keep-alive, connection pools, automatic Content-Length, and abort signal handling.
10
+ * @ru Реализация транспорта для Node.js с использованием fetch.
11
+ * @en Node.js transport implementation using fetch.
12
12
  */
13
13
  export declare class NodeTransport implements HyperTransport {
14
- /** @ru Конфигурация транспорта. @en Transport configuration. */
14
+ /**
15
+ * @ru Конфигурация клиента.
16
+ * @en Client configuration.
17
+ */
15
18
  config: NodeTransportConfig;
16
- private readonly httpAgent;
17
- private readonly httpsAgent;
19
+ private readonly isProduction;
20
+ private readonly cleanBaseUrl;
18
21
  /**
19
22
  * @ru Создаёт экземпляр NodeTransport.
20
23
  * @en Creates a NodeTransport instance.
21
- * @param config - Transport configuration.
24
+ * @param config - Transport configuration (may include baseUrl).
22
25
  */
23
26
  constructor(config: NodeTransportConfig);
24
- private get baseUrl();
25
27
  /**
26
- * @ru Выполняет HTTP-запрос.
27
- * @en Executes an HTTP request.
28
- * @param req - Request parameters (url, method, headers, body, signal).
29
- * @returns Promise with the transport response.
30
- * @throws If the request is aborted (AbortError).
31
- * @throws If localhost URL is used in production environment.
32
- * @throws On network or protocol errors.
28
+ * @ru Выполняет HTTP-запрос через fetch.
29
+ * @en Executes an HTTP request via fetch.
30
+ * @param req - Transport request object (method, url, headers, body, signal).
31
+ * @returns Promise resolving to a TransportResponse.
32
+ * @throws If a localhost URL is requested in production environment.
33
33
  */
34
34
  execute(req: TransportRequest): Promise<TransportResponse>;
35
- /**
36
- * @ru Закрывает все активные соединения (graceful shutdown). Уничтожает HTTP/HTTPS агенты.
37
- * @en Closes all active connections (graceful shutdown). Destroys HTTP/HTTPS agents.
38
- * @returns Promise that resolves after closing.
39
- */
40
- close(): Promise<void>;
41
- /**
42
- * @ru Принудительно уничтожает транспорт (аналог close).
43
- * @en Forcefully destroys the transport (alias for close).
44
- * @returns Promise that resolves after destruction.
45
- */
46
- destroy(): Promise<void>;
47
35
  }
48
36
  //# sourceMappingURL=node.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/transports/node.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EAElB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH;AAED;;;GAGG;AACH,qBAAa,aAAc,YAAW,cAAc;IAClD,gEAAgE;IACzD,MAAM,EAAE,mBAAmB,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IAEzC;;;;OAIG;gBACS,MAAM,EAAE,mBAAmB;IAkBvC,OAAO,KAAK,OAAO,GAElB;IAED;;;;;;;;OAQG;IACU,OAAO,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAyIvE;;;;OAIG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKnC;;;;OAIG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAGtC"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/transports/node.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EAElB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,qBAAa,aAAc,YAAW,cAAc;IAClD;;;OAGG;IACI,MAAM,EAAE,mBAAmB,CAAC;IAEnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAEtC;;;;OAIG;gBACS,MAAM,EAAE,mBAAmB;IAQvC;;;;;;OAMG;IACU,OAAO,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAmDxE"}