@bitbeater/ecma-utils 2.8.0 → 2.10.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/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mime.d.ts +2501 -0
- package/dist/mime.d.ts.map +1 -0
- package/dist/mime.js +2732 -0
- package/dist/mime.js.map +1 -0
- package/dist/net/http/cookies.d.ts +8 -0
- package/dist/net/http/cookies.d.ts.map +1 -0
- package/dist/net/http/cookies.js +30 -0
- package/dist/net/http/cookies.js.map +1 -0
- package/dist/net/http/errors.d.ts +5 -0
- package/dist/net/http/errors.d.ts.map +1 -0
- package/dist/net/http/errors.js +19 -0
- package/dist/net/http/errors.js.map +1 -0
- package/dist/net/http/headers.d.ts +224 -0
- package/dist/net/http/headers.d.ts.map +1 -0
- package/dist/net/http/headers.js +228 -0
- package/dist/net/http/headers.js.map +1 -0
- package/dist/net/http/http.d.ts +40 -0
- package/dist/net/http/http.d.ts.map +1 -0
- package/dist/net/http/http.js +58 -0
- package/dist/net/http/http.js.map +1 -0
- package/dist/net/http/methods.d.ts +39 -0
- package/dist/net/http/methods.d.ts.map +1 -0
- package/dist/net/http/methods.js +43 -0
- package/dist/net/http/methods.js.map +1 -0
- package/dist/strings.d.ts +42 -2
- package/dist/strings.d.ts.map +1 -1
- package/dist/strings.js +73 -18
- package/dist/strings.js.map +1 -1
- package/package.json +2 -2
|
@@ -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,40 @@
|
|
|
1
|
+
export type OnRetryParams = {
|
|
2
|
+
request: Request | string | URL;
|
|
3
|
+
requestInit?: RequestInit;
|
|
4
|
+
options?: RequestOptions;
|
|
5
|
+
response?: Response;
|
|
6
|
+
error?: Error;
|
|
7
|
+
retryCount: number;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* RetryCallBack is a callback function that is called just before a retry is attempted.
|
|
11
|
+
*
|
|
12
|
+
* @param options
|
|
13
|
+
* @returns boolean - return true to abort the retry.
|
|
14
|
+
*/
|
|
15
|
+
export type RetryCallBack = (retryParams: OnRetryParams) => true | void;
|
|
16
|
+
export interface HttpRetryOptions {
|
|
17
|
+
retryDelay?: number;
|
|
18
|
+
maxRetries?: number;
|
|
19
|
+
onRetry?: RetryCallBack;
|
|
20
|
+
}
|
|
21
|
+
export interface RequestOptions {
|
|
22
|
+
retry?: HttpRetryOptions;
|
|
23
|
+
timeout?: number;
|
|
24
|
+
}
|
|
25
|
+
export interface HttpRequest extends Request {
|
|
26
|
+
timeout?: number;
|
|
27
|
+
retry?: HttpRetryOptions;
|
|
28
|
+
}
|
|
29
|
+
type HttpRequestInput = Request | string | URL;
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @param request
|
|
33
|
+
* @param requestInit
|
|
34
|
+
* @param options
|
|
35
|
+
* @returns
|
|
36
|
+
*/
|
|
37
|
+
export declare function http(request: HttpRequestInput, requestInit?: RequestInit, options?: RequestOptions): Promise<Response>;
|
|
38
|
+
export declare function toURL(httpRequest: HttpRequest): URL;
|
|
39
|
+
export {};
|
|
40
|
+
//# 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,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,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;AAED,MAAM,WAAW,cAAc;IAC9B,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAID,MAAM,WAAW,WAAY,SAAQ,OAAO;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,gBAAgB,CAAC;CACzB;AAED,KAAK,gBAAgB,GAAG,OAAO,GAAG,MAAM,GAAG,GAAG,CAAC;AAK/C;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,WAAW,GAAE,WAAgB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,CAsC1H;AAED,wBAAgB,KAAK,CAAC,WAAW,EAAE,WAAW,GAAG,GAAG,CAGnD"}
|
|
@@ -0,0 +1,58 @@
|
|
|
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
|
+
*
|
|
10
|
+
* @param request
|
|
11
|
+
* @param requestInit
|
|
12
|
+
* @param options
|
|
13
|
+
* @returns
|
|
14
|
+
*/
|
|
15
|
+
function http(request, requestInit = {}, options) {
|
|
16
|
+
const { reqTimeOutTimer, controller } = requestTimeout(options);
|
|
17
|
+
let retryCount = 0;
|
|
18
|
+
const maxRetries = (0, math_1.parseIntOrZero)(options?.retry?.maxRetries);
|
|
19
|
+
const retryDelay = (0, math_1.parseIntOrZero)(options?.retry?.retryDelay);
|
|
20
|
+
if (requestInit.signal)
|
|
21
|
+
controller?.signal?.addEventListener('abort', e => requestInit.signal?.dispatchEvent(e));
|
|
22
|
+
else
|
|
23
|
+
requestInit.signal = controller?.signal;
|
|
24
|
+
const doRequest = () => fetch(request, requestInit)
|
|
25
|
+
.finally(() => clearTimeout(reqTimeOutTimer))
|
|
26
|
+
.then(async (response) => {
|
|
27
|
+
if (response.ok)
|
|
28
|
+
return response;
|
|
29
|
+
throw new errors_1.HttpError(response);
|
|
30
|
+
})
|
|
31
|
+
.catch((error) => {
|
|
32
|
+
let response;
|
|
33
|
+
if (error instanceof errors_1.HttpError)
|
|
34
|
+
response = error?.response;
|
|
35
|
+
if (!response?.body?.locked)
|
|
36
|
+
response?.body?.cancel();
|
|
37
|
+
if (retryCount >= maxRetries - 1)
|
|
38
|
+
throw error;
|
|
39
|
+
retryCount++;
|
|
40
|
+
const abort = options?.retry?.onRetry?.({ request, requestInit, options, retryCount, error, response });
|
|
41
|
+
if (abort)
|
|
42
|
+
throw error;
|
|
43
|
+
return (0, promises_1.delay)(retryDelay).then(() => doRequest());
|
|
44
|
+
});
|
|
45
|
+
return doRequest();
|
|
46
|
+
}
|
|
47
|
+
function toURL(httpRequest) {
|
|
48
|
+
// @ts-ignore
|
|
49
|
+
return new URL(httpRequest?.url || httpRequest.toString());
|
|
50
|
+
}
|
|
51
|
+
function requestTimeout(options) {
|
|
52
|
+
if (!options?.timeout)
|
|
53
|
+
return {};
|
|
54
|
+
const controller = new AbortController();
|
|
55
|
+
const reqTimeOutTimer = setTimeout(() => controller.abort(), options.timeout);
|
|
56
|
+
return { reqTimeOutTimer, controller };
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=http.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/net/http/http.ts"],"names":[],"mappings":";;AAoDA,oBAsCC;AAED,sBAGC;AA/FD,qCAA4C;AAC5C,6CAAuC;AACvC,qCAAqC;AA2CrC;;;;;;GAMG;AACH,SAAgB,IAAI,CAAC,OAAyB,EAAE,cAA2B,EAAE,EAAE,OAAwB;IACtG,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAChE,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,MAAM,UAAU,GAAG,IAAA,qBAAc,EAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,IAAA,qBAAc,EAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAE9D,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,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxG,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,WAAwB;IAC7C,aAAa;IACb,OAAO,IAAI,GAAG,CAAC,WAAW,EAAE,GAAG,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,cAAc,CAAC,OAAwB;IAC/C,IAAI,CAAC,OAAO,EAAE,OAAO;QAAE,OAAO,EAAE,CAAC;IACjC,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/dist/strings.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export declare function isJson(str: string): boolean;
|
|
|
12
12
|
* @returns
|
|
13
13
|
*/
|
|
14
14
|
export declare function templateToString(template: TemplateStringsArray, ...expressions: TemplateExpression[]): string;
|
|
15
|
+
type SplitTuple = [delimiterRun: string, token: string];
|
|
15
16
|
/**
|
|
16
17
|
* Separates text into an array of [whitespace, word] tuples, preserving the whitespace.
|
|
17
18
|
* @example
|
|
@@ -27,8 +28,47 @@ export declare function templateToString(template: TemplateStringsArray, ...expr
|
|
|
27
28
|
* @param text
|
|
28
29
|
* @returns [[whitespace, word], ...]
|
|
29
30
|
*/
|
|
30
|
-
export declare function spacedWords(text: string): [
|
|
31
|
-
|
|
31
|
+
export declare function spacedWords(text: string): SplitTuple[];
|
|
32
|
+
/**
|
|
33
|
+
* Splits a string into pairs of `[delimiterRun, token]`, preserving contiguous
|
|
34
|
+
* delimiter runs.
|
|
35
|
+
*
|
|
36
|
+
* @param {string} text - The input string to split.
|
|
37
|
+
* @param {(char: string, index: number, text: string) => boolean} isDelimiter
|
|
38
|
+
* Predicate to determine whether a character is a delimiter.
|
|
39
|
+
* @returns {[string, string][]} Array of tuples: `[delimiterRun, token]`.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```ts
|
|
43
|
+
* // Split on spaces and punctuation
|
|
44
|
+
* const isDelim = (ch) => ch === ' ' || ch === '-' || ch === '!';
|
|
45
|
+
*
|
|
46
|
+
* splitRuns('hello world', isDelim);
|
|
47
|
+
* [
|
|
48
|
+
* ["", "hello"],
|
|
49
|
+
* [" ", "world"],
|
|
50
|
+
* ]
|
|
51
|
+
*
|
|
52
|
+
* splitRuns('hello world!', isDelim);
|
|
53
|
+
* [
|
|
54
|
+
* ["", "hello"],
|
|
55
|
+
* [" ", "world"],
|
|
56
|
+
* ["!", ""]
|
|
57
|
+
* ]
|
|
58
|
+
*
|
|
59
|
+
* splitRuns('- hello world!', isDelim);
|
|
60
|
+
* [
|
|
61
|
+
* ["- ", "hello"],
|
|
62
|
+
* [" ", "world"],
|
|
63
|
+
* ["!", ""]
|
|
64
|
+
* ]
|
|
65
|
+
* ```
|
|
66
|
+
* */
|
|
67
|
+
export declare function splitRuns(text: string, isDelimiter: (char: string, index?: number, text?: string) => boolean): SplitTuple[];
|
|
32
68
|
export declare function isUpperCase(str: string): boolean;
|
|
69
|
+
export declare const isWhitespace: (char: string) => boolean;
|
|
70
|
+
export declare function isPunctuation(char: string): boolean;
|
|
71
|
+
export declare function isNumber(char: string): boolean;
|
|
33
72
|
export type TemplateExpression = string | number | Array<string | number>;
|
|
73
|
+
export {};
|
|
34
74
|
//# sourceMappingURL=strings.d.ts.map
|
package/dist/strings.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../src/strings.ts"],"names":[],"mappings":"AAAA,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAO3C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,GAAG,WAAW,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAS7G;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../src/strings.ts"],"names":[],"mappings":"AAAA,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAO3C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,GAAG,WAAW,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAS7G;AAED,KAAK,UAAU,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAExD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,CAEtD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkCK;AAEL,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,OAAO,GAAG,UAAU,EAAE,CAgC3H;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,OAE3C,CAAC;AAEF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE9C;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC"}
|
package/dist/strings.js
CHANGED
|
@@ -4,7 +4,10 @@ exports.isWhitespace = void 0;
|
|
|
4
4
|
exports.isJson = isJson;
|
|
5
5
|
exports.templateToString = templateToString;
|
|
6
6
|
exports.spacedWords = spacedWords;
|
|
7
|
+
exports.splitRuns = splitRuns;
|
|
7
8
|
exports.isUpperCase = isUpperCase;
|
|
9
|
+
exports.isPunctuation = isPunctuation;
|
|
10
|
+
exports.isNumber = isNumber;
|
|
8
11
|
function isJson(str) {
|
|
9
12
|
try {
|
|
10
13
|
JSON.parse(str);
|
|
@@ -50,31 +53,83 @@ function templateToString(template, ...expressions) {
|
|
|
50
53
|
* @returns [[whitespace, word], ...]
|
|
51
54
|
*/
|
|
52
55
|
function spacedWords(text) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
56
|
+
return splitRuns(text, exports.isWhitespace);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Splits a string into pairs of `[delimiterRun, token]`, preserving contiguous
|
|
60
|
+
* delimiter runs.
|
|
61
|
+
*
|
|
62
|
+
* @param {string} text - The input string to split.
|
|
63
|
+
* @param {(char: string, index: number, text: string) => boolean} isDelimiter
|
|
64
|
+
* Predicate to determine whether a character is a delimiter.
|
|
65
|
+
* @returns {[string, string][]} Array of tuples: `[delimiterRun, token]`.
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```ts
|
|
69
|
+
* // Split on spaces and punctuation
|
|
70
|
+
* const isDelim = (ch) => ch === ' ' || ch === '-' || ch === '!';
|
|
71
|
+
*
|
|
72
|
+
* splitRuns('hello world', isDelim);
|
|
73
|
+
* [
|
|
74
|
+
* ["", "hello"],
|
|
75
|
+
* [" ", "world"],
|
|
76
|
+
* ]
|
|
77
|
+
*
|
|
78
|
+
* splitRuns('hello world!', isDelim);
|
|
79
|
+
* [
|
|
80
|
+
* ["", "hello"],
|
|
81
|
+
* [" ", "world"],
|
|
82
|
+
* ["!", ""]
|
|
83
|
+
* ]
|
|
84
|
+
*
|
|
85
|
+
* splitRuns('- hello world!', isDelim);
|
|
86
|
+
* [
|
|
87
|
+
* ["- ", "hello"],
|
|
88
|
+
* [" ", "world"],
|
|
89
|
+
* ["!", ""]
|
|
90
|
+
* ]
|
|
91
|
+
* ```
|
|
92
|
+
* */
|
|
93
|
+
function splitRuns(text, isDelimiter) {
|
|
94
|
+
const result = [];
|
|
95
|
+
if (!text)
|
|
96
|
+
return result;
|
|
97
|
+
let inDelimiter = null;
|
|
98
|
+
const delimiterBuf = [];
|
|
99
|
+
const wordBuf = [];
|
|
100
|
+
const flush = () => {
|
|
101
|
+
result.push([delimiterBuf.join(''), wordBuf.join('')]);
|
|
102
|
+
delimiterBuf.length = 0;
|
|
103
|
+
wordBuf.length = 0;
|
|
104
|
+
};
|
|
105
|
+
for (let i = 0; i < text.length; i++) {
|
|
106
|
+
const ch = text[i];
|
|
107
|
+
if (isDelimiter(ch, i, text)) {
|
|
108
|
+
// entering a delimiter run after a word => flush the word+match pair
|
|
109
|
+
if (inDelimiter === false)
|
|
110
|
+
flush();
|
|
111
|
+
delimiterBuf.push(ch);
|
|
112
|
+
inDelimiter = true;
|
|
66
113
|
continue;
|
|
67
114
|
}
|
|
68
|
-
|
|
69
|
-
|
|
115
|
+
wordBuf.push(ch);
|
|
116
|
+
inDelimiter = false;
|
|
70
117
|
}
|
|
71
|
-
|
|
118
|
+
// flush trailing tuple (captures trailing delimiter run or last word)
|
|
119
|
+
flush();
|
|
120
|
+
return result;
|
|
121
|
+
}
|
|
122
|
+
function isUpperCase(str) {
|
|
123
|
+
return str === str.toUpperCase();
|
|
72
124
|
}
|
|
73
125
|
const isWhitespace = (char) => {
|
|
74
126
|
return /\s/.test(char);
|
|
75
127
|
};
|
|
76
128
|
exports.isWhitespace = isWhitespace;
|
|
77
|
-
function
|
|
78
|
-
return
|
|
129
|
+
function isPunctuation(char) {
|
|
130
|
+
return /[.,\/#!$%\^&\*;:{}=\-_`~()]/.test(char);
|
|
131
|
+
}
|
|
132
|
+
function isNumber(char) {
|
|
133
|
+
return /[0-9]/.test(char);
|
|
79
134
|
}
|
|
80
135
|
//# sourceMappingURL=strings.js.map
|
package/dist/strings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strings.js","sourceRoot":"","sources":["../src/strings.ts"],"names":[],"mappings":";;;AAAA,wBAOC;AAcD,4CASC;
|
|
1
|
+
{"version":3,"file":"strings.js","sourceRoot":"","sources":["../src/strings.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitbeater/ecma-utils",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.10.0",
|
|
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"
|