@nangohq/runner-sdk 0.69.6 → 0.69.7
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/dataValidation.js +18 -4
- package/dist/dataValidation.js.map +1 -1
- package/package.json +4 -4
package/dist/dataValidation.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Ajv } from 'ajv';
|
|
2
2
|
import addFormats from 'ajv-formats';
|
|
3
3
|
let ajv;
|
|
4
|
-
const cache = new Map();
|
|
4
|
+
const cache = new Map(); // caching compiled validators (or error if compilation fails) by modelName-version
|
|
5
5
|
export function clearValidationCache() {
|
|
6
6
|
cache.clear();
|
|
7
7
|
}
|
|
@@ -31,12 +31,26 @@ export function validateData({ version, input, modelName, jsonSchema }) {
|
|
|
31
31
|
try {
|
|
32
32
|
const key = `${modelName}-${version}`;
|
|
33
33
|
if (cache.has(key)) {
|
|
34
|
-
|
|
34
|
+
const cached = cache.get(key);
|
|
35
|
+
// if the cached value is an error, return it directly
|
|
36
|
+
// this avoids re-compiling schemas that previously failed to compile
|
|
37
|
+
if (cached instanceof Error) {
|
|
38
|
+
return [cached];
|
|
39
|
+
}
|
|
40
|
+
validator = cached;
|
|
35
41
|
}
|
|
36
42
|
else {
|
|
37
43
|
// append all definitions and set current model name as the entry point
|
|
38
|
-
|
|
39
|
-
|
|
44
|
+
try {
|
|
45
|
+
validator = ajv.compile({ ...jsonSchema, ...jsonSchema['definitions'][modelName] });
|
|
46
|
+
cache.set(key, validator);
|
|
47
|
+
}
|
|
48
|
+
catch (err) {
|
|
49
|
+
const error = err instanceof Error ? err : new Error('failed_to_compile_json_schema');
|
|
50
|
+
// store the error in cache to avoid re-compiling
|
|
51
|
+
cache.set(key, error);
|
|
52
|
+
return [error];
|
|
53
|
+
}
|
|
40
54
|
}
|
|
41
55
|
if (validator(input)) {
|
|
42
56
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataValidation.js","sourceRoot":"","sources":["../lib/dataValidation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,UAAU,MAAM,aAAa,CAAC;AAYrC,IAAI,GAAQ,CAAC;AACb,MAAM,KAAK,GAAG,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"dataValidation.js","sourceRoot":"","sources":["../lib/dataValidation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,UAAU,MAAM,aAAa,CAAC;AAYrC,IAAI,GAAQ,CAAC;AACb,MAAM,KAAK,GAAG,IAAI,GAAG,EAAyC,CAAC,CAAC,mFAAmF;AAEnJ,MAAM,UAAU,oBAAoB;IAChC,KAAK,CAAC,KAAK,EAAE,CAAC;AAClB,CAAC;AAID,MAAM,UAAU,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAiB;IACjF,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,uDAAuD;QACvD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,IAAI,KAAK,EAAE,CAAC;YACR,mDAAmD;YACnD,OAAO,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC/G,CAAC;QACD,+CAA+C;QAC/C,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAE,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,mDAAmD;QACnD,OAAO,CAAC,IAAI,KAAK,CAAC,mBAAmB,SAAS,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,mCAAmC;QACnC,UAAU,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,IAAI,SAAgC,CAAC;IACrC,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,SAAS,IAAI,OAAO,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;YAC/B,sDAAsD;YACtD,qEAAqE;YACrE,IAAI,MAAM,YAAY,KAAK,EAAE,CAAC;gBAC1B,OAAO,CAAC,MAAM,CAAC,CAAC;YACpB,CAAC;YACD,SAAS,GAAG,MAAM,CAAC;QACvB,CAAC;aAAM,CAAC;YACJ,uEAAuE;YACvE,IAAI,CAAC;gBACD,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,GAAI,UAAkB,EAAE,GAAI,UAAU,CAAC,aAAa,CAAE,CAAC,SAAS,CAAS,EAAE,CAAC,CAAC;gBACvG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBACtF,iDAAiD;gBACjD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACtB,OAAO,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;QACL,CAAC;QAED,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,GAAG,GAAkB,EAAE,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,MAAO,EAAE,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACjB,SAAS;QACb,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,GAAG,CAAC;AACf,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nangohq/runner-sdk",
|
|
3
|
-
"version": "0.69.
|
|
3
|
+
"version": "0.69.7",
|
|
4
4
|
"description": "Nango's Runner SDK",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@nangohq/node": "0.69.
|
|
9
|
-
"@nangohq/providers": "0.69.
|
|
8
|
+
"@nangohq/node": "0.69.7",
|
|
9
|
+
"@nangohq/providers": "0.69.7",
|
|
10
10
|
"ajv": "8.17.1",
|
|
11
11
|
"ajv-formats": "3.0.1",
|
|
12
12
|
"lodash-es": "4.17.21",
|
|
13
13
|
"parse-link-header": "2.0.0"
|
|
14
14
|
},
|
|
15
15
|
"devDependencies": {
|
|
16
|
-
"@nangohq/types": "0.69.
|
|
16
|
+
"@nangohq/types": "0.69.7",
|
|
17
17
|
"@types/json-schema": "7.0.15",
|
|
18
18
|
"axios": "1.12.0",
|
|
19
19
|
"json-schema": "0.4.0",
|