@darajs/core 1.7.1 → 1.7.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.
@@ -1 +1 @@
1
- {"version":3,"file":"plain-variable.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/plain-variable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,WAAW,EAA8B,MAAM,QAAQ,CAAC;AAE7E,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;AA2D7E;;;;;;;;;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,CA+HhB"}
1
+ {"version":3,"file":"plain-variable.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/plain-variable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,WAAW,EAA8B,MAAM,QAAQ,CAAC;AAG7E,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;AAsG7E;;;;;;;;;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,CAoJhB"}
@@ -9,8 +9,9 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
9
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
10
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
11
11
  };
12
- var _a, _StateSynchronizer_instance, _StateSynchronizer_listenersMap;
12
+ var _a, _StateSynchronizer_instance, _StateSynchronizer_observers;
13
13
  import { atomFamily, selectorFamily } from 'recoil';
14
+ import { BehaviorSubject } from 'rxjs';
14
15
  import { RequestExtrasSerializable } from '../../api/http';
15
16
  import { isEmbedded } from '../../shared/utils/embed';
16
17
  import { isDerivedVariable } from '../../types';
@@ -26,7 +27,7 @@ import { atomFamilyMembersRegistry, atomFamilyRegistry, getRegistryKey, selector
26
27
  class StateSynchronizer {
27
28
  // eslint-disable-next-line no-useless-constructor, no-empty-function
28
29
  constructor() {
29
- _StateSynchronizer_listenersMap.set(this, new Map());
30
+ _StateSynchronizer_observers.set(this, new Map());
30
31
  }
31
32
  static getInstance() {
32
33
  if (!__classPrivateFieldGet(_a, _a, "f", _StateSynchronizer_instance)) {
@@ -34,34 +35,70 @@ class StateSynchronizer {
34
35
  }
35
36
  return __classPrivateFieldGet(_a, _a, "f", _StateSynchronizer_instance);
36
37
  }
38
+ /**
39
+ * Register a key in the state synchronizer
40
+ *
41
+ * @param key key to register
42
+ * @param defaultValue value to register
43
+ */
44
+ register(key, defaultValue) {
45
+ if (!__classPrivateFieldGet(this, _StateSynchronizer_observers, "f").has(key)) {
46
+ __classPrivateFieldGet(this, _StateSynchronizer_observers, "f").set(key, new BehaviorSubject({ type: 'initial', value: defaultValue }));
47
+ }
48
+ }
49
+ /**
50
+ * Check if a given key is registered in the state synchronizer
51
+ *
52
+ * @param key key to check if registered
53
+ */
54
+ isRegistered(key) {
55
+ return __classPrivateFieldGet(this, _StateSynchronizer_observers, "f").has(key);
56
+ }
57
+ /**
58
+ * Get the current state for a given key
59
+ *
60
+ * @param key key to get the current value for
61
+ */
62
+ getCurrentState(key) {
63
+ if (!this.isRegistered(key)) {
64
+ return null;
65
+ }
66
+ return __classPrivateFieldGet(this, _StateSynchronizer_observers, "f").get(key).getValue();
67
+ }
37
68
  /**
38
69
  * Subscribe to changes on a given key
39
70
  *
40
71
  * @param key key to subscribe to
41
- * @param listener listener to invoke on change
42
- * @returns a cleanup function to unsubscribe
43
72
  */
44
- subscribe(key, listener) {
45
- if (!__classPrivateFieldGet(this, _StateSynchronizer_listenersMap, "f").has(key)) {
46
- __classPrivateFieldGet(this, _StateSynchronizer_listenersMap, "f").set(key, new Set());
73
+ subscribe(key, subscription) {
74
+ // If somehow the ended up with no listener here, register it with null value
75
+ if (!this.isRegistered(key)) {
76
+ this.register(key, null);
47
77
  }
48
- __classPrivateFieldGet(this, _StateSynchronizer_listenersMap, "f").get(key).add(listener);
78
+ const sub = __classPrivateFieldGet(this, _StateSynchronizer_observers, "f").get(key).subscribe(subscription);
49
79
  return () => {
50
- __classPrivateFieldGet(this, _StateSynchronizer_listenersMap, "f").get(key).delete(listener);
80
+ sub.unsubscribe();
81
+ // if no more observers, remove the listener
82
+ if (__classPrivateFieldGet(this, _StateSynchronizer_observers, "f").get(key).observers.length === 0) {
83
+ __classPrivateFieldGet(this, _StateSynchronizer_observers, "f").delete(key);
84
+ }
51
85
  };
52
86
  }
53
87
  /**
54
88
  * Notify listeners for a given key
55
89
  *
56
90
  * @param key key to notify listeners for
57
- * @param args arguments to pass to the listeners
91
+ * @param update update to notify about
58
92
  */
59
- notify(key, ...args) {
60
- var _b;
61
- (_b = __classPrivateFieldGet(this, _StateSynchronizer_listenersMap, "f").get(key)) === null || _b === void 0 ? void 0 : _b.forEach((listener) => listener(...args));
93
+ notify(key, update) {
94
+ // If somehow the ended up with no listener here, register it with null value
95
+ if (!this.isRegistered(key)) {
96
+ this.register(key, null);
97
+ }
98
+ __classPrivateFieldGet(this, _StateSynchronizer_observers, "f").get(key).next(update);
62
99
  }
63
100
  }
64
- _a = StateSynchronizer, _StateSynchronizer_listenersMap = new WeakMap();
101
+ _a = StateSynchronizer, _StateSynchronizer_observers = new WeakMap();
65
102
  _StateSynchronizer_instance = { value: void 0 };
66
103
  /**
67
104
  * Get a plain variable from the atom or selector registry (based on nested property),
@@ -91,23 +128,45 @@ export function getOrRegisterPlainVariable(variable, wsClient, taskContext, extr
91
128
  : variable.default,
92
129
  effects: (extrasSerializable) => {
93
130
  const familySync = ({ onSet, setSelf, resetSelf, node }) => {
131
+ // Register the atom in the state synchronizer if not already registered
132
+ if (!StateSynchronizer.getInstance().isRegistered(variable.uid)) {
133
+ StateSynchronizer.getInstance().register(variable.uid, variable.default);
134
+ }
135
+ else {
136
+ const currentState = StateSynchronizer.getInstance().getCurrentState(variable.uid);
137
+ if (!isDefaultDerived || (currentState === null || currentState === void 0 ? void 0 : currentState.type) !== 'initial') {
138
+ // Otherwise synchronize the initial value,
139
+ // unless the default is a DerivedVariable and the current state is initial
140
+ // because in that case the default will be linked to the selector which needs to be resolved
141
+ setSelf(currentState === null || currentState === void 0 ? void 0 : currentState.value);
142
+ }
143
+ }
94
144
  // Synchronize changes across atoms of the same family
95
- const unsub = StateSynchronizer.getInstance().subscribe(variable.uid, (nodeKey, newValue, oldValue, isReset) => {
145
+ const unsub = StateSynchronizer.getInstance().subscribe(variable.uid, (update) => {
146
+ if (update.type === 'initial') {
147
+ return;
148
+ }
96
149
  // skip updates from the same atom
97
- if (nodeKey === node.key) {
150
+ if (update.nodeKey === node.key) {
98
151
  return;
99
152
  }
100
- if (isReset) {
153
+ if (update.isReset) {
101
154
  resetSelf();
102
155
  }
103
156
  else {
104
- setSelf(newValue);
157
+ setSelf(update.value);
105
158
  }
106
159
  });
107
160
  onSet((newValue, oldValue, isReset) => {
108
- StateSynchronizer.getInstance().notify(variable.uid, node.key, newValue, oldValue, isReset);
161
+ StateSynchronizer.getInstance().notify(variable.uid, {
162
+ isReset,
163
+ nodeKey: node.key,
164
+ oldValue,
165
+ type: 'update',
166
+ value: newValue,
167
+ });
109
168
  });
110
- return () => unsub();
169
+ return unsub;
111
170
  };
112
171
  const effects = [familySync];
113
172
  // add an effect to handle backend store updates
@@ -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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"}