@legendapp/state 1.0.0-rc.20 → 1.0.0-rc.22
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/index.js +31 -32
- package/index.js.map +1 -1
- package/index.mjs +31 -32
- package/index.mjs.map +1 -1
- package/package.json +7 -1
- package/persist-plugins/indexeddb.d.ts +5 -0
- package/persist-plugins/indexeddb.js +58 -11
- package/persist-plugins/indexeddb.js.map +1 -1
- package/persist-plugins/indexeddb.mjs +58 -11
- package/persist-plugins/indexeddb.mjs.map +1 -1
- package/persist.js +116 -87
- package/persist.js.map +1 -1
- package/persist.mjs +117 -88
- package/persist.mjs.map +1 -1
- package/react-hooks/useObservableRouter.d.ts +26 -0
- package/react-hooks/useObservableRouter.js +37091 -0
- package/react-hooks/useObservableRouter.js.map +1 -0
- package/react-hooks/useObservableRouter.mjs +37089 -0
- package/react-hooks/useObservableRouter.mjs.map +1 -0
- package/react.js +92 -64
- package/react.js.map +1 -1
- package/react.mjs +93 -65
- package/react.mjs.map +1 -1
- package/src/computed.d.ts +2 -2
- package/src/observableInterfaces.d.ts +3 -2
- package/src/observe.d.ts +1 -1
- package/src/persist-plugins/indexeddb.d.ts +5 -0
- package/src/react/For.d.ts +9 -8
- package/src/react/useComputed.d.ts +3 -3
- package/src/react/useObserve.d.ts +3 -3
- package/src/react/useObserveEffect.d.ts +2 -2
- package/src/react-hooks/useObservableRouter.d.ts +26 -0
package/index.js
CHANGED
|
@@ -311,7 +311,11 @@ function setAtPath(obj, path, pathTypes, value) {
|
|
|
311
311
|
for (let i = 0; i < path.length; i++) {
|
|
312
312
|
const p = path[i];
|
|
313
313
|
if (i === path.length - 1) {
|
|
314
|
-
|
|
314
|
+
// Don't set if the value is the same. This prevents creating a new key
|
|
315
|
+
// when setting undefined on an object without this key
|
|
316
|
+
if (o[p] !== value) {
|
|
317
|
+
o[p] = value;
|
|
318
|
+
}
|
|
315
319
|
}
|
|
316
320
|
else if (o[p] === undefined) {
|
|
317
321
|
o[p] = pathTypes[i] === 'array' ? [] : {};
|
|
@@ -361,9 +365,7 @@ function _mergeIntoObservable(target, ...sources) {
|
|
|
361
365
|
const isTargetObj = !isTargetArr && isObject(targetValue);
|
|
362
366
|
if ((isTargetObj && isObject(source) && !isEmpty(targetValue)) ||
|
|
363
367
|
(isTargetArr && isArray(source) && targetValue.length > 0)) {
|
|
364
|
-
const
|
|
365
|
-
for (let i = 0; i < keys.length; i++) {
|
|
366
|
-
const key = keys[i];
|
|
368
|
+
for (const key in source) {
|
|
367
369
|
const sourceValue = source[key];
|
|
368
370
|
if (sourceValue === symbolDelete) {
|
|
369
371
|
needsSet && ((_a = target[key]) === null || _a === void 0 ? void 0 : _a.delete)
|
|
@@ -443,6 +445,7 @@ function doNotify(node, value, path, pathTypes, valueAtPath, prevAtPath, level,
|
|
|
443
445
|
const listeners = node.listeners;
|
|
444
446
|
if (listeners) {
|
|
445
447
|
let getPrevious;
|
|
448
|
+
// Need to convert to an array here instead of using a for...of loop because listeners can change while iterating
|
|
446
449
|
const arr = Array.from(listeners);
|
|
447
450
|
for (let i = 0; i < arr.length; i++) {
|
|
448
451
|
const listenerFn = arr[i];
|
|
@@ -503,11 +506,12 @@ function onChange(node, callback, options, noArgs) {
|
|
|
503
506
|
node.listeners = listeners = new Set();
|
|
504
507
|
}
|
|
505
508
|
checkActivate(node);
|
|
509
|
+
const { trackingType, initial, immediate } = options || {};
|
|
506
510
|
const listener = {
|
|
507
511
|
listener: callback,
|
|
508
|
-
track:
|
|
512
|
+
track: trackingType,
|
|
509
513
|
noArgs,
|
|
510
|
-
immediate:
|
|
514
|
+
immediate: immediate,
|
|
511
515
|
};
|
|
512
516
|
listeners.add(listener);
|
|
513
517
|
let parent = node.parent;
|
|
@@ -515,7 +519,7 @@ function onChange(node, callback, options, noArgs) {
|
|
|
515
519
|
parent.descendantHasListener = true;
|
|
516
520
|
parent = parent.parent;
|
|
517
521
|
}
|
|
518
|
-
if (
|
|
522
|
+
if (initial) {
|
|
519
523
|
const value = getNodeValue(node);
|
|
520
524
|
callback({
|
|
521
525
|
value,
|
|
@@ -888,9 +892,9 @@ const proxyHandler = {
|
|
|
888
892
|
}
|
|
889
893
|
return keys;
|
|
890
894
|
},
|
|
891
|
-
getOwnPropertyDescriptor(node,
|
|
895
|
+
getOwnPropertyDescriptor(node, prop) {
|
|
892
896
|
const value = getNodeValue(node);
|
|
893
|
-
return !isPrimitive(value) ? Reflect.getOwnPropertyDescriptor(value,
|
|
897
|
+
return !isPrimitive(value) ? Reflect.getOwnPropertyDescriptor(value, prop) : undefined;
|
|
894
898
|
},
|
|
895
899
|
set(node, prop, value) {
|
|
896
900
|
// If this assignment comes from within an observable function it's allowed
|
|
@@ -903,17 +907,17 @@ const proxyHandler = {
|
|
|
903
907
|
setKey(node, prop, value);
|
|
904
908
|
return true;
|
|
905
909
|
},
|
|
906
|
-
deleteProperty(
|
|
910
|
+
deleteProperty(node, prop) {
|
|
907
911
|
// If this delete comes from within an observable function it's allowed
|
|
908
912
|
if (inSet) {
|
|
909
|
-
return Reflect.deleteProperty(
|
|
913
|
+
return Reflect.deleteProperty(node, prop);
|
|
910
914
|
}
|
|
911
915
|
else {
|
|
912
916
|
return false;
|
|
913
917
|
}
|
|
914
918
|
},
|
|
915
|
-
has(
|
|
916
|
-
const value = getNodeValue(
|
|
919
|
+
has(node, prop) {
|
|
920
|
+
const value = getNodeValue(node);
|
|
917
921
|
return Reflect.has(value, prop);
|
|
918
922
|
},
|
|
919
923
|
};
|
|
@@ -941,7 +945,7 @@ function setKey(node, key, newValue, level) {
|
|
|
941
945
|
console.warn(`[legend-state] Set an HTMLElement into state. You probably don't want to do that.`);
|
|
942
946
|
}
|
|
943
947
|
}
|
|
944
|
-
if (node.root.locked) {
|
|
948
|
+
if (node.root.locked && !node.root.set) {
|
|
945
949
|
throw new Error(process.env.NODE_ENV === 'development'
|
|
946
950
|
? '[legend-state] Cannot modify an observable while it is locked. Please make sure that you unlock the observable before making changes.'
|
|
947
951
|
: '[legend-state] Modified locked observable');
|
|
@@ -976,6 +980,9 @@ function setKey(node, key, newValue, level) {
|
|
|
976
980
|
parentValue[key] = newValue;
|
|
977
981
|
}
|
|
978
982
|
inSet = false;
|
|
983
|
+
if (node.root.locked && node.root.set) {
|
|
984
|
+
node.root.set(node.root._);
|
|
985
|
+
}
|
|
979
986
|
// Make sure we don't call too many listeners for ever property set
|
|
980
987
|
beginBatch();
|
|
981
988
|
let hasADiff = isPrim;
|
|
@@ -990,7 +997,7 @@ function setKey(node, key, newValue, level) {
|
|
|
990
997
|
whenOptimizedOnlyIf = (newValue === null || newValue === void 0 ? void 0 : newValue.length) !== (prevValue === null || prevValue === void 0 ? void 0 : prevValue.length);
|
|
991
998
|
}
|
|
992
999
|
}
|
|
993
|
-
if (isPrim ? newValue !== prevValue : hasADiff) {
|
|
1000
|
+
if (isPrim || !newValue || isEmpty(newValue) ? newValue !== prevValue : hasADiff) {
|
|
994
1001
|
// Notify for this element if something inside it has changed
|
|
995
1002
|
notify(isPrim && isRoot ? node : childNode, newValue, prevValue, (level !== null && level !== void 0 ? level : prevValue === undefined) ? -1 : hasADiff ? 0 : 1, whenOptimizedOnlyIf);
|
|
996
1003
|
}
|
|
@@ -1055,12 +1062,10 @@ function observablePrimitive(value) {
|
|
|
1055
1062
|
function setupTracking(nodes, update, noArgs, immediate) {
|
|
1056
1063
|
let listeners = [];
|
|
1057
1064
|
// Listen to tracked nodes
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
}
|
|
1063
|
-
}
|
|
1065
|
+
nodes === null || nodes === void 0 ? void 0 : nodes.forEach((tracked) => {
|
|
1066
|
+
const { node, track } = tracked;
|
|
1067
|
+
listeners.push(onChange(node, update, { trackingType: track, immediate }, noArgs));
|
|
1068
|
+
});
|
|
1064
1069
|
return () => {
|
|
1065
1070
|
if (listeners) {
|
|
1066
1071
|
for (let i = 0; i < listeners.length; i++) {
|
|
@@ -1145,19 +1150,15 @@ function observe(selectorOrRun, reactionOrOptions, options) {
|
|
|
1145
1150
|
function computed(compute, set$1) {
|
|
1146
1151
|
// Create an observable for this computed variable
|
|
1147
1152
|
const obs = observable();
|
|
1148
|
-
|
|
1149
|
-
lockObservable(obs, true);
|
|
1153
|
+
lockObservable(obs, true);
|
|
1150
1154
|
// Lazily activate the observable when get is called
|
|
1151
1155
|
const node = getNode(obs);
|
|
1152
1156
|
const setInner = function (val) {
|
|
1153
1157
|
if (val !== obs.peek()) {
|
|
1154
1158
|
// Update the computed value
|
|
1155
|
-
|
|
1156
|
-
lockObservable(obs, false);
|
|
1157
|
-
}
|
|
1159
|
+
lockObservable(obs, false);
|
|
1158
1160
|
set(node, val);
|
|
1159
|
-
|
|
1160
|
-
lockObservable(obs, true);
|
|
1161
|
+
lockObservable(obs, true);
|
|
1161
1162
|
}
|
|
1162
1163
|
};
|
|
1163
1164
|
node.root.activate = () => {
|
|
@@ -1171,10 +1172,8 @@ function computed(compute, set$1) {
|
|
|
1171
1172
|
}, { immediate: true });
|
|
1172
1173
|
};
|
|
1173
1174
|
if (set$1) {
|
|
1174
|
-
node.
|
|
1175
|
-
|
|
1176
|
-
batch(() => set$1(value));
|
|
1177
|
-
},
|
|
1175
|
+
node.root.set = (value) => {
|
|
1176
|
+
batch(() => set$1(value));
|
|
1178
1177
|
};
|
|
1179
1178
|
}
|
|
1180
1179
|
return obs;
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/is.ts","../../src/batching.ts","../../src/tracking.ts","../../src/globals.ts","../../src/helpers.ts","../../src/notify.ts","../../src/onChange.ts","../../src/ObservablePrimitive.ts","../../src/observable.ts","../../src/setupTracking.ts","../../src/observe.ts","../../src/computed.ts","../../src/event.ts","../../src/when.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["set","setBase"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/is.ts","../../src/batching.ts","../../src/tracking.ts","../../src/globals.ts","../../src/helpers.ts","../../src/notify.ts","../../src/onChange.ts","../../src/ObservablePrimitive.ts","../../src/observable.ts","../../src/setupTracking.ts","../../src/observe.ts","../../src/computed.ts","../../src/event.ts","../../src/when.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["set","setBase"],"mappings":"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"}
|
package/index.mjs
CHANGED
|
@@ -309,7 +309,11 @@ function setAtPath(obj, path, pathTypes, value) {
|
|
|
309
309
|
for (let i = 0; i < path.length; i++) {
|
|
310
310
|
const p = path[i];
|
|
311
311
|
if (i === path.length - 1) {
|
|
312
|
-
|
|
312
|
+
// Don't set if the value is the same. This prevents creating a new key
|
|
313
|
+
// when setting undefined on an object without this key
|
|
314
|
+
if (o[p] !== value) {
|
|
315
|
+
o[p] = value;
|
|
316
|
+
}
|
|
313
317
|
}
|
|
314
318
|
else if (o[p] === undefined) {
|
|
315
319
|
o[p] = pathTypes[i] === 'array' ? [] : {};
|
|
@@ -359,9 +363,7 @@ function _mergeIntoObservable(target, ...sources) {
|
|
|
359
363
|
const isTargetObj = !isTargetArr && isObject(targetValue);
|
|
360
364
|
if ((isTargetObj && isObject(source) && !isEmpty(targetValue)) ||
|
|
361
365
|
(isTargetArr && isArray(source) && targetValue.length > 0)) {
|
|
362
|
-
const
|
|
363
|
-
for (let i = 0; i < keys.length; i++) {
|
|
364
|
-
const key = keys[i];
|
|
366
|
+
for (const key in source) {
|
|
365
367
|
const sourceValue = source[key];
|
|
366
368
|
if (sourceValue === symbolDelete) {
|
|
367
369
|
needsSet && ((_a = target[key]) === null || _a === void 0 ? void 0 : _a.delete)
|
|
@@ -441,6 +443,7 @@ function doNotify(node, value, path, pathTypes, valueAtPath, prevAtPath, level,
|
|
|
441
443
|
const listeners = node.listeners;
|
|
442
444
|
if (listeners) {
|
|
443
445
|
let getPrevious;
|
|
446
|
+
// Need to convert to an array here instead of using a for...of loop because listeners can change while iterating
|
|
444
447
|
const arr = Array.from(listeners);
|
|
445
448
|
for (let i = 0; i < arr.length; i++) {
|
|
446
449
|
const listenerFn = arr[i];
|
|
@@ -501,11 +504,12 @@ function onChange(node, callback, options, noArgs) {
|
|
|
501
504
|
node.listeners = listeners = new Set();
|
|
502
505
|
}
|
|
503
506
|
checkActivate(node);
|
|
507
|
+
const { trackingType, initial, immediate } = options || {};
|
|
504
508
|
const listener = {
|
|
505
509
|
listener: callback,
|
|
506
|
-
track:
|
|
510
|
+
track: trackingType,
|
|
507
511
|
noArgs,
|
|
508
|
-
immediate:
|
|
512
|
+
immediate: immediate,
|
|
509
513
|
};
|
|
510
514
|
listeners.add(listener);
|
|
511
515
|
let parent = node.parent;
|
|
@@ -513,7 +517,7 @@ function onChange(node, callback, options, noArgs) {
|
|
|
513
517
|
parent.descendantHasListener = true;
|
|
514
518
|
parent = parent.parent;
|
|
515
519
|
}
|
|
516
|
-
if (
|
|
520
|
+
if (initial) {
|
|
517
521
|
const value = getNodeValue(node);
|
|
518
522
|
callback({
|
|
519
523
|
value,
|
|
@@ -886,9 +890,9 @@ const proxyHandler = {
|
|
|
886
890
|
}
|
|
887
891
|
return keys;
|
|
888
892
|
},
|
|
889
|
-
getOwnPropertyDescriptor(node,
|
|
893
|
+
getOwnPropertyDescriptor(node, prop) {
|
|
890
894
|
const value = getNodeValue(node);
|
|
891
|
-
return !isPrimitive(value) ? Reflect.getOwnPropertyDescriptor(value,
|
|
895
|
+
return !isPrimitive(value) ? Reflect.getOwnPropertyDescriptor(value, prop) : undefined;
|
|
892
896
|
},
|
|
893
897
|
set(node, prop, value) {
|
|
894
898
|
// If this assignment comes from within an observable function it's allowed
|
|
@@ -901,17 +905,17 @@ const proxyHandler = {
|
|
|
901
905
|
setKey(node, prop, value);
|
|
902
906
|
return true;
|
|
903
907
|
},
|
|
904
|
-
deleteProperty(
|
|
908
|
+
deleteProperty(node, prop) {
|
|
905
909
|
// If this delete comes from within an observable function it's allowed
|
|
906
910
|
if (inSet) {
|
|
907
|
-
return Reflect.deleteProperty(
|
|
911
|
+
return Reflect.deleteProperty(node, prop);
|
|
908
912
|
}
|
|
909
913
|
else {
|
|
910
914
|
return false;
|
|
911
915
|
}
|
|
912
916
|
},
|
|
913
|
-
has(
|
|
914
|
-
const value = getNodeValue(
|
|
917
|
+
has(node, prop) {
|
|
918
|
+
const value = getNodeValue(node);
|
|
915
919
|
return Reflect.has(value, prop);
|
|
916
920
|
},
|
|
917
921
|
};
|
|
@@ -939,7 +943,7 @@ function setKey(node, key, newValue, level) {
|
|
|
939
943
|
console.warn(`[legend-state] Set an HTMLElement into state. You probably don't want to do that.`);
|
|
940
944
|
}
|
|
941
945
|
}
|
|
942
|
-
if (node.root.locked) {
|
|
946
|
+
if (node.root.locked && !node.root.set) {
|
|
943
947
|
throw new Error(process.env.NODE_ENV === 'development'
|
|
944
948
|
? '[legend-state] Cannot modify an observable while it is locked. Please make sure that you unlock the observable before making changes.'
|
|
945
949
|
: '[legend-state] Modified locked observable');
|
|
@@ -974,6 +978,9 @@ function setKey(node, key, newValue, level) {
|
|
|
974
978
|
parentValue[key] = newValue;
|
|
975
979
|
}
|
|
976
980
|
inSet = false;
|
|
981
|
+
if (node.root.locked && node.root.set) {
|
|
982
|
+
node.root.set(node.root._);
|
|
983
|
+
}
|
|
977
984
|
// Make sure we don't call too many listeners for ever property set
|
|
978
985
|
beginBatch();
|
|
979
986
|
let hasADiff = isPrim;
|
|
@@ -988,7 +995,7 @@ function setKey(node, key, newValue, level) {
|
|
|
988
995
|
whenOptimizedOnlyIf = (newValue === null || newValue === void 0 ? void 0 : newValue.length) !== (prevValue === null || prevValue === void 0 ? void 0 : prevValue.length);
|
|
989
996
|
}
|
|
990
997
|
}
|
|
991
|
-
if (isPrim ? newValue !== prevValue : hasADiff) {
|
|
998
|
+
if (isPrim || !newValue || isEmpty(newValue) ? newValue !== prevValue : hasADiff) {
|
|
992
999
|
// Notify for this element if something inside it has changed
|
|
993
1000
|
notify(isPrim && isRoot ? node : childNode, newValue, prevValue, (level !== null && level !== void 0 ? level : prevValue === undefined) ? -1 : hasADiff ? 0 : 1, whenOptimizedOnlyIf);
|
|
994
1001
|
}
|
|
@@ -1053,12 +1060,10 @@ function observablePrimitive(value) {
|
|
|
1053
1060
|
function setupTracking(nodes, update, noArgs, immediate) {
|
|
1054
1061
|
let listeners = [];
|
|
1055
1062
|
// Listen to tracked nodes
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
}
|
|
1061
|
-
}
|
|
1063
|
+
nodes === null || nodes === void 0 ? void 0 : nodes.forEach((tracked) => {
|
|
1064
|
+
const { node, track } = tracked;
|
|
1065
|
+
listeners.push(onChange(node, update, { trackingType: track, immediate }, noArgs));
|
|
1066
|
+
});
|
|
1062
1067
|
return () => {
|
|
1063
1068
|
if (listeners) {
|
|
1064
1069
|
for (let i = 0; i < listeners.length; i++) {
|
|
@@ -1143,19 +1148,15 @@ function observe(selectorOrRun, reactionOrOptions, options) {
|
|
|
1143
1148
|
function computed(compute, set$1) {
|
|
1144
1149
|
// Create an observable for this computed variable
|
|
1145
1150
|
const obs = observable();
|
|
1146
|
-
|
|
1147
|
-
lockObservable(obs, true);
|
|
1151
|
+
lockObservable(obs, true);
|
|
1148
1152
|
// Lazily activate the observable when get is called
|
|
1149
1153
|
const node = getNode(obs);
|
|
1150
1154
|
const setInner = function (val) {
|
|
1151
1155
|
if (val !== obs.peek()) {
|
|
1152
1156
|
// Update the computed value
|
|
1153
|
-
|
|
1154
|
-
lockObservable(obs, false);
|
|
1155
|
-
}
|
|
1157
|
+
lockObservable(obs, false);
|
|
1156
1158
|
set(node, val);
|
|
1157
|
-
|
|
1158
|
-
lockObservable(obs, true);
|
|
1159
|
+
lockObservable(obs, true);
|
|
1159
1160
|
}
|
|
1160
1161
|
};
|
|
1161
1162
|
node.root.activate = () => {
|
|
@@ -1169,10 +1170,8 @@ function computed(compute, set$1) {
|
|
|
1169
1170
|
}, { immediate: true });
|
|
1170
1171
|
};
|
|
1171
1172
|
if (set$1) {
|
|
1172
|
-
node.
|
|
1173
|
-
|
|
1174
|
-
batch(() => set$1(value));
|
|
1175
|
-
},
|
|
1173
|
+
node.root.set = (value) => {
|
|
1174
|
+
batch(() => set$1(value));
|
|
1176
1175
|
};
|
|
1177
1176
|
}
|
|
1178
1177
|
return obs;
|