@chainlink/external-adapter-framework 0.29.8 → 0.29.10
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/README.md +19 -12
- package/adapter/basic.js +5 -1
- package/adapter/basic.js.map +1 -1
- package/background-executor.js +1 -1
- package/background-executor.js.map +1 -1
- package/cache/index.d.ts +5 -8
- package/cache/index.js +8 -10
- package/cache/index.js.map +1 -1
- package/cache/local.js +6 -6
- package/cache/local.js.map +1 -1
- package/cache/redis.js +4 -4
- package/cache/redis.js.map +1 -1
- package/cache/response.js +3 -5
- package/cache/response.js.map +1 -1
- package/config/index.d.ts +53 -42
- package/config/index.js +11 -1
- package/config/index.js.map +1 -1
- package/index.d.ts +6 -6
- package/index.js +26 -22
- package/index.js.map +1 -1
- package/metrics/index.d.ts +1 -0
- package/metrics/index.js +5 -2
- package/metrics/index.js.map +1 -1
- package/package.json +2 -1
- package/transports/abstract/streaming.js +2 -2
- package/transports/abstract/streaming.js.map +1 -1
- package/transports/abstract/subscription.js +1 -1
- package/transports/abstract/subscription.js.map +1 -1
- package/transports/http.js +3 -3
- package/transports/http.js.map +1 -1
- package/transports/websocket.js +5 -5
- package/transports/websocket.js.map +1 -1
- package/util/index.d.ts +16 -0
- package/util/index.js +30 -1
- package/util/index.js.map +1 -1
- package/util/logger.d.ts +1 -0
- package/util/logger.js +8 -1
- package/util/logger.js.map +1 -1
- package/util/requester.js +8 -8
- package/util/requester.js.map +1 -1
- package/util/testing-utils.d.ts +119 -0
- package/util/testing-utils.js +342 -0
- package/util/testing-utils.js.map +1 -0
- package/validation/error.d.ts +1 -1
- package/validation/error.js +1 -1
- package/validation/error.js.map +1 -1
- package/validation/index.js +10 -7
- package/validation/index.js.map +1 -1
- package/validation/utils.d.ts +14 -6
- package/validation/utils.js +78 -38
- package/validation/utils.js.map +1 -1
package/validation/utils.js
CHANGED
|
@@ -4,68 +4,105 @@ exports.validator = void 0;
|
|
|
4
4
|
const net_1 = require("net");
|
|
5
5
|
// Composes complex validator function that runs each validator in order and returns first occurred error description and skips the rest of validation
|
|
6
6
|
const compose = (validatorFunctions) => {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
7
|
+
const meta = {};
|
|
8
|
+
const details = [];
|
|
9
|
+
for (const validator of validatorFunctions) {
|
|
10
|
+
if (validator.meta.min !== undefined) {
|
|
11
|
+
meta.min = validator.meta.min;
|
|
13
12
|
}
|
|
14
|
-
|
|
13
|
+
if (validator.meta.max !== undefined) {
|
|
14
|
+
meta.max = validator.meta.max;
|
|
15
|
+
}
|
|
16
|
+
if (validator.meta.details) {
|
|
17
|
+
details.push(validator.meta.details);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
meta.details = details.join(', ');
|
|
21
|
+
return {
|
|
22
|
+
meta: meta,
|
|
23
|
+
fn: (value) => {
|
|
24
|
+
for (const validator of validatorFunctions) {
|
|
25
|
+
const errorText = validator.fn(value);
|
|
26
|
+
if (errorText?.length) {
|
|
27
|
+
return errorText;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return;
|
|
31
|
+
},
|
|
15
32
|
};
|
|
16
33
|
};
|
|
17
|
-
const _integer = () => {
|
|
18
|
-
|
|
34
|
+
const _integer = () => ({
|
|
35
|
+
meta: {
|
|
36
|
+
details: 'Value must be an integer',
|
|
37
|
+
},
|
|
38
|
+
fn: (value) => {
|
|
19
39
|
if (!Number.isInteger(value)) {
|
|
20
|
-
return `Value
|
|
40
|
+
return `Value must be an integer (no floating point)., Received ${typeof value} ${value}`;
|
|
21
41
|
}
|
|
22
42
|
return;
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
const positive = () => {
|
|
26
|
-
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
const positive = () => ({
|
|
46
|
+
meta: {
|
|
47
|
+
details: 'Value must be a positive number',
|
|
48
|
+
},
|
|
49
|
+
fn: (value) => {
|
|
27
50
|
if (value !== undefined && Number(value) < 0) {
|
|
28
|
-
return `Value
|
|
51
|
+
return `Value must be positive number, Received ${value}`;
|
|
29
52
|
}
|
|
30
53
|
return;
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
const minNumber = (param) => {
|
|
34
|
-
|
|
54
|
+
},
|
|
55
|
+
});
|
|
56
|
+
const minNumber = (param) => ({
|
|
57
|
+
meta: {
|
|
58
|
+
details: 'Value must be above the minimum',
|
|
59
|
+
min: param,
|
|
60
|
+
},
|
|
61
|
+
fn: (value) => {
|
|
35
62
|
if (value !== undefined && Number(value) < param) {
|
|
36
63
|
return `Minimum allowed value is ${param}. Received ${value}`;
|
|
37
64
|
}
|
|
38
65
|
return;
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
const maxNumber = (param) => {
|
|
42
|
-
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
const maxNumber = (param) => ({
|
|
69
|
+
meta: {
|
|
70
|
+
details: 'Value must be below the maximum',
|
|
71
|
+
max: param,
|
|
72
|
+
},
|
|
73
|
+
fn: (value) => {
|
|
43
74
|
if (value !== undefined && Number(value) > param) {
|
|
44
75
|
return `Maximum allowed value is ${param}. Received ${value}`;
|
|
45
76
|
}
|
|
46
77
|
return;
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
const url = () => {
|
|
50
|
-
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
const url = () => ({
|
|
81
|
+
meta: {
|
|
82
|
+
details: 'Value must be a valid URL',
|
|
83
|
+
},
|
|
84
|
+
fn: (value) => {
|
|
51
85
|
try {
|
|
52
86
|
value && new URL(value);
|
|
53
87
|
}
|
|
54
88
|
catch (e) {
|
|
55
|
-
return `Value
|
|
89
|
+
return `Value must be valid URL. Received ${value}`;
|
|
56
90
|
}
|
|
57
91
|
return;
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
const host = () => {
|
|
61
|
-
|
|
92
|
+
},
|
|
93
|
+
});
|
|
94
|
+
const host = () => ({
|
|
95
|
+
meta: {
|
|
96
|
+
details: 'Value must be a valid IP address',
|
|
97
|
+
},
|
|
98
|
+
fn: (value) => {
|
|
62
99
|
const result = (0, net_1.isIP)(value || '');
|
|
63
100
|
if (result === 0 && value !== 'localhost') {
|
|
64
101
|
return `Value is not valid IP address. Received ${value}`;
|
|
65
102
|
}
|
|
66
103
|
return;
|
|
67
|
-
}
|
|
68
|
-
};
|
|
104
|
+
},
|
|
105
|
+
});
|
|
69
106
|
const positiveInteger = () => compose([_integer(), positive()]);
|
|
70
107
|
const integer = (params) => {
|
|
71
108
|
const validators = [_integer()];
|
|
@@ -80,8 +117,11 @@ const integer = (params) => {
|
|
|
80
117
|
const port = () => integer({ min: 1, max: 65535 });
|
|
81
118
|
// Validates that value is a valid timestamp from 2018-01-01 to now + 50ms to account for clock drift
|
|
82
119
|
const responseTimestamp = () => integer({ min: 1514764861000, max: new Date().getTime() + 50 });
|
|
83
|
-
const base64 = () => {
|
|
84
|
-
|
|
120
|
+
const base64 = () => ({
|
|
121
|
+
meta: {
|
|
122
|
+
details: 'Value must be a valid base64 string',
|
|
123
|
+
},
|
|
124
|
+
fn: (value) => {
|
|
85
125
|
const errorMessage = `Value is not valid base64 string.`;
|
|
86
126
|
if (!value) {
|
|
87
127
|
return errorMessage;
|
|
@@ -94,8 +134,8 @@ const base64 = () => {
|
|
|
94
134
|
catch (err) {
|
|
95
135
|
return errorMessage;
|
|
96
136
|
}
|
|
97
|
-
}
|
|
98
|
-
};
|
|
137
|
+
},
|
|
138
|
+
});
|
|
99
139
|
exports.validator = {
|
|
100
140
|
integer,
|
|
101
141
|
positiveInteger,
|
package/validation/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/validation/utils.ts"],"names":[],"mappings":";;;AAAA,6BAA0B;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/validation/utils.ts"],"names":[],"mappings":"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"}
|