@bitbeater/ecma-utils 2.9.0 → 2.10.1

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.
@@ -0,0 +1,228 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Header = void 0;
4
+ /**
5
+ * @link https://www.iana.org/assignments/http-fields/http-fields.xhtml
6
+ */
7
+ var Header;
8
+ (function (Header) {
9
+ Header["Accept-Datetime"] = "Accept-Datetime";
10
+ Header["Accept-Encoding"] = "Accept-Encoding";
11
+ Header["Accept-Features"] = "Accept-Features";
12
+ Header["Accept-Language"] = "Accept-Language";
13
+ Header["Accept-Patch"] = "Accept-Patch";
14
+ Header["Accept-Post"] = "Accept-Post";
15
+ Header["Accept-Ranges"] = "Accept-Ranges";
16
+ Header["Access-Control"] = "Access-Control";
17
+ Header["Access-Control-Allow-Credentials"] = "Access-Control-Allow-Credentials";
18
+ Header["Access-Control-Allow-Headers"] = "Access-Control-Allow-Headers";
19
+ Header["Access-Control-Allow-Methods"] = "Access-Control-Allow-Methods";
20
+ Header["Access-Control-Allow-Origin"] = "Access-Control-Allow-Origin";
21
+ Header["Access-Control-Expose-Headers"] = "Access-Control-Expose-Headers";
22
+ Header["Access-Control-Max-Age"] = "Access-Control-Max-Age";
23
+ Header["Access-Control-Request-Headers"] = "Access-Control-Request-Headers";
24
+ Header["Access-Control-Request-Method"] = "Access-Control-Request-Method";
25
+ Header["Age"] = "Age";
26
+ Header["Allow"] = "Allow";
27
+ Header["ALPN"] = "ALPN";
28
+ Header["Alt-Svc"] = "Alt-Svc";
29
+ Header["Alt-Used"] = "Alt-Used";
30
+ Header["Alternates"] = "Alternates";
31
+ Header["AMP-Cache-Transform"] = "AMP-Cache-Transform";
32
+ Header["Apply-To-Redirect-Ref"] = "Apply-To-Redirect-Ref";
33
+ Header["Authentication-Control"] = "Authentication-Control";
34
+ Header["Authentication-Info"] = "Authentication-Info";
35
+ Header["Authorization"] = "Authorization";
36
+ Header["C-Ext"] = "C-Ext";
37
+ Header["C-Man"] = "C-Man";
38
+ Header["C-Opt"] = "C-Opt";
39
+ Header["C-PEP"] = "C-PEP";
40
+ Header["C-PEP-Info"] = "C-PEP-Info";
41
+ Header["Cache-Control"] = "Cache-Control";
42
+ Header["Cache-Status"] = "Cache-Status";
43
+ Header["Cal-Managed-ID"] = "Cal-Managed-ID";
44
+ Header["CalDAV-Timezones"] = "CalDAV-Timezones";
45
+ Header["CDN-Cache-Control"] = "CDN-Cache-Control";
46
+ Header["CDN-Loop"] = "CDN-Loop";
47
+ Header["Cert-Not-After"] = "Cert-Not-After";
48
+ Header["Cert-Not-Before"] = "Cert-Not-Before";
49
+ Header["Clear-Site-Data"] = "Clear-Site-Data";
50
+ Header["Close"] = "Close";
51
+ Header["Configuration-Context"] = "Configuration-Context";
52
+ Header["Connection"] = "Connection";
53
+ Header["Content-Base"] = "Content-Base";
54
+ Header["Content-Disposition"] = "Content-Disposition";
55
+ Header["Content-Encoding"] = "Content-Encoding";
56
+ Header["Content-ID"] = "Content-ID";
57
+ Header["Content-Language"] = "Content-Language";
58
+ Header["Content-Length"] = "Content-Length";
59
+ Header["Content-Location"] = "Content-Location";
60
+ Header["Content-MD5"] = "Content-MD5";
61
+ Header["Content-Range"] = "Content-Range";
62
+ Header["Content-Script-Type"] = "Content-Script-Type";
63
+ Header["Content-Security-Policy"] = "Content-Security-Policy";
64
+ Header["Content-Security-Policy-Report-Only"] = "Content-Security-Policy-Report-Only";
65
+ Header["Content-Style-Type"] = "Content-Style-Type";
66
+ Header["Content-Transfer-Encoding"] = "Content-Transfer-Encoding";
67
+ Header["Content-Type"] = "Content-Type";
68
+ Header["Content-Version"] = "Content-Version";
69
+ Header["Cookie"] = "Cookie";
70
+ Header["Cookie2"] = "Cookie2";
71
+ Header["Cost"] = "Cost";
72
+ Header["Cross-Origin-Embedder-Policy"] = "Cross-Origin-Embedder-Policy";
73
+ Header["Cross-Origin-Embedder-Policy-Report-Only"] = "Cross-Origin-Embedder-Policy-Report-Only";
74
+ Header["Cross-Origin-Opener-Policy"] = "Cross-Origin-Opener-Policy";
75
+ Header["Cross-Origin-Opener-Policy-Report-Only"] = "Cross-Origin-Opener-Policy-Report-Only";
76
+ Header["Cross-Origin-Resource-Policy"] = "Cross-Origin-Resource-Policy";
77
+ Header["DASL"] = "DASL";
78
+ Header["Date"] = "Date";
79
+ Header["DAV"] = "DAV";
80
+ Header["Default-Style"] = "Default-Style";
81
+ Header["Delta-Base"] = "Delta-Base";
82
+ Header["Depth"] = "Depth";
83
+ Header["Derived-From"] = "Derived-From";
84
+ Header["Destination"] = "Destination";
85
+ Header["Differential-ID"] = "Differential-ID";
86
+ Header["Digest"] = "Digest";
87
+ Header["Early-Data"] = "Early-Data";
88
+ Header["EDIINT-Features"] = "EDIINT-Features";
89
+ Header["ETag"] = "ETag";
90
+ Header["Expect"] = "Expect";
91
+ Header["Expect-CT"] = "Expect-CT";
92
+ Header["Expires"] = "Expires";
93
+ Header["Ext"] = "Ext";
94
+ Header["Forwarded"] = "Forwarded";
95
+ Header["From"] = "From";
96
+ Header["GetProfile"] = "GetProfile";
97
+ Header["Hobareg"] = "Hobareg";
98
+ Header["Host"] = "Host";
99
+ Header["HTTP2-Settings"] = "HTTP2-Settings";
100
+ Header["If"] = "If";
101
+ Header["If-Match"] = "If-Match";
102
+ Header["If-Modified-Since"] = "If-Modified-Since";
103
+ Header["If-None-Match"] = "If-None-Match";
104
+ Header["If-Range"] = "If-Range";
105
+ Header["If-Schedule-Tag-Match"] = "If-Schedule-Tag-Match";
106
+ Header["If-Unmodified-Since"] = "If-Unmodified-Since";
107
+ Header["IM"] = "IM";
108
+ Header["Include-Referred-Token-Binding-ID"] = "Include-Referred-Token-Binding-ID";
109
+ Header["Isolation"] = "Isolation";
110
+ Header["Keep-Alive"] = "Keep-Alive";
111
+ Header["Label"] = "Label";
112
+ Header["Last-Event-ID"] = "Last-Event-ID";
113
+ Header["Last-Modified"] = "Last-Modified";
114
+ Header["Link"] = "Link";
115
+ Header["Location"] = "Location";
116
+ Header["Lock-Token"] = "Lock-Token";
117
+ Header["Man"] = "Man";
118
+ Header["Max-Forwards"] = "Max-Forwards";
119
+ Header["Memento-Datetime"] = "Memento-Datetime";
120
+ Header["Message-ID"] = "Message-ID";
121
+ Header["Meter"] = "Meter";
122
+ Header["Method-Check"] = "Method-Check";
123
+ Header["Method-Check-Expires"] = "Method-Check-Expires";
124
+ Header["MIME-Version"] = "MIME-Version";
125
+ Header["Negotiate"] = "Negotiate";
126
+ Header["OData-EntityId"] = "OData-EntityId";
127
+ Header["OData-Isolation"] = "OData-Isolation";
128
+ Header["OData-MaxVersion"] = "OData-MaxVersion";
129
+ Header["OData-Version"] = "OData-Version";
130
+ Header["Opt"] = "Opt";
131
+ Header["Optional-WWW-Authenticate"] = "Optional-WWW-Authenticate";
132
+ Header["Ordering-Type"] = "Ordering-Type";
133
+ Header["Origin"] = "Origin";
134
+ Header["Origin-Agent-Cluster"] = "Origin-Agent-Cluster";
135
+ Header["OSCORE"] = "OSCORE";
136
+ Header["OSLC-Core-Version"] = "OSLC-Core-Version";
137
+ Header["Overwrite"] = "Overwrite";
138
+ Header["P3P"] = "P3P";
139
+ Header["PEP"] = "PEP";
140
+ Header["Pep-Info"] = "Pep-Info";
141
+ Header["PICS-Label"] = "PICS-Label";
142
+ Header["Ping-From"] = "Ping-From";
143
+ Header["Ping-To"] = "Ping-To";
144
+ Header["Position"] = "Position";
145
+ Header["Pragma"] = "Pragma";
146
+ Header["Prefer"] = "Prefer";
147
+ Header["Preference-Applied"] = "Preference-Applied";
148
+ Header["Priority"] = "Priority";
149
+ Header["ProfileObject"] = "ProfileObject";
150
+ Header["Protocol"] = "Protocol";
151
+ Header["Protocol-Info"] = "Protocol-Info";
152
+ Header["Protocol-Query"] = "Protocol-Query";
153
+ Header["Protocol-Request"] = "Protocol-Request";
154
+ Header["Proxy-Authenticate"] = "Proxy-Authenticate";
155
+ Header["Proxy-Authentication-Info"] = "Proxy-Authentication-Info";
156
+ Header["Proxy-Authorization"] = "Proxy-Authorization";
157
+ Header["Proxy-Features"] = "Proxy-Features";
158
+ Header["Proxy-Instruction"] = "Proxy-Instruction";
159
+ Header["Proxy-Status"] = "Proxy-Status";
160
+ Header["Public"] = "Public";
161
+ Header["Public-Key-Pins"] = "Public-Key-Pins";
162
+ Header["Public-Key-Pins-Report-Only"] = "Public-Key-Pins-Report-Only";
163
+ Header["Range"] = "Range";
164
+ Header["Redirect-Ref"] = "Redirect-Ref";
165
+ Header["Referer"] = "Referer";
166
+ Header["Referer-Root"] = "Referer-Root";
167
+ Header["Refresh"] = "Refresh";
168
+ Header["Repeatability-Client-ID"] = "Repeatability-Client-ID";
169
+ Header["Repeatability-First-Sent"] = "Repeatability-First-Sent";
170
+ Header["Repeatability-Request-ID"] = "Repeatability-Request-ID";
171
+ Header["Repeatability-Result"] = "Repeatability-Result";
172
+ Header["Replay-Nonce"] = "Replay-Nonce";
173
+ Header["Retry-After"] = "Retry-After";
174
+ Header["Safe"] = "Safe";
175
+ Header["Schedule-Reply"] = "Schedule-Reply";
176
+ Header["Schedule-Tag"] = "Schedule-Tag";
177
+ Header["Sec-GPC"] = "Sec-GPC";
178
+ Header["Sec-Token-Binding"] = "Sec-Token-Binding";
179
+ Header["Sec-WebSocket-Accept"] = "Sec-WebSocket-Accept";
180
+ Header["Sec-WebSocket-Extensions"] = "Sec-WebSocket-Extensions";
181
+ Header["Sec-WebSocket-Key"] = "Sec-WebSocket-Key";
182
+ Header["Sec-WebSocket-Protocol"] = "Sec-WebSocket-Protocol";
183
+ Header["Sec-WebSocket-Version"] = "Sec-WebSocket-Version";
184
+ Header["Security-Scheme"] = "Security-Scheme";
185
+ Header["Server"] = "Server";
186
+ Header["Server-Timing"] = "Server-Timing";
187
+ Header["Set-Cookie"] = "Set-Cookie";
188
+ Header["Set-Cookie2"] = "Set-Cookie2";
189
+ Header["SetProfile"] = "SetProfile";
190
+ Header["SLUG"] = "SLUG";
191
+ Header["SoapAction"] = "SoapAction";
192
+ Header["Status-URI"] = "Status-URI";
193
+ Header["Strict-Transport-Security"] = "Strict-Transport-Security";
194
+ Header["Sunset"] = "Sunset";
195
+ Header["Surrogate-Capability"] = "Surrogate-Capability";
196
+ Header["Surrogate-Control"] = "Surrogate-Control";
197
+ Header["TCN"] = "TCN";
198
+ Header["TE"] = "TE";
199
+ Header["Timeout"] = "Timeout";
200
+ Header["Timing-Allow-Origin"] = "Timing-Allow-Origin";
201
+ Header["Title"] = "Title";
202
+ Header["Topic"] = "Topic";
203
+ Header["Traceparent"] = "Traceparent";
204
+ Header["Tracestate"] = "Tracestate";
205
+ Header["Trailer"] = "Trailer";
206
+ Header["Transfer-Encoding"] = "Transfer-Encoding";
207
+ Header["TTL"] = "TTL";
208
+ Header["Upgrade"] = "Upgrade";
209
+ Header["Urgency"] = "Urgency";
210
+ Header["URI"] = "URI";
211
+ Header["User-Agent"] = "User-Agent";
212
+ Header["Variant-Vary"] = "Variant-Vary";
213
+ Header["Vary"] = "Vary";
214
+ Header["Version"] = "Version";
215
+ Header["Via"] = "Via";
216
+ Header["Want-Digest"] = "Want-Digest";
217
+ Header["Warning"] = "Warning";
218
+ Header["WWW-Authenticate"] = "WWW-Authenticate";
219
+ Header["X-Content-Type-Options"] = "X-Content-Type-Options";
220
+ Header["X-Device-Accept"] = "X-Device-Accept";
221
+ Header["X-Device-Accept-Charset"] = "X-Device-Accept-Charset";
222
+ Header["X-Device-Accept-Encoding"] = "X-Device-Accept-Encoding";
223
+ Header["X-Device-Accept-Language"] = "X-Device-Accept-Language";
224
+ Header["X-Device-User-Agent"] = "X-Device-User-Agent";
225
+ Header["X-Frame-Options"] = "X-Frame-Options";
226
+ Header["*"] = "*";
227
+ })(Header || (exports.Header = Header = {}));
228
+ //# sourceMappingURL=headers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headers.js","sourceRoot":"","sources":["../../../src/net/http/headers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ export type OnRetryParams = {
2
+ request: Request | string | URL;
3
+ requestInit?: RequestInit;
4
+ response?: Response;
5
+ error?: Error;
6
+ retryCount: number;
7
+ };
8
+ /**
9
+ * RetryCallBack is a callback function that is called just before a retry is attempted.
10
+ *
11
+ * @param options
12
+ * @returns boolean - return true to abort the retry.
13
+ */
14
+ export type RetryCallBack = (retryParams: OnRetryParams) => true | void;
15
+ export interface HttpRetryOptions {
16
+ retryDelay?: number;
17
+ maxRetries?: number;
18
+ onRetry?: RetryCallBack;
19
+ }
20
+ export interface HttpRequestInit extends RequestInit {
21
+ timeout?: number;
22
+ retry?: HttpRetryOptions;
23
+ }
24
+ export type HttpRequestInput = Request | string | URL;
25
+ /**
26
+ * @abstraction http is a wrapper around the Fetch API that adds support for request timeouts and retries.
27
+ * @param request
28
+ * @param requestInit
29
+ * @returns Promise<Response>
30
+ * @throws HttpError - if the response status is not ok (2xx).
31
+ * @throws Error - if the request fails due to network errors.
32
+ */
33
+ export declare function http(request: HttpRequestInput, requestInit?: HttpRequestInit): Promise<Response>;
34
+ export declare function toURL(httpRequest: HttpRequestInput): URL;
35
+ //# sourceMappingURL=http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/net/http/http.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,GAAG,CAAC;IAChC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,WAAW,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI,CAAC;AAExE,MAAM,WAAW,gBAAgB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,aAAa,CAAC;CACxB;AAID,MAAM,WAAW,eAAgB,SAAQ,WAAW;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,gBAAgB,CAAC;CACzB;AAED,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,MAAM,GAAG,GAAG,CAAC;AAGtD;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,WAAW,GAAE,eAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAuCpG;AAED,wBAAgB,KAAK,CAAC,WAAW,EAAE,gBAAgB,GAAG,GAAG,CAGxD"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.http = http;
4
+ exports.toURL = toURL;
5
+ const math_1 = require("../../math");
6
+ const promises_1 = require("../../promises");
7
+ const errors_1 = require("./errors");
8
+ /**
9
+ * @abstraction http is a wrapper around the Fetch API that adds support for request timeouts and retries.
10
+ * @param request
11
+ * @param requestInit
12
+ * @returns Promise<Response>
13
+ * @throws HttpError - if the response status is not ok (2xx).
14
+ * @throws Error - if the request fails due to network errors.
15
+ */
16
+ function http(request, requestInit = {}) {
17
+ const { reqTimeOutTimer, controller } = requestTimeout(requestInit);
18
+ let retryCount = 0;
19
+ const maxRetries = (0, math_1.parseIntOrZero)(requestInit?.retry?.maxRetries);
20
+ const retryDelay = (0, math_1.parseIntOrZero)(requestInit?.retry?.retryDelay);
21
+ if (requestInit.signal)
22
+ controller?.signal?.addEventListener('abort', e => requestInit.signal?.dispatchEvent(e));
23
+ else
24
+ requestInit.signal = controller?.signal;
25
+ const doRequest = () => fetch(request, requestInit)
26
+ .finally(() => clearTimeout(reqTimeOutTimer))
27
+ .then(async (response) => {
28
+ if (response.ok)
29
+ return response;
30
+ throw new errors_1.HttpError(response);
31
+ })
32
+ .catch((error) => {
33
+ let response;
34
+ if (error instanceof errors_1.HttpError)
35
+ response = error?.response;
36
+ if (!response?.body?.locked)
37
+ response?.body?.cancel();
38
+ if (retryCount >= maxRetries - 1)
39
+ throw error;
40
+ retryCount++;
41
+ const abort = requestInit?.retry?.onRetry?.({ request, requestInit, retryCount, error, response });
42
+ if (abort)
43
+ throw error;
44
+ return (0, promises_1.delay)(retryDelay).then(() => doRequest());
45
+ });
46
+ return doRequest();
47
+ }
48
+ function toURL(httpRequest) {
49
+ // @ts-ignore
50
+ return new URL(httpRequest?.url || httpRequest.toString());
51
+ }
52
+ function requestTimeout(options) {
53
+ if (!options?.timeout)
54
+ return {};
55
+ const controller = new AbortController();
56
+ const reqTimeOutTimer = setTimeout(() => controller.abort(), options.timeout);
57
+ return { reqTimeOutTimer, controller };
58
+ }
59
+ //# sourceMappingURL=http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/net/http/http.ts"],"names":[],"mappings":";;AA6CA,oBAuCC;AAED,sBAGC;AAzFD,qCAA4C;AAC5C,6CAAuC;AACvC,qCAAqC;AAmCrC;;;;;;;GAOG;AACH,SAAgB,IAAI,CAAC,OAAyB,EAAE,cAA+B,EAAE;IAChF,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IACpE,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,MAAM,UAAU,GAAG,IAAA,qBAAc,EAAC,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,IAAA,qBAAc,EAAC,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAElE,IAAI,WAAW,CAAC,MAAM;QAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;;QAC5G,WAAW,CAAC,MAAM,GAAG,UAAU,EAAE,MAAM,CAAC;IAE7C,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC;SACjD,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;SAC5C,IAAI,CAAC,KAAK,EAAE,QAAkB,EAAE,EAAE;QAClC,IAAI,QAAQ,CAAC,EAAE;YAAE,OAAO,QAAQ,CAAC;QACjC,MAAM,IAAI,kBAAS,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;QAEvB,IAAI,QAAkB,CAAC;QAEvB,IAAI,KAAK,YAAY,kBAAS;YAC7B,QAAQ,GAAG,KAAK,EAAE,QAAQ,CAAC;QAE5B,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM;YAC1B,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;QAEzB,IAAI,UAAU,IAAI,UAAU,GAAG,CAAC;YAC/B,MAAM,KAAK,CAAC;QAEb,UAAU,EAAE,CAAC;QAEb,MAAM,KAAK,GAAG,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACnG,IAAI,KAAK;YAAE,MAAM,KAAK,CAAC;QAEvB,OAAO,IAAA,gBAAK,EAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAGJ,OAAO,SAAS,EAAE,CAAC;AACpB,CAAC;AAED,SAAgB,KAAK,CAAC,WAA6B;IAClD,aAAa;IACb,OAAO,IAAI,GAAG,CAAC,WAAW,EAAE,GAAG,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,cAAc,CAAC,OAAyB;IAEhD,IAAI,CAAC,OAAO,EAAE,OAAO;QAAE,OAAO,EAAE,CAAC;IAEjC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9E,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;AACxC,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @link https://nodejs.dev/learn/the-nodejs-http-module#httpmethods
3
+ */
4
+ export declare enum Method {
5
+ ACL = "ACL",
6
+ BIND = "BIND",
7
+ CHECKOUT = "CHECKOUT",
8
+ CONNECT = "CONNECT",
9
+ COPY = "COPY",
10
+ DELETE = "DELETE",
11
+ GET = "GET",
12
+ HEAD = "HEAD",
13
+ LINK = "LINK",
14
+ LOCK = "LOCK",
15
+ 'M-SEARCH' = "M-SEARCH",
16
+ MERGE = "MERGE",
17
+ MKACTIVITY = "MKACTIVITY",
18
+ MKCALENDAR = "MKCALENDAR",
19
+ MKCOL = "MKCOL",
20
+ MOVE = "MOVE",
21
+ NOTIFY = "NOTIFY",
22
+ OPTIONS = "OPTIONS",
23
+ PATCH = "PATCH",
24
+ POST = "POST",
25
+ PROPFIND = "PROPFIND",
26
+ PROPPATCH = "PROPPATCH",
27
+ PURGE = "PURGE",
28
+ PUT = "PUT",
29
+ REBIND = "REBIND",
30
+ REPORT = "REPORT",
31
+ SEARCH = "SEARCH",
32
+ SUBSCRIBE = "SUBSCRIBE",
33
+ TRACE = "TRACE",
34
+ UNBIND = "UNBIND",
35
+ UNLINK = "UNLINK",
36
+ UNLOCK = "UNLOCK",
37
+ UNSUBSCRIBE = "UNSUBSCRIBE"
38
+ }
39
+ //# sourceMappingURL=methods.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"methods.d.ts","sourceRoot":"","sources":["../../../src/net/http/methods.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,MAAM;IACd,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,IAAI,SAAS;IACb,IAAI,SAAS;IACb,UAAU,aAAa;IACvB,KAAK,UAAU;IACf,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,WAAW,gBAAgB;CAC9B"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Method = void 0;
4
+ /**
5
+ * @link https://nodejs.dev/learn/the-nodejs-http-module#httpmethods
6
+ */
7
+ var Method;
8
+ (function (Method) {
9
+ Method["ACL"] = "ACL";
10
+ Method["BIND"] = "BIND";
11
+ Method["CHECKOUT"] = "CHECKOUT";
12
+ Method["CONNECT"] = "CONNECT";
13
+ Method["COPY"] = "COPY";
14
+ Method["DELETE"] = "DELETE";
15
+ Method["GET"] = "GET";
16
+ Method["HEAD"] = "HEAD";
17
+ Method["LINK"] = "LINK";
18
+ Method["LOCK"] = "LOCK";
19
+ Method["M-SEARCH"] = "M-SEARCH";
20
+ Method["MERGE"] = "MERGE";
21
+ Method["MKACTIVITY"] = "MKACTIVITY";
22
+ Method["MKCALENDAR"] = "MKCALENDAR";
23
+ Method["MKCOL"] = "MKCOL";
24
+ Method["MOVE"] = "MOVE";
25
+ Method["NOTIFY"] = "NOTIFY";
26
+ Method["OPTIONS"] = "OPTIONS";
27
+ Method["PATCH"] = "PATCH";
28
+ Method["POST"] = "POST";
29
+ Method["PROPFIND"] = "PROPFIND";
30
+ Method["PROPPATCH"] = "PROPPATCH";
31
+ Method["PURGE"] = "PURGE";
32
+ Method["PUT"] = "PUT";
33
+ Method["REBIND"] = "REBIND";
34
+ Method["REPORT"] = "REPORT";
35
+ Method["SEARCH"] = "SEARCH";
36
+ Method["SUBSCRIBE"] = "SUBSCRIBE";
37
+ Method["TRACE"] = "TRACE";
38
+ Method["UNBIND"] = "UNBIND";
39
+ Method["UNLINK"] = "UNLINK";
40
+ Method["UNLOCK"] = "UNLOCK";
41
+ Method["UNSUBSCRIBE"] = "UNSUBSCRIBE";
42
+ })(Method || (exports.Method = Method = {}));
43
+ //# sourceMappingURL=methods.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"methods.js","sourceRoot":"","sources":["../../../src/net/http/methods.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,MAkCX;AAlCD,WAAY,MAAM;IACd,qBAAW,CAAA;IACX,uBAAa,CAAA;IACb,+BAAqB,CAAA;IACrB,6BAAmB,CAAA;IACnB,uBAAa,CAAA;IACb,2BAAiB,CAAA;IACjB,qBAAW,CAAA;IACX,uBAAa,CAAA;IACb,uBAAa,CAAA;IACb,uBAAa,CAAA;IACb,+BAAuB,CAAA;IACvB,yBAAe,CAAA;IACf,mCAAyB,CAAA;IACzB,mCAAyB,CAAA;IACzB,yBAAe,CAAA;IACf,uBAAa,CAAA;IACb,2BAAiB,CAAA;IACjB,6BAAmB,CAAA;IACnB,yBAAe,CAAA;IACf,uBAAa,CAAA;IACb,+BAAqB,CAAA;IACrB,iCAAuB,CAAA;IACvB,yBAAe,CAAA;IACf,qBAAW,CAAA;IACX,2BAAiB,CAAA;IACjB,2BAAiB,CAAA;IACjB,2BAAiB,CAAA;IACjB,iCAAuB,CAAA;IACvB,yBAAe,CAAA;IACf,2BAAiB,CAAA;IACjB,2BAAiB,CAAA;IACjB,2BAAiB,CAAA;IACjB,qCAA2B,CAAA;AAC/B,CAAC,EAlCW,MAAM,sBAAN,MAAM,QAkCjB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitbeater/ecma-utils",
3
- "version": "2.9.0",
3
+ "version": "2.10.1",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "sideEffects": false,
@@ -15,7 +15,7 @@
15
15
  "default": "./dist/bytes.js"
16
16
  },
17
17
  "./http": {
18
- "default": "./dist/net/http.js"
18
+ "default": "./dist/net/http/http.js"
19
19
  },
20
20
  "./utils": {
21
21
  "default": "./dist/utils/utils.js"