case-editor-tools 1.0.0-beta.4 → 1.0.0-beta.43

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 (133) hide show
  1. package/{build/constants → constants}/key-definitions.d.ts +3 -0
  2. package/{build/constants → constants}/key-definitions.js +7 -1
  3. package/{build/constants → constants}/key-definitions.js.map +1 -1
  4. package/exporter/index.d.ts +2 -0
  5. package/exporter/index.js +99 -0
  6. package/exporter/index.js.map +1 -0
  7. package/{build/expression-utils → expression-utils}/expressionGen.d.ts +1 -1
  8. package/{build/expression-utils → expression-utils}/expressionGen.js +0 -0
  9. package/{build/expression-utils → expression-utils}/expressionGen.js.map +0 -0
  10. package/expression-utils/studyEngineExpressions.d.ts +193 -0
  11. package/{build/expression-utils → expression-utils}/studyEngineExpressions.js +205 -19
  12. package/{build/expression-utils → expression-utils}/studyEngineExpressions.js.map +1 -1
  13. package/{build/index.d.ts → index.d.ts} +0 -0
  14. package/{build/index.js → index.js} +0 -0
  15. package/{build/index.js.map → index.js.map} +0 -0
  16. package/{build/item-editor-8fd24b61.js → item-editor-59f51ecc.js} +72 -51
  17. package/item-editor-59f51ecc.js.map +1 -0
  18. package/logger/index.d.ts +1 -0
  19. package/logger/index.js +10 -0
  20. package/logger/index.js.map +1 -0
  21. package/{build/logger → logger}/logger.d.ts +0 -0
  22. package/{build/logger → logger}/logger.js +0 -0
  23. package/{build/logger → logger}/logger.js.map +0 -0
  24. package/package.json +7 -8
  25. package/surveys/index.d.ts +3 -0
  26. package/surveys/index.js +29 -0
  27. package/surveys/index.js.map +1 -0
  28. package/surveys/responseTypeGenerators/likertGroupComponents.d.ts +27 -0
  29. package/surveys/responseTypeGenerators/likertGroupComponents.js +350 -0
  30. package/surveys/responseTypeGenerators/likertGroupComponents.js.map +1 -0
  31. package/surveys/responseTypeGenerators/matrixGroupComponent.d.ts +49 -0
  32. package/surveys/responseTypeGenerators/matrixGroupComponent.js +100 -0
  33. package/surveys/responseTypeGenerators/matrixGroupComponent.js.map +1 -0
  34. package/surveys/responseTypeGenerators/optionGroupComponents.d.ts +7 -0
  35. package/surveys/responseTypeGenerators/optionGroupComponents.js +129 -0
  36. package/surveys/responseTypeGenerators/optionGroupComponents.js.map +1 -0
  37. package/{build → surveys}/survey-editor/component-editor.d.ts +1 -1
  38. package/{build → surveys}/survey-editor/component-editor.js +0 -0
  39. package/{build → surveys}/survey-editor/component-editor.js.map +0 -0
  40. package/{build → surveys}/survey-editor/data-types.d.ts +1 -1
  41. package/{build → surveys}/survey-editor/data-types.js +0 -0
  42. package/{build → surveys}/survey-editor/data-types.js.map +0 -0
  43. package/{build → surveys}/survey-editor/item-editor.d.ts +2 -1
  44. package/{build → surveys}/survey-editor/item-editor.js +3 -2
  45. package/{build → surveys}/survey-editor/item-editor.js.map +1 -1
  46. package/{build → surveys}/survey-editor/survey-editor.d.ts +6 -1
  47. package/{build → surveys}/survey-editor/survey-editor.js +15 -8
  48. package/{build → surveys}/survey-editor/survey-editor.js.map +1 -1
  49. package/{build/expression-utils/surveyEngineExpressions.d.ts → surveys/survey-engine-expressions.d.ts} +12 -2
  50. package/{build/expression-utils/surveyEngineExpressions.js → surveys/survey-engine-expressions.js} +45 -4
  51. package/{build/expression-utils/surveyEngineExpressions.js.map → surveys/survey-engine-expressions.js.map} +1 -1
  52. package/surveys/survey-items.d.ts +72 -0
  53. package/surveys/survey-items.js +384 -0
  54. package/surveys/survey-items.js.map +1 -0
  55. package/{build → surveys}/types/group.d.ts +1 -1
  56. package/{build → surveys}/types/group.js +6 -5
  57. package/{build → surveys}/types/group.js.map +1 -1
  58. package/surveys/types/index.d.ts +4 -0
  59. package/surveys/types/index.js +22 -0
  60. package/surveys/types/index.js.map +1 -0
  61. package/surveys/types/item-properties.d.ts +223 -0
  62. package/surveys/types/item-properties.js +10 -0
  63. package/surveys/types/item-properties.js.map +1 -0
  64. package/{build → surveys}/types/item.d.ts +1 -1
  65. package/{build → surveys}/types/item.js +0 -0
  66. package/{build → surveys}/types/item.js.map +0 -0
  67. package/{build/types/surveyDefinition.d.ts → surveys/types/survey-definition.d.ts} +7 -3
  68. package/{build/types/surveyDefinition.js → surveys/types/survey-definition.js} +20 -11
  69. package/surveys/types/survey-definition.js.map +1 -0
  70. package/{build → surveys}/utils/componentGenerators.d.ts +2 -13
  71. package/surveys/utils/componentGenerators.js +59 -0
  72. package/{build → surveys}/utils/componentGenerators.js.map +1 -1
  73. package/surveys/utils/optionDefGenerators.d.ts +84 -0
  74. package/surveys/utils/optionDefGenerators.js +211 -0
  75. package/surveys/utils/optionDefGenerators.js.map +1 -0
  76. package/{build → surveys}/utils/randomKeyGenerator.d.ts +0 -0
  77. package/{build → surveys}/utils/randomKeyGenerator.js +0 -0
  78. package/{build → surveys}/utils/randomKeyGenerator.js.map +0 -0
  79. package/{build → surveys}/utils/simple-generators.d.ts +4 -3
  80. package/{build → surveys}/utils/simple-generators.js +34 -5
  81. package/{build → surveys}/utils/simple-generators.js.map +1 -1
  82. package/surveys/utils/simple-question-editor.d.ts +14 -0
  83. package/{build → surveys}/utils/simple-question-editor.js +10 -7
  84. package/{build → surveys}/utils/simple-question-editor.js.map +1 -1
  85. package/{build/types → types}/duration.d.ts +0 -0
  86. package/{build/types → types}/duration.js +0 -0
  87. package/{build/types → types}/duration.js.map +0 -0
  88. package/{build/types → types}/expression.d.ts +1 -1
  89. package/{build/types → types}/expression.js +0 -0
  90. package/{build/types → types}/expression.js.map +0 -0
  91. package/{build/types → types}/study.d.ts +2 -2
  92. package/{build/types → types}/study.js +0 -0
  93. package/{build/types → types}/study.js.map +0 -0
  94. package/{build/types → types}/studyRules.d.ts +3 -2
  95. package/{build/types → types}/studyRules.js +5 -1
  96. package/types/studyRules.js.map +1 -0
  97. package/.babelrc.js +0 -7
  98. package/.editorconfig +0 -13
  99. package/LICENSE +0 -202
  100. package/build/expression-utils/studyEngineExpressions.d.ts +0 -114
  101. package/build/item-editor-8fd24b61.js.map +0 -1
  102. package/build/package.json +0 -26
  103. package/build/types/studyRules.js.map +0 -1
  104. package/build/types/surveyDefinition.js.map +0 -1
  105. package/build/utils/componentGenerators.js +0 -92
  106. package/build/utils/question-type-generator.d.ts +0 -283
  107. package/build/utils/question-type-generator.js +0 -949
  108. package/build/utils/question-type-generator.js.map +0 -1
  109. package/build/utils/simple-question-editor.d.ts +0 -14
  110. package/rollup.config.js +0 -53
  111. package/src/constants/key-definitions.ts +0 -13
  112. package/src/expression-utils/expressionGen.ts +0 -28
  113. package/src/expression-utils/studyEngineExpressions.ts +0 -359
  114. package/src/expression-utils/surveyEngineExpressions.ts +0 -483
  115. package/src/index.ts +0 -1
  116. package/src/logger/logger.ts +0 -31
  117. package/src/survey-editor/component-editor.ts +0 -133
  118. package/src/survey-editor/data-types.ts +0 -18
  119. package/src/survey-editor/item-editor.ts +0 -528
  120. package/src/survey-editor/survey-editor.ts +0 -260
  121. package/src/types/duration.ts +0 -32
  122. package/src/types/expression.ts +0 -22
  123. package/src/types/group.ts +0 -73
  124. package/src/types/item.ts +0 -42
  125. package/src/types/study.ts +0 -17
  126. package/src/types/studyRules.ts +0 -39
  127. package/src/types/surveyDefinition.ts +0 -83
  128. package/src/utils/componentGenerators.ts +0 -122
  129. package/src/utils/question-type-generator.ts +0 -1516
  130. package/src/utils/randomKeyGenerator.ts +0 -11
  131. package/src/utils/simple-generators.ts +0 -106
  132. package/src/utils/simple-question-editor.ts +0 -52
  133. package/tsconfig.json +0 -100
@@ -10,4 +10,7 @@ export declare const sliderCategoricalKey = "scc";
10
10
  export declare const inputKey = "ic";
11
11
  export declare const numericInputKey = "num";
12
12
  export declare const datePickerKey = "date";
13
+ export declare const timeInputKey = "time";
13
14
  export declare const matrixKey = "mat";
15
+ export declare const clozeKey = "cloze";
16
+ export declare const consentKey = "con";
@@ -14,8 +14,13 @@ const sliderCategoricalKey = "scc";
14
14
  const inputKey = "ic";
15
15
  const numericInputKey = "num";
16
16
  const datePickerKey = "date";
17
- const matrixKey = "mat";
17
+ const timeInputKey = "time";
18
+ const matrixKey = "mat";
19
+ const clozeKey = "cloze";
20
+ const consentKey = "con";
18
21
 
22
+ exports.clozeKey = clozeKey;
23
+ exports.consentKey = consentKey;
19
24
  exports.datePickerKey = datePickerKey;
20
25
  exports.dropDownKey = dropDownKey;
21
26
  exports.inputKey = inputKey;
@@ -29,4 +34,5 @@ exports.responsiveBipolarLikertArrayKey = responsiveBipolarLikertArrayKey;
29
34
  exports.responsiveSingleChoiceArrayKey = responsiveSingleChoiceArrayKey;
30
35
  exports.singleChoiceKey = singleChoiceKey;
31
36
  exports.sliderCategoricalKey = sliderCategoricalKey;
37
+ exports.timeInputKey = timeInputKey;
32
38
  //# sourceMappingURL=key-definitions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"key-definitions.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"key-definitions.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ import { Study } from "../types/study";
2
+ export declare const generateFilesForStudy: (study: Study, pretty?: boolean | undefined) => void;
@@ -0,0 +1,99 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var fs = require('fs');
6
+ var logger_logger = require('../logger/logger.js');
7
+
8
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
+
10
+ var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
11
+
12
+ const generateFilesForStudy = (study, pretty) => {
13
+ const outputName = study.outputFolderName ? study.outputFolderName : study.studyKey;
14
+ const outputRoot = `./output/${outputName}`;
15
+ logger_logger.Logger.log(`Start generating files for study ${outputName}.`);
16
+ if (!fs__default["default"].existsSync(outputRoot)) {
17
+ fs__default["default"].mkdirSync(outputRoot, { recursive: true });
18
+ }
19
+ // Surveys:
20
+ generateSurveyFiles(study, outputRoot, pretty);
21
+ // Study rules:
22
+ generateStudyRuleFile(study, outputRoot, pretty);
23
+ // Custom Study rules: (manually triggered rules)
24
+ generateCustomStudyRules(study, outputRoot, pretty);
25
+ };
26
+ const generateSurveyFiles = (study, outputPath, pretty) => {
27
+ if (study.surveys.length > 0) {
28
+ logger_logger.Logger.log(`\tSurveys:`);
29
+ }
30
+ else {
31
+ logger_logger.Logger.log(`\tNo surveys in the study.`);
32
+ }
33
+ const surveyOutPath = `${outputPath}/surveys`;
34
+ if (!fs__default["default"].existsSync(surveyOutPath)) {
35
+ fs__default["default"].mkdirSync(surveyOutPath, { recursive: true });
36
+ }
37
+ study.surveys.forEach(survey => {
38
+ const fileName = `${surveyOutPath}/${survey.key}.json`;
39
+ const outputObject = {
40
+ studyKey: study.studyKey,
41
+ survey: survey.getSurvey()
42
+ };
43
+ try {
44
+ fs__default["default"].writeFileSync(fileName, JSON.stringify(outputObject, undefined, pretty ? 2 : undefined));
45
+ }
46
+ catch (err) {
47
+ logger_logger.Logger.error(err);
48
+ return;
49
+ }
50
+ logger_logger.Logger.success(`\t\t${survey.key} saved`);
51
+ });
52
+ };
53
+ const generateStudyRuleFile = (study, outputPath, pretty) => {
54
+ if (!study.studyRules) {
55
+ logger_logger.Logger.log(`\tNo study rules in the study.`);
56
+ return;
57
+ }
58
+ else {
59
+ logger_logger.Logger.log(`\tStudy rule:`);
60
+ }
61
+ const fileName = `${outputPath}/studyRules.json`;
62
+ const outputObject = study.studyRules.get();
63
+ try {
64
+ fs__default["default"].writeFileSync(fileName, JSON.stringify(outputObject, undefined, pretty ? 2 : undefined));
65
+ }
66
+ catch (err) {
67
+ logger_logger.Logger.error(err);
68
+ return;
69
+ }
70
+ logger_logger.Logger.success(`\t\tStudy rules saved`);
71
+ };
72
+ const generateCustomStudyRules = (study, outputPath, pretty) => {
73
+ if (!study.customStudyRules || study.customStudyRules.length < 0) {
74
+ logger_logger.Logger.log(`\tNo custom study rules in the study.`);
75
+ return;
76
+ }
77
+ else {
78
+ logger_logger.Logger.log(`\tCustom study rules:`);
79
+ }
80
+ const customRulePath = `${outputPath}/customRules`;
81
+ if (!fs__default["default"].existsSync(customRulePath)) {
82
+ fs__default["default"].mkdirSync(customRulePath, { recursive: true });
83
+ }
84
+ study.customStudyRules.forEach(studyRule => {
85
+ const fileName = `${customRulePath}/${studyRule.name}.json`;
86
+ const outputObject = studyRule.rules;
87
+ try {
88
+ fs__default["default"].writeFileSync(fileName, JSON.stringify(outputObject, undefined, pretty ? 2 : undefined));
89
+ }
90
+ catch (err) {
91
+ logger_logger.Logger.error(err);
92
+ return;
93
+ }
94
+ logger_logger.Logger.success(`\t\tRule ${studyRule.name} saved`);
95
+ });
96
+ };
97
+
98
+ exports.generateFilesForStudy = generateFilesForStudy;
99
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- import { Expression, ExpressionName } from "survey-engine/lib/data_types";
1
+ import { Expression, ExpressionName } from "survey-engine/data_types";
2
2
  export declare const generateExpression: (name: ExpressionName, returnType?: "string" | "float" | undefined, ...args: any[]) => Expression;
@@ -0,0 +1,193 @@
1
+ import { Expression } from "survey-engine/data_types";
2
+ import { Duration } from "../types/duration";
3
+ export declare const NativeStudyEngineExpressions: {
4
+ checkEventType: (equalsType: 'ENTER' | 'SUBMIT' | 'TIMER' | 'MERGE') => Expression;
5
+ checkSurveyResponseKey: (surveyKey: string) => Expression;
6
+ responseHasKeysAny: (itemKey: string, responseSlotKey: string, ...optionKeys: string[]) => Expression;
7
+ responseHasOnlyKeysOtherThan: (itemKey: string, responseSlotKey: string, ...optionKeys: string[]) => Expression;
8
+ getResponseValueAsNum: (itemKey: string, responseKey: string) => Expression;
9
+ getResponseValueAsStr: (itemKey: string, responseKey: string) => Expression;
10
+ hasResponseKey: (itemKey: string, responseKey: string) => Expression;
11
+ hasResponseKeyWithValue: (itemKey: string, responseKey: string, value: string) => Expression;
12
+ countResponseItems: (itemKey: string, responseKey: string) => Expression;
13
+ checkConditionForOldResponses: (condition: Expression, checkType?: number | "all" | "any" | undefined, surveyKey?: string | undefined, querySince?: number | Expression | undefined, queryUntil?: number | Expression | undefined) => Expression;
14
+ participantState: {
15
+ getStudyEntryTime: () => Expression;
16
+ hasSurveyKeyAssigned: (surveyKey: string) => Expression;
17
+ getSurveyKeyAssignedFrom: (surveyKey: string) => Expression;
18
+ getSurveyKeyAssignedUntil: (surveyKey: string) => Expression;
19
+ hasStudyStatus: (status: string) => Expression;
20
+ hasParticipantFlagKeyAndValue: (key: string, value: string) => Expression;
21
+ hasParticipantFlagKey: (key: string) => Expression;
22
+ getParticipantFlagValue: (key: string) => Expression;
23
+ lastSubmissionDateOlderThan: (reference: number | Expression, surveyKey?: string | undefined) => Expression;
24
+ hasMessageTypeAssigned: (messageType: string) => Expression;
25
+ getMessageNextTime: (messageType: string) => Expression;
26
+ incomingParticipantState: {
27
+ getStudyEntryTime: () => Expression;
28
+ hasSurveyKeyAssigned: (surveyKey: string) => Expression;
29
+ getSurveyKeyAssignedFrom: (surveyKey: string) => Expression;
30
+ getSurveyKeyAssignedUntil: (surveyKey: string) => Expression;
31
+ hasStudyStatus: (status: string) => Expression;
32
+ hasParticipantFlagKeyAndValue: (key: string, value: string) => Expression;
33
+ hasParticipantFlagKey: (key: string) => Expression;
34
+ getParticipantFlagValue: (key: string) => Expression;
35
+ lastSubmissionDateOlderThan: (reference: number | Expression, surveyKey?: string | undefined) => Expression;
36
+ hasMessageTypeAssigned: (messageType: string) => Expression;
37
+ getMessageNextTime: (messageType: string) => Expression;
38
+ };
39
+ };
40
+ eq: (val1: Expression | string | number, val2: Expression | string | number) => Expression;
41
+ lt: (val1: Expression | string | number, val2: Expression | string | number) => Expression;
42
+ lte: (val1: Expression | string | number, val2: Expression | string | number) => Expression;
43
+ gt: (val1: Expression | string | number, val2: Expression | string | number) => Expression;
44
+ gte: (val1: Expression | string | number, val2: Expression | string | number) => Expression;
45
+ or: (...args: Expression[]) => Expression;
46
+ and: (...args: Expression[]) => Expression;
47
+ not: (arg: Expression) => Expression;
48
+ timestampWithOffset: (delta: Duration, reference?: number | Expression | undefined) => Expression;
49
+ };
50
+ export declare const StudyEngineActions: {
51
+ if: (condition: Expression, actionIfTrue: Expression, actionIfFalse?: Expression | undefined) => Expression;
52
+ do: (...args: Expression[]) => Expression;
53
+ ifThen: (condition: Expression, ...args: Expression[]) => Expression;
54
+ participantActions: {
55
+ updateStudyStatus: (status: string) => Expression;
56
+ startNewStudySession: () => Expression;
57
+ updateFlag: (key: string, newValue: string | number | Expression) => Expression;
58
+ removeFlag: (key: string) => Expression;
59
+ assignedSurveys: {
60
+ add: (surveyKey: string, category: 'immediate' | 'prio' | 'normal' | 'optional', activeFrom?: number | Expression | undefined, activeUntil?: number | Expression | undefined) => Expression;
61
+ removeAll: () => Expression;
62
+ remove: (surveyKey: string, selector: 'first' | 'last' | 'all') => Expression;
63
+ };
64
+ reports: {
65
+ init: (reportKey: string) => Expression;
66
+ cancel: (reportKey: string) => Expression;
67
+ updateData: (reportKey: string, attributeKey: string, value: number | string | Expression, dtype?: "string" | "date" | "float" | "int" | "rawMessage" | undefined) => Expression;
68
+ removeData: (reportKey: string, attributeKey: string) => Expression;
69
+ setReportIcon: (reportKey: string, icon: string) => Expression;
70
+ setReportMessage: (reportKey: string, content: string, asTranslationKey?: boolean | undefined) => Expression;
71
+ setReportSummary: (reportKey: string, content: string, asTranslationKey?: boolean | undefined) => Expression;
72
+ };
73
+ messages: {
74
+ add: (messageType: string, scheduledFor: number | Expression) => Expression;
75
+ removeAll: () => Expression;
76
+ remove: (messageType: string) => Expression;
77
+ };
78
+ confidentialResponses: {
79
+ removeByKey: (key: string) => Expression;
80
+ removeAll: () => Expression;
81
+ };
82
+ stopParticipation: () => Expression;
83
+ finishParticipation: () => Expression;
84
+ };
85
+ };
86
+ export declare const StudyEngine: {
87
+ singleChoice: {
88
+ any: (itemKey: string, ...optionKeys: string[]) => Expression;
89
+ none: (itemKey: string, ...optionKeys: string[]) => Expression;
90
+ };
91
+ multipleChoice: {
92
+ any: (itemKey: string, ...optionKeys: string[]) => Expression;
93
+ none: (itemKey: string, ...optionKeys: string[]) => Expression;
94
+ all: (itemKey: string, ...optionKeys: string[]) => Expression;
95
+ };
96
+ consent: {
97
+ accepted: (itemKey: string) => Expression;
98
+ };
99
+ survey: {
100
+ isActive: (surveyKey: string) => Expression;
101
+ validFromOlderThan: (surveyKey: string, delta: Duration, reference?: number | Expression | undefined) => Expression;
102
+ validUntilSoonerThan: (surveyKey: string, delta: Duration, reference?: number | Expression | undefined) => Expression;
103
+ };
104
+ prefillRules: {
105
+ GET_LAST_SURVEY_ITEM: (surveyKey: string, itemKey: string, submittedLaterThan?: Duration | undefined) => Expression;
106
+ };
107
+ contextRules: {
108
+ previousResponses: {
109
+ LAST_RESPONSES_BY_KEY: (surveyKey: string, limit: number) => Expression;
110
+ ALL_RESPONSES_SINCE: (sinceTimestamp: number) => Expression;
111
+ RESPONSES_SINCE_BY_KEY: (sinceTimestamp: number, surveyKey: string) => Expression;
112
+ };
113
+ };
114
+ if: (condition: Expression, actionIfTrue: Expression, actionIfFalse?: Expression | undefined) => Expression;
115
+ do: (...args: Expression[]) => Expression;
116
+ ifThen: (condition: Expression, ...args: Expression[]) => Expression;
117
+ participantActions: {
118
+ updateStudyStatus: (status: string) => Expression;
119
+ startNewStudySession: () => Expression;
120
+ updateFlag: (key: string, newValue: string | number | Expression) => Expression;
121
+ removeFlag: (key: string) => Expression;
122
+ assignedSurveys: {
123
+ add: (surveyKey: string, category: 'immediate' | 'prio' | 'normal' | 'optional', activeFrom?: number | Expression | undefined, activeUntil?: number | Expression | undefined) => Expression;
124
+ removeAll: () => Expression;
125
+ remove: (surveyKey: string, selector: 'first' | 'last' | 'all') => Expression;
126
+ };
127
+ reports: {
128
+ init: (reportKey: string) => Expression;
129
+ cancel: (reportKey: string) => Expression;
130
+ updateData: (reportKey: string, attributeKey: string, value: number | string | Expression, dtype?: "string" | "date" | "float" | "int" | "rawMessage" | undefined) => Expression;
131
+ removeData: (reportKey: string, attributeKey: string) => Expression;
132
+ setReportIcon: (reportKey: string, icon: string) => Expression;
133
+ setReportMessage: (reportKey: string, content: string, asTranslationKey?: boolean | undefined) => Expression;
134
+ setReportSummary: (reportKey: string, content: string, asTranslationKey?: boolean | undefined) => Expression;
135
+ };
136
+ messages: {
137
+ add: (messageType: string, scheduledFor: number | Expression) => Expression;
138
+ removeAll: () => Expression;
139
+ remove: (messageType: string) => Expression;
140
+ };
141
+ confidentialResponses: {
142
+ removeByKey: (key: string) => Expression;
143
+ removeAll: () => Expression;
144
+ };
145
+ stopParticipation: () => Expression;
146
+ finishParticipation: () => Expression;
147
+ };
148
+ checkEventType: (equalsType: 'ENTER' | 'SUBMIT' | 'TIMER' | 'MERGE') => Expression;
149
+ checkSurveyResponseKey: (surveyKey: string) => Expression;
150
+ responseHasKeysAny: (itemKey: string, responseSlotKey: string, ...optionKeys: string[]) => Expression;
151
+ responseHasOnlyKeysOtherThan: (itemKey: string, responseSlotKey: string, ...optionKeys: string[]) => Expression;
152
+ getResponseValueAsNum: (itemKey: string, responseKey: string) => Expression;
153
+ getResponseValueAsStr: (itemKey: string, responseKey: string) => Expression;
154
+ hasResponseKey: (itemKey: string, responseKey: string) => Expression;
155
+ hasResponseKeyWithValue: (itemKey: string, responseKey: string, value: string) => Expression;
156
+ countResponseItems: (itemKey: string, responseKey: string) => Expression;
157
+ checkConditionForOldResponses: (condition: Expression, checkType?: number | "all" | "any" | undefined, surveyKey?: string | undefined, querySince?: number | Expression | undefined, queryUntil?: number | Expression | undefined) => Expression;
158
+ participantState: {
159
+ getStudyEntryTime: () => Expression;
160
+ hasSurveyKeyAssigned: (surveyKey: string) => Expression;
161
+ getSurveyKeyAssignedFrom: (surveyKey: string) => Expression;
162
+ getSurveyKeyAssignedUntil: (surveyKey: string) => Expression;
163
+ hasStudyStatus: (status: string) => Expression;
164
+ hasParticipantFlagKeyAndValue: (key: string, value: string) => Expression;
165
+ hasParticipantFlagKey: (key: string) => Expression;
166
+ getParticipantFlagValue: (key: string) => Expression;
167
+ lastSubmissionDateOlderThan: (reference: number | Expression, surveyKey?: string | undefined) => Expression;
168
+ hasMessageTypeAssigned: (messageType: string) => Expression;
169
+ getMessageNextTime: (messageType: string) => Expression;
170
+ incomingParticipantState: {
171
+ getStudyEntryTime: () => Expression;
172
+ hasSurveyKeyAssigned: (surveyKey: string) => Expression;
173
+ getSurveyKeyAssignedFrom: (surveyKey: string) => Expression;
174
+ getSurveyKeyAssignedUntil: (surveyKey: string) => Expression;
175
+ hasStudyStatus: (status: string) => Expression;
176
+ hasParticipantFlagKeyAndValue: (key: string, value: string) => Expression;
177
+ hasParticipantFlagKey: (key: string) => Expression;
178
+ getParticipantFlagValue: (key: string) => Expression;
179
+ lastSubmissionDateOlderThan: (reference: number | Expression, surveyKey?: string | undefined) => Expression;
180
+ hasMessageTypeAssigned: (messageType: string) => Expression;
181
+ getMessageNextTime: (messageType: string) => Expression;
182
+ };
183
+ };
184
+ eq: (val1: Expression | string | number, val2: Expression | string | number) => Expression;
185
+ lt: (val1: Expression | string | number, val2: Expression | string | number) => Expression;
186
+ lte: (val1: Expression | string | number, val2: Expression | string | number) => Expression;
187
+ gt: (val1: Expression | string | number, val2: Expression | string | number) => Expression;
188
+ gte: (val1: Expression | string | number, val2: Expression | string | number) => Expression;
189
+ or: (...args: Expression[]) => Expression;
190
+ and: (...args: Expression[]) => Expression;
191
+ not: (arg: Expression) => Expression;
192
+ timestampWithOffset: (delta: Duration, reference?: number | Expression | undefined) => Expression;
193
+ };