fig-tree-evaluator 2.7.0 → 2.8.3

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 (201) hide show
  1. package/README.md +195 -12
  2. package/build/FigTreeEvaluator.d.ts +10 -2
  3. package/build/FigTreeEvaluator.js +25 -4
  4. package/build/cache.d.ts +3 -1
  5. package/build/cache.js +10 -11
  6. package/build/evaluate.js +18 -14
  7. package/build/helpers.d.ts +9 -34
  8. package/build/helpers.js +5 -13
  9. package/build/index.d.ts +2 -2
  10. package/build/operators/AND/data.d.ts +4 -0
  11. package/build/operators/AND/data.js +22 -0
  12. package/build/operators/AND/index.d.ts +1 -0
  13. package/build/operators/AND/index.js +5 -0
  14. package/build/operators/AND/operator.d.ts +3 -0
  15. package/build/operators/{logicalAnd.js → AND/operator.js} +28 -8
  16. package/build/operators/BUILD_OBJECT/data.d.ts +4 -0
  17. package/build/operators/BUILD_OBJECT/data.js +22 -0
  18. package/build/operators/BUILD_OBJECT/index.d.ts +1 -0
  19. package/build/operators/BUILD_OBJECT/index.js +17 -0
  20. package/build/operators/BUILD_OBJECT/operator.d.ts +2 -0
  21. package/build/operators/{buildObject.js → BUILD_OBJECT/operator.js} +28 -12
  22. package/build/operators/CONDITIONAL/data.d.ts +4 -0
  23. package/build/operators/CONDITIONAL/data.js +36 -0
  24. package/build/operators/CONDITIONAL/index.d.ts +1 -0
  25. package/build/operators/CONDITIONAL/index.js +17 -0
  26. package/build/operators/CONDITIONAL/operator.d.ts +2 -0
  27. package/build/operators/CONDITIONAL/operator.js +59 -0
  28. package/build/operators/COUNT/data.d.ts +4 -0
  29. package/build/operators/COUNT/data.js +22 -0
  30. package/build/operators/COUNT/index.d.ts +1 -0
  31. package/build/operators/COUNT/index.js +17 -0
  32. package/build/operators/COUNT/operator.d.ts +2 -0
  33. package/build/operators/COUNT/operator.js +49 -0
  34. package/build/operators/CUSTOM_FUNCTIONS/data.d.ts +4 -0
  35. package/build/operators/CUSTOM_FUNCTIONS/data.js +43 -0
  36. package/build/operators/CUSTOM_FUNCTIONS/index.d.ts +1 -0
  37. package/build/operators/CUSTOM_FUNCTIONS/index.js +17 -0
  38. package/build/operators/CUSTOM_FUNCTIONS/operator.d.ts +2 -0
  39. package/build/operators/CUSTOM_FUNCTIONS/operator.js +65 -0
  40. package/build/operators/DIVIDE/data.d.ts +4 -0
  41. package/build/operators/DIVIDE/data.js +43 -0
  42. package/build/operators/DIVIDE/index.d.ts +1 -0
  43. package/build/operators/DIVIDE/index.js +17 -0
  44. package/build/operators/DIVIDE/operator.d.ts +2 -0
  45. package/build/operators/DIVIDE/operator.js +63 -0
  46. package/build/operators/EQUAL/data.d.ts +4 -0
  47. package/build/operators/EQUAL/data.js +29 -0
  48. package/build/operators/EQUAL/index.d.ts +1 -0
  49. package/build/operators/EQUAL/index.js +17 -0
  50. package/build/operators/EQUAL/operator.d.ts +2 -0
  51. package/build/operators/{equal.js → EQUAL/operator.js} +30 -10
  52. package/build/operators/GET/data.d.ts +4 -0
  53. package/build/operators/GET/data.js +50 -0
  54. package/build/operators/GET/index.d.ts +1 -0
  55. package/build/operators/GET/index.js +5 -0
  56. package/build/operators/GET/operator.d.ts +3 -0
  57. package/build/operators/GET/operator.js +91 -0
  58. package/build/operators/GRAPHQL/data.d.ts +4 -0
  59. package/build/operators/GRAPHQL/data.js +57 -0
  60. package/build/operators/GRAPHQL/index.d.ts +1 -0
  61. package/build/operators/GRAPHQL/index.js +17 -0
  62. package/build/operators/GRAPHQL/operator.d.ts +8 -0
  63. package/build/operators/{graphQL.js → GRAPHQL/operator.js} +47 -15
  64. package/build/operators/GREATER_THAN/data.d.ts +4 -0
  65. package/build/operators/GREATER_THAN/data.js +29 -0
  66. package/build/operators/GREATER_THAN/index.d.ts +1 -0
  67. package/build/operators/GREATER_THAN/index.js +17 -0
  68. package/build/operators/GREATER_THAN/operator.d.ts +2 -0
  69. package/build/operators/GREATER_THAN/operator.js +54 -0
  70. package/build/operators/LESS_THAN/data.d.ts +4 -0
  71. package/build/operators/LESS_THAN/data.js +29 -0
  72. package/build/operators/LESS_THAN/index.d.ts +1 -0
  73. package/build/operators/LESS_THAN/index.js +17 -0
  74. package/build/operators/{lessThan.d.ts → LESS_THAN/operator.d.ts} +1 -1
  75. package/build/operators/LESS_THAN/operator.js +54 -0
  76. package/build/operators/MATCH/data.d.ts +4 -0
  77. package/build/operators/MATCH/data.js +29 -0
  78. package/build/operators/MATCH/index.d.ts +1 -0
  79. package/build/operators/MATCH/index.js +17 -0
  80. package/build/operators/MATCH/operator.d.ts +2 -0
  81. package/build/operators/{match.js → MATCH/operator.js} +36 -17
  82. package/build/operators/MULTIPLY/data.d.ts +4 -0
  83. package/build/operators/MULTIPLY/data.js +22 -0
  84. package/build/operators/MULTIPLY/index.d.ts +1 -0
  85. package/build/operators/MULTIPLY/index.js +17 -0
  86. package/build/operators/{multiply.d.ts → MULTIPLY/operator.d.ts} +1 -1
  87. package/build/operators/MULTIPLY/operator.js +53 -0
  88. package/build/operators/NOT_EQUAL/data.d.ts +4 -0
  89. package/build/operators/NOT_EQUAL/data.js +29 -0
  90. package/build/operators/NOT_EQUAL/index.d.ts +1 -0
  91. package/build/operators/NOT_EQUAL/index.js +17 -0
  92. package/build/operators/{notEqual.d.ts → NOT_EQUAL/operator.d.ts} +1 -1
  93. package/build/operators/{notEqual.js → NOT_EQUAL/operator.js} +30 -10
  94. package/build/operators/OBJECT_PROPERTIES/data.d.ts +4 -0
  95. package/build/operators/OBJECT_PROPERTIES/data.js +37 -0
  96. package/build/operators/OBJECT_PROPERTIES/index.d.ts +1 -0
  97. package/build/operators/OBJECT_PROPERTIES/index.js +17 -0
  98. package/build/operators/OBJECT_PROPERTIES/operator.d.ts +2 -0
  99. package/build/operators/{objectProperties.js → OBJECT_PROPERTIES/operator.js} +32 -24
  100. package/build/operators/OR/data.d.ts +4 -0
  101. package/build/operators/OR/data.js +22 -0
  102. package/build/operators/OR/index.d.ts +1 -0
  103. package/build/operators/OR/index.js +17 -0
  104. package/build/operators/OR/operator.d.ts +2 -0
  105. package/build/operators/OR/operator.js +49 -0
  106. package/build/operators/PASSTHRU/data.d.ts +4 -0
  107. package/build/operators/PASSTHRU/data.js +22 -0
  108. package/build/operators/PASSTHRU/index.d.ts +1 -0
  109. package/build/operators/PASSTHRU/index.js +17 -0
  110. package/build/operators/PASSTHRU/operator.d.ts +2 -0
  111. package/build/operators/PASSTHRU/operator.js +53 -0
  112. package/build/operators/PG_SQL/data.d.ts +4 -0
  113. package/build/operators/PG_SQL/data.js +43 -0
  114. package/build/operators/PG_SQL/index.d.ts +1 -0
  115. package/build/operators/PG_SQL/index.js +17 -0
  116. package/build/operators/PG_SQL/operator.d.ts +2 -0
  117. package/build/operators/PG_SQL/operator.js +83 -0
  118. package/build/operators/PLUS/data.d.ts +4 -0
  119. package/build/operators/PLUS/data.js +29 -0
  120. package/build/operators/PLUS/index.d.ts +1 -0
  121. package/build/operators/PLUS/index.js +17 -0
  122. package/build/operators/PLUS/operator.d.ts +2 -0
  123. package/build/operators/{plus.js → PLUS/operator.js} +37 -13
  124. package/build/operators/POST/data.d.ts +4 -0
  125. package/build/operators/POST/data.js +50 -0
  126. package/build/operators/POST/index.d.ts +1 -0
  127. package/build/operators/POST/index.js +17 -0
  128. package/build/operators/POST/operator.d.ts +2 -0
  129. package/build/operators/POST/operator.js +72 -0
  130. package/build/operators/REGEX/data.d.ts +4 -0
  131. package/build/operators/REGEX/data.js +29 -0
  132. package/build/operators/REGEX/index.d.ts +1 -0
  133. package/build/operators/REGEX/index.js +17 -0
  134. package/build/operators/REGEX/operator.d.ts +2 -0
  135. package/build/operators/{regex.js → REGEX/operator.js} +29 -16
  136. package/build/operators/SPLIT/data.d.ts +4 -0
  137. package/build/operators/SPLIT/data.js +43 -0
  138. package/build/operators/SPLIT/index.d.ts +1 -0
  139. package/build/operators/SPLIT/index.js +17 -0
  140. package/build/operators/SPLIT/operator.d.ts +2 -0
  141. package/build/operators/{split.js → SPLIT/operator.js} +33 -15
  142. package/build/operators/STRING_SUBSTITUTION/data.d.ts +4 -0
  143. package/build/operators/STRING_SUBSTITUTION/data.js +29 -0
  144. package/build/operators/STRING_SUBSTITUTION/index.d.ts +1 -0
  145. package/build/operators/STRING_SUBSTITUTION/index.js +17 -0
  146. package/build/operators/STRING_SUBSTITUTION/operator.d.ts +2 -0
  147. package/build/operators/STRING_SUBSTITUTION/operator.js +59 -0
  148. package/build/operators/SUBTRACT/data.d.ts +4 -0
  149. package/build/operators/SUBTRACT/data.js +36 -0
  150. package/build/operators/SUBTRACT/index.d.ts +1 -0
  151. package/build/operators/SUBTRACT/index.js +17 -0
  152. package/build/operators/SUBTRACT/operator.d.ts +2 -0
  153. package/build/operators/SUBTRACT/operator.js +54 -0
  154. package/build/operators/_operatorAliases.json +1 -0
  155. package/build/operators/_operatorUtils.d.ts +19 -12
  156. package/build/operators/_operatorUtils.js +33 -15
  157. package/build/operators/index.d.ts +24 -24
  158. package/build/operators/index.js +24 -27
  159. package/build/shorthandSyntax.d.ts +2 -0
  160. package/build/shorthandSyntax.js +55 -0
  161. package/build/typeCheck.d.ts +8 -4
  162. package/build/typeCheck.js +25 -19
  163. package/build/types.d.ts +51 -34
  164. package/build/version.d.ts +1 -0
  165. package/build/version.js +4 -0
  166. package/package.json +10 -3
  167. package/build/operators/buildObject.d.ts +0 -11
  168. package/build/operators/conditional.d.ts +0 -7
  169. package/build/operators/conditional.js +0 -33
  170. package/build/operators/count.d.ts +0 -2
  171. package/build/operators/count.js +0 -29
  172. package/build/operators/customFunctions.d.ts +0 -9
  173. package/build/operators/customFunctions.js +0 -57
  174. package/build/operators/divide.d.ts +0 -12
  175. package/build/operators/divide.js +0 -41
  176. package/build/operators/equal.d.ts +0 -2
  177. package/build/operators/getRequest.d.ts +0 -12
  178. package/build/operators/getRequest.js +0 -51
  179. package/build/operators/graphQL.d.ts +0 -18
  180. package/build/operators/greaterThan.d.ts +0 -6
  181. package/build/operators/greaterThan.js +0 -35
  182. package/build/operators/lessThan.js +0 -35
  183. package/build/operators/logicalAnd.d.ts +0 -8
  184. package/build/operators/logicalOr.d.ts +0 -2
  185. package/build/operators/logicalOr.js +0 -29
  186. package/build/operators/match.d.ts +0 -7
  187. package/build/operators/multiply.js +0 -29
  188. package/build/operators/objectProperties.d.ts +0 -9
  189. package/build/operators/passThru.d.ts +0 -7
  190. package/build/operators/passThru.js +0 -30
  191. package/build/operators/pgSQL.d.ts +0 -24
  192. package/build/operators/pgSQL.js +0 -70
  193. package/build/operators/plus.d.ts +0 -10
  194. package/build/operators/postRequest.d.ts +0 -2
  195. package/build/operators/postRequest.js +0 -43
  196. package/build/operators/regex.d.ts +0 -7
  197. package/build/operators/split.d.ts +0 -11
  198. package/build/operators/stringSubstitution.d.ts +0 -7
  199. package/build/operators/stringSubstitution.js +0 -40
  200. package/build/operators/subtract.d.ts +0 -9
  201. package/build/operators/subtract.js +0 -32
@@ -0,0 +1,17 @@
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);
@@ -0,0 +1,2 @@
1
+ import { OperatorObject } from '../../types';
2
+ export declare const POST: OperatorObject;
@@ -0,0 +1,72 @@
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.POST = void 0;
36
+ const _operatorUtils_1 = require("../_operatorUtils");
37
+ const operator_1 = require("../GET/operator");
38
+ const data_1 = __importStar(require("./data"));
39
+ const evaluate = (expression, config) => __awaiter(void 0, void 0, void 0, function* () {
40
+ var _a, _b, _c;
41
+ const [urlObj, data, returnProperty, headers, useCache] = (yield (0, _operatorUtils_1.evaluateArray)([
42
+ expression.url,
43
+ expression.parameters,
44
+ expression.returnProperty,
45
+ expression.headers,
46
+ expression.useCache,
47
+ ], config));
48
+ const { url, headers: headersObj } = urlObj instanceof Object ? urlObj : { url: urlObj, headers: null };
49
+ config.typeChecker([
50
+ ...(0, _operatorUtils_1.getTypeCheckInput)(data_1.default.parameters, { url, headers, data, returnProperty, useCache }),
51
+ { name: 'headers', value: headersObj, expectedType: ['object', 'null'] },
52
+ ]);
53
+ const baseUrl = (_a = config.options.baseEndpoint) !== null && _a !== void 0 ? _a : '';
54
+ const httpHeaders = Object.assign(Object.assign(Object.assign({}, (_b = config.options) === null || _b === void 0 ? void 0 : _b.headers), headersObj), headers);
55
+ const shouldUseCache = (_c = useCache !== null && useCache !== void 0 ? useCache : config.options.useCache) !== null && _c !== void 0 ? _c : true;
56
+ const result = yield config.cache.useCache(shouldUseCache, () => __awaiter(void 0, void 0, void 0, function* () {
57
+ const response = yield (0, _operatorUtils_1.axiosRequest)({
58
+ url,
59
+ data,
60
+ headers,
61
+ method: 'post',
62
+ });
63
+ return (0, _operatorUtils_1.extractAndSimplify)(response, returnProperty);
64
+ }), (0, _operatorUtils_1.isFullUrl)(url) ? url : (0, _operatorUtils_1.joinUrlParts)(baseUrl, url), data, httpHeaders, returnProperty);
65
+ return result;
66
+ });
67
+ exports.POST = {
68
+ propertyAliases: data_1.propertyAliases,
69
+ operatorData: data_1.default,
70
+ evaluate,
71
+ parseChildren: operator_1.parseChildrenGET,
72
+ };
@@ -0,0 +1,4 @@
1
+ import { OperatorData } from '../../types';
2
+ export declare const propertyAliases: Record<string, string>;
3
+ declare const operatorData: OperatorData;
4
+ export default operatorData;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.propertyAliases = void 0;
4
+ const _operatorUtils_1 = require("../_operatorUtils");
5
+ const description = 'Compare a string against a regex pattern';
6
+ const aliases = ['regex', 'patternMatch', 'regexp', 'matchPattern'];
7
+ const parameters = [
8
+ {
9
+ name: 'testString',
10
+ description: 'The string to test',
11
+ aliases: ['string', 'value'],
12
+ required: true,
13
+ type: 'string',
14
+ },
15
+ {
16
+ name: 'pattern',
17
+ description: 'The regular expression pattern',
18
+ aliases: ['regex', 'regexp', 'regExp', 're'],
19
+ required: true,
20
+ type: 'string',
21
+ },
22
+ ];
23
+ exports.propertyAliases = (0, _operatorUtils_1.getPropertyAliases)(parameters);
24
+ const operatorData = {
25
+ description,
26
+ aliases,
27
+ parameters,
28
+ };
29
+ exports.default = operatorData;
@@ -0,0 +1 @@
1
+ export * from './operator';
@@ -0,0 +1,17 @@
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);
@@ -0,0 +1,2 @@
1
+ import { OperatorObject } from '../../types';
2
+ export declare const REGEX: OperatorObject;
@@ -1,4 +1,27 @@
1
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
+ };
2
25
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
26
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
27
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -10,21 +33,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
33
  };
11
34
  Object.defineProperty(exports, "__esModule", { value: true });
12
35
  exports.REGEX = void 0;
13
- const _operatorUtils_1 = require("./_operatorUtils");
14
- const helpers_1 = require("../helpers");
15
- const requiredProperties = ['testString', 'pattern'];
16
- const operatorAliases = ['regex', 'patternMatch', 'regexp', 'matchPattern'];
17
- const propertyAliases = {
18
- string: 'testString',
19
- value: 'testString',
20
- regex: 'pattern',
21
- regexp: 'pattern',
22
- regExp: 'pattern',
23
- re: 'pattern',
24
- };
36
+ const _operatorUtils_1 = require("../_operatorUtils");
37
+ const helpers_1 = require("../../helpers");
38
+ const data_1 = __importStar(require("./data"));
25
39
  const evaluate = (expression, config) => __awaiter(void 0, void 0, void 0, function* () {
26
40
  const [testString, pattern] = (yield (0, _operatorUtils_1.evaluateArray)([expression.testString, expression.pattern], config));
27
- config.typeChecker({ name: 'testString', value: testString, expectedType: 'string' }, { name: 'pattern', value: pattern, expectedType: 'string' });
41
+ config.typeChecker((0, _operatorUtils_1.getTypeCheckInput)(data_1.default.parameters, { testString, pattern }));
28
42
  try {
29
43
  const re = new RegExp(pattern);
30
44
  return re.test(testString);
@@ -38,9 +52,8 @@ const parseChildren = (expression) => {
38
52
  return Object.assign(Object.assign({}, expression), { testString, pattern });
39
53
  };
40
54
  exports.REGEX = {
41
- requiredProperties,
42
- operatorAliases,
43
- propertyAliases,
55
+ propertyAliases: data_1.propertyAliases,
56
+ operatorData: data_1.default,
44
57
  evaluate,
45
58
  parseChildren,
46
59
  };
@@ -0,0 +1,4 @@
1
+ import { OperatorData } from '../../types';
2
+ export declare const propertyAliases: Record<string, string>;
3
+ declare const operatorData: OperatorData;
4
+ export default operatorData;
@@ -0,0 +1,43 @@
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;
@@ -0,0 +1 @@
1
+ export * from './operator';
@@ -0,0 +1,17 @@
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);
@@ -0,0 +1,2 @@
1
+ import { OperatorObject } from '../../types';
2
+ export declare const SPLIT: OperatorObject;
@@ -1,4 +1,27 @@
1
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
+ };
2
25
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
26
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
27
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -10,17 +33,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
33
  };
11
34
  Object.defineProperty(exports, "__esModule", { value: true });
12
35
  exports.SPLIT = void 0;
13
- const _operatorUtils_1 = require("./_operatorUtils");
14
- const requiredProperties = ['value'];
15
- const operatorAliases = ['split', 'arraySplit'];
16
- const propertyAliases = {
17
- string: 'value',
18
- separator: 'delimiter',
19
- trim: 'trimWhiteSpace',
20
- trimWhitespace: 'trimWhiteSpace',
21
- removeTrailing: 'excludeTrailing',
22
- excludeTrailingDelimiter: 'excludeTrailing',
23
- };
36
+ const _operatorUtils_1 = require("../_operatorUtils");
37
+ const data_1 = __importStar(require("./data"));
24
38
  const DEFAULT_DELIMITER = ' ';
25
39
  const evaluate = (expression, config) => __awaiter(void 0, void 0, void 0, function* () {
26
40
  var _a, _b, _c;
@@ -30,7 +44,12 @@ const evaluate = (expression, config) => __awaiter(void 0, void 0, void 0, funct
30
44
  (_b = expression.trimWhiteSpace) !== null && _b !== void 0 ? _b : true,
31
45
  (_c = expression.excludeTrailing) !== null && _c !== void 0 ? _c : true,
32
46
  ], config));
33
- config.typeChecker({ name: 'value', value: value, expectedType: 'string' }, { name: 'delimiter', value: delimiter, expectedType: 'string' }, { name: 'trimWhiteSpace', value: trimWhiteSpace, expectedType: 'boolean' }, { name: 'excludeTrailing', value: excludeTrailing, expectedType: 'boolean' });
47
+ config.typeChecker((0, _operatorUtils_1.getTypeCheckInput)(data_1.default.parameters, {
48
+ value,
49
+ delimiter,
50
+ trimWhiteSpace,
51
+ excludeTrailing,
52
+ }));
34
53
  let splitValues = value.split(delimiter);
35
54
  if (trimWhiteSpace)
36
55
  splitValues = splitValues.map((val) => val.trim());
@@ -43,9 +62,8 @@ const parseChildren = (expression) => {
43
62
  return Object.assign(Object.assign({}, expression), { value, delimiter });
44
63
  };
45
64
  exports.SPLIT = {
46
- requiredProperties,
47
- operatorAliases,
48
- propertyAliases,
65
+ propertyAliases: data_1.propertyAliases,
66
+ operatorData: data_1.default,
49
67
  evaluate,
50
68
  parseChildren,
51
69
  };
@@ -0,0 +1,4 @@
1
+ import { OperatorData } from '../../types';
2
+ export declare const propertyAliases: Record<string, string>;
3
+ declare const operatorData: OperatorData;
4
+ export default operatorData;
@@ -0,0 +1,29 @@
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;
@@ -0,0 +1 @@
1
+ export * from './operator';
@@ -0,0 +1,17 @@
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);
@@ -0,0 +1,2 @@
1
+ import { OperatorObject } from '../../types';
2
+ export declare const STRING_SUBSTITUTION: OperatorObject;
@@ -0,0 +1,59 @@
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
+ };
@@ -0,0 +1,4 @@
1
+ import { OperatorData } from '../../types';
2
+ export declare const propertyAliases: Record<string, string>;
3
+ declare const operatorData: OperatorData;
4
+ export default operatorData;
@@ -0,0 +1,36 @@
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;
@@ -0,0 +1 @@
1
+ export * from './operator';
@@ -0,0 +1,17 @@
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);
@@ -0,0 +1,2 @@
1
+ import { OperatorObject } from '../../types';
2
+ export declare const SUBTRACT: OperatorObject;
@@ -0,0 +1,54 @@
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
+ };
@@ -84,6 +84,7 @@
84
84
  "runFunction": "CUSTOM_FUNCTIONS",
85
85
  "_": "PASSTHRU",
86
86
  "passThru": "PASSTHRU",
87
+ "passthru": "PASSTHRU",
87
88
  "pass": "PASSTHRU",
88
89
  "ignore": "PASSTHRU",
89
90
  "coerce": "PASSTHRU",