@mojojs/core 0.18.0 → 0.19.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/app.d.ts +117 -4
- package/lib/app.js +105 -8
- package/lib/app.js.map +1 -1
- package/lib/body/params.d.ts +6 -0
- package/lib/body/params.js +6 -0
- package/lib/body/params.js.map +1 -1
- package/lib/body.d.ts +48 -0
- package/lib/body.js +45 -0
- package/lib/body.js.map +1 -1
- package/lib/cli/create-full-app.d.ts +3 -0
- package/lib/cli/create-full-app.js +3 -0
- package/lib/cli/create-full-app.js.map +1 -1
- package/lib/cli/create-lite-app.d.ts +3 -0
- package/lib/cli/create-lite-app.js +3 -0
- package/lib/cli/create-lite-app.js.map +1 -1
- package/lib/cli/eval.d.ts +3 -0
- package/lib/cli/eval.js +3 -0
- package/lib/cli/eval.js.map +1 -1
- package/lib/cli/get.d.ts +3 -0
- package/lib/cli/get.js +3 -0
- package/lib/cli/get.js.map +1 -1
- package/lib/cli/repl.d.ts +3 -0
- package/lib/cli/repl.js +3 -0
- package/lib/cli/repl.js.map +1 -1
- package/lib/cli/routes.d.ts +3 -0
- package/lib/cli/routes.js +3 -0
- package/lib/cli/routes.js.map +1 -1
- package/lib/cli/server.d.ts +3 -0
- package/lib/cli/server.js +3 -0
- package/lib/cli/server.js.map +1 -1
- package/lib/cli/version.d.ts +3 -0
- package/lib/cli/version.js +3 -0
- package/lib/cli/version.js.map +1 -1
- package/lib/cli.d.ts +15 -0
- package/lib/cli.js +15 -0
- package/lib/cli.js.map +1 -1
- package/lib/context.d.ts +99 -0
- package/lib/context.js +84 -0
- package/lib/context.js.map +1 -1
- package/lib/core.d.ts +3 -0
- package/lib/core.js +3 -0
- package/lib/core.js.map +1 -1
- package/lib/hooks.d.ts +9 -0
- package/lib/hooks.js +9 -0
- package/lib/hooks.js.map +1 -1
- package/lib/logger.d.ts +69 -0
- package/lib/logger.js +63 -0
- package/lib/logger.js.map +1 -1
- package/lib/mime.d.ts +14 -0
- package/lib/mime.js +39 -9
- package/lib/mime.js.map +1 -1
- package/lib/mock/request.d.ts +3 -0
- package/lib/mock/request.js +3 -0
- package/lib/mock/request.js.map +1 -1
- package/lib/mock/response.d.ts +3 -0
- package/lib/mock/response.js +3 -0
- package/lib/mock/response.js.map +1 -1
- package/lib/plugins/default-helpers.d.ts +5 -0
- package/lib/plugins/default-helpers.js +18 -0
- package/lib/plugins/default-helpers.js.map +1 -0
- package/lib/plugins/exception-helpers.d.ts +3 -0
- package/lib/plugins/exception-helpers.js +3 -0
- package/lib/plugins/exception-helpers.js.map +1 -1
- package/lib/plugins/header-conditions.d.ts +3 -0
- package/lib/plugins/header-conditions.js +3 -0
- package/lib/plugins/header-conditions.js.map +1 -1
- package/lib/plugins/json-config.d.ts +3 -0
- package/lib/plugins/json-config.js +3 -0
- package/lib/plugins/json-config.js.map +1 -1
- package/lib/plugins/mt-engine.d.ts +3 -0
- package/lib/plugins/mt-engine.js +4 -1
- package/lib/plugins/mt-engine.js.map +1 -1
- package/lib/plugins/view-helpers.d.ts +3 -0
- package/lib/plugins/view-helpers.js +3 -12
- package/lib/plugins/view-helpers.js.map +1 -1
- package/lib/plugins/yaml-config.d.ts +3 -0
- package/lib/plugins/yaml-config.js +3 -0
- package/lib/plugins/yaml-config.js.map +1 -1
- package/lib/renderer.d.ts +38 -0
- package/lib/renderer.js +38 -0
- package/lib/renderer.js.map +1 -1
- package/lib/router/pattern.d.ts +33 -0
- package/lib/router/pattern.js +24 -0
- package/lib/router/pattern.js.map +1 -1
- package/lib/router/plan.d.ts +15 -0
- package/lib/router/plan.js +15 -0
- package/lib/router/plan.js.map +1 -1
- package/lib/router/route.d.ts +83 -0
- package/lib/router/route.js +83 -0
- package/lib/router/route.js.map +1 -1
- package/lib/router.d.ts +39 -3
- package/lib/router.js +47 -10
- package/lib/router.js.map +1 -1
- package/lib/server/cookie.d.ts +6 -0
- package/lib/server/cookie.js +6 -0
- package/lib/server/cookie.js.map +1 -1
- package/lib/server.d.ts +21 -0
- package/lib/server.js +15 -1
- package/lib/server.js.map +1 -1
- package/lib/session.d.ts +35 -0
- package/lib/session.js +35 -0
- package/lib/session.js.map +1 -1
- package/lib/static.d.ts +22 -0
- package/lib/static.js +22 -0
- package/lib/static.js.map +1 -1
- package/lib/user-agent/cookie-jar.d.ts +12 -0
- package/lib/user-agent/cookie-jar.js +12 -0
- package/lib/user-agent/cookie-jar.js.map +1 -1
- package/lib/user-agent/mock.d.ts +15 -0
- package/lib/user-agent/mock.js +15 -0
- package/lib/user-agent/mock.js.map +1 -1
- package/lib/user-agent/response.d.ts +27 -0
- package/lib/user-agent/response.js +27 -0
- package/lib/user-agent/response.js.map +1 -1
- package/lib/user-agent/test.d.ts +115 -2
- package/lib/user-agent/test.js +123 -10
- package/lib/user-agent/test.js.map +1 -1
- package/lib/user-agent/transport/http.d.ts +12 -0
- package/lib/user-agent/transport/http.js +12 -0
- package/lib/user-agent/transport/http.js.map +1 -1
- package/lib/user-agent/transport/https.d.ts +3 -0
- package/lib/user-agent/transport/https.js +3 -0
- package/lib/user-agent/transport/https.js.map +1 -1
- package/lib/user-agent/transport/ws.d.ts +6 -0
- package/lib/user-agent/transport/ws.js +6 -0
- package/lib/user-agent/transport/ws.js.map +1 -1
- package/lib/util.d.ts +31 -1
- package/lib/util.js +30 -0
- package/lib/util.js.map +1 -1
- package/lib/validator/result.d.ts +9 -0
- package/lib/validator/result.js +3 -0
- package/lib/validator/result.js.map +1 -1
- package/lib/validator.d.ts +9 -0
- package/lib/validator.js +9 -0
- package/lib/validator.js.map +1 -1
- package/lib/websocket.d.ts +18 -0
- package/lib/websocket.js +12 -0
- package/lib/websocket.js.map +1 -1
- package/package.json +3 -3
package/lib/user-agent/test.js
CHANGED
|
@@ -5,9 +5,15 @@ import { MockUserAgent } from './mock.js';
|
|
|
5
5
|
import DOM from '@mojojs/dom';
|
|
6
6
|
import yaml from 'js-yaml';
|
|
7
7
|
import StackUtils from 'stack-utils';
|
|
8
|
+
/**
|
|
9
|
+
* Test user agent class.
|
|
10
|
+
*/
|
|
8
11
|
export class TestUserAgent extends MockUserAgent {
|
|
9
12
|
constructor(options = {}) {
|
|
10
13
|
super(options);
|
|
14
|
+
/**
|
|
15
|
+
* Current HTTP response content.
|
|
16
|
+
*/
|
|
11
17
|
this.body = Buffer.from('');
|
|
12
18
|
this._assert = undefined;
|
|
13
19
|
this._dom = undefined;
|
|
@@ -19,85 +25,146 @@ export class TestUserAgent extends MockUserAgent {
|
|
|
19
25
|
if (options.tap !== undefined)
|
|
20
26
|
this._prepareTap(options.tap);
|
|
21
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Delegate assertion to test framework currently in use.
|
|
30
|
+
*/
|
|
22
31
|
assert(name, args, msg, skip) {
|
|
23
32
|
const test = this._assert ?? assert;
|
|
24
33
|
test[name](...args, msg, { stack: this._stack.captureString(10, skip) });
|
|
25
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Check response content for exact match.
|
|
37
|
+
*/
|
|
26
38
|
bodyIs(body) {
|
|
27
39
|
this.assert('equal', [this.body.toString(), body], 'body is equal', this.bodyIs);
|
|
28
40
|
return this;
|
|
29
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Opposite of `bodyIs`.
|
|
44
|
+
*/
|
|
30
45
|
bodyIsnt(body) {
|
|
31
46
|
this.assert('not', [this.body.toString(), body], 'body is not equal', this.bodyIsnt);
|
|
32
47
|
return this;
|
|
33
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Check response content for similar match.
|
|
51
|
+
*/
|
|
34
52
|
bodyLike(regex) {
|
|
35
53
|
this.assert('match', [this.body.toString(), regex], 'body is similar', this.bodyLike);
|
|
36
54
|
return this;
|
|
37
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* Opposite of `bodyLike`.
|
|
58
|
+
*/
|
|
38
59
|
bodyUnlike(regex) {
|
|
39
60
|
this.assert('notMatch', [this.body.toString(), regex], 'body is not similar', this.bodyUnlike);
|
|
40
61
|
return this;
|
|
41
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Close WebSocket connection gracefully.
|
|
65
|
+
*/
|
|
42
66
|
async closeOk(code, reason) {
|
|
43
67
|
this.ws.close(code, reason);
|
|
44
68
|
await this._waitFinished();
|
|
45
69
|
this.assert('ok', [true], 'closed WebSocket', this.closeOk);
|
|
46
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* Wait for WebSocket connection to be closed gracefully and check status.
|
|
73
|
+
*/
|
|
47
74
|
async closedOk(code) {
|
|
48
75
|
await this._waitFinished();
|
|
49
76
|
const finished = this._finished == null ? null : this._finished[0];
|
|
50
77
|
this.assert('equal', [finished, code], `WebSocket closed with status ${code}`, this.closedOk);
|
|
51
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* Perform a `DELETE` request and check for transport errors.
|
|
81
|
+
*/
|
|
52
82
|
async deleteOk(url, options) {
|
|
53
83
|
return await this._requestOk(this.deleteOk, 'DELETE', url, options);
|
|
54
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* Checks for existence of the CSS selectors first matching HTML/XML element.
|
|
87
|
+
*/
|
|
55
88
|
elementExists(selector) {
|
|
56
89
|
const elements = this._html.find(selector);
|
|
57
90
|
this.assert('ok', [elements.length > 0], `element for selector "${selector}" exists`, this.elementExists);
|
|
58
91
|
return this;
|
|
59
92
|
}
|
|
93
|
+
/**
|
|
94
|
+
* Opposite of `elementExists`.
|
|
95
|
+
*/
|
|
60
96
|
elementExistsNot(selector) {
|
|
61
97
|
const elements = this._html.find(selector);
|
|
62
98
|
this.assert('ok', [elements.length === 0], `no element for selector "${selector}"`, this.elementExistsNot);
|
|
63
99
|
return this;
|
|
64
100
|
}
|
|
101
|
+
/**
|
|
102
|
+
* Perform a `GET` request and check for transport errors.
|
|
103
|
+
*/
|
|
65
104
|
async getOk(url, options) {
|
|
66
105
|
return await this._requestOk(this.getOk, 'GET', url, options);
|
|
67
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* Perform a `HEAD` request and check for transport errors.
|
|
109
|
+
*/
|
|
68
110
|
async headOk(url, options) {
|
|
69
111
|
return await this._requestOk(this.headOk, 'HEAD', url, options);
|
|
70
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* Check if response header exists.
|
|
115
|
+
*/
|
|
71
116
|
headerExists(name) {
|
|
72
117
|
this.assert('ok', [this.res.get(name) !== undefined], `header "${name}" exists`, this.headerExists);
|
|
73
118
|
return this;
|
|
74
119
|
}
|
|
120
|
+
/**
|
|
121
|
+
* Opposite of `headerExists`.
|
|
122
|
+
*/
|
|
75
123
|
headerExistsNot(name) {
|
|
76
124
|
this.assert('notOk', [this.res.get(name) !== undefined], `no "${name}" header`, this.headerExistsNot);
|
|
77
125
|
return this;
|
|
78
126
|
}
|
|
127
|
+
/**
|
|
128
|
+
* Check response header for exact match.
|
|
129
|
+
*/
|
|
79
130
|
headerIs(name, value) {
|
|
80
131
|
this.assert('equal', [this.res.get(name), value], `${name}: ${value}`, this.headerIs);
|
|
81
132
|
return this;
|
|
82
133
|
}
|
|
134
|
+
/**
|
|
135
|
+
* Opposite of `headerIs`.
|
|
136
|
+
*/
|
|
83
137
|
headerIsnt(name, value) {
|
|
84
138
|
this.assert('not', [this.res.get(name), value], `not ${name}: ${value}`, this.headerIsnt);
|
|
85
139
|
return this;
|
|
86
140
|
}
|
|
141
|
+
/**
|
|
142
|
+
* Check response header for similar match.
|
|
143
|
+
*/
|
|
87
144
|
headerLike(name, regex) {
|
|
88
145
|
this.assert('match', [this.res.get(name), regex], `${name} is similar`, this.headerLike);
|
|
89
146
|
return this;
|
|
90
147
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
return this;
|
|
95
|
-
}
|
|
148
|
+
/**
|
|
149
|
+
* Check if JSON response contains a value that can be identified using the given JSON Pointer.
|
|
150
|
+
*/
|
|
96
151
|
jsonHas(pointer) {
|
|
97
152
|
const has = jsonPointer(JSON.parse(this.body.toString()), pointer) !== undefined;
|
|
98
153
|
this.assert('ok', [has], `has value for JSON Pointer "${pointer}" (JSON)`, this.jsonHas);
|
|
99
154
|
return this;
|
|
100
155
|
}
|
|
156
|
+
/**
|
|
157
|
+
* Check the value extracted from JSON response using the given JSON Pointerr, which defaults to the root value if it
|
|
158
|
+
* is omitted.
|
|
159
|
+
*/
|
|
160
|
+
jsonIs(value, pointer = '') {
|
|
161
|
+
const expected = jsonPointer(JSON.parse(this.body.toString()), pointer);
|
|
162
|
+
this.assert('same', [expected, value], `exact match for JSON Pointer "${pointer}" (JSON)`, this.jsonIs);
|
|
163
|
+
return this;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Wait for next WebSocket message to arrive.
|
|
167
|
+
*/
|
|
101
168
|
async messageOk() {
|
|
102
169
|
if (this._messages === undefined)
|
|
103
170
|
throw new Error('No active WebSocket connection');
|
|
@@ -105,48 +172,84 @@ export class TestUserAgent extends MockUserAgent {
|
|
|
105
172
|
this.assert('ok', [true], 'message received', this.messageOk);
|
|
106
173
|
return message;
|
|
107
174
|
}
|
|
175
|
+
/**
|
|
176
|
+
* Create a new test user agent.
|
|
177
|
+
*/
|
|
108
178
|
static async newTestUserAgent(app, options) {
|
|
109
179
|
app.exceptionFormat = 'txt';
|
|
110
180
|
return await new TestUserAgent(options).start(app);
|
|
111
181
|
}
|
|
182
|
+
/**
|
|
183
|
+
* Perform a `OPTIONS` request and check for transport errors.
|
|
184
|
+
*/
|
|
112
185
|
async optionsOk(url, options) {
|
|
113
186
|
return await this._requestOk(this.optionsOk, 'OPTIONS', url, options);
|
|
114
187
|
}
|
|
188
|
+
/**
|
|
189
|
+
* Perform a `PATCH` request and check for transport errors.
|
|
190
|
+
*/
|
|
115
191
|
async patchOk(url, options) {
|
|
116
192
|
return await this._requestOk(this.patchOk, 'PATCH', url, options);
|
|
117
193
|
}
|
|
194
|
+
/**
|
|
195
|
+
* Perform a `POST` request and check for transport errors.
|
|
196
|
+
*/
|
|
118
197
|
async postOk(url, options) {
|
|
119
198
|
return await this._requestOk(this.postOk, 'POST', url, options);
|
|
120
199
|
}
|
|
200
|
+
/**
|
|
201
|
+
* Perform a `PUT` request and check for transport errors.
|
|
202
|
+
*/
|
|
121
203
|
async putOk(url, options) {
|
|
122
204
|
return await this._requestOk(this.putOk, 'PUT', url, options);
|
|
123
205
|
}
|
|
206
|
+
/**
|
|
207
|
+
* Current HTTP response.
|
|
208
|
+
*/
|
|
124
209
|
get res() {
|
|
125
210
|
const res = this._res;
|
|
126
211
|
if (res === undefined)
|
|
127
212
|
throw new Error('No active HTTP response');
|
|
128
213
|
return res;
|
|
129
214
|
}
|
|
215
|
+
/**
|
|
216
|
+
* Send message or frame via WebSocket.
|
|
217
|
+
*/
|
|
130
218
|
async sendOk(message) {
|
|
131
219
|
await this.ws.send(message);
|
|
132
220
|
this.assert('ok', [true], 'send message', this.sendOk);
|
|
133
221
|
}
|
|
222
|
+
/**
|
|
223
|
+
* Check response status for exact match.
|
|
224
|
+
*/
|
|
134
225
|
statusIs(status) {
|
|
135
226
|
this.assert('equal', [this.res.status, status], `response status is ${status}`, this.statusIs);
|
|
136
227
|
return this;
|
|
137
228
|
}
|
|
229
|
+
/**
|
|
230
|
+
* Checks text content of the CSS selectors first matching HTML/XML element for similar match.
|
|
231
|
+
*/
|
|
138
232
|
textLike(selector, regex) {
|
|
139
233
|
this.assert('match', [this._html.at(selector)?.text() ?? '', regex], `similar match for selector "${selector}"`, this.textLike);
|
|
140
234
|
return this;
|
|
141
235
|
}
|
|
236
|
+
/**
|
|
237
|
+
* Check response `Content-Type` header for exact match.
|
|
238
|
+
*/
|
|
142
239
|
typeIs(value) {
|
|
143
240
|
this.assert('equal', [this.res.type, value], `Content-Type: ${value}`, this.typeIs);
|
|
144
241
|
return this;
|
|
145
242
|
}
|
|
243
|
+
/**
|
|
244
|
+
* Check response `Content-Type` header for similar match.
|
|
245
|
+
*/
|
|
146
246
|
typeLike(regex) {
|
|
147
247
|
this.assert('match', [this.res.type, regex], 'Content-Type is similar', this.typeLike);
|
|
148
248
|
return this;
|
|
149
249
|
}
|
|
250
|
+
/**
|
|
251
|
+
* Open a WebSocket connection with transparent handshake.
|
|
252
|
+
*/
|
|
150
253
|
async websocketOk(url, options) {
|
|
151
254
|
const ws = (this._ws = await this.websocket(url, options));
|
|
152
255
|
this._res = ws.handshake ?? undefined;
|
|
@@ -155,22 +258,32 @@ export class TestUserAgent extends MockUserAgent {
|
|
|
155
258
|
this._messages = on(this.ws, 'message');
|
|
156
259
|
this.assert('ok', [true], `WebSocket handshake with ${url.toString()}`, this.websocketOk);
|
|
157
260
|
}
|
|
261
|
+
/**
|
|
262
|
+
* Active WebSocket connection.
|
|
263
|
+
*/
|
|
158
264
|
get ws() {
|
|
159
265
|
const ws = this._ws;
|
|
160
266
|
if (ws === undefined)
|
|
161
267
|
throw new Error('No active WebSocket connection');
|
|
162
268
|
return ws;
|
|
163
269
|
}
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
return this;
|
|
168
|
-
}
|
|
270
|
+
/**
|
|
271
|
+
* Check if YAML response contains a value that can be identified using the given JSON Pointer.
|
|
272
|
+
*/
|
|
169
273
|
yamlHas(pointer) {
|
|
170
274
|
const has = jsonPointer(yaml.load(this.body.toString()), pointer) !== undefined;
|
|
171
275
|
this.assert('ok', [has], `has value for JSON Pointer "${pointer}" (YAML)`, this.jsonHas);
|
|
172
276
|
return this;
|
|
173
277
|
}
|
|
278
|
+
/**
|
|
279
|
+
* Check the value extracted from YAML response using the given JSON Pointerr, which defaults to the root value if it
|
|
280
|
+
* is omitted.
|
|
281
|
+
*/
|
|
282
|
+
yamlIs(value, pointer = '') {
|
|
283
|
+
const expected = jsonPointer(yaml.load(this.body.toString()), pointer);
|
|
284
|
+
this.assert('same', [expected, value], `exact match for JSON Pointer "${pointer}" (YAML)`, this.yamlIs);
|
|
285
|
+
return this;
|
|
286
|
+
}
|
|
174
287
|
get _html() {
|
|
175
288
|
if (this._dom === undefined)
|
|
176
289
|
this._dom = new DOM((this.body ?? '').toString());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/user-agent/test.ts"],"names":[],"mappings":"AAKA,OAAO,MAAM,MAAM,eAAe,CAAC;AACnC,OAAO,EAAC,EAAE,EAAC,MAAM,QAAQ,CAAC;AAC1B,OAAO,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AACvC,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAC;AACxC,OAAO,GAAG,MAAM,aAAa,CAAC;AAC9B,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,UAAU,MAAM,aAAa,CAAC;AAIrC,MAAM,OAAO,aAAc,SAAQ,aAAa;
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/user-agent/test.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,21 @@ import type { UserAgentRequestOptions } from '../../types.js';
|
|
|
3
3
|
import type { URL } from 'url';
|
|
4
4
|
import http from 'http';
|
|
5
5
|
import { UserAgentResponse } from '../response.js';
|
|
6
|
+
/**
|
|
7
|
+
* HTTP transport class.
|
|
8
|
+
*/
|
|
6
9
|
export declare class HTTPTransport {
|
|
10
|
+
/**
|
|
11
|
+
* HTTP agent.
|
|
12
|
+
*/
|
|
7
13
|
agent: http.Agent;
|
|
14
|
+
/**
|
|
15
|
+
* Destroy active keep-alive connections.
|
|
16
|
+
*/
|
|
8
17
|
destroy(): void;
|
|
18
|
+
/**
|
|
19
|
+
* Perform HTTP request.
|
|
20
|
+
*/
|
|
9
21
|
request(config: UserAgentRequestOptions): Promise<UserAgentResponse>;
|
|
10
22
|
_prepareOptions(config: UserAgentRequestOptions): http.RequestOptions;
|
|
11
23
|
_sendRequest(url: URL, options: http.RequestOptions, cb: (res: http.IncomingMessage) => void): http.ClientRequest;
|
|
@@ -1,13 +1,25 @@
|
|
|
1
1
|
import http from 'http';
|
|
2
2
|
import Stream from 'stream';
|
|
3
3
|
import { UserAgentResponse } from '../response.js';
|
|
4
|
+
/**
|
|
5
|
+
* HTTP transport class.
|
|
6
|
+
*/
|
|
4
7
|
export class HTTPTransport {
|
|
5
8
|
constructor() {
|
|
9
|
+
/**
|
|
10
|
+
* HTTP agent.
|
|
11
|
+
*/
|
|
6
12
|
this.agent = new http.Agent();
|
|
7
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Destroy active keep-alive connections.
|
|
16
|
+
*/
|
|
8
17
|
destroy() {
|
|
9
18
|
this.agent.destroy();
|
|
10
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Perform HTTP request.
|
|
22
|
+
*/
|
|
11
23
|
async request(config) {
|
|
12
24
|
const options = this._prepareOptions(config);
|
|
13
25
|
return await new Promise((resolve, reject) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/user-agent/transport/http.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAEjD,MAAM,OAAO,aAAa;IAA1B;QACE,UAAK,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/user-agent/transport/http.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAEjD;;GAEG;AACH,MAAM,OAAO,aAAa;IAA1B;QACE;;WAEG;QACH,UAAK,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;IAyC3B,CAAC;IAvCC;;OAEG;IACH,OAAO;QACL,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,MAA+B;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAE7C,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAU,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACtG,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC1B,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAE1B,IAAI,MAAM,CAAC,IAAI,YAAY,MAAM,EAAE;gBACjC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aACtB;iBAAM,IAAI,MAAM,CAAC,IAAI,YAAY,MAAM,EAAE;gBACxC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACvB;iBAAM;gBACL,GAAG,CAAC,GAAG,EAAE,CAAC;aACX;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,MAA+B;QAC7C,MAAM,OAAO,GAAwB,EAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,EAAC,CAAC;QAC5G,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC7D,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5D,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QAC1D,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,YAAY,CAAC,GAAQ,EAAE,OAA4B,EAAE,EAAuC;QAC1F,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;CACF"}
|
|
@@ -4,6 +4,9 @@ import type http from 'http';
|
|
|
4
4
|
import type { URL } from 'url';
|
|
5
5
|
import https from 'https';
|
|
6
6
|
import { HTTPTransport } from './http.js';
|
|
7
|
+
/**
|
|
8
|
+
* HTTPS transport class.
|
|
9
|
+
*/
|
|
7
10
|
export declare class HTTPSTransport extends HTTPTransport {
|
|
8
11
|
agent: https.Agent;
|
|
9
12
|
_prepareOptions(config: UserAgentRequestOptions): https.RequestOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"https.js","sourceRoot":"","sources":["../../../src/user-agent/transport/https.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAC;AAExC,MAAM,OAAO,cAAe,SAAQ,aAAa;IAAjD;;QACE,UAAK,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;IAa5B,CAAC;IAXC,eAAe,CAAC,MAA+B;QAC7C,MAAM,OAAO,GAAyB,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACpE,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS;YAAE,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACpD,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,CAAC,kBAAkB,GAAG,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC;QACzF,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;YAAE,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAC5E,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,YAAY,CAAC,GAAQ,EAAE,OAA6B,EAAE,EAAuC;QAC3F,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"https.js","sourceRoot":"","sources":["../../../src/user-agent/transport/https.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAC;AAExC;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,aAAa;IAAjD;;QACE,UAAK,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;IAa5B,CAAC;IAXC,eAAe,CAAC,MAA+B;QAC7C,MAAM,OAAO,GAAyB,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACpE,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS;YAAE,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACpD,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,CAAC,kBAAkB,GAAG,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC;QACzF,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;YAAE,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAC5E,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,YAAY,CAAC,GAAQ,EAAE,OAA6B,EAAE,EAAuC;QAC3F,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;CACF"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import type { UserAgentWebSocketOptions } from '../../types.js';
|
|
2
2
|
import { WebSocket } from '../../websocket.js';
|
|
3
|
+
/**
|
|
4
|
+
* WebSocket transport class.
|
|
5
|
+
*/
|
|
3
6
|
export declare class WSTransport {
|
|
7
|
+
/**
|
|
8
|
+
* Establish WebSocket connection.
|
|
9
|
+
*/
|
|
4
10
|
connect(config: UserAgentWebSocketOptions): Promise<WebSocket>;
|
|
5
11
|
}
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import { WebSocket } from '../../websocket.js';
|
|
2
2
|
import { UserAgentResponse } from '../response.js';
|
|
3
3
|
import WS from 'ws';
|
|
4
|
+
/**
|
|
5
|
+
* WebSocket transport class.
|
|
6
|
+
*/
|
|
4
7
|
export class WSTransport {
|
|
8
|
+
/**
|
|
9
|
+
* Establish WebSocket connection.
|
|
10
|
+
*/
|
|
5
11
|
async connect(config) {
|
|
6
12
|
const ws = new WS(config.url ?? '', config.protocols, { headers: config.headers });
|
|
7
13
|
return await new Promise((resolve, reject) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws.js","sourceRoot":"","sources":["../../../src/user-agent/transport/ws.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAC,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,OAAO,WAAW;IACtB,KAAK,CAAC,OAAO,CAAC,MAAiC;QAC7C,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE,EAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAC,CAAC,CAAC;QACjF,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,SAA4B,CAAC;YACjC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,SAAS,GAAG,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClE,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAEvB,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;gBACjB,8FAA8F;gBAC9F,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;gBACpC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,cAAc,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBACtC,OAAO,CAAC,IAAI,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,EAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,IAAI,KAAK,EAAC,CAAC,CAAC,CAAC;YAC1E,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"ws.js","sourceRoot":"","sources":["../../../src/user-agent/transport/ws.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAC,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB;;GAEG;AACH,MAAM,OAAO,WAAW;IACtB;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,MAAiC;QAC7C,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE,EAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAC,CAAC,CAAC;QACjF,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,SAA4B,CAAC;YACjC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,SAAS,GAAG,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClE,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAEvB,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;gBACjB,8FAA8F;gBAC9F,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;gBACpC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,cAAc,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBACtC,OAAO,CAAC,IAAI,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,EAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,IAAI,KAAK,EAAC,CAAC,CAAC,CAAC;YAC1E,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
package/lib/util.d.ts
CHANGED
|
@@ -2,16 +2,34 @@
|
|
|
2
2
|
import type { JSONValue } from './types.js';
|
|
3
3
|
import type { Mode } from 'fs';
|
|
4
4
|
import { setTimeout } from 'timers/promises';
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Capture STDOUT/STDERR output.
|
|
7
|
+
*/
|
|
8
|
+
export declare function captureOutput(fn: () => Promise<void> | void, options?: {
|
|
6
9
|
stderr?: boolean;
|
|
7
10
|
stdout?: boolean;
|
|
8
11
|
}): Promise<string | Buffer>;
|
|
12
|
+
/**
|
|
13
|
+
* Create directory for generator commands.
|
|
14
|
+
*/
|
|
9
15
|
export declare function cliCreateDir(path: string): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Create file for generator commands.
|
|
18
|
+
*/
|
|
10
19
|
export declare function cliCreateFile(path: string, template: string, values?: Record<string, any>, options?: {
|
|
11
20
|
chmod?: Mode;
|
|
12
21
|
}): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Fix package.json file for generator commands.
|
|
24
|
+
*/
|
|
13
25
|
export declare function cliFixPackage(): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Decode URI component, but do not throw an exception if it fails.
|
|
28
|
+
*/
|
|
14
29
|
export declare function decodeURIComponentSafe(value: string): string | null;
|
|
30
|
+
/**
|
|
31
|
+
* Generate exception context.
|
|
32
|
+
*/
|
|
15
33
|
export declare function exceptionContext(error: Error, options?: {
|
|
16
34
|
lines?: number;
|
|
17
35
|
}): Promise<{
|
|
@@ -23,7 +41,19 @@ export declare function exceptionContext(error: Error, options?: {
|
|
|
23
41
|
code: string;
|
|
24
42
|
}>;
|
|
25
43
|
} | null>;
|
|
44
|
+
/**
|
|
45
|
+
* JSON pointers.
|
|
46
|
+
*/
|
|
26
47
|
export declare function jsonPointer(value: JSONValue, pointer: string): JSONValue | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* Load modules.
|
|
50
|
+
*/
|
|
27
51
|
export declare function loadModules(dirs: string[]): Promise<Record<string, any>>;
|
|
52
|
+
/**
|
|
53
|
+
* Sleep asynchronously.
|
|
54
|
+
*/
|
|
28
55
|
export declare const sleep: typeof setTimeout;
|
|
56
|
+
/**
|
|
57
|
+
* Tablify data structure.
|
|
58
|
+
*/
|
|
29
59
|
export declare function tablify(rows?: string[][]): string;
|
package/lib/util.js
CHANGED
|
@@ -2,6 +2,9 @@ import { setTimeout } from 'timers/promises';
|
|
|
2
2
|
import Path from '@mojojs/path';
|
|
3
3
|
import Template from '@mojojs/template';
|
|
4
4
|
import chalk from 'chalk';
|
|
5
|
+
/**
|
|
6
|
+
* Capture STDOUT/STDERR output.
|
|
7
|
+
*/
|
|
5
8
|
export async function captureOutput(fn, options = {}) {
|
|
6
9
|
if (options.stdout === undefined)
|
|
7
10
|
options.stdout = true;
|
|
@@ -31,6 +34,9 @@ export async function captureOutput(fn, options = {}) {
|
|
|
31
34
|
}
|
|
32
35
|
return output.length > 0 && Buffer.isBuffer(output[0]) ? Buffer.concat(output) : output.join('');
|
|
33
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Create directory for generator commands.
|
|
39
|
+
*/
|
|
34
40
|
export async function cliCreateDir(path) {
|
|
35
41
|
const dir = new Path(process.cwd(), ...path.split('/'));
|
|
36
42
|
const stdout = process.stdout;
|
|
@@ -41,6 +47,9 @@ export async function cliCreateDir(path) {
|
|
|
41
47
|
stdout.write(chalk.green(' [mkdir]') + ` ${dir.toString()}\n`);
|
|
42
48
|
await dir.mkdir({ recursive: true });
|
|
43
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Create file for generator commands.
|
|
52
|
+
*/
|
|
44
53
|
export async function cliCreateFile(path, template, values = {}, options = {}) {
|
|
45
54
|
const file = new Path(process.cwd(), ...path.split('/'));
|
|
46
55
|
const stdout = process.stdout;
|
|
@@ -55,6 +64,9 @@ export async function cliCreateFile(path, template, values = {}, options = {}) {
|
|
|
55
64
|
await file.chmod(options.chmod);
|
|
56
65
|
}
|
|
57
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* Fix package.json file for generator commands.
|
|
69
|
+
*/
|
|
58
70
|
export async function cliFixPackage() {
|
|
59
71
|
const file = new Path(process.cwd(), 'package.json');
|
|
60
72
|
const stdout = process.stdout;
|
|
@@ -72,6 +84,9 @@ export async function cliFixPackage() {
|
|
|
72
84
|
stdout.write(chalk.green(' [fixed]') + ` ${file.toString()}\n`);
|
|
73
85
|
await file.writeFile(JSON.stringify(json, null, 2));
|
|
74
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* Decode URI component, but do not throw an exception if it fails.
|
|
89
|
+
*/
|
|
75
90
|
export function decodeURIComponentSafe(value) {
|
|
76
91
|
try {
|
|
77
92
|
return decodeURIComponent(value);
|
|
@@ -80,6 +95,9 @@ export function decodeURIComponentSafe(value) {
|
|
|
80
95
|
return null;
|
|
81
96
|
}
|
|
82
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* Generate exception context.
|
|
100
|
+
*/
|
|
83
101
|
export async function exceptionContext(error, options = {}) {
|
|
84
102
|
const stack = error.stack ?? '';
|
|
85
103
|
const match = stack.split('\n')[1].match(/^\s*at .+ \(([^)]+):(\d+):(\d+)\)\s*$/);
|
|
@@ -104,6 +122,9 @@ export async function exceptionContext(error, options = {}) {
|
|
|
104
122
|
}
|
|
105
123
|
return context;
|
|
106
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* JSON pointers.
|
|
127
|
+
*/
|
|
107
128
|
export function jsonPointer(value, pointer) {
|
|
108
129
|
if (pointer.startsWith('/') === false)
|
|
109
130
|
return pointer.length > 0 ? null : value;
|
|
@@ -122,6 +143,9 @@ export function jsonPointer(value, pointer) {
|
|
|
122
143
|
}
|
|
123
144
|
return data;
|
|
124
145
|
}
|
|
146
|
+
/**
|
|
147
|
+
* Load modules.
|
|
148
|
+
*/
|
|
125
149
|
export async function loadModules(dirs) {
|
|
126
150
|
const modules = {};
|
|
127
151
|
for (const dir of dirs.map(path => new Path(path))) {
|
|
@@ -141,7 +165,13 @@ export async function loadModules(dirs) {
|
|
|
141
165
|
}
|
|
142
166
|
return modules;
|
|
143
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* Sleep asynchronously.
|
|
170
|
+
*/
|
|
144
171
|
export const sleep = setTimeout;
|
|
172
|
+
/**
|
|
173
|
+
* Tablify data structure.
|
|
174
|
+
*/
|
|
145
175
|
export function tablify(rows = []) {
|
|
146
176
|
const spec = [];
|
|
147
177
|
const table = rows.map(row => {
|
package/lib/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,IAAI,MAAM,cAAc,CAAC;AAChC,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,IAAI,MAAM,cAAc,CAAC;AAChC,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,EAA8B,EAC9B,UAAgD,EAAE;IAElD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAExD,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;IACjC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;IAEjC,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE;QAC3B,MAAM,CAAC,KAAK,GAAG,CAAC,KAAiB,EAAE,EAAE;YACnC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;KACH;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE;QAC3B,MAAM,CAAC,KAAK,GAAG,CAAC,KAAiB,EAAE,EAAE;YACnC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;KACH;IAED,IAAI;QACF,MAAM,EAAE,EAAE,CAAC;KACZ;YAAS;QACR,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC;QAC3B,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC;KAC5B;IAED,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACnG,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAY;IAC7C,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,EAAE;QACjC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAChE,OAAO;KACR;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC/D,MAAM,GAAG,CAAC,KAAK,CAAC,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAY,EACZ,QAAgB,EAChB,SAA8B,EAAE,EAChC,UAA0B,EAAE;IAE5B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,EAAE;QAClC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC/D,OAAO;KACR;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAChE,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9D,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE;QAC/B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/F,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;KACjC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;IAErD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,KAAK,EAAE;QACnC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAChE,OAAO;KACR;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5D,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;QAC1B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACjE,OAAO;KACR;IAED,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;IACrB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAChE,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,IAAI;QACF,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;KAClC;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,IAAI,CAAC;KACb;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAY,EACZ,UAA4B,EAAE;IAE9B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAClF,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAE5E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAElC,MAAM,SAAS,GAAG,UAAU,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC;IACnE,MAAM,OAAO,GAAG,UAAU,GAAG,KAAK,CAAC;IAEnC,MAAM,MAAM,GAAuC,EAAE,CAAC;IACtD,MAAM,OAAO,GAAG,EAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC;IAC1E,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,EAAE;QACvD,WAAW,EAAE,CAAC;QACd,IAAI,WAAW,GAAG,SAAS;YAAE,SAAS;QACtC,IAAI,WAAW,GAAG,OAAO;YAAE,MAAM;QAEjC,MAAM,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;KAC7C;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAgB,EAAE,OAAe;IAC3D,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,KAAK;QAAE,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAEhF,IAAI,IAAI,GAAQ,KAAK,CAAC;IACtB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAEnE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE;YAC9E,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;SACxB;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;YAClE,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;SAClC;aAAM;YACL,OAAO,SAAS,CAAC;SAClB;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAc;IAC9C,MAAM,OAAO,GAAwB,EAAE,CAAC;IAExC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;QAClD,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,KAAK;YAAE,SAAS;QAC7C,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,EAAE;YACpD,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,KAAK;gBAAE,SAAS;YACxD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC1D,MAAM,IAAI,GAAG,GAAG;iBACb,QAAQ,CAAC,IAAI,CAAC;iBACd,OAAO,EAAE;iBACT,IAAI,CAAC,GAAG,CAAC;iBACT,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;SACzC;KACF;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,CAAC;AAEhC;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,OAAmB,EAAE;IAC3C,MAAM,IAAI,GAAa,EAAE,CAAC;IAE1B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QAC3B,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACxB,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC5C,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAAE,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;YACvD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACnH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACjC,CAAC"}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import type { ValidationError } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Validation result class.
|
|
4
|
+
*/
|
|
2
5
|
export declare class ValidatorResult {
|
|
6
|
+
/**
|
|
7
|
+
* Validation errors.
|
|
8
|
+
*/
|
|
3
9
|
errors: ValidationError[];
|
|
10
|
+
/**
|
|
11
|
+
* Validation result.
|
|
12
|
+
*/
|
|
4
13
|
isValid: boolean;
|
|
5
14
|
constructor(isValid: boolean, errors: ValidationError[]);
|
|
6
15
|
}
|