{"_id":"@blocdigital/uselocalstorage","_rev":"16-82a49dd6ade09633f439fa9323c507f2","name":"@blocdigital/uselocalstorage","dist-tags":{"latest":"0.4.3"},"versions":{"0.1.0":{"name":"@blocdigital/uselocalstorage","version":"0.1.0","keywords":["react","css modules"],"author":{"name":"Bloc Digital","email":"web@bloc.digital"},"license":"MIT","_id":"@blocdigital/uselocalstorage@0.1.0","maintainers":[{"name":"nadakbar","email":"nadeemakbar786@gmail.com"},{"name":"acol","email":"acol248@gmail.com"},{"name":"link2twenty","email":"AndrewB05@gmail.com"}],"homepage":"https://github.com/bloc-digital/uselocalstorage/blob/main/README.md","bugs":{"url":"https://github.com/bloc-digital/uselocalstorage/issues"},"dist":{"shasum":"b38f0e700518b0e8e9dbed1c8a58df94ee0727d1","tarball":"https://registry.npmjs.org/@blocdigital/uselocalstorage/-/uselocalstorage-0.1.0.tgz","fileCount":12,"integrity":"sha512-2PH4mCDWTyLQJHMYJx7VKNO4uVxpD4q0Okdfi6KhLLOeH8Awcs/Q8del301f4xFV7eFTdC7gY6VE9nhiLlpmXw==","signatures":[{"sig":"MEYCIQDdZJmINybgpYLSdioEHIfgOANIV/W2Vy96moa8wsDesQIhANvs9bWRdqmG4I9MXZdDk6w6XFy3XHBuzamq2Aqj/yk8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18610},"jest":{"testEnvironment":"jsdom"},"main":"dist/cjs/index.js","type":"module","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/cjs/index.js"}},"./package.json":"./package.json"},"gitHead":"c5add3dc84997fc1c5869a01b40e5ca12df7739a","scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","test":"jest","build":"tsc -p tsconfig.json && tsc -p tsconfig-cjs.json && tsc -p tsconfig-types.json","preview":"vite preview"},"_npmUser":{"name":"link2twenty","email":"AndrewB05@gmail.com"},"repository":{"url":"git+https://github.com/bloc-digital/uselocalstorage.git","type":"git"},"_npmVersion":"10.2.0","description":"Handle interaction with local and session storage.","directories":{},"_nodeVersion":"18.18.0","dependencies":{"react":"^18.2.0","react-dom":"^18.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^4.4.5","eslint":"^8.45.0","prettier":"^3.0.3","babel-jest":"^29.7.0","typescript":"^5.0.2","@babel/core":"^7.23.2","@types/jest":"^29.5.6","@types/react":"^18.2.15","@types/react-dom":"^18.2.7","@babel/preset-env":"^7.23.2","eslint-plugin-react":"^7.33.2","@testing-library/react":"^14.0.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","jest-environment-jsdom":"^29.7.0","eslint-config-react-app":"^7.0.1","@babel/preset-typescript":"^7.23.2","@vitejs/plugin-react-swc":"^3.3.2","@typescript-eslint/parser":"^6.8.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-refresh":"^0.4.3","@typescript-eslint/eslint-plugin":"^6.8.0"},"_npmOperationalInternal":{"tmp":"tmp/uselocalstorage_0.1.0_1697731048286_0.27075696161758933","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"@blocdigital/uselocalstorage","version":"0.1.1","keywords":["react","react hook","shared state","persistent","localStorage","sessionStorage","crosstab","helpers"],"author":{"name":"Bloc Digital","email":"web@bloc.digital"},"license":"MIT","_id":"@blocdigital/uselocalstorage@0.1.1","maintainers":[{"name":"nadakbar","email":"nadeemakbar786@gmail.com"},{"name":"acol","email":"acol248@gmail.com"},{"name":"link2twenty","email":"AndrewB05@gmail.com"}],"homepage":"https://github.com/bloc-digital/uselocalstorage/blob/main/README.md","bugs":{"url":"https://github.com/bloc-digital/uselocalstorage/issues"},"dist":{"shasum":"1478983989d0babb8cfe8a60076bc9845c07271a","tarball":"https://registry.npmjs.org/@blocdigital/uselocalstorage/-/uselocalstorage-0.1.1.tgz","fileCount":12,"integrity":"sha512-tfax4nR0T/ruRNckR3dw8xmqbgtLKgKJhsEZUmMhP8Gp5Zl+4dt8sWhg/nTTyPdQ+sHDPS1j/Y3nAU4wNIQDgA==","signatures":[{"sig":"MEQCIHvV3yJxi+8LPNrOKk4/ZjEjRjEXF5Xtcp+Tb4XsvDfsAiBKxPKE6yFj68YvLwFb7YCIqtxUGuSBujhh1uagSSe22w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18720},"jest":{"testEnvironment":"jsdom"},"main":"dist/cjs/index.js","type":"module","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/cjs/index.js"}},"./package.json":"./package.json"},"gitHead":"7ebe25ac70895f194f03b1b3f616b7fde0abd5aa","scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","test":"jest","build":"tsc -p tsconfig.json && tsc -p tsconfig-cjs.json && tsc -p tsconfig-types.json","preview":"vite preview"},"_npmUser":{"name":"link2twenty","email":"AndrewB05@gmail.com"},"repository":{"url":"git+https://github.com/bloc-digital/uselocalstorage.git","type":"git"},"_npmVersion":"10.2.0","description":"Handle interaction with local and session storage.","directories":{},"_nodeVersion":"18.18.0","dependencies":{"react":"^18.2.0","react-dom":"^18.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^4.4.5","eslint":"^8.45.0","prettier":"^3.0.3","babel-jest":"^29.7.0","typescript":"^5.0.2","@babel/core":"^7.23.2","@types/jest":"^29.5.6","@types/react":"^18.2.15","@types/react-dom":"^18.2.7","@babel/preset-env":"^7.23.2","eslint-plugin-react":"^7.33.2","@testing-library/react":"^14.0.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","jest-environment-jsdom":"^29.7.0","eslint-config-react-app":"^7.0.1","@babel/preset-typescript":"^7.23.2","@vitejs/plugin-react-swc":"^3.3.2","@typescript-eslint/parser":"^6.8.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-refresh":"^0.4.3","@typescript-eslint/eslint-plugin":"^6.8.0"},"_npmOperationalInternal":{"tmp":"tmp/uselocalstorage_0.1.1_1697789810246_0.27204291952229953","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"@blocdigital/uselocalstorage","version":"0.1.2","keywords":["react","react hook","shared state","persistent","localStorage","sessionStorage","crosstab","helpers"],"author":{"name":"Bloc Digital","email":"web@bloc.digital"},"license":"MIT","_id":"@blocdigital/uselocalstorage@0.1.2","maintainers":[{"name":"hwickham","email":"harrywickham9876@gmail.com"},{"name":"nadakbar","email":"nadeem.akbar@bloc.digital"},{"name":"acol","email":"acol248@gmail.com"},{"name":"link2twenty","email":"AndrewB05@gmail.com"}],"homepage":"https://github.com/bloc-digital/uselocalstorage/blob/main/README.md","bugs":{"url":"https://github.com/bloc-digital/uselocalstorage/issues"},"dist":{"shasum":"47dd3c136b61e37c12c4cc9ad838fe0332ac8eb1","tarball":"https://registry.npmjs.org/@blocdigital/uselocalstorage/-/uselocalstorage-0.1.2.tgz","fileCount":9,"integrity":"sha512-WD1zwlqRiBUE12RfoxNIpY21VzLD+BLt2/j92j0ZcQI17J1SkCCWY8uvHv4bWq8sRvBM+8Dsb9gv0Wyz037OUA==","signatures":[{"sig":"MEUCIEDnC7FyDE3UCS35ydPOOyr8ddQK6UfLAgV4u83q5J9kAiEA8vrGQQmTq/3rWoP2ciEW2Ue+pH6XindJhw5paBi4/xE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18567},"jest":{"testEnvironment":"jsdom"},"main":"dist/cjs/index.js","type":"module","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/cjs/index.js"}},"./package.json":"./package.json"},"gitHead":"ca5cee98d43a77f965d6af19cd2333c0005c71d8","scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","test":"jest","build":"tsc -p tsconfig.json && tsc -p tsconfig-cjs.json && tsc -p tsconfig-types.json","preview":"vite preview"},"_npmUser":{"name":"link2twenty","email":"AndrewB05@gmail.com"},"repository":{"url":"git+https://github.com/bloc-digital/uselocalstorage.git","type":"git"},"_npmVersion":"10.2.0","description":"Handle interaction with local and session storage.","directories":{},"_nodeVersion":"18.18.0","dependencies":{"react":"^18.2.0","react-dom":"^18.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^4.4.5","eslint":"^8.45.0","prettier":"^3.0.3","babel-jest":"^29.7.0","typescript":"^5.0.2","@babel/core":"^7.23.2","@types/jest":"^29.5.6","@types/react":"^18.2.15","@types/react-dom":"^18.2.7","@babel/preset-env":"^7.23.2","eslint-plugin-react":"^7.33.2","@testing-library/react":"^14.0.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","jest-environment-jsdom":"^29.7.0","eslint-config-react-app":"^7.0.1","@babel/preset-typescript":"^7.23.2","@vitejs/plugin-react-swc":"^3.3.2","@typescript-eslint/parser":"^6.8.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-refresh":"^0.4.3","@typescript-eslint/eslint-plugin":"^6.8.0"},"_npmOperationalInternal":{"tmp":"tmp/uselocalstorage_0.1.2_1697804551523_0.9223895298170814","host":"s3://npm-registry-packages"}},"0.1.3":{"name":"@blocdigital/uselocalstorage","version":"0.1.3","keywords":["react","react hook","shared state","persistent","localStorage","sessionStorage","crosstab","helpers"],"author":{"name":"Bloc Digital","email":"web@bloc.digital"},"license":"MIT","_id":"@blocdigital/uselocalstorage@0.1.3","maintainers":[{"name":"hwickham","email":"harrywickham9876@gmail.com"},{"name":"nadakbar","email":"nadeem.akbar@bloc.digital"},{"name":"acol","email":"acol248@gmail.com"},{"name":"link2twenty","email":"AndrewB05@gmail.com"}],"homepage":"https://github.com/bloc-digital/uselocalstorage/blob/main/README.md","bugs":{"url":"https://github.com/bloc-digital/uselocalstorage/issues"},"dist":{"shasum":"454c64701e9564f2f315447f80d2b9a99506d5f2","tarball":"https://registry.npmjs.org/@blocdigital/uselocalstorage/-/uselocalstorage-0.1.3.tgz","fileCount":9,"integrity":"sha512-6bxTlZp7ufRlZTIz3UGE+zWO4lIWgyitx0SRGVk6vgI9ek6xN3E5slsBlR6hUFKjh+WFY0Qed0MNzg2w2QTeeQ==","signatures":[{"sig":"MEUCIGvLihdFLejvzsv09zkNRZAQFyqauNbTuez80qcK6rsUAiEAi8KSa5SjDUXgbV/9EtwKKFjqO3etYYfB3hDZjsLnj5Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18511},"jest":{"testEnvironment":"jsdom"},"main":"dist/cjs/index.js","type":"module","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/cjs/index.js"}},"./package.json":"./package.json"},"gitHead":"20ed61ebd31a5c1ab5b165671176bee88866f4f1","scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","test":"jest","build":"tsc -p tsconfig.json && tsc -p tsconfig-cjs.json && tsc -p tsconfig-types.json","preview":"vite preview"},"_npmUser":{"name":"link2twenty","email":"AndrewB05@gmail.com"},"repository":{"url":"git+https://github.com/bloc-digital/uselocalstorage.git","type":"git"},"_npmVersion":"10.2.0","description":"Handle interaction with local and session storage.","directories":{},"_nodeVersion":"20.12.0","dependencies":{"react":"^18.2.0","react-dom":"^18.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.8","eslint":"^8.57.0","prettier":"^3.2.5","babel-jest":"^29.7.0","typescript":"^5.4.4","@babel/core":"^7.24.4","@types/jest":"^29.5.12","@types/react":"^18.2.74","@types/react-dom":"^18.2.24","@babel/preset-env":"^7.24.4","eslint-plugin-react":"^7.34.1","@testing-library/react":"^14.2.2","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","jest-environment-jsdom":"^29.7.0","eslint-config-react-app":"^7.0.1","@babel/preset-typescript":"^7.24.1","@vitejs/plugin-react-swc":"^3.6.0","@typescript-eslint/parser":"^7.5.0","eslint-plugin-react-hooks":"^4.6.0","eslint-plugin-react-refresh":"^0.4.6","@typescript-eslint/eslint-plugin":"^7.5.0"},"_npmOperationalInternal":{"tmp":"tmp/uselocalstorage_0.1.3_1712307513227_0.11001764295413152","host":"s3://npm-registry-packages"}},"0.1.4":{"name":"@blocdigital/uselocalstorage","version":"0.1.4","keywords":["react","react hook","shared state","persistent","localStorage","sessionStorage","crosstab","helpers"],"author":{"name":"Bloc Digital","email":"web@bloc.digital"},"license":"MIT","_id":"@blocdigital/uselocalstorage@0.1.4","maintainers":[{"name":"hwickham","email":"harrywickham9876@gmail.com"},{"name":"nadakbar","email":"nadeem.akbar@bloc.digital"},{"name":"acol","email":"acol248@gmail.com"},{"name":"link2twenty","email":"AndrewB05@gmail.com"}],"homepage":"https://github.com/bloc-digital/uselocalstorage/blob/main/README.md","bugs":{"url":"https://github.com/bloc-digital/uselocalstorage/issues"},"dist":{"shasum":"41724c52a8374d3505642b6789fbb83d7acd408a","tarball":"https://registry.npmjs.org/@blocdigital/uselocalstorage/-/uselocalstorage-0.1.4.tgz","fileCount":9,"integrity":"sha512-fExJHsm38I5kcquD1xNVFjeE4PaGrPTiz5oWnfPos8hy9mkSRvMfrk9S1VkjeIJmbujdzogBCQo7HfXaEfFIGA==","signatures":[{"sig":"MEUCIBbAZsvOp2Rwz5v3EVBv4X3znBHxh7qDmHWNZ7Pvai7BAiEAgDS88bfonzqOcRzAdcmfx2a7sf7NF9NU9i7Z8IHfbBY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18527},"jest":{"testEnvironment":"jsdom"},"main":"dist/cjs/index.js","type":"module","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/cjs/index.js"}},"./package.json":"./package.json"},"gitHead":"c2047411a0e18118f0b84a41e7727e120fb8a723","scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","test":"jest","build":"tsc -p tsconfig.json && tsc -p tsconfig-cjs.json && tsc -p tsconfig-types.json","preview":"vite preview"},"_npmUser":{"name":"link2twenty","email":"AndrewB05@gmail.com"},"repository":{"url":"git+https://github.com/bloc-digital/uselocalstorage.git","type":"git"},"_npmVersion":"10.5.2","description":"Handle interaction with local and session storage.","directories":{},"_nodeVersion":"20.13.1","dependencies":{"react":"^18.2.0","react-dom":"^18.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.2.12","eslint":"^8.57.0","prettier":"^3.3.0","babel-jest":"^29.7.0","typescript":"^5.4.5","@babel/core":"^7.24.6","@types/jest":"^29.5.12","@types/react":"^18.3.3","@types/react-dom":"^18.3.0","@babel/preset-env":"^7.24.6","eslint-plugin-react":"^7.34.2","@testing-library/react":"^15.0.7","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","jest-environment-jsdom":"^29.7.0","eslint-config-react-app":"^7.0.1","@babel/preset-typescript":"^7.24.6","@vitejs/plugin-react-swc":"^3.7.0","@typescript-eslint/parser":"^7.11.0","eslint-plugin-react-hooks":"^4.6.2","eslint-plugin-react-refresh":"^0.4.7","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/uselocalstorage_0.1.4_1717410343692_0.15354294811830083","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"@blocdigital/uselocalstorage","version":"0.2.0","keywords":["react","react hook","shared state","persistent","localStorage","sessionStorage","crosstab","helpers"],"author":{"name":"Bloc Digital","email":"web@bloc.digital"},"license":"MIT","_id":"@blocdigital/uselocalstorage@0.2.0","maintainers":[{"name":"hwickham","email":"harrywickham9876@gmail.com"},{"name":"nadakbar","email":"nadeem.akbar@bloc.digital"},{"name":"acol","email":"acol248@gmail.com"},{"name":"link2twenty","email":"AndrewB05@gmail.com"}],"homepage":"https://github.com/bloc-digital/uselocalstorage/blob/main/README.md","bugs":{"url":"https://github.com/bloc-digital/uselocalstorage/issues"},"dist":{"shasum":"2b6b51704583bab64345d51b1aa403643cd66780","tarball":"https://registry.npmjs.org/@blocdigital/uselocalstorage/-/uselocalstorage-0.2.0.tgz","fileCount":9,"integrity":"sha512-snT8WPy0TDUwOfF5ZbXlClHakq29G4zAlTBObX+2qfg+zwxQLCKJsVs3KgWcLOFevImJcKBDK907UcMRZVoKYQ==","signatures":[{"sig":"MEUCIHZu65YaTyUoC13FNEhjjvWMENGhvX0sVZoLa1FGhKHoAiEAlWTdbTE1pJ6x4htYwq2XzzQZ+65nvqxrlgdTnib1pcA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20066},"jest":{"testEnvironment":"jsdom"},"main":"dist/cjs/index.js","type":"module","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/cjs/index.js"}},"./package.json":"./package.json"},"gitHead":"0bf05fa1192f2c5ab06bc5074d364833cd340a23","scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","test":"jest","build":"tsc -p tsconfig.json && tsc -p tsconfig-cjs.json && tsc -p tsconfig-types.json","preview":"vite preview"},"_npmUser":{"name":"link2twenty","email":"AndrewB05@gmail.com"},"repository":{"url":"git+https://github.com/bloc-digital/uselocalstorage.git","type":"git"},"_npmVersion":"10.8.2","description":"Handle interaction with local and session storage.","directories":{},"_nodeVersion":"20.15.1","dependencies":{"react":"^18.2.0","react-dom":"^18.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.3.4","eslint":"^8.57.0","prettier":"^3.3.3","babel-jest":"^29.7.0","typescript":"^5.5.3","@babel/core":"^7.24.9","@types/jest":"^29.5.12","@types/react":"^18.3.3","@types/react-dom":"^18.3.0","@babel/preset-env":"^7.24.8","eslint-plugin-react":"^7.34.4","@testing-library/react":"^16.0.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","jest-environment-jsdom":"^29.7.0","eslint-config-react-app":"^7.0.1","@babel/preset-typescript":"^7.24.7","@vitejs/plugin-react-swc":"^3.7.0","@typescript-eslint/parser":"^7.16.1","eslint-plugin-react-hooks":"^4.6.2","eslint-plugin-react-refresh":"^0.4.8","@typescript-eslint/eslint-plugin":"^7.16.1"},"_npmOperationalInternal":{"tmp":"tmp/uselocalstorage_0.2.0_1721289700869_0.3912409454441237","host":"s3://npm-registry-packages"}},"0.2.1":{"name":"@blocdigital/uselocalstorage","version":"0.2.1","keywords":["react","react hook","shared state","persistent","localStorage","sessionStorage","crosstab","helpers"],"author":{"name":"Bloc Digital","email":"web@bloc.digital"},"license":"MIT","_id":"@blocdigital/uselocalstorage@0.2.1","maintainers":[{"name":"hwickham","email":"harrywickham9876@gmail.com"},{"name":"nadakbar","email":"nadeem.akbar@bloc.digital"},{"name":"acol","email":"acol248@gmail.com"},{"name":"link2twenty","email":"AndrewB05@gmail.com"}],"homepage":"https://github.com/bloc-digital/uselocalstorage/blob/main/README.md","bugs":{"url":"https://github.com/bloc-digital/uselocalstorage/issues"},"dist":{"shasum":"a426218ffef0d9e2c5417df6c2c2f660db9b1c48","tarball":"https://registry.npmjs.org/@blocdigital/uselocalstorage/-/uselocalstorage-0.2.1.tgz","fileCount":9,"integrity":"sha512-/Dbd7scpaa+Jtu0MdBYvd77xABKmSvpVGj4drrz2j41I8BSLBXsaTrkrP1RG52HzXMl4YMu7u2LTgc1GIoz3pg==","signatures":[{"sig":"MEYCIQDFjEodoDIYnjirjkX0ci/StFrlkIc7Tk2jRlLdkxLWKgIhALROB4YJIihNVSWacJrsNV2ytTuk7kseTGx6QqXNZzTs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22373},"jest":{"testEnvironment":"jsdom"},"main":"dist/cjs/index.js","type":"module","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/cjs/index.js"}},"./package.json":"./package.json"},"gitHead":"1a4e62dba136fb7310889a81429387e95b867827","scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","test":"jest","build":"tsc -p tsconfig.json && tsc -p tsconfig-cjs.json && tsc -p tsconfig-types.json","preview":"vite preview"},"_npmUser":{"name":"link2twenty","email":"AndrewB05@gmail.com"},"repository":{"url":"git+https://github.com/bloc-digital/uselocalstorage.git","type":"git"},"_npmVersion":"10.8.2","description":"Handle interaction with local and session storage.","directories":{},"_nodeVersion":"20.15.1","dependencies":{"react":"^18.2.0","react-dom":"^18.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.3.4","eslint":"^8.57.0","prettier":"^3.3.3","babel-jest":"^29.7.0","typescript":"^5.5.3","@babel/core":"^7.24.9","@types/jest":"^29.5.12","@types/react":"^18.3.3","@types/react-dom":"^18.3.0","@babel/preset-env":"^7.24.8","eslint-plugin-react":"^7.34.4","@testing-library/react":"^16.0.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","jest-environment-jsdom":"^29.7.0","eslint-config-react-app":"^7.0.1","@babel/preset-typescript":"^7.24.7","@vitejs/plugin-react-swc":"^3.7.0","@typescript-eslint/parser":"^7.16.1","eslint-plugin-react-hooks":"^4.6.2","eslint-plugin-react-refresh":"^0.4.8","@typescript-eslint/eslint-plugin":"^7.16.1"},"_npmOperationalInternal":{"tmp":"tmp/uselocalstorage_0.2.1_1721384475809_0.7659734725048937","host":"s3://npm-registry-packages"}},"0.2.2":{"name":"@blocdigital/uselocalstorage","version":"0.2.2","keywords":["react","react hook","shared state","persistent","localStorage","sessionStorage","crosstab","helpers"],"author":{"name":"Bloc Digital","email":"web@bloc.digital"},"license":"MIT","_id":"@blocdigital/uselocalstorage@0.2.2","maintainers":[{"name":"hwickham","email":"harrywickham9876@gmail.com"},{"name":"nadakbar","email":"nadeem.akbar@bloc.digital"},{"name":"acol","email":"acol248@gmail.com"},{"name":"link2twenty","email":"AndrewB05@gmail.com"}],"homepage":"https://github.com/bloc-digital/uselocalstorage/blob/main/README.md","bugs":{"url":"https://github.com/bloc-digital/uselocalstorage/issues"},"dist":{"shasum":"e0bb191b1e3aff544a46b60eeecaabd5f32ed112","tarball":"https://registry.npmjs.org/@blocdigital/uselocalstorage/-/uselocalstorage-0.2.2.tgz","fileCount":9,"integrity":"sha512-SdiiX81vfc463JE03fSJHupG8zVIquevChbUiJU4gpmwWJMhkS48Qe7e7wM11tgnYO8fDT4rH4/4FPVetjZJoA==","signatures":[{"sig":"MEUCIGeJjOetmSJqQuJVuRqolWLuEsVyU3FqsPRD3rnk8/5RAiEAgqZSxk8GRGQ9P+VNQ0qEavjiLQRjmdJm9bW/ZclUAY0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22165},"jest":{"testEnvironment":"jsdom"},"main":"dist/cjs/index.js","type":"module","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/cjs/index.js"}},"./package.json":"./package.json"},"gitHead":"4ad4f114242d3aadfe6093ffa058b2aafd052909","scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","test":"jest","build":"tsc -p tsconfig.json && tsc -p tsconfig-cjs.json && tsc -p tsconfig-types.json","preview":"vite preview"},"_npmUser":{"name":"link2twenty","email":"AndrewB05@gmail.com"},"repository":{"url":"git+https://github.com/bloc-digital/uselocalstorage.git","type":"git"},"_npmVersion":"10.8.2","description":"Handle interaction with local and session storage.","directories":{},"_nodeVersion":"20.15.1","dependencies":{"react":"^18.2.0","react-dom":"^18.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^5.3.4","eslint":"^8.57.0","prettier":"^3.3.3","babel-jest":"^29.7.0","typescript":"^5.5.3","@babel/core":"^7.24.9","@types/jest":"^29.5.12","@types/react":"^18.3.3","@types/react-dom":"^18.3.0","@babel/preset-env":"^7.24.8","eslint-plugin-react":"^7.34.4","@testing-library/react":"^16.0.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","jest-environment-jsdom":"^29.7.0","eslint-config-react-app":"^7.0.1","@babel/preset-typescript":"^7.24.7","@vitejs/plugin-react-swc":"^3.7.0","@typescript-eslint/parser":"^7.16.1","eslint-plugin-react-hooks":"^4.6.2","eslint-plugin-react-refresh":"^0.4.8","@typescript-eslint/eslint-plugin":"^7.16.1"},"_npmOperationalInternal":{"tmp":"tmp/uselocalstorage_0.2.2_1721385754426_0.8791281107683973","host":"s3://npm-registry-packages"}},"0.2.3":{"name":"@blocdigital/uselocalstorage","version":"0.2.3","keywords":["react","react hook","shared state","persistent","localStorage","sessionStorage","crosstab","helpers"],"author":{"name":"Bloc Digital","email":"web@bloc.digital"},"license":"MIT","_id":"@blocdigital/uselocalstorage@0.2.3","maintainers":[{"name":"hwickham","email":"harrywickham9876@gmail.com"},{"name":"link2twenty","email":"AndrewB05@gmail.com"},{"name":"acol","email":"acol248@gmail.com"},{"name":"nadakbar","email":"nadeem.akbar@bloc.digital"}],"homepage":"https://github.com/bloc-digital/uselocalstorage/blob/main/README.md","bugs":{"url":"https://github.com/bloc-digital/uselocalstorage/issues"},"dist":{"shasum":"75a53ac2145c56b0b2409526094d99f872cb91cb","tarball":"https://registry.npmjs.org/@blocdigital/uselocalstorage/-/uselocalstorage-0.2.3.tgz","fileCount":9,"integrity":"sha512-r18+GsWAxJITF/E4jbdVwDEgoW104OucOYs4Kz6VbBB83zey1bGLeRI6VGx9dSSG7yJEay3mb+RpqbuTz69S/Q==","signatures":[{"sig":"MEQCIHqF1/LReMTJnbq2tk/3DhlfOKhp9lvjouLYxltN7wCXAiANuyj0kleQu/5nSWTz8IYqbhXuZNhk/DMi5ruNKnsxQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22139},"jest":{"testEnvironment":"jsdom"},"main":"dist/cjs/index.js","type":"module","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/cjs/index.js"}},"./package.json":"./package.json"},"gitHead":"b9437e7911047d3d089d5982b19554a10aa77e64","scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","test":"jest","build":"tsc -p tsconfig.json && tsc -p tsconfig-cjs.json && tsc -p tsconfig-types.json","preview":"vite preview"},"_npmUser":{"name":"link2twenty","email":"AndrewB05@gmail.com"},"repository":{"url":"git+https://github.com/bloc-digital/uselocalstorage.git","type":"git"},"_npmVersion":"11.0.0","description":"Handle interaction with local and session storage.","directories":{},"_nodeVersion":"20.18.3","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^6.2.0","eslint":"^9.21.0","globals":"^16.0.0","prettier":"^3.5.2","babel-jest":"^29.7.0","typescript":"^5.7.3","@babel/core":"^7.26.9","@types/jest":"^29.5.14","@types/react":"^19.0.10","@types/react-dom":"^19.0.4","@babel/preset-env":"^7.26.9","@testing-library/react":"^16.2.0","eslint-config-prettier":"^10.0.2","eslint-plugin-prettier":"^5.2.3","jest-environment-jsdom":"^29.7.0","@babel/preset-typescript":"^7.26.0","@vitejs/plugin-react-swc":"^3.8.0","@typescript-eslint/parser":"^8.25.0","eslint-plugin-react-hooks":"^5.1.0","eslint-plugin-react-refresh":"^0.4.19","@typescript-eslint/eslint-plugin":"^8.25.0"},"peerDependencies":{"react":"^17 || ^18 || ^19","react-dom":"^17 || ^18 || ^19"},"_npmOperationalInternal":{"tmp":"tmp/uselocalstorage_0.2.3_1740737171584_0.2846050174438848","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@blocdigital/uselocalstorage","version":"0.3.0","keywords":["react","react hook","shared state","persistent","localStorage","sessionStorage","crosstab","helpers"],"author":{"name":"Bloc Digital","email":"web@bloc.digital"},"license":"MIT","_id":"@blocdigital/uselocalstorage@0.3.0","maintainers":[{"name":"hwickham","email":"harrywickham9876@gmail.com"},{"name":"link2twenty","email":"AndrewB05@gmail.com"},{"name":"acol","email":"acol248@gmail.com"},{"name":"nadakbar","email":"nadeem.akbar@bloc.digital"}],"homepage":"https://github.com/bloc-digital/uselocalstorage/blob/main/README.md","bugs":{"url":"https://github.com/bloc-digital/uselocalstorage/issues"},"dist":{"shasum":"4fa9ad8ca7a051abb190722672cc73c7a2def571","tarball":"https://registry.npmjs.org/@blocdigital/uselocalstorage/-/uselocalstorage-0.3.0.tgz","fileCount":9,"integrity":"sha512-7onyZ3rV9pqIuYHJHeNIm38zjz/Bs3tGUXnNYpiWS/uzuNmyWXKvDwp9Rgt5L85Ous4JdUfpHv16Nb6NEk+XPQ==","signatures":[{"sig":"MEYCIQDXBFnIWMmuKApL3JIHp/Pyv7+ksnrJGrMRg0xtzLhLlQIhALrNOmz4J2R0OB1mqV/78fiQh2uBxC7qD/BYVs+Ank9x","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24130},"jest":{"testEnvironment":"jsdom"},"main":"dist/cjs/index.js","type":"module","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/cjs/index.js"}},"./package.json":"./package.json"},"gitHead":"34e414e9c4a1eb1ea2007e71592926e11484f85f","scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","test":"jest","build":"tsc -p tsconfig.json && tsc -p tsconfig-cjs.json && tsc -p tsconfig-types.json","preview":"vite preview"},"_npmUser":{"name":"link2twenty","email":"AndrewB05@gmail.com"},"repository":{"url":"git+https://github.com/bloc-digital/uselocalstorage.git","type":"git"},"_npmVersion":"11.2.0","description":"Handle interaction with local and session storage.","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^6.2.6","eslint":"^9.24.0","globals":"^16.0.0","prettier":"^3.5.3","babel-jest":"^29.7.0","typescript":"^5.8.3","@babel/core":"^7.26.10","@types/jest":"^29.5.14","@types/react":"^19.1.0","@types/react-dom":"^19.1.2","@babel/preset-env":"^7.26.9","typescript-eslint":"^8.29.1","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.2.6","jest-environment-jsdom":"^29.7.0","@babel/preset-typescript":"^7.27.0","@vitejs/plugin-react-swc":"^3.8.1","@typescript-eslint/parser":"^8.29.1","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.19","@typescript-eslint/eslint-plugin":"^8.29.1"},"peerDependencies":{"react":"^17 || ^18 || ^19","react-dom":"^17 || ^18 || ^19"},"_npmOperationalInternal":{"tmp":"tmp/uselocalstorage_0.3.0_1744362497308_0.66866948856245","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@blocdigital/uselocalstorage","version":"0.3.1","keywords":["react","react hook","shared state","persistent","localStorage","sessionStorage","crosstab","helpers"],"author":{"name":"Bloc Digital","email":"web@bloc.digital"},"license":"MIT","_id":"@blocdigital/uselocalstorage@0.3.1","maintainers":[{"name":"hwickham","email":"harrywickham9876@gmail.com"},{"name":"link2twenty","email":"AndrewB05@gmail.com"},{"name":"acol","email":"acol248@gmail.com"},{"name":"nadakbar","email":"nadeem.akbar@bloc.digital"}],"homepage":"https://github.com/bloc-digital/uselocalstorage/blob/main/README.md","bugs":{"url":"https://github.com/bloc-digital/uselocalstorage/issues"},"dist":{"shasum":"e2362144c55d53242619a161d390787ba2c5f832","tarball":"https://registry.npmjs.org/@blocdigital/uselocalstorage/-/uselocalstorage-0.3.1.tgz","fileCount":9,"integrity":"sha512-5Y8lCqhY5Ujs0MDb9avNDEHp21TyU9h4Ekvivg8SuV+wxroGbXTN300z1F/rWc10BxyWLQ+VsPPre2f5v2PvYQ==","signatures":[{"sig":"MEUCIQCm9+WEIreF3dxzoiqB28rx4c/NqQMOwL6jHviU58Ip3wIgVnocvvIQDEPQtQEn6Fm+rL0x64347v6pR9QU2OJjAFc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24737},"jest":{"testEnvironment":"jsdom"},"main":"dist/cjs/index.js","type":"module","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/cjs/index.js"}},"./package.json":"./package.json"},"gitHead":"0e5f9c762e28ca6d29b240b96cf9b2f2d8aec46d","scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","test":"jest","build":"tsc -p tsconfig.json && tsc -p tsconfig-cjs.json && tsc -p tsconfig-types.json","preview":"vite preview"},"_npmUser":{"name":"link2twenty","email":"AndrewB05@gmail.com"},"repository":{"url":"git+https://github.com/bloc-digital/uselocalstorage.git","type":"git"},"_npmVersion":"11.3.0","description":"Handle interaction with local and session storage.","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","vite":"^6.2.6","eslint":"^9.24.0","globals":"^16.0.0","prettier":"^3.5.3","babel-jest":"^29.7.0","typescript":"^5.8.3","@babel/core":"^7.26.10","@types/jest":"^29.5.14","@types/react":"^19.1.0","@types/react-dom":"^19.1.2","@babel/preset-env":"^7.26.9","typescript-eslint":"^8.29.1","@testing-library/react":"^16.3.0","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.2.6","jest-environment-jsdom":"^29.7.0","@babel/preset-typescript":"^7.27.0","@vitejs/plugin-react-swc":"^3.8.1","@typescript-eslint/parser":"^8.29.1","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.4.19","@typescript-eslint/eslint-plugin":"^8.29.1"},"peerDependencies":{"react":"^17 || ^18 || ^19","react-dom":"^17 || ^18 || ^19"},"_npmOperationalInternal":{"tmp":"tmp/uselocalstorage_0.3.1_1744379996131_0.022139854239582757","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@blocdigital/uselocalstorage","version":"0.4.0","keywords":["react","react hook","shared state","persistent","localStorage","sessionStorage","crosstab","helpers"],"author":{"name":"Bloc Digital","email":"web@bloc.digital"},"license":"MIT","_id":"@blocdigital/uselocalstorage@0.4.0","maintainers":[{"name":"hwickham","email":"harrywickham9876@gmail.com"},{"name":"link2twenty","email":"AndrewB05@gmail.com"},{"name":"acol","email":"acol248@gmail.com"},{"name":"nadakbar","email":"nadeem.akbar@bloc.digital"}],"homepage":"https://github.com/bloc-digital/uselocalstorage/blob/main/README.md","bugs":{"url":"https://github.com/bloc-digital/uselocalstorage/issues"},"dist":{"shasum":"cc1f933ebfd86c21e8ffa03d31abae06bcf25b86","tarball":"https://registry.npmjs.org/@blocdigital/uselocalstorage/-/uselocalstorage-0.4.0.tgz","fileCount":15,"integrity":"sha512-EBFDBDSZCsDId0mjX7uTCoiEDaBf86CHcP3YCPAHLCy+A3lO+S8tJYh05kLiiO0mskf5UFxuZvephJZ8yvVXbQ==","signatures":[{"sig":"MEYCIQDYz3DrCzxcrMTsRaqGndbo4aCUcPPsH2OJWw/3gLbvDAIhAOIe5TS9IkFXvyjEdH5EfdTqu5gxyRjLetaR7tI183CV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32152},"jest":{"testEnvironment":"jsdom"},"main":"dist/cjs/index.js","type":"module","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/cjs/index.js"}},"./package.json":"./package.json"},"gitHead":"b28f6675d5e5b496c030d2c7033ab135082d6f05","scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","test":"jest","build":"tsc -p tsconfig.json && tsc -p tsconfig-cjs.json && tsc -p tsconfig-types.json","preview":"vite preview"},"_npmUser":{"name":"link2twenty","email":"AndrewB05@gmail.com"},"repository":{"url":"git+https://github.com/bloc-digital/uselocalstorage.git","type":"git"},"_npmVersion":"11.10.1","description":"Handle interaction with local and session storage.","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.4.2","vite":"^7.3.3","eslint":"^9.39.4","globals":"^17.6.0","prettier":"^3.8.3","babel-jest":"^30.4.1","typescript":"^6.0.3","@babel/core":"^7.29.0","@types/jest":"^30.0.0","@types/react":"^19.2.14","@types/react-dom":"^19.2.3","@babel/preset-env":"^7.29.5","typescript-eslint":"^8.59.4","@testing-library/react":"^16.3.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","jest-environment-jsdom":"^30.4.1","@babel/preset-typescript":"^7.28.5","@vitejs/plugin-react-swc":"^3.11.0","@typescript-eslint/parser":"^8.59.4","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.5.2","@typescript-eslint/eslint-plugin":"^8.59.4"},"peerDependencies":{"react":"^17 || ^18 || ^19","react-dom":"^17 || ^18 || ^19"},"_npmOperationalInternal":{"tmp":"tmp/uselocalstorage_0.4.0_1779188922009_0.8814651251820844","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@blocdigital/uselocalstorage","version":"0.4.1","keywords":["react","react hook","shared state","persistent","localStorage","sessionStorage","crosstab","helpers"],"author":{"name":"Bloc Digital","email":"web@bloc.digital"},"license":"MIT","_id":"@blocdigital/uselocalstorage@0.4.1","maintainers":[{"name":"hwickham","email":"harrywickham9876@gmail.com"},{"name":"link2twenty","email":"AndrewB05@gmail.com"},{"name":"acol","email":"acol248@gmail.com"},{"name":"nadakbar","email":"nadeem.akbar@bloc.digital"}],"homepage":"https://github.com/bloc-digital/uselocalstorage/blob/main/README.md","bugs":{"url":"https://github.com/bloc-digital/uselocalstorage/issues"},"dist":{"shasum":"438d487155733f0192520ac04080a15a1e830e57","tarball":"https://registry.npmjs.org/@blocdigital/uselocalstorage/-/uselocalstorage-0.4.1.tgz","fileCount":15,"integrity":"sha512-I6zZ/1C+S8koJqo6y5fx0kzwKd5yAECG0+iocEORtYZDPDM+grPrykbcoxNxSqyceo9M3EO1jKZY9A2Vq8Iojg==","signatures":[{"sig":"MEYCIQDB74BrGYPM61ohQ1UfMuHOlTaA7BdR+Mjrh+u2tEWtegIhALnkfxe5oOl79GAv8bVevAR/Ey1lekPA6TzjhATOAnjW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37963},"jest":{"testEnvironment":"jsdom"},"main":"dist/cjs/index.js","type":"module","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/cjs/index.js"}},"./package.json":"./package.json"},"gitHead":"45943fea9ee62960d7b06664c0d5bfeec7e26784","scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","test":"jest","build":"tsc -p tsconfig.json && tsc -p tsconfig-cjs.json && tsc -p tsconfig-types.json","preview":"vite preview"},"_npmUser":{"name":"link2twenty","email":"AndrewB05@gmail.com"},"repository":{"url":"git+https://github.com/bloc-digital/uselocalstorage.git","type":"git"},"_npmVersion":"11.10.1","description":"Handle interaction with local and session storage.","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.4.2","vite":"^7.3.3","eslint":"^9.39.4","globals":"^17.6.0","prettier":"^3.8.3","babel-jest":"^30.4.1","typescript":"^6.0.3","@babel/core":"^7.29.0","@types/jest":"^30.0.0","@types/react":"^19.2.14","@types/react-dom":"^19.2.3","@babel/preset-env":"^7.29.5","typescript-eslint":"^8.59.4","@testing-library/react":"^16.3.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","jest-environment-jsdom":"^30.4.1","@babel/preset-typescript":"^7.28.5","@vitejs/plugin-react-swc":"^3.11.0","@typescript-eslint/parser":"^8.59.4","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.5.2","@typescript-eslint/eslint-plugin":"^8.59.4"},"peerDependencies":{"react":"^17 || ^18 || ^19","react-dom":"^17 || ^18 || ^19"},"_npmOperationalInternal":{"tmp":"tmp/uselocalstorage_0.4.1_1779197108459_0.6014281810997484","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@blocdigital/uselocalstorage","version":"0.4.2","keywords":["react","react hook","shared state","persistent","localStorage","sessionStorage","crosstab","helpers"],"author":{"name":"Bloc Digital","email":"web@bloc.digital"},"license":"MIT","_id":"@blocdigital/uselocalstorage@0.4.2","maintainers":[{"name":"hwickham","email":"harrywickham9876@gmail.com"},{"name":"link2twenty","email":"AndrewB05@gmail.com"},{"name":"acol","email":"acol248@gmail.com"},{"name":"nadakbar","email":"nadeem.akbar@bloc.digital"}],"homepage":"https://github.com/bloc-digital/uselocalstorage/blob/main/README.md","bugs":{"url":"https://github.com/bloc-digital/uselocalstorage/issues"},"dist":{"shasum":"5eed605c794fc72aa4a569bed9eff2de7d996989","tarball":"https://registry.npmjs.org/@blocdigital/uselocalstorage/-/uselocalstorage-0.4.2.tgz","fileCount":15,"integrity":"sha512-wVZsZLEViw9uKpjEci8Y6psvSzt2UlFpTWqaDDvKgM01CQx4I70PsomKdKEv5eYW0z/zep0zPLCqMRjcU7n8Pg==","signatures":[{"sig":"MEYCIQDjSIviC8DgxNScJKaidxX6Bs9IBBeEMRzwRwR9fXNKzQIhAM7j4Up2bKFgazUFOEbOE8uP0rU90u4s/t1Q8ERIMWV8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37996},"jest":{"testEnvironment":"jsdom"},"main":"dist/cjs/index.js","type":"module","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/cjs/index.js"}},"./package.json":"./package.json"},"gitHead":"ee3f797145c50e796687c12f5f5f1327cd343238","scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","test":"jest","build":"tsc -p tsconfig.json && tsc -p tsconfig-cjs.json && tsc -p tsconfig-types.json","preview":"vite preview"},"_npmUser":{"name":"link2twenty","email":"AndrewB05@gmail.com"},"repository":{"url":"git+https://github.com/bloc-digital/uselocalstorage.git","type":"git"},"_npmVersion":"11.10.1","description":"Handle interaction with local and session storage.","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.4.2","vite":"^7.3.3","eslint":"^9.39.4","globals":"^17.6.0","prettier":"^3.8.3","babel-jest":"^30.4.1","typescript":"^6.0.3","@babel/core":"^7.29.0","@types/jest":"^30.0.0","@types/react":"^19.2.14","@types/react-dom":"^19.2.3","@babel/preset-env":"^7.29.5","typescript-eslint":"^8.59.4","@testing-library/react":"^16.3.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","jest-environment-jsdom":"^30.4.1","@babel/preset-typescript":"^7.28.5","@vitejs/plugin-react-swc":"^3.11.0","@typescript-eslint/parser":"^8.59.4","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.5.2","@typescript-eslint/eslint-plugin":"^8.59.4"},"peerDependencies":{"react":"^17 || ^18 || ^19","react-dom":"^17 || ^18 || ^19"},"_npmOperationalInternal":{"tmp":"tmp/uselocalstorage_0.4.2_1779280114588_0.3979859627778777","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@blocdigital/uselocalstorage","type":"module","version":"0.4.3","description":"Handle interaction with local and session storage.","author":{"name":"Bloc Digital","email":"web@bloc.digital"},"license":"MIT","keywords":["react","react hook","shared state","persistent","localStorage","sessionStorage","crosstab","helpers"],"repository":{"type":"git","url":"git+https://github.com/bloc-digital/uselocalstorage.git"},"homepage":"https://github.com/bloc-digital/uselocalstorage/blob/main/README.md","jest":{"testEnvironment":"jsdom","moduleNameMapper":{"^(\\.{1,2}/.*)\\.js$":"$1"}},"types":"dist/types/index.d.ts","main":"dist/cjs/index.js","module":"dist/esm/index.js","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/cjs/index.js"}},"./package.json":"./package.json"},"scripts":{"dev":"vite","build":"tsc -p tsconfig.json && tsc -p tsconfig-cjs.json && tsc -p tsconfig-types.json","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","preview":"vite preview","test":"jest","postversion":"git push && git push --tags"},"devDependencies":{"@babel/core":"^7.29.0","@babel/preset-env":"^7.29.5","@babel/preset-typescript":"^7.28.5","@testing-library/react":"^16.3.2","@types/jest":"^30.0.0","@types/react":"^19.2.14","@types/react-dom":"^19.2.3","@typescript-eslint/eslint-plugin":"^8.59.4","@typescript-eslint/parser":"^8.59.4","@vitejs/plugin-react-swc":"^3.11.0","babel-jest":"^30.4.1","eslint":"^9.39.4","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-refresh":"^0.5.2","globals":"^17.6.0","jest":"^30.4.2","jest-environment-jsdom":"^30.4.1","prettier":"^3.8.3","typescript":"^6.0.3","typescript-eslint":"^8.59.4","vite":"^7.3.3"},"bugs":{"url":"https://github.com/bloc-digital/uselocalstorage/issues"},"peerDependencies":{"react":"^17 || ^18 || ^19","react-dom":"^17 || ^18 || ^19"},"gitHead":"c839bee44ede037daf6c5f2c685c97c9cb2716df","_id":"@blocdigital/uselocalstorage@0.4.3","_nodeVersion":"24.18.0","_npmVersion":"12.0.1","dist":{"integrity":"sha512-a+vloFWfmyVdZdlC1yI0O57GNUn/Fofnj1REb67jIbiwZhuj23ojp5JxLeGnBJbwXIjBY7zokGY0NM1Laes31g==","shasum":"a7879ec52441d91bdb1514696faea589f7c24330","tarball":"https://registry.npmjs.org/@blocdigital/uselocalstorage/-/uselocalstorage-0.4.3.tgz","fileCount":15,"unpackedSize":38505,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCZCVpczNpUXKonSy1xA4PS5LRqtBKb96RxEqrF9IH1sgIgDFvKSlLwhbNjW/HaQtb65TAJ8YoRVEbhw7ISlzelVYY="}]},"_npmUser":{"name":"link2twenty","email":"AndrewB05@gmail.com"},"directories":{},"maintainers":[{"name":"hwickham","email":"harrywickham9876@gmail.com"},{"name":"link2twenty","email":"AndrewB05@gmail.com"},{"name":"acol","email":"acol248@gmail.com"},{"name":"nadakbar","email":"nadeem.akbar@bloc.digital"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/uselocalstorage_0.4.3_1785397613210_0.10549093265634224"},"_hasShrinkwrap":false}},"time":{"created":"2023-10-19T15:57:28.171Z","modified":"2026-07-30T07:46:53.609Z","0.1.0":"2023-10-19T15:57:28.507Z","0.1.1":"2023-10-20T08:16:50.450Z","0.1.2":"2023-10-20T12:22:31.679Z","0.1.3":"2024-04-05T08:58:33.398Z","0.1.4":"2024-06-03T10:25:43.833Z","0.2.0":"2024-07-18T08:01:41.010Z","0.2.1":"2024-07-19T10:21:15.958Z","0.2.2":"2024-07-19T10:42:34.584Z","0.2.3":"2025-02-28T10:06:11.750Z","0.3.0":"2025-04-11T09:08:17.500Z","0.3.1":"2025-04-11T13:59:56.318Z","0.4.0":"2026-05-19T11:08:42.233Z","0.4.1":"2026-05-19T13:25:08.592Z","0.4.2":"2026-05-20T12:28:34.734Z","0.4.3":"2026-07-30T07:46:53.359Z"},"bugs":{"url":"https://github.com/bloc-digital/uselocalstorage/issues"},"author":{"name":"Bloc Digital","email":"web@bloc.digital"},"license":"MIT","homepage":"https://github.com/bloc-digital/uselocalstorage/blob/main/README.md","keywords":["react","react hook","shared state","persistent","localStorage","sessionStorage","crosstab","helpers"],"repository":{"type":"git","url":"git+https://github.com/bloc-digital/uselocalstorage.git"},"description":"Handle interaction with local and session storage.","maintainers":[{"name":"hwickham","email":"harrywickham9876@gmail.com"},{"name":"link2twenty","email":"AndrewB05@gmail.com"},{"name":"acol","email":"acol248@gmail.com"},{"name":"nadakbar","email":"nadeem.akbar@bloc.digital"}],"readme":"# uselocalstorage\n\n> Handle interaction with local and session storage, including change notifications across tabs/windows.\n\n## Install\n\n```bash\nnpm install --save @blocdigital/uselocalstorage\n```\n\n## Usage\n\n### Recommended: Use StorageEvents Directly\n\n`StorageEvents` is the recommended API for new code.\n\n- It works in React and non-React code.\n- It provides explicit lifecycle control via `StorageEvents.acquire(...)` and `StorageEvents.release(...)`.\n- It is easier to compose into custom hooks and shared state utilities.\n\n### Legacy Hook: useLocalStorage\n\n`useLocalStorage(type)` is still supported, but it is considered legacy.\n\n- Prefer `StorageEvents` directly for new work.\n- Keep using the hook where you need backward compatibility.\n\n### Multiple Instances\n\nAll calls to `useLocalStorage('local')` share one internal channel, and all calls to `useLocalStorage('session')` share another.\n\nThis means:\n\n- Multiple components in the same tab receive the same storage events.\n- Different dependencies that bundle this package still talk to each other in the same browser context.\n- The shared channel is kept alive until the last consumer unmounts.\n\n### API\n\n| Function            | Params                                                                                                                                              | Description                                                                   |\n| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |\n| init                | \\<T\\>(key: `string`, data: `unknown`) => `void`                                                                                                     | Set the data, generally this should be an empty version of the data type      |\n| set                 | \\<T\\>(key: `string`, data: `unknown`) => `void`                                                                                                     | Set the data, generally you will need to get the data modify it then set it.  |\n| get                 | \\<T\\>(key: `string`) => T \\| `null`                                                                                                                 | Get the data.                                                                 |\n| remove              | (key: `string`) => `void`                                                                                                                           | Remove a specific key and its contents.                                       |\n| clear               | () => `void`                                                                                                                                        | Remove all items from storage                                                 |\n| addEventListener    | (event: `EventType`, callback: (event: CustomEvent) => `void`, { signal?: AbortSignal, once?: boolean }) => `void`                                  | Add an event listener for storage changes in this tab and other tabs/windows. |\n| on                  | (event: `EventType`, callback: (event: CustomEvent) => `void`, { signal?: AbortSignal, once?: boolean }) => `void`                                  | Alias for addEventListener                                                    |\n| onAny               | (callback: (event: CustomEvent<{ event: EventType; key?: string; value?: unknown }>) => `void`, { signal?: AbortSignal, once?: boolean }) => `void` | Listen to all storage events in one callback                                  |\n| removeEventListener | (event: `EventType`, callback: (event: CustomEvent) => `void`) => `void`                                                                            | Remove a specific event listener                                              |\n| off                 | (event: `EventType`, callback: (event: CustomEvent) => `void`) => `void`                                                                            | Alias for removeEventListener                                                 |\n| offAny              | (callback: (event: CustomEvent) => `void`) => `void`                                                                                                | Remove an any-event listener                                                  |\n\nEvent listeners fire for changes in the current tab and when storage is changed in another tab/window.\n\n### Legacy Hook Example (Supported)\n\n```tsx\nimport { useState, useEffect } from 'react';\n\n// Hooks\nimport useLocalStorage from '@blocdigital/uselocalstorage';\n\nconst Example = () => {\n  const [state, setState] = useState('hello world');\n\n  // initiate the session storage\n  const storage = useLocalStorage('session');\n\n  // initialise the storage state\n  useEffect(() => {\n    storage?.init('state', 'hello world');\n  }, [storage]);\n\n  // set up listeners to keep state in sync with storage in this tab and other tabs/windows\n  useEffect(() => {\n    const ac = new AbortController();\n\n    storage?.addEventListener(\n      'set',\n      (event) => {\n        const key = event.detail?.key;\n\n        if (key === 'state') {\n          setState(storage.get('state'));\n        }\n      },\n      { signal: ac.signal },\n    );\n\n    // remember to tidy up you event listeners\n    return () => ac.abort();\n  }, [storage]);\n\n  return (\n    <div>\n      <span>Current state: {state}</span>\n      <br />\n      <button onClick={() => storage?.set('state', String(Date.now()))}>Change State</button>\n    </div>\n  );\n};\n```\n\n### StorageEvents Directly (Recommended)\n\nUse `StorageEvents.acquire(...)` and `StorageEvents.release(...)` to share one channel per storage type and clean up correctly.\n\n```ts\nimport { StorageEvents } from '@blocdigital/uselocalstorage';\n\nconst storage = StorageEvents.acquire('local');\n\nif (!storage) {\n  throw new Error('StorageEvents can only be used in a browser environment.');\n}\n\nconst ac = new AbortController();\n\nstorage.addEventListener(\n  'set',\n  (event) => {\n    const { key, value } = event.detail;\n\n    if (key === 'counter') {\n      console.log('Counter updated:', value);\n    }\n  },\n  { signal: ac.signal },\n);\n\nstorage.init('counter', 0);\nstorage.set('counter', 1);\n\nconst current = storage.get<number>('counter');\nconsole.log('Current value:', current);\n\n// Cleanup when done\nac.abort();\nStorageEvents.release('local');\n```\n\n### Advanced React Pattern (Class First)\n\nThe class API can be composed into a powerful React hook using `useSyncExternalStore`.\n\n```ts\nimport { useCallback, useEffect, useMemo, useSyncExternalStore } from 'react';\nimport { StorageEvents } from '@blocdigital/uselocalstorage';\n\ntype StorageType = 'local' | 'session';\n\n/**\n * Subscribe to storage changes for a specific key.\n */\nconst subscribe = (storage: StorageEvents, key: string) => (callback: () => void) => {\n  const ac = new AbortController();\n  const fireCallback = (event: CustomEvent<{ key: string }>) => {\n    if (event.detail.key === key) callback();\n  };\n\n  storage.addEventListener('init', fireCallback, { signal: ac.signal });\n  storage.addEventListener('set', fireCallback, { signal: ac.signal });\n  storage.addEventListener('remove', fireCallback, { signal: ac.signal });\n  storage.addEventListener('clear', callback, { signal: ac.signal });\n\n  return () => ac.abort();\n};\n\n/**\n * A custom hook to manage state synchronized with localStorage or sessionStorage.\n */\nconst useStoreState = <T>(name: string, type: StorageType) => {\n  const storage = useMemo(() => StorageEvents.acquire(type), [type]);\n\n  useEffect(() => {\n    return () => {\n      if (storage) StorageEvents.release(type);\n    };\n  }, [storage, type]);\n\n  const state = useSyncExternalStore(\n    storage ? subscribe(storage, name) : () => () => undefined,\n    () => (storage ? storage.get<T>(name) : null),\n    () => null,\n  );\n\n  const setState = useCallback(\n    (value: T) => {\n      if (storage) storage.set(name, value);\n    },\n    [name, storage],\n  );\n\n  const clearState = useCallback(() => {\n    if (storage) storage.remove(name);\n  }, [name, storage]);\n\n  return [state, setState, clearState] as const;\n};\n\nexport const useLocalState = <T>(name: string) => useStoreState<T>(name, 'local');\nexport const useSessionState = <T>(name: string) => useStoreState<T>(name, 'session');\n```\n\nThis works in plain TypeScript/JavaScript in the browser and in React apps, and listeners also receive updates when storage changes in other tabs/windows.\n","readmeFilename":"README.md"}