@plq/use-persisted-state 1.1.2 → 1.1.3

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 (36) hide show
  1. package/lib/@types/hook.d.ts +2 -2
  2. package/lib/@types/hook.d.ts.map +1 -1
  3. package/lib/@types/storage.d.ts +1 -1
  4. package/lib/@types/storage.d.ts.map +1 -1
  5. package/lib/create-async-persisted-state.d.ts +1 -1
  6. package/lib/create-async-persisted-state.d.ts.map +1 -1
  7. package/lib/create-async-persisted-state.js +6 -6
  8. package/lib/create-async-persisted-state.js.map +1 -1
  9. package/lib/create-persisted-state.js +7 -7
  10. package/lib/create-persisted-state.js.map +1 -1
  11. package/lib/index.d.ts +1 -1
  12. package/lib/index.d.ts.map +1 -1
  13. package/lib/index.js +3 -3
  14. package/lib/index.js.map +1 -1
  15. package/lib/storages/local-storage.js +1 -1
  16. package/lib/storages/local-storage.js.map +1 -1
  17. package/lib/storages/session-storage.js +1 -1
  18. package/lib/storages/session-storage.js.map +1 -1
  19. package/lib/utils/get-new-value.js +1 -1
  20. package/lib/utils/get-new-value.js.map +1 -1
  21. package/lib/utils/get-persisted-value.js +1 -1
  22. package/lib/utils/get-persisted-value.js.map +1 -1
  23. package/lib/utils/is-async-storage.js +3 -3
  24. package/lib/utils/is-async-storage.js.map +1 -1
  25. package/lib/utils/use-storage-handler.js +3 -3
  26. package/lib/utils/use-storage-handler.js.map +1 -1
  27. package/package.json +30 -29
  28. package/src/@types/hook.ts +1 -1
  29. package/src/create-async-persisted-state.ts +2 -2
  30. package/src/index.ts +4 -4
  31. package/src/utils/use-storage-handler.ts +1 -1
  32. package/CHANGELOG.md +0 -89
  33. package/lib/utils/get-initial-value.d.ts +0 -1
  34. package/lib/utils/get-initial-value.d.ts.map +0 -1
  35. package/lib/utils/get-initial-value.js +0 -2
  36. package/lib/utils/get-initial-value.js.map +0 -1
@@ -1,3 +1,3 @@
1
- export declare type UsePersistedState<T> = [T, (value: T | ((previousState: T) => T)) => void];
2
- export declare type PersistedState = <T>(key: string, initialValue: T) => UsePersistedState<T>;
1
+ export type UsePersistedState<T> = [T, (value: T | ((previousState: T) => T)) => void | Promise<void>];
2
+ export type PersistedState = <T>(key: string, initialValue: T) => UsePersistedState<T>;
3
3
  //# sourceMappingURL=hook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/@types/hook.ts"],"names":[],"mappings":"AAAA,oBAAY,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAA;AAEtF,oBAAY,cAAc,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,KAAK,iBAAiB,CAAC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/@types/hook.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;AAEtG,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,KAAK,iBAAiB,CAAC,CAAC,CAAC,CAAA"}
@@ -2,7 +2,7 @@ export interface StorageChange {
2
2
  oldValue?: string | null;
3
3
  newValue?: string | null;
4
4
  }
5
- export declare type StorageChangeListener = (changes: {
5
+ export type StorageChangeListener = (changes: {
6
6
  [key: string]: StorageChange;
7
7
  }) => void;
8
8
  export interface StorageChangeEvent {
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/@types/storage.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,oBAAY,qBAAqB,GAAG,CAAC,OAAO,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAA;CAAE,KAAK,IAAI,CAAA;AAEvF,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACnD,cAAc,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACtD,WAAW,CAAC,QAAQ,EAAE,qBAAqB,GAAG,OAAO,CAAC;CACvD;AAED,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC5D,GAAG,EAAE,CAAC,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAChD,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;IAC1C,SAAS,EAAE,kBAAkB,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE,GAAG,EAAE,CAAC,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,SAAS,EAAE,kBAAkB,CAAC;CAC/B"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/@types/storage.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAA;CAAE,KAAK,IAAI,CAAA;AAEvF,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACnD,cAAc,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACtD,WAAW,CAAC,QAAQ,EAAE,qBAAqB,GAAG,OAAO,CAAC;CACvD;AAED,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC5D,GAAG,EAAE,CAAC,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAChD,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;IAC1C,SAAS,EAAE,kBAAkB,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE,GAAG,EAAE,CAAC,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,SAAS,EAAE,kBAAkB,CAAC;CAC/B"}
@@ -1,4 +1,4 @@
1
1
  import { AsyncStorage } from './@types/storage';
2
2
  import { PersistedState } from './@types/hook';
3
- export default function createAsyncPersistedState(storageKey: string, storage: AsyncStorage): [PersistedState, () => Promise<void>];
3
+ export default function createAsyncPersistedState<S extends AsyncStorage>(storageKey: string, storage: S): [PersistedState, () => Promise<void>];
4
4
  //# sourceMappingURL=create-async-persisted-state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-async-persisted-state.d.ts","sourceRoot":"","sources":["../src/create-async-persisted-state.ts"],"names":[],"mappings":"AAOA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAC,cAAc,EAAoB,MAAM,eAAe,CAAA;AAE/D,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAC/C,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,YAAY,GACpB,CAAC,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAuCvC"}
1
+ {"version":3,"file":"create-async-persisted-state.d.ts","sourceRoot":"","sources":["../src/create-async-persisted-state.ts"],"names":[],"mappings":"AAOA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAC,cAAc,EAAoB,MAAM,eAAe,CAAA;AAE/D,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,CAAC,SAAS,YAAY,EACtE,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CAAC,GACT,CAAC,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAuCvC"}
@@ -14,24 +14,24 @@ function createAsyncPersistedState(storageKey, storage) {
14
14
  return storage.remove(safeStorageKey);
15
15
  };
16
16
  const usePersistedState = (key, initialValue) => {
17
- const [state, setState] = react_1.useState(initialValue);
17
+ const [state, setState] = (0, react_1.useState)(initialValue);
18
18
  const setPersistedState = async (newState) => {
19
- const newValue = get_new_value_1.default(newState, state);
19
+ const newValue = (0, get_new_value_1.default)(newState, state);
20
20
  setState(newValue);
21
21
  const persistedItem = await storage.get(safeStorageKey);
22
- const newItem = get_new_item_1.default(key, persistedItem[safeStorageKey], newValue);
22
+ const newItem = (0, get_new_item_1.default)(key, persistedItem[safeStorageKey], newValue);
23
23
  await storage.set({ [safeStorageKey]: newItem });
24
24
  };
25
- react_1.useEffect(() => {
25
+ (0, react_1.useEffect)(() => {
26
26
  const setInitialValue = async () => {
27
27
  const persist = await storage.get(safeStorageKey);
28
28
  const persistedState = persist[safeStorageKey];
29
- const initialOrPersistedValue = get_persisted_value_1.default(key, initialValue, persistedState);
29
+ const initialOrPersistedValue = (0, get_persisted_value_1.default)(key, initialValue, persistedState);
30
30
  setState(initialOrPersistedValue);
31
31
  };
32
32
  setInitialValue();
33
33
  }, [initialValue, key]);
34
- use_storage_handler_1.default(key, safeStorageKey, setState, storage, initialValue);
34
+ (0, use_storage_handler_1.default)(key, safeStorageKey, setState, storage, initialValue);
35
35
  return [state, setPersistedState];
36
36
  };
37
37
  return [usePersistedState, clear];
@@ -1 +1 @@
1
- {"version":3,"file":"create-async-persisted-state.js","sourceRoot":"","sources":["../src/create-async-persisted-state.ts"],"names":[],"mappings":";;;;;AAAA,iCAAgD;AAEhD,sFAA2D;AAC3D,0EAA+C;AAC/C,wEAA6C;AAC7C,sFAA2D;AAK3D,SAAwB,yBAAyB,CAC/C,UAAkB,EAClB,OAAqB;IAErB,MAAM,cAAc,GAAG,wBAAwB,UAAU,EAAE,CAAA;IAE3D,MAAM,KAAK,GAAG,GAAkB,EAAE;QAChC,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IACvC,CAAC,CAAA;IAED,MAAM,iBAAiB,GAAG,CAAI,GAAW,EAAE,YAA2B,EAAwB,EAAE;QAC9F,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,gBAAQ,CAAI,YAAY,CAAC,CAAA;QAEnD,MAAM,iBAAiB,GAAG,KAAK,EAAE,QAAiC,EAAiB,EAAE;YACnF,MAAM,QAAQ,GAAG,uBAAW,CAAI,QAAQ,EAAE,KAAK,CAAC,CAAA;YAEhD,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAElB,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;YACvD,MAAM,OAAO,GAAG,sBAAU,CAAI,GAAG,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,CAAA;YAE3E,MAAM,OAAO,CAAC,GAAG,CAAC,EAAC,CAAC,cAAc,CAAC,EAAE,OAAO,EAAC,CAAC,CAAA;QAChD,CAAC,CAAA;QAED,iBAAS,CAAC,GAAG,EAAE;YACb,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;gBACjC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;gBACjD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;gBAC9C,MAAM,uBAAuB,GAAG,6BAAiB,CAAI,GAAG,EAAE,YAAY,EAAE,cAAc,CAAC,CAAA;gBAEvF,QAAQ,CAAC,uBAAuB,CAAC,CAAA;YACnC,CAAC,CAAA;YAED,eAAe,EAAE,CAAA;QACnB,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAA;QAEvB,6BAAiB,CAAI,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;QAE1E,OAAO,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAA;IACnC,CAAC,CAAA;IAED,OAAO,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAA;AACnC,CAAC;AA1CD,4CA0CC"}
1
+ {"version":3,"file":"create-async-persisted-state.js","sourceRoot":"","sources":["../src/create-async-persisted-state.ts"],"names":[],"mappings":";;;;;AAAA,iCAAgD;AAEhD,sFAA2D;AAC3D,0EAA+C;AAC/C,wEAA6C;AAC7C,sFAA2D;AAK3D,SAAwB,yBAAyB,CAC/C,UAAkB,EAClB,OAAU;IAEV,MAAM,cAAc,GAAG,wBAAwB,UAAU,EAAE,CAAA;IAE3D,MAAM,KAAK,GAAG,GAAkB,EAAE;QAChC,OAAO,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IACvC,CAAC,CAAA;IAED,MAAM,iBAAiB,GAAG,CAAI,GAAW,EAAE,YAA2B,EAAwB,EAAE;QAC9F,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAI,YAAY,CAAC,CAAA;QAEnD,MAAM,iBAAiB,GAAG,KAAK,EAAE,QAAiC,EAAiB,EAAE;YACnF,MAAM,QAAQ,GAAG,IAAA,uBAAW,EAAI,QAAQ,EAAE,KAAK,CAAC,CAAA;YAEhD,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAElB,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;YACvD,MAAM,OAAO,GAAG,IAAA,sBAAU,EAAI,GAAG,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,CAAA;YAE3E,MAAM,OAAO,CAAC,GAAG,CAAC,EAAC,CAAC,cAAc,CAAC,EAAE,OAAO,EAAC,CAAC,CAAA;QAChD,CAAC,CAAA;QAED,IAAA,iBAAS,EAAC,GAAG,EAAE;YACb,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;gBACjC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;gBACjD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;gBAC9C,MAAM,uBAAuB,GAAG,IAAA,6BAAiB,EAAI,GAAG,EAAE,YAAY,EAAE,cAAc,CAAC,CAAA;gBAEvF,QAAQ,CAAC,uBAAuB,CAAC,CAAA;YACnC,CAAC,CAAA;YAED,eAAe,EAAE,CAAA;QACnB,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAA;QAEvB,IAAA,6BAAiB,EAAI,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;QAE1E,OAAO,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAA;IACnC,CAAC,CAAA;IAED,OAAO,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAA;AACnC,CAAC;AA1CD,4CA0CC"}
@@ -16,20 +16,20 @@ function createPersistedState(storageKey, storage) {
16
16
  const usePersistedState = (key, initialValue) => {
17
17
  const persist = storage.get(safeStorageKey);
18
18
  const persistedState = persist[safeStorageKey];
19
- const initialOrPersistedValue = get_persisted_value_1.default(key, initialValue, persistedState);
20
- const [state, setState] = react_1.useState(initialOrPersistedValue);
19
+ const initialOrPersistedValue = (0, get_persisted_value_1.default)(key, initialValue, persistedState);
20
+ const [state, setState] = (0, react_1.useState)(initialOrPersistedValue);
21
21
  const setPersistedState = (newState) => {
22
- const newValue = get_new_value_1.default(newState, state);
22
+ const newValue = (0, get_new_value_1.default)(newState, state);
23
23
  setState(newValue);
24
24
  const persistedItem = storage.get(safeStorageKey)[safeStorageKey];
25
- const newItem = get_new_item_1.default(key, persistedItem, newValue);
25
+ const newItem = (0, get_new_item_1.default)(key, persistedItem, newValue);
26
26
  storage.set({ [safeStorageKey]: newItem });
27
27
  };
28
- react_1.useEffect(() => {
29
- const initialOrPersistedValue = get_persisted_value_1.default(key, initialValue, persistedState);
28
+ (0, react_1.useEffect)(() => {
29
+ const initialOrPersistedValue = (0, get_persisted_value_1.default)(key, initialValue, persistedState);
30
30
  setState(initialOrPersistedValue);
31
31
  }, [initialValue, key, persistedState]);
32
- use_storage_handler_1.default(key, safeStorageKey, setState, storage, initialValue);
32
+ (0, use_storage_handler_1.default)(key, safeStorageKey, setState, storage, initialValue);
33
33
  return [state, setPersistedState];
34
34
  };
35
35
  return [usePersistedState, clear];
@@ -1 +1 @@
1
- {"version":3,"file":"create-persisted-state.js","sourceRoot":"","sources":["../src/create-persisted-state.ts"],"names":[],"mappings":";;;;;AAAA,iCAAgD;AAKhD,sFAA2D;AAC3D,0EAA+C;AAC/C,wEAA6C;AAC7C,sFAA2D;AAE3D,SAAwB,oBAAoB,CAC1C,UAAkB,EAClB,OAAgB;IAEhB,MAAM,cAAc,GAAG,wBAAwB,UAAU,EAAE,CAAA;IAC3D,MAAM,KAAK,GAAG,GAAS,EAAE;QACvB,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IAChC,CAAC,CAAA;IAED,MAAM,iBAAiB,GAAG,CAAI,GAAW,EAAE,YAAe,EAAwB,EAAE;QAClF,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QAC3C,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;QAC9C,MAAM,uBAAuB,GAAG,6BAAiB,CAAI,GAAG,EAAE,YAAY,EAAE,cAAc,CAAC,CAAA;QAEvF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,gBAAQ,CAAI,uBAAuB,CAAC,CAAA;QAE9D,MAAM,iBAAiB,GAAG,CAAC,QAAiC,EAAQ,EAAE;YACpE,MAAM,QAAQ,GAAG,uBAAW,CAAI,QAAQ,EAAE,KAAK,CAAC,CAAA;YAEhD,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAElB,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,CAAA;YACjE,MAAM,OAAO,GAAG,sBAAU,CAAI,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAA;YAE3D,OAAO,CAAC,GAAG,CAAC,EAAC,CAAC,cAAc,CAAC,EAAE,OAAO,EAAC,CAAC,CAAA;QAC1C,CAAC,CAAA;QAED,iBAAS,CAAC,GAAG,EAAE;YACb,MAAM,uBAAuB,GAAG,6BAAiB,CAAI,GAAG,EAAE,YAAY,EAAE,cAAc,CAAC,CAAA;YAEvF,QAAQ,CAAC,uBAAuB,CAAC,CAAA;QACnC,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,CAAA;QAEvC,6BAAiB,CAAI,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;QAE1E,OAAO,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAA;IACnC,CAAC,CAAA;IAED,OAAO,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAA;AACnC,CAAC;AAvCD,uCAuCC"}
1
+ {"version":3,"file":"create-persisted-state.js","sourceRoot":"","sources":["../src/create-persisted-state.ts"],"names":[],"mappings":";;;;;AAAA,iCAAgD;AAKhD,sFAA2D;AAC3D,0EAA+C;AAC/C,wEAA6C;AAC7C,sFAA2D;AAE3D,SAAwB,oBAAoB,CAC1C,UAAkB,EAClB,OAAgB;IAEhB,MAAM,cAAc,GAAG,wBAAwB,UAAU,EAAE,CAAA;IAC3D,MAAM,KAAK,GAAG,GAAS,EAAE;QACvB,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IAChC,CAAC,CAAA;IAED,MAAM,iBAAiB,GAAG,CAAI,GAAW,EAAE,YAAe,EAAwB,EAAE;QAClF,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QAC3C,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;QAC9C,MAAM,uBAAuB,GAAG,IAAA,6BAAiB,EAAI,GAAG,EAAE,YAAY,EAAE,cAAc,CAAC,CAAA;QAEvF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAI,uBAAuB,CAAC,CAAA;QAE9D,MAAM,iBAAiB,GAAG,CAAC,QAAiC,EAAQ,EAAE;YACpE,MAAM,QAAQ,GAAG,IAAA,uBAAW,EAAI,QAAQ,EAAE,KAAK,CAAC,CAAA;YAEhD,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAElB,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,CAAA;YACjE,MAAM,OAAO,GAAG,IAAA,sBAAU,EAAI,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAA;YAE3D,OAAO,CAAC,GAAG,CAAC,EAAC,CAAC,cAAc,CAAC,EAAE,OAAO,EAAC,CAAC,CAAA;QAC1C,CAAC,CAAA;QAED,IAAA,iBAAS,EAAC,GAAG,EAAE;YACb,MAAM,uBAAuB,GAAG,IAAA,6BAAiB,EAAI,GAAG,EAAE,YAAY,EAAE,cAAc,CAAC,CAAA;YAEvF,QAAQ,CAAC,uBAAuB,CAAC,CAAA;QACnC,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,CAAA;QAEvC,IAAA,6BAAiB,EAAI,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;QAE1E,OAAO,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAA;IACnC,CAAC,CAAA;IAED,OAAO,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAA;AACnC,CAAC;AAvCD,uCAuCC"}
package/lib/index.d.ts CHANGED
@@ -2,6 +2,6 @@ import { default as createSyncPersistedState } from './create-persisted-state';
2
2
  import createAsyncPersistedState from './create-async-persisted-state';
3
3
  import { Storage, AsyncStorage } from './@types/storage';
4
4
  import { PersistedState } from './@types/hook';
5
- export default function createPersistedState(name: string, storage: Storage | AsyncStorage): [PersistedState, () => void | Promise<void>];
5
+ export default function createPersistedState<S extends Storage | AsyncStorage>(name: string, storage: S): [PersistedState, () => void | Promise<void>];
6
6
  export { createSyncPersistedState as createPersistedState, createAsyncPersistedState, };
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AAC9E,OAAO,yBAAyB,MAAM,gCAAgC,CAAA;AAItE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE9C,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,GAAG,YAAY,GAC9B,CAAC,cAAc,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAM9C;AAED,OAAO,EACL,wBAAwB,IAAI,oBAAoB,EAChD,yBAAyB,GAC1B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AAC9E,OAAO,yBAAyB,MAAM,gCAAgC,CAAA;AAItE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE9C,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,CAAC,SAAS,OAAO,GAAG,YAAY,EAC3E,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,GACT,CAAC,cAAc,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAM9C;AAED,OAAO,EACL,wBAAwB,IAAI,oBAAoB,EAChD,yBAAyB,GAC1B,CAAA"}
package/lib/index.js CHANGED
@@ -10,10 +10,10 @@ const create_async_persisted_state_1 = __importDefault(require("./create-async-p
10
10
  exports.createAsyncPersistedState = create_async_persisted_state_1.default;
11
11
  const is_async_storage_1 = __importDefault(require("./utils/is-async-storage"));
12
12
  function createPersistedState(name, storage) {
13
- if (is_async_storage_1.default(storage)) {
14
- return create_async_persisted_state_1.default(name, storage);
13
+ if ((0, is_async_storage_1.default)(storage)) {
14
+ return (0, create_async_persisted_state_1.default)(name, storage);
15
15
  }
16
- return create_persisted_state_1.default(name, storage);
16
+ return (0, create_persisted_state_1.default)(name, storage);
17
17
  }
18
18
  exports.default = createPersistedState;
19
19
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,sFAA8E;AAoBhD,qGApBV,gCAAwB,OAoBM;AAnBlD,kGAAsE;AAoBpE,oCApBK,sCAAyB,CAoBL;AAlB3B,gFAAqD;AAKrD,SAAwB,oBAAoB,CAC1C,IAAY,EACZ,OAA+B;IAE/B,IAAI,0BAAc,CAAC,OAAO,CAAC,EAAE;QAC3B,OAAO,sCAAyB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;KAChD;IAED,OAAO,gCAAwB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AAChD,CAAC;AATD,uCASC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,sFAA8E;AAoBhD,qGApBV,gCAAwB,OAoBM;AAnBlD,kGAAsE;AAoBpE,oCApBK,sCAAyB,CAoBL;AAlB3B,gFAAqD;AAKrD,SAAwB,oBAAoB,CAC1C,IAAY,EACZ,OAAU;IAEV,IAAI,IAAA,0BAAc,EAAC,OAAO,CAAC,EAAE;QAC3B,OAAO,IAAA,sCAAyB,EAAC,IAAI,EAAE,OAAuB,CAAC,CAAA;KAChE;IAED,OAAO,IAAA,gCAAwB,EAAC,IAAI,EAAE,OAAkB,CAAC,CAAA;AAC3D,CAAC;AATD,uCASC"}
@@ -4,5 +4,5 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const create_web_storage_1 = __importDefault(require("../utils/create-web-storage"));
7
- exports.default = create_web_storage_1.default(localStorage);
7
+ exports.default = (0, create_web_storage_1.default)(localStorage);
8
8
  //# sourceMappingURL=local-storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"local-storage.js","sourceRoot":"","sources":["../../src/storages/local-storage.ts"],"names":[],"mappings":";;;;;AAAA,qFAAuD;AAEvD,kBAAe,4BAAa,CAAC,YAAY,CAAC,CAAA"}
1
+ {"version":3,"file":"local-storage.js","sourceRoot":"","sources":["../../src/storages/local-storage.ts"],"names":[],"mappings":";;;;;AAAA,qFAAuD;AAEvD,kBAAe,IAAA,4BAAa,EAAC,YAAY,CAAC,CAAA"}
@@ -4,5 +4,5 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const create_web_storage_1 = __importDefault(require("../utils/create-web-storage"));
7
- exports.default = create_web_storage_1.default(sessionStorage);
7
+ exports.default = (0, create_web_storage_1.default)(sessionStorage);
8
8
  //# sourceMappingURL=session-storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-storage.js","sourceRoot":"","sources":["../../src/storages/session-storage.ts"],"names":[],"mappings":";;;;;AAAA,qFAAuD;AAEvD,kBAAe,4BAAa,CAAC,cAAc,CAAC,CAAA"}
1
+ {"version":3,"file":"session-storage.js","sourceRoot":"","sources":["../../src/storages/session-storage.ts"],"names":[],"mappings":";;;;;AAAA,qFAAuD;AAEvD,kBAAe,IAAA,4BAAa,EAAC,cAAc,CAAC,CAAA"}
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const is_function_1 = __importDefault(require("./is-function"));
7
7
  function default_1(newState, state) {
8
8
  let newValue;
9
- if (is_function_1.default(newState)) {
9
+ if ((0, is_function_1.default)(newState)) {
10
10
  newValue = newState(state);
11
11
  }
12
12
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"get-new-value.js","sourceRoot":"","sources":["../../src/utils/get-new-value.ts"],"names":[],"mappings":";;;;;AACA,gEAAsC;AAEtC,mBAA4B,QAAiC,EAAE,KAAQ;IACrE,IAAI,QAAW,CAAA;IAEf,IAAI,qBAAU,CAAC,QAAQ,CAAC,EAAE;QACxB,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;KAC3B;SAAM;QACL,QAAQ,GAAG,QAAQ,CAAA;KACpB;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAVD,4BAUC"}
1
+ {"version":3,"file":"get-new-value.js","sourceRoot":"","sources":["../../src/utils/get-new-value.ts"],"names":[],"mappings":";;;;;AACA,gEAAsC;AAEtC,mBAA4B,QAAiC,EAAE,KAAQ;IACrE,IAAI,QAAW,CAAA;IAEf,IAAI,IAAA,qBAAU,EAAC,QAAQ,CAAC,EAAE;QACxB,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;KAC3B;SAAM;QACL,QAAQ,GAAG,QAAQ,CAAA;KACpB;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAVD,4BAUC"}
@@ -12,7 +12,7 @@ function default_1(key, initialValue, persist) {
12
12
  catch (ignore) {
13
13
  initialPersist = {};
14
14
  } // eslint-disable-line no-empty
15
- let initialOrPersistedValue = is_function_1.default(initialValue) ? initialValue() : initialValue;
15
+ let initialOrPersistedValue = (0, is_function_1.default)(initialValue) ? initialValue() : initialValue;
16
16
  if (initialPersist && key in initialPersist) {
17
17
  initialOrPersistedValue = initialPersist[key] || initialOrPersistedValue;
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get-persisted-value.js","sourceRoot":"","sources":["../../src/utils/get-persisted-value.ts"],"names":[],"mappings":";;;;;AAAA,gEAAsC;AAEtC,mBAA2B,GAAU,EAAE,YAA2B,EAAE,OAAgB;IAClF,IAAI,cAAwC,CAAA;IAE5C,IAAI;QACF,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;KACpD;IAAC,OAAO,MAAM,EAAE;QACf,cAAc,GAAG,EAAE,CAAA;KACpB,CAAC,+BAA+B;IAEjC,IAAI,uBAAuB,GAAG,qBAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAE,CAAC,CAAC,YAAY,CAAA;IAEvF,IAAI,cAAc,IAAI,GAAG,IAAI,cAAc,EAAE;QAC3C,uBAAuB,GAAI,cAAc,CAAC,GAAG,CAAO,IAAI,uBAAuB,CAAA;KAChF;IAED,OAAO,uBAAuB,CAAA;AAChC,CAAC;AAhBD,4BAgBC"}
1
+ {"version":3,"file":"get-persisted-value.js","sourceRoot":"","sources":["../../src/utils/get-persisted-value.ts"],"names":[],"mappings":";;;;;AAAA,gEAAsC;AAEtC,mBAA2B,GAAU,EAAE,YAA2B,EAAE,OAAgB;IAClF,IAAI,cAAwC,CAAA;IAE5C,IAAI;QACF,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;KACpD;IAAC,OAAO,MAAM,EAAE;QACf,cAAc,GAAG,EAAE,CAAA;KACpB,CAAC,+BAA+B;IAEjC,IAAI,uBAAuB,GAAG,IAAA,qBAAU,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAE,CAAC,CAAC,YAAY,CAAA;IAEvF,IAAI,cAAc,IAAI,GAAG,IAAI,cAAc,EAAE;QAC3C,uBAAuB,GAAI,cAAc,CAAC,GAAG,CAAO,IAAI,uBAAuB,CAAA;KAChF;IAED,OAAO,uBAAuB,CAAA;AAChC,CAAC;AAhBD,4BAgBC"}
@@ -8,9 +8,9 @@ const is_function_1 = __importDefault(require("./is-function"));
8
8
  function isAsyncStorage(storage) {
9
9
  return !!storage
10
10
  && typeof storage.get !== 'undefined'
11
- && (is_promise_1.default(storage.get)
12
- || (is_function_1.default(storage.get)
13
- && is_promise_1.default(storage.get(''))));
11
+ && ((0, is_promise_1.default)(storage.get)
12
+ || ((0, is_function_1.default)(storage.get)
13
+ && (0, is_promise_1.default)(storage.get(''))));
14
14
  }
15
15
  exports.default = isAsyncStorage;
16
16
  //# sourceMappingURL=is-async-storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"is-async-storage.js","sourceRoot":"","sources":["../../src/utils/is-async-storage.ts"],"names":[],"mappings":";;;;;AAAA,8DAAoC;AACpC,gEAAsC;AAItC,SAAwB,cAAc,CAAC,OAAgB;IACrD,OAAO,CAAC,CAAC,OAAO;WACb,OAAQ,OAAe,CAAC,GAAG,KAAK,WAAW;WAC3C,CACD,oBAAS,CAAE,OAAe,CAAC,GAAG,CAAC;eAC5B,CACD,qBAAU,CAAE,OAAe,CAAC,GAAG,CAAC;mBAC7B,oBAAS,CAAE,OAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CACvC,CACF,CAAA;AACH,CAAC;AAVD,iCAUC"}
1
+ {"version":3,"file":"is-async-storage.js","sourceRoot":"","sources":["../../src/utils/is-async-storage.ts"],"names":[],"mappings":";;;;;AAAA,8DAAoC;AACpC,gEAAsC;AAItC,SAAwB,cAAc,CAAC,OAAgB;IACrD,OAAO,CAAC,CAAC,OAAO;WACb,OAAQ,OAAe,CAAC,GAAG,KAAK,WAAW;WAC3C,CACD,IAAA,oBAAS,EAAE,OAAe,CAAC,GAAG,CAAC;eAC5B,CACD,IAAA,qBAAU,EAAE,OAAe,CAAC,GAAG,CAAC;mBAC7B,IAAA,oBAAS,EAAE,OAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CACvC,CACF,CAAA;AACH,CAAC;AAVD,iCAUC"}
@@ -24,7 +24,7 @@ function useStorageHandler(itemKey, storageKey, setState, initialValue) {
24
24
  && change.oldValue !== undefined) {
25
25
  const oldValue = getValue(itemKey, change.oldValue);
26
26
  if (oldValue !== initialValue)
27
- setState(is_function_1.default(initialValue) ? initialValue() : initialValue);
27
+ setState((0, is_function_1.default)(initialValue) ? initialValue() : initialValue);
28
28
  }
29
29
  if (key === storageKey
30
30
  && change.newValue !== null
@@ -37,7 +37,7 @@ function useStorageHandler(itemKey, storageKey, setState, initialValue) {
37
37
  };
38
38
  }
39
39
  function default_1(key, storageKey, setState, storage, initialValue) {
40
- react_1.useEffect(() => {
40
+ (0, react_1.useEffect)(() => {
41
41
  const handleStorage = useStorageHandler(key, storageKey, setState, initialValue);
42
42
  storage.onChanged.addListener(handleStorage);
43
43
  return () => {
@@ -45,7 +45,7 @@ function default_1(key, storageKey, setState, storage, initialValue) {
45
45
  storage.onChanged.removeListener(handleStorage);
46
46
  }
47
47
  };
48
- }, [initialValue, key]);
48
+ }, [initialValue, key, storage.onChanged, storageKey, setState]);
49
49
  }
50
50
  exports.default = default_1;
51
51
  //# sourceMappingURL=use-storage-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-storage-handler.js","sourceRoot":"","sources":["../../src/utils/use-storage-handler.ts"],"names":[],"mappings":";;;;;AAAA,iCAAsC;AAEtC,gEAAsC;AAEtC,SAAS,QAAQ,CAAI,GAAW,EAAE,KAAa;IAC7C,IAAI,QAAQ,GAAG,IAAI,CAAA;IAEnB,IAAI;QACF,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;KAC7B;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,CAAC,KAAK,CAAC,sDAAsD,EAAE,GAAG,CAAC,CAAA;KAC3E;IAED,OAAO,QAAQ,IAAI,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAM,CAAC,CAAC,CAAC,IAAI,CAAA;AAChE,CAAC;AAED,SAAS,iBAAiB,CACxB,OAAe,EACf,UAAkB,EAClB,QAAiD,EACjD,YAA2B;IAE3B,OAAO,CAAC,OAAyC,EAAQ,EAAE;QACzD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE;YAChD,IACE,GAAG,KAAK,UAAU;mBACf,CACD,MAAM,CAAC,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,CAC1D;mBACE,MAAM,CAAC,QAAQ,KAAK,IAAI;mBACxB,MAAM,CAAC,QAAQ,KAAK,SAAS,EAChC;gBACA,MAAM,QAAQ,GAAG,QAAQ,CAAI,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;gBAEtD,IAAI,QAAQ,KAAK,YAAY;oBAAE,QAAQ,CAAC,qBAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;aAClG;YAED,IACE,GAAG,KAAK,UAAU;mBACf,MAAM,CAAC,QAAQ,KAAK,IAAI;mBACxB,MAAM,CAAC,QAAQ,KAAK,SAAS,EAChC;gBACA,MAAM,QAAQ,GAAG,QAAQ,CAAI,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;gBAEtD,IAAI,QAAQ,KAAK,IAAI;oBAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;aAC1C;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC;AAED,mBACE,GAAW,EACX,UAAkB,EAClB,QAAiD,EACjD,OAA+B,EAC/B,YAA2B;IAE3B,iBAAS,CAAC,GAAG,EAAE;QACb,MAAM,aAAa,GAAG,iBAAiB,CAAI,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;QAEnF,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,CAAA;QAE5C,OAAO,GAAG,EAAE;YACV,IAAI,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE;gBAChD,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,aAAa,CAAC,CAAA;aAChD;QACH,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAA;AACzB,CAAC;AAlBD,4BAkBC"}
1
+ {"version":3,"file":"use-storage-handler.js","sourceRoot":"","sources":["../../src/utils/use-storage-handler.ts"],"names":[],"mappings":";;;;;AAAA,iCAAsC;AAEtC,gEAAsC;AAEtC,SAAS,QAAQ,CAAI,GAAW,EAAE,KAAa;IAC7C,IAAI,QAAQ,GAAG,IAAI,CAAA;IAEnB,IAAI;QACF,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;KAC7B;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,CAAC,KAAK,CAAC,sDAAsD,EAAE,GAAG,CAAC,CAAA;KAC3E;IAED,OAAO,QAAQ,IAAI,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAM,CAAC,CAAC,CAAC,IAAI,CAAA;AAChE,CAAC;AAED,SAAS,iBAAiB,CACxB,OAAe,EACf,UAAkB,EAClB,QAAiD,EACjD,YAA2B;IAE3B,OAAO,CAAC,OAAyC,EAAQ,EAAE;QACzD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE;YAChD,IACE,GAAG,KAAK,UAAU;mBACf,CACD,MAAM,CAAC,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,CAC1D;mBACE,MAAM,CAAC,QAAQ,KAAK,IAAI;mBACxB,MAAM,CAAC,QAAQ,KAAK,SAAS,EAChC;gBACA,MAAM,QAAQ,GAAG,QAAQ,CAAI,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;gBAEtD,IAAI,QAAQ,KAAK,YAAY;oBAAE,QAAQ,CAAC,IAAA,qBAAU,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;aAClG;YAED,IACE,GAAG,KAAK,UAAU;mBACf,MAAM,CAAC,QAAQ,KAAK,IAAI;mBACxB,MAAM,CAAC,QAAQ,KAAK,SAAS,EAChC;gBACA,MAAM,QAAQ,GAAG,QAAQ,CAAI,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;gBAEtD,IAAI,QAAQ,KAAK,IAAI;oBAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;aAC1C;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC;AAED,mBACE,GAAW,EACX,UAAkB,EAClB,QAAiD,EACjD,OAA+B,EAC/B,YAA2B;IAE3B,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,aAAa,GAAG,iBAAiB,CAAI,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;QAEnF,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,CAAA;QAE5C,OAAO,GAAG,EAAE;YACV,IAAI,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE;gBAChD,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,aAAa,CAAC,CAAA;aAChD;QACH,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;AAClE,CAAC;AAlBD,4BAkBC"}
package/package.json CHANGED
@@ -1,9 +1,12 @@
1
1
  {
2
2
  "name": "@plq/use-persisted-state",
3
- "version": "1.1.2",
3
+ "version": "1.1.3",
4
4
  "description": "useState hook with persistence in storage",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
7
+ "engines": {
8
+ "node": ">=16.0.0"
9
+ },
7
10
  "files": [
8
11
  "/src",
9
12
  "/lib",
@@ -16,7 +19,7 @@
16
19
  "test": "jest --verbose",
17
20
  "test:watch": "npm test -- --watchAll",
18
21
  "lint": "eslint ./src/**/*.ts",
19
- "release": "npm run build && dotenv release-it",
22
+ "release": "npm run lint && npm run test && npm run build && dotenv release-it",
20
23
  "examples": "npm run build:watch & parcel examples/index.html"
21
24
  },
22
25
  "repository": {
@@ -42,37 +45,35 @@
42
45
  "url": "https://github.com/Akurganow/use-persisted-state/issues"
43
46
  },
44
47
  "homepage": "https://github.com/Akurganow/use-persisted-state#readme",
45
- "dependencies": {},
46
- "peerDependencies": {
47
- "react": "^16.13.1"
48
- },
49
48
  "devDependencies": {
50
- "@release-it/conventional-changelog": "^2.0.0",
51
- "@testing-library/jest-dom": "^5.11.6",
52
- "@testing-library/react": "^11.2.2",
53
- "@testing-library/react-hooks": "^5.0.3",
54
- "@types/chrome": "0.0.129",
55
- "@types/firefox-webext-browser": "^82.0.0",
56
- "@types/jest": "^26.0.19",
57
- "@types/react": "^17.0.0",
58
- "@typescript-eslint/eslint-plugin": "^4.10.0",
59
- "@typescript-eslint/parser": "^4.10.0",
60
- "conventional-changelog-cli": "^2.1.1",
61
- "dotenv-cli": "^4.0.0",
62
- "eslint": "^7.15.0",
63
- "eslint-plugin-jest": "^24.1.3",
49
+ "@release-it/conventional-changelog": "^7.0.2",
50
+ "@testing-library/jest-dom": "^6.1.3",
51
+ "@testing-library/react": "^14.0.0",
52
+ "@types/chrome": "0.0.246",
53
+ "@types/firefox-webext-browser": "^111.0.2",
54
+ "@types/jest": "^29.5.5",
55
+ "@types/react": "^18.2.25",
56
+ "@typescript-eslint/eslint-plugin": "^6.7.4",
57
+ "@typescript-eslint/parser": "^6.7.4",
58
+ "conventional-changelog-cli": "^4.1.0",
59
+ "dotenv-cli": "^7.3.0",
60
+ "eslint": "^8.51.0",
61
+ "eslint-plugin-jest": "^27.2.1",
64
62
  "eslint-plugin-react": "^7.21.5",
65
63
  "eslint-plugin-react-hooks": "^4.2.0",
66
- "jest": "^26.6.3",
67
- "jest-environment-jsdom-sixteen": "^1.0.3",
64
+ "jest": "^29.7.0",
65
+ "jest-environment-jsdom": "^29.7.0",
68
66
  "jest-localstorage-mock": "^2.4.6",
69
67
  "jest-webextension-mock": "^3.7.6",
70
- "parcel": "^2.0.0-nightly.481",
71
- "react": "^17.0.1",
72
- "react-dom": "^17.0.1",
73
- "react-test-renderer": "^17.0.1",
74
- "release-it": "^14.2.2",
75
- "ts-jest": "^26.4.4",
76
- "typescript": "^4.1.3"
68
+ "parcel": "^2.9.3",
69
+ "process": "^0.11.10",
70
+ "react-test-renderer": "^18.2.0",
71
+ "release-it": "^16.2.1",
72
+ "ts-jest": "^29.1.1",
73
+ "typescript": "^5.2.2"
74
+ },
75
+ "peerDependencies": {
76
+ "react": "^18.2.0",
77
+ "react-dom": "^18.2.0"
77
78
  }
78
79
  }
@@ -1,3 +1,3 @@
1
- export type UsePersistedState<T> = [T, (value: T | ((previousState: T) => T)) => void]
1
+ export type UsePersistedState<T> = [T, (value: T | ((previousState: T) => T)) => void | Promise<void>]
2
2
 
3
3
  export type PersistedState = <T>(key: string, initialValue: T) => UsePersistedState<T>
@@ -8,9 +8,9 @@ import getPersistedValue from './utils/get-persisted-value'
8
8
  import {AsyncStorage} from './@types/storage'
9
9
  import {PersistedState, UsePersistedState} from './@types/hook'
10
10
 
11
- export default function createAsyncPersistedState(
11
+ export default function createAsyncPersistedState<S extends AsyncStorage>(
12
12
  storageKey: string,
13
- storage: AsyncStorage,
13
+ storage: S,
14
14
  ): [PersistedState, () => Promise<void>] {
15
15
  const safeStorageKey = `persisted_state_hook:${storageKey}`
16
16
 
package/src/index.ts CHANGED
@@ -6,15 +6,15 @@ import isAsyncStorage from './utils/is-async-storage'
6
6
  import { Storage, AsyncStorage } from './@types/storage'
7
7
  import { PersistedState } from './@types/hook'
8
8
 
9
- export default function createPersistedState(
9
+ export default function createPersistedState<S extends Storage | AsyncStorage>(
10
10
  name: string,
11
- storage: Storage | AsyncStorage,
11
+ storage: S,
12
12
  ): [PersistedState, () => void | Promise<void>] {
13
13
  if (isAsyncStorage(storage)) {
14
- return createAsyncPersistedState(name, storage)
14
+ return createAsyncPersistedState(name, storage as AsyncStorage)
15
15
  }
16
16
 
17
- return createSyncPersistedState(name, storage)
17
+ return createSyncPersistedState(name, storage as Storage)
18
18
  }
19
19
 
20
20
  export {
@@ -65,5 +65,5 @@ export default function<T>(
65
65
  storage.onChanged.removeListener(handleStorage)
66
66
  }
67
67
  }
68
- }, [initialValue, key])
68
+ }, [initialValue, key, storage.onChanged, storageKey, setState])
69
69
  }
package/CHANGELOG.md DELETED
@@ -1,89 +0,0 @@
1
- ### [1.1.2](https://github.com/Akurganow/use-persisted-state/compare/v1.1.1...v1.1.2) (2021-02-09)
2
-
3
-
4
- ### Bug Fixes
5
-
6
- * **toString:** IE11 fix (TypeError: Invalid calling object) ([1514cd6](https://github.com/Akurganow/use-persisted-state/commit/1514cd6e520a60163b5a834bf337dc679b12530c))
7
-
8
- ### [1.1.1](https://github.com/Akurganow/use-persisted-state/compare/v1.1.0...v1.1.1) (2020-12-18)
9
-
10
- ## [1.1.0](https://github.com/Akurganow/use-persisted-state/compare/v1.0.2...v1.1.0) (2020-10-04)
11
-
12
-
13
- ### Features
14
-
15
- * Support SSR. Closes [#196](https://github.com/Akurganow/use-persisted-state/issues/196) ([9e17280](https://github.com/Akurganow/use-persisted-state/commit/9e1728038976686f679e4bf867c8150a66d14293))
16
- * Watch key changes. Closes [#187](https://github.com/Akurganow/use-persisted-state/issues/187) ([f3699aa](https://github.com/Akurganow/use-persisted-state/commit/f3699aa46b24c9e55603b2f6c3f705eeb3c78d89))
17
-
18
- ### [1.0.2](https://github.com/Akurganow/use-persisted-state/compare/v1.0.1...v1.0.2) (2020-06-15)
19
-
20
-
21
- ### Bug Fixes
22
-
23
- * **async storage:** setState in set hook ([e287091](https://github.com/Akurganow/use-persisted-state/commit/e287091669e2e40c4fa6d54328df285a920b249a))
24
-
25
- ### [1.0.1](https://github.com/Akurganow/use-persisted-state/compare/v1.0.0...v1.0.1) (2020-06-14)
26
-
27
- ## [1.0.0](https://github.com/Akurganow/use-persisted-state/compare/v0.2.5...v1.0.0) (2020-06-14)
28
-
29
-
30
- ### Features
31
-
32
- * **examples:** add async storage example ([5377681](https://github.com/Akurganow/use-persisted-state/commit/5377681b5db547fb0add701f49f9ad426e6e36f7))
33
- * **hook:** support async storage ([68195f7](https://github.com/Akurganow/use-persisted-state/commit/68195f7d75dbd58087dd8dc0b38d92c5bbb3837d))
34
- * **storages:** add storages ([9a8640b](https://github.com/Akurganow/use-persisted-state/commit/9a8640b3dbbb50686ff7b286d35b9707af3428ce))
35
-
36
- ### [0.2.5](https://github.com/Akurganow/use-persisted-state/compare/v0.2.4...v0.2.5) (2020-06-02)
37
-
38
-
39
- ### Bug Fixes
40
-
41
- * **clear:** dispatch event with old value ([38e05ef](https://github.com/Akurganow/use-persisted-state/commit/38e05ef77e88bc2de84b2352f63726b60096bad6))
42
-
43
- ### [0.2.4](https://github.com/Akurganow/use-persisted-state/compare/v0.2.3...v0.2.4) (2020-06-02)
44
-
45
-
46
- ### Bug Fixes
47
-
48
- * **storage listener:** listen key remove ([76d4bf5](https://github.com/Akurganow/use-persisted-state/commit/76d4bf5227920e0739fc8292ffc7e657bb03f7c5))
49
-
50
- ### [0.2.3](https://github.com/Akurganow/use-persisted-state/compare/v0.2.2...v0.2.3) (2020-06-02)
51
-
52
-
53
- ### Bug Fixes
54
-
55
- * **storage listener:** check values is not null ([109b7a1](https://github.com/Akurganow/use-persisted-state/commit/109b7a18f433f8b19f1c5e857c6c3021b26a0ad5))
56
-
57
- ### [0.2.2](https://github.com/Akurganow/use-persisted-state/compare/v0.2.1...v0.2.2) (2020-05-29)
58
-
59
- ### [0.2.1](https://github.com/Akurganow/use-persisted-state/compare/v0.2.0...v0.2.1) (2020-05-29)
60
-
61
-
62
- ### Bug Fixes
63
-
64
- * **init:** don't call setState when init with initialValue ([cb17cfb](https://github.com/Akurganow/use-persisted-state/commit/cb17cfbcdf8731ff7695311b35771c2736a11580))
65
-
66
- # [0.2.0](https://github.com/Akurganow/use-persisted-state/compare/v0.1.0...v0.2.0) (2020-05-29)
67
-
68
- # [0.1.0](https://github.com/Akurganow/use-persisted-state/compare/v0.0.10...v0.1.0) (2019-09-24)
69
-
70
- ### Bug Fixes
71
-
72
- * **actions:** comand name ([06160e7](https://github.com/Akurganow/use-persisted-state/commit/06160e7))
73
- * **package:** email ([18c2bd3](https://github.com/Akurganow/use-persisted-state/commit/18c2bd3))
74
- * **tests:** button text ([35bd20d](https://github.com/Akurganow/use-persisted-state/commit/35bd20d))
75
- * **check value:** check key in ([9b3ab38](https://github.com/Akurganow/use-persisted-state/commit/9b3ab38))
76
- * **empty key:** check that key in persisted storage ([aae8daa](https://github.com/Akurganow/use-persisted-state/commit/aae8daa))
77
- * **initial value:** move initialPersist into hook ([98eced6](https://github.com/Akurganow/use-persisted-state/commit/98eced6))
78
- * **eslint:** missed plugin ([ea67e59](https://github.com/Akurganow/use-persisted-state/commit/ea67e59))
79
- * **clear:** dispatchEvent after clear ([4177143](https://github.com/Akurganow/use-persisted-state/commit/4177143))
80
- * **example:** add clear ([4f382a0](https://github.com/Akurganow/use-persisted-state/commit/4f382a0))
81
- * **examples:** remove unneded exports ([2dc5759](https://github.com/Akurganow/use-persisted-state/commit/2dc5759))
82
- * **examples:** simplify ([97dca4f](https://github.com/Akurganow/use-persisted-state/commit/97dca4f))
83
- * **examples:** typos ([4a10d2e](https://github.com/Akurganow/use-persisted-state/commit/4a10d2e))
84
-
85
- ### Features
86
-
87
- * **lint:** init ([f54e050](https://github.com/Akurganow/use-persisted-state/commit/f54e050))
88
- * **readme:** add codesandbox example ([d161824](https://github.com/Akurganow/use-persisted-state/commit/d161824))
89
- * **tests:** add clear test ([e119c94](https://github.com/Akurganow/use-persisted-state/commit/e119c94))
@@ -1 +0,0 @@
1
- //# sourceMappingURL=get-initial-value.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-initial-value.d.ts","sourceRoot":"","sources":["../../src/utils/get-initial-value.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=get-initial-value.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-initial-value.js","sourceRoot":"","sources":["../../src/utils/get-initial-value.ts"],"names":[],"mappings":""}