fig-tree-evaluator 2.7.0 → 2.8.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 (174) hide show
  1. package/README.md +194 -12
  2. package/build/FigTreeEvaluator.d.ts +18 -0
  3. package/build/FigTreeEvaluator.js +17 -0
  4. package/build/evaluate.js +16 -10
  5. package/build/helpers.d.ts +1 -0
  6. package/build/helpers.js +5 -4
  7. package/build/operators/AND/data.d.ts +5 -0
  8. package/build/operators/AND/data.js +23 -0
  9. package/build/operators/AND/index.d.ts +1 -0
  10. package/build/operators/AND/index.js +5 -0
  11. package/build/operators/{logicalAnd.d.ts → AND/operator.d.ts} +2 -3
  12. package/build/operators/AND/operator.js +54 -0
  13. package/build/operators/BUILD_OBJECT/data.d.ts +5 -0
  14. package/build/operators/BUILD_OBJECT/data.js +23 -0
  15. package/build/operators/BUILD_OBJECT/index.d.ts +1 -0
  16. package/build/operators/BUILD_OBJECT/index.js +17 -0
  17. package/build/operators/{buildObject.d.ts → BUILD_OBJECT/operator.d.ts} +2 -3
  18. package/build/operators/{buildObject.js → BUILD_OBJECT/operator.js} +29 -12
  19. package/build/operators/CONDITIONAL/data.d.ts +5 -0
  20. package/build/operators/CONDITIONAL/data.js +37 -0
  21. package/build/operators/CONDITIONAL/index.d.ts +1 -0
  22. package/build/operators/CONDITIONAL/index.js +17 -0
  23. package/build/operators/{conditional.d.ts → CONDITIONAL/operator.d.ts} +2 -3
  24. package/build/operators/{conditional.js → CONDITIONAL/operator.js} +28 -7
  25. package/build/operators/COUNT/data.d.ts +5 -0
  26. package/build/operators/COUNT/data.js +23 -0
  27. package/build/operators/COUNT/index.d.ts +1 -0
  28. package/build/operators/COUNT/index.js +17 -0
  29. package/build/operators/COUNT/operator.d.ts +2 -0
  30. package/build/operators/COUNT/operator.js +50 -0
  31. package/build/operators/CUSTOM_FUNCTIONS/data.d.ts +5 -0
  32. package/build/operators/CUSTOM_FUNCTIONS/data.js +37 -0
  33. package/build/operators/CUSTOM_FUNCTIONS/index.d.ts +1 -0
  34. package/build/operators/CUSTOM_FUNCTIONS/index.js +17 -0
  35. package/build/operators/{customFunctions.d.ts → CUSTOM_FUNCTIONS/operator.d.ts} +2 -3
  36. package/build/operators/{customFunctions.js → CUSTOM_FUNCTIONS/operator.js} +29 -22
  37. package/build/operators/DIVIDE/data.d.ts +5 -0
  38. package/build/operators/DIVIDE/data.js +44 -0
  39. package/build/operators/DIVIDE/index.d.ts +1 -0
  40. package/build/operators/DIVIDE/index.js +17 -0
  41. package/build/operators/{divide.d.ts → DIVIDE/operator.d.ts} +2 -2
  42. package/build/operators/DIVIDE/operator.js +62 -0
  43. package/build/operators/EQUAL/data.d.ts +5 -0
  44. package/build/operators/EQUAL/data.js +30 -0
  45. package/build/operators/EQUAL/index.d.ts +1 -0
  46. package/build/operators/EQUAL/index.js +17 -0
  47. package/build/operators/EQUAL/operator.d.ts +2 -0
  48. package/build/operators/{equal.js → EQUAL/operator.js} +31 -10
  49. package/build/operators/GET/data.d.ts +5 -0
  50. package/build/operators/GET/data.js +51 -0
  51. package/build/operators/GET/index.d.ts +1 -0
  52. package/build/operators/GET/index.js +5 -0
  53. package/build/operators/{getRequest.d.ts → GET/operator.d.ts} +2 -3
  54. package/build/operators/{getRequest.js → GET/operator.js} +51 -13
  55. package/build/operators/GRAPHQL/data.d.ts +5 -0
  56. package/build/operators/GRAPHQL/data.js +58 -0
  57. package/build/operators/GRAPHQL/index.d.ts +1 -0
  58. package/build/operators/GRAPHQL/index.js +17 -0
  59. package/build/operators/{graphQL.d.ts → GRAPHQL/operator.d.ts} +2 -3
  60. package/build/operators/{graphQL.js → GRAPHQL/operator.js} +29 -8
  61. package/build/operators/GREATER_THAN/data.d.ts +5 -0
  62. package/build/operators/GREATER_THAN/data.js +30 -0
  63. package/build/operators/GREATER_THAN/index.d.ts +1 -0
  64. package/build/operators/GREATER_THAN/index.js +17 -0
  65. package/build/operators/{greaterThan.d.ts → GREATER_THAN/operator.d.ts} +2 -2
  66. package/build/operators/GREATER_THAN/operator.js +55 -0
  67. package/build/operators/LESS_THAN/data.d.ts +5 -0
  68. package/build/operators/LESS_THAN/data.js +30 -0
  69. package/build/operators/LESS_THAN/index.d.ts +1 -0
  70. package/build/operators/LESS_THAN/index.js +17 -0
  71. package/build/operators/{lessThan.d.ts → LESS_THAN/operator.d.ts} +1 -1
  72. package/build/operators/LESS_THAN/operator.js +55 -0
  73. package/build/operators/MATCH/data.d.ts +5 -0
  74. package/build/operators/MATCH/data.js +30 -0
  75. package/build/operators/MATCH/index.d.ts +1 -0
  76. package/build/operators/MATCH/index.js +17 -0
  77. package/build/operators/{match.d.ts → MATCH/operator.d.ts} +2 -3
  78. package/build/operators/{match.js → MATCH/operator.js} +31 -18
  79. package/build/operators/MULTIPLY/data.d.ts +5 -0
  80. package/build/operators/MULTIPLY/data.js +23 -0
  81. package/build/operators/MULTIPLY/index.d.ts +1 -0
  82. package/build/operators/MULTIPLY/index.js +17 -0
  83. package/build/operators/{multiply.d.ts → MULTIPLY/operator.d.ts} +1 -1
  84. package/build/operators/MULTIPLY/operator.js +50 -0
  85. package/build/operators/NOT_EQUAL/data.d.ts +5 -0
  86. package/build/operators/NOT_EQUAL/data.js +30 -0
  87. package/build/operators/NOT_EQUAL/index.d.ts +1 -0
  88. package/build/operators/NOT_EQUAL/index.js +17 -0
  89. package/build/operators/{notEqual.d.ts → NOT_EQUAL/operator.d.ts} +1 -1
  90. package/build/operators/{notEqual.js → NOT_EQUAL/operator.js} +31 -10
  91. package/build/operators/OBJECT_PROPERTIES/data.d.ts +5 -0
  92. package/build/operators/OBJECT_PROPERTIES/data.js +38 -0
  93. package/build/operators/OBJECT_PROPERTIES/index.d.ts +1 -0
  94. package/build/operators/OBJECT_PROPERTIES/index.js +17 -0
  95. package/build/operators/{objectProperties.d.ts → OBJECT_PROPERTIES/operator.d.ts} +2 -3
  96. package/build/operators/{objectProperties.js → OBJECT_PROPERTIES/operator.js} +33 -24
  97. package/build/operators/OR/data.d.ts +5 -0
  98. package/build/operators/OR/data.js +23 -0
  99. package/build/operators/OR/index.d.ts +1 -0
  100. package/build/operators/OR/index.js +17 -0
  101. package/build/operators/OR/operator.d.ts +2 -0
  102. package/build/operators/OR/operator.js +50 -0
  103. package/build/operators/PASSTHRU/data.d.ts +5 -0
  104. package/build/operators/PASSTHRU/data.js +23 -0
  105. package/build/operators/PASSTHRU/index.d.ts +1 -0
  106. package/build/operators/PASSTHRU/index.js +17 -0
  107. package/build/operators/{passThru.d.ts → PASSTHRU/operator.d.ts} +3 -4
  108. package/build/operators/PASSTHRU/operator.js +52 -0
  109. package/build/operators/PG_SQL/data.d.ts +5 -0
  110. package/build/operators/PG_SQL/data.js +37 -0
  111. package/build/operators/PG_SQL/index.d.ts +1 -0
  112. package/build/operators/PG_SQL/index.js +17 -0
  113. package/build/operators/{pgSQL.d.ts → PG_SQL/operator.d.ts} +2 -2
  114. package/build/operators/{pgSQL.js → PG_SQL/operator.js} +29 -8
  115. package/build/operators/PLUS/data.d.ts +5 -0
  116. package/build/operators/PLUS/data.js +30 -0
  117. package/build/operators/PLUS/index.d.ts +1 -0
  118. package/build/operators/PLUS/index.js +17 -0
  119. package/build/operators/{plus.d.ts → PLUS/operator.d.ts} +3 -4
  120. package/build/operators/{plus.js → PLUS/operator.js} +34 -10
  121. package/build/operators/POST/data.d.ts +5 -0
  122. package/build/operators/POST/data.js +51 -0
  123. package/build/operators/POST/index.d.ts +1 -0
  124. package/build/operators/POST/index.js +17 -0
  125. package/build/operators/POST/operator.d.ts +2 -0
  126. package/build/operators/{postRequest.js → POST/operator.js} +31 -10
  127. package/build/operators/REGEX/data.d.ts +5 -0
  128. package/build/operators/REGEX/data.js +30 -0
  129. package/build/operators/REGEX/index.d.ts +1 -0
  130. package/build/operators/REGEX/index.js +17 -0
  131. package/build/operators/{regex.d.ts → REGEX/operator.d.ts} +2 -3
  132. package/build/operators/{regex.js → REGEX/operator.js} +30 -16
  133. package/build/operators/SPLIT/data.d.ts +5 -0
  134. package/build/operators/SPLIT/data.js +44 -0
  135. package/build/operators/SPLIT/index.d.ts +1 -0
  136. package/build/operators/SPLIT/index.js +17 -0
  137. package/build/operators/{split.d.ts → SPLIT/operator.d.ts} +2 -3
  138. package/build/operators/{split.js → SPLIT/operator.js} +34 -15
  139. package/build/operators/STRING_SUBSTITUTION/data.d.ts +5 -0
  140. package/build/operators/STRING_SUBSTITUTION/data.js +30 -0
  141. package/build/operators/STRING_SUBSTITUTION/index.d.ts +1 -0
  142. package/build/operators/STRING_SUBSTITUTION/index.js +17 -0
  143. package/build/operators/{stringSubstitution.d.ts → STRING_SUBSTITUTION/operator.d.ts} +2 -3
  144. package/build/operators/{stringSubstitution.js → STRING_SUBSTITUTION/operator.js} +29 -9
  145. package/build/operators/SUBTRACT/data.d.ts +5 -0
  146. package/build/operators/SUBTRACT/data.js +37 -0
  147. package/build/operators/SUBTRACT/index.d.ts +1 -0
  148. package/build/operators/SUBTRACT/index.js +17 -0
  149. package/build/operators/{subtract.d.ts → SUBTRACT/operator.d.ts} +2 -2
  150. package/build/operators/SUBTRACT/operator.js +53 -0
  151. package/build/operators/_operatorAliases.json +1 -0
  152. package/build/operators/_operatorUtils.d.ts +9 -1
  153. package/build/operators/_operatorUtils.js +19 -1
  154. package/build/operators/index.d.ts +24 -24
  155. package/build/operators/index.js +24 -27
  156. package/build/shorthandSyntax.d.ts +2 -0
  157. package/build/shorthandSyntax.js +55 -0
  158. package/build/typeCheck.d.ts +1 -1
  159. package/build/typeCheck.js +1 -0
  160. package/build/types.d.ts +30 -12
  161. package/package.json +1 -1
  162. package/build/operators/count.d.ts +0 -2
  163. package/build/operators/count.js +0 -29
  164. package/build/operators/divide.js +0 -41
  165. package/build/operators/equal.d.ts +0 -2
  166. package/build/operators/greaterThan.js +0 -35
  167. package/build/operators/lessThan.js +0 -35
  168. package/build/operators/logicalAnd.js +0 -33
  169. package/build/operators/logicalOr.d.ts +0 -2
  170. package/build/operators/logicalOr.js +0 -29
  171. package/build/operators/multiply.js +0 -29
  172. package/build/operators/passThru.js +0 -30
  173. package/build/operators/postRequest.d.ts +0 -2
  174. package/build/operators/subtract.js +0 -32
@@ -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,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
33
  };
11
34
  Object.defineProperty(exports, "__esModule", { value: true });
12
35
  exports.BUILD_OBJECT = void 0;
13
- const _operatorUtils_1 = require("./_operatorUtils");
14
- const requiredProperties = ['properties'];
15
- const operatorAliases = ['buildObject', 'build', 'object'];
16
- const propertyAliases = {
17
- values: 'properties',
18
- keyValPairs: 'properties',
19
- keyValuePairs: 'properties',
20
- };
36
+ const _operatorUtils_1 = require("../_operatorUtils");
37
+ const data_1 = __importStar(require("./data"));
21
38
  const evaluate = (expression, config) => __awaiter(void 0, void 0, void 0, function* () {
22
39
  const evaluatePair = (nodes) => __awaiter(void 0, void 0, void 0, function* () {
23
40
  const [key, value] = (yield (0, _operatorUtils_1.evaluateArray)(nodes, config));
24
41
  config.typeChecker({ name: 'key', value: key, expectedType: ['string', 'number', 'boolean'] });
25
42
  return [key, value];
26
43
  });
27
- config.typeChecker({ name: 'properties', value: expression.properties, expectedType: 'array' });
44
+ config.typeChecker(...(0, _operatorUtils_1.getTypeCheckInput)(data_1.default.parameters, { properties: expression.properties }));
28
45
  const evaluated = expression.properties
29
46
  .filter((element) => element instanceof Object && 'key' in element && 'value' in element)
30
47
  .map(({ key, value }) => evaluatePair([key, value]));
@@ -40,9 +57,9 @@ const parseChildren = (expression) => {
40
57
  return Object.assign(Object.assign({}, expression), { properties });
41
58
  };
42
59
  exports.BUILD_OBJECT = {
43
- requiredProperties,
44
- operatorAliases,
45
- propertyAliases,
60
+ requiredProperties: data_1.requiredProperties,
61
+ propertyAliases: data_1.propertyAliases,
62
+ operatorData: data_1.default,
46
63
  evaluate,
47
64
  parseChildren,
48
65
  };
@@ -0,0 +1,5 @@
1
+ import { OperatorData } from '../../types';
2
+ export declare const requiredProperties: string[];
3
+ export declare const propertyAliases: Record<string, string>;
4
+ declare const operatorData: OperatorData;
5
+ export default operatorData;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.propertyAliases = exports.requiredProperties = void 0;
4
+ const _operatorUtils_1 = require("../_operatorUtils");
5
+ const description = 'Return a value based on a condition';
6
+ const aliases = ['?', 'conditional', 'ifThen'];
7
+ const parameters = [
8
+ {
9
+ name: 'condition',
10
+ description: 'The expression to check for truthiness',
11
+ aliases: [],
12
+ required: true,
13
+ type: 'any',
14
+ },
15
+ {
16
+ name: 'valueIfTrue',
17
+ description: 'Value to return if condition is true',
18
+ aliases: ['ifTrue'],
19
+ required: true,
20
+ type: 'any',
21
+ },
22
+ {
23
+ name: 'valueIfFalse',
24
+ description: 'Value to return if condition is false',
25
+ aliases: ['ifFalse', 'ifNot'],
26
+ required: true,
27
+ type: 'any',
28
+ },
29
+ ];
30
+ exports.requiredProperties = (0, _operatorUtils_1.getRequiredProperties)(parameters);
31
+ exports.propertyAliases = (0, _operatorUtils_1.getPropertyAliases)(parameters);
32
+ const operatorData = {
33
+ description,
34
+ aliases,
35
+ parameters,
36
+ };
37
+ 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);
@@ -1,7 +1,6 @@
1
- import { BaseOperatorNode, EvaluatorNode, OperatorObject } from '../types';
2
- declare const requiredProperties: readonly ["condition", "valueIfTrue", "valueIfFalse"];
1
+ import { BaseOperatorNode, EvaluatorNode, OperatorObject } from '../../types';
2
+ import { requiredProperties } from './data';
3
3
  export type ConditionalNode = {
4
4
  [key in typeof requiredProperties[number]]: EvaluatorNode;
5
5
  } & BaseOperatorNode;
6
6
  export declare const CONDITIONAL: OperatorObject;
7
- export {};
@@ -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,10 +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.CONDITIONAL = void 0;
13
- const evaluate_1 = require("../evaluate");
14
- const requiredProperties = ['condition', 'valueIfTrue', 'valueIfFalse'];
15
- const operatorAliases = ['?', 'conditional', 'ifThen'];
16
- const propertyAliases = { ifTrue: 'valueIfTrue', ifFalse: 'valueIfFalse', ifNot: 'valueIfFalse' };
36
+ const evaluate_1 = require("../../evaluate");
37
+ const data_1 = __importStar(require("./data"));
17
38
  const evaluate = (expression, config) => __awaiter(void 0, void 0, void 0, function* () {
18
39
  const condition = yield (0, evaluate_1.evaluatorFunction)(expression.condition, config);
19
40
  return !!condition
@@ -25,9 +46,9 @@ const parseChildren = (expression) => {
25
46
  return Object.assign(Object.assign({}, expression), { condition, valueIfTrue, valueIfFalse });
26
47
  };
27
48
  exports.CONDITIONAL = {
28
- requiredProperties,
29
- operatorAliases,
30
- propertyAliases,
49
+ requiredProperties: data_1.requiredProperties,
50
+ propertyAliases: data_1.propertyAliases,
51
+ operatorData: data_1.default,
31
52
  evaluate,
32
53
  parseChildren,
33
54
  };
@@ -0,0 +1,5 @@
1
+ import { OperatorData } from '../../types';
2
+ export declare const requiredProperties: string[];
3
+ export declare const propertyAliases: Record<string, string>;
4
+ declare const operatorData: OperatorData;
5
+ export default operatorData;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.propertyAliases = exports.requiredProperties = void 0;
4
+ const _operatorUtils_1 = require("../_operatorUtils");
5
+ const description = 'Count elements in an array';
6
+ const aliases = ['count', 'length'];
7
+ const parameters = [
8
+ {
9
+ name: 'values',
10
+ description: 'An array to count',
11
+ aliases: [],
12
+ required: true,
13
+ type: 'array',
14
+ },
15
+ ];
16
+ exports.requiredProperties = (0, _operatorUtils_1.getRequiredProperties)(parameters);
17
+ exports.propertyAliases = (0, _operatorUtils_1.getPropertyAliases)(parameters);
18
+ const operatorData = {
19
+ description,
20
+ aliases,
21
+ parameters,
22
+ };
23
+ 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 COUNT: OperatorObject;
@@ -0,0 +1,50 @@
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.COUNT = 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 = yield (0, _operatorUtils_1.evaluateArray)(expression.values, config);
41
+ config.typeChecker(...(0, _operatorUtils_1.getTypeCheckInput)(data_1.default.parameters, { values }));
42
+ return values.length;
43
+ });
44
+ exports.COUNT = {
45
+ requiredProperties: data_1.requiredProperties,
46
+ propertyAliases: data_1.propertyAliases,
47
+ operatorData: data_1.default,
48
+ evaluate,
49
+ parseChildren: operator_1.parseChildren,
50
+ };
@@ -0,0 +1,5 @@
1
+ import { OperatorData } from '../../types';
2
+ export declare const requiredProperties: string[];
3
+ export declare const propertyAliases: Record<string, string>;
4
+ declare const operatorData: OperatorData;
5
+ export default operatorData;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.propertyAliases = exports.requiredProperties = void 0;
4
+ const _operatorUtils_1 = require("../_operatorUtils");
5
+ const description = 'Call a custom function (defined in options)';
6
+ const aliases = [
7
+ 'customFunctions',
8
+ 'customFunction',
9
+ 'objectFunctions',
10
+ 'function',
11
+ 'functions',
12
+ 'runFunction',
13
+ ];
14
+ const parameters = [
15
+ {
16
+ name: 'functionPath',
17
+ description: 'Path (in options.functions) to the required function',
18
+ aliases: ['functionsPath', 'functionName', 'funcName', 'path', 'name'],
19
+ required: true,
20
+ type: 'string',
21
+ },
22
+ {
23
+ name: 'args',
24
+ description: 'Arguments for the function',
25
+ aliases: ['arguments', 'variables'],
26
+ required: false,
27
+ type: ['array'],
28
+ },
29
+ ];
30
+ exports.requiredProperties = (0, _operatorUtils_1.getRequiredProperties)(parameters);
31
+ exports.propertyAliases = (0, _operatorUtils_1.getPropertyAliases)(parameters);
32
+ const operatorData = {
33
+ description,
34
+ aliases,
35
+ parameters,
36
+ };
37
+ 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);
@@ -1,9 +1,8 @@
1
- import { BaseOperatorNode, EvaluatorNode, OperatorObject } from '../types';
2
- declare const requiredProperties: readonly ["functionPath"];
1
+ import { BaseOperatorNode, EvaluatorNode, OperatorObject } from '../../types';
2
+ import { requiredProperties } from './data';
3
3
  export type FunctionNode = {
4
4
  [key in typeof requiredProperties[number]]: EvaluatorNode;
5
5
  } & BaseOperatorNode & {
6
6
  args: EvaluatorNode[];
7
7
  };
8
8
  export declare const CUSTOM_FUNCTIONS: OperatorObject;
9
- export {};
@@ -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) {
@@ -14,28 +37,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
37
  Object.defineProperty(exports, "__esModule", { value: true });
15
38
  exports.CUSTOM_FUNCTIONS = void 0;
16
39
  const object_property_extractor_1 = __importDefault(require("object-property-extractor"));
17
- const _operatorUtils_1 = require("./_operatorUtils");
18
- const requiredProperties = ['functionPath'];
19
- const operatorAliases = [
20
- 'customFunctions',
21
- 'customFunction',
22
- 'objectFunctions',
23
- 'function',
24
- 'functions',
25
- 'runFunction',
26
- ];
27
- const propertyAliases = {
28
- functionsPath: 'functionPath',
29
- functionName: 'functionPath',
30
- funcName: 'functionPath',
31
- path: 'functionPath',
32
- arguments: 'args',
33
- variables: 'args',
34
- };
40
+ const _operatorUtils_1 = require("../_operatorUtils");
41
+ const data_1 = __importStar(require("./data"));
35
42
  const evaluate = (expression, config) => __awaiter(void 0, void 0, void 0, function* () {
36
43
  var _a, _b, _c, _d;
37
44
  const [functionPath, ...args] = (yield (0, _operatorUtils_1.evaluateArray)([expression.functionPath, ...(expression.args || [])], config));
38
- config.typeChecker({ name: 'functionPath', value: functionPath, expectedType: 'string' });
45
+ config.typeChecker(...(0, _operatorUtils_1.getTypeCheckInput)(data_1.default.parameters, { functionPath, args }));
39
46
  const { data, functions } = config.options;
40
47
  const func = ((_b = (_a = (0, object_property_extractor_1.default)(functions, functionPath, null)) !== null && _a !== void 0 ? _a : (0, object_property_extractor_1.default)(data, functionPath, null)) !== null && _b !== void 0 ? _b : (0, object_property_extractor_1.default)(config.options, functionPath));
41
48
  const shouldUseCache = (_d = (_c = expression.useCache) !== null && _c !== void 0 ? _c : config.options.useCache) !== null && _d !== void 0 ? _d : false;
@@ -49,9 +56,9 @@ const parseChildren = (expression) => {
49
56
  return Object.assign(Object.assign({}, expression), { functionPath, args });
50
57
  };
51
58
  exports.CUSTOM_FUNCTIONS = {
52
- requiredProperties,
53
- operatorAliases,
54
- propertyAliases,
59
+ requiredProperties: data_1.requiredProperties,
60
+ propertyAliases: data_1.propertyAliases,
61
+ operatorData: data_1.default,
55
62
  evaluate,
56
63
  parseChildren,
57
64
  };
@@ -0,0 +1,5 @@
1
+ import { OperatorData } from '../../types';
2
+ export declare const requiredProperties: string[];
3
+ export declare const propertyAliases: Record<string, string>;
4
+ declare const operatorData: OperatorData;
5
+ export default operatorData;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.propertyAliases = exports.requiredProperties = void 0;
4
+ const _operatorUtils_1 = require("../_operatorUtils");
5
+ const description = 'Divide one numerical value by another';
6
+ const aliases = ['/', 'divide', '÷'];
7
+ const parameters = [
8
+ {
9
+ name: 'values',
10
+ description: 'Array of values - 1st element will be divided by the first',
11
+ aliases: [],
12
+ required: false,
13
+ type: 'array',
14
+ },
15
+ {
16
+ name: 'dividend',
17
+ description: 'The number that will be divided',
18
+ aliases: ['divide'],
19
+ required: false,
20
+ type: 'number',
21
+ },
22
+ {
23
+ name: 'divisor',
24
+ description: 'The number that dividend will be divided by',
25
+ aliases: ['by', 'divideBy'],
26
+ required: false,
27
+ type: 'number',
28
+ },
29
+ {
30
+ name: 'output',
31
+ description: 'Whether to output a quotient, remainder or decimal',
32
+ aliases: [],
33
+ required: false,
34
+ type: 'string',
35
+ },
36
+ ];
37
+ exports.requiredProperties = (0, _operatorUtils_1.getRequiredProperties)(parameters);
38
+ exports.propertyAliases = (0, _operatorUtils_1.getPropertyAliases)(parameters);
39
+ const operatorData = {
40
+ description,
41
+ aliases,
42
+ parameters,
43
+ };
44
+ 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);
@@ -1,5 +1,5 @@
1
- import { BasicExtendedNode } from './logicalAnd';
2
- import { EvaluatorNode, OperatorObject, BaseOperatorNode } from '../types';
1
+ import { BasicExtendedNode } from '../AND/operator';
2
+ import { EvaluatorNode, OperatorObject, BaseOperatorNode } from '../../types';
3
3
  interface DivisionNodeWithProps extends BaseOperatorNode {
4
4
  dividend: EvaluatorNode;
5
5
  divisor: EvaluatorNode;
@@ -0,0 +1,62 @@
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.DIVIDE = 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, dividend, divisor, output] = (yield (0, _operatorUtils_1.evaluateArray)([expression.values, expression.dividend, expression.divisor, expression.output], config));
41
+ config.typeChecker(...(0, _operatorUtils_1.getTypeCheckInput)(data_1.default.parameters, { values, dividend, divisor, output }));
42
+ const vals = values !== null && values !== void 0 ? values : [dividend, divisor];
43
+ if (vals.length < 2)
44
+ throw new Error('- Not enough values provided');
45
+ if (!vals[1])
46
+ throw new Error('Division by zero!');
47
+ switch (output) {
48
+ case 'quotient':
49
+ return Math.floor(vals[0] / vals[1]);
50
+ case 'remainder':
51
+ return vals[0] % vals[1];
52
+ default:
53
+ return vals[0] / vals[1];
54
+ }
55
+ });
56
+ exports.DIVIDE = {
57
+ requiredProperties: data_1.requiredProperties,
58
+ propertyAliases: data_1.propertyAliases,
59
+ operatorData: data_1.default,
60
+ evaluate,
61
+ parseChildren: operator_1.parseChildren,
62
+ };
@@ -0,0 +1,5 @@
1
+ import { OperatorData } from '../../types';
2
+ export declare const requiredProperties: string[];
3
+ export declare const propertyAliases: Record<string, string>;
4
+ declare const operatorData: OperatorData;
5
+ export default operatorData;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.propertyAliases = exports.requiredProperties = void 0;
4
+ const _operatorUtils_1 = require("../_operatorUtils");
5
+ const description = 'Test multiple values are equal';
6
+ const aliases = ['=', 'eq', 'equal', 'equals'];
7
+ const parameters = [
8
+ {
9
+ name: 'values',
10
+ description: 'Array of values to check for equality',
11
+ aliases: [],
12
+ required: true,
13
+ type: 'array',
14
+ },
15
+ {
16
+ name: 'nullEqualsUndefined',
17
+ description: 'Whether a null value should be considered equal to an undefined value',
18
+ aliases: [],
19
+ required: false,
20
+ type: 'boolean',
21
+ },
22
+ ];
23
+ exports.requiredProperties = (0, _operatorUtils_1.getRequiredProperties)(parameters);
24
+ exports.propertyAliases = (0, _operatorUtils_1.getPropertyAliases)(parameters);
25
+ const operatorData = {
26
+ description,
27
+ aliases,
28
+ parameters,
29
+ };
30
+ exports.default = operatorData;
@@ -0,0 +1 @@
1
+ export * from './operator';