@segment/actions-core 2.0.3-next.0 → 2.1.0-next.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 +0 -30
- package/dist/cjs/destination-kit/action.js +0 -38
- package/dist/cjs/destination-kit/action.js.map +1 -1
- package/dist/cjs/destination-kit/fields-to-jsonschema.js +0 -2
- 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 +3 -6
- 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 +0 -4
- 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/map-values.d.ts +0 -4
- 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 +0 -30
- package/dist/esm/destination-kit/action.js +0 -38
- package/dist/esm/destination-kit/action.js.map +1 -1
- package/dist/esm/destination-kit/fields-to-jsonschema.js +0 -2
- 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 +3 -6
- 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 +0 -4
- 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/map-values.d.ts +0 -4
- 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 +15 -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
|
@@ -4,8 +4,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.transform = void 0;
|
|
7
|
-
const uuid_1 = require("uuid");
|
|
8
|
-
const dayjs_1 = __importDefault(require("../dayjs"));
|
|
9
7
|
const get_1 = require("../get");
|
|
10
8
|
const is_directive_1 = require("./is-directive");
|
|
11
9
|
const placeholders_1 = require("./placeholders");
|
|
@@ -38,9 +36,6 @@ function runDirective(obj, payload) {
|
|
|
38
36
|
}
|
|
39
37
|
return directiveFn(value, payload);
|
|
40
38
|
}
|
|
41
|
-
registerStringDirective('@base64', (str, _payload) => {
|
|
42
|
-
return Buffer.from(str).toString('base64');
|
|
43
|
-
});
|
|
44
39
|
registerDirective('@if', (opts, payload) => {
|
|
45
40
|
let condition = false;
|
|
46
41
|
if (!real_type_of_1.isObject(opts)) {
|
|
@@ -64,86 +59,12 @@ registerDirective('@if', (opts, payload) => {
|
|
|
64
59
|
return resolve(opts.else, payload);
|
|
65
60
|
}
|
|
66
61
|
});
|
|
67
|
-
registerDirective('@json', (value, payload) => {
|
|
68
|
-
return JSON.stringify(resolve(value, payload));
|
|
69
|
-
});
|
|
70
|
-
registerStringDirective('@lowercase', (str, _payload) => {
|
|
71
|
-
return str.toLowerCase();
|
|
72
|
-
});
|
|
73
|
-
registerDirective('@merge', (arr, payload) => {
|
|
74
|
-
if (!Array.isArray(arr)) {
|
|
75
|
-
throw new Error(`@merge: expected array, got ${real_type_of_1.realTypeOf(arr)}`);
|
|
76
|
-
}
|
|
77
|
-
const objects = arr.map((v) => resolve(v, payload));
|
|
78
|
-
return Object.assign({}, ...objects);
|
|
79
|
-
});
|
|
80
|
-
function resolveObjectAndFields(directive, opts, payload) {
|
|
81
|
-
if (!real_type_of_1.isObject(opts)) {
|
|
82
|
-
throw new Error(`${directive}: expected object, got ${real_type_of_1.realTypeOf(opts)}`);
|
|
83
|
-
}
|
|
84
|
-
const obj = resolve(opts.object, payload);
|
|
85
|
-
if (!real_type_of_1.isObject(obj)) {
|
|
86
|
-
throw new Error(`${directive}: expected object, got ${real_type_of_1.realTypeOf(obj)}`);
|
|
87
|
-
}
|
|
88
|
-
const fields = resolve(opts.fields, payload);
|
|
89
|
-
if (!Array.isArray(fields)) {
|
|
90
|
-
throw new Error(`${directive}: expected fields as array, got ${real_type_of_1.realTypeOf(fields)}`);
|
|
91
|
-
}
|
|
92
|
-
return [obj, fields];
|
|
93
|
-
}
|
|
94
|
-
registerDirective('@omit', (opts, payload) => {
|
|
95
|
-
const [obj, fields] = resolveObjectAndFields('@omit', opts, payload);
|
|
96
|
-
const clonedObj = JSON.parse(JSON.stringify(obj));
|
|
97
|
-
fields.forEach((f) => delete clonedObj[f]);
|
|
98
|
-
return clonedObj;
|
|
99
|
-
});
|
|
100
62
|
registerStringDirective('@path', (path, payload) => {
|
|
101
63
|
return get_1.get(payload, path.replace('$.', ''));
|
|
102
64
|
});
|
|
103
|
-
registerDirective('@pick', (opts, payload) => {
|
|
104
|
-
const [obj, fields] = resolveObjectAndFields('@pick', opts, payload);
|
|
105
|
-
const clean = {};
|
|
106
|
-
fields.forEach((f) => {
|
|
107
|
-
if (Object.prototype.hasOwnProperty.call(obj, f)) {
|
|
108
|
-
clean[f] = obj[f];
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
|
-
return clean;
|
|
112
|
-
});
|
|
113
|
-
registerDirective('@root', (_, payload) => payload);
|
|
114
65
|
registerStringDirective('@template', (template, payload) => {
|
|
115
66
|
return placeholders_1.render(template, payload);
|
|
116
67
|
});
|
|
117
|
-
registerDirective('@timestamp', (opts, payload) => {
|
|
118
|
-
if (!real_type_of_1.isObject(opts)) {
|
|
119
|
-
throw new Error(`@timestamp: requires an object, got ${real_type_of_1.realTypeOf(opts)}`);
|
|
120
|
-
}
|
|
121
|
-
const ts = resolve(opts.timestamp, payload);
|
|
122
|
-
if (!real_type_of_1.isString(ts)) {
|
|
123
|
-
throw new Error(`@timestamp: timestamp must be a string, got ${real_type_of_1.realTypeOf(ts)}`);
|
|
124
|
-
}
|
|
125
|
-
const format = resolve(opts.format, payload);
|
|
126
|
-
if (!real_type_of_1.isString(format)) {
|
|
127
|
-
throw new Error(`@timestamp: format must be a string, got ${real_type_of_1.realTypeOf(format)}`);
|
|
128
|
-
}
|
|
129
|
-
const inputFormat = resolve(opts.inputFormat, payload);
|
|
130
|
-
if (inputFormat !== undefined && !real_type_of_1.isString(inputFormat)) {
|
|
131
|
-
throw new Error(`@timestamp: inputFormat must be a string, got ${real_type_of_1.realTypeOf(inputFormat)}`);
|
|
132
|
-
}
|
|
133
|
-
const dayjsTs = dayjs_1.default.utc(ts, inputFormat);
|
|
134
|
-
if (format === 'json') {
|
|
135
|
-
return dayjsTs.toJSON();
|
|
136
|
-
}
|
|
137
|
-
return dayjsTs.format(format);
|
|
138
|
-
});
|
|
139
|
-
registerDirective('@uuid', (_, _payload) => uuid_1.v4());
|
|
140
|
-
/**
|
|
141
|
-
* Resolves a mapping value/object by applying the input payload based on directives
|
|
142
|
-
* *WARNING* This function mutates `mapping` when an object
|
|
143
|
-
* @param mapping - the mapping directives or raw values to resolve
|
|
144
|
-
* @param payload - the input data to apply to the mapping directives
|
|
145
|
-
* @todo support arrays or array directives?
|
|
146
|
-
*/
|
|
147
68
|
function resolve(mapping, payload) {
|
|
148
69
|
if (!real_type_of_1.isObject(mapping) && !real_type_of_1.isArray(mapping)) {
|
|
149
70
|
return mapping;
|
|
@@ -160,22 +81,14 @@ function resolve(mapping, payload) {
|
|
|
160
81
|
}
|
|
161
82
|
return mapping;
|
|
162
83
|
}
|
|
163
|
-
/**
|
|
164
|
-
* Validates and transforms a mapping by applying the input payload
|
|
165
|
-
* based on the directives and raw values defined in the mapping object
|
|
166
|
-
* @param mapping - the directives and raw values
|
|
167
|
-
* @param payload - the input data to apply to directives
|
|
168
|
-
*/
|
|
169
84
|
function transform(mapping, payload = {}) {
|
|
170
85
|
const payloadType = real_type_of_1.realTypeOf(payload);
|
|
171
86
|
if (payloadType !== 'object') {
|
|
172
87
|
throw new Error(`payload must be an object, got ${payloadType}`);
|
|
173
88
|
}
|
|
174
|
-
// throws if the mapping config is invalid
|
|
175
89
|
validate_1.default(mapping);
|
|
176
90
|
let resolved = resolve(mapping, payload);
|
|
177
91
|
resolved = remove_undefined_1.removeUndefined(resolved);
|
|
178
|
-
// Cast because we know there are no `undefined` values anymore
|
|
179
92
|
return resolved;
|
|
180
93
|
}
|
|
181
94
|
exports.transform = transform;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mapping-kit/index.ts"],"names":[],"mappings":";;;;;;AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mapping-kit/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,6 @@ function isDirective(obj) {
|
|
|
11
11
|
if (!hasDirectivePrefix) {
|
|
12
12
|
return false;
|
|
13
13
|
}
|
|
14
|
-
// Ensure there aren't any other keys besides `@directive` or `_metadata`
|
|
15
14
|
const otherKeys = keys.filter((key) => !key.startsWith('@') && key !== '_metadata');
|
|
16
15
|
if (otherKeys.length === 0) {
|
|
17
16
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-directive.js","sourceRoot":"","sources":["../../../src/mapping-kit/is-directive.ts"],"names":[],"mappings":";;;AACA,kDAA0C;AAE1C,SAAgB,WAAW,CAAC,GAAY;IACtC,IAAI,CAAC,uBAAQ,CAAC,GAAG,CAAC,EAAE;QAClB,OAAO,KAAK,CAAA;KACb;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC7B,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;IAClE,IAAI,CAAC,kBAAkB,EAAE;QACvB,OAAO,KAAK,CAAA;KACb;
|
|
1
|
+
{"version":3,"file":"is-directive.js","sourceRoot":"","sources":["../../../src/mapping-kit/is-directive.ts"],"names":[],"mappings":";;;AACA,kDAA0C;AAE1C,SAAgB,WAAW,CAAC,GAAY;IACtC,IAAI,CAAC,uBAAQ,CAAC,GAAG,CAAC,EAAE;QAClB,OAAO,KAAK,CAAA;KACb;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC7B,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;IAClE,IAAI,CAAC,kBAAkB,EAAE;QACvB,OAAO,KAAK,CAAA;KACb;IAGD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,WAAW,CAAC,CAAA;IACnF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1B,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAlBD,kCAkBC"}
|
|
@@ -20,9 +20,6 @@ function escapeHtml(value) {
|
|
|
20
20
|
return entityMap[match];
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
|
-
/**
|
|
24
|
-
* Replaces curly brace placeholders in a template with real content
|
|
25
|
-
*/
|
|
26
23
|
function render(template, data = {}) {
|
|
27
24
|
if (typeof template !== 'string') {
|
|
28
25
|
throw new TypeError(`Invalid template! Template should be a "string" but ${real_type_of_1.realTypeOf(template)} was given.`);
|
|
@@ -30,11 +27,8 @@ function render(template, data = {}) {
|
|
|
30
27
|
function replacer(chars, escape) {
|
|
31
28
|
return (match) => {
|
|
32
29
|
var _a;
|
|
33
|
-
// Remove the wrapping curly braces
|
|
34
30
|
match = match.slice(chars, -chars).trim();
|
|
35
|
-
// Grab the value from data, if it exists
|
|
36
31
|
const value = get_1.get(data, match);
|
|
37
|
-
// Replace with the value (or empty string)
|
|
38
32
|
if (escape) {
|
|
39
33
|
return String((_a = escapeHtml(value)) !== null && _a !== void 0 ? _a : '');
|
|
40
34
|
}
|
|
@@ -42,9 +36,7 @@ function render(template, data = {}) {
|
|
|
42
36
|
};
|
|
43
37
|
}
|
|
44
38
|
return (template
|
|
45
|
-
// Replace unescaped content
|
|
46
39
|
.replace(/\{\{\{([^}]+)\}\}\}/g, replacer(3, false))
|
|
47
|
-
// Replace escaped content
|
|
48
40
|
.replace(/\{\{([^}]+)\}\}/g, replacer(2, true)));
|
|
49
41
|
}
|
|
50
42
|
exports.render = render;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"placeholders.js","sourceRoot":"","sources":["../../../src/mapping-kit/placeholders.ts"],"names":[],"mappings":";;;AAAA,gCAA4B;AAC5B,kDAA4C;AAE5C,MAAM,SAAS,GAA2B;IACxC,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;CACd,CAAA;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAE3C,OAAO,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;QAC5C,OAAO,SAAS,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;AACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"placeholders.js","sourceRoot":"","sources":["../../../src/mapping-kit/placeholders.ts"],"names":[],"mappings":";;;AAAA,gCAA4B;AAC5B,kDAA4C;AAE5C,MAAM,SAAS,GAA2B;IACxC,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;CACd,CAAA;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAE3C,OAAO,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;QAC5C,OAAO,SAAS,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;AACJ,CAAC;AAKD,SAAgB,MAAM,CAAC,QAAgB,EAAE,OAAgB,EAAE;IACzD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;QAChC,MAAM,IAAI,SAAS,CAAC,uDAAuD,yBAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;KAC9G;IAED,SAAS,QAAQ,CAAC,KAAa,EAAE,MAAe;QAC9C,OAAO,CAAC,KAAa,EAAU,EAAE;;YAE/B,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAA;YAGzC,MAAM,KAAK,GAAG,SAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAG9B,IAAI,MAAM,EAAE;gBACV,OAAO,MAAM,CAAC,MAAA,UAAU,CAAC,KAAK,CAAC,mCAAI,EAAE,CAAC,CAAA;aACvC;YAED,OAAO,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAW,CAAA;QAChC,CAAC,CAAA;IACH,CAAC;IAED,OAAO,CACL,QAAQ;SAEL,OAAO,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;SAEnD,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAClD,CAAA;AACH,CAAC;AA7BD,wBA6BC"}
|
|
@@ -33,7 +33,6 @@ function realTypeOrDirective(value) {
|
|
|
33
33
|
}
|
|
34
34
|
const directives = {};
|
|
35
35
|
function validateDirective(obj, stack = []) {
|
|
36
|
-
// "allow" non-directive objects so that we can throw a more descriptive error below
|
|
37
36
|
if (!is_directive_1.isDirective(obj) && !real_type_of_1.isObject(obj)) {
|
|
38
37
|
const type = real_type_of_1.realTypeOf(obj);
|
|
39
38
|
throw new ValidationError(`should be a directive object but it is ${indefiniteArticle(type)} ${type}`, stack);
|
|
@@ -43,7 +42,6 @@ function validateDirective(obj, stack = []) {
|
|
|
43
42
|
if (directiveKeys.length > 1) {
|
|
44
43
|
throw new ValidationError(`should only have one @-prefixed key but it has ${directiveKeys.length} keys`, stack);
|
|
45
44
|
}
|
|
46
|
-
// Check that there aren't other keys besides @directive or _metadata
|
|
47
45
|
const otherKeys = keys.filter((key) => !key.startsWith('@') && key !== '_metadata');
|
|
48
46
|
if (otherKeys.length > 0) {
|
|
49
47
|
throw new ValidationError(`should only have one @-prefixed key but it has ${keys.length} keys`, stack);
|
|
@@ -82,28 +80,6 @@ function validateDirectiveOrString(v, stack = []) {
|
|
|
82
80
|
throw new ValidationError(`should be a string or a mapping directive but it is ${indefiniteArticle(type)} ${type}`, stack);
|
|
83
81
|
}
|
|
84
82
|
}
|
|
85
|
-
function validateDirectiveOrObject(v, stack = []) {
|
|
86
|
-
const type = realTypeOrDirective(v);
|
|
87
|
-
switch (type) {
|
|
88
|
-
case 'directive':
|
|
89
|
-
return validateDirective(v, stack);
|
|
90
|
-
case 'object':
|
|
91
|
-
return validateObject(v, stack);
|
|
92
|
-
default:
|
|
93
|
-
throw new ValidationError(`should be a mapping directive or an object but it is ${indefiniteArticle(type)} ${type}`, stack);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
function validateDirectiveOrArray(v, stack = []) {
|
|
97
|
-
const type = realTypeOrDirective(v);
|
|
98
|
-
switch (type) {
|
|
99
|
-
case 'directive':
|
|
100
|
-
return validateDirective(v, stack);
|
|
101
|
-
case 'array':
|
|
102
|
-
return validateArray(v, stack);
|
|
103
|
-
default:
|
|
104
|
-
throw new ValidationError(`should be a mapping directive or an array but it is ${indefiniteArticle(type)} ${type}`, stack);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
83
|
function validateObject(value, stack = []) {
|
|
108
84
|
const type = realTypeOrDirective(value);
|
|
109
85
|
if (type !== 'object') {
|
|
@@ -178,9 +154,6 @@ function directive(names, fn) {
|
|
|
178
154
|
};
|
|
179
155
|
});
|
|
180
156
|
}
|
|
181
|
-
directive('@base64', (v, stack) => {
|
|
182
|
-
validateDirectiveOrString(v, stack);
|
|
183
|
-
});
|
|
184
157
|
directive('@if', (v, stack) => {
|
|
185
158
|
validateObjectWithFields(v, {
|
|
186
159
|
exists: { optional: validateDirectiveOrRaw },
|
|
@@ -189,68 +162,12 @@ directive('@if', (v, stack) => {
|
|
|
189
162
|
else: { optional: validateDirectiveOrRaw }
|
|
190
163
|
}, stack);
|
|
191
164
|
});
|
|
192
|
-
directive('@json', (v, stack) => {
|
|
193
|
-
validateDirectiveOrRaw(v, stack);
|
|
194
|
-
});
|
|
195
|
-
directive('@lowercase', (v, stack) => {
|
|
196
|
-
validateDirectiveOrString(v, stack);
|
|
197
|
-
});
|
|
198
|
-
directive('@merge', (v, stack = []) => {
|
|
199
|
-
validateArray(v, stack);
|
|
200
|
-
const arr = v;
|
|
201
|
-
const errors = [];
|
|
202
|
-
arr.forEach((obj, i) => {
|
|
203
|
-
try {
|
|
204
|
-
validateDirectiveOrObject(obj, [...stack, `${i}`]);
|
|
205
|
-
}
|
|
206
|
-
catch (error) {
|
|
207
|
-
errors.push(error);
|
|
208
|
-
}
|
|
209
|
-
});
|
|
210
|
-
if (errors.length) {
|
|
211
|
-
throw new aggregate_error_1.default(errors);
|
|
212
|
-
}
|
|
213
|
-
});
|
|
214
|
-
directive(['@omit', '@pick'], (v, stack = []) => {
|
|
215
|
-
validateObjectWithFields(v, {
|
|
216
|
-
object: { required: validateDirectiveOrObject },
|
|
217
|
-
fields: { required: validateDirectiveOrArray }
|
|
218
|
-
}, stack);
|
|
219
|
-
const obj = v;
|
|
220
|
-
if (Array.isArray(obj.fields)) {
|
|
221
|
-
const errors = [];
|
|
222
|
-
obj.fields.forEach((field, i) => {
|
|
223
|
-
try {
|
|
224
|
-
validateDirectiveOrString(field, [...stack, i.toString()]);
|
|
225
|
-
}
|
|
226
|
-
catch (error) {
|
|
227
|
-
errors.push(error);
|
|
228
|
-
}
|
|
229
|
-
});
|
|
230
|
-
if (errors.length) {
|
|
231
|
-
throw new aggregate_error_1.default(errors);
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
});
|
|
235
165
|
directive('@path', (v, stack) => {
|
|
236
166
|
validateDirectiveOrString(v, stack);
|
|
237
167
|
});
|
|
238
|
-
directive('@root', () => {
|
|
239
|
-
// no-op
|
|
240
|
-
});
|
|
241
168
|
directive('@template', (v, stack) => {
|
|
242
169
|
validateDirectiveOrString(v, stack);
|
|
243
170
|
});
|
|
244
|
-
directive('@timestamp', (v, stack) => {
|
|
245
|
-
validateObjectWithFields(v, {
|
|
246
|
-
format: { required: validateDirectiveOrString },
|
|
247
|
-
inputFormat: { optional: validateDirectiveOrString },
|
|
248
|
-
timestamp: { required: validateDirectiveOrString }
|
|
249
|
-
}, stack);
|
|
250
|
-
});
|
|
251
|
-
directive('@uuid', () => {
|
|
252
|
-
// no-op
|
|
253
|
-
});
|
|
254
171
|
function indefiniteArticle(s) {
|
|
255
172
|
switch (s.charAt(0)) {
|
|
256
173
|
case 'a':
|
|
@@ -272,7 +189,6 @@ function validate(mapping, stack = []) {
|
|
|
272
189
|
case 'array':
|
|
273
190
|
return validateArray(mapping, stack);
|
|
274
191
|
default:
|
|
275
|
-
// All other types are valid "raw" mappings
|
|
276
192
|
return null;
|
|
277
193
|
}
|
|
278
194
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/mapping-kit/validate.ts"],"names":[],"mappings":";;;;;AAAA,sEAA4C;AAC5C,qDAA6C;AAC7C,iDAA4C;AAC5C,kDAAkE;AAElE,MAAM,eAAgB,SAAQ,6BAAW;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,yBAAc,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,yBAAU,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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"}
|
|
@@ -2,15 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const headersToObject = (headers) => {
|
|
4
4
|
const obj = {};
|
|
5
|
-
// @ts-ignore the types are wrong for Headers
|
|
6
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
7
5
|
for (const [key, value] of headers.entries()) {
|
|
8
6
|
obj[key] = value;
|
|
9
7
|
}
|
|
10
8
|
return obj;
|
|
11
9
|
};
|
|
12
10
|
const prepareHeaders = async (_request, _options, response) => {
|
|
13
|
-
// Adds `toJSON()` support for headers to get a plain object
|
|
14
11
|
Object.defineProperty(response.headers, 'toJSON', {
|
|
15
12
|
enumerable: false,
|
|
16
13
|
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,kBAAe,cAAc,CAAA"}
|
|
@@ -3,8 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const prepareResponse = async (_request, _options, response) => {
|
|
4
4
|
var _a;
|
|
5
5
|
const modifiedResponse = response;
|
|
6
|
-
// Clone the response before reading the body to avoid
|
|
7
|
-
// `TypeError: body used already` elsewhere
|
|
8
6
|
const clone = response.clone();
|
|
9
7
|
const content = await clone.text();
|
|
10
8
|
let data;
|
|
@@ -13,12 +11,10 @@ const prepareResponse = async (_request, _options, response) => {
|
|
|
13
11
|
data = JSON.parse(content);
|
|
14
12
|
}
|
|
15
13
|
else {
|
|
16
|
-
// TODO handle form urlencoded responses?
|
|
17
14
|
data = content;
|
|
18
15
|
}
|
|
19
16
|
}
|
|
20
17
|
catch (_error) {
|
|
21
|
-
// do nothing
|
|
22
18
|
}
|
|
23
19
|
modifiedResponse.content = content;
|
|
24
20
|
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,kBAAe,eAAe,CAAA"}
|
package/dist/cjs/omit.d.ts
CHANGED
package/dist/cjs/omit.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.omit = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Lightweight alternative to lodash.omit. Faster, and way less code.
|
|
6
|
-
*/
|
|
7
4
|
function omit(obj, keys) {
|
|
8
5
|
return Object.keys(obj).reduce((newObject, key) => {
|
|
9
6
|
if (keys.indexOf(key) === -1)
|
package/dist/cjs/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,SAAgB,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;AALD,oBAKC"}
|
|
@@ -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/cjs/real-type-of.js
CHANGED
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isString = exports.isArray = exports.isObject = exports.realTypeOf = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Gets the "true" type of an object, since JS `typeof` often returns `'object'`
|
|
6
|
-
* for arrays, date, regexp, and null
|
|
7
|
-
* @param obj - the object to get the real type of
|
|
8
|
-
*/
|
|
9
4
|
function realTypeOf(obj) {
|
|
10
5
|
return Object.prototype.toString.call(obj).slice(8, -1).toLowerCase();
|
|
11
6
|
}
|
|
@@ -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,SAAgB,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;AAbD,gCAaC;AAMD,SAAgB,QAAQ,CAAC,KAAc;IACrC,OAAO,UAAU,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAA;AACvC,CAAC;AAFD,4BAEC;AAED,SAAgB,OAAO,CAAC,KAAc;IACpC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC7B,CAAC;AAFD,0BAEC;AAED,SAAgB,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAA;AAClC,CAAC;AAFD,4BAEC"}
|
|
@@ -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;
|