@segment/actions-core 1.3.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 +5 -0
- package/dist/cjs/create-request-client.js +24 -0
- package/dist/cjs/dayjs.d.ts +2 -0
- package/dist/cjs/dayjs.js +10 -0
- package/dist/cjs/defaults.d.ts +2 -0
- package/dist/cjs/defaults.js +15 -0
- package/dist/cjs/destination-kit/action.d.ts +86 -0
- package/dist/cjs/destination-kit/action.js +217 -0
- package/dist/cjs/destination-kit/fields-to-jsonschema.d.ts +4 -0
- package/dist/cjs/destination-kit/fields-to-jsonschema.js +38 -0
- package/dist/cjs/destination-kit/index.d.ts +84 -0
- package/dist/cjs/destination-kit/index.js +165 -0
- package/dist/cjs/destination-kit/step.d.ts +38 -0
- package/dist/cjs/destination-kit/step.js +54 -0
- package/dist/cjs/destination-kit/types.d.ts +39 -0
- package/dist/cjs/destination-kit/types.js +3 -0
- package/dist/cjs/get.d.ts +5 -0
- package/dist/cjs/get.js +22 -0
- package/dist/cjs/index.d.ts +12 -0
- package/dist/cjs/index.js +26 -0
- package/dist/cjs/json-object.d.ts +11 -0
- package/dist/cjs/json-object.js +3 -0
- package/dist/cjs/mapping-kit/index.d.ts +8 -0
- package/dist/cjs/mapping-kit/index.js +182 -0
- package/dist/cjs/mapping-kit/is-directive.d.ts +2 -0
- package/dist/cjs/mapping-kit/is-directive.js +22 -0
- package/dist/cjs/mapping-kit/placeholders.d.ts +4 -0
- package/dist/cjs/mapping-kit/placeholders.js +51 -0
- package/dist/cjs/mapping-kit/validate.d.ts +1 -0
- package/dist/cjs/mapping-kit/validate.js +280 -0
- package/dist/cjs/omit.d.ts +4 -0
- package/dist/cjs/omit.js +15 -0
- package/dist/cjs/real-type-of.d.ts +12 -0
- package/dist/cjs/real-type-of.js +25 -0
- package/dist/cjs/remove-undefined.d.ts +1 -0
- package/dist/cjs/remove-undefined.js +24 -0
- package/dist/cjs/segment-event.d.ts +127 -0
- package/dist/cjs/segment-event.js +3 -0
- package/dist/cjs/time.d.ts +8 -0
- package/dist/cjs/time.js +18 -0
- package/dist/esm/create-request-client.d.ts +5 -0
- package/dist/esm/create-request-client.js +18 -0
- package/dist/esm/dayjs.d.ts +2 -0
- package/dist/esm/dayjs.js +5 -0
- package/dist/esm/defaults.d.ts +2 -0
- package/dist/esm/defaults.js +11 -0
- package/dist/esm/destination-kit/action.d.ts +86 -0
- package/dist/esm/destination-kit/action.js +209 -0
- package/dist/esm/destination-kit/fields-to-jsonschema.d.ts +4 -0
- package/dist/esm/destination-kit/fields-to-jsonschema.js +33 -0
- package/dist/esm/destination-kit/index.d.ts +84 -0
- package/dist/esm/destination-kit/index.js +157 -0
- package/dist/esm/destination-kit/step.d.ts +38 -0
- package/dist/esm/destination-kit/step.js +49 -0
- package/dist/esm/destination-kit/types.d.ts +39 -0
- package/dist/esm/destination-kit/types.js +2 -0
- package/dist/esm/get.d.ts +5 -0
- package/dist/esm/get.js +18 -0
- package/dist/esm/index.d.ts +12 -0
- package/dist/esm/index.js +9 -0
- package/dist/esm/json-object.d.ts +11 -0
- package/dist/esm/json-object.js +2 -0
- package/dist/esm/mapping-kit/index.d.ts +8 -0
- package/dist/esm/mapping-kit/index.js +175 -0
- package/dist/esm/mapping-kit/is-directive.d.ts +2 -0
- package/dist/esm/mapping-kit/is-directive.js +18 -0
- package/dist/esm/mapping-kit/placeholders.d.ts +4 -0
- package/dist/esm/mapping-kit/placeholders.js +47 -0
- package/dist/esm/mapping-kit/validate.d.ts +1 -0
- package/dist/esm/mapping-kit/validate.js +274 -0
- package/dist/esm/omit.d.ts +4 -0
- package/dist/esm/omit.js +11 -0
- package/dist/esm/real-type-of.d.ts +12 -0
- package/dist/esm/real-type-of.js +18 -0
- package/dist/esm/remove-undefined.d.ts +1 -0
- package/dist/esm/remove-undefined.js +20 -0
- package/dist/esm/segment-event.d.ts +127 -0
- package/dist/esm/segment-event.js +2 -0
- package/dist/esm/time.d.ts +8 -0
- package/dist/esm/time.js +13 -0
- package/package.json +74 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.render = void 0;
|
|
4
|
+
const get_1 = require("../get");
|
|
5
|
+
const real_type_of_1 = require("../real-type-of");
|
|
6
|
+
const entityMap = {
|
|
7
|
+
'&': '&',
|
|
8
|
+
'<': '<',
|
|
9
|
+
'>': '>',
|
|
10
|
+
'"': '"',
|
|
11
|
+
"'": ''',
|
|
12
|
+
'/': '/',
|
|
13
|
+
'`': '`',
|
|
14
|
+
'=': '='
|
|
15
|
+
};
|
|
16
|
+
function escapeHtml(value) {
|
|
17
|
+
if (typeof value !== 'string')
|
|
18
|
+
return value;
|
|
19
|
+
return value.replace(/[&<>"'`=/]/g, (match) => {
|
|
20
|
+
return entityMap[match];
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Replaces curly brace placeholders in a template with real content
|
|
25
|
+
*/
|
|
26
|
+
function render(template, data = {}) {
|
|
27
|
+
if (typeof template !== 'string') {
|
|
28
|
+
throw new TypeError(`Invalid template! Template should be a "string" but ${real_type_of_1.realTypeOf(template)} was given.`);
|
|
29
|
+
}
|
|
30
|
+
function replacer(chars, escape) {
|
|
31
|
+
return (match) => {
|
|
32
|
+
var _a;
|
|
33
|
+
// Remove the wrapping curly braces
|
|
34
|
+
match = match.slice(chars, -chars).trim();
|
|
35
|
+
// Grab the value from data, if it exists
|
|
36
|
+
const value = get_1.get(data, match);
|
|
37
|
+
// Replace with the value (or empty string)
|
|
38
|
+
if (escape) {
|
|
39
|
+
return String((_a = escapeHtml(value)) !== null && _a !== void 0 ? _a : '');
|
|
40
|
+
}
|
|
41
|
+
return (value !== null && value !== void 0 ? value : '');
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
return (template
|
|
45
|
+
// Replace unescaped content
|
|
46
|
+
.replace(/\{\{\{([^}]+)\}\}\}/g, replacer(3, false))
|
|
47
|
+
// Replace escaped content
|
|
48
|
+
.replace(/\{\{([^}]+)\}\}/g, replacer(2, true)));
|
|
49
|
+
}
|
|
50
|
+
exports.render = render;
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Vob2xkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21hcHBpbmcta2l0L3BsYWNlaG9sZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnQ0FBNEI7QUFDNUIsa0RBQTRDO0FBRTVDLE1BQU0sU0FBUyxHQUEyQjtJQUN4QyxHQUFHLEVBQUUsT0FBTztJQUNaLEdBQUcsRUFBRSxNQUFNO0lBQ1gsR0FBRyxFQUFFLE1BQU07SUFDWCxHQUFHLEVBQUUsUUFBUTtJQUNiLEdBQUcsRUFBRSxPQUFPO0lBQ1osR0FBRyxFQUFFLFFBQVE7SUFDYixHQUFHLEVBQUUsUUFBUTtJQUNiLEdBQUcsRUFBRSxRQUFRO0NBQ2QsQ0FBQTtBQUVELFNBQVMsVUFBVSxDQUFDLEtBQWM7SUFDaEMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRO1FBQUUsT0FBTyxLQUFLLENBQUE7SUFFM0MsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQzVDLE9BQU8sU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3pCLENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsTUFBTSxDQUFDLFFBQWdCLEVBQUUsT0FBZ0IsRUFBRTtJQUN6RCxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRTtRQUNoQyxNQUFNLElBQUksU0FBUyxDQUFDLHVEQUF1RCx5QkFBVSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQTtLQUM5RztJQUVELFNBQVMsUUFBUSxDQUFDLEtBQWEsRUFBRSxNQUFlO1FBQzlDLE9BQU8sQ0FBQyxLQUFhLEVBQVUsRUFBRTs7WUFDL0IsbUNBQW1DO1lBQ25DLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFBO1lBRXpDLHlDQUF5QztZQUN6QyxNQUFNLEtBQUssR0FBRyxTQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFBO1lBRTlCLDJDQUEyQztZQUMzQyxJQUFJLE1BQU0sRUFBRTtnQkFDVixPQUFPLE1BQU0sT0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLG1DQUFJLEVBQUUsQ0FBQyxDQUFBO2FBQ3ZDO1lBRUQsT0FBTyxDQUFDLEtBQUssYUFBTCxLQUFLLGNBQUwsS0FBSyxHQUFJLEVBQUUsQ0FBVyxDQUFBO1FBQ2hDLENBQUMsQ0FBQTtJQUNILENBQUM7SUFFRCxPQUFPLENBQ0wsUUFBUTtRQUNOLDRCQUE0QjtTQUMzQixPQUFPLENBQUMsc0JBQXNCLEVBQUUsUUFBUSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNwRCwwQkFBMEI7U0FDekIsT0FBTyxDQUFDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FDbEQsQ0FBQTtBQUNILENBQUM7QUE3QkQsd0JBNkJDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function validate(mapping: unknown, stack?: string[]): void | null;
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const aggregate_error_1 = __importDefault(require("aggregate-error"));
|
|
7
|
+
const ts_custom_error_1 = require("ts-custom-error");
|
|
8
|
+
const is_directive_1 = require("./is-directive");
|
|
9
|
+
const real_type_of_1 = require("../real-type-of");
|
|
10
|
+
class ValidationError extends ts_custom_error_1.CustomError {
|
|
11
|
+
constructor(message, stack = []) {
|
|
12
|
+
super(`/${stack.join('/')} ${message}.`);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function flatAggregate(errors) {
|
|
16
|
+
const result = [];
|
|
17
|
+
errors.forEach((error) => {
|
|
18
|
+
if (error instanceof aggregate_error_1.default) {
|
|
19
|
+
result.push(...error);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
result.push(error);
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
return result;
|
|
26
|
+
}
|
|
27
|
+
function realTypeOrDirective(value) {
|
|
28
|
+
const type = real_type_of_1.realTypeOf(value);
|
|
29
|
+
if (type === 'object' && Object.keys(value).some((k) => k.startsWith('@'))) {
|
|
30
|
+
return 'directive';
|
|
31
|
+
}
|
|
32
|
+
return type;
|
|
33
|
+
}
|
|
34
|
+
const directives = {};
|
|
35
|
+
function validateDirective(obj, stack = []) {
|
|
36
|
+
// "allow" non-directive objects so that we can throw a more descriptive error below
|
|
37
|
+
if (!is_directive_1.isDirective(obj) && !real_type_of_1.isObject(obj)) {
|
|
38
|
+
const type = real_type_of_1.realTypeOf(obj);
|
|
39
|
+
throw new ValidationError(`should be a directive object but it is ${indefiniteArticle(type)} ${type}`, stack);
|
|
40
|
+
}
|
|
41
|
+
const keys = Object.keys(obj);
|
|
42
|
+
const directiveKeys = keys.filter((key) => key.startsWith('@'));
|
|
43
|
+
if (directiveKeys.length > 1) {
|
|
44
|
+
throw new ValidationError(`should only have one @-prefixed key but it has ${directiveKeys.length} keys`, stack);
|
|
45
|
+
}
|
|
46
|
+
// Check that there aren't other keys besides @directive or _metadata
|
|
47
|
+
const otherKeys = keys.filter((key) => !key.startsWith('@') && key !== '_metadata');
|
|
48
|
+
if (otherKeys.length > 0) {
|
|
49
|
+
throw new ValidationError(`should only have one @-prefixed key but it has ${keys.length} keys`, stack);
|
|
50
|
+
}
|
|
51
|
+
const directiveKey = directiveKeys[0];
|
|
52
|
+
const fn = directives[directiveKey];
|
|
53
|
+
if (typeof fn !== 'function') {
|
|
54
|
+
throw new ValidationError(`has an invalid directive: ${directiveKey}`, stack);
|
|
55
|
+
}
|
|
56
|
+
fn(obj[directiveKey], stack);
|
|
57
|
+
}
|
|
58
|
+
function validateDirectiveOrRaw(v, stack = []) {
|
|
59
|
+
const type = realTypeOrDirective(v);
|
|
60
|
+
switch (type) {
|
|
61
|
+
case 'directive':
|
|
62
|
+
return validateDirective(v, stack);
|
|
63
|
+
case 'object':
|
|
64
|
+
case 'array':
|
|
65
|
+
case 'boolean':
|
|
66
|
+
case 'string':
|
|
67
|
+
case 'number':
|
|
68
|
+
case 'null':
|
|
69
|
+
return;
|
|
70
|
+
default:
|
|
71
|
+
throw new ValidationError(`should be a mapping directive or a JSON value but it is ${indefiniteArticle(type)} ${type}`, stack);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
function validateDirectiveOrString(v, stack = []) {
|
|
75
|
+
const type = realTypeOrDirective(v);
|
|
76
|
+
switch (type) {
|
|
77
|
+
case 'directive':
|
|
78
|
+
return validateDirective(v, stack);
|
|
79
|
+
case 'string':
|
|
80
|
+
return;
|
|
81
|
+
default:
|
|
82
|
+
throw new ValidationError(`should be a string or a mapping directive but it is ${indefiniteArticle(type)} ${type}`, stack);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
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
|
+
function validateObject(value, stack = []) {
|
|
108
|
+
const type = realTypeOrDirective(value);
|
|
109
|
+
if (type !== 'object') {
|
|
110
|
+
throw new ValidationError(`should be an object but it is ${indefiniteArticle(type)} ${type}`, stack);
|
|
111
|
+
}
|
|
112
|
+
const obj = value;
|
|
113
|
+
const keys = Object.keys(obj);
|
|
114
|
+
const directiveKey = keys.find((k) => k.charAt(0) === '@');
|
|
115
|
+
if (directiveKey) {
|
|
116
|
+
throw new ValidationError(`shouldn't have directive (@-prefixed) keys but it has ${JSON.stringify(directiveKey)}`, stack);
|
|
117
|
+
}
|
|
118
|
+
const errors = [];
|
|
119
|
+
keys.forEach((k) => {
|
|
120
|
+
try {
|
|
121
|
+
validate(obj[k], [...stack, k]);
|
|
122
|
+
}
|
|
123
|
+
catch (e) {
|
|
124
|
+
errors.push(e);
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
if (errors.length) {
|
|
128
|
+
throw new aggregate_error_1.default(flatAggregate(errors));
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
function validateObjectWithFields(input, fields, stack = []) {
|
|
132
|
+
validateObject(input, stack);
|
|
133
|
+
const errors = [];
|
|
134
|
+
const obj = input;
|
|
135
|
+
Object.entries(fields).forEach(([prop, { required, optional }]) => {
|
|
136
|
+
try {
|
|
137
|
+
if (required) {
|
|
138
|
+
if (obj[prop] === undefined) {
|
|
139
|
+
throw new ValidationError(`should have field ${JSON.stringify(prop)} but it doesn't`, stack);
|
|
140
|
+
}
|
|
141
|
+
required(obj[prop], [...stack, prop]);
|
|
142
|
+
}
|
|
143
|
+
else if (optional) {
|
|
144
|
+
if (obj[prop] !== undefined) {
|
|
145
|
+
optional(obj[prop], [...stack, prop]);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
errors.push(error);
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
if (errors.length) {
|
|
154
|
+
throw new aggregate_error_1.default(flatAggregate(errors));
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
function validateArray(arr, stack = []) {
|
|
158
|
+
const type = real_type_of_1.realTypeOf(arr);
|
|
159
|
+
if (type !== 'array') {
|
|
160
|
+
throw new ValidationError(`should be an array but it is ${indefiniteArticle(type)} ${type}`, stack);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
function directive(names, fn) {
|
|
164
|
+
if (!Array.isArray(names)) {
|
|
165
|
+
names = [names];
|
|
166
|
+
}
|
|
167
|
+
names.forEach((name) => {
|
|
168
|
+
directives[name] = (v, stack = []) => {
|
|
169
|
+
try {
|
|
170
|
+
fn(v, [...stack, name]);
|
|
171
|
+
}
|
|
172
|
+
catch (e) {
|
|
173
|
+
if (e instanceof ValidationError || e instanceof aggregate_error_1.default) {
|
|
174
|
+
throw e;
|
|
175
|
+
}
|
|
176
|
+
throw new ValidationError(e.message, stack);
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
directive('@base64', (v, stack) => {
|
|
182
|
+
validateDirectiveOrString(v, stack);
|
|
183
|
+
});
|
|
184
|
+
directive('@if', (v, stack) => {
|
|
185
|
+
validateObjectWithFields(v, {
|
|
186
|
+
exists: { optional: validateDirectiveOrRaw },
|
|
187
|
+
true: { optional: validateDirectiveOrRaw },
|
|
188
|
+
then: { optional: validateDirectiveOrRaw },
|
|
189
|
+
else: { optional: validateDirectiveOrRaw }
|
|
190
|
+
}, stack);
|
|
191
|
+
});
|
|
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
|
+
directive('@path', (v, stack) => {
|
|
236
|
+
validateDirectiveOrString(v, stack);
|
|
237
|
+
});
|
|
238
|
+
directive('@root', () => {
|
|
239
|
+
// no-op
|
|
240
|
+
});
|
|
241
|
+
directive('@template', (v, stack) => {
|
|
242
|
+
validateDirectiveOrString(v, stack);
|
|
243
|
+
});
|
|
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
|
+
function indefiniteArticle(s) {
|
|
255
|
+
switch (s.charAt(0)) {
|
|
256
|
+
case 'a':
|
|
257
|
+
case 'e':
|
|
258
|
+
case 'i':
|
|
259
|
+
case 'o':
|
|
260
|
+
case 'u':
|
|
261
|
+
return 'an';
|
|
262
|
+
default:
|
|
263
|
+
return 'a';
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
function validate(mapping, stack = []) {
|
|
267
|
+
switch (realTypeOrDirective(mapping)) {
|
|
268
|
+
case 'directive':
|
|
269
|
+
return validateDirective(mapping, stack);
|
|
270
|
+
case 'object':
|
|
271
|
+
return validateObject(mapping, stack);
|
|
272
|
+
case 'array':
|
|
273
|
+
return validateArray(mapping, stack);
|
|
274
|
+
default:
|
|
275
|
+
// All other types are valid "raw" mappings
|
|
276
|
+
return null;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
exports.default = validate;
|
|
280
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWFwcGluZy1raXQvdmFsaWRhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxzRUFBNEM7QUFDNUMscURBQTZDO0FBQzdDLGlEQUE0QztBQUM1QyxrREFBa0U7QUFFbEUsTUFBTSxlQUFnQixTQUFRLDZCQUFXO0lBQ3ZDLFlBQVksT0FBZSxFQUFFLFFBQWtCLEVBQUU7UUFDL0MsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFBO0lBQzFDLENBQUM7Q0FDRjtBQUVELFNBQVMsYUFBYSxDQUFDLE1BQWU7SUFDcEMsTUFBTSxNQUFNLEdBQVksRUFBRSxDQUFBO0lBRTFCLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUN2QixJQUFJLEtBQUssWUFBWSx5QkFBYyxFQUFFO1lBQ25DLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQTtTQUN0QjthQUFNO1lBQ0wsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtTQUNuQjtJQUNILENBQUMsQ0FBQyxDQUFBO0lBRUYsT0FBTyxNQUFNLENBQUE7QUFDZixDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FBQyxLQUFjO0lBQ3pDLE1BQU0sSUFBSSxHQUFHLHlCQUFVLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDOUIsSUFBSSxJQUFJLEtBQUssUUFBUSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBZSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7UUFDcEYsT0FBTyxXQUFXLENBQUE7S0FDbkI7SUFDRCxPQUFPLElBQUksQ0FBQTtBQUNiLENBQUM7QUFRRCxNQUFN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
|
package/dist/cjs/omit.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.omit = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Lightweight alternative to lodash.omit. Faster, and way less code.
|
|
6
|
+
*/
|
|
7
|
+
function omit(obj, keys) {
|
|
8
|
+
return Object.keys(obj).reduce((newObject, key) => {
|
|
9
|
+
if (keys.indexOf(key) === -1)
|
|
10
|
+
newObject[key] = obj[key];
|
|
11
|
+
return newObject;
|
|
12
|
+
}, {});
|
|
13
|
+
}
|
|
14
|
+
exports.omit = omit;
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib21pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vbWl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOztHQUVHO0FBQ0gsU0FBZ0IsSUFBSSxDQUF1QyxHQUFNLEVBQUUsSUFBTztJQUN4RSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxFQUFFO1FBQ2hELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUksR0FBK0IsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNwRixPQUFPLFNBQVMsQ0FBQTtJQUNsQixDQUFDLEVBQUUsRUFBNkIsQ0FBcUIsQ0FBQTtBQUN2RCxDQUFDO0FBTEQsb0JBS0MifQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
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
|
+
export declare function realTypeOf(obj: unknown): "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" | "null" | "array" | "regexp";
|
|
7
|
+
export interface Dictionary<T = unknown> {
|
|
8
|
+
[key: string]: T;
|
|
9
|
+
}
|
|
10
|
+
export declare function isObject(value: unknown): value is Dictionary;
|
|
11
|
+
export declare function isArray(value: unknown): value is unknown[];
|
|
12
|
+
export declare function isString(value: unknown): value is string;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
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
|
+
function realTypeOf(obj) {
|
|
10
|
+
return Object.prototype.toString.call(obj).slice(8, -1).toLowerCase();
|
|
11
|
+
}
|
|
12
|
+
exports.realTypeOf = realTypeOf;
|
|
13
|
+
function isObject(value) {
|
|
14
|
+
return realTypeOf(value) === 'object';
|
|
15
|
+
}
|
|
16
|
+
exports.isObject = isObject;
|
|
17
|
+
function isArray(value) {
|
|
18
|
+
return Array.isArray(value);
|
|
19
|
+
}
|
|
20
|
+
exports.isArray = isArray;
|
|
21
|
+
function isString(value) {
|
|
22
|
+
return typeof value === 'string';
|
|
23
|
+
}
|
|
24
|
+
exports.isString = isString;
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbC10eXBlLW9mLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlYWwtdHlwZS1vZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7OztHQUlHO0FBQ0gsU0FBZ0IsVUFBVSxDQUFDLEdBQVk7SUFDckMsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFXdkQsQ0FBQTtBQUNkLENBQUM7QUFiRCxnQ0FhQztBQU1ELFNBQWdCLFFBQVEsQ0FBQyxLQUFjO0lBQ3JDLE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxLQUFLLFFBQVEsQ0FBQTtBQUN2QyxDQUFDO0FBRkQsNEJBRUM7QUFFRCxTQUFnQixPQUFPLENBQUMsS0FBYztJQUNwQyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDN0IsQ0FBQztBQUZELDBCQUVDO0FBRUQsU0FBZ0IsUUFBUSxDQUFDLEtBQWM7SUFDckMsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUE7QUFDbEMsQ0FBQztBQUZELDRCQUVDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function removeUndefined<T = unknown>(value: T): T;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.removeUndefined = void 0;
|
|
4
|
+
const real_type_of_1 = require("./real-type-of");
|
|
5
|
+
function removeUndefined(value) {
|
|
6
|
+
if (Array.isArray(value)) {
|
|
7
|
+
return value.map((item) => removeUndefined(item));
|
|
8
|
+
}
|
|
9
|
+
else if (real_type_of_1.isObject(value)) {
|
|
10
|
+
const cleaned = Object.assign({}, value);
|
|
11
|
+
Object.keys(cleaned).forEach((key) => {
|
|
12
|
+
if (cleaned[key] === undefined) {
|
|
13
|
+
delete cleaned[key];
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
cleaned[key] = removeUndefined(cleaned[key]);
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
return cleaned;
|
|
20
|
+
}
|
|
21
|
+
return value;
|
|
22
|
+
}
|
|
23
|
+
exports.removeUndefined = removeUndefined;
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLXVuZGVmaW5lZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZW1vdmUtdW5kZWZpbmVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlEQUF5QztBQU16QyxTQUFnQixlQUFlLENBQWMsS0FBUTtJQUNuRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDeEIsT0FBUSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQWtCLENBQUE7S0FDcEU7U0FBTSxJQUFJLHVCQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDMUIsTUFBTSxPQUFPLEdBQWUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDcEQsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNuQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLEVBQUU7Z0JBQzlCLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFBO2FBQ3BCO2lCQUFNO2dCQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7YUFDN0M7UUFDSCxDQUFDLENBQUMsQ0FBQTtRQUNGLE9BQVEsT0FBd0IsQ0FBQTtLQUNqQztJQUVELE9BQU8sS0FBSyxDQUFBO0FBQ2QsQ0FBQztBQWhCRCwwQ0FnQkMifQ==
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { JSONValue } from './json-object';
|
|
2
|
+
declare type ID = string | null | undefined;
|
|
3
|
+
declare type CompactMetricType = 'g' | 'c';
|
|
4
|
+
interface CompactMetric {
|
|
5
|
+
m: string;
|
|
6
|
+
v: number;
|
|
7
|
+
k: CompactMetricType;
|
|
8
|
+
t: string[];
|
|
9
|
+
e: number;
|
|
10
|
+
}
|
|
11
|
+
export declare type Integrations = {
|
|
12
|
+
All?: boolean;
|
|
13
|
+
[integration: string]: boolean | undefined;
|
|
14
|
+
};
|
|
15
|
+
export declare type Options = {
|
|
16
|
+
integrations?: Integrations;
|
|
17
|
+
anonymousId?: ID;
|
|
18
|
+
timestamp?: Date | string;
|
|
19
|
+
context?: AnalyticsContext;
|
|
20
|
+
traits?: object;
|
|
21
|
+
[key: string]: any;
|
|
22
|
+
};
|
|
23
|
+
interface AnalyticsContext {
|
|
24
|
+
page?: {
|
|
25
|
+
/**
|
|
26
|
+
* {@link https://github.com/segmentio/analytics.js-integrations/blob/2d5c637c022d2661c23449aed237d0d546bf062d/integrations/segmentio/lib/index.js#L151}
|
|
27
|
+
*/
|
|
28
|
+
path?: string;
|
|
29
|
+
referrer?: string;
|
|
30
|
+
search?: string;
|
|
31
|
+
title?: string;
|
|
32
|
+
url?: string;
|
|
33
|
+
};
|
|
34
|
+
metrics?: CompactMetric[];
|
|
35
|
+
/**
|
|
36
|
+
* {@link https://github.com/segmentio/analytics.js-integrations/blob/2d5c637c022d2661c23449aed237d0d546bf062d/integrations/segmentio/lib/index.js#L285}
|
|
37
|
+
*/
|
|
38
|
+
userAgent?: string;
|
|
39
|
+
/**
|
|
40
|
+
* {@link https://github.com/segmentio/analytics.js-integrations/blob/2d5c637c022d2661c23449aed237d0d546bf062d/integrations/segmentio/lib/index.js#L286-L289}
|
|
41
|
+
*/
|
|
42
|
+
locale?: string;
|
|
43
|
+
/**
|
|
44
|
+
* {@link https://github.com/segmentio/analytics.js-integrations/blob/2d5c637c022d2661c23449aed237d0d546bf062d/integrations/segmentio/lib/index.js#L290-L291}
|
|
45
|
+
*/
|
|
46
|
+
library?: {
|
|
47
|
+
name: string;
|
|
48
|
+
version: string;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* {@link https://github.com/segmentio/analytics.js-integrations/blob/2d5c637c022d2661c23449aed237d0d546bf062d/integrations/segmentio/lib/index.js#L292-L301}
|
|
52
|
+
*/
|
|
53
|
+
traits?: {
|
|
54
|
+
crossDomainId: string;
|
|
55
|
+
};
|
|
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
|
+
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
|
+
name: string;
|
|
68
|
+
term: string;
|
|
69
|
+
source: string;
|
|
70
|
+
medium: string;
|
|
71
|
+
content: string;
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* {@link https://github.com/segmentio/analytics.js-integrations/blob/2d5c637c022d2661c23449aed237d0d546bf062d/integrations/segmentio/lib/index.js#L415}
|
|
75
|
+
*/
|
|
76
|
+
referrer?: {
|
|
77
|
+
btid?: string;
|
|
78
|
+
urid?: string;
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* {@link https://github.com/segmentio/analytics.js-integrations/blob/2d5c637c022d2661c23449aed237d0d546bf062d/integrations/segmentio/lib/index.js#L322}
|
|
82
|
+
*/
|
|
83
|
+
amp?: {
|
|
84
|
+
id: string;
|
|
85
|
+
};
|
|
86
|
+
[key: string]: any;
|
|
87
|
+
}
|
|
88
|
+
export interface SegmentEvent {
|
|
89
|
+
messageId?: string;
|
|
90
|
+
type: 'track' | 'page' | 'identify' | 'group' | 'alias' | 'screen';
|
|
91
|
+
category?: string;
|
|
92
|
+
name?: string;
|
|
93
|
+
properties?: object & {
|
|
94
|
+
[k: string]: JSONValue;
|
|
95
|
+
};
|
|
96
|
+
traits?: object & {
|
|
97
|
+
[k: string]: JSONValue;
|
|
98
|
+
};
|
|
99
|
+
integrations?: Integrations;
|
|
100
|
+
context?: AnalyticsContext;
|
|
101
|
+
options?: Options;
|
|
102
|
+
userId?: ID;
|
|
103
|
+
anonymousId?: ID;
|
|
104
|
+
groupId?: ID;
|
|
105
|
+
previousId?: ID;
|
|
106
|
+
event?: string;
|
|
107
|
+
/**
|
|
108
|
+
* {@link https://github.com/segmentio/analytics.js-integrations/blob/2d5c637c022d2661c23449aed237d0d546bf062d/integrations/segmentio/lib/index.js#L284}
|
|
109
|
+
*/
|
|
110
|
+
writeKey?: string;
|
|
111
|
+
receivedAt?: Date | string;
|
|
112
|
+
/**
|
|
113
|
+
* {@link https://github.com/segmentio/analytics.js-integrations/blob/2d5c637c022d2661c23449aed237d0d546bf062d/integrations/segmentio/lib/index.js#L151}
|
|
114
|
+
*/
|
|
115
|
+
sentAt?: Date | string;
|
|
116
|
+
/**
|
|
117
|
+
* {@link https://github.com/segmentio/analytics.js-integrations/blob/2d5c637c022d2661c23449aed237d0d546bf062d/integrations/segmentio/lib/index.js#L311-L320}
|
|
118
|
+
*/
|
|
119
|
+
_metadata?: {
|
|
120
|
+
failedInitializations?: unknown[];
|
|
121
|
+
bundled?: string[];
|
|
122
|
+
unbundledIntegrations?: string[];
|
|
123
|
+
nodeVersion?: string;
|
|
124
|
+
};
|
|
125
|
+
timestamp?: Date | string;
|
|
126
|
+
}
|
|
127
|
+
export {};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC1ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZWdtZW50LWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
package/dist/cjs/time.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.duration = exports.time = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Gets hrtime for logging/metrics.
|
|
6
|
+
*/
|
|
7
|
+
function time() {
|
|
8
|
+
return process.hrtime.bigint();
|
|
9
|
+
}
|
|
10
|
+
exports.time = time;
|
|
11
|
+
/**
|
|
12
|
+
* Calculates the duration in decimal milliseconds for logging/metrics purposes.
|
|
13
|
+
*/
|
|
14
|
+
function duration(start, stop) {
|
|
15
|
+
return Number(stop - start) / 1000000;
|
|
16
|
+
}
|
|
17
|
+
exports.duration = duration;
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90aW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOztHQUVHO0FBQ0gsU0FBZ0IsSUFBSTtJQUNsQixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUE7QUFDaEMsQ0FBQztBQUZELG9CQUVDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixRQUFRLENBQUMsS0FBYSxFQUFFLElBQVk7SUFDbEQsT0FBTyxNQUFNLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxHQUFHLE9BQU8sQ0FBQTtBQUN2QyxDQUFDO0FBRkQsNEJBRUMifQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import got from 'got';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a Got client instance with Segment's default configuration + custom options
|
|
4
|
+
*/
|
|
5
|
+
export default function createRequestClient(...options) {
|
|
6
|
+
const defaultOptions = {
|
|
7
|
+
// disable automatic retries
|
|
8
|
+
retry: 0,
|
|
9
|
+
// default is no timeout
|
|
10
|
+
timeout: 5000,
|
|
11
|
+
headers: {
|
|
12
|
+
'user-agent': 'Segment'
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
const client = got.extend(defaultOptions, ...options);
|
|
16
|
+
return client;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXJlcXVlc3QtY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NyZWF0ZS1yZXF1ZXN0LWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEdBQTJCLE1BQU0sS0FBSyxDQUFBO0FBRTdDOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE9BQU8sVUFBVSxtQkFBbUIsQ0FBQyxHQUFHLE9BQXdCO0lBQ3JFLE1BQU0sY0FBYyxHQUFHO1FBQ3JCLDRCQUE0QjtRQUM1QixLQUFLLEVBQUUsQ0FBQztRQUNSLHdCQUF3QjtRQUN4QixPQUFPLEVBQUUsSUFBSTtRQUNiLE9BQU8sRUFBRTtZQUNQLFlBQVksRUFBRSxTQUFTO1NBQ3hCO0tBQ0YsQ0FBQTtJQUVELE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUE7SUFDckQsT0FBTyxNQUFNLENBQUE7QUFDZixDQUFDIn0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import dayjs from 'dayjs';
|
|
2
|
+
import utc from 'dayjs/plugin/utc';
|
|
3
|
+
dayjs.extend(utc);
|
|
4
|
+
export default dayjs;
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5anMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF5anMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFBO0FBQ3pCLE9BQU8sR0FBRyxNQUFNLGtCQUFrQixDQUFBO0FBRWxDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7QUFFakIsZUFBZSxLQUFLLENBQUEifQ==
|