fig-tree-evaluator 2.9.0 → 2.11.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 (171) hide show
  1. package/README.md +104 -8
  2. package/build/index.cjs.js +1 -0
  3. package/build/index.d.ts +121 -4
  4. package/build/index.esm.js +1 -0
  5. package/package.json +12 -3
  6. package/build/FigTreeEvaluator.d.ts +0 -26
  7. package/build/FigTreeEvaluator.js +0 -121
  8. package/build/cache.d.ts +0 -27
  9. package/build/cache.js +0 -63
  10. package/build/evaluate.d.ts +0 -2
  11. package/build/evaluate.js +0 -87
  12. package/build/helpers.d.ts +0 -23
  13. package/build/helpers.js +0 -137
  14. package/build/index.js +0 -29
  15. package/build/operators/AND/data.d.ts +0 -4
  16. package/build/operators/AND/data.js +0 -22
  17. package/build/operators/AND/index.d.ts +0 -1
  18. package/build/operators/AND/index.js +0 -5
  19. package/build/operators/AND/operator.d.ts +0 -3
  20. package/build/operators/AND/operator.js +0 -53
  21. package/build/operators/BUILD_OBJECT/data.d.ts +0 -4
  22. package/build/operators/BUILD_OBJECT/data.js +0 -22
  23. package/build/operators/BUILD_OBJECT/index.d.ts +0 -1
  24. package/build/operators/BUILD_OBJECT/index.js +0 -17
  25. package/build/operators/BUILD_OBJECT/operator.d.ts +0 -2
  26. package/build/operators/BUILD_OBJECT/operator.js +0 -64
  27. package/build/operators/CONDITIONAL/data.d.ts +0 -4
  28. package/build/operators/CONDITIONAL/data.js +0 -36
  29. package/build/operators/CONDITIONAL/index.d.ts +0 -1
  30. package/build/operators/CONDITIONAL/index.js +0 -17
  31. package/build/operators/CONDITIONAL/operator.d.ts +0 -2
  32. package/build/operators/CONDITIONAL/operator.js +0 -59
  33. package/build/operators/COUNT/data.d.ts +0 -4
  34. package/build/operators/COUNT/data.js +0 -22
  35. package/build/operators/COUNT/index.d.ts +0 -1
  36. package/build/operators/COUNT/index.js +0 -17
  37. package/build/operators/COUNT/operator.d.ts +0 -2
  38. package/build/operators/COUNT/operator.js +0 -52
  39. package/build/operators/CUSTOM_FUNCTIONS/data.d.ts +0 -4
  40. package/build/operators/CUSTOM_FUNCTIONS/data.js +0 -43
  41. package/build/operators/CUSTOM_FUNCTIONS/index.d.ts +0 -1
  42. package/build/operators/CUSTOM_FUNCTIONS/index.js +0 -17
  43. package/build/operators/CUSTOM_FUNCTIONS/operator.d.ts +0 -2
  44. package/build/operators/CUSTOM_FUNCTIONS/operator.js +0 -65
  45. package/build/operators/DIVIDE/data.d.ts +0 -4
  46. package/build/operators/DIVIDE/data.js +0 -43
  47. package/build/operators/DIVIDE/index.d.ts +0 -1
  48. package/build/operators/DIVIDE/index.js +0 -17
  49. package/build/operators/DIVIDE/operator.d.ts +0 -2
  50. package/build/operators/DIVIDE/operator.js +0 -63
  51. package/build/operators/EQUAL/data.d.ts +0 -4
  52. package/build/operators/EQUAL/data.js +0 -29
  53. package/build/operators/EQUAL/index.d.ts +0 -1
  54. package/build/operators/EQUAL/index.js +0 -17
  55. package/build/operators/EQUAL/operator.d.ts +0 -2
  56. package/build/operators/EQUAL/operator.js +0 -58
  57. package/build/operators/GET/data.d.ts +0 -4
  58. package/build/operators/GET/data.js +0 -50
  59. package/build/operators/GET/index.d.ts +0 -1
  60. package/build/operators/GET/index.js +0 -5
  61. package/build/operators/GET/operator.d.ts +0 -3
  62. package/build/operators/GET/operator.js +0 -91
  63. package/build/operators/GRAPHQL/data.d.ts +0 -4
  64. package/build/operators/GRAPHQL/data.js +0 -57
  65. package/build/operators/GRAPHQL/index.d.ts +0 -1
  66. package/build/operators/GRAPHQL/index.js +0 -17
  67. package/build/operators/GRAPHQL/operator.d.ts +0 -8
  68. package/build/operators/GRAPHQL/operator.js +0 -86
  69. package/build/operators/GREATER_THAN/data.d.ts +0 -4
  70. package/build/operators/GREATER_THAN/data.js +0 -29
  71. package/build/operators/GREATER_THAN/index.d.ts +0 -1
  72. package/build/operators/GREATER_THAN/index.js +0 -17
  73. package/build/operators/GREATER_THAN/operator.d.ts +0 -2
  74. package/build/operators/GREATER_THAN/operator.js +0 -54
  75. package/build/operators/LESS_THAN/data.d.ts +0 -4
  76. package/build/operators/LESS_THAN/data.js +0 -29
  77. package/build/operators/LESS_THAN/index.d.ts +0 -1
  78. package/build/operators/LESS_THAN/index.js +0 -17
  79. package/build/operators/LESS_THAN/operator.d.ts +0 -2
  80. package/build/operators/LESS_THAN/operator.js +0 -54
  81. package/build/operators/MATCH/data.d.ts +0 -4
  82. package/build/operators/MATCH/data.js +0 -29
  83. package/build/operators/MATCH/index.d.ts +0 -1
  84. package/build/operators/MATCH/index.js +0 -17
  85. package/build/operators/MATCH/operator.d.ts +0 -2
  86. package/build/operators/MATCH/operator.js +0 -72
  87. package/build/operators/MULTIPLY/data.d.ts +0 -4
  88. package/build/operators/MULTIPLY/data.js +0 -22
  89. package/build/operators/MULTIPLY/index.d.ts +0 -1
  90. package/build/operators/MULTIPLY/index.js +0 -17
  91. package/build/operators/MULTIPLY/operator.d.ts +0 -2
  92. package/build/operators/MULTIPLY/operator.js +0 -53
  93. package/build/operators/NOT_EQUAL/data.d.ts +0 -4
  94. package/build/operators/NOT_EQUAL/data.js +0 -29
  95. package/build/operators/NOT_EQUAL/index.d.ts +0 -1
  96. package/build/operators/NOT_EQUAL/index.js +0 -17
  97. package/build/operators/NOT_EQUAL/operator.d.ts +0 -2
  98. package/build/operators/NOT_EQUAL/operator.js +0 -58
  99. package/build/operators/OBJECT_PROPERTIES/data.d.ts +0 -4
  100. package/build/operators/OBJECT_PROPERTIES/data.js +0 -37
  101. package/build/operators/OBJECT_PROPERTIES/index.d.ts +0 -1
  102. package/build/operators/OBJECT_PROPERTIES/index.js +0 -17
  103. package/build/operators/OBJECT_PROPERTIES/operator.d.ts +0 -2
  104. package/build/operators/OBJECT_PROPERTIES/operator.js +0 -62
  105. package/build/operators/OR/data.d.ts +0 -4
  106. package/build/operators/OR/data.js +0 -22
  107. package/build/operators/OR/index.d.ts +0 -1
  108. package/build/operators/OR/index.js +0 -17
  109. package/build/operators/OR/operator.d.ts +0 -2
  110. package/build/operators/OR/operator.js +0 -49
  111. package/build/operators/PASSTHRU/data.d.ts +0 -4
  112. package/build/operators/PASSTHRU/data.js +0 -22
  113. package/build/operators/PASSTHRU/index.d.ts +0 -1
  114. package/build/operators/PASSTHRU/index.js +0 -17
  115. package/build/operators/PASSTHRU/operator.d.ts +0 -2
  116. package/build/operators/PASSTHRU/operator.js +0 -53
  117. package/build/operators/PG_SQL/data.d.ts +0 -4
  118. package/build/operators/PG_SQL/data.js +0 -43
  119. package/build/operators/PG_SQL/index.d.ts +0 -1
  120. package/build/operators/PG_SQL/index.js +0 -17
  121. package/build/operators/PG_SQL/operator.d.ts +0 -2
  122. package/build/operators/PG_SQL/operator.js +0 -83
  123. package/build/operators/PLUS/data.d.ts +0 -4
  124. package/build/operators/PLUS/data.js +0 -29
  125. package/build/operators/PLUS/index.d.ts +0 -1
  126. package/build/operators/PLUS/index.js +0 -17
  127. package/build/operators/PLUS/operator.d.ts +0 -2
  128. package/build/operators/PLUS/operator.js +0 -63
  129. package/build/operators/POST/data.d.ts +0 -4
  130. package/build/operators/POST/data.js +0 -50
  131. package/build/operators/POST/index.d.ts +0 -1
  132. package/build/operators/POST/index.js +0 -17
  133. package/build/operators/POST/operator.d.ts +0 -2
  134. package/build/operators/POST/operator.js +0 -72
  135. package/build/operators/REGEX/data.d.ts +0 -4
  136. package/build/operators/REGEX/data.js +0 -29
  137. package/build/operators/REGEX/index.d.ts +0 -1
  138. package/build/operators/REGEX/index.js +0 -17
  139. package/build/operators/REGEX/operator.d.ts +0 -2
  140. package/build/operators/REGEX/operator.js +0 -59
  141. package/build/operators/SPLIT/data.d.ts +0 -4
  142. package/build/operators/SPLIT/data.js +0 -43
  143. package/build/operators/SPLIT/index.d.ts +0 -1
  144. package/build/operators/SPLIT/index.js +0 -17
  145. package/build/operators/SPLIT/operator.d.ts +0 -2
  146. package/build/operators/SPLIT/operator.js +0 -69
  147. package/build/operators/STRING_SUBSTITUTION/data.d.ts +0 -4
  148. package/build/operators/STRING_SUBSTITUTION/data.js +0 -29
  149. package/build/operators/STRING_SUBSTITUTION/index.d.ts +0 -1
  150. package/build/operators/STRING_SUBSTITUTION/index.js +0 -17
  151. package/build/operators/STRING_SUBSTITUTION/operator.d.ts +0 -2
  152. package/build/operators/STRING_SUBSTITUTION/operator.js +0 -59
  153. package/build/operators/SUBTRACT/data.d.ts +0 -4
  154. package/build/operators/SUBTRACT/data.js +0 -36
  155. package/build/operators/SUBTRACT/index.d.ts +0 -1
  156. package/build/operators/SUBTRACT/index.js +0 -17
  157. package/build/operators/SUBTRACT/operator.d.ts +0 -2
  158. package/build/operators/SUBTRACT/operator.js +0 -54
  159. package/build/operators/_operatorAliases.json +0 -92
  160. package/build/operators/_operatorUtils.d.ts +0 -24
  161. package/build/operators/_operatorUtils.js +0 -122
  162. package/build/operators/index.d.ts +0 -24
  163. package/build/operators/index.js +0 -40
  164. package/build/shorthandSyntax.d.ts +0 -2
  165. package/build/shorthandSyntax.js +0 -55
  166. package/build/typeCheck.d.ts +0 -12
  167. package/build/typeCheck.js +0 -54
  168. package/build/types.d.ts +0 -96
  169. package/build/types.js +0 -29
  170. package/build/version.d.ts +0 -1
  171. package/build/version.js +0 -4
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.propertyAliases = void 0;
4
- const _operatorUtils_1 = require("../_operatorUtils");
5
- const description = 'Split a string into an array';
6
- const aliases = ['split', 'arraySplit'];
7
- const parameters = [
8
- {
9
- name: 'value',
10
- description: 'The string to be split',
11
- aliases: ['string'],
12
- required: true,
13
- type: 'string',
14
- },
15
- {
16
- name: 'delimiter',
17
- description: 'The value to split the string on (default is white space)',
18
- aliases: ['separator'],
19
- required: false,
20
- type: 'string',
21
- },
22
- {
23
- name: 'trimWhiteSpace',
24
- description: 'Whether to trim white space from around the resulting elements (default: true)',
25
- aliases: ['trim', 'trimWhitespace'],
26
- required: false,
27
- type: 'boolean',
28
- },
29
- {
30
- name: 'excludeTrailing',
31
- description: 'If the input string ends in a delimiter, there will be an additional blank element if this value is false (default: true)',
32
- aliases: ['removeTrailing', 'excludeTrailingDelimiter'],
33
- required: false,
34
- type: 'boolean',
35
- },
36
- ];
37
- exports.propertyAliases = (0, _operatorUtils_1.getPropertyAliases)(parameters);
38
- const operatorData = {
39
- description,
40
- aliases,
41
- parameters,
42
- };
43
- exports.default = operatorData;
@@ -1 +0,0 @@
1
- export * from './operator';
@@ -1,17 +0,0 @@
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("./operator"), exports);
@@ -1,2 +0,0 @@
1
- import { OperatorObject } from '../../types';
2
- export declare const SPLIT: OperatorObject;
@@ -1,69 +0,0 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.SPLIT = void 0;
36
- const _operatorUtils_1 = require("../_operatorUtils");
37
- const data_1 = __importStar(require("./data"));
38
- const DEFAULT_DELIMITER = ' ';
39
- const evaluate = (expression, config) => __awaiter(void 0, void 0, void 0, function* () {
40
- var _a, _b, _c;
41
- const [value, delimiter, trimWhiteSpace, excludeTrailing] = (yield (0, _operatorUtils_1.evaluateArray)([
42
- expression.value,
43
- (_a = expression.delimiter) !== null && _a !== void 0 ? _a : DEFAULT_DELIMITER,
44
- (_b = expression.trimWhiteSpace) !== null && _b !== void 0 ? _b : true,
45
- (_c = expression.excludeTrailing) !== null && _c !== void 0 ? _c : true,
46
- ], config));
47
- config.typeChecker((0, _operatorUtils_1.getTypeCheckInput)(data_1.default.parameters, {
48
- value,
49
- delimiter,
50
- trimWhiteSpace,
51
- excludeTrailing,
52
- }));
53
- let splitValues = value.split(delimiter);
54
- if (trimWhiteSpace)
55
- splitValues = splitValues.map((val) => val.trim());
56
- if (excludeTrailing && splitValues[splitValues.length - 1] === '')
57
- splitValues.pop();
58
- return splitValues;
59
- });
60
- const parseChildren = (expression) => {
61
- const [value, delimiter = DEFAULT_DELIMITER] = expression.children;
62
- return Object.assign(Object.assign({}, expression), { value, delimiter });
63
- };
64
- exports.SPLIT = {
65
- propertyAliases: data_1.propertyAliases,
66
- operatorData: data_1.default,
67
- evaluate,
68
- parseChildren,
69
- };
@@ -1,4 +0,0 @@
1
- import { OperatorData } from '../../types';
2
- export declare const propertyAliases: Record<string, string>;
3
- declare const operatorData: OperatorData;
4
- export default operatorData;
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.propertyAliases = void 0;
4
- const _operatorUtils_1 = require("../_operatorUtils");
5
- const description = 'Replace values in a string using simple parameter substitution';
6
- const aliases = ['stringSubstitution', 'substitute', 'stringSub', 'replace'];
7
- const parameters = [
8
- {
9
- name: 'string',
10
- description: 'A parameterised (%1, %2) string where the parameters are to be replaced',
11
- aliases: [],
12
- required: true,
13
- type: 'string',
14
- },
15
- {
16
- name: 'substitutions',
17
- description: 'An array of substitution values for the parameterised string',
18
- aliases: ['replacements'],
19
- required: true,
20
- type: 'array',
21
- },
22
- ];
23
- exports.propertyAliases = (0, _operatorUtils_1.getPropertyAliases)(parameters);
24
- const operatorData = {
25
- description,
26
- aliases,
27
- parameters,
28
- };
29
- exports.default = operatorData;
@@ -1 +0,0 @@
1
- export * from './operator';
@@ -1,17 +0,0 @@
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("./operator"), exports);
@@ -1,2 +0,0 @@
1
- import { OperatorObject } from '../../types';
2
- export declare const STRING_SUBSTITUTION: OperatorObject;
@@ -1,59 +0,0 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.STRING_SUBSTITUTION = void 0;
36
- const _operatorUtils_1 = require("../_operatorUtils");
37
- const data_1 = __importStar(require("./data"));
38
- const evaluate = (expression, config) => __awaiter(void 0, void 0, void 0, function* () {
39
- const [string, substitutions] = (yield (0, _operatorUtils_1.evaluateArray)([expression.string, expression.substitutions], config));
40
- config.typeChecker((0, _operatorUtils_1.getTypeCheckInput)(data_1.default.parameters, { string, substitutions }));
41
- const parameterPattern = /(%[\d]+)/g;
42
- const parameters = (string.match(parameterPattern) || []).sort((a, b) => Number(a.slice(1)) - Number(b.slice(1)));
43
- const uniqueParameters = new Set(parameters);
44
- const replacementsObj = (0, _operatorUtils_1.zipArraysToObject)(Array.from(uniqueParameters), substitutions);
45
- return string
46
- .split(parameterPattern)
47
- .map((fragment) => (fragment in replacementsObj ? replacementsObj[fragment] : fragment))
48
- .join('');
49
- });
50
- const parseChildren = (expression) => {
51
- const [string, ...substitutions] = expression.children;
52
- return Object.assign(Object.assign({}, expression), { string, substitutions });
53
- };
54
- exports.STRING_SUBSTITUTION = {
55
- propertyAliases: data_1.propertyAliases,
56
- operatorData: data_1.default,
57
- evaluate,
58
- parseChildren,
59
- };
@@ -1,4 +0,0 @@
1
- import { OperatorData } from '../../types';
2
- export declare const propertyAliases: Record<string, string>;
3
- declare const operatorData: OperatorData;
4
- export default operatorData;
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.propertyAliases = void 0;
4
- const _operatorUtils_1 = require("../_operatorUtils");
5
- const description = 'Subtract one numerical value from another';
6
- const aliases = ['-', 'subtract', 'minus', 'takeaway'];
7
- const parameters = [
8
- {
9
- name: 'values',
10
- description: 'Array of values - 2nd element will be subtracted from the first',
11
- aliases: [],
12
- required: false,
13
- type: 'array',
14
- },
15
- {
16
- name: 'from',
17
- description: 'Numerical value that will be subtracted from',
18
- aliases: ['subtractFrom'],
19
- required: false,
20
- type: 'number',
21
- },
22
- {
23
- name: 'subtract',
24
- description: 'Numerical value to subtract',
25
- aliases: [],
26
- required: false,
27
- type: 'number',
28
- },
29
- ];
30
- exports.propertyAliases = (0, _operatorUtils_1.getPropertyAliases)(parameters);
31
- const operatorData = {
32
- description,
33
- aliases,
34
- parameters,
35
- };
36
- exports.default = operatorData;
@@ -1 +0,0 @@
1
- export * from './operator';
@@ -1,17 +0,0 @@
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("./operator"), exports);
@@ -1,2 +0,0 @@
1
- import { OperatorObject } from '../../types';
2
- export declare const SUBTRACT: OperatorObject;
@@ -1,54 +0,0 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.SUBTRACT = void 0;
36
- const operator_1 = require("../AND/operator");
37
- const _operatorUtils_1 = require("../_operatorUtils");
38
- const data_1 = __importStar(require("./data"));
39
- const evaluate = (expression, config) => __awaiter(void 0, void 0, void 0, function* () {
40
- const [values, from, subtract] = (yield (0, _operatorUtils_1.evaluateArray)([expression.values, expression.from, expression.subtract], config));
41
- config.typeChecker((0, _operatorUtils_1.getTypeCheckInput)(data_1.default.parameters, { values, from, subtract }));
42
- const vals = values !== null && values !== void 0 ? values : [from, subtract].filter((e) => e !== undefined);
43
- if (vals.length < 2)
44
- throw new Error('- Not enough values provided');
45
- if (vals.some((e) => typeof e !== 'number'))
46
- throw new Error('- Not all values are numbers');
47
- return vals[0] - vals[1];
48
- });
49
- exports.SUBTRACT = {
50
- propertyAliases: data_1.propertyAliases,
51
- operatorData: data_1.default,
52
- evaluate,
53
- parseChildren: operator_1.parseChildren,
54
- };
@@ -1,92 +0,0 @@
1
- {
2
- "and": "AND",
3
- "&": "AND",
4
- "&&": "AND",
5
- "or": "OR",
6
- "|": "OR",
7
- "||": "OR",
8
- "=": "EQUAL",
9
- "eq": "EQUAL",
10
- "equal": "EQUAL",
11
- "equals": "EQUAL",
12
- "!=": "NOT_EQUAL",
13
- "!": "NOT_EQUAL",
14
- "ne": "NOT_EQUAL",
15
- "notEqual": "NOT_EQUAL",
16
- "+": "PLUS",
17
- "plus": "PLUS",
18
- "add": "PLUS",
19
- "concat": "PLUS",
20
- "join": "PLUS",
21
- "merge": "PLUS",
22
- "-": "SUBTRACT",
23
- "subtract": "SUBTRACT",
24
- "minus": "SUBTRACT",
25
- "takeaway": "SUBTRACT",
26
- "*": "MULTIPLY",
27
- "x": "MULTIPLY",
28
- "multiply": "MULTIPLY",
29
- "times": "MULTIPLY",
30
- "/": "DIVIDE",
31
- "divide": "DIVIDE",
32
- "÷": "DIVIDE",
33
- ">": "GREATER_THAN",
34
- "greaterThan": "GREATER_THAN",
35
- "higher": "GREATER_THAN",
36
- "larger": "GREATER_THAN",
37
- "<": "LESS_THAN",
38
- "lessThan": "LESS_THAN",
39
- "lower": "LESS_THAN",
40
- "smaller": "LESS_THAN",
41
- "?": "CONDITIONAL",
42
- "conditional": "CONDITIONAL",
43
- "ifThen": "CONDITIONAL",
44
- "regex": "REGEX",
45
- "patternMatch": "REGEX",
46
- "regexp": "REGEX",
47
- "matchPattern": "REGEX",
48
- "dataProperties": "OBJECT_PROPERTIES",
49
- "data": "OBJECT_PROPERTIES",
50
- "getData": "OBJECT_PROPERTIES",
51
- "objectProperties": "OBJECT_PROPERTIES",
52
- "objProps": "OBJECT_PROPERTIES",
53
- "getProperty": "OBJECT_PROPERTIES",
54
- "getObjProp": "OBJECT_PROPERTIES",
55
- "stringSubstitution": "STRING_SUBSTITUTION",
56
- "substitute": "STRING_SUBSTITUTION",
57
- "stringSub": "STRING_SUBSTITUTION",
58
- "replace": "STRING_SUBSTITUTION",
59
- "split": "SPLIT",
60
- "arraySplit": "SPLIT",
61
- "count": "COUNT",
62
- "length": "COUNT",
63
- "get": "GET",
64
- "api": "GET",
65
- "post": "POST",
66
- "pgSql": "PG_SQL",
67
- "sql": "PG_SQL",
68
- "postgres": "PG_SQL",
69
- "pg": "PG_SQL",
70
- "pgDb": "PG_SQL",
71
- "graphQl": "GRAPHQL",
72
- "graphql": "GRAPHQL",
73
- "gql": "GRAPHQL",
74
- "buildObject": "BUILD_OBJECT",
75
- "build": "BUILD_OBJECT",
76
- "object": "BUILD_OBJECT",
77
- "match": "MATCH",
78
- "switch": "MATCH",
79
- "customFunctions": "CUSTOM_FUNCTIONS",
80
- "customFunction": "CUSTOM_FUNCTIONS",
81
- "objectFunctions": "CUSTOM_FUNCTIONS",
82
- "function": "CUSTOM_FUNCTIONS",
83
- "functions": "CUSTOM_FUNCTIONS",
84
- "runFunction": "CUSTOM_FUNCTIONS",
85
- "_": "PASSTHRU",
86
- "passThru": "PASSTHRU",
87
- "passthru": "PASSTHRU",
88
- "pass": "PASSTHRU",
89
- "ignore": "PASSTHRU",
90
- "coerce": "PASSTHRU",
91
- "convert": "PASSTHRU"
92
- }
@@ -1,24 +0,0 @@
1
- import { AxiosRequestConfig } from 'axios';
2
- import { EvaluatorNode, EvaluatorOutput, FigTreeConfig, Parameter } from '../types';
3
- export declare const getPropertyAliases: (parameters: Parameter[]) => Record<string, string>;
4
- export declare const getTypeCheckInput: (parameterDefinitions: Parameter[], params: Record<string, unknown>) => ({
5
- name: string;
6
- value: unknown;
7
- expectedType: {
8
- literal: (string | undefined)[];
9
- };
10
- } | {
11
- name: string;
12
- value: unknown;
13
- expectedType: import("../typeCheck").BasicType | import("../typeCheck").BasicType[];
14
- })[];
15
- export declare const evaluateArray: (nodes: EvaluatorNode[] | EvaluatorNode, params: FigTreeConfig) => Promise<EvaluatorOutput[]>;
16
- export declare const zipArraysToObject: <T>(keys: string[], values: T[]) => {
17
- [x: string]: T;
18
- };
19
- export declare const singleArrayToObject: <T>(elements: unknown[]) => Record<string, T>;
20
- export declare const simplifyObject: (item: unknown) => any;
21
- export declare const extractAndSimplify: (data: object | object[], returnProperty: string | undefined, fallback?: unknown) => any;
22
- export declare const isFullUrl: (url: string) => boolean;
23
- export declare const joinUrlParts: (...urls: string[]) => string;
24
- export declare const axiosRequest: ({ url, params, data, headers, method, }: AxiosRequestConfig) => Promise<any>;
@@ -1,122 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.axiosRequest = exports.joinUrlParts = exports.isFullUrl = exports.extractAndSimplify = exports.simplifyObject = exports.singleArrayToObject = exports.zipArraysToObject = exports.evaluateArray = exports.getTypeCheckInput = exports.getPropertyAliases = void 0;
16
- const axios_1 = __importDefault(require("axios"));
17
- const extract_1 = __importDefault(require("object-property-extractor/build/extract"));
18
- const evaluate_1 = require("../evaluate");
19
- const helpers_1 = require("../helpers");
20
- const typeCheck_1 = require("../typeCheck");
21
- const getPropertyAliases = (parameters) => {
22
- const propertyAliases = {};
23
- parameters.forEach((param) => {
24
- param.aliases.forEach((alias) => (propertyAliases[alias] = param.name));
25
- });
26
- return propertyAliases;
27
- };
28
- exports.getPropertyAliases = getPropertyAliases;
29
- const getTypeCheckInput = (parameterDefinitions, params) => parameterDefinitions.map(({ name, required, type }) => {
30
- if ((0, typeCheck_1.isLiteralType)(type)) {
31
- const literal = [...type.literal];
32
- if (!required)
33
- literal.push(undefined);
34
- return { name, value: params[name], expectedType: { literal } };
35
- }
36
- const allTypes = Array.isArray(type) ? type : [type];
37
- if (!required)
38
- allTypes.push('undefined');
39
- const expectedType = allTypes.length === 1 ? allTypes[0] : allTypes;
40
- return { name, value: params[name], expectedType };
41
- });
42
- exports.getTypeCheckInput = getTypeCheckInput;
43
- const evaluateArray = (nodes, params) => __awaiter(void 0, void 0, void 0, function* () {
44
- if (!Array.isArray(nodes))
45
- return (yield (0, evaluate_1.evaluatorFunction)(nodes, params));
46
- return yield Promise.all(nodes.map((node) => (0, evaluate_1.evaluatorFunction)(node, params)));
47
- });
48
- exports.evaluateArray = evaluateArray;
49
- const zipArraysToObject = (keys, values) => {
50
- const pairs = keys.map((key, index) => [key, values[index]]);
51
- return Object.fromEntries(pairs);
52
- };
53
- exports.zipArraysToObject = zipArraysToObject;
54
- const singleArrayToObject = (elements) => {
55
- if (elements.length % 2 !== 0)
56
- throw new Error('Even number of children required to make key/value pairs');
57
- const keys = elements.filter((_, index) => index % 2 === 0);
58
- const result = (0, typeCheck_1.typeCheck)(...keys.map((key) => ({
59
- value: key,
60
- expectedType: ['string', 'number', 'boolean'],
61
- })));
62
- if (result !== true)
63
- throw new Error(result);
64
- const values = elements.filter((_, index) => index % 2 === 1);
65
- const output = {};
66
- keys.forEach((key, index) => {
67
- output[key] = values[index];
68
- });
69
- return output;
70
- };
71
- exports.singleArrayToObject = singleArrayToObject;
72
- const simplifyObject = (item) => {
73
- return (0, helpers_1.isObject)(item) && Object.keys(item).length === 1 ? Object.values(item)[0] : item;
74
- };
75
- exports.simplifyObject = simplifyObject;
76
- const extractAndSimplify = (data, returnProperty, fallback = undefined) => {
77
- const selectedProperty = returnProperty ? (0, extract_1.default)(data, returnProperty, fallback) : data;
78
- if (Array.isArray(selectedProperty))
79
- return selectedProperty.map((item) => (0, exports.simplifyObject)(item));
80
- if (returnProperty) {
81
- if (selectedProperty === null)
82
- return null;
83
- return (0, exports.simplifyObject)(selectedProperty);
84
- }
85
- return selectedProperty;
86
- };
87
- exports.extractAndSimplify = extractAndSimplify;
88
- const isFullUrl = (url) => /^https?:\/\/.+/.test(url);
89
- exports.isFullUrl = isFullUrl;
90
- const joinUrlParts = (...urls) => {
91
- return urls.reduce((acc, curr, index) => {
92
- const startSliceIndex = curr[0] === '/' ? 1 : 0;
93
- const endSliceIndex = curr.slice(-1) === '/' ? -1 : undefined;
94
- const newPart = curr.slice(startSliceIndex, endSliceIndex);
95
- if (newPart === '')
96
- return acc;
97
- return acc + (index === 0 ? '' : '/') + newPart;
98
- }, '');
99
- };
100
- exports.joinUrlParts = joinUrlParts;
101
- const axiosRequest = ({ url, params = {}, data = {}, headers = {}, method = 'get', }) => __awaiter(void 0, void 0, void 0, function* () {
102
- var _a;
103
- try {
104
- const response = yield (0, axios_1.default)({
105
- method,
106
- url,
107
- headers: Object.assign({ 'Content-Type': 'application/json', Accept: 'application/json' }, headers),
108
- params,
109
- data,
110
- });
111
- return response.data;
112
- }
113
- catch (err) {
114
- if (axios_1.default.isAxiosError(err)) {
115
- if (!(err === null || err === void 0 ? void 0 : err.response))
116
- throw new Error('Network Error');
117
- console.log((_a = err.response) === null || _a === void 0 ? void 0 : _a.data);
118
- }
119
- throw err;
120
- }
121
- });
122
- exports.axiosRequest = axiosRequest;
@@ -1,24 +0,0 @@
1
- export * from './AND';
2
- export * from './OR';
3
- export * from './EQUAL';
4
- export * from './NOT_EQUAL';
5
- export * from './PLUS';
6
- export * from './SUBTRACT';
7
- export * from './MULTIPLY';
8
- export * from './DIVIDE';
9
- export * from './GREATER_THAN';
10
- export * from './LESS_THAN';
11
- export * from './CONDITIONAL';
12
- export * from './REGEX';
13
- export * from './OBJECT_PROPERTIES';
14
- export * from './STRING_SUBSTITUTION';
15
- export * from './COUNT';
16
- export * from './SPLIT';
17
- export * from './PG_SQL';
18
- export * from './GRAPHQL';
19
- export * from './GET';
20
- export * from './POST';
21
- export * from './BUILD_OBJECT';
22
- export * from './MATCH';
23
- export * from './CUSTOM_FUNCTIONS';
24
- export * from './PASSTHRU';