@darajs/core 1.24.3 → 1.25.1
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.
- package/dist/actions/reset-variables.d.ts.map +1 -1
- package/dist/actions/reset-variables.js +4 -1
- package/dist/actions/reset-variables.js.map +1 -1
- package/dist/components/for/templating.d.ts +5 -0
- package/dist/components/for/templating.d.ts.map +1 -1
- package/dist/components/for/templating.js +53 -0
- package/dist/components/for/templating.js.map +1 -1
- package/dist/{dara_core-1.24.3-py3-none-any.whl → dara_core-1.25.1-py3-none-any.whl} +0 -0
- package/dist/router/fetching.d.ts.map +1 -1
- package/dist/router/fetching.js +63 -31
- package/dist/router/fetching.js.map +1 -1
- package/dist/shared/interactivity/derived-variable.d.ts +8 -1
- package/dist/shared/interactivity/derived-variable.d.ts.map +1 -1
- package/dist/shared/interactivity/derived-variable.js +2 -2
- package/dist/shared/interactivity/derived-variable.js.map +1 -1
- package/dist/shared/interactivity/internal.d.ts +1 -0
- package/dist/shared/interactivity/internal.d.ts.map +1 -1
- package/dist/shared/interactivity/internal.js +1 -0
- package/dist/shared/interactivity/internal.js.map +1 -1
- package/dist/shared/interactivity/nested.d.ts +13 -4
- package/dist/shared/interactivity/nested.d.ts.map +1 -1
- package/dist/shared/interactivity/nested.js +15 -5
- package/dist/shared/interactivity/nested.js.map +1 -1
- package/dist/shared/interactivity/plain-variable.d.ts.map +1 -1
- package/dist/shared/interactivity/plain-variable.js +4 -2
- package/dist/shared/interactivity/plain-variable.js.map +1 -1
- package/dist/shared/interactivity/resolve-variable.d.ts +7 -0
- package/dist/shared/interactivity/resolve-variable.d.ts.map +1 -1
- package/dist/shared/interactivity/resolve-variable.js +26 -4
- package/dist/shared/interactivity/resolve-variable.js.map +1 -1
- package/dist/shared/interactivity/store.d.ts +6 -0
- package/dist/shared/interactivity/store.d.ts.map +1 -1
- package/dist/shared/interactivity/store.js +16 -0
- package/dist/shared/interactivity/store.js.map +1 -1
- package/dist/shared/interactivity/stream-variable.d.ts +137 -0
- package/dist/shared/interactivity/stream-variable.d.ts.map +1 -0
- package/dist/shared/interactivity/stream-variable.js +522 -0
- package/dist/shared/interactivity/stream-variable.js.map +1 -0
- package/dist/shared/interactivity/use-variable.d.ts.map +1 -1
- package/dist/shared/interactivity/use-variable.js +12 -2
- package/dist/shared/interactivity/use-variable.js.map +1 -1
- package/dist/shared/utils/hashing.d.ts.map +1 -1
- package/dist/shared/utils/hashing.js +17 -1
- package/dist/shared/utils/hashing.js.map +1 -1
- package/dist/shared/utils/normalization.d.ts +1 -0
- package/dist/shared/utils/normalization.d.ts.map +1 -1
- package/dist/shared/utils/normalization.js +21 -1
- package/dist/shared/utils/normalization.js.map +1 -1
- package/dist/types/core.d.ts +19 -8
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/core.js.map +1 -1
- package/dist/types/utils.d.ts +7 -1
- package/dist/types/utils.d.ts.map +1 -1
- package/dist/types/utils.js +8 -0
- package/dist/types/utils.js.map +1 -1
- package/dist/umd/dara.core.umd.cjs +1060 -311
- package/package.json +10 -9
|
@@ -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;
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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":"AACA,OAAO,EAAoD,UAAU,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAEtG,OAAO,EAAiC,MAAM,OAAO,CAAC;AACtD,OAAO,EAAsB,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAIH,iBAAiB,EACjB,gBAAgB,GACnB,MAAM,SAAS,CAAC;AAEjB,2CAA2C;AAC3C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,4BAA4B,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvG,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEhH,MAAM,kBAAkB,GAAG,IAAI,iBAAiB,EAAE,CAAC;AAEnD;;;;;;;;;GASG;AACH,MAAM,UAAU,0BAA0B,CACtC,QAA2B,EAC3B,QAAkC,EAClC,WAA8B,EAC9B,MAAqB;IAErB,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/D,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE7D,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACxC,kBAAkB,CAAC,GAAG,CAClB,QAAQ,CAAC,GAAG,EACZ,UAAU,CAAC;YACP;;;;;;;cAOE;YACF,OAAO,EACH,gBAAgB,CAAC,CAAC;gBACd,CAAC,kBAA6C,EAAE,EAAE,CAC9C,4BAA4B,CACxB,QAAQ,CAAC,OAA0B,EACnC,QAAQ,EACR,WAAW,EACX,kBAAkB,CAAC,MAAM,CAC5B;gBACT,CAAC,CAAG,QAAQ,CAAC,OAAO;YACxB,OAAO,EAAE,CAAC,kBAA6C,EAAE,EAAE;gBACvD,MAAM,UAAU,GAAkB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE;oBACtE,wEAAwE;oBACxE,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBACjD,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAChE,CAAC;yBAAM,CAAC;wBACJ,MAAM,YAAY,GAAG,kBAAkB,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBAEtE,IAAI,CAAC,gBAAgB,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,MAAK,SAAS,EAAE,CAAC;4BACxD,2CAA2C;4BAC3C,2EAA2E;4BAC3E,6FAA6F;4BAC7F,OAAO,CAAC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,CAAC,CAAC;wBACjC,CAAC;oBACL,CAAC;oBAED,sDAAsD;oBACtD,MAAM,KAAK,GAAG,kBAAkB,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE;wBAChE,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;4BAC5B,OAAO;wBACX,CAAC;wBAED,kCAAkC;wBAClC,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;4BAC9B,OAAO;wBACX,CAAC;wBAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;4BACjB,SAAS,EAAE,CAAC;wBAChB,CAAC;6BAAM,CAAC;4BACJ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAC1B,CAAC;oBACL,CAAC,CAAC,CAAC;oBAEH,KAAK,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;wBAClC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE;4BACpC,OAAO;4BACP,OAAO,EAAE,IAAI,CAAC,GAAG;4BACjB,QAAQ;4BACR,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,QAAQ;yBAClB,CAAC,CAAC;oBACP,CAAC,CAAC,CAAC;oBAEH,OAAO,KAAK,CAAC;gBACjB,CAAC,CAAC;gBAEF,MAAM,OAAO,GAAoB,CAAC,UAAU,CAAC,CAAC;gBAE9C,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACxC,IAAI,WAAW,EAAE,CAAC;oBACd,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;gBACnF,CAAC;qBAAM,IAAI,UAAU,EAAE,EAAE,CAAC;oBACtB,mFAAmF;oBACnF,8BAA8B;oBAC9B,OAAO,CAAC,IAAI,CACR,MAAM,CAAC,YAAY,CAAC,MAAM,CACtB,QAAkC,EAClC,kBAAkB,EAClB,QAAQ,EACR,WAAW,CACd,CACJ,CAAC;gBACN,CAAC;gBAED,OAAO,OAAO,CAAC;YACnB,CAAC;YACD,GAAG,EAAE,QAAQ,CAAC,GAAG;SACpB,CAAC,CACL,CAAC;IACN,CAAC;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAE,CAAC;IACrD,MAAM,kBAAkB,GAAG,IAAI,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACjE,MAAM,YAAY,GAAmB,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAEhE,0FAA0F;IAC1F,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACzC,yBAAyB,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,yBAAyB,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE,YAAY,CAAC,CAAC;IAEtF,4FAA4F;IAC5F,IAAI,QAAQ,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,cAAc,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAExD,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,iDAAiD;YACjD,gHAAgH;YAChH,4CAA4C;YAC5C,sBAAsB,CAAC,GAAG,CACtB,GAAG,EACH,cAAc,CAAC;gBACX,GAAG,EACC,CAAC,aAAwC,EAAE,EAAE,CAC7C,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;oBACR,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;oBAEjD,iEAAiE;oBACjE,OAAO,aAAa,CAAC,aAAa,EAAE,QAAQ,CAAC,MAAkB,CAAC,CAAC;gBACrE,CAAC;gBACL,GAAG;gBACH,GAAG,EACC,CAAC,aAAwC,EAAE,EAAE,CAC7C,CAAC,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE;oBAClB,iEAAiE;oBACjE,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAsB,EAAE,EAAE,CAClD,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAkB,EAAE,QAAQ,CAAC,CACtD,CAAC;gBACN,CAAC;aACR,CAAC,CACL,CAAC;QACN,CAAC;QACD,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;QAEhE,6CAA6C;QAC7C,OAAO,sBAAsB,CAAC,kBAAkB,CAAmB,CAAC;IACxE,CAAC;IAED,OAAO,YAAY,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,0BAA0B,CACtC,QAA2B,EAC3B,QAAkB,EAClB,MAAsB;IAEtB,gEAAgE;IAChE,IAAI,QAAQ,CAAC,KAAK,IAAI,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrD,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAO,CAAC;IACnD,CAAC;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAEpD,IAAI,MAAM,EAAE,CAAC;QACT,MAAM,kBAAkB,GAAG,IAAI,yBAAyB,CAAC,EAAE,CAAC,CAAC;QAC7D,MAAM,YAAY,GAAG,yBAAyB,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7F,IAAI,YAAY,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,UAAU,EAAE,CAAC;YAClE,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,CAAC,SAAS,YAAY,OAAO,CAAC,EAAE,CAAC;gBACxD,OAAO,SAAS,CAAC;YACrB,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC,OAAO,CAAC;AAC5B,CAAC"}
|
|
@@ -3,6 +3,13 @@ import { type RecoilState, type Snapshot } from 'recoil';
|
|
|
3
3
|
import { type WebSocketClientInterface } from '../../api';
|
|
4
4
|
import { type RequestExtras } from '../../api/http';
|
|
5
5
|
import { type AnyVariable, type GlobalTaskContext, type ResolvedDerivedVariable, type ResolvedServerVariable, type ResolvedSwitchVariable } from '../../types';
|
|
6
|
+
/**
|
|
7
|
+
* Error thrown when a variable cannot be resolved during preloading.
|
|
8
|
+
* This signals to the preloader to skip this variable and resolve it at runtime.
|
|
9
|
+
*/
|
|
10
|
+
export declare class PreloadSkipError extends Error {
|
|
11
|
+
constructor(message: string);
|
|
12
|
+
}
|
|
6
13
|
export declare function resolveVariable<VariableType>(variable: AnyVariable<VariableType>, client: WebSocketClientInterface, taskContext: GlobalTaskContext, extras: RequestExtras, resolver?: (state: RecoilState<VariableType>) => Promise<RecoilState<VariableType> | ResolvedDerivedVariable | VariableType>): Promise<RecoilState<VariableType> | ResolvedDerivedVariable | ResolvedServerVariable | ResolvedSwitchVariable | VariableType>;
|
|
7
14
|
/**
|
|
8
15
|
* Static variant of variable resolution.
|
|
@@ -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,
|
|
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"}
|
|
@@ -21,10 +21,21 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
21
21
|
import {} from 'recoil';
|
|
22
22
|
import {} from '../../api';
|
|
23
23
|
import {} from '../../api/http';
|
|
24
|
-
import { isCondition, isDerivedVariable, isResolvedDerivedVariable, isResolvedSwitchVariable, isServerVariable, isStateVariable, isSwitchVariable, isVariable, } from '../../types';
|
|
24
|
+
import { isCondition, isDerivedVariable, isResolvedDerivedVariable, isResolvedSwitchVariable, isServerVariable, isStateVariable, isStreamVariable, isSwitchVariable, isVariable, } from '../../types';
|
|
25
25
|
// eslint-disable-next-line import/no-cycle
|
|
26
26
|
import { getOrRegisterDerivedVariable, getOrRegisterPlainVariable, resolvePlainVariableStatic } from './internal';
|
|
27
27
|
import { getOrRegisterServerVariable, resolveServerVariable, resolveServerVariableStatic } from './server-variable';
|
|
28
|
+
import { getOrRegisterStreamVariable } from './stream-variable';
|
|
29
|
+
/**
|
|
30
|
+
* Error thrown when a variable cannot be resolved during preloading.
|
|
31
|
+
* This signals to the preloader to skip this variable and resolve it at runtime.
|
|
32
|
+
*/
|
|
33
|
+
export class PreloadSkipError extends Error {
|
|
34
|
+
constructor(message) {
|
|
35
|
+
super(message);
|
|
36
|
+
this.name = 'PreloadSkipError';
|
|
37
|
+
}
|
|
38
|
+
}
|
|
28
39
|
export function resolveVariable(variable_1, client_1, taskContext_1, extras_1) {
|
|
29
40
|
return __awaiter(this, arguments, void 0, function* (variable, client, taskContext, extras, resolver = (state) => Promise.resolve(state)) {
|
|
30
41
|
if (isDerivedVariable(variable)) {
|
|
@@ -38,6 +49,7 @@ export function resolveVariable(variable_1, client_1, taskContext_1, extras_1) {
|
|
|
38
49
|
type: 'derived',
|
|
39
50
|
uid: variable.uid,
|
|
40
51
|
values,
|
|
52
|
+
// After templating, nested should be all strings
|
|
41
53
|
nested: variable.nested,
|
|
42
54
|
};
|
|
43
55
|
}
|
|
@@ -74,6 +86,10 @@ export function resolveVariable(variable_1, client_1, taskContext_1, extras_1) {
|
|
|
74
86
|
// They should be handled by useVariable hook directly
|
|
75
87
|
throw new Error('StateVariable should not be resolved - it should be handled by useVariable hook');
|
|
76
88
|
}
|
|
89
|
+
if (isStreamVariable(variable)) {
|
|
90
|
+
// StreamVariable returns a Recoil selector that can be used as a dependency
|
|
91
|
+
return resolver(getOrRegisterStreamVariable(variable, client, taskContext, extras));
|
|
92
|
+
}
|
|
77
93
|
return resolver(getOrRegisterPlainVariable(variable, client, taskContext, extras));
|
|
78
94
|
});
|
|
79
95
|
}
|
|
@@ -93,6 +109,7 @@ export function resolveVariableStatic(variable, snapshot, params) {
|
|
|
93
109
|
type: 'derived',
|
|
94
110
|
uid: variable.uid,
|
|
95
111
|
values,
|
|
112
|
+
// After templating, nested should be all strings
|
|
96
113
|
nested: variable.nested,
|
|
97
114
|
};
|
|
98
115
|
}
|
|
@@ -120,9 +137,14 @@ export function resolveVariableStatic(variable, snapshot, params) {
|
|
|
120
137
|
};
|
|
121
138
|
}
|
|
122
139
|
if (isStateVariable(variable)) {
|
|
123
|
-
// StateVariables
|
|
124
|
-
|
|
125
|
-
|
|
140
|
+
// StateVariables cannot be preloaded - they track parent DerivedVariable state at runtime
|
|
141
|
+
throw new PreloadSkipError('StateVariable cannot be used in on_load actions or preloaded. ' +
|
|
142
|
+
'StateVariables track DerivedVariable loading/error state and are only available at runtime.');
|
|
143
|
+
}
|
|
144
|
+
if (isStreamVariable(variable)) {
|
|
145
|
+
// StreamVariables cannot be preloaded - they receive data via SSE at runtime
|
|
146
|
+
throw new PreloadSkipError('StreamVariable cannot be used in on_load actions or preloaded. ' +
|
|
147
|
+
'StreamVariables receive data via server-sent events and are only available at runtime.');
|
|
126
148
|
}
|
|
127
149
|
// plain variable
|
|
128
150
|
let result = resolvePlainVariableStatic(variable, snapshot, params);
|
|
@@ -1 +1 @@
|
|
|
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,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;
|
|
1
|
+
{"version":3,"file":"resolve-variable.js","sourceRoot":"","sources":["../../../js/shared/interactivity/resolve-variable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,12 @@ export declare const selectorFamilyRegistry: Map<string, SelectorFamily>;
|
|
|
37
37
|
* Stores all instances of a given selector family, as a map of seriailzed extras to selector.
|
|
38
38
|
*/
|
|
39
39
|
export declare const selectorFamilyMembersRegistry: Map<SelectorFamily, Map<string | null, RecoilValue<any>>>;
|
|
40
|
+
/**
|
|
41
|
+
* StreamVariable atom instances registry.
|
|
42
|
+
* Key is serialized StreamAtomParams, value is the atom instance.
|
|
43
|
+
* Used to track active stream connections and check if a stream variable is registered.
|
|
44
|
+
*/
|
|
45
|
+
export declare const streamAtomRegistry: Map<string, RecoilState<any>>;
|
|
40
46
|
/**
|
|
41
47
|
* Key -> dependencies data for a selector
|
|
42
48
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/store.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEvD,OAAO,EAAE,KAAK,WAAW,EAAiC,MAAM,SAAS,CAAC;AAE1E;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,EAAE,yBAAyB,KAAK,WAAW,CAAC,GAAG,CAAC,CAAC;AAEhF;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,yBAAyB,KAAK,WAAW,CAAC,GAAG,CAAC,CAAC;AAE5E;;GAEG;AACH,eAAO,MAAM,YAAY,+BAAsC,CAAC;AAChE;;GAEG;AACH,eAAO,MAAM,kBAAkB,yBAAgC,CAAC;AAChE;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,uDAA8D,CAAC;AACrG;;GAEG;AACH,eAAO,MAAM,gBAAgB,+BAAsC,CAAC;AACpE;;GAEG;AACH,eAAO,MAAM,sBAAsB,6BAAoC,CAAC;AACxE;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,2DAAkE,CAAC;AAC7G;;GAEG;AACH,eAAO,MAAM,YAAY;UAGX,GAAG,EAAE;YACH,GAAG;EAEhB,CAAC;AAEJ,MAAM,MAAM,iBAAiB,GAAG;IAC5B,4DAA4D;IAC5D,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,eAAe,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,SAAS,GAAG,SAAS,CAAC;AAO1G;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,GAAG,MAAM,CAUzF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/store.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEvD,OAAO,EAAE,KAAK,WAAW,EAAiC,MAAM,SAAS,CAAC;AAE1E;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,EAAE,yBAAyB,KAAK,WAAW,CAAC,GAAG,CAAC,CAAC;AAEhF;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,yBAAyB,KAAK,WAAW,CAAC,GAAG,CAAC,CAAC;AAE5E;;GAEG;AACH,eAAO,MAAM,YAAY,+BAAsC,CAAC;AAChE;;GAEG;AACH,eAAO,MAAM,kBAAkB,yBAAgC,CAAC;AAChE;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,uDAA8D,CAAC;AACrG;;GAEG;AACH,eAAO,MAAM,gBAAgB,+BAAsC,CAAC;AACpE;;GAEG;AACH,eAAO,MAAM,sBAAsB,6BAAoC,CAAC;AACxE;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,2DAAkE,CAAC;AAC7G;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,+BAAsC,CAAC;AACtE;;GAEG;AACH,eAAO,MAAM,YAAY;UAGX,GAAG,EAAE;YACH,GAAG;EAEhB,CAAC;AAEJ,MAAM,MAAM,iBAAiB,GAAG;IAC5B,4DAA4D;IAC5D,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,eAAe,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,SAAS,GAAG,SAAS,CAAC;AAO1G;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,GAAG,MAAM,CAUzF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAa3C;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAuCjE"}
|
|
@@ -30,6 +30,12 @@ export const selectorFamilyRegistry = new Map();
|
|
|
30
30
|
* Stores all instances of a given selector family, as a map of seriailzed extras to selector.
|
|
31
31
|
*/
|
|
32
32
|
export const selectorFamilyMembersRegistry = new Map();
|
|
33
|
+
/**
|
|
34
|
+
* StreamVariable atom instances registry.
|
|
35
|
+
* Key is serialized StreamAtomParams, value is the atom instance.
|
|
36
|
+
* Used to track active stream connections and check if a stream variable is registered.
|
|
37
|
+
*/
|
|
38
|
+
export const streamAtomRegistry = new Map();
|
|
33
39
|
/**
|
|
34
40
|
* Key -> dependencies data for a selector
|
|
35
41
|
*/
|
|
@@ -65,6 +71,7 @@ export function clearRegistries_TEST() {
|
|
|
65
71
|
depsRegistry,
|
|
66
72
|
selectorFamilyRegistry,
|
|
67
73
|
selectorFamilyMembersRegistry,
|
|
74
|
+
streamAtomRegistry,
|
|
68
75
|
]) {
|
|
69
76
|
registry.clear();
|
|
70
77
|
}
|
|
@@ -96,6 +103,15 @@ export function isRegistered(variable) {
|
|
|
96
103
|
const key = getRegistryKey(variable, 'selector-nested');
|
|
97
104
|
return selectorFamilyRegistry.has(key);
|
|
98
105
|
}
|
|
106
|
+
case 'StreamVariable': {
|
|
107
|
+
// Check if any atoms exist for this stream variable uid
|
|
108
|
+
for (const atomKey of streamAtomRegistry.keys()) {
|
|
109
|
+
if (atomKey.includes(`"uid":"${variable.uid}"`)) {
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
99
115
|
default:
|
|
100
116
|
return false;
|
|
101
117
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../js/shared/interactivity/store.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsC,MAAM,QAAQ,CAAC;AAE5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAoB,iBAAiB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAY1E;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,EAA4B,CAAC;AAChE;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAsB,CAAC;AAChE;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAoD,CAAC;AACrG;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA4B,CAAC;AACpE;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAA0B,CAAC;AACxE;;;;GAIG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,IAAI,GAAG,EAAwD,CAAC;AAC7G;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,EAMhC,CAAC;AAUJ;;GAEG;AACH,MAAM,gBAAgB,GAAG,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAI,QAAwB,EAAE,IAAqB;;IAC7E,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,MAAM,GAAG,MAAA,QAAQ,CAAC,iBAAiB,mCAAI,EAAE,CAAC;IAC9C,CAAC;IAED,MAAM,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IAE7D,OAAO,GAAG,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;AACtE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAChC,KAAK,MAAM,QAAQ,IAAI;QACnB,YAAY;QACZ,kBAAkB;QAClB,yBAAyB;QACzB,gBAAgB;QAChB,YAAY;QACZ,sBAAsB;QACtB,6BAA6B;
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../js/shared/interactivity/store.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { type RecoilState, type RecoilValue } from 'recoil';
|
|
2
|
+
import { type WebSocketClientInterface } from '../../api';
|
|
3
|
+
import { type RequestExtras } from '../../api/http';
|
|
4
|
+
import { type GlobalTaskContext, type StreamVariable } from '../../types';
|
|
5
|
+
/**
|
|
6
|
+
* Stream event types as sent from the server
|
|
7
|
+
*/
|
|
8
|
+
export type StreamEventType = 'add' | 'remove' | 'clear' | 'replace' | 'json_snapshot' | 'json_patch' | 'reconnect' | 'error';
|
|
9
|
+
/**
|
|
10
|
+
* Stream event as received from SSE
|
|
11
|
+
*/
|
|
12
|
+
export interface StreamEvent {
|
|
13
|
+
type: StreamEventType;
|
|
14
|
+
data: unknown;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* State of a stream connection.
|
|
18
|
+
* 'loading' is the initial state before first data arrives.
|
|
19
|
+
*/
|
|
20
|
+
export type StreamStatus = 'loading' | 'connected' | 'reconnecting' | 'error' | 'closed';
|
|
21
|
+
/**
|
|
22
|
+
* Internal state for a stream variable atom
|
|
23
|
+
*/
|
|
24
|
+
export interface StreamState {
|
|
25
|
+
/**
|
|
26
|
+
* The accumulated data from stream events.
|
|
27
|
+
* For keyed mode (key_accessor set): Record<key, item>
|
|
28
|
+
* For custom mode: any shape set by snapshot/patch
|
|
29
|
+
*/
|
|
30
|
+
data: unknown;
|
|
31
|
+
/** Current connection status */
|
|
32
|
+
status: StreamStatus;
|
|
33
|
+
/** Error message if status is 'error' */
|
|
34
|
+
error?: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Extract a key from an item using the key_accessor path.
|
|
38
|
+
*
|
|
39
|
+
* @param item Item to extract key from
|
|
40
|
+
* @param keyAccessor Dot-separated path to the key property (e.g., 'id' or 'data.id')
|
|
41
|
+
* @returns The key value, or undefined if not found
|
|
42
|
+
*/
|
|
43
|
+
export declare function extractKey(item: unknown, keyAccessor: string): string | number | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* Apply a stream event to the current state.
|
|
46
|
+
*
|
|
47
|
+
* @param currentState Current accumulated state
|
|
48
|
+
* @param event Stream event to apply
|
|
49
|
+
* @param keyAccessor Key accessor path for keyed mode (null for custom mode)
|
|
50
|
+
* @returns New state after applying the event
|
|
51
|
+
*/
|
|
52
|
+
export declare function applyStreamEvent(currentState: StreamState, event: StreamEvent, keyAccessor: string | null): StreamState;
|
|
53
|
+
/**
|
|
54
|
+
* Get the exposed value from stream state.
|
|
55
|
+
* For keyed mode, converts the internal Record to an array (values in insertion order).
|
|
56
|
+
*
|
|
57
|
+
* @param state Stream state
|
|
58
|
+
* @param keyAccessor Key accessor (null for custom mode)
|
|
59
|
+
* @returns The value to expose to components
|
|
60
|
+
*/
|
|
61
|
+
export declare function getStreamValue(state: StreamState, keyAccessor: string | null): unknown;
|
|
62
|
+
/**
|
|
63
|
+
* Calculate exponential backoff delay.
|
|
64
|
+
*/
|
|
65
|
+
export declare function getBackoffDelay(retryCount: number): number;
|
|
66
|
+
/**
|
|
67
|
+
* Parameters for stream atom, serialized as JSON string for atom key.
|
|
68
|
+
* Contains everything needed to start the SSE connection.
|
|
69
|
+
*/
|
|
70
|
+
export interface StreamAtomParams {
|
|
71
|
+
/** StreamVariable uid */
|
|
72
|
+
uid: string;
|
|
73
|
+
/** Resolved dependency values to send to server */
|
|
74
|
+
resolvedValues: unknown[];
|
|
75
|
+
/** Original variables array (for normalization) */
|
|
76
|
+
variables: unknown[];
|
|
77
|
+
/** Key accessor for keyed mode */
|
|
78
|
+
keyAccessor: string | null;
|
|
79
|
+
/** Request extras (headers, etc.) */
|
|
80
|
+
extras: RequestExtras;
|
|
81
|
+
}
|
|
82
|
+
export declare function serializeAtomParams(params: StreamAtomParams): string;
|
|
83
|
+
export declare function deserializeAtomParams(key: string): StreamAtomParams;
|
|
84
|
+
/**
|
|
85
|
+
* Callback interface for stream connection events.
|
|
86
|
+
*/
|
|
87
|
+
interface StreamConnectionCallbacks {
|
|
88
|
+
/** Called when first data arrives - resolves the initial Promise */
|
|
89
|
+
onFirstData: (state: StreamState) => void;
|
|
90
|
+
/** Called for subsequent data updates */
|
|
91
|
+
onUpdate: (state: StreamState) => void;
|
|
92
|
+
/** Called on error after max retries */
|
|
93
|
+
onError: (error: string) => void;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Start an SSE connection for a stream variable.
|
|
97
|
+
*
|
|
98
|
+
* @param params Stream atom params (contains uid, resolved values, etc.)
|
|
99
|
+
* @param callbacks Callbacks for stream events
|
|
100
|
+
* @returns Cleanup function to abort the connection
|
|
101
|
+
*/
|
|
102
|
+
declare function startStreamConnection(params: StreamAtomParams, callbacks: StreamConnectionCallbacks): () => void;
|
|
103
|
+
/**
|
|
104
|
+
* Get or create a stream variable atom for the given params.
|
|
105
|
+
* The atom has effects that manage the SSE connection lifecycle.
|
|
106
|
+
* Registers the atom in streamAtomRegistry for tracking.
|
|
107
|
+
*
|
|
108
|
+
* @param atomKey Serialized StreamAtomParams
|
|
109
|
+
* @returns Recoil atom for stream state
|
|
110
|
+
*/
|
|
111
|
+
export declare function getOrCreateStreamVariableAtom(atomKey: string): RecoilState<StreamState>;
|
|
112
|
+
/**
|
|
113
|
+
* Get or register selector for a StreamVariable.
|
|
114
|
+
* Handles nested resolution if 'nested' is set.
|
|
115
|
+
*
|
|
116
|
+
* Layer 3 of 3.
|
|
117
|
+
*
|
|
118
|
+
* @param variable StreamVariable definition
|
|
119
|
+
* @param client WebSocket client (for resolving dependencies)
|
|
120
|
+
* @param taskContext Global task context
|
|
121
|
+
* @param extras Request extras
|
|
122
|
+
* @returns Recoil selector that resolves to the stream value
|
|
123
|
+
*/
|
|
124
|
+
export declare function getOrRegisterStreamVariable(variable: StreamVariable, client: WebSocketClientInterface, taskContext: GlobalTaskContext, extras: RequestExtras): RecoilValue<unknown>;
|
|
125
|
+
/**
|
|
126
|
+
* Internal exports for testing
|
|
127
|
+
*/
|
|
128
|
+
export declare const _internal: {
|
|
129
|
+
streamAtomFamily: (param: string) => RecoilState<StreamState>;
|
|
130
|
+
activeConnections: Map<string, AbortController>;
|
|
131
|
+
getBackoffDelay: typeof getBackoffDelay;
|
|
132
|
+
serializeAtomParams: typeof serializeAtomParams;
|
|
133
|
+
deserializeAtomParams: typeof deserializeAtomParams;
|
|
134
|
+
startStreamConnection: typeof startStreamConnection;
|
|
135
|
+
};
|
|
136
|
+
export {};
|
|
137
|
+
//# sourceMappingURL=stream-variable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-variable.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/stream-variable.tsx"],"names":[],"mappings":"AA6BA,OAAO,EAAmB,KAAK,WAAW,EAAE,KAAK,WAAW,EAA8B,MAAM,QAAQ,CAAC;AAIzG,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,KAAK,aAAa,EAAsC,MAAM,YAAY,CAAC;AACpF,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAc,MAAM,SAAS,CAAC;AASlF;;GAEG;AACH,MAAM,MAAM,eAAe,GAErB,KAAK,GACL,QAAQ,GACR,OAAO,GACP,SAAS,GAET,eAAe,GACf,YAAY,GAEZ,WAAW,GACX,OAAO,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,cAAc,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEzF;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB;;;;OAIG;IACH,IAAI,EAAE,OAAO,CAAC;IACd,gCAAgC;IAChC,MAAM,EAAE,YAAY,CAAC;IACrB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAS1F;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC5B,YAAY,EAAE,WAAW,EACzB,KAAK,EAAE,WAAW,EAClB,WAAW,EAAE,MAAM,GAAG,IAAI,GAC3B,WAAW,CAqKb;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAMtF;AAMD;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B,yBAAyB;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,mDAAmD;IACnD,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B,mDAAmD;IACnD,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,kCAAkC;IAClC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,qCAAqC;IACrC,MAAM,EAAE,aAAa,CAAC;CACzB;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAEpE;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAEnE;AAcD;;GAEG;AACH,UAAU,yBAAyB;IAC/B,oEAAoE;IACpE,WAAW,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1C,yCAAyC;IACzC,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACvC,wCAAwC;IACxC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED;;;;;;GAMG;AACH,iBAAS,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAE,yBAAyB,GAAG,MAAM,IAAI,CAuGzG;AA0ED;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,CAQvF;AA8ID;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CACvC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,wBAAwB,EAChC,WAAW,EAAE,iBAAiB,EAC9B,MAAM,EAAE,aAAa,GACtB,WAAW,CAAC,OAAO,CAAC,CAyCtB;AAED;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;CAOrB,CAAC"}
|