@api3/commons 0.1.0 → 0.2.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.
Files changed (48) hide show
  1. package/README.md +14 -5
  2. package/dist/eslint/jest.d.ts +1 -0
  3. package/dist/eslint/jest.js +1 -0
  4. package/dist/eslint/jest.js.map +1 -1
  5. package/dist/eslint/react.d.ts +0 -1
  6. package/dist/eslint/react.js +0 -1
  7. package/dist/eslint/react.js.map +1 -1
  8. package/dist/eslint/universal.d.ts +1 -5
  9. package/dist/eslint/universal.js +2 -19
  10. package/dist/eslint/universal.js.map +1 -1
  11. package/dist/processing/index.d.ts +4 -0
  12. package/dist/processing/index.d.ts.map +1 -0
  13. package/dist/processing/index.js +20 -0
  14. package/dist/processing/index.js.map +1 -0
  15. package/dist/processing/processing.d.ts +39 -0
  16. package/dist/processing/processing.d.ts.map +1 -0
  17. package/dist/processing/processing.js +122 -0
  18. package/dist/processing/processing.js.map +1 -0
  19. package/dist/processing/schema.d.ts +4 -0
  20. package/dist/processing/schema.d.ts.map +1 -0
  21. package/dist/processing/schema.js +6 -0
  22. package/dist/processing/schema.js.map +1 -0
  23. package/dist/processing/unsafe-evaluate.d.ts +50 -0
  24. package/dist/processing/unsafe-evaluate.d.ts.map +1 -0
  25. package/dist/processing/unsafe-evaluate.js +178 -0
  26. package/dist/processing/unsafe-evaluate.js.map +1 -0
  27. package/dist/processing/vm-timers.d.ts +21 -0
  28. package/dist/processing/vm-timers.d.ts.map +1 -0
  29. package/dist/processing/vm-timers.js +54 -0
  30. package/dist/processing/vm-timers.js.map +1 -0
  31. package/package.json +6 -4
  32. package/src/eslint/README.md +0 -5
  33. package/src/eslint/jest.js +1 -0
  34. package/src/eslint/react.js +0 -1
  35. package/src/eslint/universal.js +2 -20
  36. package/src/processing/README.md +49 -0
  37. package/src/processing/index.ts +3 -0
  38. package/src/processing/processing.test.ts +272 -0
  39. package/src/processing/processing.ts +160 -0
  40. package/src/processing/schema.ts +5 -0
  41. package/src/processing/unsafe-evaluate.test.ts +103 -0
  42. package/src/processing/unsafe-evaluate.ts +178 -0
  43. package/src/processing/vm-timers.ts +58 -0
  44. package/dist/index.d.ts +0 -1
  45. package/dist/index.d.ts.map +0 -1
  46. package/dist/index.js +0 -4
  47. package/dist/index.js.map +0 -1
  48. package/src/index.ts +0 -2
package/README.md CHANGED
@@ -30,19 +30,28 @@ Read the documentation of each module how to use it in the project.
30
30
 
31
31
  ### Import paths
32
32
 
33
- We want the consumers to import common utilities like this:
33
+ There are two options how to import the commons modules, depending on the module resolution:
34
34
 
35
35
  ```ts
36
- import { createLogger } from '@api3/commons/logger';
37
- // and not like this
36
+ // 1) Import relative to the "node_modules" directory.
38
37
  import { createLogger } from '@api3/commons/dist/logger';
38
+ // 2) Cleaner imports based on the "exports" field in "package.json".
39
+ import { createLogger } from '@api3/commons/logger';
39
40
  ```
40
41
 
42
+ #### Import relative to the "node_modules"
43
+
44
+ This is the default CommonJS style and it applies if you have `moduleResolution` set to `Node` or `Node10` inside the
45
+ `tsconfig.json`.
46
+
47
+ #### The "exports" based import
48
+
41
49
  This is done via `package.json` field called [exports](https://nodejs.org/api/packages.html#package-entry-points). This
42
50
  field works for both CJS and ESM starting from Node version 12. In order for TS to support this, you need to make sure
43
- you use `moduleResolution` and `module` set to `Node16`:
51
+ you use `moduleResolution` and `module` set to `Node16` inside `tsconfig.json`.
44
52
 
45
- ```json
53
+ ```jsonc
54
+ // tsconfig.json
46
55
  {
47
56
  "compilerOptions": {
48
57
  "module": "Node16",
@@ -23,6 +23,7 @@ export let overrides: {
23
23
  'jest/no-hooks': (string | {
24
24
  allow: string[];
25
25
  })[];
26
+ 'prefer-lowercase-title': string;
26
27
  };
27
28
  }[];
28
29
  //# sourceMappingURL=jest.d.ts.map
@@ -30,6 +30,7 @@ module.exports = {
30
30
  allow: ['afterEach', 'afterAll'],
31
31
  },
32
32
  ],
33
+ 'prefer-lowercase-title': 'off', // Sometimes we want to start the test with a capital letter and some words are all uppercase (e.g. AWS).
33
34
  },
34
35
  },
35
36
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"jest.js","sourceRoot":"","sources":["../../src/eslint/jest.js"],"names":[],"mappings":";AAAA,MAAM,CAAC,OAAO,GAAG;IACf,MAAM,EAAE,2BAA2B;IACnC,aAAa,EAAE;QACb,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,QAAQ,EAAE,8CAA8C;KACrE;IACD,GAAG,EAAE;QACH,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI;KACd;IACD,8DAA8D;IAC9D,SAAS,EAAE;QACT;YACE,KAAK,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,CAAC;YACzE,GAAG,EAAE;gBACH,IAAI,EAAE,IAAI;aACX;YACD,OAAO,EAAE,CAAC,MAAM,CAAC;YACjB,OAAO,EAAE,CAAC,iBAAiB,EAAE,oCAAoC,CAAC;YAClE,KAAK,EAAE;gBACL,+BAA+B,EAAE,KAAK;gBACtC,kBAAkB,EAAE,KAAK;gBACzB,iCAAiC,EAAE,KAAK;gBACxC,kBAAkB,EAAE,KAAK;gBACzB,kBAAkB,EAAE,KAAK;gBACzB,eAAe,EAAE;oBACf,OAAO;oBACP;wBACE,KAAK,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;qBACjC;iBACF;aACF;SACF;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"jest.js","sourceRoot":"","sources":["../../src/eslint/jest.js"],"names":[],"mappings":";AAAA,MAAM,CAAC,OAAO,GAAG;IACf,MAAM,EAAE,2BAA2B;IACnC,aAAa,EAAE;QACb,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,QAAQ,EAAE,8CAA8C;KACrE;IACD,GAAG,EAAE;QACH,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI;KACd;IACD,8DAA8D;IAC9D,SAAS,EAAE;QACT;YACE,KAAK,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,CAAC;YACzE,GAAG,EAAE;gBACH,IAAI,EAAE,IAAI;aACX;YACD,OAAO,EAAE,CAAC,MAAM,CAAC;YACjB,OAAO,EAAE,CAAC,iBAAiB,EAAE,oCAAoC,CAAC;YAClE,KAAK,EAAE;gBACL,+BAA+B,EAAE,KAAK;gBACtC,kBAAkB,EAAE,KAAK;gBACzB,iCAAiC,EAAE,KAAK;gBACxC,kBAAkB,EAAE,KAAK;gBACzB,kBAAkB,EAAE,KAAK;gBACzB,eAAe,EAAE;oBACf,OAAO;oBACP;wBACE,KAAK,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;qBACjC;iBACF;gBACD,wBAAwB,EAAE,KAAK,EAAE,yGAAyG;aAC3I;SACF;KACF;CACF,CAAC"}
@@ -42,7 +42,6 @@ export declare let rules: {
42
42
  'react/forbid-dom-props': (string | {
43
43
  forbid: never[];
44
44
  })[];
45
- 'react/function-component-definition': string;
46
45
  'react/jsx-curly-brace-presence': (string | {
47
46
  props: string;
48
47
  children: string;
@@ -41,7 +41,6 @@ module.exports = {
41
41
  'react/destructuring-assignment': ['error', 'always', { destructureInSignature: 'ignore' }],
42
42
  'react/forbid-component-props': ['error', { forbid: [] }],
43
43
  'react/forbid-dom-props': ['error', { forbid: [] }],
44
- 'react/function-component-definition': 'off',
45
44
  'react/jsx-curly-brace-presence': ['error', { props: 'never', children: 'never', propElementValues: 'always' }],
46
45
  'react/jsx-curly-newline': 'off',
47
46
  'react/jsx-filename-extension': 'off',
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sourceRoot":"","sources":["../../src/eslint/react.js"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEpC,8DAA8D;AAC9D,MAAM,EAAE,gCAAgC,EAAE,0BAA0B,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAE/F,MAAM,CAAC,OAAO,GAAG;IACf,MAAM,EAAE,2BAA2B;IACnC,aAAa,EAAE;QACb,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE;YACZ,GAAG,EAAE,IAAI,EAAE,sBAAsB;SAClC;QACD,UAAU,EAAE,QAAQ,EAAE,mCAAmC;KAC1D;IACD,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,OAAO,EAAE,QAAQ,EAAE,6CAA6C;SACjE;KACF;IACD,GAAG,EAAE;QACH,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI;KACd;IACD,OAAO,EAAE,CAAC,kBAAkB,EAAE,gCAAgC,CAAC;IAC/D,OAAO,EAAE,CAAC,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,QAAQ,CAAC;IAC5D,KAAK,EAAE;QACL,cAAc,EAAE;YACd,OAAO;YACP,KAAK,CAAC,EAAE,EAAE,0BAA0B,EAAE;gBACpC,4BAA4B;gBAC5B,UAAU,EAAE;oBACV;wBACE,OAAO,EAAE,OAAO;wBAChB,KAAK,EAAE,SAAS;wBAChB,QAAQ,EAAE,QAAQ;qBACnB;iBACF;aACF,CAAC;SACH;QACD,kCAAkC;QAClC,gCAAgC,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,sBAAsB,EAAE,QAAQ,EAAE,CAAC;QAC3F,8BAA8B,EAAE,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QACzD,wBAAwB,EAAE,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QACnD,qCAAqC,EAAE,KAAK;QAC5C,gCAAgC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC;QAC/G,yBAAyB,EAAE,KAAK;QAChC,8BAA8B,EAAE,KAAK;QACrC,yBAAyB,EAAE,KAAK;QAChC,kBAAkB,EAAE,KAAK;QACzB,wBAAwB,EAAE,KAAK;QAC/B,qBAAqB,EAAE,KAAK;QAC5B,8BAA8B,EAAE,KAAK;QACrC,mBAAmB,EAAE,KAAK;QAC1B,mBAAmB,EAAE,KAAK;QAC1B,4BAA4B,EAAE,KAAK;QACnC,uBAAuB,EAAE,KAAK;QAC9B,mCAAmC,EAAE,KAAK;QAC1C,8BAA8B,EAAE,KAAK;QACrC,sBAAsB,EAAE,KAAK;QAC7B,qBAAqB,EAAE,KAAK;QAC5B,6BAA6B,EAAE,KAAK;QACpC,4BAA4B,EAAE,KAAK;QACnC,8BAA8B,EAAE,KAAK;QACrC,kBAAkB,EAAE,KAAK;QACzB,0BAA0B,EAAE,KAAK;QACjC,6BAA6B,EAAE,KAAK;QACpC,yBAAyB,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACrE,qCAAqC,EAAE,OAAO;QAE9C,+CAA+C;QAC/C,0CAA0C,EAAE;YAC1C,OAAO;YACP,KAAK,CAAC,EAAE,EAAE,gCAAgC,EAAE;gBAC1C,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,OAAO;wBACb,WAAW,EAAE,CAAC,SAAS,CAAC;wBACxB,OAAO,EACL,uHAAuH;qBAC1H;iBACF;aACF,CAAC;SACH;QAED,mCAAmC;QACnC,qBAAqB,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;KAC3C;CACF,CAAC"}
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../../src/eslint/react.js"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEpC,8DAA8D;AAC9D,MAAM,EAAE,gCAAgC,EAAE,0BAA0B,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAE/F,MAAM,CAAC,OAAO,GAAG;IACf,MAAM,EAAE,2BAA2B;IACnC,aAAa,EAAE;QACb,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE;YACZ,GAAG,EAAE,IAAI,EAAE,sBAAsB;SAClC;QACD,UAAU,EAAE,QAAQ,EAAE,mCAAmC;KAC1D;IACD,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,OAAO,EAAE,QAAQ,EAAE,6CAA6C;SACjE;KACF;IACD,GAAG,EAAE;QACH,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI;KACd;IACD,OAAO,EAAE,CAAC,kBAAkB,EAAE,gCAAgC,CAAC;IAC/D,OAAO,EAAE,CAAC,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,QAAQ,CAAC;IAC5D,KAAK,EAAE;QACL,cAAc,EAAE;YACd,OAAO;YACP,KAAK,CAAC,EAAE,EAAE,0BAA0B,EAAE;gBACpC,4BAA4B;gBAC5B,UAAU,EAAE;oBACV;wBACE,OAAO,EAAE,OAAO;wBAChB,KAAK,EAAE,SAAS;wBAChB,QAAQ,EAAE,QAAQ;qBACnB;iBACF;aACF,CAAC;SACH;QACD,kCAAkC;QAClC,gCAAgC,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,sBAAsB,EAAE,QAAQ,EAAE,CAAC;QAC3F,8BAA8B,EAAE,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QACzD,wBAAwB,EAAE,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QACnD,gCAAgC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC;QAC/G,yBAAyB,EAAE,KAAK;QAChC,8BAA8B,EAAE,KAAK;QACrC,yBAAyB,EAAE,KAAK;QAChC,kBAAkB,EAAE,KAAK;QACzB,wBAAwB,EAAE,KAAK;QAC/B,qBAAqB,EAAE,KAAK;QAC5B,8BAA8B,EAAE,KAAK;QACrC,mBAAmB,EAAE,KAAK;QAC1B,mBAAmB,EAAE,KAAK;QAC1B,4BAA4B,EAAE,KAAK;QACnC,uBAAuB,EAAE,KAAK;QAC9B,mCAAmC,EAAE,KAAK;QAC1C,8BAA8B,EAAE,KAAK;QACrC,sBAAsB,EAAE,KAAK;QAC7B,qBAAqB,EAAE,KAAK;QAC5B,6BAA6B,EAAE,KAAK;QACpC,4BAA4B,EAAE,KAAK;QACnC,8BAA8B,EAAE,KAAK;QACrC,kBAAkB,EAAE,KAAK;QACzB,0BAA0B,EAAE,KAAK;QACjC,6BAA6B,EAAE,KAAK;QACpC,yBAAyB,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACrE,qCAAqC,EAAE,OAAO;QAE9C,+CAA+C;QAC/C,0CAA0C,EAAE;YAC1C,OAAO;YACP,KAAK,CAAC,EAAE,EAAE,gCAAgC,EAAE;gBAC1C,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,OAAO;wBACb,WAAW,EAAE,CAAC,SAAS,CAAC;wBACxB,OAAO,EACL,uHAAuH;qBAC1H;iBACF;aACF,CAAC;SACH;QAED,mCAAmC;QACnC,qBAAqB,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;KAC3C;CACF,CAAC"}
@@ -54,11 +54,6 @@ export declare let rules: {
54
54
  markers: string[];
55
55
  };
56
56
  })[];
57
- 'prefer-arrow/prefer-arrow-functions': (string | {
58
- disallowPrototype: boolean;
59
- singleReturnOnly: boolean;
60
- classPropertiesAllowed: boolean;
61
- })[];
62
57
  'check-file/folder-naming-convention': (string | {
63
58
  '**/': string;
64
59
  })[];
@@ -72,6 +67,7 @@ export declare let rules: {
72
67
  'unicorn/no-array-reduce': string;
73
68
  'unicorn/no-nested-ternary': string;
74
69
  'unicorn/no-null': string;
70
+ 'unicorn/no-object-as-default-parameter': string;
75
71
  'unicorn/no-useless-undefined': (string | {
76
72
  checkArguments: boolean;
77
73
  })[];
@@ -20,16 +20,7 @@ module.exports = {
20
20
  'plugin:promise/recommended',
21
21
  'plugin:lodash/recommended',
22
22
  ],
23
- plugins: [
24
- '@typescript-eslint',
25
- 'deprecation',
26
- 'functional',
27
- 'prefer-arrow',
28
- 'unicorn',
29
- 'check-file',
30
- 'import',
31
- 'lodash',
32
- ],
23
+ plugins: ['@typescript-eslint', 'deprecation', 'functional', 'unicorn', 'check-file', 'import', 'lodash'],
33
24
  rules: {
34
25
  /* Rule definitions and overrides for standard ESLint rules */
35
26
  camelcase: 'error',
@@ -77,15 +68,6 @@ module.exports = {
77
68
  },
78
69
  },
79
70
  ],
80
- /* Rules to setup enforcement of arrow functions over regular functions */
81
- 'prefer-arrow/prefer-arrow-functions': [
82
- 'error',
83
- {
84
- disallowPrototype: true,
85
- singleReturnOnly: false,
86
- classPropertiesAllowed: false,
87
- },
88
- ],
89
71
  /* Rules to enforce kebab-case folder structure */
90
72
  'check-file/folder-naming-convention': [
91
73
  'error',
@@ -107,6 +89,7 @@ module.exports = {
107
89
  'unicorn/no-array-reduce': 'off',
108
90
  'unicorn/no-nested-ternary': 'off',
109
91
  'unicorn/no-null': 'off',
92
+ 'unicorn/no-object-as-default-parameter': 'off',
110
93
  'unicorn/no-useless-undefined': ['error', { checkArguments: false }],
111
94
  'unicorn/prefer-module': 'off',
112
95
  'unicorn/prevent-abbreviations': 'off',
@@ -1 +1 @@
1
- {"version":3,"file":"universal.js","sourceRoot":"","sources":["../../src/eslint/universal.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"universal.js","sourceRoot":"","sources":["../../src/eslint/universal.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from './processing';
2
+ export * from './schema';
3
+ export * from './unsafe-evaluate';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/processing/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./processing"), exports);
18
+ __exportStar(require("./schema"), exports);
19
+ __exportStar(require("./unsafe-evaluate"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/processing/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,2CAAyB;AACzB,oDAAkC"}
@@ -0,0 +1,39 @@
1
+ import { type Endpoint } from '@api3/ois';
2
+ import { type GoAsyncOptions } from '@api3/promise-utils';
3
+ import { type ApiCallParameters } from './schema';
4
+ export declare const DEFAULT_PROCESSING_TIMEOUT_MS = 10000;
5
+ /**
6
+ * Removes reserved parameters from the parameters object.
7
+ * @param parameters The API call parameters from which reserved parameters will be removed.
8
+ * @returns The parameters object without reserved parameters.
9
+ */
10
+ export declare const removeReservedParameters: (parameters: ApiCallParameters) => ApiCallParameters;
11
+ /**
12
+ * Re-inserts reserved parameters from the initial parameters object into the modified parameters object.
13
+ * @param initialParameters The initial API call parameters that might contain reserved parameters.
14
+ * @param modifiedParameters The modified API call parameters to which reserved parameters will be added.
15
+ * @returns The modified parameters object with re-inserted reserved parameters.
16
+ */
17
+ export declare const addReservedParameters: (initialParameters: ApiCallParameters, modifiedParameters: ApiCallParameters) => ApiCallParameters;
18
+ /**
19
+ * Pre-processes API call parameters based on the provided endpoint's processing specifications.
20
+ *
21
+ * @param endpoint The endpoint containing processing specifications.
22
+ * @param apiCallParameters The parameters to be pre-processed.
23
+ * @param processingOptions Options to control the async processing behavior like retries and timeouts.
24
+ *
25
+ * @returns A promise that resolves to the pre-processed parameters.
26
+ */
27
+ export declare const preProcessApiCallParameters: (endpoint: Endpoint, apiCallParameters: ApiCallParameters, processingOptions?: GoAsyncOptions) => Promise<ApiCallParameters>;
28
+ /**
29
+ * Post-processes the API call response based on the provided endpoint's processing specifications.
30
+ *
31
+ * @param apiCallResponse The raw response obtained from the API call.
32
+ * @param endpoint The endpoint containing processing specifications.
33
+ * @param apiCallParameters The parameters used in the API call.
34
+ * @param processingOptions Options to control the async processing behavior like retries and timeouts.
35
+ *
36
+ * @returns A promise that resolves to the post-processed API call response.
37
+ */
38
+ export declare const postProcessApiCallResponse: (apiCallResponse: unknown, endpoint: Endpoint, apiCallParameters: ApiCallParameters, processingOptions?: GoAsyncOptions) => Promise<unknown>;
39
+ //# sourceMappingURL=processing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processing.d.ts","sourceRoot":"","sources":["../../src/processing/processing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAuB,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,KAAK,cAAc,EAAM,MAAM,qBAAqB,CAAC;AAE9D,OAAO,EAAE,KAAK,iBAAiB,EAA2B,MAAM,UAAU,CAAC;AAG3E,eAAO,MAAM,6BAA6B,QAAS,CAAC;AAIpD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,eAAgB,iBAAiB,KAAG,iBAUxE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,sBACb,iBAAiB,sBAChB,iBAAiB,KACpC,iBAQF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B,aAC5B,QAAQ,qBACC,iBAAiB,sBACjB,cAAc,KAChC,QAAQ,iBAAiB,CA4C3B,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,oBACpB,OAAO,YACd,QAAQ,qBACC,iBAAiB,sBACjB,cAAc,qBAwClC,CAAC"}
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.postProcessApiCallResponse = exports.preProcessApiCallParameters = exports.addReservedParameters = exports.removeReservedParameters = exports.DEFAULT_PROCESSING_TIMEOUT_MS = void 0;
4
+ const ois_1 = require("@api3/ois");
5
+ const promise_utils_1 = require("@api3/promise-utils");
6
+ const schema_1 = require("./schema");
7
+ const unsafe_evaluate_1 = require("./unsafe-evaluate");
8
+ exports.DEFAULT_PROCESSING_TIMEOUT_MS = 10_000;
9
+ const reservedParameters = ois_1.RESERVED_PARAMETERS; // To avoid strict TS checks.
10
+ /**
11
+ * Removes reserved parameters from the parameters object.
12
+ * @param parameters The API call parameters from which reserved parameters will be removed.
13
+ * @returns The parameters object without reserved parameters.
14
+ */
15
+ const removeReservedParameters = (parameters) => {
16
+ const result = {};
17
+ for (const key in parameters) {
18
+ if (!reservedParameters.includes(key)) {
19
+ result[key] = parameters[key];
20
+ }
21
+ }
22
+ return result;
23
+ };
24
+ exports.removeReservedParameters = removeReservedParameters;
25
+ /**
26
+ * Re-inserts reserved parameters from the initial parameters object into the modified parameters object.
27
+ * @param initialParameters The initial API call parameters that might contain reserved parameters.
28
+ * @param modifiedParameters The modified API call parameters to which reserved parameters will be added.
29
+ * @returns The modified parameters object with re-inserted reserved parameters.
30
+ */
31
+ const addReservedParameters = (initialParameters, modifiedParameters) => {
32
+ for (const key in initialParameters) {
33
+ if (reservedParameters.includes(key)) {
34
+ modifiedParameters[key] = initialParameters[key];
35
+ }
36
+ }
37
+ return modifiedParameters;
38
+ };
39
+ exports.addReservedParameters = addReservedParameters;
40
+ /**
41
+ * Pre-processes API call parameters based on the provided endpoint's processing specifications.
42
+ *
43
+ * @param endpoint The endpoint containing processing specifications.
44
+ * @param apiCallParameters The parameters to be pre-processed.
45
+ * @param processingOptions Options to control the async processing behavior like retries and timeouts.
46
+ *
47
+ * @returns A promise that resolves to the pre-processed parameters.
48
+ */
49
+ const preProcessApiCallParameters = async (endpoint, apiCallParameters, processingOptions = { retries: 0, totalTimeoutMs: exports.DEFAULT_PROCESSING_TIMEOUT_MS }) => {
50
+ const { preProcessingSpecifications } = endpoint;
51
+ if (!preProcessingSpecifications || preProcessingSpecifications.length === 0) {
52
+ return apiCallParameters;
53
+ }
54
+ // We only wrap the code through "go" utils because of the timeout and retry logic.
55
+ const goProcessedParameters = await (0, promise_utils_1.go)(async () => {
56
+ let currentValue = (0, exports.removeReservedParameters)(apiCallParameters);
57
+ for (const processing of preProcessingSpecifications) {
58
+ // Provide endpoint parameters without reserved parameters immutably between steps. Recompute them for each
59
+ // snippet independently because processing snippets can modify the parameters.
60
+ const endpointParameters = (0, exports.removeReservedParameters)(apiCallParameters);
61
+ switch (processing.environment) {
62
+ case 'Node': {
63
+ currentValue = await (0, unsafe_evaluate_1.unsafeEvaluate)(processing.value, { input: currentValue, endpointParameters }, processing.timeoutMs);
64
+ break;
65
+ }
66
+ case 'Node async': {
67
+ currentValue = await (0, unsafe_evaluate_1.unsafeEvaluateAsync)(processing.value, { input: currentValue, endpointParameters }, processing.timeoutMs);
68
+ break;
69
+ }
70
+ }
71
+ }
72
+ return currentValue;
73
+ }, processingOptions);
74
+ if (!goProcessedParameters.success)
75
+ throw goProcessedParameters.error;
76
+ // Let this throw if the processed parameters are invalid.
77
+ const parsedParameters = schema_1.apiCallParametersSchema.parse(goProcessedParameters.data);
78
+ // Having removed reserved parameters for pre-processing, we need to re-insert them for the API call.
79
+ return (0, exports.addReservedParameters)(apiCallParameters, parsedParameters);
80
+ };
81
+ exports.preProcessApiCallParameters = preProcessApiCallParameters;
82
+ /**
83
+ * Post-processes the API call response based on the provided endpoint's processing specifications.
84
+ *
85
+ * @param apiCallResponse The raw response obtained from the API call.
86
+ * @param endpoint The endpoint containing processing specifications.
87
+ * @param apiCallParameters The parameters used in the API call.
88
+ * @param processingOptions Options to control the async processing behavior like retries and timeouts.
89
+ *
90
+ * @returns A promise that resolves to the post-processed API call response.
91
+ */
92
+ const postProcessApiCallResponse = async (apiCallResponse, endpoint, apiCallParameters, processingOptions = { retries: 0, totalTimeoutMs: exports.DEFAULT_PROCESSING_TIMEOUT_MS }) => {
93
+ const { postProcessingSpecifications } = endpoint;
94
+ if (!postProcessingSpecifications || postProcessingSpecifications?.length === 0) {
95
+ return apiCallResponse;
96
+ }
97
+ // We only wrap the code through "go" utils because of the timeout and retry logic.
98
+ const goResult = await (0, promise_utils_1.go)(async () => {
99
+ let currentValue = apiCallResponse;
100
+ for (const processing of postProcessingSpecifications) {
101
+ // Provide endpoint parameters without reserved parameters immutably between steps. Recompute them for each
102
+ // snippet independently because processing snippets can modify the parameters.
103
+ const endpointParameters = (0, exports.removeReservedParameters)(apiCallParameters);
104
+ switch (processing.environment) {
105
+ case 'Node': {
106
+ currentValue = await (0, unsafe_evaluate_1.unsafeEvaluate)(processing.value, { input: currentValue, endpointParameters }, processing.timeoutMs);
107
+ break;
108
+ }
109
+ case 'Node async': {
110
+ currentValue = await (0, unsafe_evaluate_1.unsafeEvaluateAsync)(processing.value, { input: currentValue, endpointParameters }, processing.timeoutMs);
111
+ break;
112
+ }
113
+ }
114
+ }
115
+ return currentValue;
116
+ }, processingOptions);
117
+ if (!goResult.success)
118
+ throw goResult.error;
119
+ return goResult.data;
120
+ };
121
+ exports.postProcessApiCallResponse = postProcessApiCallResponse;
122
+ //# sourceMappingURL=processing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processing.js","sourceRoot":"","sources":["../../src/processing/processing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { z } from 'zod';
2
+ export declare const apiCallParametersSchema: z.ZodRecord<z.ZodString, z.ZodAny>;
3
+ export type ApiCallParameters = z.infer<typeof apiCallParametersSchema>;
4
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/processing/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,uBAAuB,oCAAgC,CAAC;AAErE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.apiCallParametersSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.apiCallParametersSchema = zod_1.z.record(zod_1.z.string(), zod_1.z.any());
6
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/processing/schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,GAAG,EAAE,CAAC,CAAC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Evaluates the provided code in a new VM context with the specified global variables.
3
+ *
4
+ * **Security Warning:** This function executes the provided code and can have unintended side effects or
5
+ * vulnerabilities if used with untrusted or malicious input. It's imperative to use this function only with code you
6
+ * trust completely. Avoid using this function with user-generated code or third-party code that hasn't been thoroughly
7
+ * reviewed.
8
+ *
9
+ * @param code The JavaScript code to evaluate.
10
+ * @param globalVariables A key-value pair of variables to be made available in the context of the executed code.
11
+ * @param timeout Duration in milliseconds to wait before terminating the execution.
12
+ *
13
+ * @returns The result of the evaluated code.
14
+ *
15
+ * @throws Throws an error if the execution exceeds the provided timeout or if there's a problem with the code.
16
+ *
17
+ * @example
18
+ *
19
+ *const result = unsafeEvaluate('const output = input + 1;', { input: 1 }, 1000);
20
+ *console.log(result); // Outputs: 2
21
+ */
22
+ export declare const unsafeEvaluate: (code: string, globalVariables: Record<string, unknown>, timeout: number) => unknown;
23
+ /**
24
+ * Asynchronously evaluates the provided code in a new VM context with the specified global variables.
25
+ *
26
+ * **Security Warning:** This function executes the provided code and can have unintended side effects or
27
+ * vulnerabilities if used with untrusted or malicious input. It's imperative to use this function only with code you
28
+ * trust completely. Avoid using this function with user-generated code or third-party code that hasn't been thoroughly
29
+ * reviewed.
30
+ *
31
+ * @param code The JavaScript code to evaluate. The code should call the `resolve` method to return the result of the
32
+ * evaluation. You may use async/await syntax in the code.
33
+ * @param globalVariables A key-value pair of variables to be made available in the context of the executed code.
34
+ * @param timeout Duration in milliseconds to wait before terminating the execution.
35
+ *
36
+ * @returns The result of the evaluated code wrapped in a Promise.
37
+ *
38
+ * @throws Throws an error if the execution exceeds the provided timeout or if there's a problem with the code.
39
+ *
40
+ * @example
41
+ *
42
+ *const result = await unsafeEvaluateAsync(
43
+ * "const output = {...input, c: 'some-value'}; resolve(output);",
44
+ * { input: { a: true, b: 123 } },
45
+ * 5000
46
+ *);
47
+ *console.log(result); // Outputs: { a: true, b: 123, c: 'some-value' }
48
+ */
49
+ export declare const unsafeEvaluateAsync: (code: string, globalVariables: Record<string, unknown>, timeout: number) => Promise<unknown>;
50
+ //# sourceMappingURL=unsafe-evaluate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unsafe-evaluate.d.ts","sourceRoot":"","sources":["../../src/processing/unsafe-evaluate.ts"],"names":[],"mappings":"AA+EA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,cAAc,SAAU,MAAM,mBAAmB,OAAO,MAAM,EAAE,OAAO,CAAC,WAAW,MAAM,YAarG,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,mBAAmB,SAAgB,MAAM,mBAAmB,OAAO,MAAM,EAAE,OAAO,CAAC,WAAW,MAAM,qBAoChH,CAAC"}
@@ -0,0 +1,178 @@
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
+ exports.unsafeEvaluateAsync = exports.unsafeEvaluate = void 0;
7
+ /* eslint-disable camelcase */
8
+ const node_assert_1 = __importDefault(require("node:assert"));
9
+ const node_async_hooks_1 = __importDefault(require("node:async_hooks"));
10
+ const node_buffer_1 = __importDefault(require("node:buffer"));
11
+ const node_child_process_1 = __importDefault(require("node:child_process"));
12
+ const node_cluster_1 = __importDefault(require("node:cluster"));
13
+ const node_console_1 = __importDefault(require("node:console"));
14
+ const node_constants_1 = __importDefault(require("node:constants"));
15
+ const node_crypto_1 = __importDefault(require("node:crypto"));
16
+ const node_dgram_1 = __importDefault(require("node:dgram"));
17
+ const node_dns_1 = __importDefault(require("node:dns"));
18
+ const node_events_1 = __importDefault(require("node:events"));
19
+ const node_fs_1 = __importDefault(require("node:fs"));
20
+ const node_http_1 = __importDefault(require("node:http"));
21
+ const node_http2_1 = __importDefault(require("node:http2"));
22
+ const node_https_1 = __importDefault(require("node:https"));
23
+ const node_inspector_1 = __importDefault(require("node:inspector"));
24
+ const node_module_1 = __importDefault(require("node:module"));
25
+ const node_net_1 = __importDefault(require("node:net"));
26
+ const node_os_1 = __importDefault(require("node:os"));
27
+ const node_path_1 = __importDefault(require("node:path"));
28
+ const node_perf_hooks_1 = __importDefault(require("node:perf_hooks"));
29
+ const node_process_1 = __importDefault(require("node:process"));
30
+ const node_readline_1 = __importDefault(require("node:readline"));
31
+ const node_repl_1 = __importDefault(require("node:repl"));
32
+ const node_stream_1 = __importDefault(require("node:stream"));
33
+ const node_string_decoder_1 = __importDefault(require("node:string_decoder"));
34
+ const node_timers_1 = __importDefault(require("node:timers"));
35
+ const node_tls_1 = __importDefault(require("node:tls"));
36
+ const node_trace_events_1 = __importDefault(require("node:trace_events"));
37
+ const node_tty_1 = __importDefault(require("node:tty"));
38
+ const node_url_1 = __importDefault(require("node:url"));
39
+ const node_util_1 = __importDefault(require("node:util"));
40
+ const node_v8_1 = __importDefault(require("node:v8"));
41
+ const node_vm_1 = __importDefault(require("node:vm"));
42
+ const node_worker_threads_1 = __importDefault(require("node:worker_threads"));
43
+ const node_zlib_1 = __importDefault(require("node:zlib"));
44
+ const vm_timers_1 = require("./vm-timers");
45
+ const builtInNodeModules = {
46
+ assert: node_assert_1.default,
47
+ async_hooks: node_async_hooks_1.default,
48
+ buffer: node_buffer_1.default,
49
+ child_process: node_child_process_1.default,
50
+ cluster: node_cluster_1.default,
51
+ console: node_console_1.default,
52
+ constants: node_constants_1.default,
53
+ crypto: node_crypto_1.default,
54
+ dgram: node_dgram_1.default,
55
+ dns: node_dns_1.default,
56
+ events: node_events_1.default,
57
+ fs: node_fs_1.default,
58
+ http: node_http_1.default,
59
+ http2: node_http2_1.default,
60
+ https: node_https_1.default,
61
+ inspector: node_inspector_1.default,
62
+ module: node_module_1.default,
63
+ net: node_net_1.default,
64
+ os: node_os_1.default,
65
+ path: node_path_1.default,
66
+ perf_hooks: node_perf_hooks_1.default,
67
+ process: node_process_1.default,
68
+ readline: node_readline_1.default,
69
+ repl: node_repl_1.default,
70
+ stream: node_stream_1.default,
71
+ string_decoder: node_string_decoder_1.default,
72
+ timers: node_timers_1.default,
73
+ tls: node_tls_1.default,
74
+ trace_events: node_trace_events_1.default,
75
+ tty: node_tty_1.default,
76
+ url: node_url_1.default,
77
+ util: node_util_1.default,
78
+ v8: node_v8_1.default,
79
+ vm: node_vm_1.default,
80
+ worker_threads: node_worker_threads_1.default,
81
+ zlib: node_zlib_1.default,
82
+ };
83
+ /**
84
+ * Evaluates the provided code in a new VM context with the specified global variables.
85
+ *
86
+ * **Security Warning:** This function executes the provided code and can have unintended side effects or
87
+ * vulnerabilities if used with untrusted or malicious input. It's imperative to use this function only with code you
88
+ * trust completely. Avoid using this function with user-generated code or third-party code that hasn't been thoroughly
89
+ * reviewed.
90
+ *
91
+ * @param code The JavaScript code to evaluate.
92
+ * @param globalVariables A key-value pair of variables to be made available in the context of the executed code.
93
+ * @param timeout Duration in milliseconds to wait before terminating the execution.
94
+ *
95
+ * @returns The result of the evaluated code.
96
+ *
97
+ * @throws Throws an error if the execution exceeds the provided timeout or if there's a problem with the code.
98
+ *
99
+ * @example
100
+ *
101
+ *const result = unsafeEvaluate('const output = input + 1;', { input: 1 }, 1000);
102
+ *console.log(result); // Outputs: 2
103
+ */
104
+ const unsafeEvaluate = (code, globalVariables, timeout) => {
105
+ const vmContext = {
106
+ ...globalVariables,
107
+ ...builtInNodeModules,
108
+ deferredOutput: undefined,
109
+ };
110
+ node_vm_1.default.runInNewContext(`${code}; deferredOutput = output;`, vmContext, {
111
+ displayErrors: true,
112
+ timeout,
113
+ });
114
+ return vmContext.deferredOutput;
115
+ };
116
+ exports.unsafeEvaluate = unsafeEvaluate;
117
+ /**
118
+ * Asynchronously evaluates the provided code in a new VM context with the specified global variables.
119
+ *
120
+ * **Security Warning:** This function executes the provided code and can have unintended side effects or
121
+ * vulnerabilities if used with untrusted or malicious input. It's imperative to use this function only with code you
122
+ * trust completely. Avoid using this function with user-generated code or third-party code that hasn't been thoroughly
123
+ * reviewed.
124
+ *
125
+ * @param code The JavaScript code to evaluate. The code should call the `resolve` method to return the result of the
126
+ * evaluation. You may use async/await syntax in the code.
127
+ * @param globalVariables A key-value pair of variables to be made available in the context of the executed code.
128
+ * @param timeout Duration in milliseconds to wait before terminating the execution.
129
+ *
130
+ * @returns The result of the evaluated code wrapped in a Promise.
131
+ *
132
+ * @throws Throws an error if the execution exceeds the provided timeout or if there's a problem with the code.
133
+ *
134
+ * @example
135
+ *
136
+ *const result = await unsafeEvaluateAsync(
137
+ * "const output = {...input, c: 'some-value'}; resolve(output);",
138
+ * { input: { a: true, b: 123 } },
139
+ * 5000
140
+ *);
141
+ *console.log(result); // Outputs: { a: true, b: 123, c: 'some-value' }
142
+ */
143
+ const unsafeEvaluateAsync = async (code, globalVariables, timeout) => {
144
+ let vmReject;
145
+ // Make sure the timeout is applied. When the processing snippet uses setTimeout or setInterval, the timeout option
146
+ // from VM is broken. See: https://github.com/nodejs/node/issues/3020.
147
+ //
148
+ // We need to manually clear all timers and reject the processing manually.
149
+ const timeoutTimer = setTimeout(() => {
150
+ vmReject(new Error('Timeout exceeded'));
151
+ }, timeout);
152
+ return new Promise((resolve, reject) => {
153
+ const timers = (0, vm_timers_1.createTimers)();
154
+ const vmResolve = (value) => {
155
+ timers.clearAll();
156
+ clearTimeout(timeoutTimer);
157
+ resolve(value);
158
+ };
159
+ vmReject = (reason) => {
160
+ timers.clearAll();
161
+ clearTimeout(timeoutTimer);
162
+ reject(reason);
163
+ };
164
+ const vmContext = {
165
+ ...globalVariables,
166
+ ...builtInNodeModules,
167
+ resolve: vmResolve,
168
+ reject: vmReject,
169
+ setTimeout: timers.customSetTimeout,
170
+ setInterval: timers.customSetInterval,
171
+ clearTimeout: timers.customClearTimeout,
172
+ clearInterval: timers.customClearInterval,
173
+ };
174
+ node_vm_1.default.runInNewContext(code, vmContext, { displayErrors: true, timeout });
175
+ });
176
+ };
177
+ exports.unsafeEvaluateAsync = unsafeEvaluateAsync;
178
+ //# sourceMappingURL=unsafe-evaluate.js.map