@legendapp/state 0.15.0-next.9 → 0.15.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.
- package/CHANGELOG.md +85 -0
- package/README.md +8 -8
- package/babel.js +21 -599
- package/babel.js.map +1 -1
- package/index.d.ts +7 -2
- package/index.js +130 -119
- package/index.js.map +1 -1
- package/index.mjs +124 -119
- package/index.mjs.map +1 -1
- package/internal.d.ts +1 -1
- package/internal.js +4 -0
- package/internal.js.map +1 -1
- package/internal.mjs +1 -1
- package/package.json +15 -17
- package/react-components.d.ts +1 -0
- package/react-components.js +42 -0
- package/react-components.js.map +1 -0
- package/react-components.mjs +40 -0
- package/react-components.mjs.map +1 -0
- package/react-native-components.d.ts +1 -0
- package/react-native-components.js +38 -0
- package/react-native-components.js.map +1 -0
- package/react-native-components.mjs +36 -0
- package/react-native-components.mjs.map +1 -0
- package/react.d.ts +1 -0
- package/react.js +139 -137
- package/react.js.map +1 -1
- package/react.mjs +137 -140
- package/react.mjs.map +1 -1
- package/src/globals.d.ts +3 -1
- package/src/helpers.d.ts +3 -1
- package/src/observableInterfaces.d.ts +16 -14
- package/src/{effect.d.ts → observe.d.ts} +1 -1
- package/src/onChange.d.ts +1 -5
- package/src/react/flow.d.ts +31 -0
- package/src/react/useComputed.d.ts +6 -1
- package/src/react/useObserve.d.ts +1 -0
- package/src/{react/components.d.ts → react-components/react-components.d.ts} +4 -10
- package/src/{react-native/components.d.ts → react-native-components/rn-components.d.ts} +4 -8
- package/src/tracking.d.ts +1 -1
- package/src/when.d.ts +1 -5
- package/trace.js +4 -2
- package/trace.js.map +1 -1
- package/trace.mjs +5 -3
- package/trace.mjs.map +1 -1
- package/types.d.ts +15 -0
- package/react-native-types.d.ts +0 -39
- package/react-native.d.ts +0 -1
- package/react-native.js +0 -173
- package/react-native.js.map +0 -1
- package/react-native.mjs +0 -169
- package/react-native.mjs.map +0 -1
- package/react-types.d.ts +0 -8
- package/reactivity.d.ts +0 -2
- package/reactivity.js +0 -230
- package/reactivity.js.map +0 -1
- package/reactivity.mjs +0 -222
- package/reactivity.mjs.map +0 -1
- package/src/react/controlFlow.d.ts +0 -28
- package/state-types.d.ts +0 -24
package/reactivity.js
DELETED
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var state = require('@legendapp/state');
|
|
6
|
-
var react = require('react');
|
|
7
|
-
|
|
8
|
-
var Tracking;
|
|
9
|
-
(function (Tracking) {
|
|
10
|
-
Tracking.normal = true;
|
|
11
|
-
Tracking.shallow = Symbol('shallow');
|
|
12
|
-
Tracking.optimized = Symbol('optimized');
|
|
13
|
-
})(Tracking || (Tracking = {}));
|
|
14
|
-
function getNodeValue(node) {
|
|
15
|
-
const arr = [];
|
|
16
|
-
let n = node;
|
|
17
|
-
while ((n === null || n === void 0 ? void 0 : n.key) !== undefined) {
|
|
18
|
-
arr.push(n.key);
|
|
19
|
-
n = n.parent;
|
|
20
|
-
}
|
|
21
|
-
let child = node.root._;
|
|
22
|
-
for (let i = arr.length - 1; i >= 0; i--) {
|
|
23
|
-
if (arr[i] !== undefined && child) {
|
|
24
|
-
child = child[arr[i]];
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return child;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
let listenerIndex = 0;
|
|
31
|
-
function onChange(node, callback, options) {
|
|
32
|
-
let id = listenerIndex++;
|
|
33
|
-
let listeners = node.listeners;
|
|
34
|
-
if (!listeners) {
|
|
35
|
-
node.listeners = listeners = new Map();
|
|
36
|
-
}
|
|
37
|
-
if (options) {
|
|
38
|
-
// A memory efficient way to save shallowness is to put it on the id itself
|
|
39
|
-
if (options.shallow)
|
|
40
|
-
id = 's' + id;
|
|
41
|
-
else if (options.optimized)
|
|
42
|
-
id = 'o' + id;
|
|
43
|
-
if (options.runImmediately) {
|
|
44
|
-
const value = getNodeValue(node);
|
|
45
|
-
callback(value, () => value, [], value, value, node);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
listeners.set(id, callback);
|
|
49
|
-
return () => listeners.delete(id);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
function setupTracking(nodes, update) {
|
|
53
|
-
let listeners = [];
|
|
54
|
-
// Listen to tracked nodes
|
|
55
|
-
for (let tracked of nodes.values()) {
|
|
56
|
-
const { node, track } = tracked;
|
|
57
|
-
let options;
|
|
58
|
-
if (track) {
|
|
59
|
-
options = {
|
|
60
|
-
shallow: track === Tracking.shallow,
|
|
61
|
-
optimized: track === Tracking.optimized,
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
listeners.push(onChange(node, update, options));
|
|
65
|
-
}
|
|
66
|
-
return () => {
|
|
67
|
-
if (listeners) {
|
|
68
|
-
for (let i = 0; i < listeners.length; i++) {
|
|
69
|
-
listeners[i]();
|
|
70
|
-
}
|
|
71
|
-
listeners = undefined;
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
function useForceRender() {
|
|
77
|
-
const [, forceRender] = react.useReducer((s) => s + 1, 0);
|
|
78
|
-
return react.useCallback(() => forceRender(), []);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
const hasSymbol = typeof Symbol === 'function' && Symbol.for;
|
|
82
|
-
// Extracting the forwardRef inspired by https://github.com/mobxjs/mobx/blob/main/packages/mobx-react-lite/src/observer.ts
|
|
83
|
-
const ReactForwardRefSymbol = hasSymbol
|
|
84
|
-
? Symbol.for('react.forward_ref')
|
|
85
|
-
: typeof react.forwardRef === 'function' && react.forwardRef((props) => null)['$$typeof'];
|
|
86
|
-
function observer(component, propsAreEqual) {
|
|
87
|
-
// Unwrap forwardRef on the component
|
|
88
|
-
let useForwardRef;
|
|
89
|
-
if (ReactForwardRefSymbol && component['$$typeof'] === ReactForwardRefSymbol) {
|
|
90
|
-
useForwardRef = true;
|
|
91
|
-
component = component['render'];
|
|
92
|
-
if (process.env.NODE_ENV === 'development' && typeof component !== 'function') {
|
|
93
|
-
throw new Error(`[legend-state] \`render\` property of ForwardRef was not a function`);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
const componentName = component.displayName || component.name;
|
|
97
|
-
// Create a wrapper observer component
|
|
98
|
-
let observer = function (props, ref) {
|
|
99
|
-
const forceRender = useForceRender();
|
|
100
|
-
let inRender = true;
|
|
101
|
-
let rendered;
|
|
102
|
-
let cachedNodes;
|
|
103
|
-
const update = function () {
|
|
104
|
-
if (inRender) {
|
|
105
|
-
rendered = component(props, ref);
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
forceRender();
|
|
109
|
-
}
|
|
110
|
-
inRender = false;
|
|
111
|
-
if (process.env.NODE_ENV === 'development') {
|
|
112
|
-
cachedNodes = state.tracking.nodes;
|
|
113
|
-
}
|
|
114
|
-
};
|
|
115
|
-
let dispose = state.effect(update);
|
|
116
|
-
if (process.env.NODE_ENV === 'development') {
|
|
117
|
-
react.useEffect(() => {
|
|
118
|
-
// Workaround for React 18's double calling useEffect. If this is the
|
|
119
|
-
// second useEffect, set up tracking again.
|
|
120
|
-
if (dispose === undefined) {
|
|
121
|
-
dispose = setupTracking(cachedNodes, update);
|
|
122
|
-
}
|
|
123
|
-
return () => {
|
|
124
|
-
dispose();
|
|
125
|
-
dispose = undefined;
|
|
126
|
-
};
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
else {
|
|
130
|
-
react.useEffect(() => dispose);
|
|
131
|
-
}
|
|
132
|
-
return rendered;
|
|
133
|
-
};
|
|
134
|
-
if (componentName !== '') {
|
|
135
|
-
observer.displayName = componentName;
|
|
136
|
-
}
|
|
137
|
-
// Wrap back in forwardRef if necessary
|
|
138
|
-
if (useForwardRef) {
|
|
139
|
-
observer = react.forwardRef(observer);
|
|
140
|
-
}
|
|
141
|
-
return react.memo(observer, propsAreEqual);
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
const Binder = function (Component) {
|
|
145
|
-
return observer(react.forwardRef(function Bound({ bind, ...props }, ref) {
|
|
146
|
-
if (bind) {
|
|
147
|
-
const { onChange, className, style } = props;
|
|
148
|
-
// Set the bound value and forward onChange
|
|
149
|
-
props.onChange = react.useCallback((e) => {
|
|
150
|
-
bind.set(e.target.value);
|
|
151
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(e);
|
|
152
|
-
}, [onChange]);
|
|
153
|
-
// Get the bound value
|
|
154
|
-
const value = (props.value = bind.get());
|
|
155
|
-
// Call className if it's a function
|
|
156
|
-
if (state.isFunction(className)) {
|
|
157
|
-
props.className = className(value);
|
|
158
|
-
}
|
|
159
|
-
// Call style if it's a function
|
|
160
|
-
if (state.isFunction(style)) {
|
|
161
|
-
props.style = style(value);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
return react.createElement(Component, ref ? { ...props, ref } : props);
|
|
165
|
-
// TS hack because forwardRef messes with the templating
|
|
166
|
-
}));
|
|
167
|
-
};
|
|
168
|
-
exports.LS = void 0;
|
|
169
|
-
(function (LS) {
|
|
170
|
-
LS.input = Binder('input');
|
|
171
|
-
LS.textarea = Binder('textarea');
|
|
172
|
-
LS.select = Binder('select');
|
|
173
|
-
})(exports.LS || (exports.LS = {}));
|
|
174
|
-
|
|
175
|
-
const returnTrue = function () {
|
|
176
|
-
return true;
|
|
177
|
-
};
|
|
178
|
-
const Isolate = observer(function Isolate({ children }) {
|
|
179
|
-
return children();
|
|
180
|
-
});
|
|
181
|
-
const Memo = observer(function Memo({ children }) {
|
|
182
|
-
return children();
|
|
183
|
-
}, returnTrue);
|
|
184
|
-
const Show = observer(function Show({ if: if_, else: else_, children, memo, }) {
|
|
185
|
-
if (state.isFunction(if_)) {
|
|
186
|
-
if_ = if_();
|
|
187
|
-
}
|
|
188
|
-
if (state.isObservable(if_)) {
|
|
189
|
-
if_ = if_.get();
|
|
190
|
-
}
|
|
191
|
-
return if_
|
|
192
|
-
? (memo ? react.useMemo(() => children, []) : children)()
|
|
193
|
-
: else_
|
|
194
|
-
? else_()
|
|
195
|
-
: null;
|
|
196
|
-
});
|
|
197
|
-
const For = observer(function For({ each, optimized, item, children, }) {
|
|
198
|
-
// The child function gets wrapped in a memoized observer component
|
|
199
|
-
if (!item && children) {
|
|
200
|
-
// Update the ref so the generated component uses the latest function
|
|
201
|
-
const refChildren = react.useRef();
|
|
202
|
-
refChildren.current = children;
|
|
203
|
-
item = react.useMemo(() => observer(({ item }) => refChildren.current(item)), []);
|
|
204
|
-
}
|
|
205
|
-
if (!each)
|
|
206
|
-
return null;
|
|
207
|
-
// Get the raw value with a shallow listener so this list only re-renders
|
|
208
|
-
// when the array length changes
|
|
209
|
-
const v = each.get(optimized ? state.Tracking.optimized : state.Tracking.shallow);
|
|
210
|
-
if (!v)
|
|
211
|
-
return null;
|
|
212
|
-
// Get the appropriate id field
|
|
213
|
-
const id = v.length > 0 ? (v[0].id ? 'id' : v[0]._id ? '_id' : v[0].__id ? '__id' : undefined) : undefined;
|
|
214
|
-
// Create the child elements
|
|
215
|
-
let out = [];
|
|
216
|
-
for (let i = 0; i < v.length; i++) {
|
|
217
|
-
if (v[i]) {
|
|
218
|
-
const key = v[i][id];
|
|
219
|
-
out.push(react.createElement(item, { key: key, item: each[i] }));
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
return out;
|
|
223
|
-
});
|
|
224
|
-
|
|
225
|
-
exports.Binder = Binder;
|
|
226
|
-
exports.For = For;
|
|
227
|
-
exports.Isolate = Isolate;
|
|
228
|
-
exports.Memo = Memo;
|
|
229
|
-
exports.Show = Show;
|
|
230
|
-
//# sourceMappingURL=reactivity.js.map
|
package/reactivity.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reactivity.js","sources":["../../src/globals.ts","../../src/onChange.ts","../../src/effect.ts","../../src/react/useForceRender.ts","../../src/react/observer.ts","../../src/react/components.tsx","../../src/react/controlFlow.tsx"],"sourcesContent":[null,null,null,null,null,null,null],"names":["useReducer","useCallback","forwardRef","tracking","effect","useEffect","memo","isFunction","createElement","LS","isObservable","useMemo","useRef","Tracking"],"mappings":"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"}
|
package/reactivity.mjs
DELETED
|
@@ -1,222 +0,0 @@
|
|
|
1
|
-
import { effect, tracking, isFunction, isObservable, Tracking as Tracking$1 } from '@legendapp/state';
|
|
2
|
-
import { useReducer, useCallback, forwardRef, memo, useEffect, createElement, useMemo, useRef } from 'react';
|
|
3
|
-
|
|
4
|
-
var Tracking;
|
|
5
|
-
(function (Tracking) {
|
|
6
|
-
Tracking.normal = true;
|
|
7
|
-
Tracking.shallow = Symbol('shallow');
|
|
8
|
-
Tracking.optimized = Symbol('optimized');
|
|
9
|
-
})(Tracking || (Tracking = {}));
|
|
10
|
-
function getNodeValue(node) {
|
|
11
|
-
const arr = [];
|
|
12
|
-
let n = node;
|
|
13
|
-
while ((n === null || n === void 0 ? void 0 : n.key) !== undefined) {
|
|
14
|
-
arr.push(n.key);
|
|
15
|
-
n = n.parent;
|
|
16
|
-
}
|
|
17
|
-
let child = node.root._;
|
|
18
|
-
for (let i = arr.length - 1; i >= 0; i--) {
|
|
19
|
-
if (arr[i] !== undefined && child) {
|
|
20
|
-
child = child[arr[i]];
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
return child;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
let listenerIndex = 0;
|
|
27
|
-
function onChange(node, callback, options) {
|
|
28
|
-
let id = listenerIndex++;
|
|
29
|
-
let listeners = node.listeners;
|
|
30
|
-
if (!listeners) {
|
|
31
|
-
node.listeners = listeners = new Map();
|
|
32
|
-
}
|
|
33
|
-
if (options) {
|
|
34
|
-
// A memory efficient way to save shallowness is to put it on the id itself
|
|
35
|
-
if (options.shallow)
|
|
36
|
-
id = 's' + id;
|
|
37
|
-
else if (options.optimized)
|
|
38
|
-
id = 'o' + id;
|
|
39
|
-
if (options.runImmediately) {
|
|
40
|
-
const value = getNodeValue(node);
|
|
41
|
-
callback(value, () => value, [], value, value, node);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
listeners.set(id, callback);
|
|
45
|
-
return () => listeners.delete(id);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
function setupTracking(nodes, update) {
|
|
49
|
-
let listeners = [];
|
|
50
|
-
// Listen to tracked nodes
|
|
51
|
-
for (let tracked of nodes.values()) {
|
|
52
|
-
const { node, track } = tracked;
|
|
53
|
-
let options;
|
|
54
|
-
if (track) {
|
|
55
|
-
options = {
|
|
56
|
-
shallow: track === Tracking.shallow,
|
|
57
|
-
optimized: track === Tracking.optimized,
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
listeners.push(onChange(node, update, options));
|
|
61
|
-
}
|
|
62
|
-
return () => {
|
|
63
|
-
if (listeners) {
|
|
64
|
-
for (let i = 0; i < listeners.length; i++) {
|
|
65
|
-
listeners[i]();
|
|
66
|
-
}
|
|
67
|
-
listeners = undefined;
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
function useForceRender() {
|
|
73
|
-
const [, forceRender] = useReducer((s) => s + 1, 0);
|
|
74
|
-
return useCallback(() => forceRender(), []);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
const hasSymbol = typeof Symbol === 'function' && Symbol.for;
|
|
78
|
-
// Extracting the forwardRef inspired by https://github.com/mobxjs/mobx/blob/main/packages/mobx-react-lite/src/observer.ts
|
|
79
|
-
const ReactForwardRefSymbol = hasSymbol
|
|
80
|
-
? Symbol.for('react.forward_ref')
|
|
81
|
-
: typeof forwardRef === 'function' && forwardRef((props) => null)['$$typeof'];
|
|
82
|
-
function observer(component, propsAreEqual) {
|
|
83
|
-
// Unwrap forwardRef on the component
|
|
84
|
-
let useForwardRef;
|
|
85
|
-
if (ReactForwardRefSymbol && component['$$typeof'] === ReactForwardRefSymbol) {
|
|
86
|
-
useForwardRef = true;
|
|
87
|
-
component = component['render'];
|
|
88
|
-
if (process.env.NODE_ENV === 'development' && typeof component !== 'function') {
|
|
89
|
-
throw new Error(`[legend-state] \`render\` property of ForwardRef was not a function`);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
const componentName = component.displayName || component.name;
|
|
93
|
-
// Create a wrapper observer component
|
|
94
|
-
let observer = function (props, ref) {
|
|
95
|
-
const forceRender = useForceRender();
|
|
96
|
-
let inRender = true;
|
|
97
|
-
let rendered;
|
|
98
|
-
let cachedNodes;
|
|
99
|
-
const update = function () {
|
|
100
|
-
if (inRender) {
|
|
101
|
-
rendered = component(props, ref);
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
forceRender();
|
|
105
|
-
}
|
|
106
|
-
inRender = false;
|
|
107
|
-
if (process.env.NODE_ENV === 'development') {
|
|
108
|
-
cachedNodes = tracking.nodes;
|
|
109
|
-
}
|
|
110
|
-
};
|
|
111
|
-
let dispose = effect(update);
|
|
112
|
-
if (process.env.NODE_ENV === 'development') {
|
|
113
|
-
useEffect(() => {
|
|
114
|
-
// Workaround for React 18's double calling useEffect. If this is the
|
|
115
|
-
// second useEffect, set up tracking again.
|
|
116
|
-
if (dispose === undefined) {
|
|
117
|
-
dispose = setupTracking(cachedNodes, update);
|
|
118
|
-
}
|
|
119
|
-
return () => {
|
|
120
|
-
dispose();
|
|
121
|
-
dispose = undefined;
|
|
122
|
-
};
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
useEffect(() => dispose);
|
|
127
|
-
}
|
|
128
|
-
return rendered;
|
|
129
|
-
};
|
|
130
|
-
if (componentName !== '') {
|
|
131
|
-
observer.displayName = componentName;
|
|
132
|
-
}
|
|
133
|
-
// Wrap back in forwardRef if necessary
|
|
134
|
-
if (useForwardRef) {
|
|
135
|
-
observer = forwardRef(observer);
|
|
136
|
-
}
|
|
137
|
-
return memo(observer, propsAreEqual);
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
const Binder = function (Component) {
|
|
141
|
-
return observer(forwardRef(function Bound({ bind, ...props }, ref) {
|
|
142
|
-
if (bind) {
|
|
143
|
-
const { onChange, className, style } = props;
|
|
144
|
-
// Set the bound value and forward onChange
|
|
145
|
-
props.onChange = useCallback((e) => {
|
|
146
|
-
bind.set(e.target.value);
|
|
147
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(e);
|
|
148
|
-
}, [onChange]);
|
|
149
|
-
// Get the bound value
|
|
150
|
-
const value = (props.value = bind.get());
|
|
151
|
-
// Call className if it's a function
|
|
152
|
-
if (isFunction(className)) {
|
|
153
|
-
props.className = className(value);
|
|
154
|
-
}
|
|
155
|
-
// Call style if it's a function
|
|
156
|
-
if (isFunction(style)) {
|
|
157
|
-
props.style = style(value);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
return createElement(Component, ref ? { ...props, ref } : props);
|
|
161
|
-
// TS hack because forwardRef messes with the templating
|
|
162
|
-
}));
|
|
163
|
-
};
|
|
164
|
-
var LS;
|
|
165
|
-
(function (LS) {
|
|
166
|
-
LS.input = Binder('input');
|
|
167
|
-
LS.textarea = Binder('textarea');
|
|
168
|
-
LS.select = Binder('select');
|
|
169
|
-
})(LS || (LS = {}));
|
|
170
|
-
|
|
171
|
-
const returnTrue = function () {
|
|
172
|
-
return true;
|
|
173
|
-
};
|
|
174
|
-
const Isolate = observer(function Isolate({ children }) {
|
|
175
|
-
return children();
|
|
176
|
-
});
|
|
177
|
-
const Memo = observer(function Memo({ children }) {
|
|
178
|
-
return children();
|
|
179
|
-
}, returnTrue);
|
|
180
|
-
const Show = observer(function Show({ if: if_, else: else_, children, memo, }) {
|
|
181
|
-
if (isFunction(if_)) {
|
|
182
|
-
if_ = if_();
|
|
183
|
-
}
|
|
184
|
-
if (isObservable(if_)) {
|
|
185
|
-
if_ = if_.get();
|
|
186
|
-
}
|
|
187
|
-
return if_
|
|
188
|
-
? (memo ? useMemo(() => children, []) : children)()
|
|
189
|
-
: else_
|
|
190
|
-
? else_()
|
|
191
|
-
: null;
|
|
192
|
-
});
|
|
193
|
-
const For = observer(function For({ each, optimized, item, children, }) {
|
|
194
|
-
// The child function gets wrapped in a memoized observer component
|
|
195
|
-
if (!item && children) {
|
|
196
|
-
// Update the ref so the generated component uses the latest function
|
|
197
|
-
const refChildren = useRef();
|
|
198
|
-
refChildren.current = children;
|
|
199
|
-
item = useMemo(() => observer(({ item }) => refChildren.current(item)), []);
|
|
200
|
-
}
|
|
201
|
-
if (!each)
|
|
202
|
-
return null;
|
|
203
|
-
// Get the raw value with a shallow listener so this list only re-renders
|
|
204
|
-
// when the array length changes
|
|
205
|
-
const v = each.get(optimized ? Tracking$1.optimized : Tracking$1.shallow);
|
|
206
|
-
if (!v)
|
|
207
|
-
return null;
|
|
208
|
-
// Get the appropriate id field
|
|
209
|
-
const id = v.length > 0 ? (v[0].id ? 'id' : v[0]._id ? '_id' : v[0].__id ? '__id' : undefined) : undefined;
|
|
210
|
-
// Create the child elements
|
|
211
|
-
let out = [];
|
|
212
|
-
for (let i = 0; i < v.length; i++) {
|
|
213
|
-
if (v[i]) {
|
|
214
|
-
const key = v[i][id];
|
|
215
|
-
out.push(createElement(item, { key: key, item: each[i] }));
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
return out;
|
|
219
|
-
});
|
|
220
|
-
|
|
221
|
-
export { Binder, For, Isolate, LS, Memo, Show };
|
|
222
|
-
//# sourceMappingURL=reactivity.mjs.map
|
package/reactivity.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reactivity.mjs","sources":["../../src/globals.ts","../../src/onChange.ts","../../src/effect.ts","../../src/react/useForceRender.ts","../../src/react/observer.ts","../../src/react/components.tsx","../../src/react/controlFlow.tsx"],"sourcesContent":[null,null,null,null,null,null,null],"names":["Tracking"],"mappings":"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"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { ReactElement, ReactNode } from 'react';
|
|
2
|
-
import type { NotPrimitive, ObservableReadable } from '../observableInterfaces';
|
|
3
|
-
export declare const Isolate: ({ children }: {
|
|
4
|
-
children: () => ReactNode;
|
|
5
|
-
}) => ReactElement;
|
|
6
|
-
export declare const Memo: ({ children }: {
|
|
7
|
-
children: () => ReactNode;
|
|
8
|
-
}) => ReactElement;
|
|
9
|
-
export declare const Show: <T>({ if: if_, else: else_, children, memo, }: {
|
|
10
|
-
if: NotPrimitive<T>;
|
|
11
|
-
else?: () => ReactNode;
|
|
12
|
-
memo?: boolean;
|
|
13
|
-
children: () => ReactNode;
|
|
14
|
-
}) => ReactElement;
|
|
15
|
-
export declare const For: <T extends {
|
|
16
|
-
id: string;
|
|
17
|
-
} | {
|
|
18
|
-
_id: string;
|
|
19
|
-
} | {
|
|
20
|
-
__id: string;
|
|
21
|
-
}>({ each, optimized, item, children, }: {
|
|
22
|
-
each?: ObservableReadable<T[]>;
|
|
23
|
-
optimized?: boolean;
|
|
24
|
-
item?: ({ item: T }: {
|
|
25
|
-
item: any;
|
|
26
|
-
}) => ReactElement;
|
|
27
|
-
children?: (value: T) => ReactElement;
|
|
28
|
-
}) => ReactElement;
|
package/state-types.d.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import '@legendapp/state/reactivity';
|
|
2
|
-
declare module '@legendapp/state/reactivity' {
|
|
3
|
-
export declare const Isolate: ({
|
|
4
|
-
children,
|
|
5
|
-
}: {
|
|
6
|
-
children: React.ReactNode | (() => React.ReactNode);
|
|
7
|
-
}) => React.ReactElement;
|
|
8
|
-
export declare const Memo: ({
|
|
9
|
-
children,
|
|
10
|
-
}: {
|
|
11
|
-
children: React.ReactNode | (() => React.ReactNode);
|
|
12
|
-
}) => React.ReactElement;
|
|
13
|
-
export declare const Show: <T>({
|
|
14
|
-
if: if_,
|
|
15
|
-
else: else_,
|
|
16
|
-
children,
|
|
17
|
-
memo,
|
|
18
|
-
}: {
|
|
19
|
-
if: any;
|
|
20
|
-
else?: React.ReactNode | (() => React.ReactNode);
|
|
21
|
-
memo?: boolean;
|
|
22
|
-
children: React.ReactNode | (() => React.ReactNode);
|
|
23
|
-
}) => React.ReactElement;
|
|
24
|
-
}
|