@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.
@@ -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
- validator = cache.get(key);
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
- validator = ajv.compile({ ...jsonSchema, ...jsonSchema['definitions'][modelName] });
39
- cache.set(key, validator);
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,EAAiC,CAAC;AAEvD,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,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;QAChC,CAAC;aAAM,CAAC;YACJ,uEAAuE;YACvE,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,GAAI,UAAkB,EAAE,GAAI,UAAU,CAAC,aAAa,CAAE,CAAC,SAAS,CAAS,EAAE,CAAC,CAAC;YACvG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC9B,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"}
1
+ {"version":3,"file":"dataValidation.js","sourceRoot":"","sources":["../lib/dataValidation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "name": "@nangohq/runner-sdk",
3
- "version": "0.69.6",
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.6",
9
- "@nangohq/providers": "0.69.6",
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.6",
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",