@legendapp/state 0.16.0 → 0.16.1-next.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/CHANGELOG.md CHANGED
@@ -1,3 +1,22 @@
1
+ ## 0.16.0
2
+
3
+ See https://legendapp.com/dev/state/migrating for more details.
4
+
5
+ - Breaking: Removed `observer` HOC
6
+ - Feat: No longer need `observer` HOC - Call `enableLegendStateReact()` at the beginning of your app, and then all components automatically observe any accessed state
7
+ - Feat: `when` callback receives the current value as the parameter
8
+ - Feat: Add join to array functions that create shallow listeners
9
+
10
+
11
+ ## 0.15.3
12
+ - Feat: Observables can easily switch back and forth between being an object or a primitive, and observable primitives have less overhead
13
+
14
+ ## 0.15.2
15
+ - Fix: Crash when creating an observable starting undefined
16
+
17
+ ## 0.15.1
18
+ - Fix: Assigning an object with function children
19
+
1
20
  ## 0.15.0
2
21
 
3
22
  This is a big one with many breaking (but good) changes, so see https://legendapp.com/dev/state/migrating for more details. We're making a lot of breaking changes all once so that we can start to stabilize towards a 1.0.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@legendapp/state",
3
- "version": "0.16.0",
3
+ "version": "0.16.1-next.0",
4
4
  "description": "legend-state",
5
5
  "sideEffects": false,
6
6
  "private": false,
package/react.js CHANGED
@@ -66,6 +66,8 @@ function For({ each, optimized, item, children, }) {
66
66
  }
67
67
 
68
68
  let isEnabled = false;
69
+ const Updater = (s) => s + 1;
70
+ const EmptyEffect = () => { };
69
71
  function enableLegendStateReact() {
70
72
  if (!isEnabled) {
71
73
  isEnabled = true;
@@ -95,69 +97,75 @@ function enableLegendStateReact() {
95
97
  },
96
98
  set(newDispatcher) {
97
99
  var _a;
98
- // When the React render is complete it sets the dispatcher to an object where useCallback has a length of 0
99
- if (dispatcher && didBeginTracking && (newDispatcher === null || newDispatcher === void 0 ? void 0 : newDispatcher.useCallback.length) < 2) {
100
- didBeginTracking = false;
101
- // If the previous dispatcher tracked nodes then set up hooks
102
- if (state.tracking.nodes) {
103
- try {
104
- let [, forceRender] = dispatcher.useReducer((s) => s + 1, 0);
105
- let noArgs = true;
106
- if (process.env.NODE_ENV === 'development') {
107
- (_a = state.tracking.listeners) === null || _a === void 0 ? void 0 : _a.call(state.tracking, state.tracking.nodes);
108
- if (state.tracking.updates) {
109
- noArgs = false;
110
- forceRender = state.tracking.updates(forceRender);
111
- }
112
- }
113
- // Track all of the nodes accessed during the dispatcher
114
- let dispose = state.setupTracking(state.tracking.nodes, forceRender, /*noArgs*/ noArgs);
115
- if (process.env.NODE_ENV === 'development') {
116
- // Clear tracing
117
- state.tracking.listeners = undefined;
118
- state.tracking.updates = undefined;
119
- const cachedNodes = state.tracking.nodes;
120
- dispatcher.useEffect(() => {
121
- // Workaround for React 18's double calling useEffect. If this is the
122
- // second useEffect, set up tracking again.
123
- if (dispose === undefined) {
124
- dispose = state.setupTracking(cachedNodes, forceRender, /*noArgs*/ noArgs);
100
+ if (newDispatcher) {
101
+ const useCallback = newDispatcher.useCallback;
102
+ // When the React render is complete it sets the dispatcher to an object where useCallback has a length of 0
103
+ if (dispatcher && didBeginTracking && useCallback.length < 2) {
104
+ didBeginTracking = false;
105
+ // If the previous dispatcher tracked nodes then set up hooks
106
+ if (state.tracking.nodes) {
107
+ try {
108
+ let forceRender = dispatcher.useReducer(Updater, 0)[1];
109
+ let noArgs = true;
110
+ if (process.env.NODE_ENV === 'development') {
111
+ (_a = state.tracking.listeners) === null || _a === void 0 ? void 0 : _a.call(state.tracking, state.tracking.nodes);
112
+ if (state.tracking.updates) {
113
+ noArgs = false;
114
+ forceRender = state.tracking.updates(forceRender);
125
115
  }
126
- return () => {
127
- dispose();
128
- dispose = undefined;
129
- };
130
- });
116
+ }
117
+ // Track all of the nodes accessed during the dispatcher
118
+ let dispose = state.setupTracking(state.tracking.nodes, forceRender, /*noArgs*/ noArgs);
119
+ if (process.env.NODE_ENV === 'development') {
120
+ // Clear tracing
121
+ state.tracking.listeners = undefined;
122
+ state.tracking.updates = undefined;
123
+ const cachedNodes = state.tracking.nodes;
124
+ dispatcher.useEffect(() => {
125
+ // Workaround for React 18's double calling useEffect. If this is the
126
+ // second useEffect, set up tracking again.
127
+ if (dispose === undefined) {
128
+ dispose = state.setupTracking(cachedNodes, forceRender, /*noArgs*/ noArgs);
129
+ }
130
+ return () => {
131
+ dispose();
132
+ dispose = undefined;
133
+ };
134
+ });
135
+ }
136
+ else {
137
+ // Return dispose to cleanup before each render or on unmount
138
+ dispatcher.useEffect(() => dispose);
139
+ }
131
140
  }
132
- else {
133
- // Return dispose to cleanup before each render or on unmount
134
- dispatcher.useEffect(() => dispose);
141
+ catch (err) {
142
+ // This may not ever be an error but since this is new we'll leave this here
143
+ // for a bit while we see what the behavior is like
144
+ if (process.env.NODE_ENV === 'development') {
145
+ console.error('[legend-state] error creating hooks', err);
146
+ throw new Error('[legend-state] error creating hooks');
147
+ }
135
148
  }
136
149
  }
137
- catch (err) {
138
- // This may not ever be an error but since this is new we'll leave this here
139
- // for a bit while we see what the behavior is like
140
- if (process.env.NODE_ENV === 'development') {
141
- console.error('[legend-state] error creating hooks', err);
142
- throw new Error('[legend-state] error creating hooks');
143
- }
150
+ else {
151
+ dispatcher.useReducer(Updater, 0);
152
+ dispatcher.useEffect(EmptyEffect);
144
153
  }
154
+ // Restore the previous tracking context
155
+ state.endTracking(prevNodes);
156
+ }
157
+ dispatcher = newDispatcher;
158
+ // Start a new tracking context when entering a new rendering dispatcher
159
+ // In development, rendering dispatchers have useCallback named either "mountHookTypes" or "updateHookTypes"
160
+ // In production, they just have length = 2
161
+ if (!state.tracking.isTracking &&
162
+ (process.env.NODE_ENV === 'development'
163
+ ? !useCallback.toString().includes('Invalid')
164
+ : useCallback.length === 2)) {
165
+ didBeginTracking = true;
166
+ // Keep a copy of the previous tracking context
167
+ prevNodes = state.beginTracking();
145
168
  }
146
- // Restore the previous tracking context
147
- state.endTracking(prevNodes);
148
- }
149
- dispatcher = newDispatcher;
150
- // Start a new tracking context when entering a new rendering dispatcher
151
- // In development, rendering dispatchers have useCallback named either "mountHookTypes" or "updateHookTypes"
152
- // In production, they just have length = 2
153
- if (newDispatcher &&
154
- !state.tracking.isTracking &&
155
- (process.env.NODE_ENV === 'development'
156
- ? !newDispatcher.useCallback.toString().includes('Invalid')
157
- : newDispatcher.useCallback.length === 2)) {
158
- didBeginTracking = true;
159
- // Keep a copy of the previous tracking context
160
- prevNodes = state.beginTracking();
161
169
  }
162
170
  },
163
171
  });
package/react.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sources":["../../src/react/flow.tsx","../../src/react/enableLegendStateReact.ts","../../src/react/useForceRender.ts","../../src/react/useComputed.ts","../../src/react/useObserve.ts","../../src/react/useObservable.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["isFunction","isObservable","memo","Tracking","useRef","useMemo","createElement","updateTracking","getNodeValue","extraPrimitiveProps","ReactInternals","tracking","setupTracking","endTracking","beginTracking","useReducer","useCallback","symbolUndef","observe","useEffect","observable"],"mappings":"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"}
1
+ {"version":3,"file":"react.js","sources":["../../src/react/flow.tsx","../../src/react/enableLegendStateReact.ts","../../src/react/useForceRender.ts","../../src/react/useComputed.ts","../../src/react/useObserve.ts","../../src/react/useObservable.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["isFunction","isObservable","memo","Tracking","useRef","useMemo","createElement","updateTracking","getNodeValue","extraPrimitiveProps","ReactInternals","tracking","setupTracking","endTracking","beginTracking","useReducer","useCallback","symbolUndef","observe","useEffect","observable"],"mappings":"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"}
package/react.mjs CHANGED
@@ -62,6 +62,8 @@ function For({ each, optimized, item, children, }) {
62
62
  }
63
63
 
64
64
  let isEnabled = false;
65
+ const Updater = (s) => s + 1;
66
+ const EmptyEffect = () => { };
65
67
  function enableLegendStateReact() {
66
68
  if (!isEnabled) {
67
69
  isEnabled = true;
@@ -91,69 +93,75 @@ function enableLegendStateReact() {
91
93
  },
92
94
  set(newDispatcher) {
93
95
  var _a;
94
- // When the React render is complete it sets the dispatcher to an object where useCallback has a length of 0
95
- if (dispatcher && didBeginTracking && (newDispatcher === null || newDispatcher === void 0 ? void 0 : newDispatcher.useCallback.length) < 2) {
96
- didBeginTracking = false;
97
- // If the previous dispatcher tracked nodes then set up hooks
98
- if (tracking.nodes) {
99
- try {
100
- let [, forceRender] = dispatcher.useReducer((s) => s + 1, 0);
101
- let noArgs = true;
102
- if (process.env.NODE_ENV === 'development') {
103
- (_a = tracking.listeners) === null || _a === void 0 ? void 0 : _a.call(tracking, tracking.nodes);
104
- if (tracking.updates) {
105
- noArgs = false;
106
- forceRender = tracking.updates(forceRender);
107
- }
108
- }
109
- // Track all of the nodes accessed during the dispatcher
110
- let dispose = setupTracking(tracking.nodes, forceRender, /*noArgs*/ noArgs);
111
- if (process.env.NODE_ENV === 'development') {
112
- // Clear tracing
113
- tracking.listeners = undefined;
114
- tracking.updates = undefined;
115
- const cachedNodes = tracking.nodes;
116
- dispatcher.useEffect(() => {
117
- // Workaround for React 18's double calling useEffect. If this is the
118
- // second useEffect, set up tracking again.
119
- if (dispose === undefined) {
120
- dispose = setupTracking(cachedNodes, forceRender, /*noArgs*/ noArgs);
96
+ if (newDispatcher) {
97
+ const useCallback = newDispatcher.useCallback;
98
+ // When the React render is complete it sets the dispatcher to an object where useCallback has a length of 0
99
+ if (dispatcher && didBeginTracking && useCallback.length < 2) {
100
+ didBeginTracking = false;
101
+ // If the previous dispatcher tracked nodes then set up hooks
102
+ if (tracking.nodes) {
103
+ try {
104
+ let forceRender = dispatcher.useReducer(Updater, 0)[1];
105
+ let noArgs = true;
106
+ if (process.env.NODE_ENV === 'development') {
107
+ (_a = tracking.listeners) === null || _a === void 0 ? void 0 : _a.call(tracking, tracking.nodes);
108
+ if (tracking.updates) {
109
+ noArgs = false;
110
+ forceRender = tracking.updates(forceRender);
121
111
  }
122
- return () => {
123
- dispose();
124
- dispose = undefined;
125
- };
126
- });
112
+ }
113
+ // Track all of the nodes accessed during the dispatcher
114
+ let dispose = setupTracking(tracking.nodes, forceRender, /*noArgs*/ noArgs);
115
+ if (process.env.NODE_ENV === 'development') {
116
+ // Clear tracing
117
+ tracking.listeners = undefined;
118
+ tracking.updates = undefined;
119
+ const cachedNodes = tracking.nodes;
120
+ dispatcher.useEffect(() => {
121
+ // Workaround for React 18's double calling useEffect. If this is the
122
+ // second useEffect, set up tracking again.
123
+ if (dispose === undefined) {
124
+ dispose = setupTracking(cachedNodes, forceRender, /*noArgs*/ noArgs);
125
+ }
126
+ return () => {
127
+ dispose();
128
+ dispose = undefined;
129
+ };
130
+ });
131
+ }
132
+ else {
133
+ // Return dispose to cleanup before each render or on unmount
134
+ dispatcher.useEffect(() => dispose);
135
+ }
127
136
  }
128
- else {
129
- // Return dispose to cleanup before each render or on unmount
130
- dispatcher.useEffect(() => dispose);
137
+ catch (err) {
138
+ // This may not ever be an error but since this is new we'll leave this here
139
+ // for a bit while we see what the behavior is like
140
+ if (process.env.NODE_ENV === 'development') {
141
+ console.error('[legend-state] error creating hooks', err);
142
+ throw new Error('[legend-state] error creating hooks');
143
+ }
131
144
  }
132
145
  }
133
- catch (err) {
134
- // This may not ever be an error but since this is new we'll leave this here
135
- // for a bit while we see what the behavior is like
136
- if (process.env.NODE_ENV === 'development') {
137
- console.error('[legend-state] error creating hooks', err);
138
- throw new Error('[legend-state] error creating hooks');
139
- }
146
+ else {
147
+ dispatcher.useReducer(Updater, 0);
148
+ dispatcher.useEffect(EmptyEffect);
140
149
  }
150
+ // Restore the previous tracking context
151
+ endTracking(prevNodes);
152
+ }
153
+ dispatcher = newDispatcher;
154
+ // Start a new tracking context when entering a new rendering dispatcher
155
+ // In development, rendering dispatchers have useCallback named either "mountHookTypes" or "updateHookTypes"
156
+ // In production, they just have length = 2
157
+ if (!tracking.isTracking &&
158
+ (process.env.NODE_ENV === 'development'
159
+ ? !useCallback.toString().includes('Invalid')
160
+ : useCallback.length === 2)) {
161
+ didBeginTracking = true;
162
+ // Keep a copy of the previous tracking context
163
+ prevNodes = beginTracking();
141
164
  }
142
- // Restore the previous tracking context
143
- endTracking(prevNodes);
144
- }
145
- dispatcher = newDispatcher;
146
- // Start a new tracking context when entering a new rendering dispatcher
147
- // In development, rendering dispatchers have useCallback named either "mountHookTypes" or "updateHookTypes"
148
- // In production, they just have length = 2
149
- if (newDispatcher &&
150
- !tracking.isTracking &&
151
- (process.env.NODE_ENV === 'development'
152
- ? !newDispatcher.useCallback.toString().includes('Invalid')
153
- : newDispatcher.useCallback.length === 2)) {
154
- didBeginTracking = true;
155
- // Keep a copy of the previous tracking context
156
- prevNodes = beginTracking();
157
165
  }
158
166
  },
159
167
  });
package/react.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"react.mjs","sources":["../../src/react/flow.tsx","../../src/react/enableLegendStateReact.ts","../../src/react/useForceRender.ts","../../src/react/useComputed.ts","../../src/react/useObserve.ts","../../src/react/useObservable.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["ReactInternals"],"mappings":"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"}
1
+ {"version":3,"file":"react.mjs","sources":["../../src/react/flow.tsx","../../src/react/enableLegendStateReact.ts","../../src/react/useForceRender.ts","../../src/react/useComputed.ts","../../src/react/useObserve.ts","../../src/react/useObservable.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["ReactInternals"],"mappings":"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"}