@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,114 +0,0 @@
1
- /**
2
- * @ru Представляет HTTP заголовки запроса
3
- * @en Represents HTTP request headers
4
- */
5
- export type RequestHeaders = Record<string, string>;
6
- /**
7
- * @ru Представляет параметры URL query
8
- * @en Represents URL query parameters
9
- */
10
- export type RequestQuery = Record<string, string | string[] | number | boolean | undefined | null>;
11
- /**
12
- * @ru Данные тела запроса
13
- * @en Request body data
14
- */
15
- export type RequestBodyData = any | null | undefined;
16
- /**
17
- * @ru Конфигурация для создания запроса
18
- * @en Configuration for request creation
19
- */
20
- export type RequestConfig = {
21
- /**
22
- * @ru Схема протокола (http/https)
23
- * @en Protocol scheme (http/https)
24
- */
25
- scheme: string;
26
- /**
27
- * @ru Хост сервера
28
- * @en Server host
29
- */
30
- host: string;
31
- /**
32
- * @ru Порт сервера
33
- * @en Server port
34
- */
35
- port?: number;
36
- /**
37
- * @ru Путь ресурса
38
- * @en Resource path
39
- */
40
- path?: string;
41
- /**
42
- * @ru Заголовки запроса
43
- * @en Request headers
44
- */
45
- headers?: RequestHeaders;
46
- /**
47
- * @ru Параметры query строки
48
- * @en Query string parameters
49
- */
50
- query?: RequestQuery;
51
- /**
52
- * @ru Данные тела запроса
53
- * @en Request body data
54
- */
55
- bodyData?: RequestBodyData;
56
- };
57
- /**
58
- * @ru Основной интерфейс запроса (Оптимизирован под плоские объекты и скрытые классы V8)
59
- * @en Main request interface (Optimized for flat objects and V8 hidden classes)
60
- */
61
- export interface RequestInterface {
62
- /**
63
- * @ru Полный URL запроса
64
- * @en Full request URL
65
- */
66
- url: string;
67
- /**
68
- * @ru Заголовки запроса
69
- * @en Request headers
70
- */
71
- headers: RequestHeaders;
72
- /**
73
- * @ru Данные тела запроса
74
- * @en Request body data
75
- */
76
- body?: RequestBodyData;
77
- /**
78
- * @ru Параметры query строки
79
- * @en Query parameters
80
- */
81
- query?: RequestQuery;
82
- /**
83
- * @ru AbortSignal для отмены запроса
84
- * @en AbortSignal for cancellation
85
- */
86
- signal?: AbortSignal;
87
- /**
88
- * @ru Метаданные запроса (responseType, внутренние флаги плагинов)
89
- * @en Request metadata (responseType, internal plugin flags)
90
- */
91
- meta?: Record<string, any>;
92
- }
93
- /**
94
- * @ru Метаданные для конвертации ответа
95
- * @en Response conversion metadata
96
- */
97
- export interface ConversionMeta {
98
- /**
99
- * @ru Content-Type заголовок
100
- * @en Content-Type header
101
- */
102
- contentType?: string;
103
- /**
104
- * @ru Content-Encoding заголовок
105
- * @en Content-Encoding header
106
- */
107
- contentEncoding?: string;
108
- /**
109
- * @ru URL запроса
110
- * @en Request URL
111
- */
112
- url?: string;
113
- }
114
- //# sourceMappingURL=request.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/types/request.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEpD;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAC/B,MAAM,EACN,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CACxD,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,GAAG,GAAG,IAAI,GAAG,SAAS,CAAC;AAErD;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB;;;OAGG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,OAAO,EAAE,cAAc,CAAC;IAExB;;;OAGG;IACH,IAAI,CAAC,EAAE,eAAe,CAAC;IAEvB;;;OAGG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd"}
package/types/request.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=request.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/types/request.ts"],"names":[],"mappings":""}
package/types/retry.d.ts DELETED
@@ -1,28 +0,0 @@
1
- export interface RetryOptions {
2
- /**
3
- * @ru Максимальное количество повторных попыток
4
- * @en Maximum number of retry attempts
5
- */
6
- maxRetries?: number;
7
- /**
8
- * @ru Базовая задержка между попытками (мс)
9
- * @en Base delay between retries (ms)
10
- */
11
- baseDelay?: number;
12
- /**
13
- * @ru Максимальная задержка между попытками (мс)
14
- * @en Maximum retry delay (ms)
15
- */
16
- maxDelay?: number;
17
- /**
18
- * @ru Коды HTTP, при которых выполняется retry
19
- * @en HTTP status codes that trigger retry logic
20
- */
21
- retryStatusCodes?: readonly number[];
22
- /**
23
- * @ru Добавлять случайный jitter к задержке
24
- * @en Add randomness (jitter) to retry delay
25
- */
26
- jitter?: boolean;
27
- }
28
- //# sourceMappingURL=retry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/types/retry.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAErC;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB"}
package/types/retry.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=retry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/types/retry.ts"],"names":[],"mappings":""}
package/types/stream.d.ts DELETED
@@ -1,39 +0,0 @@
1
- import { Readable } from "node:stream";
2
- export interface StreamResponse<TBody = Readable> {
3
- /**
4
- * @ru HTTP статус код ответа
5
- * @en HTTP status code
6
- */
7
- status: number;
8
- /**
9
- * @ru Заголовки ответа (сырые)
10
- * @en Response headers (raw)
11
- */
12
- headers: Record<string, string | string[] | undefined>;
13
- /**
14
- * @ru Потоковое тело (низкоуровневые чанки)
15
- * @en Streamed body (low-level chunks)
16
- */
17
- body: TBody;
18
- /**
19
- * @ru Финальный URL (после редиректов)
20
- * @en Final resolved URL (after redirects)
21
- */
22
- url: string;
23
- /**
24
- * @ru Сигнал для отслеживания abort (pipeline control)
25
- * @en Optional signal for abort tracking (useful for pipeline control)
26
- */
27
- signal?: AbortSignal;
28
- /**
29
- * @ru Content-Length если известен (zero-copy оптимизации)
30
- * @en Content-Length if known (zero-copy optimizations)
31
- */
32
- contentLength?: number;
33
- /**
34
- * @ru Hint кодировки (gzip/br/etc)
35
- * @en Encoding hint (gzip/br/etc)
36
- */
37
- encoding?: string;
38
- }
39
- //# sourceMappingURL=stream.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/types/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,WAAW,cAAc,CAAC,KAAK,GAAG,QAAQ;IAC9C;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;IAEvD;;;OAGG;IACH,IAAI,EAAE,KAAK,CAAC;IAEZ;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
package/types/stream.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=stream.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/types/stream.ts"],"names":[],"mappings":""}
@@ -1,20 +0,0 @@
1
- import type { Method } from "../types/http.js";
2
- import type { RequestBodyData } from "../types/request.js";
3
- export interface TransportRequest {
4
- method: Method;
5
- url: string;
6
- headers: Record<string, string | string[]>;
7
- body?: RequestBodyData;
8
- signal?: AbortSignal;
9
- }
10
- export interface TransportResponse {
11
- status: number;
12
- headers: Record<string, string | string[]>;
13
- body: any;
14
- url: string;
15
- }
16
- export interface HyperTransport {
17
- execute(req: TransportRequest): Promise<TransportResponse>;
18
- destroy?(): Promise<void>;
19
- }
20
- //# sourceMappingURL=transport.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/types/transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAC3C,IAAI,EAAE,GAAG,CAAC;IACV,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC3D,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=transport.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/types/transport.ts"],"names":[],"mappings":""}