oro-sdk 3.12.0 → 3.13.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/dist/helpers/workflow.d.ts +47 -1
- package/dist/oro-sdk.cjs.development.js +67 -7
- package/dist/oro-sdk.cjs.development.js.map +1 -1
- package/dist/oro-sdk.cjs.production.min.js +1 -1
- package/dist/oro-sdk.cjs.production.min.js.map +1 -1
- package/dist/oro-sdk.esm.js +67 -7
- package/dist/oro-sdk.esm.js.map +1 -1
- package/package.json +3 -3
- package/src/helpers/workflow.ts +63 -5
@@ -11,7 +11,53 @@ export declare function filterTriggeredAnsweredWithKind(workflowData: WorkflowDa
|
|
11
11
|
*/
|
12
12
|
export declare function getWorkflowDataByCategory(workflowData: WorkflowData, category: MetadataCategory): Promise<PopulatedWorkflowData>;
|
13
13
|
export declare function getImagesFromIndexDb(answer: SelectedAnswerData): Promise<WorkflowUploadedImage[]>;
|
14
|
-
|
14
|
+
/**
|
15
|
+
* Determine if a question is triggered by some answers
|
16
|
+
*
|
17
|
+
* We use the following logical combinations of rules:
|
18
|
+
*
|
19
|
+
* #### Single string
|
20
|
+
*
|
21
|
+
* ```
|
22
|
+
* // Required: rule1
|
23
|
+
* rules: rule1
|
24
|
+
* ```
|
25
|
+
*
|
26
|
+
* #### Array of strings (AND is applied between statements):
|
27
|
+
*
|
28
|
+
* ```
|
29
|
+
* // Required: rule1 AND rule2
|
30
|
+
* rules: [ rule1, rule2 ]
|
31
|
+
* ```
|
32
|
+
*
|
33
|
+
* #### Array of arrays of strings (OR is applied between inner arrays. AND is applied between inner arrays statements)
|
34
|
+
*
|
35
|
+
* ```
|
36
|
+
* // Required: rule1 OR rule2
|
37
|
+
* rules: [
|
38
|
+
* [ rule1 ],
|
39
|
+
* [ rule2 ]
|
40
|
+
* ]
|
41
|
+
*
|
42
|
+
* // Required: rule1 OR (rule2 AND rule3)
|
43
|
+
* rules: [
|
44
|
+
* [ rule1 ],
|
45
|
+
* [ rule2, rule3 ]
|
46
|
+
* ]
|
47
|
+
*
|
48
|
+
* // THIS IS FORBIDDEN
|
49
|
+
* rules: [
|
50
|
+
* rule1, // <-- THIS IS FORBIDDEN. Instead use [ rule1 ]
|
51
|
+
* [ rule2, rule3 ]
|
52
|
+
* ]
|
53
|
+
* ```
|
54
|
+
*
|
55
|
+
* @param triggers the triggering rules
|
56
|
+
* @param answers the answers to check againts triggering rules
|
57
|
+
* @returns `true` if triggers are verified against ansers. Otherwise, returns `false`.
|
58
|
+
* @throws an Error if triggers typing is wrong
|
59
|
+
*/
|
60
|
+
export declare function isTriggered(triggers: string[][] | string[] | string, answers: string[]): boolean;
|
15
61
|
export declare function flattenSelectedAnswers(answers: SelectedAnswersData): string[];
|
16
62
|
/**
|
17
63
|
* This function helps you to get a valid workflow selectedAnswers structure
|
@@ -982,6 +982,53 @@ function _getImagesFromIndexDb() {
|
|
982
982
|
function populateWorkflowField(_x6, _x7) {
|
983
983
|
return _populateWorkflowField.apply(this, arguments);
|
984
984
|
}
|
985
|
+
/**
|
986
|
+
* Determine if a question is triggered by some answers
|
987
|
+
*
|
988
|
+
* We use the following logical combinations of rules:
|
989
|
+
*
|
990
|
+
* #### Single string
|
991
|
+
*
|
992
|
+
* ```
|
993
|
+
* // Required: rule1
|
994
|
+
* rules: rule1
|
995
|
+
* ```
|
996
|
+
*
|
997
|
+
* #### Array of strings (AND is applied between statements):
|
998
|
+
*
|
999
|
+
* ```
|
1000
|
+
* // Required: rule1 AND rule2
|
1001
|
+
* rules: [ rule1, rule2 ]
|
1002
|
+
* ```
|
1003
|
+
*
|
1004
|
+
* #### Array of arrays of strings (OR is applied between inner arrays. AND is applied between inner arrays statements)
|
1005
|
+
*
|
1006
|
+
* ```
|
1007
|
+
* // Required: rule1 OR rule2
|
1008
|
+
* rules: [
|
1009
|
+
* [ rule1 ],
|
1010
|
+
* [ rule2 ]
|
1011
|
+
* ]
|
1012
|
+
*
|
1013
|
+
* // Required: rule1 OR (rule2 AND rule3)
|
1014
|
+
* rules: [
|
1015
|
+
* [ rule1 ],
|
1016
|
+
* [ rule2, rule3 ]
|
1017
|
+
* ]
|
1018
|
+
*
|
1019
|
+
* // THIS IS FORBIDDEN
|
1020
|
+
* rules: [
|
1021
|
+
* rule1, // <-- THIS IS FORBIDDEN. Instead use [ rule1 ]
|
1022
|
+
* [ rule2, rule3 ]
|
1023
|
+
* ]
|
1024
|
+
* ```
|
1025
|
+
*
|
1026
|
+
* @param triggers the triggering rules
|
1027
|
+
* @param answers the answers to check againts triggering rules
|
1028
|
+
* @returns `true` if triggers are verified against ansers. Otherwise, returns `false`.
|
1029
|
+
* @throws an Error if triggers typing is wrong
|
1030
|
+
*/
|
1031
|
+
|
985
1032
|
|
986
1033
|
function _populateWorkflowField() {
|
987
1034
|
_populateWorkflowField = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(question, answerValue) {
|
@@ -1060,21 +1107,34 @@ function _populateWorkflowField() {
|
|
1060
1107
|
}
|
1061
1108
|
|
1062
1109
|
function isTriggered(triggers, answers) {
|
1063
|
-
|
1064
|
-
|
1110
|
+
// is triggers contained in answers
|
1111
|
+
if (typeof triggers === 'string') {
|
1112
|
+
return answers.includes(triggers);
|
1113
|
+
}
|
1065
1114
|
|
1066
|
-
|
1067
|
-
|
1115
|
+
if (Array.isArray(triggers)) {
|
1116
|
+
// rule combination kind: rule1 OR (rule2 AND rule3)
|
1117
|
+
if (Array.isArray(triggers[0])) {
|
1118
|
+
return triggers.some(function (subSetTriggers) {
|
1119
|
+
return subSetTriggers.every(function (trigger) {
|
1120
|
+
return answers.includes(trigger);
|
1121
|
+
});
|
1122
|
+
});
|
1123
|
+
} else {
|
1124
|
+
// rule combination kind: rule1 AND rule2
|
1125
|
+
return triggers.every(function (trigger) {
|
1126
|
+
return answers.includes(trigger);
|
1127
|
+
});
|
1068
1128
|
}
|
1069
1129
|
}
|
1070
1130
|
|
1071
|
-
|
1131
|
+
throw Error('[isTriggered] triggers is not typed well');
|
1072
1132
|
}
|
1073
1133
|
function flattenSelectedAnswers(answers) {
|
1074
1134
|
var linearAnswers = [];
|
1075
1135
|
|
1076
|
-
for (var
|
1077
|
-
var answer =
|
1136
|
+
for (var _iterator = _createForOfIteratorHelperLoose(answers), _step; !(_step = _iterator()).done;) {
|
1137
|
+
var answer = _step.value;
|
1078
1138
|
linearAnswers.push.apply(linearAnswers, Object.values(answer));
|
1079
1139
|
}
|
1080
1140
|
|