@legendapp/state 0.22.5 → 0.23.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.
Files changed (41) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/history.js +1 -16
  3. package/history.js.map +1 -1
  4. package/history.mjs +1 -16
  5. package/history.mjs.map +1 -1
  6. package/index.d.ts +1 -1
  7. package/index.js +49 -45
  8. package/index.js.map +1 -1
  9. package/index.mjs +44 -46
  10. package/index.mjs.map +1 -1
  11. package/package.json +1 -1
  12. package/persist-plugins/indexeddb-preloader.d.ts +4 -1
  13. package/persist-plugins/indexeddb-preloader.js +122 -26
  14. package/persist-plugins/indexeddb-preloader.js.map +1 -1
  15. package/persist-plugins/indexeddb-preloader.mjs +122 -26
  16. package/persist-plugins/indexeddb-preloader.mjs.map +1 -1
  17. package/persist-plugins/indexeddb.d.ts +8 -5
  18. package/persist-plugins/indexeddb.js +171 -78
  19. package/persist-plugins/indexeddb.js.map +1 -1
  20. package/persist-plugins/indexeddb.mjs +172 -79
  21. package/persist-plugins/indexeddb.mjs.map +1 -1
  22. package/persist-plugins/mmkv.js +2 -2
  23. package/persist-plugins/mmkv.js.map +1 -1
  24. package/persist-plugins/mmkv.mjs +2 -2
  25. package/persist-plugins/mmkv.mjs.map +1 -1
  26. package/persist.d.ts +2 -0
  27. package/persist.js +147 -17
  28. package/persist.js.map +1 -1
  29. package/persist.mjs +148 -22
  30. package/persist.mjs.map +1 -1
  31. package/src/globals.d.ts +0 -1
  32. package/src/helpers.d.ts +3 -0
  33. package/src/is.d.ts +8 -0
  34. package/src/observableInterfaces.d.ts +44 -44
  35. package/src/persist/fieldTransformer.d.ts +3 -0
  36. package/src/persist-plugins/indexeddb-preloader.d.ts +4 -1
  37. package/src/persist-plugins/indexeddb.d.ts +8 -5
  38. package/trace.js +1 -1
  39. package/trace.js.map +1 -1
  40. package/trace.mjs +1 -1
  41. package/trace.mjs.map +1 -1
package/persist.js CHANGED
@@ -7,6 +7,102 @@ function configureObservablePersistence(options) {
7
7
  Object.assign(observablePersistConfiguration, options);
8
8
  }
9
9
 
10
+ function transformPath(path, map, passThroughKeys, ignoreKeys) {
11
+ const data = {};
12
+ let d = data;
13
+ for (let i = 0; i < path.length; i++) {
14
+ d = d[path[i]] = i === path.length - 1 ? null : {};
15
+ }
16
+ let value = transformObject(data, map, passThroughKeys, ignoreKeys);
17
+ const pathOut = [];
18
+ for (let i = 0; i < path.length; i++) {
19
+ const key = Object.keys(value)[0];
20
+ pathOut.push(key);
21
+ value = value[key];
22
+ }
23
+ return pathOut;
24
+ }
25
+ function transformObject(dataIn, map, passThroughKeys, ignoreKeys) {
26
+ // Note: If changing this, change it in IndexedDB preloader
27
+ let ret = dataIn;
28
+ if (dataIn) {
29
+ ret = {};
30
+ const dict = Object.keys(map).length === 1 && map['_dict'];
31
+ Object.keys(dataIn).forEach((key) => {
32
+ if (ret[key] !== undefined || (ignoreKeys === null || ignoreKeys === void 0 ? void 0 : ignoreKeys.includes(key)))
33
+ return;
34
+ let v = dataIn[key];
35
+ if (dict) {
36
+ ret[key] = transformObject(v, dict, passThroughKeys, ignoreKeys);
37
+ }
38
+ else {
39
+ const mapped = map[key];
40
+ if (mapped === undefined) {
41
+ if (passThroughKeys === null || passThroughKeys === void 0 ? void 0 : passThroughKeys.includes(key)) {
42
+ ret[key] = v;
43
+ }
44
+ else if ((process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test') &&
45
+ map[key] === undefined) {
46
+ console.error('A fatal field transformation error has occurred', key, dataIn, map);
47
+ ret[key] = v;
48
+ }
49
+ }
50
+ else if (mapped !== null) {
51
+ if (v !== undefined && v !== null) {
52
+ if (map[key + '_obj']) {
53
+ v = transformObject(v, map[key + '_obj'], passThroughKeys, ignoreKeys);
54
+ }
55
+ else if (map[key + '_dict']) {
56
+ const mapChild = map[key + '_dict'];
57
+ Object.keys(v).forEach((keyChild) => {
58
+ v[keyChild] = transformObject(v[keyChild], mapChild, passThroughKeys, ignoreKeys);
59
+ });
60
+ }
61
+ else if (map[key + '_arr']) {
62
+ const mapChild = map[key + '_arr'];
63
+ v = v.map((vChild) => transformObject(vChild, mapChild, passThroughKeys, ignoreKeys));
64
+ }
65
+ }
66
+ ret[mapped] = v;
67
+ }
68
+ }
69
+ if (process.env.NODE_ENV === 'development' && ret['[object Object]'])
70
+ debugger;
71
+ });
72
+ }
73
+ if (process.env.NODE_ENV === 'development' && ret && ret['[object Object]'])
74
+ debugger;
75
+ return ret;
76
+ }
77
+ const invertedMaps = new WeakMap();
78
+ function invertMap(obj) {
79
+ // Note: If changing this, change it in IndexedDB preloader
80
+ const existing = invertedMaps.get(obj);
81
+ if (existing)
82
+ return existing;
83
+ const target = {};
84
+ Object.keys(obj).forEach((key) => {
85
+ const val = obj[key];
86
+ if (process.env.NODE_ENV === 'development' && target[val])
87
+ debugger;
88
+ if (key === '_dict') {
89
+ target[key] = invertMap(val);
90
+ }
91
+ else if (key.endsWith('_obj') || key.endsWith('_dict') || key.endsWith('_arr')) {
92
+ const keyMapped = obj[key.replace(/_obj|_dict|_arr$/, '')];
93
+ const suffix = key.match(/_obj|_dict|_arr$/)[0];
94
+ target[keyMapped + suffix] = invertMap(val);
95
+ }
96
+ else if (typeof val === 'string') {
97
+ target[val] = key;
98
+ }
99
+ });
100
+ if (process.env.NODE_ENV === 'development' && target['[object Object]'])
101
+ debugger;
102
+ invertedMaps.set(obj, target);
103
+ return target;
104
+ }
105
+
10
106
  function removeNullUndefined(val) {
11
107
  if (val === undefined)
12
108
  return null;
@@ -44,10 +140,9 @@ function getDateModifiedKey(dateModifiedKey) {
44
140
  }
45
141
 
46
142
  const mapPersistences = new WeakMap();
47
- const usedNames = new Map();
48
143
  const persistState = state.observable({ inRemoteSync: false });
49
144
  function parseLocalConfig(config) {
50
- return state.isString(config) ? { table: config } : { table: config.name, config };
145
+ return state.isString(config) ? { table: config, config: { name: config } } : { table: config.name, config };
51
146
  }
52
147
  async function onObsChange(obs, obsState, localState, persistOptions, value, getPrevious, changes) {
53
148
  const { persistenceLocal, persistenceRemote } = localState;
@@ -64,8 +159,6 @@ async function onObsChange(obs, obsState, localState, persistOptions, value, get
64
159
  // as persisting may not include symbols correctly
65
160
  let localValue = value;
66
161
  if (persistOptions.remote) {
67
- localValue = replaceKeyInObject(value, state.symbolDateModified, state.dateModifiedKey,
68
- /*clone*/ true);
69
162
  if (saveRemote) {
70
163
  for (let i = 0; i < changes.length; i++) {
71
164
  const { path, valueAtPath, prevAtPath } = changes[i];
@@ -84,7 +177,20 @@ async function onObsChange(obs, obsState, localState, persistOptions, value, get
84
177
  }
85
178
  }
86
179
  }
87
- persistenceLocal.set(table, localValue, changes, config);
180
+ let changesLocal = changes;
181
+ if (config.fieldTransforms) {
182
+ localValue = transformObject(localValue, config.fieldTransforms, [state.dateModifiedKey]);
183
+ changesLocal = changesLocal.map(({ path, prevAtPath, valueAtPath }) => {
184
+ let transformed = state.constructObject(path, state.clone(valueAtPath));
185
+ transformed = transformObject(transformed, config.fieldTransforms, [state.dateModifiedKey]);
186
+ const transformedPath = transformPath(path, config.fieldTransforms, [state.dateModifiedKey]);
187
+ const toSave = state.deconstructObject(transformedPath, transformed);
188
+ return { path, prevAtPath, valueAtPath: toSave };
189
+ });
190
+ }
191
+ localValue = replaceKeyInObject(localValue, state.symbolDateModified, state.dateModifiedKey,
192
+ /*clone*/ true);
193
+ persistenceLocal.set(table, localValue, changesLocal, config);
88
194
  const metadata = {};
89
195
  if (inRemoteChange) {
90
196
  const dateModified = value[state.symbolDateModified];
@@ -100,6 +206,7 @@ async function onObsChange(obs, obsState, localState, persistOptions, value, get
100
206
  }
101
207
  }
102
208
  if (saveRemote) {
209
+ await state.when(obsState.isLoadedRemote);
103
210
  for (let i = 0; i < changes.length; i++) {
104
211
  const { path, valueAtPath, prevAtPath } = changes[i];
105
212
  if (path[path.length - 1] === state.symbolDateModified)
@@ -128,9 +235,12 @@ async function onObsChange(obs, obsState, localState, persistOptions, value, get
128
235
  });
129
236
  dateModified = saved[state.symbolDateModified];
130
237
  // Replace the dateModifiedKey and remove null/undefined before saving
131
- const replaced = replaceKeyInObject(removeNullUndefined(saved), state.symbolDateModified, state.dateModifiedKey,
238
+ if (config.fieldTransforms) {
239
+ saved = transformObject(saved, config.fieldTransforms, [state.dateModifiedKey]);
240
+ }
241
+ saved = replaceKeyInObject(removeNullUndefined(saved), state.symbolDateModified, state.dateModifiedKey,
132
242
  /*clone*/ false);
133
- toSave = toSave ? state.mergeIntoObservable(toSave, replaced) : replaced;
243
+ toSave = toSave ? state.mergeIntoObservable(toSave, saved) : saved;
134
244
  }
135
245
  if (saved !== undefined || didDelete) {
136
246
  persistenceLocal.set(table, toSave, [changes[i]], config);
@@ -161,13 +271,6 @@ async function loadLocal(obs, persistOptions, obsState, localState) {
161
271
  const localPersistence = persistOptions.persistLocal || observablePersistConfiguration.persistLocal;
162
272
  if (local) {
163
273
  const { table, config } = parseLocalConfig(local);
164
- // Warn on duplicate usage of local names
165
- if (process.env.NODE_ENV === 'development') {
166
- if (usedNames.has(table)) {
167
- console.error(`[legend-state] Called persist with the same local name multiple times: ${table}`);
168
- }
169
- usedNames.set(table, true);
170
- }
171
274
  if (!localPersistence) {
172
275
  throw new Error('Local persistence is not configured');
173
276
  }
@@ -182,11 +285,25 @@ async function loadLocal(obs, persistOptions, obsState, localState) {
182
285
  const persistenceLocal = (localState.persistenceLocal = mapPersistences.get(localPersistence));
183
286
  // If persistence has an asynchronous load, wait for it
184
287
  if (persistenceLocal.loadTable) {
185
- await persistenceLocal.loadTable(table, config);
288
+ const promise = persistenceLocal.loadTable(table, config);
289
+ if (promise) {
290
+ await promise;
291
+ }
186
292
  }
187
293
  // Get the value from state
188
294
  let value = persistenceLocal.getTable(table, config);
189
295
  const metadata = persistenceLocal.getMetadata(table, config);
296
+ if (config.fieldTransforms) {
297
+ // Get preloaded translated if available
298
+ let valueLoaded = persistenceLocal.getTableTransformed(table, config);
299
+ if (valueLoaded) {
300
+ value = valueLoaded;
301
+ }
302
+ else {
303
+ const inverted = invertMap(config.fieldTransforms);
304
+ value = transformObject(value, inverted, [state.dateModifiedKey]);
305
+ }
306
+ }
190
307
  if (metadata) {
191
308
  const pending = metadata.pending;
192
309
  localState.pendingChanges = pending;
@@ -201,7 +318,7 @@ async function loadLocal(obs, persistOptions, obsState, localState) {
201
318
  }
202
319
  state.batch(() => state.mergeIntoObservable(obs, value));
203
320
  }
204
- obsState.get().clearLocal = () => persistenceLocal.deleteTable(table, config);
321
+ obsState.peek().clearLocal = () => persistenceLocal.deleteTable(table, config);
205
322
  }
206
323
  obsState.isLoadedLocal.set(true);
207
324
  }
@@ -240,7 +357,7 @@ function persistObservable(obs, persistOptions) {
240
357
  const pending = localState.pendingChanges;
241
358
  if (pending) {
242
359
  Object.keys(pending).forEach((key) => {
243
- const path = key.split('/');
360
+ const path = key.split('/').filter((p) => p !== '');
244
361
  const { p, v } = pending[key];
245
362
  // TODO getPrevious if any remote persistence layers need it
246
363
  onObsChange(obs, obsState, localState, persistOptions, obs.peek(), () => undefined, [{ path, valueAtPath: v, prevAtPath: p }]);
@@ -261,10 +378,23 @@ function persistObservable(obs, persistOptions) {
261
378
  return obsState;
262
379
  }
263
380
 
381
+ const tracking = {
382
+ current: undefined,
383
+ inRemoteChange: false,
384
+ };
385
+
386
+ function isInRemoteChange() {
387
+ return tracking.inRemoteChange;
388
+ }
389
+
264
390
  exports.configureObservablePersistence = configureObservablePersistence;
265
391
  exports.getDateModifiedKey = getDateModifiedKey;
392
+ exports.invertMap = invertMap;
393
+ exports.isInRemoteChange = isInRemoteChange;
266
394
  exports.mapPersistences = mapPersistences;
267
395
  exports.observablePersistConfiguration = observablePersistConfiguration;
268
396
  exports.persistObservable = persistObservable;
269
397
  exports.persistState = persistState;
398
+ exports.transformObject = transformObject;
399
+ exports.transformPath = transformPath;
270
400
  //# sourceMappingURL=persist.js.map
package/persist.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"persist.js","sources":["../../src/persist/configureObservablePersistence.ts","../../src/persist/persistHelpers.ts","../../src/persist/persistObservable.ts"],"sourcesContent":[null,null,null],"names":["isObject","observable","isString","tracking","symbolDateModified","dateModifiedKey","isEmpty","mergeIntoObservable","beginBatch","endBatch","batch","when"],"mappings":"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"}
1
+ {"version":3,"file":"persist.js","sources":["../../src/persist/configureObservablePersistence.ts","../../src/persist/fieldTransformer.ts","../../src/persist/persistHelpers.ts","../../src/persist/persistObservable.ts","../../src/tracking.ts","../../persist.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["isObject","observable","isString","tracking","symbolDateModified","dateModifiedKey","constructObject","clone","deconstructObject","isEmpty","when","mergeIntoObservable","beginBatch","endBatch","batch"],"mappings":"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"}
package/persist.mjs CHANGED
@@ -1,10 +1,106 @@
1
- import { isObject, observable, when, tracking, symbolDateModified, isEmpty, mergeIntoObservable, beginBatch, endBatch, batch, isString, dateModifiedKey } from '@legendapp/state';
1
+ import { isObject, observable, when, tracking as tracking$1, symbolDateModified, dateModifiedKey, constructObject, clone, deconstructObject, isEmpty, mergeIntoObservable, beginBatch, endBatch, batch, isString } from '@legendapp/state';
2
2
 
3
3
  const observablePersistConfiguration = {};
4
4
  function configureObservablePersistence(options) {
5
5
  Object.assign(observablePersistConfiguration, options);
6
6
  }
7
7
 
8
+ function transformPath(path, map, passThroughKeys, ignoreKeys) {
9
+ const data = {};
10
+ let d = data;
11
+ for (let i = 0; i < path.length; i++) {
12
+ d = d[path[i]] = i === path.length - 1 ? null : {};
13
+ }
14
+ let value = transformObject(data, map, passThroughKeys, ignoreKeys);
15
+ const pathOut = [];
16
+ for (let i = 0; i < path.length; i++) {
17
+ const key = Object.keys(value)[0];
18
+ pathOut.push(key);
19
+ value = value[key];
20
+ }
21
+ return pathOut;
22
+ }
23
+ function transformObject(dataIn, map, passThroughKeys, ignoreKeys) {
24
+ // Note: If changing this, change it in IndexedDB preloader
25
+ let ret = dataIn;
26
+ if (dataIn) {
27
+ ret = {};
28
+ const dict = Object.keys(map).length === 1 && map['_dict'];
29
+ Object.keys(dataIn).forEach((key) => {
30
+ if (ret[key] !== undefined || (ignoreKeys === null || ignoreKeys === void 0 ? void 0 : ignoreKeys.includes(key)))
31
+ return;
32
+ let v = dataIn[key];
33
+ if (dict) {
34
+ ret[key] = transformObject(v, dict, passThroughKeys, ignoreKeys);
35
+ }
36
+ else {
37
+ const mapped = map[key];
38
+ if (mapped === undefined) {
39
+ if (passThroughKeys === null || passThroughKeys === void 0 ? void 0 : passThroughKeys.includes(key)) {
40
+ ret[key] = v;
41
+ }
42
+ else if ((process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test') &&
43
+ map[key] === undefined) {
44
+ console.error('A fatal field transformation error has occurred', key, dataIn, map);
45
+ ret[key] = v;
46
+ }
47
+ }
48
+ else if (mapped !== null) {
49
+ if (v !== undefined && v !== null) {
50
+ if (map[key + '_obj']) {
51
+ v = transformObject(v, map[key + '_obj'], passThroughKeys, ignoreKeys);
52
+ }
53
+ else if (map[key + '_dict']) {
54
+ const mapChild = map[key + '_dict'];
55
+ Object.keys(v).forEach((keyChild) => {
56
+ v[keyChild] = transformObject(v[keyChild], mapChild, passThroughKeys, ignoreKeys);
57
+ });
58
+ }
59
+ else if (map[key + '_arr']) {
60
+ const mapChild = map[key + '_arr'];
61
+ v = v.map((vChild) => transformObject(vChild, mapChild, passThroughKeys, ignoreKeys));
62
+ }
63
+ }
64
+ ret[mapped] = v;
65
+ }
66
+ }
67
+ if (process.env.NODE_ENV === 'development' && ret['[object Object]'])
68
+ debugger;
69
+ });
70
+ }
71
+ if (process.env.NODE_ENV === 'development' && ret && ret['[object Object]'])
72
+ debugger;
73
+ return ret;
74
+ }
75
+ const invertedMaps = new WeakMap();
76
+ function invertMap(obj) {
77
+ // Note: If changing this, change it in IndexedDB preloader
78
+ const existing = invertedMaps.get(obj);
79
+ if (existing)
80
+ return existing;
81
+ const target = {};
82
+ Object.keys(obj).forEach((key) => {
83
+ const val = obj[key];
84
+ if (process.env.NODE_ENV === 'development' && target[val])
85
+ debugger;
86
+ if (key === '_dict') {
87
+ target[key] = invertMap(val);
88
+ }
89
+ else if (key.endsWith('_obj') || key.endsWith('_dict') || key.endsWith('_arr')) {
90
+ const keyMapped = obj[key.replace(/_obj|_dict|_arr$/, '')];
91
+ const suffix = key.match(/_obj|_dict|_arr$/)[0];
92
+ target[keyMapped + suffix] = invertMap(val);
93
+ }
94
+ else if (typeof val === 'string') {
95
+ target[val] = key;
96
+ }
97
+ });
98
+ if (process.env.NODE_ENV === 'development' && target['[object Object]'])
99
+ debugger;
100
+ invertedMaps.set(obj, target);
101
+ return target;
102
+ }
103
+
8
104
  function removeNullUndefined(val) {
9
105
  if (val === undefined)
10
106
  return null;
@@ -42,16 +138,15 @@ function getDateModifiedKey(dateModifiedKey) {
42
138
  }
43
139
 
44
140
  const mapPersistences = new WeakMap();
45
- const usedNames = new Map();
46
141
  const persistState = observable({ inRemoteSync: false });
47
142
  function parseLocalConfig(config) {
48
- return isString(config) ? { table: config } : { table: config.name, config };
143
+ return isString(config) ? { table: config, config: { name: config } } : { table: config.name, config };
49
144
  }
50
145
  async function onObsChange(obs, obsState, localState, persistOptions, value, getPrevious, changes) {
51
146
  const { persistenceLocal, persistenceRemote } = localState;
52
147
  const local = persistOptions.local;
53
148
  const { table, config } = parseLocalConfig(local);
54
- const inRemoteChange = tracking.inRemoteChange;
149
+ const inRemoteChange = tracking$1.inRemoteChange;
55
150
  const saveRemote = !inRemoteChange && persistOptions.remote && !persistOptions.remote.readonly && obsState.isEnabledRemote.peek();
56
151
  if (local && obsState.isEnabledLocal.peek()) {
57
152
  if (!obsState.isLoadedLocal.peek()) {
@@ -62,8 +157,6 @@ async function onObsChange(obs, obsState, localState, persistOptions, value, get
62
157
  // as persisting may not include symbols correctly
63
158
  let localValue = value;
64
159
  if (persistOptions.remote) {
65
- localValue = replaceKeyInObject(value, symbolDateModified, dateModifiedKey,
66
- /*clone*/ true);
67
160
  if (saveRemote) {
68
161
  for (let i = 0; i < changes.length; i++) {
69
162
  const { path, valueAtPath, prevAtPath } = changes[i];
@@ -82,7 +175,20 @@ async function onObsChange(obs, obsState, localState, persistOptions, value, get
82
175
  }
83
176
  }
84
177
  }
85
- persistenceLocal.set(table, localValue, changes, config);
178
+ let changesLocal = changes;
179
+ if (config.fieldTransforms) {
180
+ localValue = transformObject(localValue, config.fieldTransforms, [dateModifiedKey]);
181
+ changesLocal = changesLocal.map(({ path, prevAtPath, valueAtPath }) => {
182
+ let transformed = constructObject(path, clone(valueAtPath));
183
+ transformed = transformObject(transformed, config.fieldTransforms, [dateModifiedKey]);
184
+ const transformedPath = transformPath(path, config.fieldTransforms, [dateModifiedKey]);
185
+ const toSave = deconstructObject(transformedPath, transformed);
186
+ return { path, prevAtPath, valueAtPath: toSave };
187
+ });
188
+ }
189
+ localValue = replaceKeyInObject(localValue, symbolDateModified, dateModifiedKey,
190
+ /*clone*/ true);
191
+ persistenceLocal.set(table, localValue, changesLocal, config);
86
192
  const metadata = {};
87
193
  if (inRemoteChange) {
88
194
  const dateModified = value[symbolDateModified];
@@ -98,6 +204,7 @@ async function onObsChange(obs, obsState, localState, persistOptions, value, get
98
204
  }
99
205
  }
100
206
  if (saveRemote) {
207
+ await when(obsState.isLoadedRemote);
101
208
  for (let i = 0; i < changes.length; i++) {
102
209
  const { path, valueAtPath, prevAtPath } = changes[i];
103
210
  if (path[path.length - 1] === symbolDateModified)
@@ -126,9 +233,12 @@ async function onObsChange(obs, obsState, localState, persistOptions, value, get
126
233
  });
127
234
  dateModified = saved[symbolDateModified];
128
235
  // Replace the dateModifiedKey and remove null/undefined before saving
129
- const replaced = replaceKeyInObject(removeNullUndefined(saved), symbolDateModified, dateModifiedKey,
236
+ if (config.fieldTransforms) {
237
+ saved = transformObject(saved, config.fieldTransforms, [dateModifiedKey]);
238
+ }
239
+ saved = replaceKeyInObject(removeNullUndefined(saved), symbolDateModified, dateModifiedKey,
130
240
  /*clone*/ false);
131
- toSave = toSave ? mergeIntoObservable(toSave, replaced) : replaced;
241
+ toSave = toSave ? mergeIntoObservable(toSave, saved) : saved;
132
242
  }
133
243
  if (saved !== undefined || didDelete) {
134
244
  persistenceLocal.set(table, toSave, [changes[i]], config);
@@ -142,14 +252,14 @@ async function onObsChange(obs, obsState, localState, persistOptions, value, get
142
252
  function onChangeRemote(cb) {
143
253
  // Remote changes should only update local state
144
254
  persistState.inRemoteSync.set(true);
145
- tracking.inRemoteChange = true;
255
+ tracking$1.inRemoteChange = true;
146
256
  try {
147
257
  beginBatch();
148
258
  cb();
149
259
  }
150
260
  finally {
151
261
  endBatch();
152
- tracking.inRemoteChange = false;
262
+ tracking$1.inRemoteChange = false;
153
263
  persistState.inRemoteSync.set(false);
154
264
  }
155
265
  }
@@ -159,13 +269,6 @@ async function loadLocal(obs, persistOptions, obsState, localState) {
159
269
  const localPersistence = persistOptions.persistLocal || observablePersistConfiguration.persistLocal;
160
270
  if (local) {
161
271
  const { table, config } = parseLocalConfig(local);
162
- // Warn on duplicate usage of local names
163
- if (process.env.NODE_ENV === 'development') {
164
- if (usedNames.has(table)) {
165
- console.error(`[legend-state] Called persist with the same local name multiple times: ${table}`);
166
- }
167
- usedNames.set(table, true);
168
- }
169
272
  if (!localPersistence) {
170
273
  throw new Error('Local persistence is not configured');
171
274
  }
@@ -180,11 +283,25 @@ async function loadLocal(obs, persistOptions, obsState, localState) {
180
283
  const persistenceLocal = (localState.persistenceLocal = mapPersistences.get(localPersistence));
181
284
  // If persistence has an asynchronous load, wait for it
182
285
  if (persistenceLocal.loadTable) {
183
- await persistenceLocal.loadTable(table, config);
286
+ const promise = persistenceLocal.loadTable(table, config);
287
+ if (promise) {
288
+ await promise;
289
+ }
184
290
  }
185
291
  // Get the value from state
186
292
  let value = persistenceLocal.getTable(table, config);
187
293
  const metadata = persistenceLocal.getMetadata(table, config);
294
+ if (config.fieldTransforms) {
295
+ // Get preloaded translated if available
296
+ let valueLoaded = persistenceLocal.getTableTransformed(table, config);
297
+ if (valueLoaded) {
298
+ value = valueLoaded;
299
+ }
300
+ else {
301
+ const inverted = invertMap(config.fieldTransforms);
302
+ value = transformObject(value, inverted, [dateModifiedKey]);
303
+ }
304
+ }
188
305
  if (metadata) {
189
306
  const pending = metadata.pending;
190
307
  localState.pendingChanges = pending;
@@ -199,7 +316,7 @@ async function loadLocal(obs, persistOptions, obsState, localState) {
199
316
  }
200
317
  batch(() => mergeIntoObservable(obs, value));
201
318
  }
202
- obsState.get().clearLocal = () => persistenceLocal.deleteTable(table, config);
319
+ obsState.peek().clearLocal = () => persistenceLocal.deleteTable(table, config);
203
320
  }
204
321
  obsState.isLoadedLocal.set(true);
205
322
  }
@@ -238,7 +355,7 @@ function persistObservable(obs, persistOptions) {
238
355
  const pending = localState.pendingChanges;
239
356
  if (pending) {
240
357
  Object.keys(pending).forEach((key) => {
241
- const path = key.split('/');
358
+ const path = key.split('/').filter((p) => p !== '');
242
359
  const { p, v } = pending[key];
243
360
  // TODO getPrevious if any remote persistence layers need it
244
361
  onObsChange(obs, obsState, localState, persistOptions, obs.peek(), () => undefined, [{ path, valueAtPath: v, prevAtPath: p }]);
@@ -259,5 +376,14 @@ function persistObservable(obs, persistOptions) {
259
376
  return obsState;
260
377
  }
261
378
 
262
- export { configureObservablePersistence, getDateModifiedKey, mapPersistences, observablePersistConfiguration, persistObservable, persistState };
379
+ const tracking = {
380
+ current: undefined,
381
+ inRemoteChange: false,
382
+ };
383
+
384
+ function isInRemoteChange() {
385
+ return tracking.inRemoteChange;
386
+ }
387
+
388
+ export { configureObservablePersistence, getDateModifiedKey, invertMap, isInRemoteChange, mapPersistences, observablePersistConfiguration, persistObservable, persistState, transformObject, transformPath };
263
389
  //# sourceMappingURL=persist.mjs.map
package/persist.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"persist.mjs","sources":["../../src/persist/configureObservablePersistence.ts","../../src/persist/persistHelpers.ts","../../src/persist/persistObservable.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persist.mjs","sources":["../../src/persist/configureObservablePersistence.ts","../../src/persist/fieldTransformer.ts","../../src/persist/persistHelpers.ts","../../src/persist/persistObservable.ts","../../src/tracking.ts","../../persist.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["tracking"],"mappings":";;AAEO,MAAM,8BAA8B,GAAgC,GAAG;AAExE,SAAU,8BAA8B,CAAC,OAAqC,EAAA;AAChF,IAAA,MAAM,CAAC,MAAM,CAAC,8BAA8B,EAAE,OAAO,CAAC,CAAC;AAC3D;;ACNM,SAAU,aAAa,CACzB,IAAc,EACd,GAAwB,EACxB,eAAyB,EACzB,UAAqB,EAAA;IAErB,MAAM,IAAI,GAAwB,EAAE,CAAC;IACrC,IAAI,CAAC,GAAG,IAAI,CAAC;AACb,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAClC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;AACtD,KAAA;AACD,IAAA,IAAI,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAClC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,QAAA,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClB,QAAA,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AACtB,KAAA;AACD,IAAA,OAAO,OAAO,CAAC;AACnB,CAAC;AAEK,SAAU,eAAe,CAC3B,MAA2B,EAC3B,GAAwB,EACxB,eAAyB,EACzB,UAAqB,EAAA;;IAGrB,IAAI,GAAG,GAAG,MAAM,CAAC;AACjB,IAAA,IAAI,MAAM,EAAE;QACR,GAAG,GAAG,EAAE,CAAC;AAET,QAAA,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAE3D,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AAChC,YAAA,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,KAAI,UAAU,KAAV,IAAA,IAAA,UAAU,uBAAV,UAAU,CAAE,QAAQ,CAAC,GAAG,CAAC,CAAA;gBAAE,OAAO;AAEhE,YAAA,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAEpB,YAAA,IAAI,IAAI,EAAE;AACN,gBAAA,GAAG,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;AACpE,aAAA;AAAM,iBAAA;AACH,gBAAA,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;gBACxB,IAAI,MAAM,KAAK,SAAS,EAAE;oBACtB,IAAI,eAAe,KAAf,IAAA,IAAA,eAAe,KAAf,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,eAAe,CAAE,QAAQ,CAAC,GAAG,CAAC,EAAE;AAChC,wBAAA,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAChB,qBAAA;AAAM,yBAAA,IACH,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM;AAC1E,wBAAA,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EACxB;wBACE,OAAO,CAAC,KAAK,CAAC,iDAAiD,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;AACnF,wBAAA,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAChB,qBAAA;AACJ,iBAAA;qBAAM,IAAI,MAAM,KAAK,IAAI,EAAE;AACxB,oBAAA,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,EAAE;AAC/B,wBAAA,IAAI,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE;AACnB,4BAAA,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;AAC1E,yBAAA;AAAM,6BAAA,IAAI,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,EAAE;4BAC3B,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC;4BACpC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAI;AAChC,gCAAA,CAAC,CAAC,QAAQ,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;AACtF,6BAAC,CAAC,CAAC;AACN,yBAAA;AAAM,6BAAA,IAAI,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE;4BAC1B,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;4BACnC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC;AACzF,yBAAA;AACJ,qBAAA;AACD,oBAAA,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACnB,iBAAA;AACJ,aAAA;YACD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,GAAG,CAAC,iBAAiB,CAAC;AAAE,gBAAA,SAAS;AACnF,SAAC,CAAC,CAAC;AACN,KAAA;AAED,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC;AAAE,QAAA,SAAS;AAEtF,IAAA,OAAO,GAAG,CAAC;AACf,CAAC;AAED,MAAM,YAAY,GAAG,IAAI,OAAO,EAAE,CAAC;AAE7B,SAAU,SAAS,CAAC,GAAwB,EAAA;;IAE9C,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACvC,IAAA,IAAI,QAAQ;AAAE,QAAA,OAAO,QAAQ,CAAC;IAE9B,MAAM,MAAM,GAAwB,EAAS,CAAC;IAE9C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AAC7B,QAAA,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,MAAM,CAAC,GAAG,CAAC;AAAE,YAAA,SAAS;QACpE,IAAI,GAAG,KAAK,OAAO,EAAE;YACjB,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;AAChC,SAAA;aAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC9E,YAAA,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,CAAC;YAC3D,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;AAC/C,SAAA;AAAM,aAAA,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AAChC,YAAA,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AACrB,SAAA;AACL,KAAC,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,MAAM,CAAC,iBAAiB,CAAC;AAAE,QAAA,SAAS;AAClF,IAAA,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAE9B,IAAA,OAAO,MAAM,CAAC;AAClB;;ACtGM,SAAU,mBAAmB,CAAgC,GAAM,EAAA;IACrE,IAAI,GAAG,KAAK,SAAS;AAAE,QAAA,OAAO,IAAI,CAAC;IACnC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AAC7B,QAAA,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AACnB,QAAA,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,EAAE;AAC/B,YAAA,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;AACnB,SAAA;AAAM,aAAA,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;YACpB,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAC1B,SAAA;AACL,KAAC,CAAC,CAAC;AACH,IAAA,OAAO,GAAG,CAAC;AACf,CAAC;AAEK,SAAU,kBAAkB,CAAC,GAAW,EAAE,SAAc,EAAE,SAAc,EAAE,KAAc,EAAA;AAC1F,IAAA,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE;QACf,MAAM,MAAM,GAAG,KAAK,GAAG,EAAE,GAAG,GAAG,CAAC;AAChC,QAAA,IAAI,GAAG,CAAC,SAAS,CAAC,EAAE;YAChB,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;AACnC,YAAA,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;AAC5B,SAAA;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;YAC7B,IAAI,GAAG,KAAK,SAAS,EAAE;AACnB,gBAAA,MAAM,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AAC3E,aAAA;AACL,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,MAAM,CAAC;AACjB,KAAA;AAAM,SAAA;AACH,QAAA,OAAO,GAAG,CAAC;AACd,KAAA;AACL,CAAC;AAEK,SAAU,kBAAkB,CAAC,eAAuB,EAAA;AACtD,IAAA,OAAO,eAAe,IAAI,8BAA8B,CAAC,eAAe,IAAI,GAAG,CAAC;AACpF;;ACHa,MAAA,eAAe,GAGxB,IAAI,OAAO,GAAG;AAEX,MAAM,YAAY,GAAG,UAAU,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE;AAQhE,SAAS,gBAAgB,CAAC,MAAoC,EAAA;AAC1D,IAAA,OAAO,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;AAC3G,CAAC;AAED,eAAe,WAAW,CACtB,GAAkB,EAClB,QAAkD,EAClD,UAAsB,EACtB,cAAiC,EACjC,KAAQ,EACR,WAAoB,EACpB,OAAiB,EAAA;AAEjB,IAAA,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,UAAU,CAAC;AAE3D,IAAA,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC;IACnC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAClD,IAAA,MAAM,cAAc,GAAGA,UAAQ,CAAC,cAAc,CAAC;IAC/C,MAAM,UAAU,GACZ,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,IAAI,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IAEnH,IAAI,KAAK,IAAI,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE;AACzC,QAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE;AAChC,YAAA,OAAO,CAAC,KAAK,CACT,wFAAwF,EACxF,KAAK,CACR,CAAC;YACF,OAAO;AACV,SAAA;;;QAID,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,cAAc,CAAC,MAAM,EAAE;AACvB,YAAA,IAAI,UAAU,EAAE;AACZ,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,oBAAA,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBACrD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAM,kBAA0B;wBAAE,SAAS;oBACpE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/B,oBAAA,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE;AAC5B,wBAAA,UAAU,CAAC,cAAc,GAAG,EAAE,CAAC;AAClC,qBAAA;;;AAGD,oBAAA,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;AACrC,wBAAA,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,UAAU,aAAV,UAAU,KAAA,KAAA,CAAA,GAAV,UAAU,GAAI,IAAI,EAAE,CAAC;AAClE,qBAAA;oBAED,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;AACtD,iBAAA;AACJ,aAAA;AACJ,SAAA;QAED,IAAI,YAAY,GAAG,OAAO,CAAC;QAC3B,IAAI,MAAM,CAAC,eAAe,EAAE;AACxB,YAAA,UAAU,GAAG,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,eAAe,CAAC,CAAM,CAAC;AACzF,YAAA,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,KAAI;gBAClE,IAAI,WAAW,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;AAC5D,gBAAA,WAAW,GAAG,eAAe,CAAC,WAAW,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;AACtF,gBAAA,MAAM,eAAe,GAAG,aAAa,CAAC,IAAgB,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;gBACnG,MAAM,MAAM,GAAG,iBAAiB,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;gBAC/D,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;AACrD,aAAC,CAAC,CAAC;AACN,SAAA;AAED,QAAA,UAAU,GAAG,kBAAkB,CAC3B,UAA+B,EAC/B,kBAAkB,EAClB,eAAe;kBACL,IAAI,CACjB,CAAC;QAEF,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QAE9D,MAAM,QAAQ,GAAoB,EAAE,CAAC;AAErC,QAAA,IAAI,cAAc,EAAE;AAChB,YAAA,MAAM,YAAY,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAC/C,YAAA,IAAI,YAAY,EAAE;AACd,gBAAA,QAAQ,CAAC,QAAQ,GAAG,YAAY,CAAC;AACpC,aAAA;AACJ,SAAA;AAED,QAAA,IAAI,UAAU,CAAC,cAAc,KAAK,SAAS,EAAE;AACzC,YAAA,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC;AAChD,SAAA;AAED,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACpB,gBAAgB,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC5D,SAAA;AACJ,KAAA;AAED,IAAA,IAAI,UAAU,EAAE;AACZ,QAAA,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AAEpC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,YAAA,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACrD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAM,kBAA0B;gBAAE,SAAS;YACpE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;;AAI/B,YAAA,iBAAiB,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAI;;AACxF,gBAAA,IAAI,KAAK,EAAE;oBACP,IAAI,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACtD,oBAAA,MAAM,OAAO,GAAG,CAAA,EAAA,GAAA,gBAAgB,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,CAAC;AACrE,oBAAA,IAAI,YAAY,CAAC;oBACjB,IAAI,SAAS,GAAG,KAAK,CAAC;oBACtB,IAAI,OAAO,aAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAG,OAAO,CAAC,EAAE;wBACpB,SAAS,GAAG,IAAI,CAAC;;AAEjB,wBAAA,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;;AAExB,wBAAA,OAAO,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AAC7C,qBAAA;;oBAED,IAAI,KAAK,KAAK,SAAS,EAAE;wBACrB,cAAc,CAAC,MAAK;AAChB,4BAAA,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACpC,yBAAC,CAAC,CAAC;AACH,wBAAA,YAAY,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;;wBAEzC,IAAI,MAAM,CAAC,eAAe,EAAE;AACxB,4BAAA,KAAK,GAAG,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,eAAe,CAAC,CAAM,CAAC;AAClF,yBAAA;wBACD,KAAK,GAAG,kBAAkB,CACtB,mBAAmB,CAAC,KAAe,CAAC,EACpC,kBAAkB,EAClB,eAAe;kCACL,KAAK,CAClB,CAAC;AACF,wBAAA,MAAM,GAAG,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;AAChE,qBAAA;AACD,oBAAA,IAAI,KAAK,KAAK,SAAS,IAAI,SAAS,EAAE;AAClC,wBAAA,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAC1D,wBAAA,gBAAgB,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,MAAM,CAAC,CAAC;AACvF,qBAAA;AACJ,iBAAA;AACL,aAAC,CAAC,CAAC;AACN,SAAA;AACJ,KAAA;AACL,CAAC;AAED,SAAS,cAAc,CAAC,EAAc,EAAA;;AAElC,IAAA,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACpC,IAAAA,UAAQ,CAAC,cAAc,GAAG,IAAI,CAAC;IAE/B,IAAI;AACA,QAAA,UAAU,EAAE,CAAC;AACb,QAAA,EAAE,EAAE,CAAC;AACR,KAAA;AAAS,YAAA;AACN,QAAA,QAAQ,EAAE,CAAC;AACX,QAAAA,UAAQ,CAAC,cAAc,GAAG,KAAK,CAAC;AAChC,QAAA,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACxC,KAAA;AACL,CAAC;AAED,eAAe,SAAS,CACpB,GAA0B,EAC1B,cAA8B,EAC9B,QAAkD,EAClD,UAAsB,EAAA;;AAEtB,IAAA,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC;IACzC,MAAM,gBAAgB,GAClB,cAAc,CAAC,YAAY,IAAI,8BAA8B,CAAC,YAAY,CAAC;AAE/E,IAAA,IAAI,KAAK,EAAE;QACP,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,gBAAgB,EAAE;AACnB,YAAA,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;AAC1D,SAAA;;AAED,QAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;AACxC,YAAA,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC;YAChD,IAAI,gBAAgB,CAAC,UAAU,EAAE;gBAC7B,OAAM,CAAA,EAAA,GAAA,gBAAgB,CAAC,UAAU,MAAG,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,gBAAA,EAAA,8BAA8B,CAAC,mBAAmB,CAAC,CAAA,CAAC;AAC3F,aAAA;AACD,YAAA,eAAe,CAAC,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;AAC3D,SAAA;AACD,QAAA,MAAM,gBAAgB,IAAI,UAAU,CAAC,gBAAgB,GAAG,eAAe,CAAC,GAAG,CACvE,gBAAgB,CACO,CAAC,CAAC;;QAG7B,IAAI,gBAAgB,CAAC,SAAS,EAAE;YAC5B,MAAM,OAAO,GAAG,gBAAgB,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC1D,YAAA,IAAI,OAAO,EAAE;AACT,gBAAA,MAAM,OAAO,CAAC;AACjB,aAAA;AACJ,SAAA;;QAGD,IAAI,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAE7D,IAAI,MAAM,CAAC,eAAe,EAAE;;YAExB,IAAI,WAAW,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACtE,YAAA,IAAI,WAAW,EAAE;gBACb,KAAK,GAAG,WAAW,CAAC;AACvB,aAAA;AAAM,iBAAA;gBACH,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBACnD,KAAK,GAAG,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;AAC/D,aAAA;AACJ,SAAA;AAED,QAAA,IAAI,QAAQ,EAAE;AACV,YAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;AACjC,YAAA,UAAU,CAAC,cAAc,GAAG,OAAO,CAAC;AACvC,SAAA;;AAGD,QAAA,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;AACvC,YAAA,IAAI,MAAM,EAAE;gBACR,kBAAkB,CAAC,KAAK,EAAE,eAAe,EAAE,kBAAkB,YAAY,KAAK,CAAC,CAAC;AACnF,aAAA;AACD,YAAA,IAAI,QAAQ,KAAR,IAAA,IAAA,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,EAAE;AACpB,gBAAA,KAAK,CAAC,kBAAkB,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC;AACjD,aAAA;YACD,KAAK,CAAC,MAAM,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAChD,SAAA;AAED,QAAA,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAClF,KAAA;AACD,IAAA,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAEe,SAAA,iBAAiB,CAAI,GAA0B,EAAE,cAAiC,EAAA;IAC9F,MAAM,QAAQ,GAAG,UAAU,CAAyB;AAChD,QAAA,aAAa,EAAE,KAAK;AACpB,QAAA,cAAc,EAAE,KAAK;AACrB,QAAA,cAAc,EAAE,IAAI;AACpB,QAAA,eAAe,EAAE,IAAI;AACrB,QAAA,UAAU,EAAE,SAAS;AACrB,QAAA,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,EAAE;AAChC,KAAA,CAAC,CAAC;AAEH,IAAA,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC;AACzC,IAAA,MAAM,iBAAiB,GAAG,cAAc,CAAC,aAAa,KAAI,8BAA8B,KAA9B,IAAA,IAAA,8BAA8B,KAA9B,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,8BAA8B,CAAE,aAAa,CAAA,CAAC;IACxG,MAAM,UAAU,GAAe,EAAE,CAAC;AAElC,IAAA,IAAI,KAAK,EAAE;QACP,SAAS,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AACxD,KAAA;AAED,IAAA,IAAI,MAAM,EAAE;QACR,IAAI,CAAC,iBAAiB,EAAE;AACpB,YAAA,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;AAC3D,SAAA;;AAED,QAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE;YACzC,eAAe,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,iBAAiB,EAAE,CAAC,CAAC;AACnE,SAAA;QACD,UAAU,CAAC,iBAAiB,GAAG,eAAe,CAAC,GAAG,CAAC,iBAAiB,CAA4B,CAAC;QAEjG,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,QAAA,MAAM,IAAI,GAAG,YAAW;YACpB,IAAI,CAAC,QAAQ,EAAE;gBACX,QAAQ,GAAG,IAAI,CAAC;gBAChB,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAC/B,GAAG,EACH,cAAc,EACd,MAAK;AACD,oBAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACrC,EACD,cAAc,CACjB,CAAC;AAEF,gBAAA,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AAEpC,gBAAA,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC;AAC1C,gBAAA,IAAI,OAAO,EAAE;oBACT,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;wBACjC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;wBACpD,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;;AAE9B,wBAAA,WAAW,CACP,GAAiB,EACjB,QAAQ,EACR,UAAU,EACV,cAAc,EACd,GAAG,CAAC,IAAI,EAAE,EACV,MAAM,SAAS,EACf,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAC5C,CAAC;AACN,qBAAC,CAAC,CAAC;AACN,iBAAA;AACJ,aAAA;AACL,SAAC,CAAC;QAEF,IAAI,MAAM,CAAC,MAAM,EAAE;AACf,YAAA,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7B,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;AAC5D,SAAA;AACJ,KAAA;AAED,IAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAK;AAC9B,QAAA,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;AACpF,KAAC,CAAC,CAAC;AAEH,IAAA,OAAO,QAAQ,CAAC;AACpB;;ACnVO,MAAM,QAAQ,GAAG;AACpB,IAAA,OAAO,EAAE,SAAsC;AAC/C,IAAA,cAAc,EAAE,KAAK;CACxB;;SCJe,gBAAgB,GAAA;IAC5B,OAAO,QAAQ,CAAC,cAAc,CAAC;AACnC;;;;"}
package/src/globals.d.ts CHANGED
@@ -17,7 +17,6 @@ export declare function peek(node: NodeValue): any;
17
17
  export declare function getNodeValue(node: NodeValue): any;
18
18
  export declare function getChildNode(node: NodeValue, key: string | number): NodeValue;
19
19
  export declare function ensureNodeValue(node: NodeValue): any;
20
- export declare function shouldTreatAsOpaque(value: any): boolean;
21
20
  export declare type IDKey = 'id' | '_id' | '__id';
22
21
  export declare type IDValue = string | number;
23
22
  export declare function findIDKey(obj: unknown | undefined): IDKey | undefined;