@darajs/core 1.4.5 → 1.5.0
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/download-variable.js +1 -1
- package/dist/actions/download-variable.js.map +1 -1
- package/dist/actions/navigate-to.js.map +1 -1
- package/dist/actions/reset-variables.d.ts.map +1 -1
- package/dist/actions/reset-variables.js +1 -1
- package/dist/actions/reset-variables.js.map +1 -1
- package/dist/actions/update-variable.d.ts.map +1 -1
- package/dist/actions/update-variable.js +1 -1
- package/dist/actions/update-variable.js.map +1 -1
- package/dist/api/core.d.ts +3 -2
- package/dist/api/core.d.ts.map +1 -1
- package/dist/api/core.js +13 -13
- package/dist/api/core.js.map +1 -1
- package/dist/api/http.d.ts +27 -2
- package/dist/api/http.d.ts.map +1 -1
- package/dist/api/http.js +49 -5
- package/dist/api/http.js.map +1 -1
- package/dist/api/index.d.ts +1 -1
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js.map +1 -1
- package/dist/api/websocket.js.map +1 -1
- package/dist/auth/auth-wrapper.js.map +1 -1
- package/dist/auth/auth.d.ts.map +1 -1
- package/dist/auth/auth.js +3 -3
- package/dist/auth/auth.js.map +1 -1
- package/dist/auth/basic/basic-auth-login.js.map +1 -1
- package/dist/auth/default/default-auth-login.js.map +1 -1
- package/dist/components/for/for.js.map +1 -1
- package/dist/components/progress-tracker/progress-tracker.js.map +1 -1
- package/dist/{dara_core-1.4.5-py3-none-any.whl → dara_core-1.5.0-py3-none-any.whl} +0 -0
- package/dist/devtools/devtools-wrapper.js.map +1 -1
- package/dist/devtools/floating-button.js.map +1 -1
- package/dist/devtools/use-move.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/run.js.map +1 -1
- package/dist/shared/context/global-task-context.d.ts.map +1 -1
- package/dist/shared/context/global-task-context.js +6 -4
- package/dist/shared/context/global-task-context.js.map +1 -1
- package/dist/shared/context/index.d.ts +1 -0
- package/dist/shared/context/index.d.ts.map +1 -1
- package/dist/shared/context/index.js +1 -0
- package/dist/shared/context/index.js.map +1 -1
- package/dist/shared/context/request-extras-context.d.ts +35 -0
- package/dist/shared/context/request-extras-context.d.ts.map +1 -0
- package/dist/shared/context/request-extras-context.js +61 -0
- package/dist/shared/context/request-extras-context.js.map +1 -0
- package/dist/shared/dynamic-component/dynamic-component.js +1 -1
- package/dist/shared/dynamic-component/dynamic-component.js.map +1 -1
- package/dist/shared/error-handling/types.d.ts +2 -1
- package/dist/shared/error-handling/types.d.ts.map +1 -1
- package/dist/shared/error-handling/types.js +2 -2
- package/dist/shared/error-handling/types.js.map +1 -1
- package/dist/shared/index.d.ts +1 -1
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +1 -1
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/interactivity/data-variable.d.ts +5 -6
- package/dist/shared/interactivity/data-variable.d.ts.map +1 -1
- package/dist/shared/interactivity/data-variable.js +19 -21
- package/dist/shared/interactivity/data-variable.js.map +1 -1
- package/dist/shared/interactivity/derived-variable.d.ts +18 -11
- package/dist/shared/interactivity/derived-variable.d.ts.map +1 -1
- package/dist/shared/interactivity/derived-variable.js +87 -46
- package/dist/shared/interactivity/derived-variable.js.map +1 -1
- package/dist/shared/interactivity/filtering.js.map +1 -1
- package/dist/shared/interactivity/index.d.ts +1 -1
- package/dist/shared/interactivity/index.d.ts.map +1 -1
- package/dist/shared/interactivity/index.js +0 -1
- package/dist/shared/interactivity/index.js.map +1 -1
- package/dist/shared/interactivity/nested.js.map +1 -1
- package/dist/shared/interactivity/plain-variable.d.ts +5 -4
- package/dist/shared/interactivity/plain-variable.d.ts.map +1 -1
- package/dist/shared/interactivity/plain-variable.js +145 -46
- package/dist/shared/interactivity/plain-variable.js.map +1 -1
- package/dist/shared/interactivity/resolve-value.js.map +1 -1
- package/dist/shared/interactivity/resolve-variable.d.ts +3 -3
- package/dist/shared/interactivity/resolve-variable.d.ts.map +1 -1
- package/dist/shared/interactivity/resolve-variable.js +5 -6
- package/dist/shared/interactivity/resolve-variable.js.map +1 -1
- package/dist/shared/interactivity/store.d.ts +41 -8
- package/dist/shared/interactivity/store.d.ts.map +1 -1
- package/dist/shared/interactivity/store.js +55 -23
- package/dist/shared/interactivity/store.js.map +1 -1
- package/dist/shared/interactivity/triggers.js.map +1 -1
- package/dist/shared/interactivity/url-variable.d.ts.map +1 -1
- package/dist/shared/interactivity/url-variable.js +1 -2
- package/dist/shared/interactivity/url-variable.js.map +1 -1
- package/dist/shared/interactivity/use-any-variable.js.map +1 -1
- package/dist/shared/interactivity/use-data-variable.d.ts.map +1 -1
- package/dist/shared/interactivity/use-data-variable.js +3 -6
- package/dist/shared/interactivity/use-data-variable.js.map +1 -1
- package/dist/shared/interactivity/use-refresh-selector.d.ts +1 -1
- package/dist/shared/interactivity/use-refresh-selector.d.ts.map +1 -1
- package/dist/shared/interactivity/use-refresh-selector.js +9 -5
- package/dist/shared/interactivity/use-refresh-selector.js.map +1 -1
- package/dist/shared/interactivity/use-server-component.d.ts.map +1 -1
- package/dist/shared/interactivity/use-server-component.js +45 -29
- package/dist/shared/interactivity/use-server-component.js.map +1 -1
- package/dist/shared/interactivity/use-variable-state.d.ts.map +1 -1
- package/dist/shared/interactivity/use-variable-state.js +5 -14
- package/dist/shared/interactivity/use-variable-state.js.map +1 -1
- package/dist/shared/interactivity/use-variable-value.d.ts +2 -1
- package/dist/shared/interactivity/use-variable-value.d.ts.map +1 -1
- package/dist/shared/interactivity/use-variable-value.js +13 -10
- package/dist/shared/interactivity/use-variable-value.js.map +1 -1
- package/dist/shared/interactivity/use-variable.d.ts.map +1 -1
- package/dist/shared/interactivity/use-variable.js +5 -8
- package/dist/shared/interactivity/use-variable.js.map +1 -1
- package/dist/shared/private-route/private-route.js.map +1 -1
- package/dist/shared/template-root/dynamic-context.js.map +1 -1
- package/dist/shared/template-root/template-root.js.map +1 -1
- package/dist/shared/utils/clean-session-cache.js.map +1 -1
- package/dist/shared/utils/embed.js.map +1 -1
- package/dist/shared/utils/get-icon.js.map +1 -1
- package/dist/shared/utils/hashing.js.map +1 -1
- package/dist/shared/utils/inject-css.js.map +1 -1
- package/dist/shared/utils/normalization.js.map +1 -1
- package/dist/shared/utils/resolve-theme.js.map +1 -1
- package/dist/shared/utils/templating.js.map +1 -1
- package/dist/shared/utils/use-action-registry.js.map +1 -1
- package/dist/shared/utils/use-action.d.ts +7 -3
- package/dist/shared/utils/use-action.d.ts.map +1 -1
- package/dist/shared/utils/use-action.js +45 -41
- package/dist/shared/utils/use-action.js.map +1 -1
- package/dist/shared/utils/use-component-registry.d.ts.map +1 -1
- package/dist/shared/utils/use-component-registry.js +3 -4
- package/dist/shared/utils/use-component-registry.js.map +1 -1
- package/dist/shared/utils/use-component-styles.js.map +1 -1
- package/dist/shared/utils/use-defer-loadable.js.map +1 -1
- package/dist/shared/utils/use-interval.js.map +1 -1
- package/dist/shared/utils/use-url-sync.js.map +1 -1
- package/dist/shared/utils/use-window-title.js.map +1 -1
- package/dist/types/core.d.ts +9 -4
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/core.js.map +1 -1
- package/dist/umd/dara.core.umd.js +22780 -30228
- package/dist/utils.d.ts +9 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +10 -1
- package/dist/utils.js.map +1 -1
- package/package.json +11 -11
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { RecoilState } from 'recoil';
|
|
2
2
|
import { WebSocketClientInterface } from '../../api';
|
|
3
|
+
import { RequestExtras } from '../../api/http';
|
|
3
4
|
import { GlobalTaskContext } from '../../shared/context/global-task-context';
|
|
4
5
|
import { SingleVariable } from '../../types';
|
|
5
6
|
/**
|
|
6
7
|
* Get the session key used to persist a variable value
|
|
7
8
|
*
|
|
8
|
-
* @param
|
|
9
|
+
* @param extras request extras to be merged into the options
|
|
9
10
|
* @param uid uid of the variable to persist
|
|
10
11
|
*/
|
|
11
|
-
export declare function getSessionKey(
|
|
12
|
+
export declare function getSessionKey(extras: RequestExtras, uid: string): string;
|
|
12
13
|
/**
|
|
13
14
|
* Get a plain variable from the atom or selector registry (based on nested property),
|
|
14
15
|
* registering it if not already registered
|
|
@@ -17,7 +18,7 @@ export declare function getSessionKey(sessionToken: string, uid: string): string
|
|
|
17
18
|
* @param wsClient websocket client
|
|
18
19
|
* @param taskContext task context
|
|
19
20
|
* @param search search query
|
|
20
|
-
* @param
|
|
21
|
+
* @param extras request extras to be merged into the options
|
|
21
22
|
*/
|
|
22
|
-
export declare function getOrRegisterPlainVariable<T>(variable: SingleVariable<T>, wsClient: WebSocketClientInterface, taskContext: GlobalTaskContext,
|
|
23
|
+
export declare function getOrRegisterPlainVariable<T>(variable: SingleVariable<T>, wsClient: WebSocketClientInterface, taskContext: GlobalTaskContext, extras: RequestExtras): RecoilState<T>;
|
|
23
24
|
//# sourceMappingURL=plain-variable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plain-variable.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/plain-variable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"plain-variable.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/plain-variable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAoC,MAAM,QAAQ,CAAC;AAEvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,aAAa,EAA6B,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE,OAAO,EAAmB,cAAc,EAAqB,MAAM,SAAS,CAAC;AAa7E;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CASxE;AAsDD;;;;;;;;;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,CAiJhB"}
|
|
@@ -1,22 +1,81 @@
|
|
|
1
|
-
|
|
1
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
+
};
|
|
6
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
7
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
9
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
10
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
11
|
+
};
|
|
12
|
+
var _a, _StateSynchronizer_instance, _StateSynchronizer_listenersMap;
|
|
13
|
+
import { atom, atomFamily, selectorFamily } from 'recoil';
|
|
14
|
+
import { RequestExtrasSerializable } from '../../api/http';
|
|
2
15
|
import { isEmbedded } from '../../shared/utils/embed';
|
|
3
16
|
import { isDerivedVariable } from '../../types';
|
|
4
17
|
// eslint-disable-next-line import/no-cycle
|
|
5
18
|
import { getOrRegisterDerivedVariableValue, resolveNested, setNested } from './internal';
|
|
6
|
-
import { atomRegistry, getRegistryKey,
|
|
19
|
+
import { atomFamilyMembersRegistry, atomFamilyRegistry, atomRegistry, getRegistryKey, selectorFamilyRegistry, } from './store';
|
|
7
20
|
/**
|
|
8
21
|
* Get the session key used to persist a variable value
|
|
9
22
|
*
|
|
10
|
-
* @param
|
|
23
|
+
* @param extras request extras to be merged into the options
|
|
11
24
|
* @param uid uid of the variable to persist
|
|
12
25
|
*/
|
|
13
|
-
export function getSessionKey(
|
|
26
|
+
export function getSessionKey(extras, uid) {
|
|
27
|
+
const sessionToken = typeof extras === 'string' ? extras : extras.sessionToken;
|
|
14
28
|
// If we're within an IFrame (Jupyter)
|
|
15
29
|
if (isEmbedded()) {
|
|
16
30
|
return `dara-session-${window.frameElement.dataset.daraPageId}-var-${uid}`;
|
|
17
31
|
}
|
|
18
32
|
return `dara-session-${sessionToken}-var-${uid}`;
|
|
19
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* State synchronizer singleton
|
|
36
|
+
*
|
|
37
|
+
* Used to synchronize changes across atoms of the same family
|
|
38
|
+
*/
|
|
39
|
+
class StateSynchronizer {
|
|
40
|
+
// eslint-disable-next-line no-useless-constructor, no-empty-function
|
|
41
|
+
constructor() {
|
|
42
|
+
_StateSynchronizer_listenersMap.set(this, new Map());
|
|
43
|
+
}
|
|
44
|
+
static getInstance() {
|
|
45
|
+
if (!__classPrivateFieldGet(_a, _a, "f", _StateSynchronizer_instance)) {
|
|
46
|
+
__classPrivateFieldSet(_a, _a, new _a(), "f", _StateSynchronizer_instance);
|
|
47
|
+
}
|
|
48
|
+
return __classPrivateFieldGet(_a, _a, "f", _StateSynchronizer_instance);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Subscribe to changes on a given key
|
|
52
|
+
*
|
|
53
|
+
* @param key key to subscribe to
|
|
54
|
+
* @param listener listener to invoke on change
|
|
55
|
+
* @returns a cleanup function to unsubscribe
|
|
56
|
+
*/
|
|
57
|
+
subscribe(key, listener) {
|
|
58
|
+
if (!__classPrivateFieldGet(this, _StateSynchronizer_listenersMap, "f").has(key)) {
|
|
59
|
+
__classPrivateFieldGet(this, _StateSynchronizer_listenersMap, "f").set(key, new Set());
|
|
60
|
+
}
|
|
61
|
+
__classPrivateFieldGet(this, _StateSynchronizer_listenersMap, "f").get(key).add(listener);
|
|
62
|
+
return () => {
|
|
63
|
+
__classPrivateFieldGet(this, _StateSynchronizer_listenersMap, "f").get(key).delete(listener);
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Notify listeners for a given key
|
|
68
|
+
*
|
|
69
|
+
* @param key key to notify listeners for
|
|
70
|
+
* @param args arguments to pass to the listeners
|
|
71
|
+
*/
|
|
72
|
+
notify(key, ...args) {
|
|
73
|
+
var _b;
|
|
74
|
+
(_b = __classPrivateFieldGet(this, _StateSynchronizer_listenersMap, "f").get(key)) === null || _b === void 0 ? void 0 : _b.forEach((listener) => listener(...args));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
_a = StateSynchronizer, _StateSynchronizer_listenersMap = new WeakMap();
|
|
78
|
+
_StateSynchronizer_instance = { value: void 0 };
|
|
20
79
|
/**
|
|
21
80
|
* Get a plain variable from the atom or selector registry (based on nested property),
|
|
22
81
|
* registering it if not already registered
|
|
@@ -25,65 +84,105 @@ export function getSessionKey(sessionToken, uid) {
|
|
|
25
84
|
* @param wsClient websocket client
|
|
26
85
|
* @param taskContext task context
|
|
27
86
|
* @param search search query
|
|
28
|
-
* @param
|
|
87
|
+
* @param extras request extras to be merged into the options
|
|
29
88
|
*/
|
|
30
|
-
export function getOrRegisterPlainVariable(variable, wsClient, taskContext,
|
|
89
|
+
export function getOrRegisterPlainVariable(variable, wsClient, taskContext, extras) {
|
|
31
90
|
const isNested = variable.nested && variable.nested.length > 0;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
if (
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
91
|
+
const isDefaultDerived = isDerivedVariable(variable.default);
|
|
92
|
+
let atomInstance;
|
|
93
|
+
let family = null;
|
|
94
|
+
// Variables created from DV need to be registered as atomFamily to dynamically pick up the right DV
|
|
95
|
+
if (isDefaultDerived) {
|
|
96
|
+
if (!atomFamilyRegistry.has(variable.uid)) {
|
|
97
|
+
atomFamilyRegistry.set(variable.uid, atomFamily({
|
|
98
|
+
/*
|
|
99
|
+
If created from a DerivedVariable, link the default state to that DV's selector
|
|
100
|
+
From Recoil docs:
|
|
101
|
+
"If a selector is used as the default the atom will dynamically update as the default selector updates.
|
|
102
|
+
Once the atom is set, then it will retain that value unless the atom is reset."
|
|
103
|
+
*/
|
|
104
|
+
default: (extrasSerializable) => getOrRegisterDerivedVariableValue(variable.default, wsClient, taskContext, extrasSerializable.extras),
|
|
105
|
+
effects: [
|
|
106
|
+
({ onSet, setSelf, resetSelf }) => {
|
|
107
|
+
// Synchronize changes across atoms of the same family
|
|
108
|
+
const unsub = StateSynchronizer.getInstance().subscribe(variable.uid, (newValue, oldValue, isReset) => {
|
|
109
|
+
if (isReset) {
|
|
110
|
+
resetSelf();
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
setSelf(newValue);
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
onSet((newValue, oldValue, isReset) => {
|
|
117
|
+
StateSynchronizer.getInstance().notify(variable.uid, newValue, oldValue, isReset);
|
|
118
|
+
});
|
|
119
|
+
return () => unsub();
|
|
120
|
+
},
|
|
121
|
+
],
|
|
122
|
+
key: variable.uid,
|
|
123
|
+
}));
|
|
124
|
+
}
|
|
125
|
+
family = atomFamilyRegistry.get(variable.uid);
|
|
126
|
+
const extrasSerializable = new RequestExtrasSerializable(extras);
|
|
127
|
+
atomInstance = family(extrasSerializable);
|
|
128
|
+
// Register the atom instance in the atomFamilyMembersRegistry so we can retrieve it later
|
|
129
|
+
if (!atomFamilyMembersRegistry.has(family)) {
|
|
130
|
+
atomFamilyMembersRegistry.set(family, new Map());
|
|
131
|
+
}
|
|
132
|
+
atomFamilyMembersRegistry.get(family).set(extrasSerializable.toJSON(), atomInstance);
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
// otherwise register it as a plain atom
|
|
136
|
+
if (!atomRegistry.has(variable.uid)) {
|
|
137
|
+
let defaultValue = variable.default;
|
|
138
|
+
const persistValue = variable.persist_value || isEmbedded();
|
|
139
|
+
// If persist_value flag is set, try to retrieve persisted value and use it if we found one instead of default
|
|
140
|
+
if (persistValue) {
|
|
141
|
+
const persistedValue = localStorage.getItem(getSessionKey(extras, variable.uid));
|
|
142
|
+
if (persistedValue) {
|
|
143
|
+
defaultValue = JSON.parse(persistedValue);
|
|
144
|
+
}
|
|
41
145
|
}
|
|
146
|
+
atomRegistry.set(variable.uid, atom({
|
|
147
|
+
default: defaultValue,
|
|
148
|
+
// If persist_value flag is set, register an effect which updates the selected value in sessionStorage on each variable update
|
|
149
|
+
effects: persistValue
|
|
150
|
+
? [
|
|
151
|
+
({ onSet }) => {
|
|
152
|
+
onSet((newValue) => {
|
|
153
|
+
localStorage.setItem(getSessionKey(extras, variable.uid), JSON.stringify(newValue));
|
|
154
|
+
});
|
|
155
|
+
},
|
|
156
|
+
]
|
|
157
|
+
: [],
|
|
158
|
+
key: variable.uid,
|
|
159
|
+
}));
|
|
42
160
|
}
|
|
43
|
-
atomRegistry.
|
|
44
|
-
/*
|
|
45
|
-
If created from a DerivedVariable, link the default state to that DV's selector
|
|
46
|
-
From Recoil docs:
|
|
47
|
-
"If a selector is used as the default the atom will dynamically update as the default selector updates.
|
|
48
|
-
Once the atom is set, then it will retain that value unless the atom is reset."
|
|
49
|
-
*/
|
|
50
|
-
default: isDerivedVariable(variable.default)
|
|
51
|
-
? getOrRegisterDerivedVariableValue(variable.default, wsClient, taskContext, search, token)
|
|
52
|
-
: defaultValue,
|
|
53
|
-
effects: [
|
|
54
|
-
({ onSet }) => {
|
|
55
|
-
// If persist_value flag is set, register an effect which updates the selected value in sessionStorage on each variable update
|
|
56
|
-
if (persistValue) {
|
|
57
|
-
onSet((newValue) => {
|
|
58
|
-
localStorage.setItem(getSessionKey(token, variable.uid), JSON.stringify(newValue));
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
},
|
|
62
|
-
],
|
|
63
|
-
key: variable.uid,
|
|
64
|
-
}));
|
|
161
|
+
atomInstance = atomRegistry.get(variable.uid);
|
|
65
162
|
}
|
|
66
|
-
// In case of a nested variable, register a selector
|
|
163
|
+
// In case of a nested variable, register and return a selector to resolve the nested values
|
|
67
164
|
if (isNested) {
|
|
68
165
|
const key = getRegistryKey(variable, 'selector');
|
|
69
|
-
if (!
|
|
166
|
+
if (!selectorFamilyRegistry.has(key)) {
|
|
70
167
|
// Below we make sure nested is a list of strings
|
|
71
168
|
// this is validated on the Python side but when using @template we can't validate it and is replaced at runtime
|
|
72
169
|
// so we coerce it to a list of strings here
|
|
73
|
-
|
|
74
|
-
get: ({ get }) => {
|
|
75
|
-
const variableValue = get(
|
|
170
|
+
selectorFamilyRegistry.set(key, selectorFamily({
|
|
171
|
+
get: (extrasSerializable) => ({ get }) => {
|
|
172
|
+
const variableValue = get(family ? family(extrasSerializable) : atomInstance);
|
|
76
173
|
return resolveNested(variableValue, variable.nested.map((n) => String(n)));
|
|
77
174
|
},
|
|
78
175
|
key,
|
|
79
|
-
set: ({ set }, newValue) => {
|
|
80
|
-
set(
|
|
176
|
+
set: (extrasSerializable) => ({ set }, newValue) => {
|
|
177
|
+
set(family ? family(extrasSerializable) : atomInstance, (v) => setNested(v, variable.nested.map((n) => String(n)), newValue));
|
|
81
178
|
},
|
|
82
179
|
}));
|
|
83
180
|
}
|
|
181
|
+
const selectorFamilyInstance = selectorFamilyRegistry.get(key);
|
|
182
|
+
const extrasSerializable = new RequestExtrasSerializable(extras);
|
|
84
183
|
// We cast it since it's a writeable selector
|
|
85
|
-
return
|
|
184
|
+
return selectorFamilyInstance(extrasSerializable);
|
|
86
185
|
}
|
|
87
|
-
return
|
|
186
|
+
return atomInstance;
|
|
88
187
|
}
|
|
89
188
|
//# sourceMappingURL=plain-variable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plain-variable.js","sourceRoot":"","sources":["../../../js/shared/interactivity/plain-variable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAe,IAAI,EAAE,
|
|
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-value.js","sourceRoot":"","sources":["../../../js/shared/interactivity/resolve-value.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,6BAA6B,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEnF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,KAAc,EAAE,KAAc;IACvD,IAAI,yBAAyB,CAAC,KAAK,CAAC,IAAI,6BAA6B,CAAC,KAAK,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"resolve-value.js","sourceRoot":"","sources":["../../../js/shared/interactivity/resolve-value.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,6BAA6B,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEnF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,KAAc,EAAE,KAAc;IACvD,IAAI,yBAAyB,CAAC,KAAK,CAAC,IAAI,6BAA6B,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3E,MAAM,EAAE,IAAI,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAAzB,QAAiB,CAAQ,CAAC;QAChC,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QAEvE,uCACO,IAAI,KACP,KAAK,EACL,MAAM,EAAE,cAAc,IACxB;IACN,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAC9B,gEAAgE;QAChE,OAAO,YAAY,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { RecoilState } from 'recoil';
|
|
2
2
|
import { WebSocketClientInterface } from '../../api';
|
|
3
|
+
import { RequestExtras } from '../../api/http';
|
|
3
4
|
import { GlobalTaskContext } from '../../shared/context/global-task-context';
|
|
4
5
|
import { AnyVariable, ResolvedDataVariable, ResolvedDerivedDataVariable, ResolvedDerivedVariable } from '../../types';
|
|
5
6
|
/**
|
|
@@ -10,9 +11,8 @@ import { AnyVariable, ResolvedDataVariable, ResolvedDerivedDataVariable, Resolve
|
|
|
10
11
|
* @param variable variable to resolve
|
|
11
12
|
* @param client websocket client from context
|
|
12
13
|
* @param taskContext global task context
|
|
13
|
-
* @param
|
|
14
|
-
* @param token session token from context
|
|
14
|
+
* @param extras request extras to be merged into the options
|
|
15
15
|
* @param resolver function to run the value through (for non-derived variables)
|
|
16
16
|
*/
|
|
17
|
-
export declare function resolveVariable<VariableType>(variable: AnyVariable<VariableType>, client: WebSocketClientInterface, taskContext: GlobalTaskContext,
|
|
17
|
+
export declare function resolveVariable<VariableType>(variable: AnyVariable<VariableType>, client: WebSocketClientInterface, taskContext: GlobalTaskContext, extras: RequestExtras, resolver?: (val: RecoilState<VariableType>) => RecoilState<VariableType> | ResolvedDerivedVariable | VariableType): RecoilState<VariableType> | ResolvedDerivedVariable | ResolvedDerivedDataVariable | ResolvedDataVariable | VariableType;
|
|
18
18
|
//# sourceMappingURL=resolve-variable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-variable.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/resolve-variable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EACH,WAAW,EACX,oBAAoB,EACpB,2BAA2B,EAC3B,uBAAuB,EAK1B,MAAM,SAAS,CAAC;AAUjB
|
|
1
|
+
{"version":3,"file":"resolve-variable.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/resolve-variable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EACH,WAAW,EACX,oBAAoB,EACpB,2BAA2B,EAC3B,uBAAuB,EAK1B,MAAM,SAAS,CAAC;AAUjB;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,YAAY,EACxC,QAAQ,EAAE,WAAW,CAAC,YAAY,CAAC,EACnC,MAAM,EAAE,wBAAwB,EAChC,WAAW,EAAE,iBAAiB,EAC9B,MAAM,EAAE,aAAa,EACrB,QAAQ,GAAE,CAAC,GAAG,EAAE,WAAW,CAAC,YAAY,CAAC,KAAK,WAAW,CAAC,YAAY,CAAC,GAAG,uBAAuB,GAAG,YAE5F,GAEN,WAAW,CAAC,YAAY,CAAC,GACzB,uBAAuB,GACvB,2BAA2B,GAC3B,oBAAoB,GACpB,YAAY,CAqCjB"}
|
|
@@ -9,15 +9,14 @@ import { getOrRegisterDerivedVariable, getOrRegisterPlainVariable, getOrRegister
|
|
|
9
9
|
* @param variable variable to resolve
|
|
10
10
|
* @param client websocket client from context
|
|
11
11
|
* @param taskContext global task context
|
|
12
|
-
* @param
|
|
13
|
-
* @param token session token from context
|
|
12
|
+
* @param extras request extras to be merged into the options
|
|
14
13
|
* @param resolver function to run the value through (for non-derived variables)
|
|
15
14
|
*/
|
|
16
|
-
export function resolveVariable(variable, client, taskContext,
|
|
15
|
+
export function resolveVariable(variable, client, taskContext, extras, resolver = (val) => val) {
|
|
17
16
|
if (isDerivedVariable(variable) || isDerivedDataVariable(variable)) {
|
|
18
|
-
getOrRegisterDerivedVariable(variable, client, taskContext,
|
|
17
|
+
getOrRegisterDerivedVariable(variable, client, taskContext, extras);
|
|
19
18
|
// For derived variable, recursively resolve the dependencies
|
|
20
|
-
const values = variable.variables.map((v) => resolveVariable(v, client, taskContext,
|
|
19
|
+
const values = variable.variables.map((v) => resolveVariable(v, client, taskContext, extras, resolver));
|
|
21
20
|
// Store indexes of values which are in deps
|
|
22
21
|
const deps = variable.deps.map((dep) => variable.variables.findIndex((v) => v.uid === dep.uid));
|
|
23
22
|
if (isDerivedDataVariable(variable)) {
|
|
@@ -42,6 +41,6 @@ export function resolveVariable(variable, client, taskContext, search, token, re
|
|
|
42
41
|
if (isUrlVariable(variable)) {
|
|
43
42
|
return resolver(getOrRegisterUrlVariable(variable));
|
|
44
43
|
}
|
|
45
|
-
return resolver(getOrRegisterPlainVariable(variable, client, taskContext,
|
|
44
|
+
return resolver(getOrRegisterPlainVariable(variable, client, taskContext, extras));
|
|
46
45
|
}
|
|
47
46
|
//# sourceMappingURL=resolve-variable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-variable.js","sourceRoot":"","sources":["../../../js/shared/interactivity/resolve-variable.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolve-variable.js","sourceRoot":"","sources":["../../../js/shared/interactivity/resolve-variable.tsx"],"names":[],"mappings":"AAKA,OAAO,EAKH,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,GAChB,MAAM,SAAS,CAAC;AAEjB,2CAA2C;AAC3C,OAAO,EACH,4BAA4B,EAC5B,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,GACtB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAC3B,QAAmC,EACnC,MAAgC,EAChC,WAA8B,EAC9B,MAAqB,EACrB,WAAmH,CAC/G,GAA8B,EAChC,EAAE,CAAC,GAAG;IAOR,IAAI,iBAAiB,CAAC,QAAQ,CAAC,IAAI,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjE,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAEpE,6DAA6D;QAC7D,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QAExG,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,IAAI,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,OAAO;gBACH,IAAI;gBACJ,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,IAAI,EAAE,cAAc;gBACpB,GAAG,EAAE,QAAQ,CAAC,GAAG;gBACjB,MAAM;aACsB,CAAC;QACrC,CAAC;QAED,OAAO;YACH,IAAI;YACJ,IAAI,EAAE,SAAS;YACf,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,MAAM;SACkB,CAAC;IACjC,CAAC;IAED,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,QAAQ,CAAC,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AACvF,CAAC"}
|
|
@@ -1,8 +1,49 @@
|
|
|
1
1
|
import { RecoilState, RecoilValue } from 'recoil';
|
|
2
|
+
import { RequestExtrasSerializable } from '../../api/http';
|
|
2
3
|
import { AnyVariable } from '../../types';
|
|
4
|
+
/**
|
|
5
|
+
* Selector family type which constructs a selector from a given set of extras.
|
|
6
|
+
*/
|
|
7
|
+
export type SelectorFamily = (P: RequestExtrasSerializable) => RecoilValue<any>;
|
|
8
|
+
/**
|
|
9
|
+
* Atom family type which constructs an atom from a given set of extras.
|
|
10
|
+
*/
|
|
11
|
+
export type AtomFamily = (P: RequestExtrasSerializable) => RecoilState<any>;
|
|
12
|
+
/**
|
|
13
|
+
* Key -> trigger atom
|
|
14
|
+
*/
|
|
3
15
|
export declare const dataRegistry: Map<string, RecoilState<TriggerIndexValue>>;
|
|
16
|
+
/**
|
|
17
|
+
* Key -> atom
|
|
18
|
+
*/
|
|
4
19
|
export declare const atomRegistry: Map<string, RecoilState<any>>;
|
|
20
|
+
/**
|
|
21
|
+
* Key -> atom family
|
|
22
|
+
*/
|
|
23
|
+
export declare const atomFamilyRegistry: Map<string, AtomFamily>;
|
|
24
|
+
/**
|
|
25
|
+
* Atom family function => {extras => atom}
|
|
26
|
+
*
|
|
27
|
+
* Stores all instances of a given atom family, as a map of seriailzed extras to atom.
|
|
28
|
+
*/
|
|
29
|
+
export declare const atomFamilyMembersRegistry: Map<AtomFamily, Map<string, RecoilState<any>>>;
|
|
30
|
+
/**
|
|
31
|
+
* Key -> selector
|
|
32
|
+
*/
|
|
5
33
|
export declare const selectorRegistry: Map<string, RecoilValue<any>>;
|
|
34
|
+
/**
|
|
35
|
+
* Key -> selector family
|
|
36
|
+
*/
|
|
37
|
+
export declare const selectorFamilyRegistry: Map<string, SelectorFamily>;
|
|
38
|
+
/**
|
|
39
|
+
* Selector family function => {extras => selector}
|
|
40
|
+
*
|
|
41
|
+
* Stores all instances of a given selector family, as a map of seriailzed extras to selector.
|
|
42
|
+
*/
|
|
43
|
+
export declare const selectorFamilyMembersRegistry: Map<SelectorFamily, Map<string, RecoilValue<any>>>;
|
|
44
|
+
/**
|
|
45
|
+
* Key -> dependencies data for a selector
|
|
46
|
+
*/
|
|
6
47
|
export declare const depsRegistry: Map<string, {
|
|
7
48
|
args: any[];
|
|
8
49
|
cacheKey: string;
|
|
@@ -31,13 +72,5 @@ export declare function clearRegistries_TEST(): void;
|
|
|
31
72
|
* @param variable variable to check
|
|
32
73
|
*/
|
|
33
74
|
export declare function isRegistered<T>(variable: AnyVariable<T>): boolean;
|
|
34
|
-
/**
|
|
35
|
-
* Get an atom for a given variable.
|
|
36
|
-
*
|
|
37
|
-
* Useful in cases where we need to atom directly to e.g. write to it.
|
|
38
|
-
*
|
|
39
|
-
* @param variable variable to get the atom for
|
|
40
|
-
*/
|
|
41
|
-
export declare function getAtom<T>(variable: AnyVariable<T>): RecoilState<T>;
|
|
42
75
|
export {};
|
|
43
76
|
//# sourceMappingURL=store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/store.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/store.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAElD,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAc,MAAM,SAAS,CAAC;AAElD;;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,6CAAoD,CAAC;AAC9E;;GAEG;AACH,eAAO,MAAM,YAAY,+BAAsC,CAAC;AAChE;;GAEG;AACH,eAAO,MAAM,kBAAkB,yBAAgC,CAAC;AAChE;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,gDAAuD,CAAC;AAC9F;;GAEG;AACH,eAAO,MAAM,gBAAgB,+BAAsC,CAAC;AACpE;;GAEG;AACH,eAAO,MAAM,sBAAsB,6BAAoC,CAAC;AACxE;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,oDAA2D,CAAC;AACtG;;GAEG;AACH,eAAO,MAAM,YAAY;UAGX,GAAG,EAAE;cACD,MAAM;YACR,GAAG;EAEhB,CAAC;AAEJ,MAAM,MAAM,iBAAiB,GAAG;IAC5B,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,eAAe,GAAG,UAAU,GAAG,kBAAkB,GAAG,SAAS,GAAG,SAAS,CAAC;AAE/E;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,GAAG,MAAM,CAEzF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAa3C;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CA+BjE"}
|
|
@@ -1,8 +1,40 @@
|
|
|
1
1
|
import { getUniqueIdentifier } from '../../shared/utils/hashing';
|
|
2
2
|
import { isVariable } from '../../types';
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Key -> trigger atom
|
|
5
|
+
*/
|
|
6
|
+
export const dataRegistry = new Map();
|
|
7
|
+
/**
|
|
8
|
+
* Key -> atom
|
|
9
|
+
*/
|
|
4
10
|
export const atomRegistry = new Map();
|
|
11
|
+
/**
|
|
12
|
+
* Key -> atom family
|
|
13
|
+
*/
|
|
14
|
+
export const atomFamilyRegistry = new Map();
|
|
15
|
+
/**
|
|
16
|
+
* Atom family function => {extras => atom}
|
|
17
|
+
*
|
|
18
|
+
* Stores all instances of a given atom family, as a map of seriailzed extras to atom.
|
|
19
|
+
*/
|
|
20
|
+
export const atomFamilyMembersRegistry = new Map();
|
|
21
|
+
/**
|
|
22
|
+
* Key -> selector
|
|
23
|
+
*/
|
|
5
24
|
export const selectorRegistry = new Map();
|
|
25
|
+
/**
|
|
26
|
+
* Key -> selector family
|
|
27
|
+
*/
|
|
28
|
+
export const selectorFamilyRegistry = new Map();
|
|
29
|
+
/**
|
|
30
|
+
* Selector family function => {extras => selector}
|
|
31
|
+
*
|
|
32
|
+
* Stores all instances of a given selector family, as a map of seriailzed extras to selector.
|
|
33
|
+
*/
|
|
34
|
+
export const selectorFamilyMembersRegistry = new Map();
|
|
35
|
+
/**
|
|
36
|
+
* Key -> dependencies data for a selector
|
|
37
|
+
*/
|
|
6
38
|
export const depsRegistry = new Map();
|
|
7
39
|
/**
|
|
8
40
|
* Get a unique registry key of a given type for a given variable.
|
|
@@ -17,7 +49,16 @@ export function getRegistryKey(variable, type) {
|
|
|
17
49
|
* Clear registries - to be used in tests only.
|
|
18
50
|
*/
|
|
19
51
|
export function clearRegistries_TEST() {
|
|
20
|
-
for (const registry of [
|
|
52
|
+
for (const registry of [
|
|
53
|
+
dataRegistry,
|
|
54
|
+
atomRegistry,
|
|
55
|
+
atomFamilyRegistry,
|
|
56
|
+
atomFamilyMembersRegistry,
|
|
57
|
+
selectorRegistry,
|
|
58
|
+
depsRegistry,
|
|
59
|
+
selectorFamilyRegistry,
|
|
60
|
+
selectorFamilyMembersRegistry,
|
|
61
|
+
]) {
|
|
21
62
|
registry.clear();
|
|
22
63
|
}
|
|
23
64
|
}
|
|
@@ -28,15 +69,25 @@ export function clearRegistries_TEST() {
|
|
|
28
69
|
* @param variable variable to check
|
|
29
70
|
*/
|
|
30
71
|
export function isRegistered(variable) {
|
|
72
|
+
var _a;
|
|
31
73
|
if (!isVariable(variable)) {
|
|
32
74
|
return false;
|
|
33
75
|
}
|
|
34
76
|
switch (variable.__typename) {
|
|
35
|
-
case 'Variable':
|
|
77
|
+
case 'Variable': {
|
|
78
|
+
if (atomRegistry.has(variable.uid)) {
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
const family = atomFamilyRegistry.get(variable.uid);
|
|
82
|
+
return ((_a = atomFamilyMembersRegistry.get(family)) === null || _a === void 0 ? void 0 : _a.size) > 0;
|
|
83
|
+
}
|
|
36
84
|
case 'UrlVariable':
|
|
37
85
|
case 'DataVariable':
|
|
38
86
|
return atomRegistry.has(variable.uid);
|
|
39
|
-
case 'DerivedVariable':
|
|
87
|
+
case 'DerivedVariable': {
|
|
88
|
+
const key = getRegistryKey(variable, 'selector');
|
|
89
|
+
return selectorFamilyRegistry.has(key);
|
|
90
|
+
}
|
|
40
91
|
case 'DerivedDataVariable': {
|
|
41
92
|
const key = getRegistryKey(variable, 'selector');
|
|
42
93
|
return selectorRegistry.has(key);
|
|
@@ -45,23 +96,4 @@ export function isRegistered(variable) {
|
|
|
45
96
|
return false;
|
|
46
97
|
}
|
|
47
98
|
}
|
|
48
|
-
/**
|
|
49
|
-
* Get an atom for a given variable.
|
|
50
|
-
*
|
|
51
|
-
* Useful in cases where we need to atom directly to e.g. write to it.
|
|
52
|
-
*
|
|
53
|
-
* @param variable variable to get the atom for
|
|
54
|
-
*/
|
|
55
|
-
export function getAtom(variable) {
|
|
56
|
-
if (!isRegistered(variable)) {
|
|
57
|
-
throw new Error(`Variable ${variable.uid} is not registered.`);
|
|
58
|
-
}
|
|
59
|
-
switch (variable.__typename) {
|
|
60
|
-
case 'Variable':
|
|
61
|
-
case 'UrlVariable':
|
|
62
|
-
return atomRegistry.get(variable.uid);
|
|
63
|
-
default:
|
|
64
|
-
throw new Error(`Variable ${variable.uid} of type ${variable.__typename} does not have an associated atom.`);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
99
|
//# sourceMappingURL=store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../js/shared/interactivity/store.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../js/shared/interactivity/store.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAe,UAAU,EAAE,MAAM,SAAS,CAAC;AAYlD;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,EAA0C,CAAC;AAC9E;;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,EAA6C,CAAC;AAC9F;;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,EAAiD,CAAC;AACtG;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,EAOhC,CAAC;AASJ;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAI,QAAwB,EAAE,IAAqB;IAC7E,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAChC,KAAK,MAAM,QAAQ,IAAI;QACnB,YAAY;QACZ,YAAY;QACZ,kBAAkB;QAClB,yBAAyB;QACzB,gBAAgB;QAChB,YAAY;QACZ,sBAAsB;QACtB,6BAA6B;KAChC,EAAE,CAAC;QACA,QAAQ,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAI,QAAwB;;IACpD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,QAAQ,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC1B,KAAK,UAAU,CAAC,CAAC,CAAC;YACd,IAAI,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjC,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACpD,OAAO,CAAA,MAAA,yBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC,0CAAE,IAAI,IAAG,CAAC,CAAC;QAC3D,CAAC;QAED,KAAK,aAAa,CAAC;QACnB,KAAK,cAAc;YACf,OAAO,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAE1C,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACrB,MAAM,GAAG,GAAG,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACjD,OAAO,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC;QAED,KAAK,qBAAqB,CAAC,CAAC,CAAC;YACzB,MAAM,GAAG,GAAG,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACjD,OAAO,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC;QAED;YACI,OAAO,KAAK,CAAC;IACrB,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"triggers.js","sourceRoot":"","sources":["../../../js/shared/interactivity/triggers.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAe,IAAI,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAG3D,OAAO,EAKH,cAAc,EACd,qBAAqB,EACrB,iBAAiB,GACpB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAqB,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAExF;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAA+C;IAChF,MAAM,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAEvD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"triggers.js","sourceRoot":"","sources":["../../../js/shared/interactivity/triggers.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-variable.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/url-variable.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAwB,MAAM,QAAQ,CAAC;AAG3D,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAItC;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAcpF;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"url-variable.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/url-variable.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAwB,MAAM,QAAQ,CAAC;AAG3D,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAItC;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAcpF;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,CAEnF"}
|
|
@@ -22,7 +22,6 @@ export function getOrRegisterUrlVariable(variable) {
|
|
|
22
22
|
return atomRegistry.get(variable.uid);
|
|
23
23
|
}
|
|
24
24
|
export function useUrlVariable(variable) {
|
|
25
|
-
|
|
26
|
-
return [val, setVal];
|
|
25
|
+
return useRecoilState(getOrRegisterUrlVariable(variable));
|
|
27
26
|
}
|
|
28
27
|
//# sourceMappingURL=url-variable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-variable.js","sourceRoot":"","sources":["../../../js/shared/interactivity/url-variable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAe,IAAI,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI5C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAI,QAAwB;IAChE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"url-variable.js","sourceRoot":"","sources":["../../../js/shared/interactivity/url-variable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAe,IAAI,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI5C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAI,QAAwB;IAChE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,YAAY,CAAC,GAAG,CACZ,QAAQ,CAAC,GAAG,EACZ,IAAI,CAAC;YACD,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,OAAO,EAAE;gBACL,aAAa,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;aAClG;YACD,GAAG,EAAE,QAAQ,CAAC,GAAG;SACpB,CAAC,CACL,CAAC;IACN,CAAC;IACD,OAAO,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,cAAc,CAAI,QAAwB;IACtD,OAAO,cAAc,CAAI,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-any-variable.js","sourceRoot":"","sources":["../../../js/shared/interactivity/use-any-variable.tsx"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,gDAAgD;;;;;;;;;;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAA2C,cAAc,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEzG,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAQ7C,MAAM,UAAU,cAAc,CAAU,QAAwB;IAC5D,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,qBAAqB,CAAC,QAAQ,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"use-any-variable.js","sourceRoot":"","sources":["../../../js/shared/interactivity/use-any-variable.tsx"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,gDAAgD;;;;;;;;;;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAA2C,cAAc,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEzG,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAQ7C,MAAM,UAAU,cAAc,CAAU,QAAwB;IAC5D,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9D,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QAE1C,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;YAC/B,uGAAuG;YACvG,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,GAAS,EAAE;gBAChB,MAAM,YAAY,GAAG,MAAM,OAAO,EAAE,CAAC;gBACrC,OAAO,YAAY,CAAC,IAAI,CAAC;YAC7B,CAAC,CAAA;YACD,QAAQ,EAAE,CAAC,mBAAmB,EAAE,QAAQ,CAAC,GAAG,CAAC;YAC7C,oBAAoB,EAAE,KAAK;YAC3B,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAC;QAEH,SAAS,CAAC,GAAG,EAAE;YACX,+BAA+B;YAC/B,OAAO,EAAE,CAAC;QACd,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAEd,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-data-variable.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/use-data-variable.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-data-variable.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/use-data-variable.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAkB,MAAM,SAAS,CAAC;AAEnF,OAAO,EACH,YAAY,EAMf,MAAM,YAAY,CAAC;AAEpB;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC3B,QAAQ,EAAE,eAAe,GAC1B,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,YAAY,CAAC,CA8C3E"}
|