@legendapp/state 0.19.8 → 0.20.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/react.js CHANGED
@@ -32,15 +32,15 @@ function useSelector(selector, options) {
32
32
  let ret = state.symbolUndef;
33
33
  const forceRender = (options === null || options === void 0 ? void 0 : options.forceRender) || React.useReducer(Update$1, 0)[1];
34
34
  const shouldRender = options === null || options === void 0 ? void 0 : options.shouldRender;
35
- state.observe(function update() {
35
+ state.observe(function update(e) {
36
36
  // If running, call selector and re-render if changed
37
37
  let cur = (inRun || shouldRender !== true) && state.computeSelector(selector);
38
38
  // Re-render if not currently rendering and value has changed
39
39
  if (!inRun &&
40
40
  (shouldRender === true || (shouldRender ? shouldRender(cur, ret) : cur !== ret || !state.isPrimitive(cur)))) {
41
41
  forceRender();
42
- // Return false so that observe does not track
43
- return false;
42
+ // Set cancel so that observe does not track
43
+ e.cancel = true;
44
44
  }
45
45
  ret = cur;
46
46
  inRun = false;
@@ -53,17 +53,11 @@ function useSelector(selector, options) {
53
53
  }
54
54
 
55
55
  let isEnabled = false;
56
- const Updater = (s) => s + 1;
57
- /**
58
- * Enable automatic observing and rendering observables directly
59
- *
60
- * @param {Object} options - { autoTrackingDEPRECATED } - Maintain the old behavior from version 0.18. This will be removed soon, so please migrate to `observer`.
61
- */
62
- function enableLegendStateReact(options = {}) {
56
+ function enableLegendStateReact() {
63
57
  if (!isEnabled) {
64
58
  isEnabled = true;
65
- // Inspired by Preact Signals: https://github.com/preactjs/signals/blob/main/packages/react/src/index.ts
66
- // 1. Add the extra primitive props so that observables can render directly
59
+ // Rendering observables directly inspired by Preact Signals: https://github.com/preactjs/signals/blob/main/packages/react/src/index.ts
60
+ // Add the extra primitive props so that observables can render directly
67
61
  // Memoized component to wrap the observable value
68
62
  const Text = React.memo(function Text({ data }) {
69
63
  const value = useSelector(data);
@@ -113,108 +107,6 @@ function enableLegendStateReact(options = {}) {
113
107
  _owner: config(null),
114
108
  _source: config(null),
115
109
  });
116
- // 2. Override dispatcher access to hook up tracking
117
- if (options === null || options === void 0 ? void 0 : options.autoTrackingDEPRECATED) {
118
- let dispatcher;
119
- let numTracking = 0;
120
- let lock;
121
- const mapDisposes = new WeakMap();
122
- // Track the component lifecycle using React's internal dispatcher changing. At the beginning of a component's render
123
- // we start a new tracking context and then at the end of a render we inject a useReducer and add a listener
124
- // to all tracked nodes to force render using the useReducer.
125
- Object.defineProperty(React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher, 'current', {
126
- get() {
127
- return dispatcher;
128
- },
129
- set(newDispatcher) {
130
- var _a, _b;
131
- // Skip this inside a recursive set from our usage of useReducer
132
- if (newDispatcher && !lock) {
133
- lock = true;
134
- const useCallback = newDispatcher.useCallback;
135
- // 1. Render Start
136
- // Start a new tracking context when entering a new rendering dispatcher
137
- // In development, rendering dispatchers have useCallback named either "mountHookTypes" or "updateHookTypes"
138
- // In production, they just have length = 2
139
- if (!numTracking && useCallback.length === 2) {
140
- numTracking++;
141
- // Keep a copy of the previous tracking context
142
- state.beginTracking();
143
- }
144
- // 2. Render End
145
- // When the React render is complete it sets the dispatcher to an object where useCallback has a length of 0
146
- else if (dispatcher && numTracking > 0 && useCallback.length < 2) {
147
- numTracking--;
148
- // If the previous dispatcher tracked nodes then set up hooks
149
- const tracker = state.tracking.current;
150
- if (tracker === null || tracker === void 0 ? void 0 : tracker.nodes) {
151
- try {
152
- const reducer = dispatcher.useReducer(Updater, 0)[1];
153
- let forceRender = reducer;
154
- // Dispose the previous listener if it exists
155
- (_a = mapDisposes.get(reducer)) === null || _a === void 0 ? void 0 : _a();
156
- let noArgs = true;
157
- if (process.env.NODE_ENV === 'development') {
158
- (_b = tracker.traceListeners) === null || _b === void 0 ? void 0 : _b.call(tracker, tracker.nodes);
159
- if (tracker.traceUpdates) {
160
- noArgs = false;
161
- forceRender = tracker.traceUpdates(reducer);
162
- }
163
- }
164
- // Wrap forceRender in a callback to run dispose before forceRender()
165
- // This lazily clears out any stale listeners in unmounted components because
166
- // they will call onChange and dispose the listeners, but since it won't render
167
- // again if it's unmounted, listeners will not be recreated again.
168
- function onChange() {
169
- const prevDispose = mapDisposes.get(reducer);
170
- if (prevDispose) {
171
- prevDispose();
172
- mapDisposes.delete(reducer);
173
- }
174
- if (process.env.NODE_ENV === 'development' && !noArgs) {
175
- forceRender.apply(this, arguments);
176
- }
177
- else {
178
- forceRender();
179
- }
180
- }
181
- // Track all of the nodes accessed by this component
182
- let dispose = state.setupTracking(tracker.nodes, onChange, /*noArgs*/ noArgs);
183
- // Set this dispose function into the map to clear before the next run
184
- mapDisposes.set(reducer, dispose);
185
- if (process.env.NODE_ENV === 'development') {
186
- // Clear tracing
187
- tracker.traceListeners = undefined;
188
- tracker.traceUpdates = undefined;
189
- }
190
- }
191
- catch (err) {
192
- // This may not ever be an error but since this is new we'll leave this here
193
- // for a bit while we see what the behavior is like
194
- if (process.env.NODE_ENV === 'development') {
195
- console.error('[legend-state] error creating hooks', err);
196
- throw new Error('[legend-state] error creating hooks');
197
- }
198
- }
199
- }
200
- else {
201
- // Wrap in try/catch because this can sometimes cause errors,
202
- // like when hydrating in Next.js
203
- try {
204
- // Run empty hooks if not tracking nodes, to keep the same number of hooks per render
205
- dispatcher.useReducer(Updater, 0);
206
- }
207
- catch (_c) { }
208
- }
209
- // Restore the previous tracking context
210
- state.endTracking();
211
- }
212
- lock = false;
213
- }
214
- dispatcher = newDispatcher;
215
- },
216
- });
217
- }
218
110
  }
219
111
  }
220
112
 
@@ -264,75 +156,102 @@ function For({ each, optimized, item, itemProps, children, }) {
264
156
  return out;
265
157
  }
266
158
 
159
+ const Update = (s) => s + 1;
267
160
  // Extracting the forwardRef inspired by https://github.com/mobxjs/mobx/blob/main/packages/mobx-react-lite/src/observer.ts
268
161
  const hasSymbol = typeof Symbol === 'function' && Symbol.for;
269
162
  const ReactForwardRefSymbol = hasSymbol
270
163
  ? Symbol.for('react.forward_ref')
271
164
  : typeof React.forwardRef === 'function' && React.forwardRef((props) => null)['$$typeof'];
272
- const Update = (s) => s + 1;
273
165
  function createReactiveComponent(component, observe, reactive, bindKeys) {
274
- const isStr = state.isString(component);
275
- let render = component;
276
- const componentName = !isStr && (component.displayName || component.name);
277
- // Unwrap forwardRef on the component
166
+ // If this component is already reactive bail out early
167
+ // This can happen with Fast Refresh.
168
+ if (component['__legend_proxied'])
169
+ return component;
278
170
  let useForwardRef;
279
- if (!isStr && ReactForwardRefSymbol && component['$$typeof'] === ReactForwardRefSymbol) {
280
- useForwardRef = true;
281
- render = component['render'];
282
- if (process.env.NODE_ENV === 'development' && typeof render !== 'function') {
283
- throw new Error(`[legend-state] \`render\` property of ForwardRef was not a function`);
284
- }
171
+ let render = component;
172
+ if (state.isString(component)) {
173
+ const base = component;
174
+ // If this is a builtin create a wrapper around it so we can proxy it
175
+ render = component = (props, ref) => {
176
+ const propsOut = { ...props };
177
+ if (ref && (state.isFunction(ref) || !state.isEmpty(ref))) {
178
+ propsOut.ref = ref;
179
+ }
180
+ return React.createElement(base, propsOut);
181
+ };
285
182
  }
286
- let ret = function ReactiveComponent(props, ref) {
287
- const fr = React.useReducer(Update, 0)[1];
288
- const propsOut = {};
289
- if (isStr && ref && (state.isFunction(ref) || !state.isEmpty(ref))) {
290
- propsOut.ref = ref;
183
+ else {
184
+ // Unwrap forwardRef on the component
185
+ if (ReactForwardRefSymbol && component['$$typeof'] === ReactForwardRefSymbol) {
186
+ useForwardRef = true;
187
+ render = component['render'];
188
+ if (process.env.NODE_ENV === 'development' && typeof render !== 'function') {
189
+ throw new Error(`[legend-state] \`render\` property of ForwardRef was not a function`);
190
+ }
291
191
  }
292
- if (reactive) {
293
- const keys = Object.keys(props);
294
- for (let i = 0; i < keys.length; i++) {
295
- const key = keys[i];
296
- const p = props[key];
297
- if (key.endsWith('$') && (state.isFunction(p) || state.isObservable(p))) {
298
- const k = key.slice(0, -1);
299
- propsOut[k] = react.useSelector(p, { forceRender: fr });
300
- const bind = bindKeys === null || bindKeys === void 0 ? void 0 : bindKeys[k];
301
- if (bind && state.isObservable(p)) {
302
- propsOut[bind.handler] = React.useCallback((e) => {
303
- var _a;
304
- p.set(bind.getValue(e));
305
- // @ts-ignore
306
- (_a = props[bind.handler]) === null || _a === void 0 ? void 0 : _a.call(props, e);
307
- }, [props[bind.handler], bindKeys]);
192
+ }
193
+ const proxyHandler = {
194
+ apply(target, thisArg, argArray) {
195
+ const fr = React.useReducer(Update, 0)[1];
196
+ // If this is a reactive component, convert all props ending in $
197
+ // to regular props and set up a useSelector listener
198
+ if (reactive) {
199
+ const props = argArray[0];
200
+ const propsOut = {};
201
+ const keys = Object.keys(props);
202
+ for (let i = 0; i < keys.length; i++) {
203
+ const key = keys[i];
204
+ const p = props[key];
205
+ // Convert reactive props
206
+ if (key.endsWith('$')) {
207
+ const k = key.slice(0, -1);
208
+ // Return raw value and Listen to the selector for changes
209
+ propsOut[k] = react.useSelector(p, { forceRender: fr });
210
+ // If this key is one of the bind keys set up a two-way binding
211
+ const bind = bindKeys === null || bindKeys === void 0 ? void 0 : bindKeys[k];
212
+ if (bind && state.isObservable(p)) {
213
+ // Use the bind's defaultValue if value is undefined
214
+ if (bind.defaultValue !== undefined && propsOut[k] === undefined) {
215
+ propsOut[k] = bind.defaultValue;
216
+ }
217
+ // Hook up the change lander
218
+ propsOut[bind.handler] = React.useCallback((e) => {
219
+ var _a;
220
+ p.set(bind.getValue(e));
221
+ // @ts-ignore
222
+ (_a = props[bind.handler]) === null || _a === void 0 ? void 0 : _a.call(props, e);
223
+ }, [props[bind.handler], bindKeys]);
224
+ }
225
+ // Delete the reactive key
226
+ delete propsOut[key];
227
+ }
228
+ else if (propsOut[key] === undefined) {
229
+ propsOut[key] = p;
308
230
  }
309
- delete propsOut[key];
310
- }
311
- else if (propsOut[key] === undefined) {
312
- propsOut[key] = p;
313
231
  }
232
+ argArray[0] = propsOut;
314
233
  }
315
- }
316
- else {
317
- Object.assign(propsOut, props);
318
- }
319
- return observe
320
- ? react.useSelector(() => (isStr ? React.createElement(render, propsOut) : render(propsOut, ref)), {
321
- forceRender: fr,
322
- shouldRender: true,
323
- })
324
- : isStr
325
- ? React.createElement(render, propsOut)
326
- : render(propsOut, ref);
234
+ // If observing wrap the whole render in a useSelector to listen to it
235
+ if (observe && fr) {
236
+ return react.useSelector(() => Reflect.apply(target, thisArg, argArray), {
237
+ forceRender: fr,
238
+ shouldRender: true,
239
+ });
240
+ }
241
+ else {
242
+ return Reflect.apply(target, thisArg, argArray);
243
+ }
244
+ },
327
245
  };
328
- if (componentName) {
329
- ret.displayName = componentName;
246
+ const proxy = new Proxy(render, proxyHandler);
247
+ if (useForwardRef) {
248
+ component['render'] = proxy;
249
+ component['__legend_proxied'] = proxy;
250
+ return component;
330
251
  }
331
- // Wrap back in forwardRef if necessary
332
- if (isStr || useForwardRef) {
333
- ret = React.forwardRef(ret);
252
+ else {
253
+ return proxy;
334
254
  }
335
- return observe ? React.memo(ret) : ret;
336
255
  }
337
256
  function observer(component) {
338
257
  return createReactiveComponent(component, true);
@@ -374,14 +293,30 @@ function useObservableReducer(reducer, initializerArg, initializer) {
374
293
  return [obs, dispatch];
375
294
  }
376
295
 
377
- function useObserve(selector) {
296
+ function useObserve(selector, callback) {
378
297
  const ref = React.useRef();
379
- ref.current = selector;
298
+ ref.current = { selector, callback };
380
299
  React.useEffect(() => {
381
- return state.observe(() => state.computeSelector(ref.current));
300
+ return state.observe((e) => {
301
+ const { selector, callback } = ref.current;
302
+ delete e.value;
303
+ state.computeSelector(selector, e);
304
+ // Don't run callback the first time if it's an event
305
+ if (callback && (e.num > 0 || !selector[state.symbolIsEvent])) {
306
+ e.value = e.previous;
307
+ callback(e);
308
+ }
309
+ });
382
310
  }, []);
383
311
  }
384
312
 
313
+ function useMount(fn) {
314
+ return React.useEffect(fn, []);
315
+ }
316
+ function useUnmount(fn) {
317
+ return React.useEffect(() => fn, []);
318
+ }
319
+
385
320
  exports.Computed = Computed;
386
321
  exports.For = For;
387
322
  exports.Memo = Memo;
@@ -393,8 +328,10 @@ exports.observer = observer;
393
328
  exports.reactive = reactive;
394
329
  exports.reactiveObserver = reactiveObserver;
395
330
  exports.useComputed = useComputed;
331
+ exports.useMount = useMount;
396
332
  exports.useObservable = useObservable;
397
333
  exports.useObservableReducer = useObservableReducer;
398
334
  exports.useObserve = useObserve;
399
335
  exports.useSelector = useSelector;
336
+ exports.useUnmount = useUnmount;
400
337
  //# sourceMappingURL=react.js.map
package/react.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sources":["../../src/react/createObservableHook.ts","../../src/react/useSelector.ts","../../src/react/enableLegendStateReact.ts","../../src/react/flow.tsx","../../src/react/reactive-observer.tsx","../../src/react/useComputed.ts","../../src/react/useObservable.ts","../../src/react/useObservableReducer.ts","../../src/react/useObserve.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["React","observable","Update","symbolUndef","useReducer","observe","computeSelector","isPrimitive","memo","getNode","createElement","extraPrimitiveProps","ObservablePrimitiveClass","ReactInternals","beginTracking","tracking","setupTracking","endTracking","isFunction","useRef","useMemo","forwardRef","isString","isEmpty","isObservable","useSelector","useCallback","computed","useEffect"],"mappings":"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"}
1
+ {"version":3,"file":"react.js","sources":["../../src/react/createObservableHook.ts","../../src/react/useSelector.ts","../../src/react/enableLegendStateReact.ts","../../src/react/flow.tsx","../../src/react/reactive-observer.tsx","../../src/react/useComputed.ts","../../src/react/useObservable.ts","../../src/react/useObservableReducer.ts","../../src/react/useObserve.ts","../../src/react/lifecycle.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null],"names":["React","observable","Update","symbolUndef","useReducer","observe","computeSelector","isPrimitive","memo","getNode","createElement","extraPrimitiveProps","ObservablePrimitiveClass","isFunction","useRef","useMemo","forwardRef","isString","isEmpty","useSelector","isObservable","useCallback","computed","useEffect","symbolIsEvent"],"mappings":"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"}