@raytio/core 10.1.0 → 11.0.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.
- package/CHANGELOG.md +6 -0
- package/README.md +100 -59
- package/dist/{util/hash.d.ts → __tests__/docs.test.d.ts} +1 -1
- package/dist/__tests__/docs.test.js +24 -0
- package/dist/accessApplication/createAA.d.ts +17 -17
- package/dist/accessApplication/createAA.js +71 -71
- package/dist/accessApplication/index.d.ts +1 -1
- package/dist/accessApplication/index.js +17 -17
- package/dist/crypto/cognitoAttributes.d.ts +15 -15
- package/dist/crypto/cognitoAttributes.js +33 -33
- package/dist/crypto/decryptKeys.d.ts +1 -1
- package/dist/crypto/decryptKeys.js +33 -33
- package/dist/crypto/decryptSharedData.d.ts +26 -26
- package/dist/crypto/decryptSharedData.js +38 -38
- package/dist/crypto/getAADecryptor.d.ts +16 -16
- package/dist/crypto/getAADecryptor.js +20 -20
- package/dist/crypto/helpers.d.ts +18 -18
- package/dist/crypto/helpers.js +26 -26
- package/dist/crypto/index.d.ts +4 -4
- package/dist/crypto/index.js +21 -21
- package/dist/general/conditional.d.ts +17 -17
- package/dist/general/conditional.js +32 -32
- package/dist/general/date.d.ts +2 -2
- package/dist/general/date.js +18 -18
- package/dist/general/index.d.ts +4 -4
- package/dist/general/index.js +20 -20
- package/dist/general/password.d.ts +10 -10
- package/dist/general/password.js +31 -31
- package/dist/general/types.d.ts +6 -6
- package/dist/general/types.js +13 -13
- package/dist/index.d.ts +6 -6
- package/dist/index.js +22 -22
- package/dist/rules/calculateScore.d.ts +28 -23
- package/dist/rules/calculateScore.js +82 -76
- package/dist/rules/convertInstanceToRuleInput.d.ts +3 -3
- package/dist/rules/convertInstanceToRuleInput.js +138 -139
- package/dist/rules/evaluateScoreCondition.d.ts +2 -2
- package/dist/rules/evaluateScoreCondition.js +44 -45
- package/dist/{verifications/checkVerifications.d.ts → rules/helpers/__tests__/addInfiniteThresholdBoundaries.test.d.ts} +1 -1
- package/dist/rules/helpers/__tests__/addInfiniteThresholdBoundaries.test.js +27 -0
- package/dist/{verifications/checkVerificationsNew.d.ts → rules/helpers/__tests__/checkTypeofValue.test.d.ts} +1 -1
- package/dist/rules/helpers/__tests__/checkTypeofValue.test.js +49 -0
- package/dist/{verifications/verifyCheck/util/canonicalJsonify.d.ts → rules/helpers/__tests__/getValuesFromPath.test.d.ts} +1 -1
- package/dist/rules/helpers/__tests__/getValuesFromPath.test.js +67 -0
- package/dist/rules/helpers/__tests__/thresholds.test.d.ts +1 -0
- package/dist/rules/helpers/__tests__/thresholds.test.js +32 -0
- package/dist/rules/helpers/addInfiniteThresholdBoundaries.d.ts +8 -8
- package/dist/rules/helpers/addInfiniteThresholdBoundaries.js +11 -11
- package/dist/rules/helpers/checkTypeofValue.d.ts +9 -9
- package/dist/rules/helpers/checkTypeofValue.js +60 -55
- package/dist/rules/helpers/getValuesFromPath.d.ts +3 -3
- package/dist/rules/helpers/getValuesFromPath.js +50 -50
- package/dist/rules/helpers/index.d.ts +5 -5
- package/dist/rules/helpers/index.js +21 -21
- package/dist/rules/helpers/symbols.d.ts +2 -2
- package/dist/rules/helpers/symbols.js +5 -5
- package/dist/rules/helpers/thresholds.d.ts +5 -5
- package/dist/rules/helpers/thresholds.js +46 -47
- package/dist/rules/index.d.ts +7 -7
- package/dist/rules/index.js +25 -25
- package/dist/rules/operators/__tests__/bool.test.d.ts +1 -0
- package/dist/rules/operators/__tests__/bool.test.js +21 -0
- package/dist/rules/operators/__tests__/date.test.d.ts +1 -0
- package/dist/rules/operators/__tests__/date.test.js +81 -0
- package/dist/rules/operators/__tests__/hfield.test.d.ts +1 -0
- package/dist/rules/operators/__tests__/hfield.test.js +38 -0
- package/dist/rules/operators/__tests__/hschema.test.d.ts +1 -0
- package/dist/rules/operators/__tests__/hschema.test.js +24 -0
- package/dist/rules/operators/__tests__/number.test.d.ts +1 -0
- package/dist/rules/operators/__tests__/number.test.js +53 -0
- package/dist/rules/operators/__tests__/string.test.d.ts +1 -0
- package/dist/rules/operators/__tests__/string.test.js +74 -0
- package/dist/rules/operators/bool.d.ts +2 -2
- package/dist/rules/operators/bool.js +17 -17
- package/dist/rules/operators/date.d.ts +2 -2
- package/dist/rules/operators/date.js +91 -91
- package/dist/rules/operators/hfield.d.ts +2 -2
- package/dist/rules/operators/hfield.js +33 -33
- package/dist/rules/operators/hschema.d.ts +2 -2
- package/dist/rules/operators/hschema.js +21 -21
- package/dist/rules/operators/index.d.ts +3 -3
- package/dist/rules/operators/index.js +11 -11
- package/dist/rules/operators/number.d.ts +2 -2
- package/dist/rules/operators/number.js +41 -41
- package/dist/rules/operators/string.d.ts +2 -2
- package/dist/rules/operators/string.js +58 -58
- package/dist/rules/types/config.d.ts +95 -91
- package/dist/rules/types/config.js +2 -2
- package/dist/rules/types/dataValueTypes.d.ts +19 -19
- package/dist/rules/types/dataValueTypes.js +4 -4
- package/dist/rules/types/index.d.ts +3 -3
- package/dist/rules/types/index.js +19 -19
- package/dist/rules/types/internal.d.ts +20 -20
- package/dist/rules/types/internal.js +2 -2
- package/dist/rules/validate.d.ts +6 -6
- package/dist/rules/validate.js +14 -14
- package/dist/rules/version.d.ts +1 -1
- package/dist/rules/version.js +5 -5
- package/dist/schema/index.d.ts +1 -1
- package/dist/schema/index.js +17 -17
- package/dist/schema/labels.d.ts +2 -2
- package/dist/schema/labels.js +20 -20
- package/dist/util/canonicalJsonify.d.ts +1 -1
- package/dist/util/canonicalJsonify.js +50 -50
- package/dist/util/handleResponse.d.ts +1 -1
- package/dist/util/handleResponse.js +21 -21
- package/dist/util/index.d.ts +2 -2
- package/dist/util/index.js +18 -18
- package/dist/verifications/cleanInstance.d.ts +9 -9
- package/dist/verifications/cleanInstance.js +15 -15
- package/dist/verifications/getPOVerification.d.ts +19 -16
- package/dist/verifications/getPOVerification.js +105 -94
- package/dist/verifications/getVerifiedBy.d.ts +1 -1
- package/dist/verifications/getVerifiedBy.js +19 -19
- package/dist/verifications/index.d.ts +5 -5
- package/dist/verifications/index.js +21 -21
- package/dist/verifications/maybeRereference.d.ts +1 -1
- package/dist/verifications/maybeRereference.js +10 -10
- package/dist/verifications/safeHarbour.d.ts +20 -20
- package/dist/verifications/safeHarbour.js +74 -74
- package/dist/verifications/verifyCheck/__tests__/getOwnRealVerifications.test.d.ts +1 -0
- package/dist/verifications/verifyCheck/__tests__/getOwnRealVerifications.test.js +152 -0
- package/dist/verifications/verifyCheck/__tests__/getSomeoneElsesRealVerifications.test.d.ts +1 -0
- package/dist/verifications/verifyCheck/__tests__/getSomeoneElsesRealVerifications.test.js +205 -0
- package/dist/verifications/verifyCheck/getOwnRealVerifications.d.ts +13 -13
- package/dist/verifications/verifyCheck/getOwnRealVerifications.js +66 -64
- package/dist/verifications/verifyCheck/getSomeoneElsesRealVerifications.d.ts +19 -19
- package/dist/verifications/verifyCheck/getSomeoneElsesRealVerifications.js +72 -72
- package/dist/verifications/verifyCheck/index.d.ts +3 -3
- package/dist/verifications/verifyCheck/index.js +21 -21
- package/dist/verifications/verifyCheck/operations/__tests__/checkOwnVerification.test.d.ts +1 -0
- package/dist/verifications/verifyCheck/operations/__tests__/checkOwnVerification.test.js +91 -0
- package/dist/verifications/verifyCheck/operations/__tests__/checkSomeoneElsesVerifications.test.d.ts +1 -0
- package/dist/verifications/verifyCheck/operations/__tests__/checkSomeoneElsesVerifications.test.js +49 -0
- package/dist/verifications/verifyCheck/operations/__tests__/sampleBundle.json +43 -0
- package/dist/verifications/verifyCheck/operations/checkOwnVerification.d.ts +15 -15
- package/dist/verifications/verifyCheck/operations/checkOwnVerification.js +39 -39
- package/dist/verifications/verifyCheck/operations/checkSomeoneElsesVerifications.d.ts +1 -1
- package/dist/verifications/verifyCheck/operations/checkSomeoneElsesVerifications.js +16 -16
- package/dist/verifications/verifyCheck/operations/index.d.ts +2 -2
- package/dist/verifications/verifyCheck/operations/index.js +18 -18
- package/package.json +13 -10
- package/dist/rules/helpers/getLhsTypeofValue.d.ts +0 -0
- package/dist/rules/helpers/getLhsTypeofValue.js +0 -1
- package/dist/rules/helpers/getValueFromPath.d.ts +0 -2
- package/dist/rules/helpers/getValueFromPath.js +0 -35
- package/dist/rules/helpers/rebuildInfiniteValues.d.ts +0 -3
- package/dist/rules/helpers/rebuildInfiniteValues.js +0 -6
- package/dist/rules/isScoreResultValid.d.ts +0 -2
- package/dist/rules/isScoreResultValid.js +0 -9
- package/dist/rules/operators/array.d.ts +0 -2
- package/dist/rules/operators/array.js +0 -74
- package/dist/rules/types/operators.d.ts +0 -19
- package/dist/rules/types/operators.js +0 -2
- package/dist/rules/types/score.d.ts +0 -50
- package/dist/rules/types/score.js +0 -2
- package/dist/util/conditional.d.ts +0 -7
- package/dist/util/conditional.js +0 -15
- package/dist/util/hash.js +0 -11
- package/dist/verifications/checkSingleVerification.d.ts +0 -9
- package/dist/verifications/checkSingleVerification.js +0 -29
- package/dist/verifications/checkVerifications.js +0 -16
- package/dist/verifications/checkVerificationsNew.js +0 -16
- package/dist/verifications/getOwnRealVerifications.d.ts +0 -14
- package/dist/verifications/getOwnRealVerifications.js +0 -64
- package/dist/verifications/getRealVerifications.d.ts +0 -22
- package/dist/verifications/getRealVerifications.js +0 -71
- package/dist/verifications/verifyCheck/util/canonicalJsonify.js +0 -48
- package/dist/verifications/verifyCheck/util/getValuesForAField.d.ts +0 -2
- package/dist/verifications/verifyCheck/util/getValuesForAField.js +0 -9
- package/dist/verifications/verifyCheck/util/index.d.ts +0 -2
- package/dist/verifications/verifyCheck/util/index.js +0 -14
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.numberOperators = void 0;
|
|
4
|
-
exports.numberOperators = {
|
|
5
|
-
num_eq: {
|
|
6
|
-
operands: ["Number", "Number"],
|
|
7
|
-
implementation(n1, n2) {
|
|
8
|
-
return n1 === n2;
|
|
9
|
-
},
|
|
10
|
-
},
|
|
11
|
-
num_neq: {
|
|
12
|
-
operands: ["Number", "Number"],
|
|
13
|
-
implementation(n1, n2) {
|
|
14
|
-
return n1 !== n2;
|
|
15
|
-
},
|
|
16
|
-
},
|
|
17
|
-
num_gt_eq: {
|
|
18
|
-
operands: ["Number", "Number"],
|
|
19
|
-
implementation(n1, n2) {
|
|
20
|
-
return n1 >= n2;
|
|
21
|
-
},
|
|
22
|
-
},
|
|
23
|
-
num_lt_eq: {
|
|
24
|
-
operands: ["Number", "Number"],
|
|
25
|
-
implementation(n1, n2) {
|
|
26
|
-
return n1 <= n2;
|
|
27
|
-
},
|
|
28
|
-
},
|
|
29
|
-
num_gt: {
|
|
30
|
-
operands: ["Number", "Number"],
|
|
31
|
-
implementation(n1, n2) {
|
|
32
|
-
return n1 > n2;
|
|
33
|
-
},
|
|
34
|
-
},
|
|
35
|
-
num_lt: {
|
|
36
|
-
operands: ["Number", "Number"],
|
|
37
|
-
implementation(n1, n2) {
|
|
38
|
-
return n1 < n2;
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.numberOperators = void 0;
|
|
4
|
+
exports.numberOperators = {
|
|
5
|
+
num_eq: {
|
|
6
|
+
operands: ["Number", "Number"],
|
|
7
|
+
implementation(n1, n2) {
|
|
8
|
+
return n1 === n2;
|
|
9
|
+
},
|
|
10
|
+
},
|
|
11
|
+
num_neq: {
|
|
12
|
+
operands: ["Number", "Number"],
|
|
13
|
+
implementation(n1, n2) {
|
|
14
|
+
return n1 !== n2;
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
num_gt_eq: {
|
|
18
|
+
operands: ["Number", "Number"],
|
|
19
|
+
implementation(n1, n2) {
|
|
20
|
+
return n1 >= n2;
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
num_lt_eq: {
|
|
24
|
+
operands: ["Number", "Number"],
|
|
25
|
+
implementation(n1, n2) {
|
|
26
|
+
return n1 <= n2;
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
num_gt: {
|
|
30
|
+
operands: ["Number", "Number"],
|
|
31
|
+
implementation(n1, n2) {
|
|
32
|
+
return n1 > n2;
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
num_lt: {
|
|
36
|
+
operands: ["Number", "Number"],
|
|
37
|
+
implementation(n1, n2) {
|
|
38
|
+
return n1 < n2;
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { OperatorID, OperatorDef } from "../types";
|
|
2
|
-
export declare const stringOperators: Partial<Record<OperatorID, OperatorDef>>;
|
|
1
|
+
import { OperatorID, OperatorDef } from "../types";
|
|
2
|
+
export declare const stringOperators: Partial<Record<OperatorID, OperatorDef>>;
|
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.stringOperators = void 0;
|
|
4
|
-
// also string operators are case-insensitive
|
|
5
|
-
exports.stringOperators = {
|
|
6
|
-
string_eq: {
|
|
7
|
-
operands: ["String", "String"],
|
|
8
|
-
implementation(s1, s2) {
|
|
9
|
-
return s1.toLowerCase() === s2.toLowerCase();
|
|
10
|
-
},
|
|
11
|
-
},
|
|
12
|
-
string_neq: {
|
|
13
|
-
operands: ["String", "String"],
|
|
14
|
-
implementation(s1, s2) {
|
|
15
|
-
return s1.toLowerCase() !== s2.toLowerCase();
|
|
16
|
-
},
|
|
17
|
-
},
|
|
18
|
-
string_contains: {
|
|
19
|
-
operands: ["String", "String"],
|
|
20
|
-
implementation(s1, s2) {
|
|
21
|
-
return s1.toLowerCase().includes(s2.toLowerCase());
|
|
22
|
-
},
|
|
23
|
-
},
|
|
24
|
-
string_ncontains: {
|
|
25
|
-
operands: ["String", "String"],
|
|
26
|
-
implementation(s1, s2) {
|
|
27
|
-
return !s1.toLowerCase().includes(s2.toLowerCase());
|
|
28
|
-
},
|
|
29
|
-
},
|
|
30
|
-
string_startsWith: {
|
|
31
|
-
operands: ["String", "String"],
|
|
32
|
-
implementation(s1, s2) {
|
|
33
|
-
return s1.toLowerCase().startsWith(s2.toLowerCase());
|
|
34
|
-
},
|
|
35
|
-
},
|
|
36
|
-
string_nstartsWith: {
|
|
37
|
-
operands: ["String", "String"],
|
|
38
|
-
implementation(s1, s2) {
|
|
39
|
-
return !s1.toLowerCase().startsWith(s2.toLowerCase());
|
|
40
|
-
},
|
|
41
|
-
},
|
|
42
|
-
string_endsWith: {
|
|
43
|
-
operands: ["String", "String"],
|
|
44
|
-
implementation(s1, s2) {
|
|
45
|
-
return s1.toLowerCase().endsWith(s2.toLowerCase());
|
|
46
|
-
},
|
|
47
|
-
},
|
|
48
|
-
string_nendsWith: {
|
|
49
|
-
operands: ["String", "String"],
|
|
50
|
-
implementation(s1, s2) {
|
|
51
|
-
return !s1.toLowerCase().endsWith(s2.toLowerCase());
|
|
52
|
-
},
|
|
53
|
-
},
|
|
54
|
-
string_regex: {
|
|
55
|
-
operands: ["String", "RegEx"],
|
|
56
|
-
implementation: (str, regEx) => !!str.match(regEx),
|
|
57
|
-
},
|
|
58
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.stringOperators = void 0;
|
|
4
|
+
// also string operators are case-insensitive
|
|
5
|
+
exports.stringOperators = {
|
|
6
|
+
string_eq: {
|
|
7
|
+
operands: ["String", "String"],
|
|
8
|
+
implementation(s1, s2) {
|
|
9
|
+
return s1.toLowerCase() === s2.toLowerCase();
|
|
10
|
+
},
|
|
11
|
+
},
|
|
12
|
+
string_neq: {
|
|
13
|
+
operands: ["String", "String"],
|
|
14
|
+
implementation(s1, s2) {
|
|
15
|
+
return s1.toLowerCase() !== s2.toLowerCase();
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
string_contains: {
|
|
19
|
+
operands: ["String", "String"],
|
|
20
|
+
implementation(s1, s2) {
|
|
21
|
+
return s1.toLowerCase().includes(s2.toLowerCase());
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
string_ncontains: {
|
|
25
|
+
operands: ["String", "String"],
|
|
26
|
+
implementation(s1, s2) {
|
|
27
|
+
return !s1.toLowerCase().includes(s2.toLowerCase());
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
string_startsWith: {
|
|
31
|
+
operands: ["String", "String"],
|
|
32
|
+
implementation(s1, s2) {
|
|
33
|
+
return s1.toLowerCase().startsWith(s2.toLowerCase());
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
string_nstartsWith: {
|
|
37
|
+
operands: ["String", "String"],
|
|
38
|
+
implementation(s1, s2) {
|
|
39
|
+
return !s1.toLowerCase().startsWith(s2.toLowerCase());
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
string_endsWith: {
|
|
43
|
+
operands: ["String", "String"],
|
|
44
|
+
implementation(s1, s2) {
|
|
45
|
+
return s1.toLowerCase().endsWith(s2.toLowerCase());
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
string_nendsWith: {
|
|
49
|
+
operands: ["String", "String"],
|
|
50
|
+
implementation(s1, s2) {
|
|
51
|
+
return !s1.toLowerCase().endsWith(s2.toLowerCase());
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
string_regex: {
|
|
55
|
+
operands: ["String", "RegEx"],
|
|
56
|
+
implementation: (str, regEx) => !!str.match(regEx),
|
|
57
|
+
},
|
|
58
|
+
};
|
|
@@ -1,91 +1,95 @@
|
|
|
1
|
-
import { GetTSType } from "./dataValueTypes";
|
|
2
|
-
/**
|
|
3
|
-
* @ignore
|
|
4
|
-
* these are just IDs, the string is never parsed by anything.
|
|
5
|
-
*
|
|
6
|
-
* However, since they're saved into the WizardConfig schema,
|
|
7
|
-
* we can't just rename or remove any, since that would break
|
|
8
|
-
* existing rules.
|
|
9
|
-
*/
|
|
10
|
-
export
|
|
11
|
-
/** @ignore */
|
|
12
|
-
export
|
|
13
|
-
/** @ignore */
|
|
14
|
-
export
|
|
15
|
-
type: "field",
|
|
16
|
-
schemaName: string,
|
|
17
|
-
fieldName: string,
|
|
18
|
-
prop: ValuePathFieldProp
|
|
19
|
-
];
|
|
20
|
-
/** @ignore */
|
|
21
|
-
export
|
|
22
|
-
type: "constant";
|
|
23
|
-
value: T;
|
|
24
|
-
};
|
|
25
|
-
/** @ignore */
|
|
26
|
-
export
|
|
27
|
-
type: "variable";
|
|
28
|
-
path: ValuePath;
|
|
29
|
-
};
|
|
30
|
-
/** @ignore */
|
|
31
|
-
export
|
|
32
|
-
/** @ignore these are the LHS & RHS operands which come from variables (or constants) */
|
|
33
|
-
export
|
|
34
|
-
/** @ignore these are the RHS-only operands which come from constants ONLY */
|
|
35
|
-
export
|
|
36
|
-
/** @ignore full list of operands which come from variables OR constants */
|
|
37
|
-
export
|
|
38
|
-
/** @ignore */
|
|
39
|
-
export
|
|
40
|
-
type: T;
|
|
41
|
-
value: ValueRef<GetTSType<T>>;
|
|
42
|
-
};
|
|
43
|
-
/** @ignore */
|
|
44
|
-
export
|
|
45
|
-
type: "ScoreCondition";
|
|
46
|
-
operator: OperatorID;
|
|
47
|
-
values: ValueDef<ValueType>[];
|
|
48
|
-
};
|
|
49
|
-
/** @ignore */
|
|
50
|
-
export
|
|
51
|
-
type: "LanguageOperator";
|
|
52
|
-
operator: "OR" | "AND";
|
|
53
|
-
children: ASTNode[];
|
|
54
|
-
};
|
|
55
|
-
/** @ignore */
|
|
56
|
-
export
|
|
57
|
-
/** @ignore */
|
|
58
|
-
export
|
|
59
|
-
/**
|
|
60
|
-
|
|
61
|
-
/** user defined */
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
|
|
65
|
-
/** must be an integer */
|
|
66
|
-
|
|
67
|
-
/** must
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
1
|
+
import { GetTSType } from "./dataValueTypes";
|
|
2
|
+
/**
|
|
3
|
+
* @ignore
|
|
4
|
+
* these are just IDs, the string is never parsed by anything.
|
|
5
|
+
*
|
|
6
|
+
* However, since they're saved into the WizardConfig schema,
|
|
7
|
+
* we can't just rename or remove any, since that would break
|
|
8
|
+
* existing rules.
|
|
9
|
+
*/
|
|
10
|
+
export type OperatorID = "bool_eq" | "bool_neq" | "num_eq" | "num_neq" | "num_lt_eq" | "num_gt_eq" | "num_lt" | "num_gt" | "date_valid" | "date_invalid" | "date_before" | "date_after" | "date_eq" | "date_neq" | "date_older_than" | "date_newer_than" | "date_between" | "string_eq" | "string_neq" | "string_contains" | "string_ncontains" | "string_startsWith" | "string_nstartsWith" | "string_endsWith" | "string_nendsWith" | "string_regex" | "field_verifiedBy" | "field_shared" | "field_hasVerStatus" | "field_cameFromSchema" | "field_ncameFromSchema" | "schema_verifiedBy" | "schema_shared" | "schema_hasVerStatus";
|
|
11
|
+
/** @ignore */
|
|
12
|
+
export type ValuePathFieldProp = "meta" | "value" | "valueLength" | `subField|${string}`;
|
|
13
|
+
/** @ignore */
|
|
14
|
+
export type ValuePath = [type: "schema", schemaName: string, prop: "meta"] | [
|
|
15
|
+
type: "field",
|
|
16
|
+
schemaName: string,
|
|
17
|
+
fieldName: string,
|
|
18
|
+
prop: ValuePathFieldProp
|
|
19
|
+
];
|
|
20
|
+
/** @ignore */
|
|
21
|
+
export type ValueRefConst<T> = {
|
|
22
|
+
type: "constant";
|
|
23
|
+
value: T;
|
|
24
|
+
};
|
|
25
|
+
/** @ignore */
|
|
26
|
+
export type ValueRefVar = {
|
|
27
|
+
type: "variable";
|
|
28
|
+
path: ValuePath;
|
|
29
|
+
};
|
|
30
|
+
/** @ignore */
|
|
31
|
+
export type ValueRef<T> = ValueRefConst<T> | ValueRefVar;
|
|
32
|
+
/** @ignore these are the LHS & RHS operands which come from variables (or constants) */
|
|
33
|
+
export type FieldValueTypes = "Bool" | "Number" | "String" | "Date" | "Array" | "HField" | "HSchema";
|
|
34
|
+
/** @ignore these are the RHS-only operands which come from constants ONLY */
|
|
35
|
+
export type ConstValueTypes = "DateUnit" | "RegEx" | "Verifier" | "FieldVerification" | "POVerification";
|
|
36
|
+
/** @ignore full list of operands which come from variables OR constants */
|
|
37
|
+
export type ValueType = ConstValueTypes | FieldValueTypes;
|
|
38
|
+
/** @ignore */
|
|
39
|
+
export type ValueDef<T = ValueType> = {
|
|
40
|
+
type: T;
|
|
41
|
+
value: ValueRef<GetTSType<T>>;
|
|
42
|
+
};
|
|
43
|
+
/** @ignore */
|
|
44
|
+
export type ASTScoreConditionNode = {
|
|
45
|
+
type: "ScoreCondition";
|
|
46
|
+
operator: OperatorID;
|
|
47
|
+
values: ValueDef<ValueType>[];
|
|
48
|
+
};
|
|
49
|
+
/** @ignore */
|
|
50
|
+
export type ASTLanguageOperatorNode = {
|
|
51
|
+
type: "LanguageOperator";
|
|
52
|
+
operator: "OR" | "AND";
|
|
53
|
+
children: ASTNode[];
|
|
54
|
+
};
|
|
55
|
+
/** @ignore */
|
|
56
|
+
export type ASTNode = ASTLanguageOperatorNode | ASTScoreConditionNode;
|
|
57
|
+
/** @ignore */
|
|
58
|
+
export type ScoreRule = {
|
|
59
|
+
/** UUID for the rule. Configs created before Feb 2023 won't have this field */
|
|
60
|
+
id: string | undefined;
|
|
61
|
+
/** user defined */
|
|
62
|
+
name: string;
|
|
63
|
+
/** user defined */
|
|
64
|
+
description?: string;
|
|
65
|
+
/** must be an integer */
|
|
66
|
+
trueWeight: number;
|
|
67
|
+
/** must be an integer */
|
|
68
|
+
falseWeight: number;
|
|
69
|
+
/** must have a single root node */
|
|
70
|
+
tree: [ASTNode];
|
|
71
|
+
/** if undefined, assume true. Configs created before Feb 2023 won't have this field */
|
|
72
|
+
enabled: boolean | undefined;
|
|
73
|
+
};
|
|
74
|
+
/** @ignore e.g. 0-10 is "red". We only work with integers. Comparisons use >= and <= */
|
|
75
|
+
export type ScoreThreshold = {
|
|
76
|
+
from: number;
|
|
77
|
+
to: number;
|
|
78
|
+
name: string;
|
|
79
|
+
/**
|
|
80
|
+
* A hex code, including the hash.
|
|
81
|
+
* For compatibility reasons we must assume it could be missing
|
|
82
|
+
*/
|
|
83
|
+
colour: string | undefined;
|
|
84
|
+
};
|
|
85
|
+
/** @ignore */
|
|
86
|
+
export type Combinator = "+" | "*";
|
|
87
|
+
/**
|
|
88
|
+
* @ignore
|
|
89
|
+
* the big object for configuring score rules
|
|
90
|
+
*/
|
|
91
|
+
export type ScoreConfig = {
|
|
92
|
+
combinator: Combinator;
|
|
93
|
+
scoreThresholds: ScoreThreshold[];
|
|
94
|
+
rules: ScoreRule[];
|
|
95
|
+
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { FieldVerification, NId, POVerification } from "@raytio/types";
|
|
2
|
-
import type { HFieldSymbol, HSchemaSymbol } from "../helpers";
|
|
3
|
-
/** undefined if not shared */
|
|
4
|
-
export
|
|
5
|
-
__typeof__: typeof HFieldSymbol;
|
|
6
|
-
verification: FieldVerification;
|
|
7
|
-
verifiedBy: readonly NId[];
|
|
8
|
-
/** schemaName */
|
|
9
|
-
cameFromSchema: string;
|
|
10
|
-
};
|
|
11
|
-
/** undefined if not shared */
|
|
12
|
-
export
|
|
13
|
-
__typeof__: typeof HSchemaSymbol;
|
|
14
|
-
verification?: POVerification;
|
|
15
|
-
verifiedBy: readonly NId[];
|
|
16
|
-
};
|
|
17
|
-
export declare const DATE_UNITS: readonly ["ms", "s", "m", "h", "D", "M", "W", "Y"];
|
|
18
|
-
export
|
|
19
|
-
export
|
|
1
|
+
import { FieldVerification, NId, POVerification } from "@raytio/types";
|
|
2
|
+
import type { HFieldSymbol, HSchemaSymbol } from "../helpers";
|
|
3
|
+
/** undefined if not shared */
|
|
4
|
+
export type HField = {
|
|
5
|
+
__typeof__: typeof HFieldSymbol;
|
|
6
|
+
verification: FieldVerification;
|
|
7
|
+
verifiedBy: readonly NId[];
|
|
8
|
+
/** schemaName */
|
|
9
|
+
cameFromSchema: string;
|
|
10
|
+
};
|
|
11
|
+
/** undefined if not shared */
|
|
12
|
+
export type HSchema = {
|
|
13
|
+
__typeof__: typeof HSchemaSymbol;
|
|
14
|
+
verification?: POVerification;
|
|
15
|
+
verifiedBy: readonly NId[];
|
|
16
|
+
};
|
|
17
|
+
export declare const DATE_UNITS: readonly ["ms", "s", "m", "h", "D", "M", "W", "Y"];
|
|
18
|
+
export type DateUnit = (typeof DATE_UNITS)[number];
|
|
19
|
+
export type GetTSType<T> = T extends "Bool" ? boolean : T extends "Number" ? number : T extends "String" ? string : T extends "Date" ? Date : T extends "Array" ? unknown[] : T extends "HField" ? HField : T extends "HSchema" ? HSchema : T extends "DateUnit" ? DateUnit : T extends "RegEx" ? RegExp : T extends "Verifier" ? NId : T extends "FieldVerification" ? FieldVerification : T extends "POVerification" ? POVerification : never;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DATE_UNITS = void 0;
|
|
4
|
-
exports.DATE_UNITS = ["ms", "s", "m", "h", "D", "M", "W", "Y"];
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DATE_UNITS = void 0;
|
|
4
|
+
exports.DATE_UNITS = ["ms", "s", "m", "h", "D", "M", "W", "Y"];
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from "./dataValueTypes";
|
|
2
|
-
export * from "./config";
|
|
3
|
-
export * from "./internal";
|
|
1
|
+
export * from "./dataValueTypes";
|
|
2
|
+
export * from "./config";
|
|
3
|
+
export * from "./internal";
|
|
@@ -1,19 +1,19 @@
|
|
|
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("./dataValueTypes"), exports);
|
|
18
|
-
__exportStar(require("./config"), exports);
|
|
19
|
-
__exportStar(require("./internal"), exports);
|
|
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("./dataValueTypes"), exports);
|
|
18
|
+
__exportStar(require("./config"), exports);
|
|
19
|
+
__exportStar(require("./internal"), exports);
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { HField, HSchema, GetTSType } from "./dataValueTypes";
|
|
2
|
-
import { FieldValueTypes, ValueType } from "./config";
|
|
3
|
-
export
|
|
4
|
-
type: T;
|
|
5
|
-
value: GetTSType<T>;
|
|
6
|
-
hField: HField;
|
|
7
|
-
};
|
|
8
|
-
export
|
|
9
|
-
[schemaName: string]: {
|
|
10
|
-
hSchema: HSchema;
|
|
11
|
-
properties: {
|
|
12
|
-
[fieldName: string]: RuleDataProperty<FieldValueTypes>;
|
|
13
|
-
};
|
|
14
|
-
}[];
|
|
15
|
-
};
|
|
16
|
-
export
|
|
17
|
-
/** the first operand is the LHS, all others are RHS */
|
|
18
|
-
operands: ValueType[];
|
|
19
|
-
implementation: (...args: any[]) => boolean;
|
|
20
|
-
};
|
|
1
|
+
import { HField, HSchema, GetTSType } from "./dataValueTypes";
|
|
2
|
+
import { FieldValueTypes, ValueType } from "./config";
|
|
3
|
+
export type RuleDataProperty<T extends FieldValueTypes> = {
|
|
4
|
+
type: T;
|
|
5
|
+
value: GetTSType<T>;
|
|
6
|
+
hField: HField;
|
|
7
|
+
};
|
|
8
|
+
export type RuleData = {
|
|
9
|
+
[schemaName: string]: {
|
|
10
|
+
hSchema: HSchema;
|
|
11
|
+
properties: {
|
|
12
|
+
[fieldName: string]: RuleDataProperty<FieldValueTypes>;
|
|
13
|
+
};
|
|
14
|
+
}[];
|
|
15
|
+
};
|
|
16
|
+
export type OperatorDef = {
|
|
17
|
+
/** the first operand is the LHS, all others are RHS */
|
|
18
|
+
operands: ValueType[];
|
|
19
|
+
implementation: (...args: any[]) => boolean;
|
|
20
|
+
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
package/dist/rules/validate.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ScoreResult } from "./calculateScore";
|
|
2
|
-
import { ScoreConfig } from "./types";
|
|
3
|
-
/** determines whether a `ScoreResult` object is valid */
|
|
4
|
-
export declare const isScoreResultValid: (x: unknown) => x is ScoreResult;
|
|
5
|
-
/** determines whether a `ScoreConfig` object is valid */
|
|
6
|
-
export declare const isScoreConfigValid: (x: unknown) => x is ScoreConfig;
|
|
1
|
+
import { ScoreResult } from "./calculateScore";
|
|
2
|
+
import { ScoreConfig } from "./types";
|
|
3
|
+
/** determines whether a `ScoreResult` object is valid */
|
|
4
|
+
export declare const isScoreResultValid: (x: unknown) => x is ScoreResult;
|
|
5
|
+
/** determines whether a `ScoreConfig` object is valid */
|
|
6
|
+
export declare const isScoreConfigValid: (x: unknown) => x is ScoreConfig;
|
package/dist/rules/validate.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isScoreConfigValid = exports.isScoreResultValid = void 0;
|
|
4
|
-
const ramda_1 = require("ramda");
|
|
5
|
-
/** @internal - separate function so that TS understands whats going on */
|
|
6
|
-
const isObjectLike = (x) => typeof x === "object" && !!x && "score" in x && "category" in x;
|
|
7
|
-
/** determines whether a `ScoreResult` object is valid */
|
|
8
|
-
const isScoreResultValid = (x) => isObjectLike(x) &&
|
|
9
|
-
typeof x.category === "string" &&
|
|
10
|
-
typeof x.score === "number";
|
|
11
|
-
exports.isScoreResultValid = isScoreResultValid;
|
|
12
|
-
/** determines whether a `ScoreConfig` object is valid */
|
|
13
|
-
const isScoreConfigValid = (x) => typeof x === "object" && !!x && !(0, ramda_1.isEmpty)(x) && !Array.isArray(x);
|
|
14
|
-
exports.isScoreConfigValid = isScoreConfigValid;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isScoreConfigValid = exports.isScoreResultValid = void 0;
|
|
4
|
+
const ramda_1 = require("ramda");
|
|
5
|
+
/** @internal - separate function so that TS understands whats going on */
|
|
6
|
+
const isObjectLike = (x) => typeof x === "object" && !!x && "score" in x && "category" in x;
|
|
7
|
+
/** determines whether a `ScoreResult` object is valid */
|
|
8
|
+
const isScoreResultValid = (x) => isObjectLike(x) &&
|
|
9
|
+
typeof x.category === "string" &&
|
|
10
|
+
typeof x.score === "number";
|
|
11
|
+
exports.isScoreResultValid = isScoreResultValid;
|
|
12
|
+
/** determines whether a `ScoreConfig` object is valid */
|
|
13
|
+
const isScoreConfigValid = (x) => typeof x === "object" && !!x && !(0, ramda_1.isEmpty)(x) && !Array.isArray(x);
|
|
14
|
+
exports.isScoreConfigValid = isScoreConfigValid;
|
package/dist/rules/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const SUBMISSION_RULES_VERSION = "sr1.
|
|
1
|
+
export declare const SUBMISSION_RULES_VERSION = "sr1.4.0";
|
package/dist/rules/version.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SUBMISSION_RULES_VERSION = void 0;
|
|
4
|
-
// this must be kept in sync with ./CHANGELOG.md. See that file for more info
|
|
5
|
-
exports.SUBMISSION_RULES_VERSION = "sr1.
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SUBMISSION_RULES_VERSION = void 0;
|
|
4
|
+
// this must be kept in sync with ./CHANGELOG.md. See that file for more info
|
|
5
|
+
exports.SUBMISSION_RULES_VERSION = "sr1.4.0";
|
package/dist/schema/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from "./labels";
|
|
1
|
+
export * from "./labels";
|