fig-tree-evaluator 2.4.3 → 2.5.1
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.
- package/README.md +20 -9
- package/build/FigTreeEvaluator.js +32 -75
- package/build/cache.js +29 -75
- package/build/evaluate.js +68 -154
- package/build/helpers.d.ts +1 -0
- package/build/helpers.js +57 -134
- package/build/index.js +1 -1
- package/build/operators/_operatorUtils.js +50 -109
- package/build/operators/buildObject.js +26 -84
- package/build/operators/conditional.js +18 -70
- package/build/operators/count.js +14 -48
- package/build/operators/customFunctions.js +25 -95
- package/build/operators/divide.js +26 -61
- package/build/operators/equal.js +23 -57
- package/build/operators/getRequest.js +36 -97
- package/build/operators/graphQL.js +40 -97
- package/build/operators/greaterThan.js +20 -54
- package/build/operators/lessThan.js +20 -54
- package/build/operators/logicalAnd.js +16 -61
- package/build/operators/logicalOr.js +14 -48
- package/build/operators/match.js +38 -101
- package/build/operators/multiply.js +14 -48
- package/build/operators/notEqual.js +23 -57
- package/build/operators/objectProperties.js +21 -66
- package/build/operators/passThru.js +15 -58
- package/build/operators/pgSQL.js +54 -134
- package/build/operators/plus.js +24 -70
- package/build/operators/postRequest.js +28 -82
- package/build/operators/regex.js +24 -70
- package/build/operators/split.js +29 -74
- package/build/operators/stringSubstitution.js +25 -79
- package/build/operators/subtract.js +16 -50
- package/build/typeCheck.js +22 -27
- package/build/types.d.ts +1 -0
- package/package.json +2 -2
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -19,94 +8,44 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
19
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
9
|
});
|
|
21
10
|
};
|
|
22
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
24
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
-
function step(op) {
|
|
27
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
29
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
-
switch (op[0]) {
|
|
32
|
-
case 0: case 1: t = op; break;
|
|
33
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
-
default:
|
|
37
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
-
if (t[2]) _.ops.pop();
|
|
42
|
-
_.trys.pop(); continue;
|
|
43
|
-
}
|
|
44
|
-
op = body.call(thisArg, _);
|
|
45
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
12
|
exports.GET = exports.parseChildrenGET = void 0;
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
var _a,
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
}); }, (0, _operatorUtils_1.isFullUrl)(url) ? url : (0, _operatorUtils_1.joinUrlParts)(baseUrl, url), params, httpHeaders, returnProperty)];
|
|
83
|
-
case 2:
|
|
84
|
-
result = _g.sent();
|
|
85
|
-
return [2, result];
|
|
86
|
-
}
|
|
87
|
-
});
|
|
88
|
-
}); };
|
|
89
|
-
var parseChildren = function (expression, config) { return __awaiter(void 0, void 0, void 0, function () {
|
|
90
|
-
var _a, _b, url, fieldNames, rest, values, parameters, output;
|
|
91
|
-
return __generator(this, function (_c) {
|
|
92
|
-
switch (_c.label) {
|
|
93
|
-
case 0: return [4, (0, _operatorUtils_1.evaluateArray)(expression.children, config)];
|
|
94
|
-
case 1:
|
|
95
|
-
_a = (_c.sent()), _b = _a[0], url = _b === void 0 ? '' : _b, fieldNames = _a[1], rest = _a.slice(2);
|
|
96
|
-
values = rest.slice(0, fieldNames.length);
|
|
97
|
-
parameters = (0, _operatorUtils_1.zipArraysToObject)(fieldNames, values);
|
|
98
|
-
output = __assign(__assign({}, expression), { url: url, parameters: parameters });
|
|
99
|
-
if (rest.length > fieldNames.length)
|
|
100
|
-
output.returnProperty = rest.pop();
|
|
101
|
-
return [2, output];
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
}); };
|
|
13
|
+
const _operatorUtils_1 = require("./_operatorUtils");
|
|
14
|
+
const requiredProperties = ['url'];
|
|
15
|
+
const operatorAliases = ['get', 'api'];
|
|
16
|
+
const propertyAliases = { endpoint: 'url', outputProperty: 'returnProperty' };
|
|
17
|
+
const evaluate = (expression, config) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
|
+
var _a, _b, _c, _d;
|
|
19
|
+
const [urlObj, params, returnProperty, headers] = (yield (0, _operatorUtils_1.evaluateArray)([expression.url, expression.parameters, expression.returnProperty, expression.headers], config));
|
|
20
|
+
const { url, headers: headersObj } = urlObj instanceof Object ? urlObj : { url: urlObj, headers: null };
|
|
21
|
+
config.typeChecker({ name: 'url', value: url, expectedType: 'string' }, { name: 'headers', value: headersObj, expectedType: ['object', 'null'] }, { name: 'headers', value: headers, expectedType: ['object', 'undefined'] }, { name: 'parameters', value: params, expectedType: ['object', 'undefined'] }, { name: 'returnProperty', value: returnProperty, expectedType: ['string', 'undefined'] });
|
|
22
|
+
const baseUrl = (_a = config.options.baseEndpoint) !== null && _a !== void 0 ? _a : '';
|
|
23
|
+
const httpHeaders = Object.assign(Object.assign(Object.assign({}, (_b = config.options) === null || _b === void 0 ? void 0 : _b.headers), headersObj), headers);
|
|
24
|
+
const shouldUseCache = (_d = (_c = expression.useCache) !== null && _c !== void 0 ? _c : config.options.useCache) !== null && _d !== void 0 ? _d : true;
|
|
25
|
+
const result = yield config.cache.useCache(shouldUseCache, (url, params, headers, returnProperty) => __awaiter(void 0, void 0, void 0, function* () {
|
|
26
|
+
const response = yield (0, _operatorUtils_1.axiosRequest)({
|
|
27
|
+
url,
|
|
28
|
+
params,
|
|
29
|
+
headers,
|
|
30
|
+
});
|
|
31
|
+
return (0, _operatorUtils_1.extractAndSimplify)(response, returnProperty);
|
|
32
|
+
}), (0, _operatorUtils_1.isFullUrl)(url) ? url : (0, _operatorUtils_1.joinUrlParts)(baseUrl, url), params, httpHeaders, returnProperty);
|
|
33
|
+
return result;
|
|
34
|
+
});
|
|
35
|
+
const parseChildren = (expression, config) => __awaiter(void 0, void 0, void 0, function* () {
|
|
36
|
+
const [url = '', fieldNames, ...rest] = (yield (0, _operatorUtils_1.evaluateArray)(expression.children, config));
|
|
37
|
+
const values = rest.slice(0, fieldNames.length);
|
|
38
|
+
const parameters = (0, _operatorUtils_1.zipArraysToObject)(fieldNames, values);
|
|
39
|
+
const output = Object.assign(Object.assign({}, expression), { url, parameters });
|
|
40
|
+
if (rest.length > fieldNames.length)
|
|
41
|
+
output.returnProperty = rest.pop();
|
|
42
|
+
return output;
|
|
43
|
+
});
|
|
105
44
|
exports.parseChildrenGET = parseChildren;
|
|
106
45
|
exports.GET = {
|
|
107
|
-
requiredProperties
|
|
108
|
-
operatorAliases
|
|
109
|
-
propertyAliases
|
|
110
|
-
evaluate
|
|
111
|
-
parseChildren
|
|
46
|
+
requiredProperties,
|
|
47
|
+
operatorAliases,
|
|
48
|
+
propertyAliases,
|
|
49
|
+
evaluate,
|
|
50
|
+
parseChildren,
|
|
112
51
|
};
|
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -19,93 +8,47 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
19
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
9
|
});
|
|
21
10
|
};
|
|
22
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
24
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
-
function step(op) {
|
|
27
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
29
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
-
switch (op[0]) {
|
|
32
|
-
case 0: case 1: t = op; break;
|
|
33
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
-
default:
|
|
37
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
-
if (t[2]) _.ops.pop();
|
|
42
|
-
_.trys.pop(); continue;
|
|
43
|
-
}
|
|
44
|
-
op = body.call(thisArg, _);
|
|
45
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
12
|
exports.GRAPHQL = void 0;
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
var _a,
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}); }, fullUrl, data, __assign(__assign(__assign(__assign({}, (_h = config.options.graphQLConnection) === null || _h === void 0 ? void 0 : _h.headers), (_j = config.options) === null || _j === void 0 ? void 0 : _j.headers), headersObj), headers), returnNode)];
|
|
87
|
-
case 2:
|
|
88
|
-
result = _k.sent();
|
|
89
|
-
return [2, result];
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
}); };
|
|
93
|
-
var parseChildren = function (expression) { return __awaiter(void 0, void 0, void 0, function () {
|
|
94
|
-
var _a, query, _b, url, fieldNames, rest, values, variables, output;
|
|
95
|
-
return __generator(this, function (_c) {
|
|
96
|
-
_a = expression.children, query = _a[0], _b = _a[1], url = _b === void 0 ? '' : _b, fieldNames = _a[2], rest = _a.slice(3);
|
|
97
|
-
values = rest.slice(0, fieldNames.length);
|
|
98
|
-
variables = (0, _operatorUtils_1.zipArraysToObject)(fieldNames, values);
|
|
99
|
-
output = __assign(__assign({}, expression), { query: query, url: url, variables: variables });
|
|
100
|
-
if (rest.length > fieldNames.length)
|
|
101
|
-
output.returnNode = rest.pop();
|
|
102
|
-
return [2, output];
|
|
103
|
-
});
|
|
104
|
-
}); };
|
|
13
|
+
const _operatorUtils_1 = require("./_operatorUtils");
|
|
14
|
+
const requiredProperties = ['query'];
|
|
15
|
+
const operatorAliases = ['graphQl', 'graphql', 'gql'];
|
|
16
|
+
const propertyAliases = { endpoint: 'url', outputNode: 'returnNode', returnProperty: 'returnNode' };
|
|
17
|
+
const evaluate = (expression, config) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
19
|
+
const [query, urlObj, variables, returnNode, headers] = (yield (0, _operatorUtils_1.evaluateArray)([
|
|
20
|
+
expression.query,
|
|
21
|
+
expression.url,
|
|
22
|
+
expression.variables,
|
|
23
|
+
expression.returnNode,
|
|
24
|
+
expression.headers,
|
|
25
|
+
], config));
|
|
26
|
+
const { url, headers: headersObj } = urlObj instanceof Object ? urlObj : { url: urlObj, headers: null };
|
|
27
|
+
config.typeChecker({ name: 'url', value: url, expectedType: ['string', 'undefined', 'null'] }, { name: 'query', value: query, expectedType: 'string' }, { name: 'headers', value: headersObj, expectedType: ['object', 'null'] }, { name: 'variables', value: variables, expectedType: ['object', 'undefined'] }, { name: 'returnNode', value: returnNode, expectedType: ['string', 'undefined'] });
|
|
28
|
+
const endpoint = !url || url.toLowerCase() === 'graphqlendpoint' ? '' : url;
|
|
29
|
+
const baseEndpoint = (_c = (_b = (_a = config.options.graphQLConnection) === null || _a === void 0 ? void 0 : _a.endpoint) !== null && _b !== void 0 ? _b : config.options.baseEndpoint) !== null && _c !== void 0 ? _c : '';
|
|
30
|
+
const fullUrl = (0, _operatorUtils_1.isFullUrl)(endpoint) ? endpoint : (0, _operatorUtils_1.joinUrlParts)(baseEndpoint, endpoint);
|
|
31
|
+
const data = { query, variables };
|
|
32
|
+
const shouldUseCache = (_e = (_d = expression.useCache) !== null && _d !== void 0 ? _d : config.options.useCache) !== null && _e !== void 0 ? _e : true;
|
|
33
|
+
const result = yield config.cache.useCache(shouldUseCache, (url, data, headers, returnNode) => __awaiter(void 0, void 0, void 0, function* () {
|
|
34
|
+
const response = yield (0, _operatorUtils_1.axiosRequest)({ url, method: 'post', data, headers });
|
|
35
|
+
return (0, _operatorUtils_1.extractAndSimplify)(response.data, returnNode);
|
|
36
|
+
}), fullUrl, data, Object.assign(Object.assign(Object.assign(Object.assign({}, (_f = config.options.graphQLConnection) === null || _f === void 0 ? void 0 : _f.headers), (_g = config.options) === null || _g === void 0 ? void 0 : _g.headers), headersObj), headers), returnNode);
|
|
37
|
+
return result;
|
|
38
|
+
});
|
|
39
|
+
const parseChildren = (expression, config) => __awaiter(void 0, void 0, void 0, function* () {
|
|
40
|
+
const [query, url = '', fieldNames, ...rest] = (yield (0, _operatorUtils_1.evaluateArray)(expression.children, config));
|
|
41
|
+
const values = rest.slice(0, fieldNames.length);
|
|
42
|
+
const variables = (0, _operatorUtils_1.zipArraysToObject)(fieldNames, values);
|
|
43
|
+
const output = Object.assign(Object.assign({}, expression), { query, url, variables });
|
|
44
|
+
if (rest.length > fieldNames.length)
|
|
45
|
+
output.returnNode = rest.pop();
|
|
46
|
+
return output;
|
|
47
|
+
});
|
|
105
48
|
exports.GRAPHQL = {
|
|
106
|
-
requiredProperties
|
|
107
|
-
operatorAliases
|
|
108
|
-
propertyAliases
|
|
109
|
-
evaluate
|
|
110
|
-
parseChildren
|
|
49
|
+
requiredProperties,
|
|
50
|
+
operatorAliases,
|
|
51
|
+
propertyAliases,
|
|
52
|
+
evaluate,
|
|
53
|
+
parseChildren,
|
|
111
54
|
};
|
|
@@ -8,62 +8,28 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
12
|
exports.GREATER_THAN = void 0;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
first = values[0], second = values[1];
|
|
57
|
-
if (first === second && !strict)
|
|
58
|
-
return [2, true];
|
|
59
|
-
return [2, first > second];
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
}); };
|
|
13
|
+
const _operatorUtils_1 = require("./_operatorUtils");
|
|
14
|
+
const logicalAnd_1 = require("./logicalAnd");
|
|
15
|
+
const requiredProperties = ['values'];
|
|
16
|
+
const operatorAliases = ['>', 'greaterThan', 'higher', 'larger'];
|
|
17
|
+
const aliasExtensions = [{ '>=': { strict: false } }];
|
|
18
|
+
const propertyAliases = {};
|
|
19
|
+
const evaluate = (expression, config) => __awaiter(void 0, void 0, void 0, function* () {
|
|
20
|
+
const [values, strict = true] = (yield (0, _operatorUtils_1.evaluateArray)([expression.values, expression.strict], config));
|
|
21
|
+
config.typeChecker({ name: 'values', value: values, expectedType: 'array' });
|
|
22
|
+
if (values.length < 2)
|
|
23
|
+
throw new Error('- Not enough values provided');
|
|
24
|
+
const [first, second] = values;
|
|
25
|
+
if (first === second && !strict)
|
|
26
|
+
return true;
|
|
27
|
+
return first > second;
|
|
28
|
+
});
|
|
63
29
|
exports.GREATER_THAN = {
|
|
64
|
-
requiredProperties
|
|
65
|
-
operatorAliases
|
|
66
|
-
propertyAliases
|
|
67
|
-
evaluate
|
|
30
|
+
requiredProperties,
|
|
31
|
+
operatorAliases,
|
|
32
|
+
propertyAliases,
|
|
33
|
+
evaluate,
|
|
68
34
|
parseChildren: logicalAnd_1.parseChildren,
|
|
69
35
|
};
|
|
@@ -8,62 +8,28 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
12
|
exports.LESS_THAN = void 0;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
first = values[0], second = values[1];
|
|
57
|
-
if (first === second && !strict)
|
|
58
|
-
return [2, true];
|
|
59
|
-
return [2, first < second];
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
}); };
|
|
13
|
+
const _operatorUtils_1 = require("./_operatorUtils");
|
|
14
|
+
const logicalAnd_1 = require("./logicalAnd");
|
|
15
|
+
const requiredProperties = ['values'];
|
|
16
|
+
const operatorAliases = ['<', 'lessThan', 'lower', 'smaller'];
|
|
17
|
+
const aliasExtensions = [{ '<=': { strict: false } }];
|
|
18
|
+
const propertyAliases = {};
|
|
19
|
+
const evaluate = (expression, config) => __awaiter(void 0, void 0, void 0, function* () {
|
|
20
|
+
const [values, strict = true] = (yield (0, _operatorUtils_1.evaluateArray)([expression.values, expression.strict], config));
|
|
21
|
+
config.typeChecker({ name: 'values', value: values, expectedType: 'array' });
|
|
22
|
+
if (values.length < 2)
|
|
23
|
+
throw new Error('- Not enough values provided');
|
|
24
|
+
const [first, second] = values;
|
|
25
|
+
if (first === second && !strict)
|
|
26
|
+
return true;
|
|
27
|
+
return first < second;
|
|
28
|
+
});
|
|
63
29
|
exports.LESS_THAN = {
|
|
64
|
-
requiredProperties
|
|
65
|
-
operatorAliases
|
|
66
|
-
propertyAliases
|
|
67
|
-
evaluate
|
|
30
|
+
requiredProperties,
|
|
31
|
+
operatorAliases,
|
|
32
|
+
propertyAliases,
|
|
33
|
+
evaluate,
|
|
68
34
|
parseChildren: logicalAnd_1.parseChildren,
|
|
69
35
|
};
|
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -19,60 +8,26 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
19
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
9
|
});
|
|
21
10
|
};
|
|
22
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
24
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
-
function step(op) {
|
|
27
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
29
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
-
switch (op[0]) {
|
|
32
|
-
case 0: case 1: t = op; break;
|
|
33
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
-
default:
|
|
37
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
-
if (t[2]) _.ops.pop();
|
|
42
|
-
_.trys.pop(); continue;
|
|
43
|
-
}
|
|
44
|
-
op = body.call(thisArg, _);
|
|
45
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
12
|
exports.AND = exports.parseChildren = void 0;
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
return [2, values.reduce(function (acc, val) { return acc && !!val; }, true)];
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
}); };
|
|
67
|
-
var parseChildren = function (expression) {
|
|
68
|
-
var values = expression.children;
|
|
69
|
-
return __assign(__assign({}, expression), { values: values });
|
|
13
|
+
const _operatorUtils_1 = require("./_operatorUtils");
|
|
14
|
+
const requiredProperties = ['values'];
|
|
15
|
+
const operatorAliases = ['and', '&', '&&'];
|
|
16
|
+
const propertyAliases = {};
|
|
17
|
+
const evaluate = (expression, config) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
|
+
const values = (yield (0, _operatorUtils_1.evaluateArray)(expression.values, config));
|
|
19
|
+
config.typeChecker({ name: 'values', value: values, expectedType: 'array' });
|
|
20
|
+
return values.reduce((acc, val) => acc && !!val, true);
|
|
21
|
+
});
|
|
22
|
+
const parseChildren = (expression) => {
|
|
23
|
+
const values = expression.children;
|
|
24
|
+
return Object.assign(Object.assign({}, expression), { values });
|
|
70
25
|
};
|
|
71
26
|
exports.parseChildren = parseChildren;
|
|
72
27
|
exports.AND = {
|
|
73
|
-
requiredProperties
|
|
74
|
-
operatorAliases
|
|
75
|
-
propertyAliases
|
|
76
|
-
evaluate
|
|
28
|
+
requiredProperties,
|
|
29
|
+
operatorAliases,
|
|
30
|
+
propertyAliases,
|
|
31
|
+
evaluate,
|
|
77
32
|
parseChildren: exports.parseChildren,
|
|
78
33
|
};
|