@iapps/d2-web-sdk 1.1.7 → 1.1.9

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 (34) hide show
  1. package/package.json +1 -1
  2. package/src/lib/modules/engine/program-rule/program-rule.engine.d.ts +33 -5
  3. package/src/lib/modules/engine/program-rule/program-rule.engine.js +183 -47
  4. package/src/lib/modules/engine/program-rule/program-rule.engine.js.map +1 -1
  5. package/src/lib/modules/engine/program-rule/utils/d2-functions.util.d.ts +6 -2
  6. package/src/lib/modules/engine/program-rule/utils/d2-functions.util.js +750 -293
  7. package/src/lib/modules/engine/program-rule/utils/d2-functions.util.js.map +1 -1
  8. package/src/lib/modules/engine/program-rule/utils/run-d2-expression.util.d.ts +12 -4
  9. package/src/lib/modules/engine/program-rule/utils/run-d2-expression.util.js +363 -67
  10. package/src/lib/modules/engine/program-rule/utils/run-d2-expression.util.js.map +1 -1
  11. package/src/lib/modules/event/models/data-value.model.d.ts +1 -0
  12. package/src/lib/modules/event/models/event.model.d.ts +11 -0
  13. package/src/lib/modules/event/models/event.model.js +32 -0
  14. package/src/lib/modules/event/models/event.model.js.map +1 -1
  15. package/src/lib/modules/program/models/program-section.model.d.ts +2 -1
  16. package/src/lib/modules/program/models/program-section.model.js +1 -0
  17. package/src/lib/modules/program/models/program-section.model.js.map +1 -1
  18. package/src/lib/modules/program/models/program-stage-section.model.d.ts +2 -1
  19. package/src/lib/modules/program/models/program-stage-section.model.js +1 -0
  20. package/src/lib/modules/program/models/program-stage-section.model.js.map +1 -1
  21. package/src/lib/modules/tracker/helpers/form.helper.d.ts +17 -0
  22. package/src/lib/modules/tracker/helpers/form.helper.js +64 -0
  23. package/src/lib/modules/tracker/helpers/form.helper.js.map +1 -0
  24. package/src/lib/modules/tracker/models/enrollment.model.d.ts +1 -0
  25. package/src/lib/modules/tracker/models/enrollment.model.js +1 -0
  26. package/src/lib/modules/tracker/models/enrollment.model.js.map +1 -1
  27. package/src/lib/modules/tracker/models/tracked-entity-instance.model.d.ts +3 -1
  28. package/src/lib/modules/tracker/models/tracked-entity-instance.model.js +166 -31
  29. package/src/lib/modules/tracker/models/tracked-entity-instance.model.js.map +1 -1
  30. package/src/lib/modules/user/user.module.js +1 -1
  31. package/src/lib/modules/user/user.module.js.map +1 -1
  32. package/src/lib/shared/models/pager.model.d.ts +5 -0
  33. package/src/lib/shared/models/pager.model.js +48 -8
  34. package/src/lib/shared/models/pager.model.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"d2-functions.util.js","sourceRoot":"","sources":["../../../../../../../../../packages/dhis2-web-sdk/src/lib/modules/engine/program-rule/utils/d2-functions.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"d2-functions.util.js","sourceRoot":"","sources":["../../../../../../../../../packages/dhis2-web-sdk/src/lib/modules/engine/program-rule/utils/d2-functions.util.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,12 @@
1
- export declare const dhisD2Functions: (expression: string, variableHash: {
2
- [x: string]: any;
3
- }) => string;
4
- export declare const runRuleExpression: (expression: string, beforereplacement: string, identifier: string, variablesHash: any) => any;
1
+ type VariableHash = Record<string, any>;
2
+ /**
3
+ * Resolve DHIS2 d2:* functions inside an expression string.
4
+ * Returns a JS expression string (not evaluated).
5
+ */
6
+ export declare const dhisD2Functions: (expression: string, variableHash?: VariableHash, maxIterations?: number) => string;
7
+ /**
8
+ * Resolves nested function expressions safely.
9
+ * Returns evaluated primitive when safe; otherwise returns the string expression.
10
+ */
11
+ export declare const runRuleExpression: (expression: string, _beforereplacement: string, _identifier: string, variablesHash: VariableHash) => any;
12
+ export {};
@@ -1,87 +1,383 @@
1
1
  "use strict";
2
+ // // Copyright 2023 UDSM DHIS2 Lab. All rights reserved.
3
+ // // Use of this source code is governed by a BSD-style
4
+ // // license that can be found in the LICENSE file.
5
+ // // @flow
6
+ // import { d2FuctionsVariables, d2FunctionsEval } from './d2-functions.util';
7
+ // import { isDefined } from './d2.util';
2
8
  Object.defineProperty(exports, "__esModule", { value: true });
3
9
  exports.runRuleExpression = exports.dhisD2Functions = void 0;
10
+ // export const dhisD2Functions = (
11
+ // expression: string,
12
+ // variableHash: { [x: string]: any }
13
+ // ): string => {
14
+ // let evalExpression = expression;
15
+ // if (isDefined && evalExpression.includes('d2:')) {
16
+ // let continueLooping = true;
17
+ // //Safety harness on 10 loops, in case of unanticipated syntax causing unintencontinued looping
18
+ // for (let i = 0; i < 1 && continueLooping; i++) {
19
+ // let expressionUpdated = false;
20
+ // let brokenExecution = false;
21
+ // d2FuctionsVariables.forEach((d2FnVar) => {
22
+ // //Select the function call, with any number of parameters inside single quotations, or number parameters witout quotations
23
+ // const d2FnRegex = new RegExp(
24
+ // d2FnVar.name +
25
+ // "\\( *(([\\d/\\*\\+\\-%. ]+)|( *'[^']*'))*( *, *(([\\d/\\*\\+\\-%. ]+)|'[^']*'))* *\\)",
26
+ // 'g'
27
+ // );
28
+ // const fnRegexCallArr = evalExpression.match(d2FnRegex);
29
+ // if (fnRegexCallArr && fnRegexCallArr.length > 0) {
30
+ // fnRegexCallArr.forEach((fnRegexCall) => {
31
+ // // Remove the function name and paranthesis and remove whitespaces:
32
+ // const fnParameters = fnRegexCall
33
+ // // .replace(/(^[^\(]+\()|\)$/g, '')
34
+ // .replace(/(^[^(]+\()|\)$/g, '')
35
+ // .trim();
36
+ // // Split into single parameters:
37
+ // const parameters = fnParameters.match(/(('[^']+')|([^,]+))/g);
38
+ // // Check if it has parameters and match the required parameters
39
+ // if (isDefined(d2FnVar.parameters)) {
40
+ // //But we are only checking parameters where the dhisFunction actually has a defined set of parameters(concatenate, for example, does not have a fixed number);
41
+ // const numOfParameters = parameters ? parameters.length : 0;
42
+ // if (numOfParameters !== d2FnVar.parameters) {
43
+ // // log.warn(d2FnVar.name + ' was called with the incorrect number of parameters');
44
+ // //Mark this function call as broken:
45
+ // brokenExecution = true;
46
+ // }
47
+ // }
48
+ // //In case the function call is nested, the parameter itself contains an expression, run the expression.
49
+ // if (
50
+ // !brokenExecution &&
51
+ // isDefined(parameters) &&
52
+ // parameters !== null
53
+ // ) {
54
+ // for (let i = 0; i < parameters.length; i++) {
55
+ // parameters[i] = runRuleExpression(
56
+ // parameters[i],
57
+ // d2FnVar.name,
58
+ // `parameter:${i}`,
59
+ // variableHash
60
+ // );
61
+ // }
62
+ // }
63
+ // //Special block for d2:weeksBetween(*,*) - add such a block for all other dhis functions.
64
+ // if (brokenExecution) {
65
+ // //Function call is not possible to evaluate, remove the call:
66
+ // evalExpression = evalExpression.replace(fnRegexCall, 'false');
67
+ // expressionUpdated = true;
68
+ // }
69
+ // const results = d2FunctionsEval[d2FnVar.name](
70
+ // evalExpression,
71
+ // parameters,
72
+ // variableHash,
73
+ // fnRegexCall
74
+ // );
75
+ // evalExpression = results.expression;
76
+ // expressionUpdated = results.expressionUpdated;
77
+ // });
78
+ // }
79
+ // });
80
+ // //We only want to continue looping until we made a successful replacement,
81
+ // //and there is still occurrences of "d2:" in the code. In cases where d2: occur outside
82
+ // //the expected d2: function calls, one unneccesary iteration will be done and the
83
+ // //successfulExecution will be false coming back here, ending the loop. The last iteration
84
+ // //should be zero to marginal performancewise.
85
+ // if (expressionUpdated && evalExpression.includes('d2:')) {
86
+ // continueLooping = true;
87
+ // } else {
88
+ // continueLooping = false;
89
+ // }
90
+ // }
91
+ // }
92
+ // return evalExpression;
93
+ // };
94
+ // export const runRuleExpression = (
95
+ // expression: string,
96
+ // beforereplacement: string,
97
+ // identifier: string,
98
+ // variablesHash: any
99
+ // ) => {
100
+ // const dhisfunctionsevaluated: string = dhisD2Functions(
101
+ // expression,
102
+ // variablesHash
103
+ // );
104
+ // try {
105
+ // const canEvalRule = eval(dhisfunctionsevaluated);
106
+ // return canEvalRule;
107
+ // } catch (e) {
108
+ // return false;
109
+ // }
110
+ // };
4
111
  // Copyright 2023 UDSM DHIS2 Lab. All rights reserved.
5
112
  // Use of this source code is governed by a BSD-style
6
113
  // license that can be found in the LICENSE file.
7
- // @flow
114
+ // import { d2FuctionsVariables, d2FunctionsEval } from './d2-functions.util';
115
+ // import { isDefined } from './d2.util';
116
+ // type VariableHash = Record<string, any>;
117
+ // const DEFAULT_MAX_ITERATIONS = 10;
118
+ // /**
119
+ // * Precompiled regex cache per d2 function name.
120
+ // * Compiling regex repeatedly inside loops is expensive when rules execute often.
121
+ // */
122
+ // const d2FnRegexCache = new Map<string, RegExp>();
123
+ // function getD2FnRegex(fnName: string): RegExp {
124
+ // const cached = d2FnRegexCache.get(fnName);
125
+ // if (cached) return cached;
126
+ // // Select the function call, with any number of parameters inside single quotations,
127
+ // // or number parameters without quotations
128
+ // const rx = new RegExp(
129
+ // fnName +
130
+ // "\\( *(([\\d/\\*\\+\\-%. ]+)|( *'[^']*'))*( *, *(([\\d/\\*\\+\\-%. ]+)|'[^']*'))* *\\)",
131
+ // 'g'
132
+ // );
133
+ // d2FnRegexCache.set(fnName, rx);
134
+ // return rx;
135
+ // }
136
+ // /**
137
+ // * Splits parameters inside a function call.
138
+ // * This is a simple splitter matching your existing behavior:
139
+ // * - 'quoted strings' or raw tokens separated by commas
140
+ // */
141
+ // function splitParams(paramStr: string): string[] {
142
+ // // Match either '...'(single-quoted) OR any non-comma chunk
143
+ // return paramStr.match(/(('[^']+')|([^,]+))/g)?.map((s) => s.trim()) ?? [];
144
+ // }
145
+ // /**
146
+ // * Resolve DHIS2 d2:* functions inside an expression string.
147
+ // * NOTE: returns a JS expression string (not evaluated).
148
+ // */
149
+ // export const dhisD2Functions = (
150
+ // expression: string,
151
+ // variableHash: VariableHash = {},
152
+ // maxIterations: number = DEFAULT_MAX_ITERATIONS
153
+ // ): string => {
154
+ // let evalExpression = expression ?? '';
155
+ // // ✅ Fix: do not check `if (isDefined && ...)` because isDefined is a function reference.
156
+ // if (!evalExpression || !evalExpression.includes('d2:')) return evalExpression;
157
+ // // Safety harness: bounded iterations to avoid infinite replacement loops
158
+ // for (let iter = 0; iter < maxIterations; iter++) {
159
+ // let expressionUpdated = false;
160
+ // for (const d2FnVar of d2FuctionsVariables) {
161
+ // const fnName = d2FnVar.name;
162
+ // const d2FnRegex = getD2FnRegex(fnName);
163
+ // const fnRegexCallArr = evalExpression.match(d2FnRegex);
164
+ // if (!fnRegexCallArr || fnRegexCallArr.length === 0) continue;
165
+ // for (const fnRegexCall of fnRegexCallArr) {
166
+ // let brokenExecution = false;
167
+ // // Remove the function name and parentheses, then trim:
168
+ // const fnParametersRaw = fnRegexCall.replace(/(^[^(]+\()|\)$/g, '').trim();
169
+ // const parameters = splitParams(fnParametersRaw);
170
+ // // Validate required parameters (only for fixed-arity functions)
171
+ // if (isDefined(d2FnVar.parameters)) {
172
+ // const requiredCount = d2FnVar.parameters as number;
173
+ // if ((parameters?.length ?? 0) !== requiredCount) {
174
+ // brokenExecution = true;
175
+ // }
176
+ // }
177
+ // // For nested calls: run function resolver on parameters (string-level), not boolean-eval.
178
+ // if (!brokenExecution && isDefined(parameters) && parameters !== null) {
179
+ // for (let i = 0; i < parameters.length; i++) {
180
+ // parameters[i] = String(
181
+ // runRuleExpression(parameters[i], fnName, `parameter:${i}`, variableHash)
182
+ // );
183
+ // }
184
+ // }
185
+ // if (brokenExecution) {
186
+ // // If impossible to evaluate, remove the call
187
+ // evalExpression = evalExpression.replace(fnRegexCall, 'false');
188
+ // expressionUpdated = true;
189
+ // continue;
190
+ // }
191
+ // // Evaluate this function via your mapping
192
+ // const evaluator = (d2FunctionsEval as any)[fnName];
193
+ // if (typeof evaluator !== 'function') {
194
+ // // Unknown function: neutralize safely
195
+ // evalExpression = evalExpression.replace(fnRegexCall, 'false');
196
+ // expressionUpdated = true;
197
+ // continue;
198
+ // }
199
+ // const results = evaluator(evalExpression, parameters, variableHash, fnRegexCall);
200
+ // // preserve your contract:
201
+ // evalExpression = results.expression;
202
+ // expressionUpdated = expressionUpdated || !!results.expressionUpdated;
203
+ // }
204
+ // }
205
+ // // Stop if nothing changed, or no more d2:
206
+ // if (!expressionUpdated || !evalExpression.includes('d2:')) break;
207
+ // }
208
+ // return evalExpression;
209
+ // };
210
+ // /**
211
+ // * Resolves nested function expressions or inner boolean fragments safely.
212
+ // * IMPORTANT: Do NOT collapse failures to `false` (it can change semantics).
213
+ // * Instead return the original expression, so outer evaluation can decide.
214
+ // */
215
+ // export const runRuleExpression = (
216
+ // expression: string,
217
+ // beforereplacement: string,
218
+ // identifier: string,
219
+ // variablesHash: VariableHash
220
+ // ): any => {
221
+ // const dhisfunctionsevaluated: string = dhisD2Functions(expression, variablesHash);
222
+ // // Try to eval only if it looks like a JS literal/boolean/number expression,
223
+ // // but keep backward compatibility with your current behavior.
224
+ // try {
225
+ // // eslint-disable-next-line no-new-func
226
+ // const fn = new Function(`"use strict"; return (${dhisfunctionsevaluated});`);
227
+ // return fn();
228
+ // } catch (e) {
229
+ // // ✅ Change: return original evaluated string rather than false to avoid
230
+ // // mutating meaning in outer function evaluation.
231
+ // return dhisfunctionsevaluated;
232
+ // }
233
+ // };
8
234
  const d2_functions_util_1 = require("./d2-functions.util");
9
235
  const d2_util_1 = require("./d2.util");
10
- const dhisD2Functions = (expression, variableHash) => {
11
- let evalExpression = expression;
12
- if (d2_util_1.isDefined && evalExpression.includes('d2:')) {
13
- let continueLooping = true;
14
- //Safety harness on 10 loops, in case of unanticipated syntax causing unintencontinued looping
15
- for (let i = 0; i < 1 && continueLooping; i++) {
16
- let expressionUpdated = false;
17
- let brokenExecution = false;
18
- d2_functions_util_1.d2FuctionsVariables.forEach((d2FnVar) => {
19
- //Select the function call, with any number of parameters inside single quotations, or number parameters witout quotations
20
- const d2FnRegex = new RegExp(d2FnVar.name +
21
- "\\( *(([\\d/\\*\\+\\-%. ]+)|( *'[^']*'))*( *, *(([\\d/\\*\\+\\-%. ]+)|'[^']*'))* *\\)", 'g');
22
- const fnRegexCallArr = evalExpression.match(d2FnRegex);
23
- if (fnRegexCallArr && fnRegexCallArr.length > 0) {
24
- fnRegexCallArr.forEach((fnRegexCall) => {
25
- // Remove the function name and paranthesis and remove whitespaces:
26
- const fnParameters = fnRegexCall
27
- .replace(/(^[^\(]+\()|\)$/g, '')
28
- .trim();
29
- // Split into single parameters:
30
- const parameters = fnParameters.match(/(('[^']+')|([^,]+))/g);
31
- // Check if it has parameters and match the required parameters
32
- if ((0, d2_util_1.isDefined)(d2FnVar.parameters)) {
33
- //But we are only checking parameters where the dhisFunction actually has a defined set of parameters(concatenate, for example, does not have a fixed number);
34
- const numOfParameters = parameters ? parameters.length : 0;
35
- if (numOfParameters !== d2FnVar.parameters) {
36
- // log.warn(d2FnVar.name + ' was called with the incorrect number of parameters');
37
- //Mark this function call as broken:
38
- brokenExecution = true;
39
- }
40
- }
41
- //In case the function call is nested, the parameter itself contains an expression, run the expression.
42
- if (!brokenExecution &&
43
- (0, d2_util_1.isDefined)(parameters) &&
44
- parameters !== null) {
45
- for (let i = 0; i < parameters.length; i++) {
46
- parameters[i] = (0, exports.runRuleExpression)(parameters[i], d2FnVar.name, `parameter:${i}`, variableHash);
47
- }
48
- }
49
- //Special block for d2:weeksBetween(*,*) - add such a block for all other dhis functions.
50
- if (brokenExecution) {
51
- //Function call is not possible to evaluate, remove the call:
52
- evalExpression = evalExpression.replace(fnRegexCall, 'false');
53
- expressionUpdated = true;
54
- }
55
- const results = d2_functions_util_1.d2FunctionsEval[d2FnVar.name](evalExpression, parameters, variableHash, fnRegexCall);
56
- evalExpression = results.expression;
57
- expressionUpdated = results.expressionUpdated;
58
- });
236
+ const DEFAULT_MAX_ITERATIONS = 10;
237
+ /**
238
+ * Precompiled regex cache per d2 function name.
239
+ */
240
+ const d2FnRegexCache = new Map();
241
+ function getD2FnRegex(fnName) {
242
+ const cached = d2FnRegexCache.get(fnName);
243
+ if (cached)
244
+ return cached;
245
+ /**
246
+ * Supports:
247
+ * - numeric/operator-ish chunks: 12, 1+2, 3.5, -4
248
+ * - single-quoted strings: 'ALU'
249
+ * - double-quoted strings: "ALU"
250
+ *
251
+ * NOTE: This still won't fully parse arbitrarily nested expressions, but it's
252
+ * better aligned with common DHIS2 rule expressions.
253
+ */
254
+ const rx = new RegExp(fnName +
255
+ '\\( *(([\\d/\\*\\+\\-%. ]+)|( *\'[^\']*\')|( *"[^"]*"))*' +
256
+ '( *, *(([\\d/\\*\\+\\-%. ]+)|\'[^\']*\'|"[^"]*"))* *\\)', 'g');
257
+ d2FnRegexCache.set(fnName, rx);
258
+ return rx;
259
+ }
260
+ /**
261
+ * Robust param splitter:
262
+ * - respects commas inside quotes
263
+ * - supports both single and double quotes
264
+ */
265
+ function splitParams(paramStr) {
266
+ const out = [];
267
+ let cur = '';
268
+ let inSingle = false;
269
+ let inDouble = false;
270
+ for (let i = 0; i < paramStr.length; i++) {
271
+ const ch = paramStr[i];
272
+ if (ch === "'" && !inDouble) {
273
+ inSingle = !inSingle;
274
+ cur += ch;
275
+ continue;
276
+ }
277
+ if (ch === '"' && !inSingle) {
278
+ inDouble = !inDouble;
279
+ cur += ch;
280
+ continue;
281
+ }
282
+ if (ch === ',' && !inSingle && !inDouble) {
283
+ const trimmed = cur.trim();
284
+ if (trimmed)
285
+ out.push(trimmed);
286
+ cur = '';
287
+ continue;
288
+ }
289
+ cur += ch;
290
+ }
291
+ const last = cur.trim();
292
+ if (last)
293
+ out.push(last);
294
+ return out;
295
+ }
296
+ /**
297
+ * Heuristic: only eval if it looks like a primitive/boolean/numeric expression,
298
+ * not a raw string like "'ALU'" or "{var}" placeholders.
299
+ */
300
+ function shouldEval(expr) {
301
+ const s = expr.trim();
302
+ // If it contains placeholders or d2 calls, don't eval here (outer layer decides)
303
+ if (s.includes('{') || s.includes('d2:'))
304
+ return false;
305
+ // If it's clearly a quoted string, don't eval (return as string expression)
306
+ if ((s.startsWith("'") && s.endsWith("'")) ||
307
+ (s.startsWith('"') && s.endsWith('"')))
308
+ return false;
309
+ // Allow booleans / numbers / simple operators
310
+ return /^[\d\s()+\-*/%.<>=!&|?:truefalsenullundefined]+$/i.test(s);
311
+ }
312
+ /**
313
+ * Resolve DHIS2 d2:* functions inside an expression string.
314
+ * Returns a JS expression string (not evaluated).
315
+ */
316
+ const dhisD2Functions = (expression, variableHash = {}, maxIterations = DEFAULT_MAX_ITERATIONS) => {
317
+ var _a;
318
+ let evalExpression = expression !== null && expression !== void 0 ? expression : '';
319
+ if (!evalExpression || !evalExpression.includes('d2:'))
320
+ return evalExpression;
321
+ for (let iter = 0; iter < maxIterations; iter++) {
322
+ let expressionUpdated = false;
323
+ const beforeIter = evalExpression;
324
+ for (const d2FnVar of d2_functions_util_1.d2FuctionsVariables) {
325
+ const fnName = d2FnVar.name;
326
+ const d2FnRegex = getD2FnRegex(fnName);
327
+ const matches = evalExpression.match(d2FnRegex);
328
+ if (!matches || matches.length === 0)
329
+ continue;
330
+ for (const fnCall of matches) {
331
+ // Extract parameters
332
+ const fnParametersRaw = fnCall.replace(/(^[^(]+\()|\)$/g, '').trim();
333
+ const parameters = splitParams(fnParametersRaw);
334
+ // Validate fixed arity
335
+ if ((0, d2_util_1.isDefined)(d2FnVar.parameters)) {
336
+ const requiredCount = d2FnVar.parameters;
337
+ if (((_a = parameters === null || parameters === void 0 ? void 0 : parameters.length) !== null && _a !== void 0 ? _a : 0) !== requiredCount) {
338
+ evalExpression = evalExpression.replace(fnCall, 'false');
339
+ expressionUpdated = true;
340
+ continue;
341
+ }
59
342
  }
60
- });
61
- //We only want to continue looping until we made a successful replacement,
62
- //and there is still occurrences of "d2:" in the code. In cases where d2: occur outside
63
- //the expected d2: function calls, one unneccesary iteration will be done and the
64
- //successfulExecution will be false coming back here, ending the loop. The last iteration
65
- //should be zero to marginal performancewise.
66
- if (expressionUpdated && evalExpression.includes('d2:')) {
67
- continueLooping = true;
68
- }
69
- else {
70
- continueLooping = false;
343
+ // Resolve nested d2 calls inside params (string-level)
344
+ const resolvedParams = parameters.map((p, idx) => String((0, exports.runRuleExpression)(p, fnName, `parameter:${idx}`, variableHash)));
345
+ const evaluator = d2_functions_util_1.d2FunctionsEval[fnName];
346
+ if (typeof evaluator !== 'function') {
347
+ evalExpression = evalExpression.replace(fnCall, 'false');
348
+ expressionUpdated = true;
349
+ continue;
350
+ }
351
+ const results = evaluator(evalExpression, resolvedParams, variableHash, fnCall);
352
+ evalExpression = results.expression;
353
+ // Be robust even if legacy evaluator forgets to set expressionUpdated
354
+ expressionUpdated = expressionUpdated || !!results.expressionUpdated;
71
355
  }
72
356
  }
357
+ // Stronger progress detection (protect against legacy evaluator inconsistencies)
358
+ if (!expressionUpdated && evalExpression === beforeIter)
359
+ break;
360
+ if (!evalExpression.includes('d2:'))
361
+ break;
73
362
  }
74
363
  return evalExpression;
75
364
  };
76
365
  exports.dhisD2Functions = dhisD2Functions;
77
- const runRuleExpression = (expression, beforereplacement, identifier, variablesHash) => {
78
- const dhisfunctionsevaluated = (0, exports.dhisD2Functions)(expression, variablesHash);
366
+ /**
367
+ * Resolves nested function expressions safely.
368
+ * Returns evaluated primitive when safe; otherwise returns the string expression.
369
+ */
370
+ const runRuleExpression = (expression, _beforereplacement, _identifier, variablesHash) => {
371
+ const resolved = (0, exports.dhisD2Functions)(expression, variablesHash);
372
+ if (!shouldEval(resolved))
373
+ return resolved;
79
374
  try {
80
- const canEvalRule = eval(dhisfunctionsevaluated);
81
- return canEvalRule;
375
+ // eslint-disable-next-line no-new-func
376
+ const fn = new Function(`"use strict"; return (${resolved});`);
377
+ return fn();
82
378
  }
83
- catch (e) {
84
- return false;
379
+ catch (_a) {
380
+ return resolved;
85
381
  }
86
382
  };
87
383
  exports.runRuleExpression = runRuleExpression;
@@ -1 +1 @@
1
- {"version":3,"file":"run-d2-expression.util.js","sourceRoot":"","sources":["../../../../../../../../../packages/dhis2-web-sdk/src/lib/modules/engine/program-rule/utils/run-d2-expression.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-d2-expression.util.js","sourceRoot":"","sources":["../../../../../../../../../packages/dhis2-web-sdk/src/lib/modules/engine/program-rule/utils/run-d2-expression.util.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@ export declare class DataValueUtil {
32
32
  orgUnitName?: string;
33
33
  lastUpdatedAtClient?: string;
34
34
  eventDate: string;
35
+ geometry: any;
35
36
  occurredAt: string;
36
37
  attributeCategoryOptions?: string;
37
38
  lastUpdated?: string;
@@ -9,6 +9,7 @@ export interface IDHIS2Event {
9
9
  createdAtClient?: string;
10
10
  program: string;
11
11
  event: string;
12
+ geometry?: any;
12
13
  programStage: string;
13
14
  orgUnit: string;
14
15
  trackedEntity?: string;
@@ -60,6 +61,7 @@ export declare class DHIS2Event extends BaseTrackerSDKModel<DHIS2Event> implemen
60
61
  orgUnitName?: string;
61
62
  lastUpdatedAtClient?: string;
62
63
  eventDate: string;
64
+ geometry: any;
63
65
  occurredAt: string;
64
66
  attributeCategoryOptions?: string;
65
67
  lastUpdated?: string;
@@ -89,6 +91,15 @@ export declare class DHIS2Event extends BaseTrackerSDKModel<DHIS2Event> implemen
89
91
  }): void;
90
92
  setFields(program: Program): void;
91
93
  getDataValue(dataElement: string): DataValue;
94
+ /**
95
+ * Sets event geometry from a coordinate string input.
96
+ * Accepts formats like:
97
+ * - "[39.319364,-6.069623]"
98
+ * - "39.319364,-6.069623"
99
+ * - "39.319364 -6.069623"
100
+ * and stores as GeoJSON Point in this.geometry.
101
+ */
102
+ setEventGeometry(coordinateValue: string): void;
92
103
  updateDataValues(dataValueEntities: Record<string, unknown>): void;
93
104
  setStatus(status?: string): void;
94
105
  toObject(): Partial<DHIS2Event>;