@legendapp/state 3.0.0-beta.33 → 3.0.0-beta.34
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.d.mts +1 -1
- package/index.d.ts +1 -1
- package/index.js +3 -6
- package/index.mjs +3 -6
- package/package.json +1 -1
- package/sync.d.mts +2 -1
- package/sync.d.ts +2 -1
- package/sync.js +20 -3
- package/sync.mjs +20 -4
package/index.d.mts
CHANGED
|
@@ -3,7 +3,7 @@ type ArrayOverrideFnNames = 'find' | 'findIndex' | 'every' | 'some' | 'filter' |
|
|
|
3
3
|
type RemoveIndex<T> = {
|
|
4
4
|
[K in keyof T as string extends K ? never : number extends K ? never : K]: T[K];
|
|
5
5
|
};
|
|
6
|
-
type BuiltIns = String | Boolean | Number | Date | Error | RegExp | Array<any> | Function | Promise<any
|
|
6
|
+
type BuiltIns = String | Boolean | Number | Date | Error | RegExp | Array<any> | Function | Promise<any>;
|
|
7
7
|
type IsUserDefinedObject<T> = T extends Function | BuiltIns | any[] ? false : T extends object ? true : false;
|
|
8
8
|
type RemoveObservables<T> = T extends ImmutableObservableBase<infer t> ? t : T extends ImmutableObservableBase<infer t>[] ? t[] : IsUserDefinedObject<T> extends true ? {
|
|
9
9
|
[K in keyof T]: RemoveObservables<T[K]>;
|
package/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ type ArrayOverrideFnNames = 'find' | 'findIndex' | 'every' | 'some' | 'filter' |
|
|
|
3
3
|
type RemoveIndex<T> = {
|
|
4
4
|
[K in keyof T as string extends K ? never : number extends K ? never : K]: T[K];
|
|
5
5
|
};
|
|
6
|
-
type BuiltIns = String | Boolean | Number | Date | Error | RegExp | Array<any> | Function | Promise<any
|
|
6
|
+
type BuiltIns = String | Boolean | Number | Date | Error | RegExp | Array<any> | Function | Promise<any>;
|
|
7
7
|
type IsUserDefinedObject<T> = T extends Function | BuiltIns | any[] ? false : T extends object ? true : false;
|
|
8
8
|
type RemoveObservables<T> = T extends ImmutableObservableBase<infer t> ? t : T extends ImmutableObservableBase<infer t>[] ? t[] : IsUserDefinedObject<T> extends true ? {
|
|
9
9
|
[K in keyof T]: RemoveObservables<T[K]>;
|
package/index.js
CHANGED
|
@@ -2435,13 +2435,10 @@ function syncState(obs) {
|
|
|
2435
2435
|
syncCount: 0,
|
|
2436
2436
|
resetPersistence: void 0,
|
|
2437
2437
|
reset: () => Promise.resolve(),
|
|
2438
|
-
sync: (
|
|
2439
|
-
var _a
|
|
2440
|
-
if (options == null ? void 0 : options.resetLastSync) {
|
|
2441
|
-
(_a = node.state) == null ? void 0 : _a.lastSync.set(void 0);
|
|
2442
|
-
}
|
|
2438
|
+
sync: () => {
|
|
2439
|
+
var _a;
|
|
2443
2440
|
obs.peek();
|
|
2444
|
-
if ((
|
|
2441
|
+
if ((_a = node.state) == null ? void 0 : _a.isGetting.peek()) {
|
|
2445
2442
|
return when(node.state.isLoaded);
|
|
2446
2443
|
}
|
|
2447
2444
|
return Promise.resolve();
|
package/index.mjs
CHANGED
|
@@ -2433,13 +2433,10 @@ function syncState(obs) {
|
|
|
2433
2433
|
syncCount: 0,
|
|
2434
2434
|
resetPersistence: void 0,
|
|
2435
2435
|
reset: () => Promise.resolve(),
|
|
2436
|
-
sync: (
|
|
2437
|
-
var _a
|
|
2438
|
-
if (options == null ? void 0 : options.resetLastSync) {
|
|
2439
|
-
(_a = node.state) == null ? void 0 : _a.lastSync.set(void 0);
|
|
2440
|
-
}
|
|
2436
|
+
sync: () => {
|
|
2437
|
+
var _a;
|
|
2441
2438
|
obs.peek();
|
|
2442
|
-
if ((
|
|
2439
|
+
if ((_a = node.state) == null ? void 0 : _a.isGetting.peek()) {
|
|
2443
2440
|
return when(node.state.isLoaded);
|
|
2444
2441
|
}
|
|
2445
2442
|
return Promise.resolve();
|
package/package.json
CHANGED
package/sync.d.mts
CHANGED
|
@@ -211,6 +211,7 @@ declare const mapSyncPlugins: WeakMap<ClassConstructor<ObservablePersistPlugin>
|
|
|
211
211
|
declare function onChangeRemote(cb: () => void): void;
|
|
212
212
|
declare function syncObservable<T>(obs$: ObservableParam<T>, syncOptions: SyncedOptions<T>): Observable<ObservableSyncState>;
|
|
213
213
|
declare function syncObservable<T>(obs$: ObservableParam<T>, syncOptions: Synced<T>): Observable<ObservableSyncState>;
|
|
214
|
+
declare function getAllSyncStates(): readonly [Observable<ObservableSyncState>, NodeInfo][];
|
|
214
215
|
|
|
215
216
|
declare function synced<TRemote, TLocal = TRemote>(params: SyncedOptions<TRemote, TLocal> | (() => TRemote)): Synced<TLocal>;
|
|
216
217
|
|
|
@@ -230,4 +231,4 @@ declare const internal: {
|
|
|
230
231
|
runWithRetry: typeof runWithRetry;
|
|
231
232
|
};
|
|
232
233
|
|
|
233
|
-
export { type FieldTransforms, type FieldTransformsInner, type ObservablePersistAsyncStoragePluginOptions, type ObservablePersistIndexedDBPluginOptions, type ObservablePersistPlugin, type ObservablePersistPluginOptions, type ObservableSyncFunctions, type ObservableSyncSetParams, type OnErrorRetryParams, type PendingChanges, type PersistMetadata, type PersistOptions, type QueryByModified, type StringToDate, type SubscribeOptions, type SyncTransform, type SyncTransformMethod, type Synced, type SyncedErrorParams, type SyncedGetParams, type SyncedGetSetBaseParams, type SyncedGetSetSubscribeBaseParams, type SyncedOptions, type SyncedOptionsGlobal, type SyncedSetParams, type SyncedSubscribeParams, type TransformStringifyKeys, type TransformStringifyOptions, type TransformStringsToDates, combineTransforms, configureObservableSync, configureSynced, createRevertChanges, deepEqual, diffObjects, internal, mapSyncPlugins, onChangeRemote, removeNullUndefined, syncObservable, synced, transformStringifyDates, transformStringifyKeys };
|
|
234
|
+
export { type FieldTransforms, type FieldTransformsInner, type ObservablePersistAsyncStoragePluginOptions, type ObservablePersistIndexedDBPluginOptions, type ObservablePersistPlugin, type ObservablePersistPluginOptions, type ObservableSyncFunctions, type ObservableSyncSetParams, type OnErrorRetryParams, type PendingChanges, type PersistMetadata, type PersistOptions, type QueryByModified, type StringToDate, type SubscribeOptions, type SyncTransform, type SyncTransformMethod, type Synced, type SyncedErrorParams, type SyncedGetParams, type SyncedGetSetBaseParams, type SyncedGetSetSubscribeBaseParams, type SyncedOptions, type SyncedOptionsGlobal, type SyncedSetParams, type SyncedSubscribeParams, type TransformStringifyKeys, type TransformStringifyOptions, type TransformStringsToDates, combineTransforms, configureObservableSync, configureSynced, createRevertChanges, deepEqual, diffObjects, getAllSyncStates, internal, mapSyncPlugins, onChangeRemote, removeNullUndefined, syncObservable, synced, transformStringifyDates, transformStringifyKeys };
|
package/sync.d.ts
CHANGED
|
@@ -211,6 +211,7 @@ declare const mapSyncPlugins: WeakMap<ClassConstructor<ObservablePersistPlugin>
|
|
|
211
211
|
declare function onChangeRemote(cb: () => void): void;
|
|
212
212
|
declare function syncObservable<T>(obs$: ObservableParam<T>, syncOptions: SyncedOptions<T>): Observable<ObservableSyncState>;
|
|
213
213
|
declare function syncObservable<T>(obs$: ObservableParam<T>, syncOptions: Synced<T>): Observable<ObservableSyncState>;
|
|
214
|
+
declare function getAllSyncStates(): readonly [Observable<ObservableSyncState>, NodeInfo][];
|
|
214
215
|
|
|
215
216
|
declare function synced<TRemote, TLocal = TRemote>(params: SyncedOptions<TRemote, TLocal> | (() => TRemote)): Synced<TLocal>;
|
|
216
217
|
|
|
@@ -230,4 +231,4 @@ declare const internal: {
|
|
|
230
231
|
runWithRetry: typeof runWithRetry;
|
|
231
232
|
};
|
|
232
233
|
|
|
233
|
-
export { type FieldTransforms, type FieldTransformsInner, type ObservablePersistAsyncStoragePluginOptions, type ObservablePersistIndexedDBPluginOptions, type ObservablePersistPlugin, type ObservablePersistPluginOptions, type ObservableSyncFunctions, type ObservableSyncSetParams, type OnErrorRetryParams, type PendingChanges, type PersistMetadata, type PersistOptions, type QueryByModified, type StringToDate, type SubscribeOptions, type SyncTransform, type SyncTransformMethod, type Synced, type SyncedErrorParams, type SyncedGetParams, type SyncedGetSetBaseParams, type SyncedGetSetSubscribeBaseParams, type SyncedOptions, type SyncedOptionsGlobal, type SyncedSetParams, type SyncedSubscribeParams, type TransformStringifyKeys, type TransformStringifyOptions, type TransformStringsToDates, combineTransforms, configureObservableSync, configureSynced, createRevertChanges, deepEqual, diffObjects, internal, mapSyncPlugins, onChangeRemote, removeNullUndefined, syncObservable, synced, transformStringifyDates, transformStringifyKeys };
|
|
234
|
+
export { type FieldTransforms, type FieldTransformsInner, type ObservablePersistAsyncStoragePluginOptions, type ObservablePersistIndexedDBPluginOptions, type ObservablePersistPlugin, type ObservablePersistPluginOptions, type ObservableSyncFunctions, type ObservableSyncSetParams, type OnErrorRetryParams, type PendingChanges, type PersistMetadata, type PersistOptions, type QueryByModified, type StringToDate, type SubscribeOptions, type SyncTransform, type SyncTransformMethod, type Synced, type SyncedErrorParams, type SyncedGetParams, type SyncedGetSetBaseParams, type SyncedGetSetSubscribeBaseParams, type SyncedOptions, type SyncedOptionsGlobal, type SyncedSetParams, type SyncedSubscribeParams, type TransformStringifyKeys, type TransformStringifyOptions, type TransformStringsToDates, combineTransforms, configureObservableSync, configureSynced, createRevertChanges, deepEqual, diffObjects, getAllSyncStates, internal, mapSyncPlugins, onChangeRemote, removeNullUndefined, syncObservable, synced, transformStringifyDates, transformStringifyKeys };
|
package/sync.js
CHANGED
|
@@ -243,7 +243,8 @@ var {
|
|
|
243
243
|
getValueAtPath,
|
|
244
244
|
globalState,
|
|
245
245
|
registerMiddleware,
|
|
246
|
-
symbolLinked
|
|
246
|
+
symbolLinked,
|
|
247
|
+
setNodeValue
|
|
247
248
|
} = state.internal;
|
|
248
249
|
var mapSyncPlugins = /* @__PURE__ */ new WeakMap();
|
|
249
250
|
var allSyncStates = /* @__PURE__ */ new Map();
|
|
@@ -955,6 +956,7 @@ function syncObservable(obs$, syncOptionsOrSynced) {
|
|
|
955
956
|
const runGet = () => {
|
|
956
957
|
var _a;
|
|
957
958
|
const onChange = async ({ value, mode, lastSync: lastSync2 }) => {
|
|
959
|
+
var _a2;
|
|
958
960
|
mode = mode || syncOptions.mode || "set";
|
|
959
961
|
if (value !== void 0) {
|
|
960
962
|
value = transformLoadData(value, syncOptions, true, "get");
|
|
@@ -1011,6 +1013,9 @@ function syncObservable(obs$, syncOptionsOrSynced) {
|
|
|
1011
1013
|
});
|
|
1012
1014
|
}
|
|
1013
1015
|
}
|
|
1016
|
+
if (options == null ? void 0 : options.resetLastSync) {
|
|
1017
|
+
setNodeValue(node, (_a2 = syncOptions.initial) != null ? _a2 : void 0);
|
|
1018
|
+
}
|
|
1014
1019
|
onChangeRemote2(() => {
|
|
1015
1020
|
if (state.isPlainObject(value)) {
|
|
1016
1021
|
value = state.ObservableHint.plain(value);
|
|
@@ -1232,6 +1237,14 @@ function syncObservable(obs$, syncOptionsOrSynced) {
|
|
|
1232
1237
|
node.dirtyFn = sync;
|
|
1233
1238
|
await promise;
|
|
1234
1239
|
};
|
|
1240
|
+
syncState$.lastSync.onChange(({ value }) => {
|
|
1241
|
+
const metadata = metadatas.get(obs$);
|
|
1242
|
+
if (metadata && metadata.lastSync !== value) {
|
|
1243
|
+
updateMetadataImmediate(obs$, localState, syncState$, syncOptions, {
|
|
1244
|
+
lastSync: value
|
|
1245
|
+
});
|
|
1246
|
+
}
|
|
1247
|
+
});
|
|
1235
1248
|
const onAllPersistLoaded = () => {
|
|
1236
1249
|
var _a, _b;
|
|
1237
1250
|
let parentNode = node;
|
|
@@ -1255,7 +1268,10 @@ function syncObservable(obs$, syncOptionsOrSynced) {
|
|
|
1255
1268
|
});
|
|
1256
1269
|
return syncState$;
|
|
1257
1270
|
}
|
|
1258
|
-
|
|
1271
|
+
function getAllSyncStates() {
|
|
1272
|
+
return Array.from(allSyncStates.entries());
|
|
1273
|
+
}
|
|
1274
|
+
var { getProxy, globalState: globalState2, setNodeValue: setNodeValue2, getNodeValue: getNodeValue2 } = state.internal;
|
|
1259
1275
|
function enableActivateSyncedNode() {
|
|
1260
1276
|
globalState2.activateSyncedNode = function activateSyncedNode(node, newValue) {
|
|
1261
1277
|
const obs$ = getProxy(node);
|
|
@@ -1278,7 +1294,7 @@ function enableActivateSyncedNode() {
|
|
|
1278
1294
|
} else {
|
|
1279
1295
|
newValue = initial;
|
|
1280
1296
|
}
|
|
1281
|
-
|
|
1297
|
+
setNodeValue2(node, promiseReturn ? void 0 : newValue);
|
|
1282
1298
|
syncObservable(obs$, { ...node.activationState, get, set });
|
|
1283
1299
|
return { update: onChange, value: newValue };
|
|
1284
1300
|
} else {
|
|
@@ -1339,6 +1355,7 @@ exports.configureSynced = configureSynced;
|
|
|
1339
1355
|
exports.createRevertChanges = createRevertChanges;
|
|
1340
1356
|
exports.deepEqual = deepEqual;
|
|
1341
1357
|
exports.diffObjects = diffObjects;
|
|
1358
|
+
exports.getAllSyncStates = getAllSyncStates;
|
|
1342
1359
|
exports.internal = internal5;
|
|
1343
1360
|
exports.mapSyncPlugins = mapSyncPlugins;
|
|
1344
1361
|
exports.onChangeRemote = onChangeRemote2;
|
package/sync.mjs
CHANGED
|
@@ -241,7 +241,8 @@ var {
|
|
|
241
241
|
getValueAtPath,
|
|
242
242
|
globalState,
|
|
243
243
|
registerMiddleware,
|
|
244
|
-
symbolLinked
|
|
244
|
+
symbolLinked,
|
|
245
|
+
setNodeValue
|
|
245
246
|
} = internal;
|
|
246
247
|
var mapSyncPlugins = /* @__PURE__ */ new WeakMap();
|
|
247
248
|
var allSyncStates = /* @__PURE__ */ new Map();
|
|
@@ -953,6 +954,7 @@ function syncObservable(obs$, syncOptionsOrSynced) {
|
|
|
953
954
|
const runGet = () => {
|
|
954
955
|
var _a;
|
|
955
956
|
const onChange = async ({ value, mode, lastSync: lastSync2 }) => {
|
|
957
|
+
var _a2;
|
|
956
958
|
mode = mode || syncOptions.mode || "set";
|
|
957
959
|
if (value !== void 0) {
|
|
958
960
|
value = transformLoadData(value, syncOptions, true, "get");
|
|
@@ -1009,6 +1011,9 @@ function syncObservable(obs$, syncOptionsOrSynced) {
|
|
|
1009
1011
|
});
|
|
1010
1012
|
}
|
|
1011
1013
|
}
|
|
1014
|
+
if (options == null ? void 0 : options.resetLastSync) {
|
|
1015
|
+
setNodeValue(node, (_a2 = syncOptions.initial) != null ? _a2 : void 0);
|
|
1016
|
+
}
|
|
1012
1017
|
onChangeRemote2(() => {
|
|
1013
1018
|
if (isPlainObject(value)) {
|
|
1014
1019
|
value = ObservableHint.plain(value);
|
|
@@ -1230,6 +1235,14 @@ function syncObservable(obs$, syncOptionsOrSynced) {
|
|
|
1230
1235
|
node.dirtyFn = sync;
|
|
1231
1236
|
await promise;
|
|
1232
1237
|
};
|
|
1238
|
+
syncState$.lastSync.onChange(({ value }) => {
|
|
1239
|
+
const metadata = metadatas.get(obs$);
|
|
1240
|
+
if (metadata && metadata.lastSync !== value) {
|
|
1241
|
+
updateMetadataImmediate(obs$, localState, syncState$, syncOptions, {
|
|
1242
|
+
lastSync: value
|
|
1243
|
+
});
|
|
1244
|
+
}
|
|
1245
|
+
});
|
|
1233
1246
|
const onAllPersistLoaded = () => {
|
|
1234
1247
|
var _a, _b;
|
|
1235
1248
|
let parentNode = node;
|
|
@@ -1253,7 +1266,10 @@ function syncObservable(obs$, syncOptionsOrSynced) {
|
|
|
1253
1266
|
});
|
|
1254
1267
|
return syncState$;
|
|
1255
1268
|
}
|
|
1256
|
-
|
|
1269
|
+
function getAllSyncStates() {
|
|
1270
|
+
return Array.from(allSyncStates.entries());
|
|
1271
|
+
}
|
|
1272
|
+
var { getProxy, globalState: globalState2, setNodeValue: setNodeValue2, getNodeValue: getNodeValue2 } = internal;
|
|
1257
1273
|
function enableActivateSyncedNode() {
|
|
1258
1274
|
globalState2.activateSyncedNode = function activateSyncedNode(node, newValue) {
|
|
1259
1275
|
const obs$ = getProxy(node);
|
|
@@ -1276,7 +1292,7 @@ function enableActivateSyncedNode() {
|
|
|
1276
1292
|
} else {
|
|
1277
1293
|
newValue = initial;
|
|
1278
1294
|
}
|
|
1279
|
-
|
|
1295
|
+
setNodeValue2(node, promiseReturn ? void 0 : newValue);
|
|
1280
1296
|
syncObservable(obs$, { ...node.activationState, get, set });
|
|
1281
1297
|
return { update: onChange, value: newValue };
|
|
1282
1298
|
} else {
|
|
@@ -1331,4 +1347,4 @@ var internal5 = {
|
|
|
1331
1347
|
runWithRetry
|
|
1332
1348
|
};
|
|
1333
1349
|
|
|
1334
|
-
export { combineTransforms, configureObservableSync, configureSynced, createRevertChanges, deepEqual, diffObjects, internal5 as internal, mapSyncPlugins, onChangeRemote2 as onChangeRemote, removeNullUndefined, syncObservable, synced, transformStringifyDates, transformStringifyKeys };
|
|
1350
|
+
export { combineTransforms, configureObservableSync, configureSynced, createRevertChanges, deepEqual, diffObjects, getAllSyncStates, internal5 as internal, mapSyncPlugins, onChangeRemote2 as onChangeRemote, removeNullUndefined, syncObservable, synced, transformStringifyDates, transformStringifyKeys };
|