@darajs/core 1.25.0 → 1.25.2

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 (48) hide show
  1. package/dist/components/for/templating.d.ts +5 -0
  2. package/dist/components/for/templating.d.ts.map +1 -1
  3. package/dist/components/for/templating.js +53 -0
  4. package/dist/components/for/templating.js.map +1 -1
  5. package/dist/{dara_core-1.25.0-py3-none-any.whl → dara_core-1.25.2-py3-none-any.whl} +0 -0
  6. package/dist/shared/interactivity/find-stream-variables.d.ts +29 -0
  7. package/dist/shared/interactivity/find-stream-variables.d.ts.map +1 -0
  8. package/dist/shared/interactivity/find-stream-variables.js +98 -0
  9. package/dist/shared/interactivity/find-stream-variables.js.map +1 -0
  10. package/dist/shared/interactivity/nested.d.ts +13 -4
  11. package/dist/shared/interactivity/nested.d.ts.map +1 -1
  12. package/dist/shared/interactivity/nested.js +15 -5
  13. package/dist/shared/interactivity/nested.js.map +1 -1
  14. package/dist/shared/interactivity/plain-variable.d.ts.map +1 -1
  15. package/dist/shared/interactivity/plain-variable.js +4 -2
  16. package/dist/shared/interactivity/plain-variable.js.map +1 -1
  17. package/dist/shared/interactivity/resolve-variable.d.ts.map +1 -1
  18. package/dist/shared/interactivity/resolve-variable.js +2 -0
  19. package/dist/shared/interactivity/resolve-variable.js.map +1 -1
  20. package/dist/shared/interactivity/stream-usage-tracker.d.ts +114 -0
  21. package/dist/shared/interactivity/stream-usage-tracker.d.ts.map +1 -0
  22. package/dist/shared/interactivity/stream-usage-tracker.js +304 -0
  23. package/dist/shared/interactivity/stream-usage-tracker.js.map +1 -0
  24. package/dist/shared/interactivity/stream-variable.d.ts +6 -4
  25. package/dist/shared/interactivity/stream-variable.d.ts.map +1 -1
  26. package/dist/shared/interactivity/stream-variable.js +82 -101
  27. package/dist/shared/interactivity/stream-variable.js.map +1 -1
  28. package/dist/shared/interactivity/use-server-component.d.ts.map +1 -1
  29. package/dist/shared/interactivity/use-server-component.js +8 -1
  30. package/dist/shared/interactivity/use-server-component.js.map +1 -1
  31. package/dist/shared/interactivity/use-stream-subscription.d.ts +12 -0
  32. package/dist/shared/interactivity/use-stream-subscription.d.ts.map +1 -0
  33. package/dist/shared/interactivity/use-stream-subscription.js +40 -0
  34. package/dist/shared/interactivity/use-stream-subscription.js.map +1 -0
  35. package/dist/shared/interactivity/use-variable.d.ts.map +1 -1
  36. package/dist/shared/interactivity/use-variable.js +8 -0
  37. package/dist/shared/interactivity/use-variable.js.map +1 -1
  38. package/dist/shared/utils/hashing.d.ts.map +1 -1
  39. package/dist/shared/utils/hashing.js +17 -1
  40. package/dist/shared/utils/hashing.js.map +1 -1
  41. package/dist/shared/utils/normalization.d.ts.map +1 -1
  42. package/dist/shared/utils/normalization.js +17 -1
  43. package/dist/shared/utils/normalization.js.map +1 -1
  44. package/dist/types/core.d.ts +12 -8
  45. package/dist/types/core.d.ts.map +1 -1
  46. package/dist/types/core.js.map +1 -1
  47. package/dist/umd/dara.core.umd.cjs +817 -381
  48. package/package.json +9 -9
@@ -15,6 +15,11 @@ export type Marker = {
15
15
  type: 'server_component';
16
16
  path: string;
17
17
  loopInstanceUid: string;
18
+ } | {
19
+ type: 'nested_loop_var';
20
+ path: string;
21
+ nestedIndex: number;
22
+ loopVarNested: string[];
18
23
  };
19
24
  /**
20
25
  * Get markers for injection points in a renderer
@@ -1 +1 @@
1
- {"version":3,"file":"templating.d.ts","sourceRoot":"","sources":["../../../js/components/for/templating.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAGjD,MAAM,MAAM,MAAM,GACZ;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChC;IACI,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;CAC3B,GACD;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAAC;AAgD1E;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,EAAE,CA8B3E;AAGD,eAAO,MAAM,YAAY,YAAY,CAAC;AACtC,eAAO,MAAM,cAAc,cAAc,CAAC;AAC1C,eAAO,MAAM,eAAe,eAAe,CAAC;AAE5C;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EACxD,QAAQ,EACR,OAAO,EACP,SAAS,EACT,OAAO,EACP,KAAK,EACL,WAAW,GACd,EAAE;IACC,QAAQ,EAAE,CAAC,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,GAAG,CAAC;IACf,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACvB,GAAG,CAAC,CA+CJ;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAQtE"}
1
+ {"version":3,"file":"templating.d.ts","sourceRoot":"","sources":["../../../js/components/for/templating.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,iBAAiB,EAAa,MAAM,SAAS,CAAC;AAG5D,MAAM,MAAM,MAAM,GACZ;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChC;IACI,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;CAC3B,GACD;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GAEnE;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AA+D9F;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,EAAE,CA6D3E;AAGD,eAAO,MAAM,YAAY,YAAY,CAAC;AACtC,eAAO,MAAM,cAAc,cAAc,CAAC;AAC1C,eAAO,MAAM,eAAe,eAAe,CAAC;AAE5C;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EACxD,QAAQ,EACR,OAAO,EACP,SAAS,EACT,OAAO,EACP,KAAK,EACL,WAAW,GACd,EAAE;IACC,QAAQ,EAAE,CAAC,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,GAAG,CAAC;IACf,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACvB,GAAG,CAAC,CAyDJ;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAQtE"}
@@ -1,10 +1,23 @@
1
1
  import cloneDeep from 'lodash/cloneDeep';
2
+ import get from 'lodash/get';
2
3
  import isPlainObject from 'lodash/isPlainObject';
3
4
  import set from 'lodash/set';
4
5
  import { nanoid } from 'nanoid';
5
6
  import * as React from 'react';
6
7
  import { resolveNested } from '../../shared/interactivity/nested';
7
8
  import { isAnnotatedAction, isDerivedVariable, isLoopVariable, isPyComponent } from '../../types/utils';
9
+ /**
10
+ * Check if a value is a variable with a nested array (Variable, DerivedVariable, StreamVariable)
11
+ */
12
+ function isVariableWithNested(value) {
13
+ return (value &&
14
+ typeof value === 'object' &&
15
+ '__typename' in value &&
16
+ typeof value.__typename === 'string' &&
17
+ value.__typename.includes('Variable') &&
18
+ 'nested' in value &&
19
+ Array.isArray(value.nested));
20
+ }
8
21
  /**
9
22
  * Create markers for a given scope and loop instance uid.
10
23
  * Used in the terminal case when we find a loop variable. Adds markers for the current action/derived variable/server component we're within.
@@ -51,6 +64,36 @@ export function getInjectionMarkers(renderer) {
51
64
  markers.push({ path: dotPath, nested: value.nested, type: 'loop_var' }, ...createMarkers(scope, value.uid));
52
65
  continue;
53
66
  }
67
+ // Check if this is a variable with a nested array containing LoopVariables
68
+ // (Variable, DerivedVariable, StreamVariable - but not LoopVariable itself)
69
+ if (isVariableWithNested(value) && !isLoopVariable(value)) {
70
+ for (let i = 0; i < value.nested.length; i++) {
71
+ const nestedKey = value.nested[i];
72
+ if (isLoopVariable(nestedKey)) {
73
+ markers.push({
74
+ type: 'nested_loop_var',
75
+ path: dotPath,
76
+ nestedIndex: i,
77
+ loopVarNested: nestedKey.nested,
78
+ });
79
+ // Also add derived_var/server_component markers if this variable needs separate caching
80
+ if (isDerivedVariable(value)) {
81
+ markers.push({
82
+ type: 'derived_var',
83
+ path: dotPath,
84
+ loopInstanceUid: nestedKey.uid,
85
+ });
86
+ }
87
+ if (isPyComponent(value)) {
88
+ markers.push({
89
+ type: 'server_component',
90
+ path: dotPath,
91
+ loopInstanceUid: nestedKey.uid,
92
+ });
93
+ }
94
+ }
95
+ }
96
+ }
54
97
  if (isPlainObject(value) || Array.isArray(value)) {
55
98
  const newScope = updateScope(scope, value, dotPath);
56
99
  // recurse into objects/arrays, keeping track of the path
@@ -100,6 +143,16 @@ export function applyMarkers({ renderer, markers, loopValue, itemKey, index, ite
100
143
  set(clonedRenderer, marker.path, value);
101
144
  break;
102
145
  }
146
+ case 'nested_loop_var': {
147
+ // Resolve LoopVariable inside a variable's nested array to a string key
148
+ const resolvedKey = resolveNested(loopValue, marker.loopVarNested);
149
+ // Replace the LoopVariable in the nested array with the resolved string
150
+ const variable = get(clonedRenderer, marker.path);
151
+ if (variable && Array.isArray(variable.nested)) {
152
+ variable.nested[marker.nestedIndex] = String(resolvedKey);
153
+ }
154
+ break;
155
+ }
103
156
  case 'action': {
104
157
  // regenerate uids for actions for the loading variables as well so they are separate
105
158
  set(clonedRenderer, `${marker.path}.loading.uid`, nanoid());
@@ -1 +1 @@
1
- {"version":3,"file":"templating.js","sourceRoot":"","sources":["../../../js/components/for/templating.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templating.js","sourceRoot":"","sources":["../../../js/components/for/templating.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Find Stream Variables
3
+ *
4
+ * Recursively walks a variable's dependency tree to find all StreamVariables.
5
+ * Used for tracking stream usage when components mount/unmount.
6
+ */
7
+ import { type AnyVariable, type StreamVariable } from '../../types';
8
+ /**
9
+ * Recursively find all StreamVariables in a variable's dependency tree.
10
+ *
11
+ * Handles all variable types:
12
+ * - DerivedVariable: walks `variables` array
13
+ * - SwitchVariable: walks `value`, `value_map`, `default`
14
+ * - StateVariable: walks `parent_variable`
15
+ * - SingleVariable: walks `default` (can be DerivedVariable via create_from_derived)
16
+ * - StreamVariable: collects it and walks its `variables` array
17
+ *
18
+ * @param variable The variable to search
19
+ * @returns Array of all StreamVariables found in the dependency tree
20
+ */
21
+ export declare function findStreamVariables(variable: AnyVariable<unknown>): StreamVariable[];
22
+ /**
23
+ * Find all StreamVariables in an array of variables.
24
+ *
25
+ * @param variables Array of variables to search
26
+ * @returns Array of all unique StreamVariables found
27
+ */
28
+ export declare function findStreamVariablesInArray(variables: unknown[]): StreamVariable[];
29
+ //# sourceMappingURL=find-stream-variables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-stream-variables.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/find-stream-variables.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACH,KAAK,WAAW,EAChB,KAAK,cAAc,EAOtB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,cAAc,EAAE,CA6DpF;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,CAiBjF"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Find Stream Variables
3
+ *
4
+ * Recursively walks a variable's dependency tree to find all StreamVariables.
5
+ * Used for tracking stream usage when components mount/unmount.
6
+ */
7
+ import { isCondition, isDerivedVariable, isStateVariable, isStreamVariable, isSwitchVariable, isVariable, } from '../../types';
8
+ /**
9
+ * Recursively find all StreamVariables in a variable's dependency tree.
10
+ *
11
+ * Handles all variable types:
12
+ * - DerivedVariable: walks `variables` array
13
+ * - SwitchVariable: walks `value`, `value_map`, `default`
14
+ * - StateVariable: walks `parent_variable`
15
+ * - SingleVariable: walks `default` (can be DerivedVariable via create_from_derived)
16
+ * - StreamVariable: collects it and walks its `variables` array
17
+ *
18
+ * @param variable The variable to search
19
+ * @returns Array of all StreamVariables found in the dependency tree
20
+ */
21
+ export function findStreamVariables(variable) {
22
+ const streams = [];
23
+ const visited = new Set();
24
+ function walk(v) {
25
+ if (!isVariable(v)) {
26
+ return;
27
+ }
28
+ // Prevent infinite loops from circular dependencies
29
+ if (visited.has(v.uid)) {
30
+ return;
31
+ }
32
+ visited.add(v.uid);
33
+ if (isStreamVariable(v)) {
34
+ streams.push(v);
35
+ // Also walk stream's own dependencies (stream can depend on other variables)
36
+ if (v.variables && Array.isArray(v.variables)) {
37
+ v.variables.forEach(walk);
38
+ }
39
+ return;
40
+ }
41
+ if (isDerivedVariable(v)) {
42
+ if (v.variables && Array.isArray(v.variables)) {
43
+ v.variables.forEach(walk);
44
+ }
45
+ return;
46
+ }
47
+ if (isSwitchVariable(v)) {
48
+ // value can be Variable or Condition (which has .variable)
49
+ if (isVariable(v.value)) {
50
+ walk(v.value);
51
+ }
52
+ else if (isCondition(v.value)) {
53
+ walk(v.value.variable);
54
+ }
55
+ // value_map is Record<string, Variable> - walk all values
56
+ if (v.value_map && typeof v.value_map === 'object') {
57
+ Object.values(v.value_map).forEach(walk);
58
+ }
59
+ if (isVariable(v.default)) {
60
+ walk(v.default);
61
+ }
62
+ return;
63
+ }
64
+ if (isStateVariable(v)) {
65
+ walk(v.parent_variable);
66
+ return;
67
+ }
68
+ // SingleVariable (plain variable) - default can be DerivedVariable
69
+ if ('default' in v && isVariable(v.default)) {
70
+ walk(v.default);
71
+ }
72
+ }
73
+ walk(variable);
74
+ return streams;
75
+ }
76
+ /**
77
+ * Find all StreamVariables in an array of variables.
78
+ *
79
+ * @param variables Array of variables to search
80
+ * @returns Array of all unique StreamVariables found
81
+ */
82
+ export function findStreamVariablesInArray(variables) {
83
+ const allStreams = [];
84
+ const seenUids = new Set();
85
+ for (const v of variables) {
86
+ if (isVariable(v)) {
87
+ const streams = findStreamVariables(v);
88
+ for (const stream of streams) {
89
+ if (!seenUids.has(stream.uid)) {
90
+ seenUids.add(stream.uid);
91
+ allStreams.push(stream);
92
+ }
93
+ }
94
+ }
95
+ }
96
+ return allStreams;
97
+ }
98
+ //# sourceMappingURL=find-stream-variables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-stream-variables.js","sourceRoot":"","sources":["../../../js/shared/interactivity/find-stream-variables.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,25 @@
1
+ import type { NestedKey } from '../../types/core';
1
2
  /**
2
3
  * Resolve the value of the variable using it's optional nested
3
4
  *
5
+ * By the time this function is called, templating should have resolved any LoopVariables
6
+ * in the nested array to strings. This function accepts NestedKey[] for type compatibility
7
+ * but expects all elements to be strings at runtime.
8
+ *
4
9
  * @param obj an object to resolve from
5
- * @param nested a list of keys to resolve
10
+ * @param nested a list of keys to resolve (should be strings after templating)
6
11
  */
7
- export declare function resolveNested<T extends Record<string, any>>(obj: T, nested: string[]): any;
12
+ export declare function resolveNested<T extends Record<string, any>>(obj: T, nested: NestedKey[]): any;
8
13
  /**
9
14
  * Set a nested value inside a given object.
10
15
  *
16
+ * By the time this function is called, templating should have resolved any LoopVariables
17
+ * in the nested array to strings. This function accepts NestedKey[] for type compatibility
18
+ * but expects all elements to be strings at runtime.
19
+ *
11
20
  * @param obj an object to set the value of
12
- * @param nested a list of keys pointing at the value to set
21
+ * @param nested a list of keys pointing at the value to set (should be strings after templating)
13
22
  * @param newValue a new value to set
14
23
  */
15
- export declare function setNested<T extends Record<string, any>>(obj: T, nested: string[], newValue: unknown): T;
24
+ export declare function setNested<T extends Record<string, any>>(obj: T, nested: NestedKey[], newValue: unknown): T;
16
25
  //# sourceMappingURL=nested.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nested.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/nested.tsx"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAuB1F;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,GAAG,CAAC,CAuBvG"}
1
+ {"version":3,"file":"nested.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/nested.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CA0B7F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,OAAO,GAAG,CAAC,CAuB1G"}
@@ -3,8 +3,12 @@ import cloneDeep from 'lodash/cloneDeep';
3
3
  /**
4
4
  * Resolve the value of the variable using it's optional nested
5
5
  *
6
+ * By the time this function is called, templating should have resolved any LoopVariables
7
+ * in the nested array to strings. This function accepts NestedKey[] for type compatibility
8
+ * but expects all elements to be strings at runtime.
9
+ *
6
10
  * @param obj an object to resolve from
7
- * @param nested a list of keys to resolve
11
+ * @param nested a list of keys to resolve (should be strings after templating)
8
12
  */
9
13
  export function resolveNested(obj, nested) {
10
14
  // Nested not provided
@@ -17,19 +21,25 @@ export function resolveNested(obj, nested) {
17
21
  }
18
22
  let returnVal = obj;
19
23
  for (const key of nested) {
24
+ // After templating, all keys are guaranteed to be strings
25
+ const stringKey = key;
20
26
  // If the key doesn't exist, return null as we're referring to a path which doesn't exist yet
21
- if (!Object.keys(returnVal).includes(key)) {
27
+ if (!Object.keys(returnVal).includes(stringKey)) {
22
28
  return null;
23
29
  }
24
- returnVal = returnVal[key];
30
+ returnVal = returnVal[stringKey];
25
31
  }
26
32
  return returnVal;
27
33
  }
28
34
  /**
29
35
  * Set a nested value inside a given object.
30
36
  *
37
+ * By the time this function is called, templating should have resolved any LoopVariables
38
+ * in the nested array to strings. This function accepts NestedKey[] for type compatibility
39
+ * but expects all elements to be strings at runtime.
40
+ *
31
41
  * @param obj an object to set the value of
32
- * @param nested a list of keys pointing at the value to set
42
+ * @param nested a list of keys pointing at the value to set (should be strings after templating)
33
43
  * @param newValue a new value to set
34
44
  */
35
45
  export function setNested(obj, nested, newValue) {
@@ -43,7 +53,7 @@ export function setNested(obj, nested, newValue) {
43
53
  }
44
54
  // Need to clone to prevent reference issues
45
55
  const cloned = clone(obj);
46
- // If the key doesn't exist, create an empty object in case we're setting a nested value
56
+ // After templating, all keys are guaranteed to be strings
47
57
  const key = nested[0];
48
58
  if (!Object.keys(obj).includes(key)) {
49
59
  cloned[key] = {};
@@ -1 +1 @@
1
- {"version":3,"file":"nested.js","sourceRoot":"","sources":["../../../js/shared/interactivity/nested.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,cAAc,CAAC;AACjC,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAgC,GAAM,EAAE,MAAgB;IACjF,sBAAsB;IACtB,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,GAAG,CAAC;IACf,CAAC;IAED,gBAAgB;IAChB,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC5D,OAAO,GAAG,CAAC;IACf,CAAC;IAED,IAAI,SAAS,GAAG,GAAG,CAAC;IAEpB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACvB,6FAA6F;QAC7F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAgC,GAAM,EAAE,MAAgB,EAAE,QAAiB;IAChG,sBAAsB;IACtB,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,gBAAgB;IAChB,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC5D,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,4CAA4C;IAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAE1B,wFAAwF;IACxF,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;IACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,MAAc,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAC9B,CAAC;IAEA,MAAc,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAE1G,OAAO,MAAM,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"nested.js","sourceRoot":"","sources":["../../../js/shared/interactivity/nested.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,cAAc,CAAC;AACjC,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAIzC;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAgC,GAAM,EAAE,MAAmB;IACpF,sBAAsB;IACtB,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,GAAG,CAAC;IACf,CAAC;IAED,gBAAgB;IAChB,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC5D,OAAO,GAAG,CAAC;IACf,CAAC;IAED,IAAI,SAAS,GAAG,GAAG,CAAC;IAEpB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACvB,0DAA0D;QAC1D,MAAM,SAAS,GAAG,GAAa,CAAC;QAEhC,6FAA6F;QAC7F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,SAAS,CAAgC,GAAM,EAAE,MAAmB,EAAE,QAAiB;IACnG,sBAAsB;IACtB,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,gBAAgB;IAChB,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC5D,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,4CAA4C;IAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IAE1B,0DAA0D;IAC1D,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAW,CAAC;IAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,MAAc,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAC9B,CAAC;IAEA,MAAc,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAE1G,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"plain-variable.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/plain-variable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAmB,KAAK,WAAW,EAAE,KAAK,QAAQ,EAA8B,MAAM,QAAQ,CAAC;AAEtG,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,KAAK,aAAa,EAA6B,MAAM,YAAY,CAAC;AAE3E,OAAO,EACH,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EAGtB,MAAM,SAAS,CAAC;AASjB;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,EACxC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,EAC3B,QAAQ,EAAE,wBAAwB,EAClC,WAAW,EAAE,iBAAiB,EAC9B,MAAM,EAAE,aAAa,GACtB,WAAW,CAAC,CAAC,CAAC,CAuJhB;AAED,wBAAgB,0BAA0B,CAAC,CAAC,EACxC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,EAC3B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GACvB,eAAe,GAAG,CAAC,CAoBrB"}
1
+ {"version":3,"file":"plain-variable.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/plain-variable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAmB,KAAK,WAAW,EAAE,KAAK,QAAQ,EAA8B,MAAM,QAAQ,CAAC;AAEtG,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,KAAK,aAAa,EAA6B,MAAM,YAAY,CAAC;AAE3E,OAAO,EACH,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EAGtB,MAAM,SAAS,CAAC;AASjB;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,EACxC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,EAC3B,QAAQ,EAAE,wBAAwB,EAClC,WAAW,EAAE,iBAAiB,EAC9B,MAAM,EAAE,aAAa,GACtB,WAAW,CAAC,CAAC,CAAC,CAkJhB;AAED,wBAAgB,0BAA0B,CAAC,CAAC,EACxC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,EAC3B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GACvB,eAAe,GAAG,CAAC,CAoBrB"}
@@ -109,11 +109,13 @@ export function getOrRegisterPlainVariable(variable, wsClient, taskContext, extr
109
109
  selectorFamilyRegistry.set(key, selectorFamily({
110
110
  get: (currentExtras) => ({ get }) => {
111
111
  const variableValue = get(family(currentExtras));
112
- return resolveNested(variableValue, variable.nested.map((n) => String(n)));
112
+ // After templating, all nested keys are guaranteed to be strings
113
+ return resolveNested(variableValue, variable.nested);
113
114
  },
114
115
  key,
115
116
  set: (currentExtras) => ({ set }, newValue) => {
116
- set(family(currentExtras), (v) => setNested(v, variable.nested.map((n) => String(n)), newValue));
117
+ // After templating, all nested keys are guaranteed to be strings
118
+ set(family(currentExtras), (v) => setNested(v, variable.nested, newValue));
117
119
  },
118
120
  }));
119
121
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plain-variable.js","sourceRoot":"","sources":["../../../js/shared/interactivity/plain-variable.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plain-variable.js","sourceRoot":"","sources":["../../../js/shared/interactivity/plain-variable.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-variable.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/resolve-variable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEzD,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EACH,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAU9B,MAAM,SAAS,CAAC;AAOjB;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM;CAI9B;AAED,wBAAsB,eAAe,CAAC,YAAY,EAC9C,QAAQ,EAAE,WAAW,CAAC,YAAY,CAAC,EACnC,MAAM,EAAE,wBAAwB,EAChC,WAAW,EAAE,iBAAiB,EAC9B,MAAM,EAAE,aAAa,EACrB,QAAQ,GAAE,CACN,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC,KAC/B,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,uBAAuB,GAAG,YAAY,CAAqC,GACrH,OAAO,CACN,WAAW,CAAC,YAAY,CAAC,GAAG,uBAAuB,GAAG,sBAAsB,GAAG,sBAAsB,GAAG,YAAY,CACvH,CA0EA;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CA0EjH;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,GAAG,CAuBhF;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAQ9G;AAED;;;;;;GAMG;AAEH,wBAAgB,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,GAAG,uBAAuB,CAAC,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,GAAG,EAAE,CAE/G"}
1
+ {"version":3,"file":"resolve-variable.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/resolve-variable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEzD,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EACH,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAU9B,MAAM,SAAS,CAAC;AAOjB;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM;CAI9B;AAED,wBAAsB,eAAe,CAAC,YAAY,EAC9C,QAAQ,EAAE,WAAW,CAAC,YAAY,CAAC,EACnC,MAAM,EAAE,wBAAwB,EAChC,WAAW,EAAE,iBAAiB,EAC9B,MAAM,EAAE,aAAa,EACrB,QAAQ,GAAE,CACN,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC,KAC/B,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,uBAAuB,GAAG,YAAY,CAAqC,GACrH,OAAO,CACN,WAAW,CAAC,YAAY,CAAC,GAAG,uBAAuB,GAAG,sBAAsB,GAAG,sBAAsB,GAAG,YAAY,CACvH,CA2EA;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CA2EjH;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,GAAG,CAuBhF;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAQ9G;AAED;;;;;;GAMG;AAEH,wBAAgB,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,GAAG,uBAAuB,CAAC,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,GAAG,EAAE,CAE/G"}
@@ -49,6 +49,7 @@ export function resolveVariable(variable_1, client_1, taskContext_1, extras_1) {
49
49
  type: 'derived',
50
50
  uid: variable.uid,
51
51
  values,
52
+ // After templating, nested should be all strings
52
53
  nested: variable.nested,
53
54
  };
54
55
  }
@@ -108,6 +109,7 @@ export function resolveVariableStatic(variable, snapshot, params) {
108
109
  type: 'derived',
109
110
  uid: variable.uid,
110
111
  values,
112
+ // After templating, nested should be all strings
111
113
  nested: variable.nested,
112
114
  };
113
115
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-variable.js","sourceRoot":"","sources":["../../../js/shared/interactivity/resolve-variable.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-variable.js","sourceRoot":"","sources":["../../../js/shared/interactivity/resolve-variable.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAmC,MAAM,QAAQ,CAAC;AAEzD,OAAO,EAAiC,MAAM,OAAO,CAAC;AACtD,OAAO,EAAsB,MAAM,YAAY,CAAC;AAChD,OAAO,EAMH,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,GACb,MAAM,SAAS,CAAC;AAEjB,2CAA2C;AAC3C,OAAO,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAClH,OAAO,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AACpH,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAEhE;;;GAGG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACvC,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACnC,CAAC;CACJ;AAED,MAAM,UAAgB,eAAe;yDACjC,QAAmC,EACnC,MAAgC,EAChC,WAA8B,EAC9B,MAAqB,EACrB,WAEmF,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAIpH,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;YAEpE,6DAA6D;YAC7D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5B,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAC3F,CAAC;YAEF,4CAA4C;YAC5C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAEhG,OAAO;gBACH,IAAI;gBACJ,IAAI,EAAE,SAAS;gBACf,GAAG,EAAE,QAAQ,CAAC,GAAG;gBACjB,MAAM;gBACN,iDAAiD;gBACjD,MAAM,EAAE,QAAQ,CAAC,MAAkB;aACJ,CAAC;QACxC,CAAC;QAED,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,2BAA2B,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC9C,OAAO,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,iEAAiE;YACjE,sEAAsE;YACtE,IAAI,aAAa,GACb,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBACxB,MAAM,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC;gBAChF,CAAC,CAAG,QAAQ,CAAC,KAAK,CAAC;YAEvB,0DAA0D;YAC1D,IAAI,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC7B,aAAa,mCACN,aAAa,KAChB,QAAQ,EAAE,CAAC,MAAM,eAAe,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAQ,GAC1G,CAAC;YACN,CAAC;YAED,MAAM,gBAAgB,GAClB,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC5B,MAAM,eAAe,CAAC,QAAQ,CAAC,SAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC;gBAC3F,CAAC,CAAG,QAAQ,CAAC,SAAS,CAAC;YAC3B,MAAM,eAAe,GACjB,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC1B,MAAM,eAAe,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC;gBAClF,CAAC,CAAG,QAAQ,CAAC,OAAO,CAAC;YAEzB,OAAO;gBACH,IAAI,EAAE,QAAQ;gBACd,GAAG,EAAE,QAAQ,CAAC,GAAG;gBACjB,KAAK,EAAE,aAAa;gBACpB,SAAS,EAAE,gBAAgB;gBAC3B,OAAO,EAAE,eAAe;aACM,CAAC;QACvC,CAAC;QAED,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,mFAAmF;YACnF,sDAAsD;YACtD,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;QACvG,CAAC;QAED,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,4EAA4E;YAC5E,OAAO,QAAQ,CACX,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAA8B,CAClG,CAAC;QACN,CAAC;QAED,OAAO,QAAQ,CAAC,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IACvF,CAAC;CAAA;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAA0B,EAAE,QAAkB,EAAE,MAAsB;IACxG,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,6DAA6D;QAC7D,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QAEzF,4CAA4C;QAC5C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAEhG,OAAO;YACH,IAAI;YACJ,IAAI,EAAE,SAAS;YACf,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,MAAM;YACN,iDAAiD;YACjD,MAAM,EAAE,QAAQ,CAAC,MAAkB;SACJ,CAAC;IACxC,CAAC;IAED,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,2BAA2B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,iEAAiE;QACjE,sEAAsE;QACtE,IAAI,aAAa,GACb,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAE1G,0DAA0D;QAC1D,IAAI,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7B,aAAa,mCACN,aAAa,KAChB,QAAQ,EAAE,qBAAqB,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,GAC5E,CAAC;QACN,CAAC;QAED,MAAM,gBAAgB,GAClB,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;YAC5B,qBAAqB,CAAC,QAAQ,CAAC,SAAgB,EAAE,QAAQ,EAAE,MAAM,CAAC;YACtE,CAAC,CAAG,QAAQ,CAAC,SAAS,CAAC;QAC3B,MAAM,eAAe,GACjB,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAEhH,OAAO;YACH,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,KAAK,EAAE,aAAa;YACpB,SAAS,EAAE,gBAAgB;YAC3B,OAAO,EAAE,eAAe;SACM,CAAC;IACvC,CAAC;IAED,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,0FAA0F;QAC1F,MAAM,IAAI,gBAAgB,CACtB,gEAAgE;YAC5D,6FAA6F,CACpG,CAAC;IACN,CAAC;IAED,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,6EAA6E;QAC7E,MAAM,IAAI,gBAAgB,CACtB,iEAAiE;YAC7D,wFAAwF,CAC/F,CAAC;IACN,CAAC;IAED,iBAAiB;IACjB,IAAI,MAAM,GAAG,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACpE,kFAAkF;IAClF,OAAO,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,MAAM,GAAG,qBAAqB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,KAAc,EAAE,gBAAgC;IACvE,IAAI,yBAAyB,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,EAAE,IAAI,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAAzB,QAAiB,CAAQ,CAAC;QAChC,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7D,uCACO,IAAI;YACP,4FAA4F;YAC5F,SAAS,EAAE,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,EACxD,MAAM,EAAE,aAAa,IACvB;IACN,CAAC;IAED,IAAI,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,uCACO,KAAK,KACR,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,gBAAgB,CAAC,EAChD,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,EACxD,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,IACtD;IACN,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,MAA2B,EAAE,gBAAgC;IACrF,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAC7B,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACP,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;QACjD,OAAO,GAAG,CAAC;IACf,CAAC,EACD,EAAyB,CAC5B,CAAC;AACN,CAAC;AAED;;;;;;GAMG;AACH,6EAA6E;AAC7E,MAAM,UAAU,SAAS,CAAC,MAA4C,EAAE,gBAAgC;IACpG,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAClE,CAAC"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Stream Usage Tracker
3
+ *
4
+ * Tracks which stream variables are actively used by components via useEffect.
5
+ * This is the ONLY reliable signal for component lifecycle (not render-time).
6
+ *
7
+ * Architecture:
8
+ * 1. Atom effect starts SSE immediately and registers a cleanup callback
9
+ * 2. Components register via useEffect (increment count)
10
+ * 3. Components unregister via useEffect cleanup (decrement count)
11
+ * 4. When count hits 0 → debounce → call cleanup callbacks → SSE stops
12
+ *
13
+ * The atom effect cleanup is NOT reliable (Recoil caching), so we actively
14
+ * manage cleanup from here when components unregister.
15
+ *
16
+ * Subscriptions are keyed by uid+extras to handle different auth contexts
17
+ * using the same variable independently.
18
+ */
19
+ import { type RequestExtras } from '../../api/http';
20
+ interface StreamConnection {
21
+ /** Function to start/restart the SSE connection, returns cleanup and controller */
22
+ start: () => {
23
+ cleanup: () => void;
24
+ controller: AbortController;
25
+ };
26
+ /** Cleanup function to abort SSE connection (set when start() is called) */
27
+ cleanup?: () => void;
28
+ /** AbortController for this connection (for direct abort access) */
29
+ controller?: AbortController;
30
+ /** Whether connection is currently active */
31
+ active: boolean;
32
+ }
33
+ interface StreamUsage {
34
+ /** Number of components actively subscribed (via useEffect) */
35
+ count: number;
36
+ /** Timer for debounced cleanup when count reaches 0 */
37
+ cleanupTimer?: ReturnType<typeof setTimeout>;
38
+ /** Timer for orphan cleanup when connection registers but no subscription arrives */
39
+ orphanTimer?: ReturnType<typeof setTimeout>;
40
+ /** Registered connections for this uid (atomKey -> connection) */
41
+ connections: Map<string, StreamConnection>;
42
+ }
43
+ /**
44
+ * Abort an existing connection for the given atomKey, if one exists.
45
+ * Called before starting a new connection to ensure no duplicates.
46
+ *
47
+ * @param atomKey Unique key for the connection (serialized params)
48
+ * @returns true if a connection was aborted, false otherwise
49
+ */
50
+ export declare function abortExistingConnection(atomKey: string): boolean;
51
+ /**
52
+ * Register a stream connection from atom effect.
53
+ * The start function is called immediately, and will be called again
54
+ * if the connection needs to restart after cleanup.
55
+ *
56
+ * @param uid Stream variable uid
57
+ * @param extras Request extras (auth headers, etc.)
58
+ * @param atomKey Unique key for this connection (serialized params)
59
+ * @param start Function to start the SSE connection, returns { cleanup, controller }
60
+ * @returns Unregister function (backup cleanup, not relied upon)
61
+ */
62
+ export declare function registerStreamConnection(uid: string, extras: RequestExtras, atomKey: string, start: () => {
63
+ cleanup: () => void;
64
+ controller: AbortController;
65
+ }): () => void;
66
+ /**
67
+ * Subscribe to a stream. Call this from component useEffect.
68
+ *
69
+ * @param uid Stream variable uid
70
+ * @param extras Request extras (auth headers, etc.)
71
+ * @returns Unsubscribe function to call in useEffect cleanup
72
+ */
73
+ export declare function subscribeStream(uid: string, extras: RequestExtras): () => void;
74
+ /**
75
+ * Check if a stream has active subscribers.
76
+ */
77
+ export declare function isStreamActive(uid: string, extras: RequestExtras): boolean;
78
+ /**
79
+ * Get subscriber count for a stream.
80
+ */
81
+ export declare function getStreamSubscriberCount(uid: string, extras: RequestExtras): number;
82
+ /**
83
+ * Force cleanup all streams. Useful for testing or app shutdown.
84
+ */
85
+ export declare function cleanupAllStreams(): void;
86
+ /**
87
+ * Clear all stream usage tracking. Used for testing.
88
+ */
89
+ export declare function clearStreamUsage_TEST(): void;
90
+ /**
91
+ * Get total count of active connections across all subscription keys.
92
+ * Useful for testing.
93
+ */
94
+ export declare function getActiveConnectionCount(): number;
95
+ /**
96
+ * Get all active connection keys (atomKeys).
97
+ * Useful for testing.
98
+ */
99
+ export declare function getActiveConnectionKeys(): string[];
100
+ /**
101
+ * Get the AbortController for a specific atomKey, if active.
102
+ * Useful for testing.
103
+ */
104
+ export declare function getConnectionController(atomKey: string): AbortController | undefined;
105
+ /**
106
+ * Internal exports for testing
107
+ */
108
+ export declare const _internal: {
109
+ streamUsage: Map<string, StreamUsage>;
110
+ PAUSE_DEBOUNCE_MS: number;
111
+ ORPHAN_TIMEOUT_MS: number;
112
+ };
113
+ export {};
114
+ //# sourceMappingURL=stream-usage-tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-usage-tracker.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/stream-usage-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAgBhD,UAAU,gBAAgB;IACtB,mFAAmF;IACnF,KAAK,EAAE,MAAM;QAAE,OAAO,EAAE,MAAM,IAAI,CAAC;QAAC,UAAU,EAAE,eAAe,CAAA;KAAE,CAAC;IAClE,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,oEAAoE;IACpE,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,6CAA6C;IAC7C,MAAM,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,WAAW;IACjB,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,YAAY,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAC7C,qFAAqF;IACrF,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAC5C,kEAAkE;IAClE,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC9C;AAwED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAahE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACpC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM;IAAE,OAAO,EAAE,MAAM,IAAI,CAAC;IAAC,UAAU,EAAE,eAAe,CAAA;CAAE,GAClE,MAAM,IAAI,CAkDZ;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,MAAM,IAAI,CAuC9E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAI1E;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,MAAM,CAGnF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAexC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAUjD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CAUlD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAQpF;AAED;;GAEG;AACH,eAAO,MAAM,SAAS;;;;CAIrB,CAAC"}