@legendapp/state 0.18.6 → 0.18.7-next.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/babel.js +67 -3
- package/babel.js.map +1 -1
- package/index.js +76 -79
- package/index.js.map +1 -1
- package/index.mjs +76 -80
- package/index.mjs.map +1 -1
- package/package.json +1 -1
- package/react.js +12 -42
- package/react.js.map +1 -1
- package/react.mjs +12 -42
- package/react.mjs.map +1 -1
- package/src/helpers.d.ts +2 -1
- package/src/observableInterfaces.d.ts +1 -4
- package/src/observe.d.ts +1 -1
- package/src/react/flow.d.ts +1 -2
- package/src/react/useObserve.d.ts +1 -1
- package/src/react/useSelector.d.ts +1 -1
- package/src/tracking.d.ts +2 -2
- package/src/when.d.ts +3 -3
- package/src/react/reactHelpers.d.ts +0 -3
package/react.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { updateTracking, getNodeValue, extraPrimitiveProps, ObservablePrimitiveClass, beginTracking, tracking, setupTracking, endTracking,
|
|
2
|
-
import { memo, createElement, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, useReducer,
|
|
1
|
+
import { updateTracking, getNodeValue, extraPrimitiveProps, ObservablePrimitiveClass, beginTracking, tracking, setupTracking, endTracking, observe, computeSelector, symbolUndef, isFunction, computed, observable } from '@legendapp/state';
|
|
2
|
+
import { memo, createElement, __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, useReducer, useRef, useMemo, useEffect } from 'react';
|
|
3
3
|
|
|
4
4
|
let isEnabled = false;
|
|
5
5
|
const Updater = (s) => s + 1;
|
|
@@ -60,7 +60,6 @@ function enableLegendStateReact() {
|
|
|
60
60
|
// 2. Override dispatcher access to hook up tracking
|
|
61
61
|
let dispatcher;
|
|
62
62
|
let numTracking = 0;
|
|
63
|
-
let prevNodes;
|
|
64
63
|
let lock;
|
|
65
64
|
const mapDisposes = new WeakMap();
|
|
66
65
|
// Track the component lifecycle using React's internal dispatcher changing. At the beginning of a component's render
|
|
@@ -83,7 +82,7 @@ function enableLegendStateReact() {
|
|
|
83
82
|
if (!numTracking && useCallback.length === 2) {
|
|
84
83
|
numTracking++;
|
|
85
84
|
// Keep a copy of the previous tracking context
|
|
86
|
-
|
|
85
|
+
beginTracking();
|
|
87
86
|
}
|
|
88
87
|
// 2. Render End
|
|
89
88
|
// When the React render is complete it sets the dispatcher to an object where useCallback has a length of 0
|
|
@@ -151,7 +150,7 @@ function enableLegendStateReact() {
|
|
|
151
150
|
catch (_c) { }
|
|
152
151
|
}
|
|
153
152
|
// Restore the previous tracking context
|
|
154
|
-
endTracking(
|
|
153
|
+
endTracking();
|
|
155
154
|
}
|
|
156
155
|
lock = false;
|
|
157
156
|
}
|
|
@@ -161,56 +160,27 @@ function enableLegendStateReact() {
|
|
|
161
160
|
}
|
|
162
161
|
}
|
|
163
162
|
|
|
164
|
-
function computeSelector(selector) {
|
|
165
|
-
let c = selector;
|
|
166
|
-
if (isFunction(c)) {
|
|
167
|
-
c = c();
|
|
168
|
-
}
|
|
169
|
-
if (isObservable(c)) {
|
|
170
|
-
c = c.get();
|
|
171
|
-
}
|
|
172
|
-
return c;
|
|
173
|
-
}
|
|
174
|
-
|
|
175
163
|
const Update = (s) => s + 1;
|
|
176
164
|
function useSelector(selector) {
|
|
177
165
|
let inRun = true;
|
|
178
166
|
let ret = symbolUndef;
|
|
179
|
-
let cachedNodes;
|
|
180
167
|
const fr = useReducer(Update, 0)[1];
|
|
181
|
-
|
|
182
|
-
var _a;
|
|
168
|
+
observe(function update() {
|
|
183
169
|
// If running, call selector and re-render if changed
|
|
184
170
|
let cur = computeSelector(selector);
|
|
185
171
|
// Re-render if not currently rendering and value has changed
|
|
186
172
|
if (!inRun && cur !== ret) {
|
|
187
173
|
fr();
|
|
174
|
+
// Return false so that observe does not track
|
|
175
|
+
return false;
|
|
188
176
|
}
|
|
189
177
|
ret = cur;
|
|
190
178
|
inRun = false;
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
let dispose = observe(update);
|
|
197
|
-
if (process.env.NODE_ENV === 'development') {
|
|
198
|
-
useEffect(() => {
|
|
199
|
-
// Workaround for React 18's double calling useEffect. If this is the
|
|
200
|
-
// second useEffect, set up tracking again.
|
|
201
|
-
if (dispose === undefined) {
|
|
202
|
-
dispose = setupTracking(cachedNodes, update, /*noArgs*/ true);
|
|
203
|
-
}
|
|
204
|
-
return () => {
|
|
205
|
-
dispose();
|
|
206
|
-
dispose = undefined;
|
|
207
|
-
};
|
|
208
|
-
});
|
|
209
|
-
}
|
|
210
|
-
else {
|
|
211
|
-
// Return dispose to cleanup before each render or on unmount
|
|
212
|
-
useEffect(() => dispose);
|
|
213
|
-
}
|
|
179
|
+
});
|
|
180
|
+
// Note: This does not have a useEffect to cleanup listeners because it is ok
|
|
181
|
+
// to call useReducer after unmounting. So it will lazily cleanup after unmount
|
|
182
|
+
// because it will call fr() and return false to not track. Then since fr() does
|
|
183
|
+
// not trigger re-render since it's unmounted, it does not set up tracking again.
|
|
214
184
|
return ret;
|
|
215
185
|
}
|
|
216
186
|
|
package/react.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.mjs","sources":["../../src/react/enableLegendStateReact.ts","../../src/react/
|
|
1
|
+
{"version":3,"file":"react.mjs","sources":["../../src/react/enableLegendStateReact.ts","../../src/react/useSelector.ts","../../src/react/flow.tsx","../../src/react/useComputed.ts","../../src/react/useObservable.ts","../../src/react/useObserve.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["ReactInternals"],"mappings":"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"}
|
package/src/helpers.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { NodeValue, ObservableObject, ObservableRef } from './observableInterfaces';
|
|
1
|
+
import type { NodeValue, ObservableObject, ObservableRef, Selector } from './observableInterfaces';
|
|
2
2
|
export declare function isObservable(obs: any): obs is ObservableObject;
|
|
3
|
+
export declare function computeSelector<T>(selector: Selector<T>): any;
|
|
3
4
|
export declare function getNode(obs: ObservableRef): NodeValue;
|
|
4
5
|
export declare function lockObservable(obs: ObservableRef, value: boolean): void;
|
|
5
6
|
export declare function mergeIntoObservable(target: ObservableObject | object, ...sources: any[]): any;
|
|
@@ -138,10 +138,7 @@ declare type SameShapeWithStringsRecord<T> = {
|
|
|
138
138
|
declare type SameShapeWithStrings<T> = T extends Record<string, Record<string, any>> ? {
|
|
139
139
|
__dict: SameShapeWithStrings<RecordValue<T>>;
|
|
140
140
|
} | SameShapeWithStringsRecord<T> : SameShapeWithStringsRecord<T>;
|
|
141
|
-
export
|
|
142
|
-
promise: Promise<T>;
|
|
143
|
-
dispose: ObservableListenerDispose;
|
|
144
|
-
}
|
|
141
|
+
export declare type Selector<T> = ObservableReadable<T> | (() => T);
|
|
145
142
|
export declare type ClassConstructor<I, Args extends any[] = any[]> = new (...args: Args) => I;
|
|
146
143
|
export declare type ObservableListenerDispose = () => void;
|
|
147
144
|
export interface ObservableWrapper {
|
package/src/observe.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { TrackingNode } from './observableInterfaces';
|
|
2
2
|
export declare function setupTracking(nodes: Map<number, TrackingNode>, update: () => void, noArgs?: boolean): () => void;
|
|
3
|
-
export declare function observe(run: () => void |
|
|
3
|
+
export declare function observe(run: () => void | boolean): () => void;
|
package/src/react/flow.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { FC, ReactElement, ReactNode } from 'react';
|
|
2
|
-
import { Selector } from '
|
|
3
|
-
import type { ObservableObject } from '../observableInterfaces';
|
|
2
|
+
import type { ObservableObject, Selector } from '../observableInterfaces';
|
|
4
3
|
export declare function Computed({ children }: {
|
|
5
4
|
children: () => ReactNode;
|
|
6
5
|
}): ReactElement;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Selector } from '
|
|
1
|
+
import { Selector } from '@legendapp/state';
|
|
2
2
|
export declare function useObserve<T>(selector: Selector<T>): void;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Selector } from '
|
|
1
|
+
import { Selector } from '@legendapp/state';
|
|
2
2
|
export declare function useSelector<T>(selector: Selector<T>): T;
|
package/src/tracking.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ interface TrackingState {
|
|
|
7
7
|
export declare const tracking: {
|
|
8
8
|
current: TrackingState;
|
|
9
9
|
};
|
|
10
|
-
export declare function beginTracking():
|
|
11
|
-
export declare function endTracking(
|
|
10
|
+
export declare function beginTracking(): void;
|
|
11
|
+
export declare function endTracking(): void;
|
|
12
12
|
export declare function updateTracking(node: NodeValue, track?: TrackingType): void;
|
|
13
13
|
export {};
|
package/src/when.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function when<T>(predicate:
|
|
3
|
-
export declare function when<T>(predicate:
|
|
1
|
+
import type { Selector } from './observableInterfaces';
|
|
2
|
+
export declare function when<T>(predicate: Selector<T>): Promise<T>;
|
|
3
|
+
export declare function when<T>(predicate: Selector<T>, effect: (T: any) => any | (() => any)): () => void;
|