@legendapp/state 1.6.3 → 1.7.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,28 @@
1
+ ## 1.7.0
2
+
3
+ - Feat: Add `ObservablePersistSessionStorage`. -By @minorgod https://github.com/LegendApp/legend-state/pull/164
4
+
5
+ ## 1.6.4
6
+
7
+ - Types: `Selector` now allows `ObservableEvent`
8
+ - Types: `ObservableWriteable` was not exactly correct after the change to add Promise to `set`
9
+
10
+ ## 1.6.3
11
+
12
+ - Fix: `useObservableNextRouter` was throwing warnings on some route changes
13
+ - Fix: `enableDirectPeek` set now matches normal set behavior with promise and function extraction and all
14
+ - Types: Package is now built in TypeScript strict mode
15
+
16
+ ## 1.6.2
17
+
18
+ - Types: Improved types of Computed, Memo, and the babel transform
19
+ - Types: Improved handling of null and undefined in observables
20
+
21
+ ## 1.6.1
22
+
23
+ - Types: Improve handling of optional properties in observable constructor
24
+ - Types: Add missing Promise type in set function
25
+
1
26
  ## 1.6.0
2
27
 
3
28
  - Feat: `set` automatically unwraps promises
@@ -9,7 +34,7 @@
9
34
  ## 1.5.0
10
35
 
11
36
  - Feat: add Reactive components, with configuration for React and React Native, to replace Legend components
12
- - Fix: Improved types of useObservableQuery -By @sheldon-welinga
37
+ - Fix: Improved types of useObservableQuery -By @sheldon-welinga https://github.com/LegendApp/legend-state/pull/146
13
38
  - Fix: babel transform was breaking Memo/Computed with observable child
14
39
 
15
40
  ## 1.4.0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@legendapp/state",
3
- "version": "1.6.3",
3
+ "version": "1.7.0",
4
4
  "description": "legend-state",
5
5
  "sideEffects": false,
6
6
  "private": false,
@@ -1,6 +1,8 @@
1
1
  import type { Change, ObservablePersistLocal, PersistMetadata } from '@legendapp/state';
2
- export declare class ObservablePersistLocalStorage implements ObservablePersistLocal {
2
+ declare class ObservablePersistLocalStorageBase implements ObservablePersistLocal {
3
3
  private data;
4
+ private storage;
5
+ constructor(storage: Storage);
4
6
  getTable(table: string): any;
5
7
  getMetadata(table: string): PersistMetadata;
6
8
  get(table: string, id: string): any;
@@ -11,3 +13,10 @@ export declare class ObservablePersistLocalStorage implements ObservablePersistL
11
13
  private setValue;
12
14
  private save;
13
15
  }
16
+ export declare class ObservablePersistLocalStorage extends ObservablePersistLocalStorageBase {
17
+ constructor();
18
+ }
19
+ export declare class ObservablePersistSessionStorage extends ObservablePersistLocalStorageBase {
20
+ constructor();
21
+ }
22
+ export {};
@@ -3,16 +3,17 @@
3
3
  var state = require('@legendapp/state');
4
4
 
5
5
  const MetadataSuffix = '__m';
6
- class ObservablePersistLocalStorage {
7
- constructor() {
6
+ class ObservablePersistLocalStorageBase {
7
+ constructor(storage) {
8
8
  this.data = {};
9
+ this.storage = storage;
9
10
  }
10
11
  getTable(table) {
11
- if (typeof localStorage === 'undefined')
12
+ if (typeof this.storage === 'undefined')
12
13
  return undefined;
13
14
  if (this.data[table] === undefined) {
14
15
  try {
15
- const value = localStorage.getItem(table);
16
+ const value = this.storage.getItem(table);
16
17
  this.data[table] = value ? JSON.parse(value) : undefined;
17
18
  }
18
19
  catch (_a) {
@@ -43,7 +44,7 @@ class ObservablePersistLocalStorage {
43
44
  }
44
45
  deleteTable(table) {
45
46
  delete this.data[table];
46
- localStorage.removeItem(table);
47
+ this.storage.removeItem(table);
47
48
  }
48
49
  deleteMetadata(table) {
49
50
  this.deleteTable(table + MetadataSuffix);
@@ -54,17 +55,28 @@ class ObservablePersistLocalStorage {
54
55
  this.save(table);
55
56
  }
56
57
  save(table) {
57
- if (typeof localStorage === 'undefined')
58
+ if (typeof this.storage === 'undefined')
58
59
  return;
59
60
  const v = this.data[table];
60
61
  if (v !== undefined && v !== null) {
61
- localStorage.setItem(table, JSON.stringify(v));
62
+ this.storage.setItem(table, JSON.stringify(v));
62
63
  }
63
64
  else {
64
- localStorage.removeItem(table);
65
+ this.storage.removeItem(table);
65
66
  }
66
67
  }
67
68
  }
69
+ class ObservablePersistLocalStorage extends ObservablePersistLocalStorageBase {
70
+ constructor() {
71
+ super(localStorage);
72
+ }
73
+ }
74
+ class ObservablePersistSessionStorage extends ObservablePersistLocalStorageBase {
75
+ constructor() {
76
+ super(sessionStorage);
77
+ }
78
+ }
68
79
 
69
80
  exports.ObservablePersistLocalStorage = ObservablePersistLocalStorage;
81
+ exports.ObservablePersistSessionStorage = ObservablePersistSessionStorage;
70
82
  //# sourceMappingURL=local-storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"local-storage.js","sources":["../../../../src/persist-plugins/local-storage.ts"],"sourcesContent":[null],"names":["setAtPath"],"mappings":"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"}
1
+ {"version":3,"file":"local-storage.js","sources":["../../../../src/persist-plugins/local-storage.ts"],"sourcesContent":[null],"names":["setAtPath"],"mappings":"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"}
@@ -1,16 +1,17 @@
1
1
  import { setAtPath } from '@legendapp/state';
2
2
 
3
3
  const MetadataSuffix = '__m';
4
- class ObservablePersistLocalStorage {
5
- constructor() {
4
+ class ObservablePersistLocalStorageBase {
5
+ constructor(storage) {
6
6
  this.data = {};
7
+ this.storage = storage;
7
8
  }
8
9
  getTable(table) {
9
- if (typeof localStorage === 'undefined')
10
+ if (typeof this.storage === 'undefined')
10
11
  return undefined;
11
12
  if (this.data[table] === undefined) {
12
13
  try {
13
- const value = localStorage.getItem(table);
14
+ const value = this.storage.getItem(table);
14
15
  this.data[table] = value ? JSON.parse(value) : undefined;
15
16
  }
16
17
  catch (_a) {
@@ -41,7 +42,7 @@ class ObservablePersistLocalStorage {
41
42
  }
42
43
  deleteTable(table) {
43
44
  delete this.data[table];
44
- localStorage.removeItem(table);
45
+ this.storage.removeItem(table);
45
46
  }
46
47
  deleteMetadata(table) {
47
48
  this.deleteTable(table + MetadataSuffix);
@@ -52,17 +53,27 @@ class ObservablePersistLocalStorage {
52
53
  this.save(table);
53
54
  }
54
55
  save(table) {
55
- if (typeof localStorage === 'undefined')
56
+ if (typeof this.storage === 'undefined')
56
57
  return;
57
58
  const v = this.data[table];
58
59
  if (v !== undefined && v !== null) {
59
- localStorage.setItem(table, JSON.stringify(v));
60
+ this.storage.setItem(table, JSON.stringify(v));
60
61
  }
61
62
  else {
62
- localStorage.removeItem(table);
63
+ this.storage.removeItem(table);
63
64
  }
64
65
  }
65
66
  }
67
+ class ObservablePersistLocalStorage extends ObservablePersistLocalStorageBase {
68
+ constructor() {
69
+ super(localStorage);
70
+ }
71
+ }
72
+ class ObservablePersistSessionStorage extends ObservablePersistLocalStorageBase {
73
+ constructor() {
74
+ super(sessionStorage);
75
+ }
76
+ }
66
77
 
67
- export { ObservablePersistLocalStorage };
78
+ export { ObservablePersistLocalStorage, ObservablePersistSessionStorage };
68
79
  //# sourceMappingURL=local-storage.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"local-storage.mjs","sources":["../../../../src/persist-plugins/local-storage.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-storage.mjs","sources":["../../../../src/persist-plugins/local-storage.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -248,7 +248,7 @@ export declare type FieldTransformsInner<T> = {
248
248
  } & {
249
249
  [K in keyof ArrayKeys<T> as `${K}_val`]?: FieldTransforms<ArrayValue<T[K]>>;
250
250
  };
251
- export type Selector<T> = ObservableReadable<T> | (() => T) | T;
251
+ export type Selector<T> = ObservableReadable<T> | ObservableEvent | (() => T) | T;
252
252
  export type ClassConstructor<I, Args extends any[] = any[]> = new (...args: Args) => I;
253
253
  export type ObservableListenerDispose = () => void;
254
254
  export interface ObservableRoot {
@@ -272,8 +272,8 @@ type Equals<X, Y> = (<T>() => T extends X ? 1 : 2) extends <T>() => T extends Y
272
272
  export type Observable<T = any> = Equals<T, any> extends true ? ObservableObject<any> : [T] extends [object] ? ObservableObjectOrArray<T> : ObservablePrimitive<T>;
273
273
  export type ObservableReadable<T = any> = ObservableBaseFns<T> | ObservablePrimitiveBaseFns<T> | ObservablePrimitiveChildFns<T> | ObservableObjectFns<T> | ObservableMapIfMap<T>;
274
274
  export type ObservableWriteable<T = any> = ObservableReadable<T> & {
275
- set: (value: T | ((prev: T) => T)) => void;
276
- delete?: () => void;
275
+ set(value: Nullable<T> | CallbackSetter<T> | Promise<T>): any;
276
+ delete?: () => any;
277
277
  };
278
278
  export interface NodeValueListener {
279
279
  track: TrackingType;
@@ -1,6 +1,8 @@
1
1
  import type { Change, ObservablePersistLocal, PersistMetadata } from '@legendapp/state';
2
- export declare class ObservablePersistLocalStorage implements ObservablePersistLocal {
2
+ declare class ObservablePersistLocalStorageBase implements ObservablePersistLocal {
3
3
  private data;
4
+ private storage;
5
+ constructor(storage: Storage);
4
6
  getTable(table: string): any;
5
7
  getMetadata(table: string): PersistMetadata;
6
8
  get(table: string, id: string): any;
@@ -11,3 +13,10 @@ export declare class ObservablePersistLocalStorage implements ObservablePersistL
11
13
  private setValue;
12
14
  private save;
13
15
  }
16
+ export declare class ObservablePersistLocalStorage extends ObservablePersistLocalStorageBase {
17
+ constructor();
18
+ }
19
+ export declare class ObservablePersistSessionStorage extends ObservablePersistLocalStorageBase {
20
+ constructor();
21
+ }
22
+ export {};