@plq/use-persisted-state 1.1.5 → 1.3.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.
Files changed (36) hide show
  1. package/README.md +13 -1
  2. package/lib/create-async-persisted-state.js +1 -1
  3. package/lib/create-async-persisted-state.js.map +1 -1
  4. package/lib/create-persisted-state.js +1 -1
  5. package/lib/create-persisted-state.js.map +1 -1
  6. package/lib/index.js +1 -1
  7. package/lib/index.js.map +1 -1
  8. package/lib/utils/create-web-storage.d.ts.map +1 -1
  9. package/lib/utils/create-web-storage.js.map +1 -1
  10. package/lib/utils/get-new-item.js +1 -1
  11. package/lib/utils/get-new-item.js.map +1 -1
  12. package/lib/utils/get-new-value.js +3 -6
  13. package/lib/utils/get-new-value.js.map +1 -1
  14. package/lib/utils/get-persisted-value.js +6 -9
  15. package/lib/utils/get-persisted-value.js.map +1 -1
  16. package/lib/utils/is-async-storage.d.ts +1 -1
  17. package/lib/utils/is-async-storage.d.ts.map +1 -1
  18. package/lib/utils/is-async-storage.js +24 -11
  19. package/lib/utils/is-async-storage.js.map +1 -1
  20. package/lib/utils/use-storage-handler.js +3 -6
  21. package/lib/utils/use-storage-handler.js.map +1 -1
  22. package/package.json +51 -27
  23. package/src/utils/get-new-value.ts +1 -1
  24. package/src/utils/get-persisted-value.ts +4 -4
  25. package/src/utils/is-async-storage.ts +27 -13
  26. package/src/utils/use-storage-handler.ts +1 -1
  27. package/lib/utils/is-function.d.ts +0 -2
  28. package/lib/utils/is-function.d.ts.map +0 -1
  29. package/lib/utils/is-function.js +0 -9
  30. package/lib/utils/is-function.js.map +0 -1
  31. package/lib/utils/is-promise.d.ts +0 -2
  32. package/lib/utils/is-promise.d.ts.map +0 -1
  33. package/lib/utils/is-promise.js +0 -10
  34. package/lib/utils/is-promise.js.map +0 -1
  35. package/src/utils/is-function.ts +0 -7
  36. package/src/utils/is-promise.ts +0 -8
package/README.md CHANGED
@@ -1,4 +1,6 @@
1
1
  # usePersistedState
2
+ [![npm version](https://badge.fury.io/js/@plq%2Fuse-persisted-state.svg)](https://www.npmjs.com/package/@plq/use-persisted-state)
3
+ [![Tests](https://github.com/Akurganow/use-persisted-state/actions/workflows/main.yml/badge.svg?branch=master)](https://github.com/Akurganow/use-persisted-state/actions/workflows/main.yml)
2
4
 
3
5
  Persists the state to localStorage, sessionStorage or any custom storage
4
6
 
@@ -7,7 +9,7 @@ Persists the state to localStorage, sessionStorage or any custom storage
7
9
  - Persist the state to `localStorage`, `sessionStorage` or almost anything else implements [storage API](https://github.com/Akurganow/use-persisted-state/blob/master/docs/storage-api.md)
8
10
  - The state factory takes as many keys as needed, so you don't have to call the factory for each variable
9
11
  - Written with the TypeScript, the definitions go with the library
10
- - No dependencies
12
+ - No third-party dependencies
11
13
 
12
14
  ## Example
13
15
 
@@ -34,6 +36,16 @@ export default function App() {
34
36
 
35
37
  ## Requirement
36
38
  To use `@plq/use-persisted-state`, you must use `react@16.8.0` or greater which includes Hooks.
39
+ The library is fully compatible with React 18 and React 19.
40
+
41
+ ## React 19 Compatibility
42
+
43
+ This library is fully compatible with React 19 and supports all new features:
44
+ - Works seamlessly with `useTransition` for performance optimization
45
+ - Compatible with `useActionState` for form handling
46
+ - Supports `useOptimistic` for optimistic updates
47
+
48
+ Check out our [React 19 examples](./demo/src/examples/) to see these features in action!
37
49
 
38
50
  ## Clear Storage
39
51
  ```jsx
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = createAsyncPersistedState;
6
7
  const react_1 = require("react");
7
8
  const use_storage_handler_1 = __importDefault(require("./utils/use-storage-handler"));
8
9
  const get_new_value_1 = __importDefault(require("./utils/get-new-value"));
@@ -36,5 +37,4 @@ function createAsyncPersistedState(storageKey, storage) {
36
37
  };
37
38
  return [usePersistedState, clear];
38
39
  }
39
- exports.default = createAsyncPersistedState;
40
40
  //# sourceMappingURL=create-async-persisted-state.js.map
@@ -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,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"}
1
+ {"version":3,"file":"create-async-persisted-state.js","sourceRoot":"","sources":["../src/create-async-persisted-state.ts"],"names":[],"mappings":";;;;;AAUA,4CA0CC;AApDD,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"}
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = createPersistedState;
6
7
  const react_1 = require("react");
7
8
  const use_storage_handler_1 = __importDefault(require("./utils/use-storage-handler"));
8
9
  const get_new_value_1 = __importDefault(require("./utils/get-new-value"));
@@ -34,5 +35,4 @@ function createPersistedState(storageKey, storage) {
34
35
  };
35
36
  return [usePersistedState, clear];
36
37
  }
37
- exports.default = createPersistedState;
38
38
  //# sourceMappingURL=create-persisted-state.js.map
@@ -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,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"}
1
+ {"version":3,"file":"create-persisted-state.js","sourceRoot":"","sources":["../src/create-persisted-state.ts"],"names":[],"mappings":";;;;;AAUA,uCAuCC;AAjDD,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"}
package/lib/index.js CHANGED
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.createAsyncPersistedState = exports.createPersistedState = void 0;
7
+ exports.default = createPersistedState;
7
8
  const create_persisted_state_1 = __importDefault(require("./create-persisted-state"));
8
9
  Object.defineProperty(exports, "createPersistedState", { enumerable: true, get: function () { return create_persisted_state_1.default; } });
9
10
  const create_async_persisted_state_1 = __importDefault(require("./create-async-persisted-state"));
@@ -15,5 +16,4 @@ function createPersistedState(name, storage) {
15
16
  }
16
17
  return (0, create_persisted_state_1.default)(name, storage);
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,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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAQA,uCASC;AAjBD,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,CAAC;QAC5B,OAAO,IAAA,sCAAyB,EAAC,IAAI,EAAE,OAAuB,CAAC,CAAA;IACjE,CAAC;IAED,OAAO,IAAA,gCAAwB,EAAC,IAAI,EAAE,OAAkB,CAAC,CAAA;AAC3D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-web-storage.d.ts","sourceRoot":"","sources":["../../src/utils/create-web-storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA4D,MAAM,mBAAmB,CAAA;kCAmC5E,kBAAkB,KAAG,OAAO;AAArD,wBAoEE"}
1
+ {"version":3,"file":"create-web-storage.d.ts","sourceRoot":"","sources":["../../src/utils/create-web-storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA4D,MAAM,mBAAmB,CAAA;yBAmCrF,SAAS,UAAU,CAAC,OAAO,KAAG,OAAO;AAArD,wBAoEE"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-web-storage.js","sourceRoot":"","sources":["../../src/utils/create-web-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-web-storage.js","sourceRoot":"","sources":["../../src/utils/create-web-storage.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = default_1;
3
4
  function default_1(key, persistedItem, newValue) {
4
5
  let persist;
5
6
  try {
@@ -13,5 +14,4 @@ function default_1(key, persistedItem, newValue) {
13
14
  [key]: newValue,
14
15
  }));
15
16
  }
16
- exports.default = default_1;
17
17
  //# sourceMappingURL=get-new-item.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-new-item.js","sourceRoot":"","sources":["../../src/utils/get-new-item.ts"],"names":[],"mappings":";;AAAA,mBAA2B,GAAW,EAAE,aAAqB,EAAE,QAAW;IACxE,IAAI,OAAiC,CAAA;IAErC,IAAI;QACF,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;KACzD;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAClB,OAAO,GAAG,EAAE,CAAA;KACb;IAED,OAAO,IAAI,CAAC,SAAS,CACnB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;QACrB,CAAC,GAAG,CAAC,EAAE,QAAQ;KAChB,CAAC,CACH,CAAA;AACH,CAAC;AAfD,4BAeC"}
1
+ {"version":3,"file":"get-new-item.js","sourceRoot":"","sources":["../../src/utils/get-new-item.ts"],"names":[],"mappings":";;AAAA,4BAeC;AAfD,mBAA2B,GAAW,EAAE,aAAqB,EAAE,QAAW;IACxE,IAAI,OAAiC,CAAA;IAErC,IAAI,CAAC;QACH,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAClB,OAAO,GAAG,EAAE,CAAA;IACd,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CACnB,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;QACrB,CAAC,GAAG,CAAC,EAAE,QAAQ;KAChB,CAAC,CACH,CAAA;AACH,CAAC"}
@@ -1,12 +1,10 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const is_function_1 = __importDefault(require("./is-function"));
3
+ exports.default = default_1;
4
+ const is_1 = require("@plq/is");
7
5
  function default_1(newState, state) {
8
6
  let newValue;
9
- if ((0, is_function_1.default)(newState)) {
7
+ if ((0, is_1.isFunction)(newState)) {
10
8
  newValue = newState(state);
11
9
  }
12
10
  else {
@@ -14,5 +12,4 @@ function default_1(newState, state) {
14
12
  }
15
13
  return newValue;
16
14
  }
17
- exports.default = default_1;
18
15
  //# sourceMappingURL=get-new-value.js.map
@@ -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,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"}
1
+ {"version":3,"file":"get-new-value.js","sourceRoot":"","sources":["../../src/utils/get-new-value.ts"],"names":[],"mappings":";;AAGA,4BAUC;AAZD,gCAAoC;AAEpC,mBAA4B,QAAiC,EAAE,KAAQ;IACrE,IAAI,QAAW,CAAA;IAEf,IAAI,IAAA,eAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,QAAQ,CAAA;IACrB,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC"}
@@ -1,22 +1,19 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const is_function_1 = __importDefault(require("./is-function"));
3
+ exports.default = default_1;
4
+ const is_1 = require("@plq/is");
7
5
  function default_1(key, initialValue, persist) {
8
6
  let initialPersist;
9
7
  try {
10
8
  initialPersist = persist ? JSON.parse(persist) : {};
11
9
  }
12
- catch (ignore) {
10
+ catch {
13
11
  initialPersist = {};
14
- } // eslint-disable-line no-empty
15
- let initialOrPersistedValue = (0, is_function_1.default)(initialValue) ? initialValue() : initialValue;
12
+ }
13
+ let initialOrPersistedValue = (0, is_1.isFunction)(initialValue) ? initialValue() : initialValue;
16
14
  if (initialPersist && key in initialPersist) {
17
- initialOrPersistedValue = initialPersist[key] || initialOrPersistedValue;
15
+ initialOrPersistedValue = initialPersist[key] ?? initialOrPersistedValue;
18
16
  }
19
17
  return initialOrPersistedValue;
20
18
  }
21
- exports.default = default_1;
22
19
  //# sourceMappingURL=get-persisted-value.js.map
@@ -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,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"}
1
+ {"version":3,"file":"get-persisted-value.js","sourceRoot":"","sources":["../../src/utils/get-persisted-value.ts"],"names":[],"mappings":";;AAEA,4BAgBC;AAlBD,gCAAoC;AAEpC,mBAA2B,GAAU,EAAE,YAA2B,EAAE,OAAgB;IAClF,IAAI,cAAwC,CAAA;IAE5C,IAAI,CAAC;QACH,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,cAAc,GAAG,EAAE,CAAA;IACrB,CAAC;IAED,IAAI,uBAAuB,GAAG,IAAA,eAAU,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAE,CAAC,CAAC,YAAY,CAAA;IAEvF,IAAI,cAAc,IAAI,GAAG,IAAI,cAAc,EAAE,CAAC;QAC5C,uBAAuB,GAAI,cAAc,CAAC,GAAG,CAAO,IAAI,uBAAuB,CAAA;IACjF,CAAC;IAED,OAAO,uBAAuB,CAAA;AAChC,CAAC"}
@@ -1,3 +1,3 @@
1
- import { AsyncStorage } from '../@types/storage';
1
+ import type { AsyncStorage } from '../@types/storage';
2
2
  export default function isAsyncStorage(storage: unknown): storage is AsyncStorage;
3
3
  //# sourceMappingURL=is-async-storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"is-async-storage.d.ts","sourceRoot":"","sources":["../../src/utils/is-async-storage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,YAAY,CAUhF"}
1
+ {"version":3,"file":"is-async-storage.d.ts","sourceRoot":"","sources":["../../src/utils/is-async-storage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAA;AAEnD,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,YAAY,CA0BhF"}
@@ -1,16 +1,29 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const is_promise_1 = __importDefault(require("./is-promise"));
7
- const is_function_1 = __importDefault(require("./is-function"));
3
+ exports.default = isAsyncStorage;
4
+ const is_1 = require("@plq/is");
8
5
  function isAsyncStorage(storage) {
9
- return !!storage
10
- && typeof storage.get !== 'undefined'
11
- && ((0, is_promise_1.default)(storage.get)
12
- || ((0, is_function_1.default)(storage.get)
13
- && (0, is_promise_1.default)(storage.get(''))));
6
+ const hasGet = Boolean(storage) && typeof storage?.get !== 'undefined';
7
+ const hasSet = Boolean(storage) && typeof storage?.set !== 'undefined';
8
+ const hasRemove = Boolean(storage) && typeof storage?.remove !== 'undefined';
9
+ if (!hasGet || !hasSet || !hasRemove) {
10
+ return false;
11
+ }
12
+ const hasGetPromise = (0, is_1.isPromise)(storage.get)
13
+ || (0, is_1.isFunction)(storage.get) && (0, is_1.isPromise)(storage.get(''))
14
+ || (0, is_1.isAsyncFunction)(storage.get);
15
+ const hasSetPromise = (0, is_1.isPromise)(storage.set)
16
+ || (0, is_1.isFunction)(storage.set) && (0, is_1.isPromise)(storage.set({}))
17
+ || (0, is_1.isAsyncFunction)(storage.set);
18
+ const hasRemovePromise = (0, is_1.isPromise)(storage.remove)
19
+ || (0, is_1.isFunction)(storage.remove) && (0, is_1.isPromise)(storage.remove(''))
20
+ || (0, is_1.isAsyncFunction)(storage.remove);
21
+ return Boolean(storage)
22
+ && hasGet
23
+ && hasSet
24
+ && hasRemove
25
+ && hasGetPromise
26
+ && hasSetPromise
27
+ && hasRemovePromise;
14
28
  }
15
- exports.default = isAsyncStorage;
16
29
  //# 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,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"}
1
+ {"version":3,"file":"is-async-storage.js","sourceRoot":"","sources":["../../src/utils/is-async-storage.ts"],"names":[],"mappings":";;AAGA,iCA0BC;AA7BD,gCAA8D;AAG9D,SAAwB,cAAc,CAAC,OAAgB;IACnD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,OAAQ,OAAe,EAAE,GAAG,KAAK,WAAW,CAAA;IAC/E,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,OAAQ,OAAe,EAAE,GAAG,KAAK,WAAW,CAAA;IAC/E,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,OAAQ,OAAe,EAAE,MAAM,KAAK,WAAW,CAAA;IAErF,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACnC,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,MAAM,aAAa,GAAG,IAAA,cAAS,EAAE,OAAe,CAAC,GAAG,CAAC;WAC9C,IAAA,eAAU,EAAE,OAAe,CAAC,GAAG,CAAC,IAAI,IAAA,cAAS,EAAE,OAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;WACvE,IAAA,oBAAe,EAAE,OAAe,CAAC,GAAG,CAAC,CAAA;IAC5C,MAAM,aAAa,GAAG,IAAA,cAAS,EAAE,OAAe,CAAC,GAAG,CAAC;WAC9C,IAAA,eAAU,EAAE,OAAe,CAAC,GAAG,CAAC,IAAI,IAAA,cAAS,EAAE,OAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;WACvE,IAAA,oBAAe,EAAE,OAAe,CAAC,GAAG,CAAC,CAAA;IAC5C,MAAM,gBAAgB,GAAG,IAAA,cAAS,EAAE,OAAe,CAAC,MAAM,CAAC;WACpD,IAAA,eAAU,EAAE,OAAe,CAAC,MAAM,CAAC,IAAI,IAAA,cAAS,EAAE,OAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;WAC7E,IAAA,oBAAe,EAAE,OAAe,CAAC,MAAM,CAAC,CAAA;IAE/C,OAAO,OAAO,CAAC,OAAO,CAAC;WAChB,MAAM;WACN,MAAM;WACN,SAAS;WACT,aAAa;WACb,aAAa;WACb,gBAAgB,CAAA;AAC3B,CAAC"}
@@ -1,10 +1,8 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = default_1;
6
4
  const react_1 = require("react");
7
- const is_function_1 = __importDefault(require("./is-function"));
5
+ const is_1 = require("@plq/is");
8
6
  function getValue(key, value) {
9
7
  let newState = null;
10
8
  try {
@@ -24,7 +22,7 @@ function useStorageHandler(itemKey, storageKey, setState, initialValue) {
24
22
  && change.oldValue !== undefined) {
25
23
  const oldValue = getValue(itemKey, change.oldValue);
26
24
  if (oldValue !== initialValue)
27
- setState((0, is_function_1.default)(initialValue) ? initialValue() : initialValue);
25
+ setState((0, is_1.isFunction)(initialValue) ? initialValue() : initialValue);
28
26
  }
29
27
  if (key === storageKey
30
28
  && change.newValue !== null
@@ -47,5 +45,4 @@ function default_1(key, storageKey, setState, storage, initialValue) {
47
45
  };
48
46
  }, [initialValue, key, storage.onChanged, storageKey, setState]);
49
47
  }
50
- exports.default = default_1;
51
48
  //# 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,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"}
1
+ {"version":3,"file":"use-storage-handler.js","sourceRoot":"","sources":["../../src/utils/use-storage-handler.ts"],"names":[],"mappings":";;AAkDA,4BAkBC;AApED,iCAAsC;AAEtC,gCAAoC;AAEpC,SAAS,QAAQ,CAAI,GAAW,EAAE,KAAa;IAC7C,IAAI,QAAQ,GAAG,IAAI,CAAA;IAEnB,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,sDAAsD,EAAE,GAAG,CAAC,CAAA;IAC5E,CAAC;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,CAAC;gBACD,MAAM,QAAQ,GAAG,QAAQ,CAAI,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;gBAEtD,IAAI,QAAQ,KAAK,YAAY;oBAAE,QAAQ,CAAC,IAAA,eAAU,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;YACnG,CAAC;YAED,IACE,GAAG,KAAK,UAAU;mBACf,MAAM,CAAC,QAAQ,KAAK,IAAI;mBACxB,MAAM,CAAC,QAAQ,KAAK,SAAS,EAChC,CAAC;gBACD,MAAM,QAAQ,GAAG,QAAQ,CAAI,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;gBAEtD,IAAI,QAAQ,KAAK,IAAI;oBAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAC3C,CAAC;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,CAAC;gBACjD,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,aAAa,CAAC,CAAA;YACjD,CAAC;QACH,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;AAClE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plq/use-persisted-state",
3
- "version": "1.1.5",
3
+ "version": "1.3.0",
4
4
  "description": "useState hook with persistence in storage",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -19,13 +19,31 @@
19
19
  "test": "jest --verbose",
20
20
  "test:watch": "npm test -- --watchAll",
21
21
  "lint": "eslint ./src/**/*.ts",
22
- "release": "npm run lint && npm run test && npm run build && dotenv release-it",
23
- "examples": "npm run build:watch & parcel examples/index.html"
22
+ "release": "dotenv release-it",
23
+ "demo": "vite demo",
24
+ "demo:build": "vite build demo",
25
+ "demo:preview": "vite preview demo"
24
26
  },
25
27
  "repository": {
26
28
  "type": "git",
27
29
  "url": "git+https://github.com/Akurganow/use-persisted-state.git"
28
30
  },
31
+ "release-it": {
32
+ "hooks": {
33
+ "before:init": [
34
+ "npm run lint",
35
+ "npm test",
36
+ "npm run build"
37
+ ],
38
+ "after:release": "echo Successfully released ${name} v${version} to ${repo.repository}."
39
+ },
40
+ "plugins": {
41
+ "@release-it/conventional-changelog": {
42
+ "preset": "conventionalcommits",
43
+ "infile": "CHANGELOG.md"
44
+ }
45
+ }
46
+ },
29
47
  "keywords": [
30
48
  "react",
31
49
  "hook",
@@ -46,34 +64,40 @@
46
64
  },
47
65
  "homepage": "https://github.com/Akurganow/use-persisted-state#readme",
48
66
  "devDependencies": {
49
- "@release-it/conventional-changelog": "^7.0.2",
67
+ "@eslint/js": "^9.32.0",
68
+ "@release-it/conventional-changelog": "^10.0.1",
50
69
  "@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",
62
- "eslint-plugin-react": "^7.21.5",
63
- "eslint-plugin-react-hooks": "^4.2.0",
64
- "jest": "^29.7.0",
65
- "jest-environment-jsdom": "^29.7.0",
70
+ "@testing-library/react": "^16.3.0",
71
+ "@types/chrome": "0.1.1",
72
+ "@types/firefox-webext-browser": "^120.0.0",
73
+ "@types/jest": "^30.0.0",
74
+ "@types/react": "^19.0.0",
75
+ "@types/react-dom": "^19.0.0",
76
+ "@vitejs/plugin-react": "^4.7.0",
77
+ "conventional-changelog-cli": "^5.0.0",
78
+ "dotenv-cli": "^10.0.0",
79
+ "eslint": "^9.32.0",
80
+ "eslint-plugin-jest": "^29.0.1",
81
+ "eslint-plugin-react": "^7.37.0",
82
+ "eslint-plugin-react-hooks": "^5.0.0",
83
+ "jest": "^30.0.5",
84
+ "jest-environment-jsdom": "^30.0.5",
66
85
  "jest-localstorage-mock": "^2.4.6",
67
- "jest-webextension-mock": "^3.7.6",
68
- "parcel": "^2.9.3",
86
+ "jest-webextension-mock": "^4.0.0",
69
87
  "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"
88
+ "react": "^19.1.1",
89
+ "react-dom": "^19.1.1",
90
+ "release-it": "^19.0.4",
91
+ "ts-jest": "^29.4.0",
92
+ "typescript": "^5.8.3",
93
+ "typescript-eslint": "^8.15.0",
94
+ "vite": "^7.0.6"
74
95
  },
75
96
  "peerDependencies": {
76
- "react": ">=16.8.0",
77
- "react-dom": ">=16.8.0"
97
+ "react": ">=16.8.0 || >=18.0.0 || >=19.0.0",
98
+ "react-dom": ">=16.8.0 || >=18.0.0 || >=19.0.0"
99
+ },
100
+ "dependencies": {
101
+ "@plq/is": "^1.2.0"
78
102
  }
79
103
  }
@@ -1,5 +1,5 @@
1
1
  import React from 'react'
2
- import isFunction from './is-function'
2
+ import { isFunction } from '@plq/is'
3
3
 
4
4
  export default function <T>(newState: React.SetStateAction<T>, state: T): T {
5
5
  let newValue: T
@@ -1,18 +1,18 @@
1
- import isFunction from './is-function'
1
+ import { isFunction } from '@plq/is'
2
2
 
3
3
  export default function<T>(key:string, initialValue: T | (() => T), persist?: string): T {
4
4
  let initialPersist: { [x: string]: unknown }
5
5
 
6
6
  try {
7
7
  initialPersist = persist ? JSON.parse(persist) : {}
8
- } catch (ignore) {
8
+ } catch {
9
9
  initialPersist = {}
10
- } // eslint-disable-line no-empty
10
+ }
11
11
 
12
12
  let initialOrPersistedValue = isFunction(initialValue) ? initialValue() : initialValue
13
13
 
14
14
  if (initialPersist && key in initialPersist) {
15
- initialOrPersistedValue = (initialPersist[key] as T) || initialOrPersistedValue
15
+ initialOrPersistedValue = (initialPersist[key] as T) ?? initialOrPersistedValue
16
16
  }
17
17
 
18
18
  return initialOrPersistedValue
@@ -1,16 +1,30 @@
1
- import isPromise from './is-promise'
2
- import isFunction from './is-function'
3
-
4
- import { AsyncStorage } from '../@types/storage'
1
+ import {isFunction, isAsyncFunction, isPromise} from '@plq/is'
2
+ import type {AsyncStorage} from '../@types/storage'
5
3
 
6
4
  export default function isAsyncStorage(storage: unknown): storage is AsyncStorage {
7
- return !!storage
8
- && typeof (storage as any).get !== 'undefined'
9
- && (
10
- isPromise((storage as any).get)
11
- || (
12
- isFunction((storage as any).get)
13
- && isPromise((storage as any).get(''))
14
- )
15
- )
5
+ const hasGet = Boolean(storage) && typeof (storage as any)?.get !== 'undefined'
6
+ const hasSet = Boolean(storage) && typeof (storage as any)?.set !== 'undefined'
7
+ const hasRemove = Boolean(storage) && typeof (storage as any)?.remove !== 'undefined'
8
+
9
+ if (!hasGet || !hasSet || !hasRemove) {
10
+ return false
11
+ }
12
+
13
+ const hasGetPromise = isPromise((storage as any).get)
14
+ || isFunction((storage as any).get) && isPromise((storage as any).get(''))
15
+ || isAsyncFunction((storage as any).get)
16
+ const hasSetPromise = isPromise((storage as any).set)
17
+ || isFunction((storage as any).set) && isPromise((storage as any).set({}))
18
+ || isAsyncFunction((storage as any).set)
19
+ const hasRemovePromise = isPromise((storage as any).remove)
20
+ || isFunction((storage as any).remove) && isPromise((storage as any).remove(''))
21
+ || isAsyncFunction((storage as any).remove)
22
+
23
+ return Boolean(storage)
24
+ && hasGet
25
+ && hasSet
26
+ && hasRemove
27
+ && hasGetPromise
28
+ && hasSetPromise
29
+ && hasRemovePromise
16
30
  }
@@ -1,6 +1,6 @@
1
1
  import React, {useEffect} from 'react'
2
2
  import { AsyncStorage, Storage, StorageChange } from '../@types/storage'
3
- import isFunction from './is-function'
3
+ import { isFunction } from '@plq/is'
4
4
 
5
5
  function getValue<T>(key: string, value: string) {
6
6
  let newState = null
@@ -1,2 +0,0 @@
1
- export default function isFunction(value: unknown): value is Function;
2
- //# sourceMappingURL=is-function.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-function.d.ts","sourceRoot":"","sources":["../../src/utils/is-function.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAMpE"}
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- function isFunction(value) {
4
- return !!value
5
- && (Object.prototype.toString.call(value) === '[object Function]'
6
- || typeof value === 'function');
7
- }
8
- exports.default = isFunction;
9
- //# sourceMappingURL=is-function.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-function.js","sourceRoot":"","sources":["../../src/utils/is-function.ts"],"names":[],"mappings":";;AAAA,SAAwB,UAAU,CAAC,KAAc;IAC/C,OAAO,CAAC,CAAC,KAAK;WACT,CACD,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,mBAAmB;eAC1D,OAAO,KAAK,KAAK,UAAU,CAC/B,CAAA;AACL,CAAC;AAND,6BAMC"}
@@ -1,2 +0,0 @@
1
- export default function isPromise<T = unknown>(value: unknown): value is PromiseLike<T>;
2
- //# sourceMappingURL=is-promise.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-promise.d.ts","sourceRoot":"","sources":["../../src/utils/is-promise.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,CAOtF"}
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- function isPromise(value) {
4
- return !!value
5
- && (Object.prototype.toString.call(value) === '[object Promise]'
6
- || typeof value === 'function')
7
- && typeof value.then === 'function';
8
- }
9
- exports.default = isPromise;
10
- //# sourceMappingURL=is-promise.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-promise.js","sourceRoot":"","sources":["../../src/utils/is-promise.ts"],"names":[],"mappings":";;AAAA,SAAwB,SAAS,CAAc,KAAc;IAC3D,OAAO,CAAC,CAAC,KAAK;WACT,CACD,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,kBAAkB;eACzD,OAAO,KAAK,KAAK,UAAU,CAC/B;WACE,OAAQ,KAA8B,CAAC,IAAI,KAAK,UAAU,CAAA;AACjE,CAAC;AAPD,4BAOC"}
@@ -1,7 +0,0 @@
1
- export default function isFunction(value: unknown): value is Function {
2
- return !!value
3
- && (
4
- Object.prototype.toString.call(value) === '[object Function]'
5
- || typeof value === 'function'
6
- )
7
- }
@@ -1,8 +0,0 @@
1
- export default function isPromise<T = unknown>(value: unknown): value is PromiseLike<T> {
2
- return !!value
3
- && (
4
- Object.prototype.toString.call(value) === '[object Promise]'
5
- || typeof value === 'function'
6
- )
7
- && typeof (value as PromiseLike<unknown>).then === 'function'
8
- }