@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.
- package/Core/HyperCore.d.ts +173 -8
- package/Core/HyperCore.d.ts.map +1 -1
- package/Core/HyperCore.js +329 -100
- package/Core/HyperCore.js.map +1 -1
- package/Core/index.d.ts +0 -1
- package/Core/index.d.ts.map +1 -1
- package/Core/index.js +0 -1
- package/Core/index.js.map +1 -1
- package/LICENSE +21 -0
- package/README.md +178 -0
- package/defaultConfig.d.ts +1 -1
- package/defaultConfig.d.ts.map +1 -1
- package/defaultConfig.js +0 -1
- package/defaultConfig.js.map +1 -1
- package/index.d.ts +1 -4
- package/index.d.ts.map +1 -1
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/package.json +20 -6
- package/transports/node.d.ts +18 -7
- package/transports/node.d.ts.map +1 -1
- package/transports/node.js +255 -142
- package/transports/node.js.map +1 -1
- package/utils/errors.d.ts +49 -0
- package/utils/errors.d.ts.map +1 -0
- package/utils/errors.js +63 -0
- package/utils/errors.js.map +1 -0
- package/utils/merge.d.ts +8 -1
- package/utils/merge.d.ts.map +1 -1
- package/utils/merge.js +27 -13
- package/utils/merge.js.map +1 -1
- package/utils/response.d.ts +40 -0
- package/utils/response.d.ts.map +1 -0
- package/utils/response.js +79 -0
- package/utils/response.js.map +1 -0
- package/utils/retryUtils.d.ts +5 -0
- package/utils/retryUtils.d.ts.map +1 -0
- package/utils/retryUtils.js +35 -0
- package/utils/retryUtils.js.map +1 -0
- package/Core/RequestExecutor.d.ts +0 -64
- package/Core/RequestExecutor.d.ts.map +0 -1
- package/Core/RequestExecutor.js +0 -213
- package/Core/RequestExecutor.js.map +0 -1
- package/transports/bun.d.ts +0 -16
- package/transports/bun.d.ts.map +0 -1
- package/transports/bun.js +0 -181
- package/transports/bun.js.map +0 -1
- package/types/errors.d.ts +0 -20
- package/types/errors.d.ts.map +0 -1
- package/types/errors.js +0 -28
- package/types/errors.js.map +0 -1
- package/types/http.d.ts +0 -5
- package/types/http.d.ts.map +0 -1
- package/types/http.js +0 -2
- package/types/http.js.map +0 -1
- package/types/hyper.d.ts +0 -34
- package/types/hyper.d.ts.map +0 -1
- package/types/hyper.js +0 -2
- package/types/hyper.js.map +0 -1
- package/types/index.d.ts +0 -12
- package/types/index.d.ts.map +0 -1
- package/types/index.js +0 -12
- package/types/index.js.map +0 -1
- package/types/metrics.d.ts +0 -65
- package/types/metrics.d.ts.map +0 -1
- package/types/metrics.js +0 -2
- package/types/metrics.js.map +0 -1
- package/types/network.d.ts +0 -65
- package/types/network.d.ts.map +0 -1
- package/types/network.js +0 -2
- package/types/network.js.map +0 -1
- package/types/options.d.ts +0 -51
- package/types/options.d.ts.map +0 -1
- package/types/options.js +0 -2
- package/types/options.js.map +0 -1
- package/types/plugins.d.ts +0 -47
- package/types/plugins.d.ts.map +0 -1
- package/types/plugins.js +0 -2
- package/types/plugins.js.map +0 -1
- package/types/request.d.ts +0 -114
- package/types/request.d.ts.map +0 -1
- package/types/request.js +0 -2
- package/types/request.js.map +0 -1
- package/types/retry.d.ts +0 -28
- package/types/retry.d.ts.map +0 -1
- package/types/retry.js +0 -2
- package/types/retry.js.map +0 -1
- package/types/stream.d.ts +0 -39
- package/types/stream.d.ts.map +0 -1
- package/types/stream.js +0 -2
- package/types/stream.js.map +0 -1
- package/types/transport.d.ts +0 -25
- package/types/transport.d.ts.map +0 -1
- package/types/transport.js +0 -2
- package/types/transport.js.map +0 -1
package/transports/bun.js
DELETED
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
function fastGetHostname(url) {
|
|
2
|
-
const start = url.indexOf("//") + 2;
|
|
3
|
-
if (start === 1)
|
|
4
|
-
return "localhost";
|
|
5
|
-
let end = url.indexOf("/", start);
|
|
6
|
-
if (end === -1)
|
|
7
|
-
end = url.indexOf("?", start);
|
|
8
|
-
if (end === -1)
|
|
9
|
-
end = url.length;
|
|
10
|
-
const host = url.slice(start, end);
|
|
11
|
-
const portIdx = host.indexOf(":");
|
|
12
|
-
return portIdx !== -1 ? host.slice(0, portIdx) : host;
|
|
13
|
-
}
|
|
14
|
-
export class BunTransport {
|
|
15
|
-
cookieJar = new Map();
|
|
16
|
-
config;
|
|
17
|
-
cookieCache = new Map();
|
|
18
|
-
activeRequests = 0;
|
|
19
|
-
concurrencyQueue = [];
|
|
20
|
-
constructor(config) {
|
|
21
|
-
this.config = config;
|
|
22
|
-
}
|
|
23
|
-
async execute(req) {
|
|
24
|
-
const netConfig = this.config.network;
|
|
25
|
-
const maxConcurrent = netConfig?.maxConcurrent ?? 0;
|
|
26
|
-
if (maxConcurrent > 0 && this.activeRequests >= maxConcurrent) {
|
|
27
|
-
await new Promise((resolve) => {
|
|
28
|
-
this.concurrencyQueue.push(resolve);
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
this.activeRequests++;
|
|
32
|
-
try {
|
|
33
|
-
const domain = fastGetHostname(req.url);
|
|
34
|
-
let headers = req.headers;
|
|
35
|
-
let hasCloned = false;
|
|
36
|
-
if (netConfig?.userAgent &&
|
|
37
|
-
!headers["User-Agent"] &&
|
|
38
|
-
!headers["user-agent"]) {
|
|
39
|
-
headers = { ...headers, "User-Agent": netConfig.userAgent };
|
|
40
|
-
hasCloned = true;
|
|
41
|
-
}
|
|
42
|
-
const savedCookies = this.getCookiesForDomain(domain);
|
|
43
|
-
if (savedCookies) {
|
|
44
|
-
if (!hasCloned)
|
|
45
|
-
headers = { ...headers };
|
|
46
|
-
const currentCookie = headers["Cookie"];
|
|
47
|
-
headers["Cookie"] = currentCookie
|
|
48
|
-
? `${Array.isArray(currentCookie) ? currentCookie.join("; ") : currentCookie}; ${savedCookies}`
|
|
49
|
-
: savedCookies;
|
|
50
|
-
}
|
|
51
|
-
let signal = req.signal;
|
|
52
|
-
if (netConfig?.timeout && netConfig.timeout > 0) {
|
|
53
|
-
const timeoutSignal = AbortSignal.timeout(netConfig.timeout);
|
|
54
|
-
signal = req.signal
|
|
55
|
-
? AbortSignal.any([req.signal, timeoutSignal])
|
|
56
|
-
: timeoutSignal;
|
|
57
|
-
}
|
|
58
|
-
const fetchHeaders = {};
|
|
59
|
-
for (const key in headers) {
|
|
60
|
-
const val = headers[key];
|
|
61
|
-
if (val !== undefined) {
|
|
62
|
-
fetchHeaders[key] = Array.isArray(val) ? val.join(", ") : val;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
const response = await fetch(req.url, {
|
|
66
|
-
method: req.method,
|
|
67
|
-
headers: fetchHeaders,
|
|
68
|
-
body: req.body,
|
|
69
|
-
signal: signal,
|
|
70
|
-
keepalive: !!netConfig?.keepAliveTimeout,
|
|
71
|
-
redirect: "manual",
|
|
72
|
-
});
|
|
73
|
-
const setCookies = response.headers.getSetCookie();
|
|
74
|
-
if (setCookies && setCookies.length > 0) {
|
|
75
|
-
this.updateCookies(domain, setCookies);
|
|
76
|
-
}
|
|
77
|
-
const responseHeaders = {};
|
|
78
|
-
response.headers.forEach((value, key) => {
|
|
79
|
-
responseHeaders[key] = value;
|
|
80
|
-
});
|
|
81
|
-
const body = response.body;
|
|
82
|
-
if (body) {
|
|
83
|
-
Object.defineProperty(body, "dump", {
|
|
84
|
-
value: async function () {
|
|
85
|
-
if (this.locked)
|
|
86
|
-
return;
|
|
87
|
-
const reader = this.getReader();
|
|
88
|
-
try {
|
|
89
|
-
while (!(await reader.read()).done) {
|
|
90
|
-
for await (const chunk of this) {
|
|
91
|
-
void chunk;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
catch {
|
|
96
|
-
// ignore
|
|
97
|
-
}
|
|
98
|
-
finally {
|
|
99
|
-
await reader.cancel();
|
|
100
|
-
}
|
|
101
|
-
},
|
|
102
|
-
writable: true,
|
|
103
|
-
configurable: true,
|
|
104
|
-
enumerable: false,
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
return {
|
|
108
|
-
status: response.status,
|
|
109
|
-
headers: responseHeaders,
|
|
110
|
-
body: body,
|
|
111
|
-
url: response.url,
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
finally {
|
|
115
|
-
this.activeRequests--;
|
|
116
|
-
const nextResolver = this.concurrencyQueue.shift();
|
|
117
|
-
if (nextResolver)
|
|
118
|
-
nextResolver();
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
getCookiesForDomain(requestDomain) {
|
|
122
|
-
if (this.cookieCache.has(requestDomain)) {
|
|
123
|
-
return this.cookieCache.get(requestDomain);
|
|
124
|
-
}
|
|
125
|
-
const matchedCookies = [];
|
|
126
|
-
for (const [storedDomain, cookiesMap] of this.cookieJar) {
|
|
127
|
-
if (requestDomain === storedDomain ||
|
|
128
|
-
requestDomain.endsWith("." + storedDomain)) {
|
|
129
|
-
for (const [key, val] of cookiesMap) {
|
|
130
|
-
matchedCookies.push(`${key}=${val}`);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
const result = matchedCookies.length > 0 ? matchedCookies.join("; ") : "";
|
|
135
|
-
this.cookieCache.set(requestDomain, result);
|
|
136
|
-
return result;
|
|
137
|
-
}
|
|
138
|
-
updateCookies(requestDomain, setCookies) {
|
|
139
|
-
for (let i = 0; i < setCookies.length; i++) {
|
|
140
|
-
const cookieStr = setCookies[i];
|
|
141
|
-
const parts = cookieStr.split(";");
|
|
142
|
-
const rawPair = parts[0];
|
|
143
|
-
const equalIdx = rawPair.indexOf("=");
|
|
144
|
-
if (equalIdx === -1)
|
|
145
|
-
continue;
|
|
146
|
-
const key = rawPair.slice(0, equalIdx).trim();
|
|
147
|
-
const val = rawPair.slice(equalIdx + 1).trim();
|
|
148
|
-
if (!key)
|
|
149
|
-
continue;
|
|
150
|
-
let targetDomain = requestDomain;
|
|
151
|
-
for (let j = 1; j < parts.length; j++) {
|
|
152
|
-
const attr = parts[j].trim();
|
|
153
|
-
if (attr.toLowerCase().startsWith("domain=")) {
|
|
154
|
-
let domVal = attr.slice(7).trim();
|
|
155
|
-
if (domVal.startsWith(".")) {
|
|
156
|
-
domVal = domVal.slice(1);
|
|
157
|
-
}
|
|
158
|
-
if (domVal)
|
|
159
|
-
targetDomain = domVal;
|
|
160
|
-
break;
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
let domainMap = this.cookieJar.get(targetDomain);
|
|
164
|
-
if (!domainMap) {
|
|
165
|
-
domainMap = new Map();
|
|
166
|
-
this.cookieJar.set(targetDomain, domainMap);
|
|
167
|
-
}
|
|
168
|
-
domainMap.set(key, val);
|
|
169
|
-
this.cookieCache.clear();
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
async close() {
|
|
173
|
-
this.concurrencyQueue = [];
|
|
174
|
-
this.cookieJar.clear();
|
|
175
|
-
this.cookieCache.clear();
|
|
176
|
-
}
|
|
177
|
-
async destroy() {
|
|
178
|
-
await this.close();
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
//# sourceMappingURL=bun.js.map
|
package/transports/bun.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bun.js","sourceRoot":"","sources":["../../src/transports/bun.ts"],"names":[],"mappings":"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"}
|
package/types/errors.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export declare class HttpClientError extends Error {
|
|
2
|
-
code: string;
|
|
3
|
-
statusCode?: number | undefined;
|
|
4
|
-
originalError?: Error | undefined;
|
|
5
|
-
url?: string | undefined;
|
|
6
|
-
method?: string | undefined;
|
|
7
|
-
constructor(message: string, code?: string, statusCode?: number | undefined, originalError?: Error | undefined, url?: string | undefined, method?: string | undefined);
|
|
8
|
-
}
|
|
9
|
-
export declare class TimeoutError extends HttpClientError {
|
|
10
|
-
constructor(url: string, timeout: number);
|
|
11
|
-
}
|
|
12
|
-
export declare class RateLimitError extends HttpClientError {
|
|
13
|
-
constructor(url: string, retryAfter?: number);
|
|
14
|
-
}
|
|
15
|
-
export interface HyperttpError extends Error {
|
|
16
|
-
code?: string;
|
|
17
|
-
status?: number;
|
|
18
|
-
statusCode?: number;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=errors.d.ts.map
|
package/types/errors.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,eAAgB,SAAQ,KAAK;IAG/B,IAAI,EAAE,MAAM;IACZ,UAAU,CAAC,EAAE,MAAM;IACnB,aAAa,CAAC,EAAE,KAAK;IACrB,GAAG,CAAC,EAAE,MAAM;IACZ,MAAM,CAAC,EAAE,MAAM;gBALtB,OAAO,EAAE,MAAM,EACR,IAAI,GAAE,MAAqB,EAC3B,UAAU,CAAC,EAAE,MAAM,YAAA,EACnB,aAAa,CAAC,EAAE,KAAK,YAAA,EACrB,GAAG,CAAC,EAAE,MAAM,YAAA,EACZ,MAAM,CAAC,EAAE,MAAM,YAAA;CAKzB;AAED,qBAAa,YAAa,SAAQ,eAAe;gBACnC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAIzC;AAED,qBAAa,cAAe,SAAQ,eAAe;gBACrC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;CAS7C;AAED,MAAM,WAAW,aAAc,SAAQ,KAAK;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
|
package/types/errors.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
export class HttpClientError extends Error {
|
|
2
|
-
code;
|
|
3
|
-
statusCode;
|
|
4
|
-
originalError;
|
|
5
|
-
url;
|
|
6
|
-
method;
|
|
7
|
-
constructor(message, code = "HTTP_ERROR", statusCode, originalError, url, method) {
|
|
8
|
-
super(message);
|
|
9
|
-
this.code = code;
|
|
10
|
-
this.statusCode = statusCode;
|
|
11
|
-
this.originalError = originalError;
|
|
12
|
-
this.url = url;
|
|
13
|
-
this.method = method;
|
|
14
|
-
this.name = "HttpClientError";
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
export class TimeoutError extends HttpClientError {
|
|
18
|
-
constructor(url, timeout) {
|
|
19
|
-
super(`Timeout after ${timeout}ms`, "TIMEOUT", 408, undefined, url);
|
|
20
|
-
this.name = "TimeoutError";
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
export class RateLimitError extends HttpClientError {
|
|
24
|
-
constructor(url, retryAfter) {
|
|
25
|
-
super(`Rate limited${retryAfter ? ` retry in ${retryAfter}ms` : ""}`, "RATE_LIMIT", 429, undefined, url);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=errors.js.map
|
package/types/errors.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAG/B;IACA;IACA;IACA;IACA;IANT,YACE,OAAe,EACR,OAAe,YAAY,EAC3B,UAAmB,EACnB,aAAqB,EACrB,GAAY,EACZ,MAAe;QAEtB,KAAK,CAAC,OAAO,CAAC,CAAC;QANR,SAAI,GAAJ,IAAI,CAAuB;QAC3B,eAAU,GAAV,UAAU,CAAS;QACnB,kBAAa,GAAb,aAAa,CAAQ;QACrB,QAAG,GAAH,GAAG,CAAS;QACZ,WAAM,GAAN,MAAM,CAAS;QAGtB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,eAAe;IAC/C,YAAY,GAAW,EAAE,OAAe;QACtC,KAAK,CAAC,iBAAiB,OAAO,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,eAAe;IACjD,YAAY,GAAW,EAAE,UAAmB;QAC1C,KAAK,CACH,eAAe,UAAU,CAAC,CAAC,CAAC,aAAa,UAAU,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAC9D,YAAY,EACZ,GAAG,EACH,SAAS,EACT,GAAG,CACJ,CAAC;IACJ,CAAC;CACF"}
|
package/types/http.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export type LogLevel = "debug" | "info" | "warn" | "error";
|
|
2
|
-
export type Method = "GET" | "POST" | "PUT" | "PATCH" | "OPTIONS" | "DELETE" | "HEAD";
|
|
3
|
-
export type ResponseType = "auto" | "json" | "text" | "xml" | "html" | "buffer" | "stream" | "blob";
|
|
4
|
-
export type SourceType = "json" | "xml" | "html" | "text" | "buffer";
|
|
5
|
-
//# sourceMappingURL=http.d.ts.map
|
package/types/http.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/types/http.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,MAAM,MAAM,MAAM,GACd,KAAK,GACL,MAAM,GACN,KAAK,GACL,OAAO,GACP,SAAS,GACT,QAAQ,GACR,MAAM,CAAC;AAEX,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,MAAM,GACN,MAAM,GACN,KAAK,GACL,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,MAAM,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC"}
|
package/types/http.js
DELETED
package/types/http.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/types/http.ts"],"names":[],"mappings":""}
|
package/types/hyper.d.ts
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import type { Method, ResponseType } from "./http.js";
|
|
2
|
-
import type { RequestBodyData } from "./request.js";
|
|
3
|
-
export interface InternalRequest {
|
|
4
|
-
method: Method;
|
|
5
|
-
url: string;
|
|
6
|
-
headers: Record<string, string | string[]>;
|
|
7
|
-
body?: RequestBodyData;
|
|
8
|
-
signal?: AbortSignal;
|
|
9
|
-
meta?: {
|
|
10
|
-
timings?: {
|
|
11
|
-
networkMs?: number;
|
|
12
|
-
};
|
|
13
|
-
responseType?: ResponseType;
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
export interface Cloneable<T> {
|
|
17
|
-
clone(): T;
|
|
18
|
-
}
|
|
19
|
-
export interface HttpResponse<T = any> extends Cloneable<HttpResponse<T>> {
|
|
20
|
-
status: number;
|
|
21
|
-
headers: Record<string, any>;
|
|
22
|
-
url?: string;
|
|
23
|
-
body: T;
|
|
24
|
-
clone(): HttpResponse<T>;
|
|
25
|
-
}
|
|
26
|
-
export interface HyperStats {
|
|
27
|
-
inflightRequests?: number;
|
|
28
|
-
cacheSize?: number;
|
|
29
|
-
queuedRequests?: number;
|
|
30
|
-
activeQueue?: number;
|
|
31
|
-
rateLimitHits?: number;
|
|
32
|
-
[key: string]: any;
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=hyper.d.ts.map
|
package/types/hyper.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hyper.d.ts","sourceRoot":"","sources":["../../src/types/hyper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IAEf,GAAG,EAAE,MAAM,CAAC;IAEZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAE3C,IAAI,CAAC,EAAE,eAAe,CAAC;IAEvB,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE;YACR,SAAS,CAAC,EAAE,MAAM,CAAC;SACpB,CAAC;QACF,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B,CAAC;CACH;AAED,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,KAAK,IAAI,CAAC,CAAC;CACZ;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB"}
|
package/types/hyper.js
DELETED
package/types/hyper.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hyper.js","sourceRoot":"","sources":["../../src/types/hyper.ts"],"names":[],"mappings":""}
|
package/types/index.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export * from "./errors.js";
|
|
2
|
-
export * from "./http.js";
|
|
3
|
-
export * from "./hyper.js";
|
|
4
|
-
export * from "./metrics.js";
|
|
5
|
-
export * from "./network.js";
|
|
6
|
-
export * from "./options.js";
|
|
7
|
-
export * from "./plugins.js";
|
|
8
|
-
export * from "./request.js";
|
|
9
|
-
export * from "./retry.js";
|
|
10
|
-
export * from "./stream.js";
|
|
11
|
-
export * from "./transport.js";
|
|
12
|
-
//# sourceMappingURL=index.d.ts.map
|
package/types/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC"}
|
package/types/index.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export * from "./errors.js";
|
|
2
|
-
export * from "./http.js";
|
|
3
|
-
export * from "./hyper.js";
|
|
4
|
-
export * from "./metrics.js";
|
|
5
|
-
export * from "./network.js";
|
|
6
|
-
export * from "./options.js";
|
|
7
|
-
export * from "./plugins.js";
|
|
8
|
-
export * from "./request.js";
|
|
9
|
-
export * from "./retry.js";
|
|
10
|
-
export * from "./stream.js";
|
|
11
|
-
export * from "./transport.js";
|
|
12
|
-
//# sourceMappingURL=index.js.map
|
package/types/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC"}
|
package/types/metrics.d.ts
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { HyperPlugin } from "./plugins.js";
|
|
2
|
-
export interface RequestMetrics {
|
|
3
|
-
/**
|
|
4
|
-
* @ru Время начала запроса (timestamp)
|
|
5
|
-
* @en Request start time (timestamp)
|
|
6
|
-
*/
|
|
7
|
-
startTime: number;
|
|
8
|
-
/**
|
|
9
|
-
* @ru Время окончания запроса (timestamp)
|
|
10
|
-
* @en Request end time (timestamp)
|
|
11
|
-
*/
|
|
12
|
-
endTime: number;
|
|
13
|
-
/**
|
|
14
|
-
* @ru Длительность запроса (мс)
|
|
15
|
-
* @en Request duration (ms)
|
|
16
|
-
*/
|
|
17
|
-
duration: number;
|
|
18
|
-
/**
|
|
19
|
-
* @ru HTTP статус код ответа
|
|
20
|
-
* @en HTTP status code of response
|
|
21
|
-
*/
|
|
22
|
-
statusCode?: number;
|
|
23
|
-
/**
|
|
24
|
-
* @ru Количество полученных байт
|
|
25
|
-
* @en Bytes received
|
|
26
|
-
*/
|
|
27
|
-
bytesReceived: number;
|
|
28
|
-
/**
|
|
29
|
-
* @ru Количество отправленных байт
|
|
30
|
-
* @en Bytes sent
|
|
31
|
-
*/
|
|
32
|
-
bytesSent: number;
|
|
33
|
-
/**
|
|
34
|
-
* @ru Количество повторных попыток
|
|
35
|
-
* @en Number of retries performed
|
|
36
|
-
*/
|
|
37
|
-
retries: number;
|
|
38
|
-
/**
|
|
39
|
-
* @ru Ответ из кэша
|
|
40
|
-
* @en Response served from cache
|
|
41
|
-
*/
|
|
42
|
-
cached: boolean;
|
|
43
|
-
/**
|
|
44
|
-
* @ru URL запроса
|
|
45
|
-
* @en Request URL
|
|
46
|
-
*/
|
|
47
|
-
url: string;
|
|
48
|
-
/**
|
|
49
|
-
* @ru HTTP метод запроса
|
|
50
|
-
* @en HTTP method
|
|
51
|
-
*/
|
|
52
|
-
method: string;
|
|
53
|
-
/**
|
|
54
|
-
* @ru Хэш тела запроса (для кэширования)
|
|
55
|
-
* @en Request body hash (for caching)
|
|
56
|
-
*/
|
|
57
|
-
bodyHash?: string;
|
|
58
|
-
plugins?: Map<string, HyperPlugin>;
|
|
59
|
-
stages?: {
|
|
60
|
-
serializationMs?: number;
|
|
61
|
-
networkMs?: number;
|
|
62
|
-
parsingMs?: number;
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
//# sourceMappingURL=metrics.d.ts.map
|
package/types/metrics.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/types/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAEnC,MAAM,CAAC,EAAE;QACP,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH"}
|
package/types/metrics.js
DELETED
package/types/metrics.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/types/metrics.ts"],"names":[],"mappings":""}
|
package/types/network.d.ts
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
export interface NetworkOptions {
|
|
2
|
-
/**
|
|
3
|
-
* @ru Таймаут запроса (мс)
|
|
4
|
-
* @en Request timeout in milliseconds
|
|
5
|
-
*/
|
|
6
|
-
timeout?: number;
|
|
7
|
-
/**
|
|
8
|
-
* @ru Максимум одновременных запросов. 0 = без лимита
|
|
9
|
-
* @en Maximum concurrent requests. 0 = unlimited
|
|
10
|
-
*/
|
|
11
|
-
maxConcurrent?: number;
|
|
12
|
-
/**
|
|
13
|
-
* @ru Количество pipelined запросов на соединение
|
|
14
|
-
* @en Number of pipelined requests per connection
|
|
15
|
-
*/
|
|
16
|
-
pipelining?: number;
|
|
17
|
-
/**
|
|
18
|
-
* @ru Таймаут keep-alive соединения (мс)
|
|
19
|
-
* @en Keep-alive connection timeout in milliseconds
|
|
20
|
-
*/
|
|
21
|
-
keepAliveTimeout?: number;
|
|
22
|
-
/**
|
|
23
|
-
* @ru Отклонять недоверенные SSL сертификаты
|
|
24
|
-
* @en Reject unauthorized SSL certificates
|
|
25
|
-
*/
|
|
26
|
-
rejectUnauthorized?: boolean;
|
|
27
|
-
/**
|
|
28
|
-
* @ru Следовать за редиректами
|
|
29
|
-
* @en Follow HTTP redirects
|
|
30
|
-
*/
|
|
31
|
-
followRedirects?: boolean;
|
|
32
|
-
/**
|
|
33
|
-
* @ru Максимум редиректов
|
|
34
|
-
* @en Maximum number of redirects to follow
|
|
35
|
-
*/
|
|
36
|
-
maxRedirects?: number;
|
|
37
|
-
/**
|
|
38
|
-
* @ru Максимальный размер ответа (байты)
|
|
39
|
-
* @en Maximum response body size in bytes
|
|
40
|
-
*/
|
|
41
|
-
maxResponseBytes?: number;
|
|
42
|
-
/**
|
|
43
|
-
* @ru Переключение режима HTTP/2 и HTTP/1.1
|
|
44
|
-
* @en Switching between HTTP/2 and HTTP/1.1 modes
|
|
45
|
-
*/
|
|
46
|
-
allowHttp2?: boolean;
|
|
47
|
-
/**
|
|
48
|
-
* @ru User-Agent заголовок
|
|
49
|
-
* @en User-Agent header string
|
|
50
|
-
*/
|
|
51
|
-
userAgent?: string;
|
|
52
|
-
/**
|
|
53
|
-
* @ru Базовые заголовки по умолчанию для всех запросов
|
|
54
|
-
* @en Default base headers sent with every request
|
|
55
|
-
*/
|
|
56
|
-
headers?: Record<string, string | string[]>;
|
|
57
|
-
/**
|
|
58
|
-
* @ru Функция валидации HTTP статуса
|
|
59
|
-
* @en Function to validate HTTP status code
|
|
60
|
-
* @param status - HTTP status code
|
|
61
|
-
* @returns `true` if status is valid
|
|
62
|
-
*/
|
|
63
|
-
validateStatus?: (status: number) => boolean;
|
|
64
|
-
}
|
|
65
|
-
//# sourceMappingURL=network.d.ts.map
|
package/types/network.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../src/types/network.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAE5C;;;;;OAKG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;CAC9C"}
|
package/types/network.js
DELETED
package/types/network.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/types/network.ts"],"names":[],"mappings":""}
|
package/types/options.d.ts
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import type { LogLevel } from "./http.js";
|
|
2
|
-
import type { NetworkOptions } from "./network.js";
|
|
3
|
-
import type { HyperPlugin } from "./plugins.js";
|
|
4
|
-
import { RetryOptions } from "./retry.js";
|
|
5
|
-
/**
|
|
6
|
-
* @ru Интерфейс-расширение для модулей экосистемы Hyperttp.
|
|
7
|
-
* @en Extension interface for Hyperttp ecosystem modules.
|
|
8
|
-
*/
|
|
9
|
-
export interface HyperttpPluginsExtension {
|
|
10
|
-
/** Internal brand to prevent empty interface lint errors */
|
|
11
|
-
readonly _hyperttpBrand?: never;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* @ru Базовые настройки HTTP-клиента, входящие в состав основного ядра.
|
|
15
|
-
* @en Core HTTP client configuration options always available in the engine.
|
|
16
|
-
*/
|
|
17
|
-
export interface BaseHttpClientOptions {
|
|
18
|
-
/**
|
|
19
|
-
* @ru Базовые настройки сети (таймауты, заголовки, keep-alive)
|
|
20
|
-
* @en Base network configuration (timeouts, headers, keep-alive)
|
|
21
|
-
*/
|
|
22
|
-
network?: Partial<NetworkOptions>;
|
|
23
|
-
retry?: Partial<RetryOptions>;
|
|
24
|
-
/**
|
|
25
|
-
* @ru Кастомная функция логирования работы клиента
|
|
26
|
-
* @en Custom logging function for client operations
|
|
27
|
-
* @param level - @ru Уровень логирования @en Log level
|
|
28
|
-
* @param message - @ru Текст лога @en Log message
|
|
29
|
-
* @param meta - @ru Дополнительные метаданные @en Additional metadata
|
|
30
|
-
*/
|
|
31
|
-
logger?: (level: LogLevel, message: string, meta?: unknown) => void;
|
|
32
|
-
/**
|
|
33
|
-
* @ru Режим подробного (verbose) логирования в консоль
|
|
34
|
-
* @en Enable verbose logging output to the console
|
|
35
|
-
*/
|
|
36
|
-
verbose?: boolean;
|
|
37
|
-
/**
|
|
38
|
-
* @ru Список путей к папкам для автоматического сканирования и ленивой загрузки локальных плагинов
|
|
39
|
-
* @en List of directory paths for automatic scanning and lazy loading of local plugins
|
|
40
|
-
*/
|
|
41
|
-
pluginDirs?: string[];
|
|
42
|
-
/**
|
|
43
|
-
* @ru Список явно подключенных плагинов (готовые объекты или строки с именами npm-пакетов)
|
|
44
|
-
* @en List of explicitly registered plugins (direct objects or npm package name strings)
|
|
45
|
-
*/
|
|
46
|
-
plugins?: (HyperPlugin | string)[];
|
|
47
|
-
trackMetrics?: any;
|
|
48
|
-
}
|
|
49
|
-
export interface HttpClientOptions extends BaseHttpClientOptions, HyperttpPluginsExtension {
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=options.d.ts.map
|
package/types/options.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/types/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,4DAA4D;IAC5D,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAElC,KAAK,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAE9B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAEpE;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC;IAEnC,YAAY,CAAC,EAAE,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,iBACf,SAAQ,qBAAqB,EAAE,wBAAwB;CAAG"}
|
package/types/options.js
DELETED
package/types/options.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/types/options.ts"],"names":[],"mappings":""}
|
package/types/plugins.d.ts
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import type { HttpClientOptions } from "./options.js";
|
|
2
|
-
import type { HttpResponse, InternalRequest } from "./hyper.js";
|
|
3
|
-
import { HyperCore } from "../Core/HyperCore.js";
|
|
4
|
-
/**
|
|
5
|
-
* Фазы жизненного цикла, определяющие строгий порядок выполнения в "луковичной" (onion) архитектуре.
|
|
6
|
-
* Запрос движется снаружи внутрь: от мониторинга к сети (START -> PREPARE -> CONTROL -> FORMAT -> NETWORK).
|
|
7
|
-
* Ответ возвращается в обратном порядке: изнутри наружу (NETWORK -> FORMAT -> CONTROL -> PREPARE -> START).
|
|
8
|
-
*/
|
|
9
|
-
export type PluginPhase = "START" | "PREPARE" | "CONTROL" | "FORMAT" | "NETWORK";
|
|
10
|
-
/**
|
|
11
|
-
* Единый неизменяемый контекст для плагина.
|
|
12
|
-
* Передача одного и того же ссылочного объекта экономит аллокации при сборке луковицы.
|
|
13
|
-
*/
|
|
14
|
-
export interface PluginContext {
|
|
15
|
-
readonly config: HttpClientOptions;
|
|
16
|
-
readonly core: HyperCore;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Сигнатура функции диспетчеризации запроса.
|
|
20
|
-
*/
|
|
21
|
-
export type DispatchFn = <T = unknown>(req: InternalRequest) => Promise<HttpResponse<T>>;
|
|
22
|
-
/**
|
|
23
|
-
* Функция-обертка (декоратор) для диспетчера.
|
|
24
|
-
* Принимает ссылку на следующий слой луковицы (`next`) и контекст клиента.
|
|
25
|
-
*/
|
|
26
|
-
export type WrapDispatch = (next: DispatchFn, ctx: PluginContext) => DispatchFn;
|
|
27
|
-
/**
|
|
28
|
-
* Единый интерфейс для создания плагинов Hyperttp.
|
|
29
|
-
* Любой внешний пакет (cache, metrics) обязан реализовать этот контракт.
|
|
30
|
-
*/
|
|
31
|
-
export interface HyperPlugin {
|
|
32
|
-
/** Уникальное имя плагина для логирования и предотвращения дублирования */
|
|
33
|
-
readonly name: string;
|
|
34
|
-
/** Фаза, определяющая место плагина в конвейере выполнения */
|
|
35
|
-
readonly phase: PluginPhase;
|
|
36
|
-
/** Динамическая проверка: должен ли плагин активироваться на основе переданного конфига */
|
|
37
|
-
enabled: (config: HttpClientOptions) => boolean;
|
|
38
|
-
/**
|
|
39
|
-
* Хук инициализации. Теперь принимает тот же PluginContext, что и wrapDispatch.
|
|
40
|
-
*/
|
|
41
|
-
setup?: (ctx: PluginContext) => void;
|
|
42
|
-
/**
|
|
43
|
-
* Чистая функция-обертка для конвейера запросов.
|
|
44
|
-
*/
|
|
45
|
-
wrapDispatch?: WrapDispatch;
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=plugins.d.ts.map
|
package/types/plugins.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/types/plugins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD;;;;GAIG;AACH,MAAM,MAAM,WAAW,GACnB,OAAO,GACP,SAAS,GACT,SAAS,GACT,QAAQ,GACR,SAAS,CAAC;AAEd;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,OAAO,EACnC,GAAG,EAAE,eAAe,KACjB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9B;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,KAAK,UAAU,CAAC;AAEhF;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAE5B,2FAA2F;IAC3F,OAAO,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,OAAO,CAAC;IAEhD;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IAErC;;OAEG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B"}
|
package/types/plugins.js
DELETED
package/types/plugins.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/types/plugins.ts"],"names":[],"mappings":""}
|