{"_id":"@hampfh/use-storage","_rev":"30-9518a0d34a7faa280d9901b747d90743","name":"@hampfh/use-storage","dist-tags":{"latest":"1.2.6"},"versions":{"1.0.0":{"name":"@hampfh/use-storage","version":"1.0.0","keywords":["react","hooks","react-hooks","typescript","persistency","storage","reactive"],"author":{"url":"https://hallkvi.st","name":"Hampus Hallkvist","email":"hampus@hallkvi.st"},"license":"Apache-2.0","_id":"@hampfh/use-storage@1.0.0","maintainers":[{"name":"hampfh","email":"hampus@hallkvi.st"}],"homepage":"https://github.com/Hampfh/use-storage#readme","bugs":{"url":"https://github.com/Hampfh/use-storage/issues","email":"hampus@hallkvi.st"},"dist":{"shasum":"f05ff0aa35841f56d7248b8d50ba869e1857efcb","tarball":"https://registry.npmjs.org/@hampfh/use-storage/-/use-storage-1.0.0.tgz","fileCount":36,"integrity":"sha512-LeoHIVHC2zh4SlmgC3powOvLo92fhr0op8KM+j6+uBl/j6D5e8ZSCX+OnRVqJG936TWfDhPq0WG9T/GVjduO1g==","signatures":[{"sig":"MEQCICp6v0n87RE7ZE6jNU0hHkq3V4UQbe66oTgVcPdwb+0BAiBMJcsZtaOIfc/yu67gHdKLXn1SXat1weom4U+v8anbow==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37871},"main":"./lib/index.js","types":"./lib/index.d.ts","gitHead":"79efb32a8afa49bd044fb1674913c8d86bf5155a","private":false,"scripts":{"bump":"npm version","build":"rm -rf lib && babel src --out-dir lib --extensions \".ts,.tsx\" --copy-files && tsc --emitDeclarationOnly --outDir lib"},"_npmUser":{"name":"hampfh","email":"hampus@hallkvi.st"},"repository":{"url":"git+https://github.com/Hampfh/use-storage.git","type":"git"},"_npmVersion":"10.2.1","description":"A starter for creating a new React hook","directories":{},"_nodeVersion":"18.17.0","dependencies":{"reselect":"^5.0.1","@babel/cli":"^7.14.8","typescript":"^5.3.3","@babel/core":"^7.15.0","react-redux":"^9.0.4","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","react":"^18.2.0","redux":"^5.0.1","@types/react":"^18.2.45","react-native":"^0.73.1","@reduxjs/toolkit":"^2.0.1","metro-react-native-babel-preset":"^0.77.0","@react-native-async-storage/async-storage":"^1.21.0"},"peerDependencies":{"zod":"^3","react":"^15 || ^16 || ^17 || ^18","redux":"^5","react-native":"^0.71 || ^0.72 || 0.73","@reduxjs/toolkit":"^2","@react-native-async-storage/async-storage":"^1"},"_npmOperationalInternal":{"tmp":"tmp/use-storage_1.0.0_1704578892846_0.6861540065387997","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.1":{"name":"@hampfh/use-storage","version":"1.0.1","keywords":["react","hooks","react-hooks","typescript","persistency","storage","reactive"],"author":{"url":"https://hallkvi.st","name":"Hampus Hallkvist","email":"hampus@hallkvi.st"},"license":"Apache-2.0","_id":"@hampfh/use-storage@1.0.1","maintainers":[{"name":"hampfh","email":"hampus@hallkvi.st"}],"homepage":"https://github.com/Hampfh/use-storage#readme","bugs":{"url":"https://github.com/Hampfh/use-storage/issues","email":"hampus@hallkvi.st"},"dist":{"shasum":"c0544f5a8c0266c54592a3ce8a8fe41b06ab3c4a","tarball":"https://registry.npmjs.org/@hampfh/use-storage/-/use-storage-1.0.1.tgz","fileCount":36,"integrity":"sha512-xT/6nZu+22iKKnsOAzc/XpMzT4YMuUhBINSJPCGs/DIPagXOTM1FFtuvHKfiX/QxSKpEkuaZWagi2kzzMgZPUA==","signatures":[{"sig":"MEYCIQCqzPAX4rO3mxB5wmMFNUyzYi4O0q6rYv2IGUSD7jQdpwIhAMvv2c9mYcjhMMhS5CfAxeMUovBEYvZEA8p7oZ7kqjSB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37820},"main":"./lib/index.js","types":"./lib/index.d.ts","gitHead":"79efb32a8afa49bd044fb1674913c8d86bf5155a","private":false,"scripts":{"bump":"npm version","build":"rm -rf lib && babel src --out-dir lib --extensions \".ts,.tsx\" --copy-files && tsc --emitDeclarationOnly --outDir lib","swap-lib-readme":"rm -f README.md && cp ../README.md README.md"},"_npmUser":{"name":"hampfh","email":"hampus@hallkvi.st"},"repository":{"url":"git+https://github.com/Hampfh/use-storage.git","type":"git"},"_npmVersion":"10.2.1","description":"A starter for creating a new React hook","directories":{},"_nodeVersion":"18.17.0","dependencies":{"reselect":"^5.0.1","@babel/cli":"^7.14.8","typescript":"^5.3.3","@babel/core":"^7.15.0","react-redux":"^9.0.4","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","react":"^18.2.0","redux":"^5.0.1","@types/react":"^18.2.45","react-native":"^0.73.1","@reduxjs/toolkit":"^2.0.1","metro-react-native-babel-preset":"^0.77.0","@react-native-async-storage/async-storage":"^1.21.0"},"peerDependencies":{"zod":"^3","react":"^15 || ^16 || ^17 || ^18","redux":"^5","react-native":"^0.71 || ^0.72 || 0.73","@reduxjs/toolkit":"^2","@react-native-async-storage/async-storage":"^1"},"_npmOperationalInternal":{"tmp":"tmp/use-storage_1.0.1_1704580607506_0.7642222789137227","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.2":{"name":"@hampfh/use-storage","version":"1.0.2","keywords":["react","hooks","react-hooks","typescript","persistency","storage","reactive"],"author":{"url":"https://hallkvi.st","name":"Hampus Hallkvist","email":"hampus@hallkvi.st"},"license":"Apache-2.0","_id":"@hampfh/use-storage@1.0.2","maintainers":[{"name":"hampfh","email":"hampus@hallkvi.st"}],"homepage":"https://github.com/Hampfh/use-storage#readme","bugs":{"url":"https://github.com/Hampfh/use-storage/issues","email":"hampus@hallkvi.st"},"dist":{"shasum":"767f1d836311fd2271ded5512d98c4901516ade9","tarball":"https://registry.npmjs.org/@hampfh/use-storage/-/use-storage-1.0.2.tgz","fileCount":36,"integrity":"sha512-+yM5HBjSCh03GTkfkQeieXHAa0ltY0CGWhGQOyK/DNkCkvG4M73eDonULAmxSXTVt5Ano7GRdEmrcl6zqPEQvQ==","signatures":[{"sig":"MEUCIQDXxJqNfqODFAwtGqzlIPokzCc541FTh5mYIJ4VyHEuqwIgOjvmOetJWe+W8jIWN9gXpqbTNFVlM9P84TWHr0Kv+jU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40596},"main":"./lib/index.js","types":"./lib/index.d.ts","gitHead":"79efb32a8afa49bd044fb1674913c8d86bf5155a","private":false,"scripts":{"bump":"npm version","build":"rm -rf lib && babel src --out-dir lib --extensions \".ts,.tsx\" --copy-files && tsc --emitDeclarationOnly --outDir lib","swap-lib-readme":"rm -f README.md && cp ../README.md README.md"},"_npmUser":{"name":"hampfh","email":"hampus@hallkvi.st"},"repository":{"url":"git+https://github.com/Hampfh/use-storage.git","type":"git"},"_npmVersion":"10.2.1","description":"A starter for creating a new React hook","directories":{},"_nodeVersion":"18.17.0","dependencies":{"reselect":"^5.0.1","@babel/cli":"^7.14.8","typescript":"^5.3.3","@babel/core":"^7.15.0","react-redux":"^9.0.4","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","react":"^18.2.0","redux":"^5.0.1","@types/react":"^18.2.45","react-native":"^0.73.1","@reduxjs/toolkit":"^2.0.1","metro-react-native-babel-preset":"^0.77.0","@react-native-async-storage/async-storage":"^1.21.0"},"peerDependencies":{"zod":"^3","react":"^15 || ^16 || ^17 || ^18","redux":"^5","react-native":"^0.71 || ^0.72 || 0.73","@reduxjs/toolkit":"^2","@react-native-async-storage/async-storage":"^1"},"_npmOperationalInternal":{"tmp":"tmp/use-storage_1.0.2_1704581070971_0.8815440848361704","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.0":{"name":"@hampfh/use-storage","version":"1.1.0","keywords":["react","hooks","react-hooks","typescript","persistency","storage","reactive"],"author":{"url":"https://hallkvi.st","name":"Hampus Hallkvist","email":"hampus@hallkvi.st"},"license":"Apache-2.0","_id":"@hampfh/use-storage@1.1.0","maintainers":[{"name":"hampfh","email":"hampus@hallkvi.st"}],"homepage":"https://github.com/Hampfh/use-storage#readme","bugs":{"url":"https://github.com/Hampfh/use-storage/issues","email":"hampus@hallkvi.st"},"dist":{"shasum":"ea6f5ba6c813577474b9a0fe7aa2d33a415489fc","tarball":"https://registry.npmjs.org/@hampfh/use-storage/-/use-storage-1.1.0.tgz","fileCount":37,"integrity":"sha512-2mCv7RdoERcoKWztoOTXr3YriguZXG2vntE1s4rlOcwrmrfyrVE4lb2EZKnFd6MntCQC6g+XiwcJqAweCx9ifA==","signatures":[{"sig":"MEYCIQDTBic0/50FhdlpbfK0ywc2a+McFhkVlUqZSGhv8yHgcQIhAI8mdD3bWXIB1VytBdQJnQz8uF4grQv1k1TEVh59yDqE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45200},"main":"./lib/index.js","types":"./lib/index.d.ts","gitHead":"9881c2aab7c93ddd92eef138c797c166cac850e7","private":false,"scripts":{"bump":"npm version","build":"rm -rf lib && babel src --out-dir lib --extensions \".ts,.tsx\" --copy-files && tsc --emitDeclarationOnly --outDir lib"},"_npmUser":{"name":"hampfh","email":"hampus@hallkvi.st"},"repository":{"url":"git+https://github.com/Hampfh/use-storage.git","type":"git"},"_npmVersion":"10.2.1","description":"A starter for creating a new React hook","directories":{},"_nodeVersion":"18.17.0","dependencies":{"reselect":"^5.0.1","@babel/cli":"^7.14.8","typescript":"^5.3.3","@babel/core":"^7.15.0","react-redux":"^9.0.4","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","react":"^18.2.0","redux":"^5.0.1","@types/react":"^18.2.45","react-native":"0.72.6","@reduxjs/toolkit":"^2.0.1","@haul-bundler/cli":"^0.23.0","metro-react-native-babel-preset":"^0.77.0","@react-native-async-storage/async-storage":"^1.21.0"},"peerDependencies":{"zod":"^3","react":"^17 || ^18","redux":"^5","react-native":"^0.71 || ^0.72 || 0.73","@reduxjs/toolkit":"^2","@react-native-async-storage/async-storage":"^1"},"_npmOperationalInternal":{"tmp":"tmp/use-storage_1.1.0_1704626113100_0.3481378892115452","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.2":{"name":"@hampfh/use-storage","version":"1.1.2","keywords":["react","hooks","react-hooks","typescript","persistency","storage","reactive"],"author":{"url":"https://hallkvi.st","name":"Hampus Hallkvist","email":"hampus@hallkvi.st"},"license":"Apache-2.0","_id":"@hampfh/use-storage@1.1.2","maintainers":[{"name":"hampfh","email":"hampus@hallkvi.st"}],"homepage":"https://github.com/Hampfh/use-storage#readme","bugs":{"url":"https://github.com/Hampfh/use-storage/issues","email":"hampus@hallkvi.st"},"dist":{"shasum":"e151acdd20730bb8c7c88834aa04d81dd6645eb0","tarball":"https://registry.npmjs.org/@hampfh/use-storage/-/use-storage-1.1.2.tgz","fileCount":37,"integrity":"sha512-oaBleLhrlLpNkSO0k/S4bcmD1lD32lgGvdxYZrnbOaDB74lNUQsQ+74/SuH6sBrRpELar3xMh+jKUDIQL74cJA==","signatures":[{"sig":"MEUCIQCU9Di3OLSrYbv442g+GKEQkkhLsO4iUmh+psYmyjG5uQIgLVk+UswJiX8+kkdNwZFVMepjfMTxi97VvlKy+DvrbsQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46387},"main":"./lib/index.js","types":"./lib/index.d.ts","gitHead":"9fb5ef488b048aeedc5f1cf9219fb6667eb62650","private":false,"scripts":{"bump":"npm version","build":"rm -rf lib && babel src --out-dir lib --extensions \".ts,.tsx\" --copy-files && tsc --emitDeclarationOnly --outDir lib"},"_npmUser":{"name":"hampfh","email":"hampus@hallkvi.st"},"repository":{"url":"git+https://github.com/Hampfh/use-storage.git","type":"git"},"_npmVersion":"10.2.1","description":"A starter for creating a new React hook","directories":{},"_nodeVersion":"18.17.0","dependencies":{"reselect":"^5.0.1","@babel/cli":"^7.14.8","typescript":"^5.3.3","@babel/core":"^7.15.0","react-redux":"^9.0.4","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","react":"^18.2.0","redux":"^5.0.1","@types/react":"^18.2.45","react-native":"0.72.6","@reduxjs/toolkit":"^2.0.1","@haul-bundler/cli":"^0.23.0","metro-react-native-babel-preset":"^0.77.0","@react-native-async-storage/async-storage":"^1.21.0"},"peerDependencies":{"zod":"^3","react":"^17 || ^18","redux":"^5","react-native":"^0.71 || ^0.72 || 0.73","@reduxjs/toolkit":"^2","@react-native-async-storage/async-storage":"^1"},"_npmOperationalInternal":{"tmp":"tmp/use-storage_1.1.2_1704627183458_0.6330629631313858","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.3":{"name":"@hampfh/use-storage","version":"1.1.3","keywords":["react","hooks","react-hooks","typescript","persistency","storage","reactive"],"author":{"url":"https://hallkvi.st","name":"Hampus Hallkvist","email":"hampus@hallkvi.st"},"license":"Apache-2.0","_id":"@hampfh/use-storage@1.1.3","maintainers":[{"name":"hampfh","email":"hampus@hallkvi.st"}],"homepage":"https://github.com/Hampfh/use-storage#readme","bugs":{"url":"https://github.com/Hampfh/use-storage/issues","email":"hampus@hallkvi.st"},"dist":{"shasum":"2219ac60d15090af571d0033881f3847d380b1d2","tarball":"https://registry.npmjs.org/@hampfh/use-storage/-/use-storage-1.1.3.tgz","fileCount":37,"integrity":"sha512-ggqcExITJ2OUSiTDkDqHe32+Q3BBJAL6UU1x1pu+kyGT+bQgIBCT282t/4FVnQlmWAH15WHX+T/uRsIh/g628Q==","signatures":[{"sig":"MEUCIQCCpAP1PyEBnzCAeMy4jSe9xnTsEIEhsFtqGmzYezagOQIgQm1xsHfS06CYzigrTa41RiAfQtqR20TEMdrX54CBTBQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46559},"main":"./lib/index.js","types":"./lib/index.d.ts","gitHead":"62b6ab61ca78d696e87e7cf824031c62afd0092a","private":false,"scripts":{"bump":"npm version","build":"rm -rf lib && babel src --out-dir lib --extensions \".ts,.tsx\" --copy-files && tsc --emitDeclarationOnly --outDir lib"},"_npmUser":{"name":"hampfh","email":"hampus@hallkvi.st"},"repository":{"url":"git+https://github.com/Hampfh/use-storage.git","type":"git"},"_npmVersion":"10.2.1","description":"A starter for creating a new React hook","directories":{},"_nodeVersion":"18.17.0","dependencies":{"reselect":"^5.0.1","@babel/cli":"^7.14.8","typescript":"^5.3.3","@babel/core":"^7.15.0","react-redux":"^9.0.4","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","react":"^18.2.0","redux":"^5.0.1","@types/react":"^18.2.45","react-native":"0.72.6","@reduxjs/toolkit":"^2.0.1","@haul-bundler/cli":"^0.23.0","metro-react-native-babel-preset":"^0.77.0","@react-native-async-storage/async-storage":"^1.21.0"},"peerDependencies":{"zod":"^3","react":"^17 || ^18","redux":"^5","react-native":"^0.71 || ^0.72 || 0.73","@reduxjs/toolkit":"^2","@react-native-async-storage/async-storage":"^1"},"_npmOperationalInternal":{"tmp":"tmp/use-storage_1.1.3_1704630742617_0.9466353993869043","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.4":{"name":"@hampfh/use-storage","version":"1.1.4","keywords":["react","hooks","react-hooks","typescript","persistency","storage","reactive"],"author":{"url":"https://hallkvi.st","name":"Hampus Hallkvist","email":"hampus@hallkvi.st"},"license":"Apache-2.0","_id":"@hampfh/use-storage@1.1.4","maintainers":[{"name":"hampfh","email":"hampus@hallkvi.st"}],"homepage":"https://github.com/Hampfh/use-storage#readme","bugs":{"url":"https://github.com/Hampfh/use-storage/issues","email":"hampus@hallkvi.st"},"dist":{"shasum":"a917d482a6de31dc1ea3d51ed5ee7baaf5535a18","tarball":"https://registry.npmjs.org/@hampfh/use-storage/-/use-storage-1.1.4.tgz","fileCount":37,"integrity":"sha512-3FAeBv03haspvnPxvoYfEt1URB0J92S1F9B377ZqtKKtmjPPQQboPj8VKnUtz1TpprTynkPamJZKjil3s+PKrA==","signatures":[{"sig":"MEYCIQCgTnS5YR1zNoz4vWVRq2HX/mOmGssl/eyVXIeSAzvEOAIhAN5lHB4NY2zGD/Z84Q84Aod8BxQfJE5SamoA3tgHRpx2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46559},"main":"./lib/index.js","types":"./lib/index.d.ts","gitHead":"271083c6dca468143a0231f4c3e6d385081cc029","private":false,"scripts":{"bump":"npm version","build":"rm -rf lib && babel src --out-dir lib --extensions \".ts,.tsx\" --copy-files && tsc --emitDeclarationOnly --outDir lib"},"_npmUser":{"name":"hampfh","email":"hampus@hallkvi.st"},"repository":{"url":"git+https://github.com/Hampfh/use-storage.git","type":"git"},"_npmVersion":"10.2.1","description":"A starter for creating a new React hook","directories":{},"_nodeVersion":"18.17.0","dependencies":{"reselect":"^5.0.1","@babel/cli":"^7.14.8","typescript":"^5.3.3","@babel/core":"^7.15.0","react-redux":"^9.0.4","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","react":"^18.2.0","redux":"^5.0.1","@types/react":"^18.2.45","react-native":"0.72.6","@reduxjs/toolkit":"^2.0.1","@haul-bundler/cli":"^0.23.0","metro-react-native-babel-preset":"^0.77.0","@react-native-async-storage/async-storage":"^1.21.0"},"peerDependencies":{"zod":"^3","react":"^17 || ^18","redux":"^5","react-native":"^0.71 || ^0.72 || 0.73","@reduxjs/toolkit":"^2","@react-native-async-storage/async-storage":"^1"},"_npmOperationalInternal":{"tmp":"tmp/use-storage_1.1.4_1704660703439_0.23649839662258976","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.5":{"name":"@hampfh/use-storage","version":"1.1.5","keywords":["react","hooks","react-hooks","typescript","persistency","storage","reactive"],"author":{"url":"https://hallkvi.st","name":"Hampus Hallkvist","email":"hampus@hallkvi.st"},"license":"Apache-2.0","_id":"@hampfh/use-storage@1.1.5","maintainers":[{"name":"hampfh","email":"hampus@hallkvi.st"}],"homepage":"https://tsdocs.dev/search/docs/@hampfh/use-storage","bugs":{"url":"https://github.com/Hampfh/use-storage/issues","email":"hampus@hallkvi.st"},"dist":{"shasum":"e6455dd427444dcb8feef95027752ba8e2bc11c6","tarball":"https://registry.npmjs.org/@hampfh/use-storage/-/use-storage-1.1.5.tgz","fileCount":37,"integrity":"sha512-fx3UBp++PUb3mDC3kfH2anx1AKk7C2Hsf5hKOEe4egqaVsDJsodwWGQDXBcF9mdjlSUvKKLHGQQpI/8EXbQlqw==","signatures":[{"sig":"MEQCIArc3zeWwInFXCcHXxlQp7AtEopifNsl3dKFPH3oouBvAiADGGpnSlrupLCVe9jUB3zrEKZyMNjDsx4LPfOiSNOffw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47687},"main":"./lib/index.js","types":"./lib/index.d.ts","gitHead":"0f88617868d9cc33401fabba74fa70f14a5ef510","private":false,"scripts":{"bump":"npm version","build":"rm -rf lib && babel src --out-dir lib --extensions \".ts,.tsx\" --copy-files && tsc --emitDeclarationOnly --outDir lib"},"_npmUser":{"name":"hampfh","email":"hampus@hallkvi.st"},"repository":{"url":"git+https://github.com/Hampfh/use-storage.git","type":"git"},"_npmVersion":"10.2.1","description":"A starter for creating a new React hook","directories":{},"_nodeVersion":"18.17.0","dependencies":{"reselect":"^5.0.1","@babel/cli":"^7.14.8","typescript":"^5.3.3","@babel/core":"^7.15.0","react-redux":"^9.0.4","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","react":"^18.2.0","redux":"^5.0.1","@types/react":"^18.2.45","react-native":"0.72.6","@reduxjs/toolkit":"^2.0.1","@haul-bundler/cli":"^0.23.0","metro-react-native-babel-preset":"^0.77.0","@react-native-async-storage/async-storage":"^1.21.0"},"peerDependencies":{"zod":"^3","react":"^17 || ^18","redux":"^5","react-native":"^0.71 || ^0.72 || 0.73","@reduxjs/toolkit":"^2","@react-native-async-storage/async-storage":"^1"},"_npmOperationalInternal":{"tmp":"tmp/use-storage_1.1.5_1704660932923_0.5115499178200134","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.7":{"name":"@hampfh/use-storage","version":"1.1.7","keywords":["react","hooks","react-hooks","typescript","persistency","storage","reactive"],"author":{"url":"https://hallkvi.st","name":"Hampus Hallkvist","email":"hampus@hallkvi.st"},"license":"Apache-2.0","_id":"@hampfh/use-storage@1.1.7","maintainers":[{"name":"hampfh","email":"hampus@hallkvi.st"}],"homepage":"https://tsdocs.dev/search/docs/@hampfh/use-storage","bugs":{"url":"https://github.com/Hampfh/use-storage/issues","email":"hampus@hallkvi.st"},"dist":{"shasum":"0e1a2ffa18ea6e7175f3dcc96e46bf38c1f58185","tarball":"https://registry.npmjs.org/@hampfh/use-storage/-/use-storage-1.1.7.tgz","fileCount":37,"integrity":"sha512-Sh/CikOFwXWmivf081QGMTgODVBkq57WbDfaZ2ROFr8en4+IYxkK5TS/6k2NlVdrcLVoYMsKuymzbDp2N8mk/A==","signatures":[{"sig":"MEQCIHwJt3TbW9aRDd+75KB+NmgJ7L90mdCK4C0icEzF5e4YAiA0EZEUQZLyUjeRN9fSI2w+zyt51SjO4DyZ+H/xr3S4ZA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47737},"main":"./lib/index.js","types":"./lib/index.d.ts","gitHead":"1d6dc30de38f918e9ca6a9c6706d9c26e0062fa7","private":false,"scripts":{"bump":"npm version","build":"rm -rf lib && babel src --out-dir lib --extensions \".ts,.tsx\" --copy-files && tsc --emitDeclarationOnly --outDir lib"},"_npmUser":{"name":"hampfh","email":"hampus@hallkvi.st"},"repository":{"url":"git+https://github.com/Hampfh/use-storage.git","type":"git"},"_npmVersion":"10.2.1","description":"Typed persistency storage with reactivity","directories":{},"_nodeVersion":"18.17.0","dependencies":{"reselect":"^5.0.1","@babel/cli":"^7.14.8","typescript":"^5.3.3","@babel/core":"^7.15.0","react-redux":"^9.0.4","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","react":"^18.2.0","redux":"^5.0.1","@types/react":"^18.2.45","react-native":"0.72.6","@reduxjs/toolkit":"^2.0.1","@haul-bundler/cli":"^0.23.0","metro-react-native-babel-preset":"^0.77.0","@react-native-async-storage/async-storage":"^1.21.0"},"peerDependencies":{"zod":"^3","react":"^17 || ^18","redux":"^5","react-native":"^0.71 || ^0.72 || 0.73","@reduxjs/toolkit":"^2","@react-native-async-storage/async-storage":"^1"},"_npmOperationalInternal":{"tmp":"tmp/use-storage_1.1.7_1704735096728_0.3168842364734823","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.8":{"name":"@hampfh/use-storage","version":"1.1.8","keywords":["react","hooks","react-hooks","typescript","persistency","storage","reactive"],"author":{"url":"https://hallkvi.st","name":"Hampus Hallkvist","email":"hampus@hallkvi.st"},"license":"Apache-2.0","_id":"@hampfh/use-storage@1.1.8","maintainers":[{"name":"hampfh","email":"hampus@hallkvi.st"}],"homepage":"https://tsdocs.dev/search/docs/@hampfh/use-storage","bugs":{"url":"https://github.com/Hampfh/use-storage/issues","email":"hampus@hallkvi.st"},"dist":{"shasum":"0c6dd1a379da0ae0e69c152604a81885a5e980bd","tarball":"https://registry.npmjs.org/@hampfh/use-storage/-/use-storage-1.1.8.tgz","fileCount":37,"integrity":"sha512-27PJOE2t1GQZ6J7LoQkmrbMGw6G3eg82cA4itrFfsHSfdUZV4mzWwSFhGi0PIKvy+T0eBOAFwd8ckw1SdaRVEQ==","signatures":[{"sig":"MEUCIQDySe32s8KfsGBydu6r5uQNTnTH3cpd1F/o9mEBcBKEYAIgUZN1/Yql95ZR2SyH7TKiej0+VwDp6ow/pn4REQEEn1Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47786},"main":"./lib/index.js","types":"./lib/index.d.ts","gitHead":"2180f3767864a05721e30a1df667577dafb8bb16","private":false,"scripts":{"bump":"npm version","build":"rm -rf lib && babel src --out-dir lib --extensions \".ts,.tsx\" --copy-files && tsc --emitDeclarationOnly --outDir lib"},"_npmUser":{"name":"hampfh","email":"hampus@hallkvi.st"},"repository":{"url":"git+https://github.com/Hampfh/use-storage.git","type":"git"},"_npmVersion":"10.2.1","description":"Typed persistency storage with reactivity","directories":{},"_nodeVersion":"18.17.0","dependencies":{"reselect":"^5.0.1","@babel/cli":"^7.14.8","typescript":"^5.3.3","@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","react":"^18.2.0","redux":"^5.0.1","react-redux":"^9.0.4","@types/react":"^18.2.45","react-native":"0.72.6","@reduxjs/toolkit":"^2.0.1","@haul-bundler/cli":"^0.23.0","metro-react-native-babel-preset":"^0.77.0","@react-native-async-storage/async-storage":"^1.21.0"},"peerDependencies":{"zod":"^3","react":"^17 || ^18","redux":"^5","react-redux":"^7 || ^8 || ^9","react-native":"^0.71 || ^0.72 || 0.73","@reduxjs/toolkit":"^2","@react-native-async-storage/async-storage":"^1"},"_npmOperationalInternal":{"tmp":"tmp/use-storage_1.1.8_1704735726118_0.3931482516626448","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.9":{"name":"@hampfh/use-storage","version":"1.1.9","keywords":["react","hooks","react-hooks","typescript","persistency","storage","reactive"],"author":{"url":"https://hallkvi.st","name":"Hampus Hallkvist","email":"hampus@hallkvi.st"},"license":"Apache-2.0","_id":"@hampfh/use-storage@1.1.9","maintainers":[{"name":"hampfh","email":"hampus@hallkvi.st"}],"homepage":"https://tsdocs.dev/search/docs/@hampfh/use-storage","bugs":{"url":"https://github.com/Hampfh/use-storage/issues","email":"hampus@hallkvi.st"},"dist":{"shasum":"68111d312936bf38deb7de0bcc5c8c090454ca05","tarball":"https://registry.npmjs.org/@hampfh/use-storage/-/use-storage-1.1.9.tgz","fileCount":37,"integrity":"sha512-niXJQd9GmNMXkj79xNFCpFzr+jhGZgKVxtNu9Kx0z7xasVHLuJ7F9v9nCHNcmW4ENJW4adb1qZKAMYGal4XUHA==","signatures":[{"sig":"MEQCIAmzorqoXkic+qzNJsSDpNvEF//Y5oYJPRK+mO/rNbuwAiAa3NvNv+yfBf0skvr8Z5CerThlRzXCC++NKsmP1Re9eQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47897},"main":"./lib/index.js","types":"./lib/index.d.ts","gitHead":"6cbd829d81ef5a66be802362da247ea4a48d658d","private":false,"scripts":{"bump":"npm version","build":"rm -rf lib && babel src --out-dir lib --extensions \".ts,.tsx\" --copy-files && tsc --emitDeclarationOnly --outDir lib"},"_npmUser":{"name":"hampfh","email":"hampus@hallkvi.st"},"repository":{"url":"git+https://github.com/Hampfh/use-storage.git","type":"git"},"_npmVersion":"10.2.1","description":"Typed persistency storage with reactivity","directories":{},"_nodeVersion":"18.17.0","dependencies":{"reselect":"^5.0.1","@babel/cli":"^7.14.8","typescript":"^5.3.3","@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","react":"^18.2.0","@types/react":"^18.2.45","react-native":"0.72.6","@reduxjs/toolkit":"^2.0.1","@haul-bundler/cli":"^0.23.0","metro-react-native-babel-preset":"^0.77.0","@react-native-async-storage/async-storage":"^1.21.0"},"peerDependencies":{"zod":"^3","react":"^17 || ^18","@reduxjs/toolkit":"^2","@react-native-async-storage/async-storage":"^1"},"peerDependenciesMeta":{"@react-native-async-storage/async-storage":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/use-storage_1.1.9_1704741167564_0.5260272140109776","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.11":{"name":"@hampfh/use-storage","version":"1.1.11","keywords":["react","hooks","react-hooks","typescript","persistency","storage","reactive"],"author":{"url":"https://hallkvi.st","name":"Hampus Hallkvist","email":"hampus@hallkvi.st"},"license":"Apache-2.0","_id":"@hampfh/use-storage@1.1.11","maintainers":[{"name":"hampfh","email":"hampus@hallkvi.st"}],"homepage":"https://tsdocs.dev/search/docs/@hampfh/use-storage","bugs":{"url":"https://github.com/Hampfh/use-storage/issues","email":"hampus@hallkvi.st"},"dist":{"shasum":"d75985e63dfe7ea4f99c4e8f4acc15868df6bd77","tarball":"https://registry.npmjs.org/@hampfh/use-storage/-/use-storage-1.1.11.tgz","fileCount":38,"integrity":"sha512-zPTbUPVIzYBkIoHAL40ib8uVFZbaFsj7g3JpHlXl3+4gnp79TyUit7Okh/0M8v106mylScywtp/5uYlkQ0UKuw==","signatures":[{"sig":"MEQCIGy8iFuyX/1az1iNe/waM6oKQlpOQDdU0UPFq6CnI6c7AiBtDNRFkzU1Qn5tPJNqze3P7LwseF0XmSvptLDU/z6IBA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":63398},"main":"./lib/index.js","types":"./lib/index.d.ts","gitHead":"d3cce12c6c17a55821749a5ae8e1dc49e9944c89","private":false,"scripts":{"bump":"npm version","build":"rm -rf lib && babel src --out-dir lib --extensions \".ts,.tsx\" --copy-files && tsc --emitDeclarationOnly --outDir lib"},"_npmUser":{"name":"hampfh","email":"hampus@hallkvi.st"},"repository":{"url":"git+https://github.com/Hampfh/use-storage.git","type":"git"},"_npmVersion":"10.2.1","description":"Typed persistency storage with reactivity","directories":{},"_nodeVersion":"18.17.0","dependencies":{"reselect":"^5.0.1","@babel/cli":"^7.14.8","typescript":"^5.3.3","@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","react":"^18.2.0","@types/react":"^18.2.45","react-native":"0.72.6","@reduxjs/toolkit":"^2.0.1","@haul-bundler/cli":"^0.23.0","metro-react-native-babel-preset":"^0.77.0","@react-native-async-storage/async-storage":"^1.21.0"},"peerDependencies":{"zod":"^3","react":"^17 || ^18","@reduxjs/toolkit":"^2","@react-native-async-storage/async-storage":"^1"},"peerDependenciesMeta":{"@react-native-async-storage/async-storage":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/use-storage_1.1.11_1705177783852_0.18826961799317043","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.12":{"name":"@hampfh/use-storage","version":"1.1.12","keywords":["react","hooks","react-hooks","typescript","persistency","storage","reactive"],"author":{"url":"https://hallkvi.st","name":"Hampus Hallkvist","email":"hampus@hallkvi.st"},"license":"Apache-2.0","_id":"@hampfh/use-storage@1.1.12","maintainers":[{"name":"hampfh","email":"hampus@hallkvi.st"}],"homepage":"https://tsdocs.dev/search/docs/@hampfh/use-storage","bugs":{"url":"https://github.com/Hampfh/use-storage/issues","email":"hampus@hallkvi.st"},"dist":{"shasum":"65ef312b40261e0f1023ab54a0eb7ab38a682fc0","tarball":"https://registry.npmjs.org/@hampfh/use-storage/-/use-storage-1.1.12.tgz","fileCount":36,"integrity":"sha512-FYvNKu8Ubq5hAeNOf/JAofyqXZAhCwC1bZ9rPJ/x0Y/2Ea4fYISS4c0Az/lgWsbqy94JWbYbFMIVuWdePUQ74A==","signatures":[{"sig":"MEUCIAwiZ/16PCUw8ehoOUaUnlvWITZTnwz0Fl2PHyTVg3V3AiEA3FKJYmns8zBm4Sj4XJ9PU0Qf+NOO9yV4o7SymzbqcCs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48520},"main":"./lib/index.js","types":"./lib/index.d.ts","gitHead":"bd7f97278b679a6055243dc397295783d7a3f8d7","private":false,"scripts":{"bump":"npm version","build":"rm -rf lib && babel src --out-dir lib --extensions \".ts,.tsx\" --copy-files && tsc --emitDeclarationOnly --outDir lib"},"_npmUser":{"name":"hampfh","email":"hampus@hallkvi.st"},"repository":{"url":"git+https://github.com/Hampfh/use-storage.git","type":"git"},"_npmVersion":"10.2.1","description":"Typed persistency storage with reactivity","directories":{},"_nodeVersion":"18.17.0","dependencies":{"reselect":"^5.0.1","@babel/cli":"^7.14.8","typescript":"^5.3.3","@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","react":"^18.2.0","@types/react":"^18.2.45","react-native":"0.72.6","@reduxjs/toolkit":"^2.0.1","@haul-bundler/cli":"^0.23.0","metro-react-native-babel-preset":"^0.77.0","@react-native-async-storage/async-storage":"^1.21.0"},"peerDependencies":{"zod":"^3","react":"^17 || ^18","@reduxjs/toolkit":"^2","@react-native-async-storage/async-storage":"^1"},"peerDependenciesMeta":{"@react-native-async-storage/async-storage":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/use-storage_1.1.12_1705699076683_0.08972371069296736","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.13":{"name":"@hampfh/use-storage","version":"1.1.13","keywords":["react","hooks","react-hooks","typescript","persistency","storage","reactive"],"author":{"url":"https://hallkvi.st","name":"Hampus Hallkvist","email":"hampus@hallkvi.st"},"license":"Apache-2.0","_id":"@hampfh/use-storage@1.1.13","maintainers":[{"name":"hampfh","email":"hampus@hallkvi.st"}],"homepage":"https://tsdocs.dev/search/docs/@hampfh/use-storage","bugs":{"url":"https://github.com/Hampfh/use-storage/issues","email":"hampus@hallkvi.st"},"dist":{"shasum":"bd154b381d8acb3300c7f2ec2ba3cf8b3e2ce41b","tarball":"https://registry.npmjs.org/@hampfh/use-storage/-/use-storage-1.1.13.tgz","fileCount":36,"integrity":"sha512-2QLnznmS40dDFnW1TsCMNXU5uUIS/pu/Dkx5QVUZXvLbnBSTWUm19l1ev/R1gFOtZ6Fdan88Pw171gYzi+pBtg==","signatures":[{"sig":"MEUCIDHYZsqBCsxiFUMLheEfD//5PkYG4o00tjcrDtrS0lXNAiEA9jNmPFCYLayLC6L4oqKQrOGfOMD+9BAuA0xaxTbd/t8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":48568},"main":"./lib/index.js","types":"./lib/index.d.ts","gitHead":"b6b78c9bf2202a935dc5144364f640554f422157","private":false,"scripts":{"bump":"npm version","build":"rm -rf lib && babel src --out-dir lib --extensions \".ts,.tsx\" --copy-files && tsc --emitDeclarationOnly --outDir lib"},"_npmUser":{"name":"hampfh","email":"hampus@hallkvi.st"},"repository":{"url":"git+https://github.com/Hampfh/use-storage.git","type":"git"},"_npmVersion":"10.2.1","description":"Typed persistency storage with reactivity","directories":{},"_nodeVersion":"18.17.0","dependencies":{"reselect":"^5.0.1","@babel/cli":"^7.14.8","typescript":"^5.3.3","@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","react":"^18.2.0","@types/react":"^18.2.45","react-native":"0.72.6","@reduxjs/toolkit":"^2.0.1","@haul-bundler/cli":"^0.23.0","metro-react-native-babel-preset":"^0.77.0","@react-native-async-storage/async-storage":"^1.21.0"},"peerDependencies":{"zod":"^3","react":"^17 || ^18","@reduxjs/toolkit":"^2","@react-native-async-storage/async-storage":"^1"},"peerDependenciesMeta":{"@react-native-async-storage/async-storage":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/use-storage_1.1.13_1705778379371_0.7990951709527208","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.2.5":{"name":"@hampfh/use-storage","version":"1.2.5","keywords":["react","hooks","react-hooks","typescript","persistency","storage","reactive"],"author":{"url":"https://hallkvi.st","name":"Hampus Hallkvist","email":"hampus@hallkvi.st"},"license":"Apache-2.0","_id":"@hampfh/use-storage@1.2.5","maintainers":[{"name":"hampfh","email":"hampus@hallkvi.st"}],"homepage":"https://tsdocs.dev/search/docs/@hampfh/use-storage","bugs":{"url":"https://github.com/Hampfh/use-storage/issues","email":"hampus@hallkvi.st"},"dist":{"shasum":"8a6a032b7aaeb6bc58a4aed45875c65eff4be6b3","tarball":"https://registry.npmjs.org/@hampfh/use-storage/-/use-storage-1.2.5.tgz","fileCount":36,"integrity":"sha512-Dc+jkfzc6Kw1kVOGEvQWgXrRATOnXNXbvu9eg4exUJ6kH8WU2c4vFYQS10dpHdjQcpQM3nGgIs+O+Xjep7J7Rw==","signatures":[{"sig":"MEQCIAjiv7XVljm78kHQzZ6G/keYYkP+8WhwMtpArsInKKWfAiBsBBSdVUuvbB5CQOMd5LwLBULVQMQ/jcQPRCAnHPRbyA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":49411},"main":"./lib/src/index.js","types":"./lib/src/index.d.ts","gitHead":"37bd638ec8dd74c63b2a56b16c62bed20cfadca2","private":false,"scripts":{"bump":"npm version","test":"vitest","build":"rm -rf lib && babel src --out-dir lib/src --extensions \".ts,.tsx\" --copy-files && tsc --emitDeclarationOnly --outDir lib","test:coverage":"vitest --coverage"},"_npmUser":{"name":"hampfh","email":"hampus@hallkvi.st"},"repository":{"url":"git+https://github.com/Hampfh/use-storage.git","type":"git"},"_npmVersion":"10.2.1","description":"Typed persistency storage with reactivity","directories":{},"_nodeVersion":"18.17.0","dependencies":{"reselect":"^5.0.1","@babel/cli":"^7.14.8","typescript":"^5.3.3","@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","jsdom":"^24.0.0","react":"^18.2.0","vitest":"^1.2.1","react-dom":"^18.2.0","@types/react":"^18.2.45","react-native":"0.72.6","@reduxjs/toolkit":"^2.0.1","@haul-bundler/cli":"^0.23.0","@vitest/coverage-v8":"^1.2.1","@testing-library/react":"^14.1.2","metro-react-native-babel-preset":"^0.77.0","@react-native-async-storage/async-storage":"^1.21.0"},"peerDependencies":{"zod":"^3","react":"^17 || ^18","@reduxjs/toolkit":"^2","@react-native-async-storage/async-storage":"^1"},"peerDependenciesMeta":{"@react-native-async-storage/async-storage":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/use-storage_1.2.5_1705951978037_0.2738380012386914","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.2.6":{"name":"@hampfh/use-storage","version":"1.2.6","keywords":["react","hooks","react-hooks","typescript","persistency","storage","reactive"],"author":{"url":"https://hallkvi.st","name":"Hampus Hallkvist","email":"hampus@hallkvi.st"},"license":"Apache-2.0","_id":"@hampfh/use-storage@1.2.6","maintainers":[{"name":"hampfh","email":"hampus@hallkvi.st"}],"homepage":"https://tsdocs.dev/search/docs/@hampfh/use-storage","bugs":{"url":"https://github.com/Hampfh/use-storage/issues","email":"hampus@hallkvi.st"},"dist":{"shasum":"1f0644e964e92ab054c95f725036f21f56fbb4a5","tarball":"https://registry.npmjs.org/@hampfh/use-storage/-/use-storage-1.2.6.tgz","fileCount":36,"integrity":"sha512-652G9VvJp4zCzHKPTb15VTwu7YiTRaOf1yHDQfF5gqQK6shP1LhfAUayC8u19IyVsFrGCcL2ildUI0JMPGatrw==","signatures":[{"sig":"MEYCIQCIwy3WhyQWmlp97Rh5hDkhlP2qpxL0Xb3e6iqTkvFJWgIhAOlv6lNb8mjpxFleciVvEzEaijBGU4zn126AoQy0oL4/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":49396},"main":"./lib/src/index.js","types":"./lib/src/index.d.ts","gitHead":"51928e6d33578be5909d77266360aaa91d50b0da","private":false,"scripts":{"bump":"npm version","test":"vitest","build":"rm -rf lib && babel src --out-dir lib/src --extensions \".ts,.tsx\" --copy-files && tsc --emitDeclarationOnly --outDir lib","test:coverage":"vitest --coverage"},"_npmUser":{"name":"hampfh","email":"hampus@hallkvi.st"},"repository":{"url":"git+https://github.com/Hampfh/use-storage.git","type":"git"},"_npmVersion":"10.2.1","description":"Typed persistency storage with reactivity","directories":{},"_nodeVersion":"18.17.0","dependencies":{"reselect":"^5.0.1","@babel/cli":"^7.14.8","typescript":"^5.3.3","@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/preset-react":"^7.14.5"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^3.22.4","jsdom":"^24.0.0","react":"^18.2.0","vitest":"^1.2.1","react-dom":"^18.2.0","@types/react":"^18.2.45","react-native":"0.72.6","@reduxjs/toolkit":"^2.0.1","@haul-bundler/cli":"^0.23.0","@vitest/coverage-v8":"^1.2.1","@testing-library/react":"^14.1.2","metro-react-native-babel-preset":"^0.77.0","@react-native-async-storage/async-storage":"^1.21.0"},"peerDependencies":{"zod":"^3","react":"^17 || ^18","@reduxjs/toolkit":"^2","@react-native-async-storage/async-storage":"^1"},"peerDependenciesMeta":{"@react-native-async-storage/async-storage":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/use-storage_1.2.6_1706004134924_0.09061859494647928","host":"s3://npm-registry-packages"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."}},"time":{"created":"2024-01-06T22:08:12.765Z","modified":"2026-01-25T10:03:21.925Z","1.1.1":"2024-01-05T13:32:15.421Z","1.0.0":"2024-01-06T22:08:13.050Z","1.0.1":"2024-01-06T22:36:47.693Z","1.0.2":"2024-01-06T22:44:31.201Z","1.1.0":"2024-01-07T11:15:13.362Z","1.1.2":"2024-01-07T11:33:03.640Z","1.1.3":"2024-01-07T12:32:22.792Z","1.1.4":"2024-01-07T20:51:43.583Z","1.1.5":"2024-01-07T20:55:33.117Z","1.1.6":"2024-01-08T17:29:47.555Z","1.1.7":"2024-01-08T17:31:36.983Z","1.1.8":"2024-01-08T17:42:06.352Z","1.1.9":"2024-01-08T19:12:47.750Z","1.1.11":"2024-01-13T20:29:44.025Z","1.1.12":"2024-01-19T21:17:56.846Z","1.1.13":"2024-01-20T19:19:39.573Z","1.2.0":"2024-01-22T18:58:39.062Z","1.2.1":"2024-01-22T18:59:59.665Z","1.2.2":"2024-01-22T19:02:37.436Z","1.2.4":"2024-01-22T19:25:51.861Z","1.2.5":"2024-01-22T19:32:58.231Z","1.2.6":"2024-01-23T10:02:15.070Z"},"bugs":{"url":"https://github.com/Hampfh/use-storage/issues","email":"hampus@hallkvi.st"},"author":{"url":"https://hallkvi.st","name":"Hampus Hallkvist","email":"hampus@hallkvi.st"},"license":"Apache-2.0","homepage":"https://tsdocs.dev/search/docs/@hampfh/use-storage","keywords":["react","hooks","react-hooks","typescript","persistency","storage","reactive"],"repository":{"url":"git+https://github.com/Hampfh/use-storage.git","type":"git"},"description":"Typed persistency storage with reactivity","maintainers":[{"name":"hampfh","email":"hampus@hallkvi.st"}],"readme":"# useStorage\n\n[![Vitest](https://github.com/Hampfh/use-storage/actions/workflows/tests.yml/badge.svg)](https://github.com/Hampfh/use-storage/actions/workflows/tests.yml)\n\nStore fully typed reactive persistent state, supports both react & react native. useStorage wraps both async storage and redux toolkit allowing the benefits of reactivness and persistency at the same time.\n\n- [⚙️ Setup](#setup)\n  - [Install peer dependencies](#install-peer-dependencies)\n  - [Initialize storage](#initialize-storage)\n- [🚀 Usage](#usage)\n  - [Read value](#read-value)\n  - [Write value](#write-value)\n  - [Action on load](#action-on-load)\n- [📚 API](#api)\n  - [Storage](#storage)\n  - [useStorage](#usestorage-hook)\n  - [readStorageFile](#readstoragefile)\n  - [writeStorageFile](#writestoragefile)\n  - [clearStorageFile](#clearstoragefile)\n  - [StorageProvider](#storageprovider)\n- [🔌 Adapters](#adapters)\n  - [AsyncStorage (react native)](#asyncstorage-react-native)\n  - [LocalStorageAdapter (web)](#localstorageadapter-web)\n\n## Setup\n\n### Install peer dependencies\n\n```\nyarn add zod @reduxjs/toolkit\n```\n\nDefine your persistent files at the beginning of your app and wrap the application in the provider\n\n### Initialize storage\n\nMake sure that wherever you declare this, it is imported in your entrypoint.\n\n```tsx\nimport { Storage, StorageProvider } from \"@hampfh/use-storage\"\n\nconst schema = {\n  file: z.object({\n    version: z.string(),\n    clickCount: z.number()\n  }).default({\n    version: \"1.0.0\",\n    clickCount: 0\n  })\n  file2: // other file schema ...\n}\n\nStorage({\n  schema\n})\n\ndeclare module \"@hampfh/use-storage\" {\n  interface Register {\n    schema: typeof schema\n  }\n}\n```\n\n## Usage\n\n### Read value\n\n```tsx\nfunction Component() {\n  const { value } = useStorage(\"file\")\n\n  function onClick() {\n    console.log(value)\n  }\n\n  return <Button onPress={onClick} />\n}\n```\n\n### Write value\n\n```tsx\nfunction Component() {\n  const { value, merge, write } = useStorage(\"file\")\n\n  async function incrementClick() {\n    await merge({\n      clickCount: value.clickCount + 1\n    })\n  }\n\n  async function set() {\n    await write({\n      version: \"1.0.0\",\n      clickCount: 0\n    })\n  }\n\n  return (\n    <>\n      <Text>{value}</Text>\n      <Button title=\"Increment\" onPress={incrementClick} />\n      <Button title=\"Set\" onPress={set}>\n    </>\n  )\n}\n```\n\n### Action on load\n\nThere are scenarios where you want to perform an action when a component is loaded. Due to the nature of async storages a value cannot be provided instantly and will therefore provide undefined. In such case we can wait for the file to be instantiated\n\n```tsx\nfunction Component() {\n  const { initialized, value, write } = useStorage(\"file\")\n\n  useEffect(() => {\n    if (initialized) {\n      // Now value is loaded, do something with it\n      console.log(value)\n    }\n  }, [initialized])\n\n  return null\n}\n```\n\n## API\n\n### Storage\n\nThe storage function is used to initialize the library and all typings. Call this function at the beginning of your app.\n\n```ts\nStorage({\n  schema: Record<string, z.ZodObject>,\n  adapter: StorageAdapter\n})\n```\n\n### useStorage hook\n\n```tsx\nconst { initialized, value, write, merge, clear } = useStorage(file: string)\n```\n\nThis hook like any other must be called within a component and requires [StorageProvider](#storageprovider) to be wrapped around.\n\n#### Fields\n\n**initialized**: value indicating if the state has been loaded or not  \n**value**: The selected file's state  \n**write**: Set the selected file's state, must provide entire file state  \n**merge**: Merge the selected file's state, can provide partial file state  \n**clear**: Clear the selected file's state, sets to default state\n\n### readStorageFile\n\n```ts\nreadStorageFile(file: string): Promise<file_state | null>\n```\n\n### writeStorageFile\n\n```ts\nwriteStorageFile(file: string, newState: sub_state): Promise<boolean>\n```\n\n### clearStorageFile\n\n```ts\nclearStorageFile(file: string): Promise<void>\n```\n\n### StorageProvider\n\nProvider component for useStorage, must be wrapped around the entire app.\n\n## Adapters\n\nAdapters are provide the logic for reading and writing to storeage. Any new adapter can easily be added by implementing the interface. As of now there are three adapters, one for react native, react and the a BaseAdapter. The BaseAdapter is used unless anything else is provided. The BaseAdapter is **NOT** suited for production and won't persist state.\n\n### AsyncStorage (react native)\n\n#### Peer dependency\n\nTo use this adapter install the async storage library for react native\n\n```\nyarn add @react-native-async-storage/async-storage\n```\n\n```ts\nimport { AsyncStorageAdapter } from \"@hampfh/use-storage\"\n\nStorage({\n  schema,\n  adapter: new AsyncStorageAdapter()\n})\n```\n\n### LocalStorageAdapter (web)\n\n```ts\nimport { LocalStorageAdapter } from \"@hampfh/use-storage\"\n\nStorage({\n  schema,\n  adapter: new LocalStorageAdapter({\n    prefix?: string // Prefix each key with the provided string\n    base64?: boolean // Encode values when writing to local storage\n  })\n})\n```\n","readmeFilename":"README.md"}