@inseefr/lunatic 3.6.11 → 3.6.13

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 (28) hide show
  1. package/components/shared/MDLabel/MDLabel.d.ts +3 -1
  2. package/components/shared/MDLabel/MDLabel.js +4 -4
  3. package/components/shared/MDLabel/MDLabel.js.map +1 -1
  4. package/esm/components/shared/MDLabel/MDLabel.d.ts +3 -1
  5. package/esm/components/shared/MDLabel/MDLabel.js +4 -4
  6. package/esm/components/shared/MDLabel/MDLabel.js.map +1 -1
  7. package/esm/index.d.ts +1 -0
  8. package/esm/index.js +1 -0
  9. package/esm/index.js.map +1 -1
  10. package/esm/use-lunatic/commons/variables/lunatic-variables-store.d.ts +30 -3
  11. package/esm/use-lunatic/commons/variables/lunatic-variables-store.js +104 -26
  12. package/esm/use-lunatic/commons/variables/lunatic-variables-store.js.map +1 -1
  13. package/esm/use-lunatic/commons/variables/lunatic-variables-store.spec.js +1 -1
  14. package/esm/use-lunatic/commons/variables/lunatic-variables-store.spec.js.map +1 -1
  15. package/index.d.ts +1 -0
  16. package/index.js +3 -1
  17. package/index.js.map +1 -1
  18. package/package.json +1 -1
  19. package/src/components/shared/MDLabel/MDLabel.tsx +26 -6
  20. package/src/index.ts +2 -0
  21. package/src/use-lunatic/commons/variables/lunatic-variables-store.spec.ts +1 -1
  22. package/src/use-lunatic/commons/variables/lunatic-variables-store.ts +128 -39
  23. package/tsconfig.build.tsbuildinfo +1 -1
  24. package/use-lunatic/commons/variables/lunatic-variables-store.d.ts +30 -3
  25. package/use-lunatic/commons/variables/lunatic-variables-store.js +109 -24
  26. package/use-lunatic/commons/variables/lunatic-variables-store.js.map +1 -1
  27. package/use-lunatic/commons/variables/lunatic-variables-store.spec.js +1 -1
  28. package/use-lunatic/commons/variables/lunatic-variables-store.spec.js.map +1 -1
@@ -1,5 +1,7 @@
1
+ import { MarkdownLink } from './MarkdownLink';
1
2
  type Props = {
2
3
  expression: string;
4
+ MarkdownLinkOverride?: typeof MarkdownLink;
3
5
  };
4
- export declare function MDLabel({ expression }: Props): import("react/jsx-runtime").JSX.Element;
6
+ export declare function MDLabel({ expression, MarkdownLinkOverride }: Props): import("react/jsx-runtime").JSX.Element;
5
7
  export {};
@@ -10,17 +10,17 @@ const react_markdown_1 = __importDefault(require("react-markdown"));
10
10
  const MarkdownLink_1 = require("./MarkdownLink");
11
11
  const remark_breaks_1 = __importDefault(require("remark-breaks"));
12
12
  const remark_emoji_1 = __importDefault(require("remark-emoji"));
13
- function MDLabel({ expression }) {
13
+ function MDLabel({ expression, MarkdownLinkOverride }) {
14
14
  const hasParagraphs = /\n\n/.test(expression);
15
15
  const components = {
16
16
  p: hasParagraphs ? 'p' : react_1.Fragment,
17
17
  br: 'br',
18
- a: MarkdownA,
18
+ a: (props) => ((0, jsx_runtime_1.jsx)(MarkdownA, { ...props, MarkdownLinkComponent: MarkdownLinkOverride ?? MarkdownLink_1.MarkdownLink })),
19
19
  };
20
20
  return ((0, jsx_runtime_1.jsx)(react_markdown_1.default, { components: components, remarkPlugins: [[remark_emoji_1.default, { accessible: true }], remark_breaks_1.default], children: expression }));
21
21
  }
22
- const MarkdownA = ({ title, href, children, }) => {
22
+ const MarkdownA = ({ title, href, children, MarkdownLinkComponent, }) => {
23
23
  const tooltip = title ? (0, jsx_runtime_1.jsx)(MDLabel, { expression: title }) : null;
24
- return ((0, jsx_runtime_1.jsx)(MarkdownLink_1.MarkdownLink, { href: href, tooltip: tooltip, children: children }));
24
+ return ((0, jsx_runtime_1.jsx)(MarkdownLinkComponent, { href: href, tooltip: tooltip, children: children }));
25
25
  };
26
26
  //# sourceMappingURL=MDLabel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MDLabel.js","sourceRoot":"","sources":["../../../src/components/shared/MDLabel/MDLabel.tsx"],"names":[],"mappings":";;;;;AAQA,0BAeC;;AAvBD,iCAAyD;AACzD,oEAA2D;AAC3D,iDAA8C;AAC9C,kEAAyC;AACzC,gEAAiC;AAIjC,SAAgB,OAAO,CAAC,EAAE,UAAU,EAAS;IAC5C,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG;QAClB,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAQ;QACjC,EAAE,EAAE,IAAI;QACR,CAAC,EAAE,SAAS;KACW,CAAC;IACzB,OAAO,CACN,uBAAC,wBAAQ,IACR,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,CAAC,CAAC,sBAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,uBAAY,CAAC,YAE3D,UAAU,GACD,CACX,CAAC;AACH,CAAC;AACD,MAAM,SAAS,GAAG,CAAC,EAClB,KAAK,EACL,IAAI,EACJ,QAAQ,GAC6C,EAAE,EAAE;IACzD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,uBAAC,OAAO,IAAC,UAAU,EAAE,KAAK,GAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,OAAO,CACN,uBAAC,2BAAY,IAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,YACxC,QAAQ,GACK,CACf,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"MDLabel.js","sourceRoot":"","sources":["../../../src/components/shared/MDLabel/MDLabel.tsx"],"names":[],"mappings":";;;;;AAWA,0BAoBC;;AA/BD,iCAAyD;AACzD,oEAA2D;AAC3D,iDAA8C;AAC9C,kEAAyC;AACzC,gEAAiC;AAOjC,SAAgB,OAAO,CAAC,EAAE,UAAU,EAAE,oBAAoB,EAAS;IAClE,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG;QAClB,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAQ;QACjC,EAAE,EAAE,IAAI;QACR,CAAC,EAAE,CAAC,KAAqB,EAAE,EAAE,CAAC,CAC7B,uBAAC,SAAS,OACL,KAAK,EACT,qBAAqB,EAAE,oBAAoB,IAAI,2BAAY,GAC1D,CACF;KACsB,CAAC;IACzB,OAAO,CACN,uBAAC,wBAAQ,IACR,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,CAAC,CAAC,sBAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,uBAAY,CAAC,YAE3D,UAAU,GACD,CACX,CAAC;AACH,CAAC;AAQD,MAAM,SAAS,GAAG,CAAC,EAClB,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,qBAAqB,GAKpB,EAAE,EAAE;IACL,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,uBAAC,OAAO,IAAC,UAAU,EAAE,KAAK,GAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,OAAO,CACN,uBAAC,qBAAqB,IAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,YACjD,QAAQ,GACc,CACxB,CAAC;AACH,CAAC,CAAC"}
@@ -1,5 +1,7 @@
1
+ import { MarkdownLink } from './MarkdownLink';
1
2
  type Props = {
2
3
  expression: string;
4
+ MarkdownLinkOverride?: typeof MarkdownLink;
3
5
  };
4
- export declare function MDLabel({ expression }: Props): import("react/jsx-runtime").JSX.Element;
6
+ export declare function MDLabel({ expression, MarkdownLinkOverride }: Props): import("react/jsx-runtime").JSX.Element;
5
7
  export {};
@@ -4,17 +4,17 @@ import Markdown from 'react-markdown';
4
4
  import { MarkdownLink } from './MarkdownLink';
5
5
  import remarkBreaks from 'remark-breaks';
6
6
  import emoji from 'remark-emoji';
7
- export function MDLabel({ expression }) {
7
+ export function MDLabel({ expression, MarkdownLinkOverride }) {
8
8
  const hasParagraphs = /\n\n/.test(expression);
9
9
  const components = {
10
10
  p: hasParagraphs ? 'p' : Fragment,
11
11
  br: 'br',
12
- a: MarkdownA,
12
+ a: (props) => (_jsx(MarkdownA, { ...props, MarkdownLinkComponent: MarkdownLinkOverride !== null && MarkdownLinkOverride !== void 0 ? MarkdownLinkOverride : MarkdownLink })),
13
13
  };
14
14
  return (_jsx(Markdown, { components: components, remarkPlugins: [[emoji, { accessible: true }], remarkBreaks], children: expression }));
15
15
  }
16
- const MarkdownA = ({ title, href, children, }) => {
16
+ const MarkdownA = ({ title, href, children, MarkdownLinkComponent, }) => {
17
17
  const tooltip = title ? _jsx(MDLabel, { expression: title }) : null;
18
- return (_jsx(MarkdownLink, { href: href, tooltip: tooltip, children: children }));
18
+ return (_jsx(MarkdownLinkComponent, { href: href, tooltip: tooltip, children: children }));
19
19
  };
20
20
  //# sourceMappingURL=MDLabel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MDLabel.js","sourceRoot":"","sources":["../../../../src/components/shared/MDLabel/MDLabel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAA0B,MAAM,OAAO,CAAC;AACzD,OAAO,QAA6B,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,MAAM,cAAc,CAAC;AAIjC,MAAM,UAAU,OAAO,CAAC,EAAE,UAAU,EAAS;IAC5C,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG;QAClB,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ;QACjC,EAAE,EAAE,IAAI;QACR,CAAC,EAAE,SAAS;KACW,CAAC;IACzB,OAAO,CACN,KAAC,QAAQ,IACR,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,YAE3D,UAAU,GACD,CACX,CAAC;AACH,CAAC;AACD,MAAM,SAAS,GAAG,CAAC,EAClB,KAAK,EACL,IAAI,EACJ,QAAQ,GAC6C,EAAE,EAAE;IACzD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,KAAC,OAAO,IAAC,UAAU,EAAE,KAAK,GAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,OAAO,CACN,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,YACxC,QAAQ,GACK,CACf,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"MDLabel.js","sourceRoot":"","sources":["../../../../src/components/shared/MDLabel/MDLabel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAA0B,MAAM,OAAO,CAAC;AACzD,OAAO,QAA6B,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,MAAM,cAAc,CAAC;AAOjC,MAAM,UAAU,OAAO,CAAC,EAAE,UAAU,EAAE,oBAAoB,EAAS;IAClE,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG;QAClB,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ;QACjC,EAAE,EAAE,IAAI;QACR,CAAC,EAAE,CAAC,KAAqB,EAAE,EAAE,CAAC,CAC7B,KAAC,SAAS,OACL,KAAK,EACT,qBAAqB,EAAE,oBAAoB,aAApB,oBAAoB,cAApB,oBAAoB,GAAI,YAAY,GAC1D,CACF;KACsB,CAAC;IACzB,OAAO,CACN,KAAC,QAAQ,IACR,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,YAE3D,UAAU,GACD,CACX,CAAC;AACH,CAAC;AAQD,MAAM,SAAS,GAAG,CAAC,EAClB,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,qBAAqB,GAKpB,EAAE,EAAE;IACL,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,KAAC,OAAO,IAAC,UAAU,EAAE,KAAK,GAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,OAAO,CACN,KAAC,qBAAqB,IAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,YACjD,QAAQ,GACc,CACxB,CAAC;AACH,CAAC,CAAC"}
package/esm/index.d.ts CHANGED
@@ -7,6 +7,7 @@ export { ModalControls } from './components/shared/ModalControls/ModalControls';
7
7
  export { Button } from './components/shared/Button/Button';
8
8
  export { LunaticComponents } from './components/LunaticComponents';
9
9
  export { useLunatic } from './use-lunatic/use-lunatic';
10
+ export { MDLabel } from './components/shared/MDLabel/MDLabel';
10
11
  export type { LunaticComponentDefinition, LunaticControl, LunaticData, LunaticValues, LunaticError, LunaticExpression, LunaticVariable, LunaticCollectedValue, LunaticStateVariable, LunaticState, LunaticPager, LunaticOptions, LunaticChangesHandler, } from './use-lunatic/type';
11
12
  export type { LunaticComponentProps, LunaticExtraProps, } from './components/type';
12
13
  export type { LunaticSlotComponents } from './components/shared/HOC/slottableComponent';
package/esm/index.js CHANGED
@@ -7,6 +7,7 @@ export { ModalControls } from './components/shared/ModalControls/ModalControls';
7
7
  export { Button } from './components/shared/Button/Button';
8
8
  export { LunaticComponents } from './components/LunaticComponents';
9
9
  export { useLunatic } from './use-lunatic/use-lunatic';
10
+ export { MDLabel } from './components/shared/MDLabel/MDLabel';
10
11
  // Export errors (useful for typeof)
11
12
  export { VTLMissingDependencies, VTLExpressionError, VTLMissingDependency, VTLInterpretationError, } from './use-lunatic/commons/variables/errors';
12
13
  //# sourceMappingURL=index.js.map
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAyBvD,oCAAoC;AACpC,OAAO,EACN,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,GACtB,MAAM,wCAAwC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAyB9D,oCAAoC;AACpC,OAAO,EACN,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,GACtB,MAAM,wCAAwC,CAAC"}
@@ -20,11 +20,20 @@ export type EventArgs = {
20
20
  export type LunaticVariablesStoreEvent<T extends keyof EventArgs> = {
21
21
  detail: EventArgs[T];
22
22
  };
23
+ /**
24
+ * Represent a point in time (more precise than Date)
25
+ */
26
+ declare class Timekey {
27
+ private time;
28
+ getTime(): number;
29
+ touch(): void;
30
+ }
23
31
  export declare class LunaticVariablesStore {
24
32
  private dictionary;
25
33
  private eventTarget;
26
34
  private queue;
27
35
  autoCommit: boolean;
36
+ updatedAt: Timekey;
28
37
  constructor();
29
38
  static makeFromSource(source: LunaticSource, data: LunaticData, changeHandler: RefObject<LunaticOptions['onVariableChange']>, disableCleaning?: boolean, autoCommit?: boolean): LunaticVariablesStore;
30
39
  /**
@@ -50,10 +59,11 @@ export declare class LunaticVariablesStore {
50
59
  /**
51
60
  * Register calculated variable
52
61
  */
53
- setCalculated(name: string, expression: string, { dependencies, iterationDepth, shapeFrom, }?: {
62
+ setCalculated(name: string, expression: string, { dependencies, iterationDepth, shapeFrom, dimension, }?: {
54
63
  dependencies?: string[];
55
64
  iterationDepth?: number;
56
65
  shapeFrom?: string | string[];
66
+ dimension?: number;
57
67
  }): LunaticVariable;
58
68
  /**
59
69
  * Run a VTL expression
@@ -77,12 +87,16 @@ export declare class LunaticVariablesStore {
77
87
  declare class LunaticVariable {
78
88
  /** Last time the value was updated (changed). */
79
89
  updatedAt: Map<string | undefined, number>;
90
+ /** Last time the store was updated (changed). */
91
+ private storeUpdatedAt;
80
92
  /** Last time "calculation" was run (for calculated variable). */
81
93
  private calculatedAt;
82
94
  /** Internal value for the variable. */
83
95
  private value;
84
- /** List of dependencies, ex: ['FIRSTNAME', 'LASTNAME']. */
96
+ /** List of direct dependencies, ex: ['FULLNAME', 'FIRSTNAME', 'LASTNAME']. */
85
97
  private dependencies?;
98
+ /** List of deep dependencies, exploring the variables used in calculated variables, ex: ['FIRSTNAME', 'LASTNAME']. */
99
+ private baseDependencies?;
86
100
  /** Expression for calculated variable. */
87
101
  readonly expression?: string;
88
102
  /** Dictionary holding all the available variables. */
@@ -95,13 +109,17 @@ declare class LunaticVariable {
95
109
  readonly name?: string;
96
110
  /** Count the number of calculation. */
97
111
  calculatedCount: number;
98
- constructor(args?: {
112
+ /** Dimension **/
113
+ dimension?: number;
114
+ constructor(args: {
99
115
  expression?: string;
100
116
  dependencies?: string[];
101
117
  dictionary?: Map<string, LunaticVariable>;
102
118
  iterationDepth?: number;
103
119
  shapeFrom?: string | string[];
104
120
  name?: string;
121
+ dimension?: number;
122
+ storeUpdatedAt: Timekey;
105
123
  });
106
124
  getValue(iteration?: IterationLevel): unknown;
107
125
  /**
@@ -114,8 +132,17 @@ declare class LunaticVariable {
114
132
  private updateTimestamps;
115
133
  private setValueForArray;
116
134
  private getSavedValue;
135
+ /**
136
+ * Get a list of transitive dependencies (leaf of the dependency tree)
137
+ */
138
+ private getBaseDependencies;
117
139
  private getDependencies;
118
140
  private getDependenciesValues;
141
+ /**
142
+ * Check if the variable should be updated (comparing calculatedAt to dependency updated time)
143
+ */
119
144
  private isOutdated;
145
+ getUpdatedAt(iteration?: IterationLevel): number;
146
+ getCalculatedAt(iteration?: IterationLevel): number;
120
147
  }
121
148
  export {};
@@ -11,12 +11,27 @@ import { VTLInterpretationError, VTLMissingDependencies, VTLMissingDependency, }
11
11
  let interpretCount = 0;
12
12
  /** Special variable that will take the current iteration value. */
13
13
  const iterationVariableName = 'GLOBAL_ITERATION_INDEX';
14
+ /**
15
+ * Represent a point in time (more precise than Date)
16
+ */
17
+ class Timekey {
18
+ constructor() {
19
+ this.time = performance.now();
20
+ }
21
+ getTime() {
22
+ return this.time;
23
+ }
24
+ touch() {
25
+ this.time = performance.now();
26
+ }
27
+ }
14
28
  export class LunaticVariablesStore {
15
29
  constructor() {
16
30
  this.dictionary = new Map();
17
31
  this.eventTarget = new EventTarget();
18
32
  this.queue = new Map();
19
33
  this.autoCommit = false; // Commit change instantly (used in tests)
34
+ this.updatedAt = new Timekey();
20
35
  interpretCount = 0;
21
36
  }
22
37
  static makeFromSource(source, data, changeHandler,
@@ -26,6 +41,7 @@ export class LunaticVariablesStore {
26
41
  autoCommit) {
27
42
  var _a, _b;
28
43
  const store = new LunaticVariablesStore();
44
+ window.lunaticStore = store; // Allow access to the store from the console
29
45
  if (!source.variables) {
30
46
  return store;
31
47
  }
@@ -71,6 +87,7 @@ export class LunaticVariablesStore {
71
87
  }
72
88
  resizingBehaviour(store, source.resizing);
73
89
  missingBehaviour(store, source.missingBlock);
90
+ store.updatedAt.touch();
74
91
  return store;
75
92
  }
76
93
  /**
@@ -124,16 +141,12 @@ export class LunaticVariablesStore {
124
141
  * Set variable value
125
142
  */
126
143
  set(name, value, args = {}) {
144
+ this.updatedAt.touch();
127
145
  if (!this.dictionary.has(name)) {
128
146
  this.dictionary.set(name, new LunaticVariable({
129
147
  name,
130
- }));
131
- this.eventTarget.dispatchEvent(new CustomEvent('change', {
132
- detail: {
133
- ...args,
134
- name: name,
135
- value: value,
136
- },
148
+ dependencies: [],
149
+ storeUpdatedAt: this.updatedAt,
137
150
  }));
138
151
  }
139
152
  const variable = this.dictionary.get(name);
@@ -151,7 +164,7 @@ export class LunaticVariablesStore {
151
164
  /**
152
165
  * Register calculated variable
153
166
  */
154
- setCalculated(name, expression, { dependencies, iterationDepth, shapeFrom, } = {}) {
167
+ setCalculated(name, expression, { dependencies, iterationDepth, shapeFrom, dimension, } = {}) {
155
168
  if (this.dictionary.has(name)) {
156
169
  return this.dictionary.get(name);
157
170
  }
@@ -162,8 +175,11 @@ export class LunaticVariablesStore {
162
175
  dependencies,
163
176
  iterationDepth,
164
177
  name,
178
+ dimension,
179
+ storeUpdatedAt: this.updatedAt,
165
180
  });
166
181
  this.dictionary.set(name, variable);
182
+ this.updatedAt.touch();
167
183
  return variable;
168
184
  }
169
185
  /**
@@ -206,7 +222,7 @@ export class LunaticVariablesStore {
206
222
  }
207
223
  }
208
224
  class LunaticVariable {
209
- constructor(args = {}) {
225
+ constructor(args) {
210
226
  var _a;
211
227
  /** Last time the value was updated (changed). */
212
228
  this.updatedAt = new Map();
@@ -224,6 +240,8 @@ class LunaticVariable {
224
240
  this.shapeFrom =
225
241
  typeof args.shapeFrom === 'string' ? [args.shapeFrom] : args.shapeFrom;
226
242
  this.name = (_a = args.name) !== null && _a !== void 0 ? _a : args.expression;
243
+ this.dimension = args.dimension;
244
+ this.storeUpdatedAt = args.storeUpdatedAt;
227
245
  }
228
246
  getValue(iteration) {
229
247
  // The variable is not calculated
@@ -244,19 +262,25 @@ class LunaticVariable {
244
262
  !Array.isArray(shapeFromValue)) {
245
263
  iteration = undefined;
246
264
  }
247
- // Calculate bindings first to refresh "updatedAt" on calculated dependencies
248
- const bindings = this.getDependenciesValues(iteration);
249
- const hasNoBinding = Object.keys(bindings).length === 0;
265
+ const deps = this.getDependencies();
266
+ const hasNoBindings = deps.length === 0;
250
267
  // A static expression should not be reevaluated
251
- if (hasNoBinding && this.value) {
268
+ if (hasNoBindings && this.value) {
252
269
  return this.value;
253
270
  }
254
271
  // A variable without binding is a primitive (string, boolean...)
255
272
  // it yields the same results for every iteration, so we can ignore iteration
256
- if (hasNoBinding) {
273
+ if (hasNoBindings) {
257
274
  iteration = undefined;
258
275
  }
276
+ // The store did not change since the last calculation, skip further checks
277
+ if (this.getCalculatedAt(iteration) > this.storeUpdatedAt.getTime()) {
278
+ return this.getSavedValue(iteration);
279
+ }
280
+ // Calculate bindings first to refresh "updatedAt" on calculated dependencies
281
+ const bindings = this.getDependenciesValues(iteration);
259
282
  if (this.shapeFrom && !this.isOutdated(iteration)) {
283
+ this.updateTimestamps(iteration, 'calculatedAt');
260
284
  return this.getSavedValue(iteration);
261
285
  }
262
286
  if (isTestEnv()) {
@@ -346,6 +370,32 @@ class LunaticVariable {
346
370
  }
347
371
  return current;
348
372
  }
373
+ /**
374
+ * Get a list of transitive dependencies (leaf of the dependency tree)
375
+ */
376
+ getBaseDependencies() {
377
+ // Find the dependencies of the dependencies
378
+ const reducer = (acc, variableName) => {
379
+ var _a, _b;
380
+ if (acc.has(variableName)) {
381
+ return acc;
382
+ }
383
+ const deps = (_b = (_a = this.dictionary) === null || _a === void 0 ? void 0 : _a.get(variableName)) === null || _b === void 0 ? void 0 : _b.getDependencies();
384
+ if (!deps || deps.length === 0) {
385
+ acc.add(variableName);
386
+ }
387
+ else {
388
+ deps === null || deps === void 0 ? void 0 : deps.reduce(reducer, acc);
389
+ }
390
+ return acc;
391
+ };
392
+ if (this.baseDependencies === undefined) {
393
+ this.baseDependencies = [
394
+ ...this.getDependencies().reduce(reducer, new Set()),
395
+ ];
396
+ }
397
+ return this.baseDependencies;
398
+ }
349
399
  getDependencies() {
350
400
  // Calculate dependencies from expression on the fly if necessary
351
401
  if (this.dependencies === undefined) {
@@ -378,19 +428,47 @@ class LunaticVariable {
378
428
  throw e;
379
429
  }
380
430
  }
431
+ /**
432
+ * Check if the variable should be updated (comparing calculatedAt to dependency updated time)
433
+ */
381
434
  isOutdated(iteration) {
382
- var _a;
383
- const dependenciesUpdatedAt = Math.max(0, ...this.getDependencies().map((dep) => {
384
- var _a, _b, _c, _d, _e, _f;
385
- // Check when a value at the same iteration was calculated
386
- return (_f = (_c = (_b = (_a = this.dictionary) === null || _a === void 0 ? void 0 : _a.get(dep)) === null || _b === void 0 ? void 0 : _b.updatedAt.get(iteration === null || iteration === void 0 ? void 0 : iteration.join('.'))) !== null && _c !== void 0 ? _c :
387
- // For aggregated value (max / min) look the global updatedAt time
388
- (_e = (_d = this.dictionary) === null || _d === void 0 ? void 0 : _d.get(dep)) === null || _e === void 0 ? void 0 : _e.updatedAt.get(undefined)) !== null && _f !== void 0 ? _f :
389
- // Otherwise this is a static value that never changes
390
- 0;
391
- }));
392
- return (dependenciesUpdatedAt >
393
- ((_a = this.calculatedAt.get(iteration === null || iteration === void 0 ? void 0 : iteration.join('.'))) !== null && _a !== void 0 ? _a : -1));
435
+ var _a, _b, _c;
436
+ const deps = this.getDependencies();
437
+ const lastCalculatedAt = this.calculatedAt.get(iteration === null || iteration === void 0 ? void 0 : iteration.join('.'));
438
+ // Variable was never calculated
439
+ if (!lastCalculatedAt) {
440
+ return true;
441
+ }
442
+ // Look for an outdated dependency
443
+ for (const dep of deps) {
444
+ const depUpdatedAt = (_c = (_b = (_a = this.dictionary) === null || _a === void 0 ? void 0 : _a.get(dep)) === null || _b === void 0 ? void 0 : _b.getUpdatedAt(iteration)) !== null && _c !== void 0 ? _c : 0;
445
+ if (depUpdatedAt > lastCalculatedAt) {
446
+ return true;
447
+ }
448
+ }
449
+ return false;
450
+ }
451
+ getUpdatedAt(iteration) {
452
+ var _a, _b, _c, _d;
453
+ if (this.dimension === 0) {
454
+ return (_a = this.updatedAt.get(undefined)) !== null && _a !== void 0 ? _a : 0;
455
+ }
456
+ // The value is an array, do not look at the root updatedAt if an iteration is provided
457
+ if (Array.isArray(this.value)) {
458
+ return (_b = this.updatedAt.get(iteration === null || iteration === void 0 ? void 0 : iteration.join('.'))) !== null && _b !== void 0 ? _b : 0;
459
+ }
460
+ return ((_d = (_c = this.updatedAt.get(iteration === null || iteration === void 0 ? void 0 : iteration.join('.'))) !== null && _c !== void 0 ? _c : this.updatedAt.get(undefined)) !== null && _d !== void 0 ? _d : 0);
461
+ }
462
+ getCalculatedAt(iteration) {
463
+ var _a, _b, _c, _d;
464
+ if (this.dimension === 0) {
465
+ return (_a = this.calculatedAt.get(undefined)) !== null && _a !== void 0 ? _a : 0;
466
+ }
467
+ // The value is an array, do not look at the root updatedAt if an iteration is provided
468
+ if (Array.isArray(this.value)) {
469
+ return (_b = this.calculatedAt.get(iteration === null || iteration === void 0 ? void 0 : iteration.join('.'))) !== null && _b !== void 0 ? _b : 0;
470
+ }
471
+ return ((_d = (_c = this.calculatedAt.get(iteration === null || iteration === void 0 ? void 0 : iteration.join('.'))) !== null && _c !== void 0 ? _c : this.calculatedAt.get(undefined)) !== null && _d !== void 0 ? _d : 0);
394
472
  }
395
473
  }
396
474
  function arrayDimension(arr) {
@@ -1 +1 @@
1
- {"version":3,"file":"lunatic-variables-store.js","sourceRoot":"","sources":["../../../../src/use-lunatic/commons/variables/lunatic-variables-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lunatic-variables-store.js","sourceRoot":"","sources":["../../../../src/use-lunatic/commons/variables/lunatic-variables-store.ts"],"names":[],"mappings":"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"}
@@ -85,7 +85,7 @@ describe('lunatic-variables-store', () => {
85
85
  variables.set('LASTNAME', 'Doe');
86
86
  expect(variables.run('FIRSTNAME || " " || LASTNAME')).toEqual('John Doe');
87
87
  expect(variables.run('FIRSTNAME || " " || LASTNAME')).toEqual('John Doe');
88
- expect(variables.interpretCount).toBe(2); // only once computation since improvment of caching result
88
+ expect(variables.interpretCount).toBe(1); // only once computation since improvement of caching result
89
89
  variables.set('FIRSTNAME', 'Jane');
90
90
  expect(variables.run('FIRSTNAME || " " || LASTNAME')).toEqual('Jane Doe');
91
91
  });