@segment/actions-core 2.0.3-next.0 → 2.1.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/cjs/create-request-client.d.ts +0 -3
- package/dist/cjs/create-request-client.js +0 -7
- package/dist/cjs/create-request-client.js.map +1 -1
- package/dist/cjs/create-test-event.js +1 -1
- package/dist/cjs/create-test-event.js.map +1 -1
- package/dist/cjs/create-test-integration.d.ts +0 -19
- package/dist/cjs/create-test-integration.js +0 -1
- package/dist/cjs/create-test-integration.js.map +1 -1
- package/dist/cjs/destination-kit/action.d.ts +7 -37
- package/dist/cjs/destination-kit/action.js +28 -52
- package/dist/cjs/destination-kit/action.js.map +1 -1
- package/dist/cjs/destination-kit/fields-to-jsonschema.js +80 -12
- package/dist/cjs/destination-kit/fields-to-jsonschema.js.map +1 -1
- package/dist/cjs/destination-kit/index.d.ts +0 -10
- package/dist/cjs/destination-kit/index.js +13 -8
- package/dist/cjs/destination-kit/index.js.map +1 -1
- package/dist/cjs/destination-kit/step.d.ts +0 -12
- package/dist/cjs/destination-kit/step.js +0 -7
- package/dist/cjs/destination-kit/step.js.map +1 -1
- package/dist/cjs/destination-kit/types.d.ts +31 -9
- package/dist/cjs/errors.d.ts +15 -5
- package/dist/cjs/errors.js +22 -8
- package/dist/cjs/errors.js.map +1 -1
- package/dist/cjs/fetch.js +0 -1
- package/dist/cjs/fetch.js.map +1 -1
- package/dist/cjs/get.d.ts +0 -4
- package/dist/cjs/get.js +1 -11
- package/dist/cjs/get.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/map-values.d.ts +1 -5
- package/dist/cjs/map-values.js +0 -5
- package/dist/cjs/map-values.js.map +1 -1
- package/dist/cjs/mapping-kit/index.d.ts +0 -6
- package/dist/cjs/mapping-kit/index.js +0 -87
- package/dist/cjs/mapping-kit/index.js.map +1 -1
- package/dist/cjs/mapping-kit/is-directive.js +0 -1
- package/dist/cjs/mapping-kit/is-directive.js.map +1 -1
- package/dist/cjs/mapping-kit/placeholders.d.ts +0 -3
- package/dist/cjs/mapping-kit/placeholders.js +0 -8
- package/dist/cjs/mapping-kit/placeholders.js.map +1 -1
- package/dist/cjs/mapping-kit/validate.js +0 -84
- package/dist/cjs/mapping-kit/validate.js.map +1 -1
- package/dist/cjs/middleware/after-response/prepare-headers.js +0 -3
- package/dist/cjs/middleware/after-response/prepare-headers.js.map +1 -1
- package/dist/cjs/middleware/after-response/prepare-response.js +0 -4
- package/dist/cjs/middleware/after-response/prepare-response.js.map +1 -1
- package/dist/cjs/omit.d.ts +0 -3
- package/dist/cjs/omit.js +0 -3
- package/dist/cjs/omit.js.map +1 -1
- package/dist/cjs/real-type-of.d.ts +0 -5
- package/dist/cjs/real-type-of.js +0 -5
- package/dist/cjs/real-type-of.js.map +1 -1
- package/dist/cjs/request-client.d.ts +0 -53
- package/dist/cjs/request-client.js +4 -48
- package/dist/cjs/request-client.js.map +1 -1
- package/dist/cjs/segment-event.d.ts +0 -40
- package/dist/cjs/time.d.ts +0 -6
- package/dist/cjs/time.js +0 -6
- package/dist/cjs/time.js.map +1 -1
- package/dist/cjs/types.d.ts +0 -4
- package/dist/esm/create-request-client.d.ts +0 -3
- package/dist/esm/create-request-client.js +0 -7
- package/dist/esm/create-request-client.js.map +1 -1
- package/dist/esm/create-test-event.js +1 -1
- package/dist/esm/create-test-event.js.map +1 -1
- package/dist/esm/create-test-integration.d.ts +0 -19
- package/dist/esm/create-test-integration.js +0 -1
- package/dist/esm/create-test-integration.js.map +1 -1
- package/dist/esm/destination-kit/action.d.ts +7 -37
- package/dist/esm/destination-kit/action.js +28 -52
- package/dist/esm/destination-kit/action.js.map +1 -1
- package/dist/esm/destination-kit/fields-to-jsonschema.js +80 -12
- package/dist/esm/destination-kit/fields-to-jsonschema.js.map +1 -1
- package/dist/esm/destination-kit/index.d.ts +0 -10
- package/dist/esm/destination-kit/index.js +12 -7
- package/dist/esm/destination-kit/index.js.map +1 -1
- package/dist/esm/destination-kit/step.d.ts +0 -12
- package/dist/esm/destination-kit/step.js +0 -7
- package/dist/esm/destination-kit/step.js.map +1 -1
- package/dist/esm/destination-kit/types.d.ts +31 -9
- package/dist/esm/errors.d.ts +15 -5
- package/dist/esm/errors.js +18 -6
- package/dist/esm/errors.js.map +1 -1
- package/dist/esm/fetch.js +0 -1
- package/dist/esm/fetch.js.map +1 -1
- package/dist/esm/get.d.ts +0 -4
- package/dist/esm/get.js +1 -11
- package/dist/esm/get.js.map +1 -1
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/map-values.d.ts +1 -5
- package/dist/esm/map-values.js +0 -5
- package/dist/esm/map-values.js.map +1 -1
- package/dist/esm/mapping-kit/index.d.ts +0 -6
- package/dist/esm/mapping-kit/index.js +1 -88
- package/dist/esm/mapping-kit/index.js.map +1 -1
- package/dist/esm/mapping-kit/is-directive.js +0 -1
- package/dist/esm/mapping-kit/is-directive.js.map +1 -1
- package/dist/esm/mapping-kit/placeholders.d.ts +0 -3
- package/dist/esm/mapping-kit/placeholders.js +0 -8
- package/dist/esm/mapping-kit/placeholders.js.map +1 -1
- package/dist/esm/mapping-kit/validate.js +0 -84
- package/dist/esm/mapping-kit/validate.js.map +1 -1
- package/dist/esm/middleware/after-response/prepare-headers.js +0 -3
- package/dist/esm/middleware/after-response/prepare-headers.js.map +1 -1
- package/dist/esm/middleware/after-response/prepare-response.js +0 -4
- package/dist/esm/middleware/after-response/prepare-response.js.map +1 -1
- package/dist/esm/omit.d.ts +0 -3
- package/dist/esm/omit.js +0 -3
- package/dist/esm/omit.js.map +1 -1
- package/dist/esm/real-type-of.d.ts +0 -5
- package/dist/esm/real-type-of.js +0 -5
- package/dist/esm/real-type-of.js.map +1 -1
- package/dist/esm/request-client.d.ts +0 -53
- package/dist/esm/request-client.js +4 -48
- package/dist/esm/request-client.js.map +1 -1
- package/dist/esm/segment-event.d.ts +0 -40
- package/dist/esm/time.d.ts +0 -6
- package/dist/esm/time.js +0 -6
- package/dist/esm/time.js.map +1 -1
- package/dist/esm/types.d.ts +0 -4
- package/package.json +16 -11
- package/dist/cjs/dayjs.d.ts +0 -2
- package/dist/cjs/dayjs.js +0 -10
- package/dist/cjs/dayjs.js.map +0 -1
- package/dist/esm/dayjs.d.ts +0 -2
- package/dist/esm/dayjs.js +0 -5
- package/dist/esm/dayjs.js.map +0 -1
|
@@ -28,7 +28,6 @@ function realTypeOrDirective(value) {
|
|
|
28
28
|
}
|
|
29
29
|
const directives = {};
|
|
30
30
|
function validateDirective(obj, stack = []) {
|
|
31
|
-
// "allow" non-directive objects so that we can throw a more descriptive error below
|
|
32
31
|
if (!isDirective(obj) && !isObject(obj)) {
|
|
33
32
|
const type = realTypeOf(obj);
|
|
34
33
|
throw new ValidationError(`should be a directive object but it is ${indefiniteArticle(type)} ${type}`, stack);
|
|
@@ -38,7 +37,6 @@ function validateDirective(obj, stack = []) {
|
|
|
38
37
|
if (directiveKeys.length > 1) {
|
|
39
38
|
throw new ValidationError(`should only have one @-prefixed key but it has ${directiveKeys.length} keys`, stack);
|
|
40
39
|
}
|
|
41
|
-
// Check that there aren't other keys besides @directive or _metadata
|
|
42
40
|
const otherKeys = keys.filter((key) => !key.startsWith('@') && key !== '_metadata');
|
|
43
41
|
if (otherKeys.length > 0) {
|
|
44
42
|
throw new ValidationError(`should only have one @-prefixed key but it has ${keys.length} keys`, stack);
|
|
@@ -77,28 +75,6 @@ function validateDirectiveOrString(v, stack = []) {
|
|
|
77
75
|
throw new ValidationError(`should be a string or a mapping directive but it is ${indefiniteArticle(type)} ${type}`, stack);
|
|
78
76
|
}
|
|
79
77
|
}
|
|
80
|
-
function validateDirectiveOrObject(v, stack = []) {
|
|
81
|
-
const type = realTypeOrDirective(v);
|
|
82
|
-
switch (type) {
|
|
83
|
-
case 'directive':
|
|
84
|
-
return validateDirective(v, stack);
|
|
85
|
-
case 'object':
|
|
86
|
-
return validateObject(v, stack);
|
|
87
|
-
default:
|
|
88
|
-
throw new ValidationError(`should be a mapping directive or an object but it is ${indefiniteArticle(type)} ${type}`, stack);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
function validateDirectiveOrArray(v, stack = []) {
|
|
92
|
-
const type = realTypeOrDirective(v);
|
|
93
|
-
switch (type) {
|
|
94
|
-
case 'directive':
|
|
95
|
-
return validateDirective(v, stack);
|
|
96
|
-
case 'array':
|
|
97
|
-
return validateArray(v, stack);
|
|
98
|
-
default:
|
|
99
|
-
throw new ValidationError(`should be a mapping directive or an array but it is ${indefiniteArticle(type)} ${type}`, stack);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
78
|
function validateObject(value, stack = []) {
|
|
103
79
|
const type = realTypeOrDirective(value);
|
|
104
80
|
if (type !== 'object') {
|
|
@@ -173,9 +149,6 @@ function directive(names, fn) {
|
|
|
173
149
|
};
|
|
174
150
|
});
|
|
175
151
|
}
|
|
176
|
-
directive('@base64', (v, stack) => {
|
|
177
|
-
validateDirectiveOrString(v, stack);
|
|
178
|
-
});
|
|
179
152
|
directive('@if', (v, stack) => {
|
|
180
153
|
validateObjectWithFields(v, {
|
|
181
154
|
exists: { optional: validateDirectiveOrRaw },
|
|
@@ -184,68 +157,12 @@ directive('@if', (v, stack) => {
|
|
|
184
157
|
else: { optional: validateDirectiveOrRaw }
|
|
185
158
|
}, stack);
|
|
186
159
|
});
|
|
187
|
-
directive('@json', (v, stack) => {
|
|
188
|
-
validateDirectiveOrRaw(v, stack);
|
|
189
|
-
});
|
|
190
|
-
directive('@lowercase', (v, stack) => {
|
|
191
|
-
validateDirectiveOrString(v, stack);
|
|
192
|
-
});
|
|
193
|
-
directive('@merge', (v, stack = []) => {
|
|
194
|
-
validateArray(v, stack);
|
|
195
|
-
const arr = v;
|
|
196
|
-
const errors = [];
|
|
197
|
-
arr.forEach((obj, i) => {
|
|
198
|
-
try {
|
|
199
|
-
validateDirectiveOrObject(obj, [...stack, `${i}`]);
|
|
200
|
-
}
|
|
201
|
-
catch (error) {
|
|
202
|
-
errors.push(error);
|
|
203
|
-
}
|
|
204
|
-
});
|
|
205
|
-
if (errors.length) {
|
|
206
|
-
throw new AggregateError(errors);
|
|
207
|
-
}
|
|
208
|
-
});
|
|
209
|
-
directive(['@omit', '@pick'], (v, stack = []) => {
|
|
210
|
-
validateObjectWithFields(v, {
|
|
211
|
-
object: { required: validateDirectiveOrObject },
|
|
212
|
-
fields: { required: validateDirectiveOrArray }
|
|
213
|
-
}, stack);
|
|
214
|
-
const obj = v;
|
|
215
|
-
if (Array.isArray(obj.fields)) {
|
|
216
|
-
const errors = [];
|
|
217
|
-
obj.fields.forEach((field, i) => {
|
|
218
|
-
try {
|
|
219
|
-
validateDirectiveOrString(field, [...stack, i.toString()]);
|
|
220
|
-
}
|
|
221
|
-
catch (error) {
|
|
222
|
-
errors.push(error);
|
|
223
|
-
}
|
|
224
|
-
});
|
|
225
|
-
if (errors.length) {
|
|
226
|
-
throw new AggregateError(errors);
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
});
|
|
230
160
|
directive('@path', (v, stack) => {
|
|
231
161
|
validateDirectiveOrString(v, stack);
|
|
232
162
|
});
|
|
233
|
-
directive('@root', () => {
|
|
234
|
-
// no-op
|
|
235
|
-
});
|
|
236
163
|
directive('@template', (v, stack) => {
|
|
237
164
|
validateDirectiveOrString(v, stack);
|
|
238
165
|
});
|
|
239
|
-
directive('@timestamp', (v, stack) => {
|
|
240
|
-
validateObjectWithFields(v, {
|
|
241
|
-
format: { required: validateDirectiveOrString },
|
|
242
|
-
inputFormat: { optional: validateDirectiveOrString },
|
|
243
|
-
timestamp: { required: validateDirectiveOrString }
|
|
244
|
-
}, stack);
|
|
245
|
-
});
|
|
246
|
-
directive('@uuid', () => {
|
|
247
|
-
// no-op
|
|
248
|
-
});
|
|
249
166
|
function indefiniteArticle(s) {
|
|
250
167
|
switch (s.charAt(0)) {
|
|
251
168
|
case 'a':
|
|
@@ -267,7 +184,6 @@ export default function validate(mapping, stack = []) {
|
|
|
267
184
|
case 'array':
|
|
268
185
|
return validateArray(mapping, stack);
|
|
269
186
|
default:
|
|
270
|
-
// All other types are valid "raw" mappings
|
|
271
187
|
return null;
|
|
272
188
|
}
|
|
273
189
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/mapping-kit/validate.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAc,MAAM,iBAAiB,CAAA;AAElE,MAAM,eAAgB,SAAQ,WAAW;IACvC,YAAY,OAAe,EAAE,QAAkB,EAAE;QAC/C,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,CAAA;IAC1C,CAAC;CACF;AAED,SAAS,aAAa,CAAC,MAAe;IACpC,MAAM,MAAM,GAAY,EAAE,CAAA;IAE1B,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,IAAI,KAAK,YAAY,cAAc,EAAE;YACnC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAA;SACtB;aAAM;YACL,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;SACnB;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAC9B,IAAI,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;QACpF,OAAO,WAAW,CAAA;KACnB;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAQD,MAAM,UAAU,GAAwB,EAAE,CAAA;AAE1C,SAAS,iBAAiB,CAAC,GAAY,EAAE,QAAkB,EAAE;
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/mapping-kit/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
const headersToObject = (headers) => {
|
|
2
2
|
const obj = {};
|
|
3
|
-
// @ts-ignore the types are wrong for Headers
|
|
4
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
5
3
|
for (const [key, value] of headers.entries()) {
|
|
6
4
|
obj[key] = value;
|
|
7
5
|
}
|
|
8
6
|
return obj;
|
|
9
7
|
};
|
|
10
8
|
const prepareHeaders = async (_request, _options, response) => {
|
|
11
|
-
// Adds `toJSON()` support for headers to get a plain object
|
|
12
9
|
Object.defineProperty(response.headers, 'toJSON', {
|
|
13
10
|
enumerable: false,
|
|
14
11
|
value: () => headersToObject(response.headers)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare-headers.js","sourceRoot":"","sources":["../../../../src/middleware/after-response/prepare-headers.ts"],"names":[],"mappings":"AAEA,MAAM,eAAe,GAAG,CAAC,OAAgB,EAAE,EAAE;IAC3C,MAAM,GAAG,GAA2B,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"prepare-headers.js","sourceRoot":"","sources":["../../../../src/middleware/after-response/prepare-headers.ts"],"names":[],"mappings":"AAEA,MAAM,eAAe,GAAG,CAAC,OAAgB,EAAE,EAAE;IAC3C,MAAM,GAAG,GAA2B,EAAE,CAAA;IAItC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE;QAC5C,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;KACjB;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,cAAc,GAAsB,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;IAE/E,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE;QAChD,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC;KAC/C,CAAC,CAAA;IAEF,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,eAAe,cAAc,CAAA"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
const prepareResponse = async (_request, _options, response) => {
|
|
2
2
|
var _a;
|
|
3
3
|
const modifiedResponse = response;
|
|
4
|
-
// Clone the response before reading the body to avoid
|
|
5
|
-
// `TypeError: body used already` elsewhere
|
|
6
4
|
const clone = response.clone();
|
|
7
5
|
const content = await clone.text();
|
|
8
6
|
let data;
|
|
@@ -11,12 +9,10 @@ const prepareResponse = async (_request, _options, response) => {
|
|
|
11
9
|
data = JSON.parse(content);
|
|
12
10
|
}
|
|
13
11
|
else {
|
|
14
|
-
// TODO handle form urlencoded responses?
|
|
15
12
|
data = content;
|
|
16
13
|
}
|
|
17
14
|
}
|
|
18
15
|
catch (_error) {
|
|
19
|
-
// do nothing
|
|
20
16
|
}
|
|
21
17
|
modifiedResponse.content = content;
|
|
22
18
|
modifiedResponse.data = data;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare-response.js","sourceRoot":"","sources":["../../../../src/middleware/after-response/prepare-response.ts"],"names":[],"mappings":"AAGA,MAAM,eAAe,GAAsB,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;;IAChF,MAAM,gBAAgB,GAAG,QAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"prepare-response.js","sourceRoot":"","sources":["../../../../src/middleware/after-response/prepare-response.ts"],"names":[],"mappings":"AAGA,MAAM,eAAe,GAAsB,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;;IAChF,MAAM,gBAAgB,GAAG,QAA4B,CAAA;IAIrD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAA;IAC9B,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;IAClC,IAAI,IAAa,CAAA;IAEjB,IAAI;QACF,IAAI,MAAA,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,0CAAE,QAAQ,CAAC,kBAAkB,CAAC,EAAE;YAC9E,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;SAC3B;aAAM;YAEL,IAAI,GAAG,OAAO,CAAA;SACf;KACF;IAAC,OAAO,MAAM,EAAE;KAEhB;IAED,gBAAgB,CAAC,OAAO,GAAG,OAAO,CAAA;IAClC,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAA;IAE5B,OAAO,gBAAgB,CAAA;AACzB,CAAC,CAAA;AAED,eAAe,eAAe,CAAA"}
|
package/dist/esm/omit.d.ts
CHANGED
package/dist/esm/omit.js
CHANGED
package/dist/esm/omit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"omit.js","sourceRoot":"","sources":["../../src/omit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"omit.js","sourceRoot":"","sources":["../../src/omit.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,IAAI,CAAuC,GAAM,EAAE,IAAO;IACxE,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE;QAChD,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAAE,SAAS,CAAC,GAAG,CAAC,GAAI,GAA+B,CAAC,GAAG,CAAC,CAAA;QACpF,OAAO,SAAS,CAAA;IAClB,CAAC,EAAE,EAA6B,CAAqB,CAAA;AACvD,CAAC"}
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Gets the "true" type of an object, since JS `typeof` often returns `'object'`
|
|
3
|
-
* for arrays, date, regexp, and null
|
|
4
|
-
* @param obj - the object to get the real type of
|
|
5
|
-
*/
|
|
6
1
|
export declare function realTypeOf(obj: unknown): "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" | "null" | "array" | "regexp";
|
|
7
2
|
export interface Dictionary<T = unknown> {
|
|
8
3
|
[key: string]: T;
|
package/dist/esm/real-type-of.js
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Gets the "true" type of an object, since JS `typeof` often returns `'object'`
|
|
3
|
-
* for arrays, date, regexp, and null
|
|
4
|
-
* @param obj - the object to get the real type of
|
|
5
|
-
*/
|
|
6
1
|
export function realTypeOf(obj) {
|
|
7
2
|
return Object.prototype.toString.call(obj).slice(8, -1).toLowerCase();
|
|
8
3
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"real-type-of.js","sourceRoot":"","sources":["../../src/real-type-of.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"real-type-of.js","sourceRoot":"","sources":["../../src/real-type-of.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,UAAU,CAAC,GAAY;IACrC,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAWvD,CAAA;AACd,CAAC;AAMD,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,UAAU,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAA;AACvC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAc;IACpC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC7B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAA;AAClC,CAAC"}
|
|
@@ -1,61 +1,16 @@
|
|
|
1
1
|
import { CustomError } from 'ts-custom-error';
|
|
2
|
-
/**
|
|
3
|
-
* The supported request options you can use with the request client
|
|
4
|
-
*/
|
|
5
2
|
export interface RequestOptions extends Omit<RequestInit, 'headers'> {
|
|
6
|
-
/**
|
|
7
|
-
* Simplified header format to reduce variation
|
|
8
|
-
*/
|
|
9
3
|
headers?: Record<string, string>;
|
|
10
|
-
/**
|
|
11
|
-
* Shortcut for sending JSON. Use instead of `body`.
|
|
12
|
-
* Accepts any plain object or value, which will be `JSON.stringify()`'d and sent in the body with the correct header set.
|
|
13
|
-
*/
|
|
14
4
|
json?: unknown;
|
|
15
|
-
/**
|
|
16
|
-
* HTTP method used to make the request.
|
|
17
|
-
* Internally, the standard methods (`GET`, `POST`, `PUT`, `PATCH`, `HEAD` and `DELETE`) are uppercased in order to avoid server errors due to case sensitivity.
|
|
18
|
-
* @default 'get'
|
|
19
|
-
*/
|
|
20
5
|
method?: 'get' | 'post' | 'put' | 'delete' | 'patch' | 'head' | 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD';
|
|
21
|
-
/**
|
|
22
|
-
* When provided, will automatically apply basic authentication
|
|
23
|
-
*/
|
|
24
6
|
password?: string;
|
|
25
|
-
/**
|
|
26
|
-
* Search parameters to include int he request URL. Setting this will override existing search parameters in the input URL.
|
|
27
|
-
* Accepts [`URLSearchParams()`](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams/URLSearchParams)
|
|
28
|
-
*/
|
|
29
7
|
searchParams?: URLSearchParams | Record<string, string | number | boolean>;
|
|
30
|
-
/**
|
|
31
|
-
* Throw an error when, after redirects, the response has a non-2xx status code.
|
|
32
|
-
* @default true
|
|
33
|
-
*/
|
|
34
8
|
throwHttpErrors?: boolean;
|
|
35
|
-
/**
|
|
36
|
-
* Timeout in milliseconds for getting a response.
|
|
37
|
-
* If set to `false` there will be no timeout.
|
|
38
|
-
* @default 10000
|
|
39
|
-
*/
|
|
40
9
|
timeout?: number | false;
|
|
41
|
-
/**
|
|
42
|
-
* When provided, will automatically apply basic authentication
|
|
43
|
-
*/
|
|
44
10
|
username?: string;
|
|
45
11
|
}
|
|
46
|
-
/**
|
|
47
|
-
* All request options including before/after hooks
|
|
48
|
-
*/
|
|
49
12
|
export interface AllRequestOptions extends RequestOptions {
|
|
50
|
-
/**
|
|
51
|
-
* Hooks that execute before a request is sent.
|
|
52
|
-
* Useful to modify the options that a request will use
|
|
53
|
-
*/
|
|
54
13
|
beforeRequest?: BeforeRequestHook[];
|
|
55
|
-
/**
|
|
56
|
-
* Hooks that executes after a response is received.
|
|
57
|
-
* Useful for logging, cleanup, or modifying the response object
|
|
58
|
-
*/
|
|
59
14
|
afterResponse?: AfterResponseHook[];
|
|
60
15
|
}
|
|
61
16
|
export interface NormalizedOptions extends Omit<AllRequestOptions, 'headers'> {
|
|
@@ -63,27 +18,19 @@ export interface NormalizedOptions extends Omit<AllRequestOptions, 'headers'> {
|
|
|
63
18
|
method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD';
|
|
64
19
|
}
|
|
65
20
|
declare type MaybePromise<T> = Promise<T> | T;
|
|
66
|
-
/** A hook that executes before a request is executed. Useful to modify the options that a request will use */
|
|
67
21
|
export declare type BeforeRequestHook = (options: NormalizedOptions) => MaybePromise<RequestOptions | void>;
|
|
68
|
-
/** A hook that executes after a response is received. Useful for logging, cleanup, or modifying the response object */
|
|
69
22
|
export declare type AfterResponseHook<OutputResponse extends Response = Response> = (request: Request, options: NormalizedOptions, response: Response) => MaybePromise<OutputResponse | void>;
|
|
70
|
-
/** Error thrown when a response has a non-2xx response. */
|
|
71
23
|
export declare class HTTPError extends CustomError {
|
|
72
24
|
request: Request;
|
|
73
25
|
response: Response;
|
|
74
26
|
options: NormalizedOptions;
|
|
75
27
|
constructor(response: Response, request: Request, options: NormalizedOptions);
|
|
76
28
|
}
|
|
77
|
-
/** Error thrown when a request is aborted because of a client timeout. */
|
|
78
29
|
export declare class TimeoutError extends CustomError {
|
|
79
30
|
request: Request;
|
|
80
31
|
options: NormalizedOptions;
|
|
81
32
|
constructor(request: Request, options: NormalizedOptions);
|
|
82
33
|
}
|
|
83
|
-
/**
|
|
84
|
-
* Creates a new instance of the fetch request client,
|
|
85
|
-
* optionally with default configuration to apply to all requests made with the client
|
|
86
|
-
*/
|
|
87
34
|
export default function createInstance(defaults?: AllRequestOptions): {
|
|
88
35
|
<R extends Response = Response>(url: string, options?: RequestOptions): Promise<R>;
|
|
89
36
|
extend(newDefaults: AllRequestOptions): any;
|
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
import AbortController from 'abort-controller';
|
|
2
2
|
import { CustomError } from 'ts-custom-error';
|
|
3
3
|
import fetch, { Headers, Request, Response } from './fetch';
|
|
4
|
-
import { omit } from './omit';
|
|
5
4
|
import { isObject } from './real-type-of';
|
|
6
|
-
// We need the loose definition of "object" to iterate over things like `[object Headers]`
|
|
7
5
|
const isObjectLike = (value) => {
|
|
8
6
|
return value !== null && typeof value === 'object';
|
|
9
7
|
};
|
|
10
|
-
/** Merges two sets of headers intelligently */
|
|
11
8
|
function mergeHeaders(source1, source2) {
|
|
12
9
|
const result = new Headers(source1 || {});
|
|
13
10
|
const source = new Headers(source2 || {});
|
|
14
11
|
source.forEach((value, key) => {
|
|
15
|
-
// `value` may be the string `undefined` when the source is a Headers object
|
|
16
12
|
if (value === 'undefined') {
|
|
17
13
|
result.delete(key);
|
|
18
14
|
}
|
|
@@ -22,9 +18,7 @@ function mergeHeaders(source1, source2) {
|
|
|
22
18
|
});
|
|
23
19
|
return result;
|
|
24
20
|
}
|
|
25
|
-
/** Deeply merge multiple objects or arrays. Arrays get concatenated. */
|
|
26
21
|
function merge(...sources) {
|
|
27
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
28
22
|
let result = {};
|
|
29
23
|
let headers = {};
|
|
30
24
|
for (const source of sources) {
|
|
@@ -32,32 +26,23 @@ function merge(...sources) {
|
|
|
32
26
|
if (!Array.isArray(result)) {
|
|
33
27
|
result = [];
|
|
34
28
|
}
|
|
35
|
-
// Concatenate arrays (e.g. hooks)
|
|
36
29
|
result = [...result, ...source];
|
|
37
30
|
}
|
|
38
31
|
else if (isObjectLike(source)) {
|
|
39
|
-
// eslint-disable-next-line prefer-const
|
|
40
32
|
for (let [key, value] of Object.entries(source)) {
|
|
41
|
-
// Recurse over objects
|
|
42
33
|
if (isObjectLike(value) && key in result) {
|
|
43
34
|
value = merge(result[key], value);
|
|
44
35
|
}
|
|
45
|
-
// Update the key's value in our copy
|
|
46
36
|
result[key] = value;
|
|
47
37
|
}
|
|
48
|
-
// Merge headers more carefully to handle duplicates
|
|
49
38
|
if (isObjectLike(source.headers)) {
|
|
50
39
|
headers = mergeHeaders(headers, source.headers);
|
|
51
40
|
}
|
|
52
41
|
}
|
|
53
|
-
// Assign after we've merged all the headers because they are handled specially
|
|
54
42
|
result.headers = headers;
|
|
55
43
|
}
|
|
56
44
|
return result;
|
|
57
45
|
}
|
|
58
|
-
/**
|
|
59
|
-
* Validates and merges request options
|
|
60
|
-
*/
|
|
61
46
|
function mergeOptions(...sources) {
|
|
62
47
|
for (const source of sources) {
|
|
63
48
|
if (!isObject(source)) {
|
|
@@ -69,7 +54,6 @@ function mergeOptions(...sources) {
|
|
|
69
54
|
function getRequestMethod(method) {
|
|
70
55
|
return method.toUpperCase();
|
|
71
56
|
}
|
|
72
|
-
/** Error thrown when a response has a non-2xx response. */
|
|
73
57
|
export class HTTPError extends CustomError {
|
|
74
58
|
constructor(response, request, options) {
|
|
75
59
|
var _a, _b;
|
|
@@ -79,7 +63,6 @@ export class HTTPError extends CustomError {
|
|
|
79
63
|
this.options = options;
|
|
80
64
|
}
|
|
81
65
|
}
|
|
82
|
-
/** Error thrown when a request is aborted because of a client timeout. */
|
|
83
66
|
export class TimeoutError extends CustomError {
|
|
84
67
|
constructor(request, options) {
|
|
85
68
|
super(`Request timed out`);
|
|
@@ -87,9 +70,6 @@ export class TimeoutError extends CustomError {
|
|
|
87
70
|
this.options = options;
|
|
88
71
|
}
|
|
89
72
|
}
|
|
90
|
-
/**
|
|
91
|
-
* Given a request, reject the request when a timeout is exceeded
|
|
92
|
-
*/
|
|
93
73
|
function timeoutFetch(request, abortController, options) {
|
|
94
74
|
return new Promise((resolve, reject) => {
|
|
95
75
|
const timer = setTimeout(() => {
|
|
@@ -116,41 +96,24 @@ class RequestClient {
|
|
|
116
96
|
throwHttpErrors: options.throwHttpErrors !== false,
|
|
117
97
|
timeout: (_b = options.timeout) !== null && _b !== void 0 ? _b : 10000
|
|
118
98
|
};
|
|
119
|
-
// Timeout support. Use our own abort controller so consumers can pass in their own `signal`
|
|
120
|
-
// if they wish to use timeouts alongside other logic to abort a request
|
|
121
99
|
this.abortController = new AbortController();
|
|
122
100
|
if (this.options.signal) {
|
|
123
|
-
// Listen to consumer abort events to also abort our internal controller
|
|
124
101
|
this.options.signal.addEventListener('abort', () => {
|
|
125
102
|
this.abortController.abort();
|
|
126
103
|
});
|
|
127
104
|
}
|
|
128
|
-
// Use our internal abort controller for fetch
|
|
129
105
|
this.options.signal = this.abortController.signal;
|
|
130
|
-
this.
|
|
131
|
-
'json',
|
|
132
|
-
'password',
|
|
133
|
-
'searchParams',
|
|
134
|
-
'throwHttpErrors',
|
|
135
|
-
'timeout',
|
|
136
|
-
'username'
|
|
137
|
-
]);
|
|
138
|
-
// Construct a request object to send to the Fetch API
|
|
139
|
-
this.request = new Request(url, this.cleanedOptions);
|
|
140
|
-
// Parse search params and merge them with the request URL
|
|
106
|
+
this.request = new Request(url, this.options);
|
|
141
107
|
if (this.options.searchParams) {
|
|
142
|
-
// The type is a bit too restrictive, since you can pass in other primitives like `{ foo: 1, bar: true }`
|
|
143
108
|
const searchParams = new URLSearchParams(this.options.searchParams);
|
|
144
109
|
const url = new URL(this.request.url);
|
|
145
110
|
url.search = searchParams.toString();
|
|
146
|
-
|
|
147
|
-
this.request = new Request(new Request(url.toString(), this.request), this.cleanedOptions);
|
|
111
|
+
this.request = new Request(new Request(url.toString(), this.request), this.options);
|
|
148
112
|
}
|
|
149
|
-
// Automatically handle json header + stringification as a convenience when using `json` option
|
|
150
113
|
if (this.options.json !== undefined) {
|
|
151
|
-
this.
|
|
114
|
+
this.options.body = JSON.stringify(this.options.json);
|
|
152
115
|
this.request.headers.set('content-type', 'application/json');
|
|
153
|
-
this.request = new Request(this.request, { body: this.
|
|
116
|
+
this.request = new Request(this.request, { body: this.options.body });
|
|
154
117
|
}
|
|
155
118
|
}
|
|
156
119
|
async executeRequest() {
|
|
@@ -167,9 +130,6 @@ class RequestClient {
|
|
|
167
130
|
}
|
|
168
131
|
return response;
|
|
169
132
|
}
|
|
170
|
-
/**
|
|
171
|
-
* Make a fetch request, running all beforeRequest hooks, and optionally wrap in a timeout
|
|
172
|
-
*/
|
|
173
133
|
async fetch() {
|
|
174
134
|
var _a;
|
|
175
135
|
for (const hook of (_a = this.options.beforeRequest) !== null && _a !== void 0 ? _a : []) {
|
|
@@ -184,10 +144,6 @@ class RequestClient {
|
|
|
184
144
|
return timeoutFetch(this.request.clone(), this.abortController, this.options);
|
|
185
145
|
}
|
|
186
146
|
}
|
|
187
|
-
/**
|
|
188
|
-
* Creates a new instance of the fetch request client,
|
|
189
|
-
* optionally with default configuration to apply to all requests made with the client
|
|
190
|
-
*/
|
|
191
147
|
export default function createInstance(defaults = {}) {
|
|
192
148
|
const client = (url, options = {}) => new RequestClient(url, mergeOptions(defaults, options)).executeRequest();
|
|
193
149
|
client.extend = (newDefaults) => createInstance(mergeOptions(defaults, newDefaults));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-client.js","sourceRoot":"","sources":["../../src/request-client.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC3D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"request-client.js","sourceRoot":"","sources":["../../src/request-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,9 +22,6 @@ export declare type Options = {
|
|
|
22
22
|
};
|
|
23
23
|
interface AnalyticsContext {
|
|
24
24
|
page?: {
|
|
25
|
-
/**
|
|
26
|
-
* {@link https://github.com/segmentio/analytics.js-integrations/blob/2d5c637c022d2661c23449aed237d0d546bf062d/integrations/segmentio/lib/index.js#L151}
|
|
27
|
-
*/
|
|
28
25
|
path?: string;
|
|
29
26
|
referrer?: string;
|
|
30
27
|
search?: string;
|
|
@@ -32,54 +29,26 @@ interface AnalyticsContext {
|
|
|
32
29
|
url?: string;
|
|
33
30
|
};
|
|
34
31
|
metrics?: CompactMetric[];
|
|
35
|
-
/**
|
|
36
|
-
* {@link https://github.com/segmentio/analytics.js-integrations/blob/2d5c637c022d2661c23449aed237d0d546bf062d/integrations/segmentio/lib/index.js#L285}
|
|
37
|
-
*/
|
|
38
32
|
userAgent?: string;
|
|
39
|
-
/**
|
|
40
|
-
* {@link https://github.com/segmentio/analytics.js-integrations/blob/2d5c637c022d2661c23449aed237d0d546bf062d/integrations/segmentio/lib/index.js#L286-L289}
|
|
41
|
-
*/
|
|
42
33
|
locale?: string;
|
|
43
|
-
/**
|
|
44
|
-
* {@link https://github.com/segmentio/analytics.js-integrations/blob/2d5c637c022d2661c23449aed237d0d546bf062d/integrations/segmentio/lib/index.js#L290-L291}
|
|
45
|
-
*/
|
|
46
34
|
library?: {
|
|
47
35
|
name: string;
|
|
48
36
|
version: string;
|
|
49
37
|
};
|
|
50
|
-
/**
|
|
51
|
-
* {@link https://github.com/segmentio/analytics.js-integrations/blob/2d5c637c022d2661c23449aed237d0d546bf062d/integrations/segmentio/lib/index.js#L292-L301}
|
|
52
|
-
*/
|
|
53
38
|
traits?: {
|
|
54
39
|
crossDomainId: string;
|
|
55
40
|
};
|
|
56
|
-
/**
|
|
57
|
-
* utm params
|
|
58
|
-
* {@link https://github.com/segmentio/analytics.js-integrations/blob/2d5c637c022d2661c23449aed237d0d546bf062d/integrations/segmentio/lib/index.js#L303-L305}
|
|
59
|
-
* {@link https://github.com/segmentio/utm-params/blob/master/lib/index.js#L49}
|
|
60
|
-
*/
|
|
61
41
|
campaign?: {
|
|
62
|
-
/**
|
|
63
|
-
* This can also come from the "utm_campaign" param
|
|
64
|
-
*
|
|
65
|
-
* {@link https://github.com/segmentio/utm-params/blob/master/lib/index.js#L40}
|
|
66
|
-
*/
|
|
67
42
|
name: string;
|
|
68
43
|
term: string;
|
|
69
44
|
source: string;
|
|
70
45
|
medium: string;
|
|
71
46
|
content: string;
|
|
72
47
|
};
|
|
73
|
-
/**
|
|
74
|
-
* {@link https://github.com/segmentio/analytics.js-integrations/blob/2d5c637c022d2661c23449aed237d0d546bf062d/integrations/segmentio/lib/index.js#L415}
|
|
75
|
-
*/
|
|
76
48
|
referrer?: {
|
|
77
49
|
btid?: string;
|
|
78
50
|
urid?: string;
|
|
79
51
|
};
|
|
80
|
-
/**
|
|
81
|
-
* {@link https://github.com/segmentio/analytics.js-integrations/blob/2d5c637c022d2661c23449aed237d0d546bf062d/integrations/segmentio/lib/index.js#L322}
|
|
82
|
-
*/
|
|
83
52
|
amp?: {
|
|
84
53
|
id: string;
|
|
85
54
|
};
|
|
@@ -104,18 +73,9 @@ export interface SegmentEvent {
|
|
|
104
73
|
groupId?: ID;
|
|
105
74
|
previousId?: ID;
|
|
106
75
|
event?: string;
|
|
107
|
-
/**
|
|
108
|
-
* {@link https://github.com/segmentio/analytics.js-integrations/blob/2d5c637c022d2661c23449aed237d0d546bf062d/integrations/segmentio/lib/index.js#L284}
|
|
109
|
-
*/
|
|
110
76
|
writeKey?: string;
|
|
111
77
|
receivedAt?: Date | string;
|
|
112
|
-
/**
|
|
113
|
-
* {@link https://github.com/segmentio/analytics.js-integrations/blob/2d5c637c022d2661c23449aed237d0d546bf062d/integrations/segmentio/lib/index.js#L151}
|
|
114
|
-
*/
|
|
115
78
|
sentAt?: Date | string;
|
|
116
|
-
/**
|
|
117
|
-
* {@link https://github.com/segmentio/analytics.js-integrations/blob/2d5c637c022d2661c23449aed237d0d546bf062d/integrations/segmentio/lib/index.js#L311-L320}
|
|
118
|
-
*/
|
|
119
79
|
_metadata?: {
|
|
120
80
|
failedInitializations?: unknown[];
|
|
121
81
|
bundled?: string[];
|
package/dist/esm/time.d.ts
CHANGED
package/dist/esm/time.js
CHANGED
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Gets hrtime for logging/metrics.
|
|
3
|
-
*/
|
|
4
1
|
export function time() {
|
|
5
2
|
return process.hrtime.bigint();
|
|
6
3
|
}
|
|
7
|
-
/**
|
|
8
|
-
* Calculates the duration in decimal milliseconds for logging/metrics purposes.
|
|
9
|
-
*/
|
|
10
4
|
export function duration(start, stop) {
|
|
11
5
|
return Number(stop - start) / 1000000;
|
|
12
6
|
}
|
package/dist/esm/time.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.js","sourceRoot":"","sources":["../../src/time.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"time.js","sourceRoot":"","sources":["../../src/time.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,IAAI;IAClB,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;AAChC,CAAC;AAKD,MAAM,UAAU,QAAQ,CAAC,KAAa,EAAE,IAAY;IAClD,OAAO,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,OAAO,CAAA;AACvC,CAAC"}
|