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,64 +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.BUILD_OBJECT = 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 evaluatePair = (nodes) => __awaiter(void 0, void 0, void 0, function* () {
40
- const [key, value] = (yield (0, _operatorUtils_1.evaluateArray)(nodes, config));
41
- config.typeChecker({ name: 'key', value: key, expectedType: ['string', 'number', 'boolean'] });
42
- return [key, value];
43
- });
44
- config.typeChecker((0, _operatorUtils_1.getTypeCheckInput)(data_1.default.parameters, { properties: expression.properties }));
45
- const evaluated = expression.properties
46
- .filter((element) => element instanceof Object && 'key' in element && 'value' in element)
47
- .map(({ key, value }) => evaluatePair([key, value]));
48
- return Object.fromEntries(yield Promise.all(evaluated));
49
- });
50
- const parseChildren = (expression) => {
51
- const elements = expression.children;
52
- if (elements.length % 2 !== 0)
53
- throw new Error('Even number of children required to make key/value pairs');
54
- const keys = elements.filter((_, index) => index % 2 === 0);
55
- const values = elements.filter((_, index) => index % 2 === 1);
56
- const properties = keys.map((key, index) => ({ key, value: values[index] }));
57
- return Object.assign(Object.assign({}, expression), { properties });
58
- };
59
- exports.BUILD_OBJECT = {
60
- propertyAliases: data_1.propertyAliases,
61
- operatorData: data_1.default,
62
- evaluate,
63
- parseChildren,
64
- };
@@ -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 = '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.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 CONDITIONAL: 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.CONDITIONAL = void 0;
36
- const evaluate_1 = require("../../evaluate");
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
- config.typeChecker((0, _operatorUtils_1.getTypeCheckInput)(data_1.default.parameters, {
41
- condition: expression.condition,
42
- valueIfTrue: expression.valueIfTrue,
43
- valueIfFalse: expression.valueIfFalse,
44
- }));
45
- const condition = yield (0, evaluate_1.evaluatorFunction)(expression.condition, config);
46
- return condition
47
- ? yield (0, evaluate_1.evaluatorFunction)(expression.valueIfTrue, config)
48
- : yield (0, evaluate_1.evaluatorFunction)(expression.valueIfFalse, config);
49
- });
50
- const parseChildren = (expression) => {
51
- const [condition, valueIfTrue, valueIfFalse] = expression.children;
52
- return Object.assign(Object.assign({}, expression), { condition, valueIfTrue, valueIfFalse });
53
- };
54
- exports.CONDITIONAL = {
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,22 +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 = '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.propertyAliases = (0, _operatorUtils_1.getPropertyAliases)(parameters);
17
- const operatorData = {
18
- description,
19
- aliases,
20
- parameters,
21
- };
22
- 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 COUNT: OperatorObject;
@@ -1,52 +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.COUNT = 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 values = yield (0, _operatorUtils_1.evaluateArray)(expression.values, config);
40
- config.typeChecker((0, _operatorUtils_1.getTypeCheckInput)(data_1.default.parameters, { values }));
41
- return values.length;
42
- });
43
- const parseChildren = (expression) => {
44
- const [values] = expression.children;
45
- return Object.assign(Object.assign({}, expression), { values });
46
- };
47
- exports.COUNT = {
48
- propertyAliases: data_1.propertyAliases,
49
- operatorData: data_1.default,
50
- evaluate,
51
- parseChildren,
52
- };
@@ -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,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 = '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
- name: 'useCache',
31
- description: 'Whether or not the FigTree cache is used',
32
- aliases: [],
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 CUSTOM_FUNCTIONS: OperatorObject;
@@ -1,65 +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
- var __importDefault = (this && this.__importDefault) || function (mod) {
35
- return (mod && mod.__esModule) ? mod : { "default": mod };
36
- };
37
- Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.CUSTOM_FUNCTIONS = void 0;
39
- const object_property_extractor_1 = __importDefault(require("object-property-extractor"));
40
- const _operatorUtils_1 = require("../_operatorUtils");
41
- const data_1 = __importStar(require("./data"));
42
- const evaluate = (expression, config) => __awaiter(void 0, void 0, void 0, function* () {
43
- var _a, _b, _c;
44
- const [functionPath, args = [], useCache] = (yield (0, _operatorUtils_1.evaluateArray)([expression.functionPath, expression.args, expression.useCache], config));
45
- config.typeChecker((0, _operatorUtils_1.getTypeCheckInput)(data_1.default.parameters, { functionPath, args }));
46
- const { data, functions } = config.options;
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, null);
48
- if (!func || typeof func !== 'function')
49
- throw new Error(`- No function found: "${functionPath}"`);
50
- const shouldUseCache = (_c = useCache !== null && useCache !== void 0 ? useCache : config.options.useCache) !== null && _c !== void 0 ? _c : false;
51
- const result = yield config.cache.useCache(shouldUseCache, (_, ...args) => __awaiter(void 0, void 0, void 0, function* () {
52
- return yield func(...args);
53
- }), functionPath, ...args);
54
- return result;
55
- });
56
- const parseChildren = (expression) => {
57
- const [functionPath, ...args] = expression.children;
58
- return Object.assign(Object.assign({}, expression), { functionPath, args });
59
- };
60
- exports.CUSTOM_FUNCTIONS = {
61
- propertyAliases: data_1.propertyAliases,
62
- operatorData: data_1.default,
63
- evaluate,
64
- parseChildren,
65
- };
@@ -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,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 = '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: { literal: ['quotient', 'remainder'] },
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 DIVIDE: OperatorObject;
@@ -1,63 +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.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].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
- if (vals[1] === 0)
48
- throw new Error('Division by zero!');
49
- switch (output) {
50
- case 'quotient':
51
- return Math.floor(vals[0] / vals[1]);
52
- case 'remainder':
53
- return vals[0] % vals[1];
54
- default:
55
- return vals[0] / vals[1];
56
- }
57
- });
58
- exports.DIVIDE = {
59
- propertyAliases: data_1.propertyAliases,
60
- operatorData: data_1.default,
61
- evaluate,
62
- parseChildren: operator_1.parseChildren,
63
- };
@@ -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 = '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.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 EQUAL: OperatorObject;