@inseefr/lunatic 2.6.6 → 2.6.8

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.
@@ -47,28 +47,33 @@ function Suggester(_ref) {
47
47
  _useState4 = _slicedToArray(_useState3, 2),
48
48
  options = _useState4[0],
49
49
  setOptions = _useState4[1];
50
+ var lastSearch = (0, _react.useRef)('');
50
51
  var handleSelect = (0, _react.useCallback)(function (id) {
51
52
  onSelect(id ? id : null);
52
53
  }, [onSelect]);
53
54
  var handleChange = (0, _react.useCallback)( /*#__PURE__*/function () {
54
55
  var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(search) {
55
- var _yield$searching, results;
56
+ var _yield$searching, results, previous;
56
57
  return _regeneratorRuntime().wrap(function _callee$(_context) {
57
58
  while (1) switch (_context.prev = _context.next) {
58
59
  case 0:
60
+ lastSearch.current = search !== null && search !== void 0 ? search : '';
59
61
  if (!(search && typeof searching === 'function')) {
60
62
  _context.next = 10;
61
63
  break;
62
64
  }
63
- _context.next = 3;
65
+ _context.next = 4;
64
66
  return searching(search);
65
- case 3:
67
+ case 4:
66
68
  _yield$searching = _context.sent;
67
69
  results = _yield$searching.results;
68
- setOptions(results);
69
- setSearch(search);
70
- // if a user does not select an option in the list, their search term is saved
71
- onSelect(search);
70
+ previous = _yield$searching.search;
71
+ if (previous === lastSearch.current) {
72
+ setOptions(results);
73
+ setSearch(search);
74
+ // if a user does not select an option in the list, their search term is saved
75
+ onSelect(search);
76
+ }
72
77
  _context.next = 13;
73
78
  break;
74
79
  case 10:
@@ -14,6 +14,7 @@ export declare const BlockForLoop: import("react").ComponentType<import("../type
14
14
  linksIterations?: number[] | undefined;
15
15
  logging?: import("../../use-lunatic/commons/execute-expression/create-execute-expression").ExpressionLogger | undefined;
16
16
  bindingDependencies?: string[] | undefined;
17
+ skipCleaningRefresh?: boolean | undefined;
17
18
  } | undefined) => T;
18
19
  value: Record<string, unknown[]>;
19
20
  headers?: {
@@ -14,6 +14,7 @@ export declare const RosterForLoop: import("react").ComponentType<import("../../
14
14
  linksIterations?: number[] | undefined;
15
15
  logging?: import("../../../use-lunatic/commons/execute-expression/create-execute-expression").ExpressionLogger | undefined;
16
16
  bindingDependencies?: string[] | undefined;
17
+ skipCleaningRefresh?: boolean | undefined;
17
18
  } | undefined) => T;
18
19
  value: Record<string, unknown[]>;
19
20
  headers?: {
@@ -16,6 +16,7 @@ type Props = {
16
16
  id?: string;
17
17
  searching?: (s: string | null) => Promise<{
18
18
  results: ComboBoxOptionType[];
19
+ search: string;
19
20
  }>;
20
21
  label?: ReactNode;
21
22
  description?: ReactNode;
@@ -2,5 +2,6 @@ import type { ComboBoxOptionType } from '../../commons/components/combo-box/comb
2
2
  export declare function isWorkerCompatible(): boolean;
3
3
  declare function createSearching(name: string, version: string, workersBasePath?: string): (search: string | null) => Promise<{
4
4
  results: ComboBoxOptionType[];
5
+ search: string;
5
6
  }>;
6
7
  export default createSearching;
@@ -16,9 +16,10 @@ type Args = {
16
16
  */
17
17
  declare function createRefreshCalculated({ variables, execute, bindings }: Args): readonly [(map: {
18
18
  [variableName: string]: unknown;
19
- }, { rootExpression, iteration, linksIterations, }?: {
19
+ }, { rootExpression, iteration, linksIterations, skipCleaningRefresh, }?: {
20
20
  rootExpression?: string | undefined;
21
21
  iteration?: number | undefined;
22
22
  linksIterations?: number[] | undefined;
23
+ skipCleaningRefresh?: boolean | undefined;
23
24
  }) => Record<string, unknown>, (name: string, variable: LunaticVariable) => void];
24
25
  export default createRefreshCalculated;
@@ -20,6 +20,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
20
20
  linksIterations?: number[] | undefined;
21
21
  logging?: import("../execute-expression/create-execute-expression").ExpressionLogger | undefined;
22
22
  bindingDependencies?: string[] | undefined;
23
+ skipCleaningRefresh?: boolean | undefined;
23
24
  } | undefined) => T;
24
25
  preferences: ["COLLECTED"];
25
26
  goToPage: (page: {
@@ -55,6 +56,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
55
56
  linksIterations?: number[] | undefined;
56
57
  logging?: import("../execute-expression/create-execute-expression").ExpressionLogger | undefined;
57
58
  bindingDependencies?: string[] | undefined;
59
+ skipCleaningRefresh?: boolean | undefined;
58
60
  } | undefined) => T;
59
61
  preferences: ["COLLECTED"];
60
62
  goToPage: (page: {
@@ -91,6 +93,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
91
93
  linksIterations?: number[] | undefined;
92
94
  logging?: import("../execute-expression/create-execute-expression").ExpressionLogger | undefined;
93
95
  bindingDependencies?: string[] | undefined;
96
+ skipCleaningRefresh?: boolean | undefined;
94
97
  } | undefined) => T;
95
98
  preferences: ["COLLECTED"];
96
99
  goToPage: (page: {
@@ -163,6 +166,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
163
166
  linksIterations?: number[] | undefined;
164
167
  logging?: import("../execute-expression/create-execute-expression").ExpressionLogger | undefined;
165
168
  bindingDependencies?: string[] | undefined;
169
+ skipCleaningRefresh?: boolean | undefined;
166
170
  } | undefined) => T;
167
171
  preferences: ["COLLECTED"];
168
172
  goToPage: (page: {
@@ -208,6 +212,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
208
212
  linksIterations?: number[] | undefined;
209
213
  logging?: import("../execute-expression/create-execute-expression").ExpressionLogger | undefined;
210
214
  bindingDependencies?: string[] | undefined;
215
+ skipCleaningRefresh?: boolean | undefined;
211
216
  } | undefined) => T;
212
217
  preferences: ["COLLECTED"];
213
218
  goToPage: (page: {
@@ -279,6 +284,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
279
284
  linksIterations?: number[] | undefined;
280
285
  logging?: import("../execute-expression/create-execute-expression").ExpressionLogger | undefined;
281
286
  bindingDependencies?: string[] | undefined;
287
+ skipCleaningRefresh?: boolean | undefined;
282
288
  } | undefined) => T;
283
289
  preferences: ["COLLECTED"];
284
290
  goToPage: (page: {
@@ -319,6 +325,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
319
325
  linksIterations?: number[] | undefined;
320
326
  logging?: import("../execute-expression/create-execute-expression").ExpressionLogger | undefined;
321
327
  bindingDependencies?: string[] | undefined;
328
+ skipCleaningRefresh?: boolean | undefined;
322
329
  } | undefined) => T;
323
330
  preferences: ["COLLECTED"];
324
331
  goToPage: (page: {
@@ -358,6 +365,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
358
365
  linksIterations?: number[] | undefined;
359
366
  logging?: import("../execute-expression/create-execute-expression").ExpressionLogger | undefined;
360
367
  bindingDependencies?: string[] | undefined;
368
+ skipCleaningRefresh?: boolean | undefined;
361
369
  } | undefined) => T;
362
370
  preferences: ["COLLECTED"];
363
371
  goToPage: (page: {
@@ -398,6 +406,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
398
406
  linksIterations?: number[] | undefined;
399
407
  logging?: import("../execute-expression/create-execute-expression").ExpressionLogger | undefined;
400
408
  bindingDependencies?: string[] | undefined;
409
+ skipCleaningRefresh?: boolean | undefined;
401
410
  } | undefined) => T;
402
411
  preferences: ["COLLECTED"];
403
412
  goToPage: (page: {
@@ -435,6 +444,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
435
444
  linksIterations?: number[] | undefined;
436
445
  logging?: import("../execute-expression/create-execute-expression").ExpressionLogger | undefined;
437
446
  bindingDependencies?: string[] | undefined;
447
+ skipCleaningRefresh?: boolean | undefined;
438
448
  } | undefined) => T;
439
449
  preferences: ["COLLECTED"];
440
450
  goToPage: (page: {
@@ -476,6 +486,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
476
486
  linksIterations?: number[] | undefined;
477
487
  logging?: import("../execute-expression/create-execute-expression").ExpressionLogger | undefined;
478
488
  bindingDependencies?: string[] | undefined;
489
+ skipCleaningRefresh?: boolean | undefined;
479
490
  } | undefined) => T;
480
491
  preferences: ["COLLECTED"];
481
492
  goToPage: (page: {
@@ -512,6 +523,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
512
523
  linksIterations?: number[] | undefined;
513
524
  logging?: import("../execute-expression/create-execute-expression").ExpressionLogger | undefined;
514
525
  bindingDependencies?: string[] | undefined;
526
+ skipCleaningRefresh?: boolean | undefined;
515
527
  } | undefined) => T;
516
528
  preferences: ["COLLECTED"];
517
529
  goToPage: (page: {
@@ -553,6 +565,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
553
565
  linksIterations?: number[] | undefined;
554
566
  logging?: import("../execute-expression/create-execute-expression").ExpressionLogger | undefined;
555
567
  bindingDependencies?: string[] | undefined;
568
+ skipCleaningRefresh?: boolean | undefined;
556
569
  } | undefined) => T;
557
570
  preferences: ["COLLECTED"];
558
571
  goToPage: (page: {
@@ -593,6 +606,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
593
606
  linksIterations?: number[] | undefined;
594
607
  logging?: import("../execute-expression/create-execute-expression").ExpressionLogger | undefined;
595
608
  bindingDependencies?: string[] | undefined;
609
+ skipCleaningRefresh?: boolean | undefined;
596
610
  } | undefined) => T;
597
611
  preferences: ["COLLECTED"];
598
612
  goToPage: (page: {
@@ -632,6 +646,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
632
646
  linksIterations?: number[] | undefined;
633
647
  logging?: import("../execute-expression/create-execute-expression").ExpressionLogger | undefined;
634
648
  bindingDependencies?: string[] | undefined;
649
+ skipCleaningRefresh?: boolean | undefined;
635
650
  } | undefined) => T;
636
651
  preferences: ["COLLECTED"];
637
652
  goToPage: (page: {
@@ -668,6 +683,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
668
683
  linksIterations?: number[] | undefined;
669
684
  logging?: import("../execute-expression/create-execute-expression").ExpressionLogger | undefined;
670
685
  bindingDependencies?: string[] | undefined;
686
+ skipCleaningRefresh?: boolean | undefined;
671
687
  } | undefined) => T;
672
688
  preferences: ["COLLECTED"];
673
689
  goToPage: (page: {
@@ -706,6 +722,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
706
722
  linksIterations?: number[] | undefined;
707
723
  logging?: import("../execute-expression/create-execute-expression").ExpressionLogger | undefined;
708
724
  bindingDependencies?: string[] | undefined;
725
+ skipCleaningRefresh?: boolean | undefined;
709
726
  } | undefined) => T;
710
727
  preferences: ["COLLECTED"];
711
728
  goToPage: (page: {
@@ -741,6 +758,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
741
758
  linksIterations?: number[] | undefined;
742
759
  logging?: import("../execute-expression/create-execute-expression").ExpressionLogger | undefined;
743
760
  bindingDependencies?: string[] | undefined;
761
+ skipCleaningRefresh?: boolean | undefined;
744
762
  } | undefined) => T;
745
763
  preferences: ["COLLECTED"];
746
764
  goToPage: (page: {
@@ -776,6 +794,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
776
794
  linksIterations?: number[] | undefined;
777
795
  logging?: import("../execute-expression/create-execute-expression").ExpressionLogger | undefined;
778
796
  bindingDependencies?: string[] | undefined;
797
+ skipCleaningRefresh?: boolean | undefined;
779
798
  } | undefined) => T;
780
799
  preferences: ["COLLECTED"];
781
800
  goToPage: (page: {
@@ -812,6 +831,7 @@ declare function fillFromState(component: LunaticComponentDefinition, state: Lun
812
831
  linksIterations?: number[] | undefined;
813
832
  logging?: import("../execute-expression/create-execute-expression").ExpressionLogger | undefined;
814
833
  bindingDependencies?: string[] | undefined;
834
+ skipCleaningRefresh?: boolean | undefined;
815
835
  } | undefined) => T;
816
836
  preferences: ["COLLECTED"];
817
837
  goToPage: (page: {
@@ -84,6 +84,7 @@ export declare function reduceOverviewOnInit(state: LunaticState, action: Action
84
84
  linksIterations?: number[] | undefined;
85
85
  logging?: import("../../commons/execute-expression/create-execute-expression").ExpressionLogger | undefined;
86
86
  bindingDependencies?: string[] | undefined;
87
+ skipCleaningRefresh?: boolean | undefined;
87
88
  } | undefined) => T;
88
89
  updateBindings: (variableName: string, value: unknown) => unknown;
89
90
  activeControls: boolean;
@@ -125,6 +125,7 @@ export type LunaticState = {
125
125
  linksIterations?: number[];
126
126
  logging?: ExpressionLogger;
127
127
  bindingDependencies?: string[];
128
+ skipCleaningRefresh?: boolean;
128
129
  }) => T;
129
130
  updateBindings: (variableName: string, value: unknown) => unknown;
130
131
  activeControls: boolean;
@@ -72,6 +72,7 @@ declare function useLunatic(source: LunaticSource, data: Partial<Record<"CALCULA
72
72
  linksIterations?: number[] | undefined;
73
73
  logging?: import("./commons/execute-expression/create-execute-expression").ExpressionLogger | undefined;
74
74
  bindingDependencies?: string[] | undefined;
75
+ skipCleaningRefresh?: boolean | undefined;
75
76
  } | undefined) => T;
76
77
  value: Record<string, unknown[]>;
77
78
  headers?: {
@@ -91,6 +92,7 @@ declare function useLunatic(source: LunaticSource, data: Partial<Record<"CALCULA
91
92
  linksIterations?: number[] | undefined;
92
93
  logging?: import("./commons/execute-expression/create-execute-expression").ExpressionLogger | undefined;
93
94
  bindingDependencies?: string[] | undefined;
95
+ skipCleaningRefresh?: boolean | undefined;
94
96
  } | undefined) => T;
95
97
  value: Record<string, unknown[]>;
96
98
  headers?: {
@@ -113,6 +115,7 @@ declare function useLunatic(source: LunaticSource, data: Partial<Record<"CALCULA
113
115
  linksIterations?: number[] | undefined;
114
116
  logging?: import("./commons/execute-expression/create-execute-expression").ExpressionLogger | undefined;
115
117
  bindingDependencies?: string[] | undefined;
118
+ skipCleaningRefresh?: boolean | undefined;
116
119
  } | undefined) => T;
117
120
  iteration: number | undefined;
118
121
  };
@@ -225,6 +228,7 @@ declare function useLunatic(source: LunaticSource, data: Partial<Record<"CALCULA
225
228
  linksIterations?: number[] | undefined;
226
229
  logging?: import("./commons/execute-expression/create-execute-expression").ExpressionLogger | undefined;
227
230
  bindingDependencies?: string[] | undefined;
231
+ skipCleaningRefresh?: boolean | undefined;
228
232
  } | undefined) => T;
229
233
  xAxisIterations: number;
230
234
  yAxisIterations: number;
@@ -321,6 +325,7 @@ declare function useLunatic(source: LunaticSource, data: Partial<Record<"CALCULA
321
325
  linksIterations?: number[] | undefined;
322
326
  logging?: import("./commons/execute-expression/create-execute-expression").ExpressionLogger | undefined;
323
327
  bindingDependencies?: string[] | undefined;
328
+ skipCleaningRefresh?: boolean | undefined;
324
329
  } | undefined) => T;
325
330
  value: Record<string, unknown[]>;
326
331
  headers?: {
@@ -340,6 +345,7 @@ declare function useLunatic(source: LunaticSource, data: Partial<Record<"CALCULA
340
345
  linksIterations?: number[] | undefined;
341
346
  logging?: import("./commons/execute-expression/create-execute-expression").ExpressionLogger | undefined;
342
347
  bindingDependencies?: string[] | undefined;
348
+ skipCleaningRefresh?: boolean | undefined;
343
349
  } | undefined) => T;
344
350
  value: Record<string, unknown[]>;
345
351
  headers?: {
@@ -362,6 +368,7 @@ declare function useLunatic(source: LunaticSource, data: Partial<Record<"CALCULA
362
368
  linksIterations?: number[] | undefined;
363
369
  logging?: import("./commons/execute-expression/create-execute-expression").ExpressionLogger | undefined;
364
370
  bindingDependencies?: string[] | undefined;
371
+ skipCleaningRefresh?: boolean | undefined;
365
372
  } | undefined) => T;
366
373
  iteration: number | undefined;
367
374
  };
@@ -474,6 +481,7 @@ declare function useLunatic(source: LunaticSource, data: Partial<Record<"CALCULA
474
481
  linksIterations?: number[] | undefined;
475
482
  logging?: import("./commons/execute-expression/create-execute-expression").ExpressionLogger | undefined;
476
483
  bindingDependencies?: string[] | undefined;
484
+ skipCleaningRefresh?: boolean | undefined;
477
485
  } | undefined) => T;
478
486
  xAxisIterations: number;
479
487
  yAxisIterations: number;
@@ -84,11 +84,11 @@
84
84
  "type": "VTL"
85
85
  },
86
86
  "complete": {
87
- "value": "not(isnull(KNOWREC)) and not(isnull(SEXE)) and not(isnull(SOMETHING))",
87
+ "value": "COMPLETE",
88
88
  "type": "VTL"
89
89
  },
90
90
  "partial": {
91
- "value": "not(isnull(KNOWREC)) or not(isnull(SEXE)) or not(isnull(SOMETHING))",
91
+ "value": "PARTIAL",
92
92
  "type": "VTL"
93
93
  },
94
94
  "label": {
@@ -96,22 +96,7 @@
96
96
  "type": "VTL"
97
97
  }
98
98
  },
99
- "controls": [
100
- {
101
- "id": "roundabout-Carefull",
102
- "criticality": "WARN",
103
- "control": {
104
- "value": "not(isnull(KNOWREC)) and not(isnull(SEXE)) and not(isnull(SOMETHING))",
105
- "type": "VTL"
106
- },
107
- "type": "roundabout",
108
- "iterations": { "value": "NB_HAB", "type": "VTL" },
109
- "errorMessage": {
110
- "value": "\"Le formulaire n'est pas complet pour \" || PRENOMS",
111
- "type": "VTL|MD"
112
- }
113
- }
114
- ],
99
+ "controls": [],
115
100
  "components": [
116
101
  {
117
102
  "id": "radio",
@@ -278,6 +263,28 @@
278
263
  "expression": { "value": "first_value(PRENOMS over())", "type": "VTL" },
279
264
  "bindingDependencies": ["PRENOMS"],
280
265
  "inFilter": "true"
266
+ },
267
+ {
268
+ "variableType": "CALCULATED",
269
+ "name": "COMPLETE",
270
+ "expression": {
271
+ "value": "not(isnull(KNOWREC)) and not(isnull(SEXE)) and not(isnull(SOMETHING))",
272
+ "type": "VTL"
273
+ },
274
+ "bindingDependencies": ["KNOWREC", "SEXE", "SOMETHING"],
275
+ "shapeFrom": "PRENOMS",
276
+ "inFilter": "true"
277
+ },
278
+ {
279
+ "variableType": "CALCULATED",
280
+ "name": "PARTIAL",
281
+ "expression": {
282
+ "value": "not(isnull(KNOWREC)) or not(isnull(SEXE)) or not(isnull(SOMETHING))",
283
+ "type": "VTL"
284
+ },
285
+ "bindingDependencies": ["KNOWREC", "SEXE", "SOMETHING"],
286
+ "shapeFrom": "PRENOMS",
287
+ "inFilter": "true"
281
288
  }
282
289
  ],
283
290
  "resizing": {
@@ -20,7 +20,10 @@
20
20
  },
21
21
  {
22
22
  "name": "cog-communes",
23
- "fields": [{ "name": "id", "rules": "soft" }],
23
+ "fields": [
24
+ { "name": "id", "rules": "soft" },
25
+ { "name": "label", "rules": "soft" }
26
+ ],
24
27
  "queryParser": { "type": "soft" },
25
28
  "version": "1"
26
29
  },
@@ -85,7 +88,7 @@
85
88
  "name": "HELLO"
86
89
  },
87
90
  "missingResponse": { "name": "HELLO_MISSING" },
88
- "page": "2"
91
+ "page": "1"
89
92
  },
90
93
  {
91
94
  "id": "suggestions-inconnu",
@@ -214,7 +214,8 @@ function createExecuteExpression(variables, features) {
214
214
  }), {
215
215
  rootExpression: expression,
216
216
  iteration: iteration,
217
- linksIterations: linksIterations
217
+ linksIterations: linksIterations,
218
+ skipCleaningRefresh: args.skipCleaningRefresh
218
219
  });
219
220
  // Add index has a specific variable
220
221
  vtlBindings['GLOBAL_ITERATION_INDEX'] = (((_args$iteration = args === null || args === void 0 ? void 0 : args.iteration) !== null && _args$iteration !== void 0 ? _args$iteration : 0) + 1).toString();
@@ -107,7 +107,8 @@ function createRefreshCalculated(_ref) {
107
107
  var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
108
108
  rootExpression = _ref4.rootExpression,
109
109
  iteration = _ref4.iteration,
110
- linksIterations = _ref4.linksIterations;
110
+ linksIterations = _ref4.linksIterations,
111
+ skipCleaningRefresh = _ref4.skipCleaningRefresh;
111
112
  return Object.entries(map).reduce(function (sub, _ref5) {
112
113
  var _ref6 = _slicedToArray(_ref5, 2),
113
114
  name = _ref6[0],
@@ -134,7 +135,7 @@ function createRefreshCalculated(_ref) {
134
135
  iteration: iteration,
135
136
  linksIterations: linksIterations
136
137
  });
137
- if (iteration !== undefined) toRefreshVariables["delete"](name);
138
+ if (!skipCleaningRefresh) toRefreshVariables["delete"](name);
138
139
  return _objectSpread(_objectSpread({}, sub), {}, _defineProperty({}, name, value));
139
140
  }
140
141
  return _objectSpread(_objectSpread({}, sub), {}, _defineProperty({}, name, current));
@@ -88,8 +88,9 @@ var fakeExecute = function fakeExecute(bindings) {
88
88
  }),
89
89
  _createRefreshCalcula2 = _slicedToArray(_createRefreshCalcula, 1),
90
90
  refresh = _createRefreshCalcula2[0];
91
- (0, _vitest.expect)(refresh(variables, {}).COUNT_AGES).toBe(3);
92
- (0, _vitest.expect)(refresh(variables, {
91
+ var refreshedVariables = refresh(variables, {});
92
+ (0, _vitest.expect)(refreshedVariables.COUNT_AGES).toBe(3);
93
+ (0, _vitest.expect)(refresh(refreshedVariables, {
93
94
  iteration: 1
94
95
  }).COUNT_AGES).toBe(3);
95
96
  (0, _vitest.expect)(bindings.AGE).toEqual([10, 20, 30]);
@@ -24,17 +24,18 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
24
24
  * - expressions, VTL that states the level of completion for each iteration
25
25
  */
26
26
  function fillRoundaboutProps(component, state) {
27
- var iterations = component.iterations,
28
- expressions = component.expressions;
29
- var compiled = Object.entries(expressions).reduce(function (result, _ref) {
27
+ var iterations = component.iterations; // iterations is the result of an expression but we know it's a number
28
+ var compiled = Object.entries(component.expressions).reduce(function (result, _ref) {
30
29
  var _ref2 = _slicedToArray(_ref, 2),
31
30
  name = _ref2[0],
32
31
  expression = _ref2[1];
33
32
  var values = new Array(iterations).fill(null).map(function (_, iteration) {
34
33
  return state.executeExpression(expression, {
35
- iteration: iteration
34
+ iteration: iteration,
35
+ skipCleaningRefresh: true // TODO : this should be "iteration < iterations - 1" but this cause an issue with recensement, investigate further later,
36
36
  });
37
37
  });
38
+
38
39
  return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, name, values));
39
40
  }, {});
40
41
  return _objectSpread(_objectSpread({}, component), {}, {
@@ -6,17 +6,21 @@ var _searching = _interopRequireDefault(require("./searching"));
6
6
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
7
7
  /* eslint-disable no-restricted-globals */
8
8
 
9
+ var LAST_SEARCH = undefined;
9
10
  self.onmessage = function (e) {
10
11
  var _e$data = e.data,
11
12
  search = _e$data.search,
12
13
  name = _e$data.name,
13
14
  version = _e$data.version,
14
15
  meloto = _e$data.meloto;
16
+ LAST_SEARCH = search;
15
17
  (0, _searching["default"])(search, {
16
18
  name: name,
17
19
  version: version,
18
20
  meloto: meloto
19
21
  }).then(function (result) {
20
- self.postMessage(result);
22
+ if (search === LAST_SEARCH) {
23
+ self.postMessage(result);
24
+ }
21
25
  });
22
26
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inseefr/lunatic",
3
- "version": "2.6.6",
3
+ "version": "2.6.8",
4
4
  "workersVersion": "0.3.0-experimental",
5
5
  "description": "Library of questionnaire components",
6
6
  "repository": {