{"_id":"@electrovir/local-storage-client","_rev":"5-e190738e79e5a730360ef25093137887","name":"@electrovir/local-storage-client","dist-tags":{"latest":"0.1.1"},"versions":{"0.0.0":{"name":"@electrovir/local-storage-client","version":"0.0.0","keywords":[],"author":"","license":"MIT","_id":"@electrovir/local-storage-client@0.0.0","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"dist":{"shasum":"7d68cf49371ec244d9fd4dc153e330199e6c85d9","tarball":"https://registry.npmjs.org/@electrovir/local-storage-client/-/local-storage-client-0.0.0.tgz","fileCount":3,"integrity":"sha512-BkcGNT+a61UcWYLFrLMDgRt/14DpqrXYWcExUDrpnTMbUdZV/kfDZu3rE3FL/4idfr5rx1f+goJNu/zKgXIiSw==","signatures":[{"sig":"MEUCIHh4Mss2JrZcW0KGR7xhC3NqGoteyAhFpIfR3m+/ePkmAiEAmC4bVuopPPX7eziAHniOIe+lBmoqnXlVn51dex3m2ds=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":792},"main":"index.js","type":"commonjs","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"_npmVersion":"11.4.2","description":"","directories":{},"_nodeVersion":"22.19.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/local-storage-client_0.0.0_1767625726200_0.6394779671402735","host":"s3://npm-registry-packages-npm-production"}},"0.0.1":{"name":"@electrovir/local-storage-client","version":"0.0.1","keywords":["localstorage","client","local","storage"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"@electrovir/local-storage-client@0.0.1","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/local-storage-client","bugs":{"url":"https://github.com/electrovir/local-storage-client/issues"},"dist":{"shasum":"6f9e079e4d542c2571ccfc9cc2881dee92599829","tarball":"https://registry.npmjs.org/@electrovir/local-storage-client/-/local-storage-client-0.0.1.tgz","fileCount":8,"integrity":"sha512-hoFl9PeQKHyAtc557CM5bCECIOE8sttPoNjC1Y8UH1Hx+HqeyfmxgXX8Gy2k9EAY0sIx3UivT8SsT0qrXVwqqg==","signatures":[{"sig":"MEUCIB0HQqA0KBzA0ZQysJPz3X4TdiwMJKgeIV0go0TAU7UrAiEA/5GZm0p/6ytJ94NouiQo2hHkGTrUGiXuqwTt7rRYVgs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19626},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"c1915310df473cfa3dacc1d80765939b93d06679","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && runstorm --names tests,spelling,format,docs,deps,lint \"npm run test:coverage\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:coverage":"npm test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/local-storage-client.git","type":"git"},"_npmVersion":"11.4.2","description":"An interface for storing JSON values into the LocalStorage API with type safety.","directories":{},"sideEffects":false,"_nodeVersion":"22.19.0","dependencies":{"@augment-vir/assert":"^31.57.3","@augment-vir/common":"^31.57.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"cspell":"^9.4.0","eslint":"^9.39.2","esbuild":"^0.27.2","typedoc":"^0.28.15","prettier":"~3.3.3","virmator":"^14.4.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@eslint/eslintrc":"^3.3.3","@web/test-runner":"^0.20.2","@augment-vir/test":"^31.57.3","npm-check-updates":"^19.2.0","typescript-eslint":"^8.51.0","dependency-cruiser":"^17.3.6","eslint-plugin-jsdoc":"^61.5.0","object-shape-tester":"^6.11.0","prettier-plugin-toml":"^2.0.6","eslint-plugin-sonarjs":"^3.0.5","eslint-plugin-unicorn":"^62.0.0","prettier-plugin-jsdoc":"^1.8.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@web/dev-server-esbuild":"^1.0.4","@stylistic/eslint-plugin":"^5.6.1","eslint-plugin-playwright":"^2.4.0","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.1.1","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.4.1","@web/test-runner-playwright":"^0.11.1","prettier-plugin-packagejson":"^2.5.20","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.3","@typescript-eslint/eslint-plugin":"^8.51.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.1.3","prettier-plugin-organize-imports":"^4.3.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^2.0.1"},"peerDependencies":{"object-shape-tester":">=6"},"_npmOperationalInternal":{"tmp":"tmp/local-storage-client_0.0.1_1767628849180_0.5154111024964474","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@electrovir/local-storage-client","version":"0.0.2","keywords":["localstorage","client","local","storage"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"@electrovir/local-storage-client@0.0.2","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/local-storage-client","bugs":{"url":"https://github.com/electrovir/local-storage-client/issues"},"dist":{"shasum":"ec9e1735b69eb60198bb5062dd59dc54cb430a53","tarball":"https://registry.npmjs.org/@electrovir/local-storage-client/-/local-storage-client-0.0.2.tgz","fileCount":8,"integrity":"sha512-m2cmo1Ee6Ebdw0O2nrmfuSzZZ4RfBkLBIgCqyMY+A5IRY43UQuLvW1TvlBzgQK2vjwcLBkBB+qmqyyjEzgaFzg==","signatures":[{"sig":"MEQCIF0fdcJx4YB8Nu/vbR+31g94HAFdbUqKyA7Oj9zARdudAiBP/U6YRkyszj/S/kcQNUbkKcuUGrxg10ROgOr9vLYN0w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19741},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"dc16d187c764a11e978cbd837408734b2a0d8cd9","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && runstorm --names tests,spelling,format,docs,deps,lint \"npm run test:coverage\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:coverage":"npm test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/local-storage-client.git","type":"git"},"_npmVersion":"11.4.2","description":"An interface for storing JSON values into the LocalStorage API with type safety.","directories":{},"sideEffects":false,"_nodeVersion":"22.19.0","dependencies":{"@augment-vir/assert":"^31.57.3","@augment-vir/common":"^31.57.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"cspell":"^9.4.0","eslint":"^9.39.2","esbuild":"^0.27.2","typedoc":"^0.28.15","prettier":"~3.3.3","virmator":"^14.4.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@eslint/eslintrc":"^3.3.3","@web/test-runner":"^0.20.2","@augment-vir/test":"^31.57.3","npm-check-updates":"^19.2.0","typescript-eslint":"^8.51.0","dependency-cruiser":"^17.3.6","eslint-plugin-jsdoc":"^61.5.0","object-shape-tester":"^6.11.0","prettier-plugin-toml":"^2.0.6","eslint-plugin-sonarjs":"^3.0.5","eslint-plugin-unicorn":"^62.0.0","prettier-plugin-jsdoc":"^1.8.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@web/dev-server-esbuild":"^1.0.4","@stylistic/eslint-plugin":"^5.6.1","eslint-plugin-playwright":"^2.4.0","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.1.1","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.4.1","@web/test-runner-playwright":"^0.11.1","prettier-plugin-packagejson":"^2.5.20","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.3","@typescript-eslint/eslint-plugin":"^8.51.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.1.3","prettier-plugin-organize-imports":"^4.3.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^2.0.1"},"peerDependencies":{"object-shape-tester":">=6"},"_npmOperationalInternal":{"tmp":"tmp/local-storage-client_0.0.2_1768063337736_0.4434806203362083","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@electrovir/local-storage-client","version":"0.1.0","keywords":["localstorage","client","local","storage"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"@electrovir/local-storage-client@0.1.0","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/local-storage-client","bugs":{"url":"https://github.com/electrovir/local-storage-client/issues"},"dist":{"shasum":"a25db2496b42e6ee82e1aa6089005a90f5ddd973","tarball":"https://registry.npmjs.org/@electrovir/local-storage-client/-/local-storage-client-0.1.0.tgz","fileCount":8,"integrity":"sha512-leis+ZY9U5WlvBu7SWe8rA1+I9WtmxZKjMjO0Ndnl55CN63GRdLIpayWtxj/W208l6rG2A2iTyF9OgOu+Lzjgw==","signatures":[{"sig":"MEQCIDhU5vFw8N4JAg/0ADOsrBc9zU4GWI/+780KAaPNyjJuAiBUbmJYPH4vn1vHHpSjBcEpp3F0uhCXJiSkOwgsAwHwug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23576},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"a082078c7568c309463df9a9b89349c12f61b6b0","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && runstorm --names tests,spelling,format,docs,deps,lint \"npm run test:coverage\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:coverage":"npm test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/local-storage-client.git","type":"git"},"_npmVersion":"11.4.2","description":"An interface for storing JSON values into the LocalStorage API with type safety.","directories":{},"sideEffects":false,"_nodeVersion":"22.19.0","dependencies":{"typed-event-target":"^4.1.0","@augment-vir/assert":"^31.59.3","@augment-vir/common":"^31.59.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"cspell":"^9.6.4","eslint":"^9.39.2","esbuild":"^0.27.3","typedoc":"^0.28.16","prettier":"~3.3.3","virmator":"^14.5.2","type-fest":"^5.4.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@eslint/eslintrc":"^3.3.3","@web/test-runner":"^0.20.2","@augment-vir/test":"^31.59.3","npm-check-updates":"^19.3.2","typescript-eslint":"^8.55.0","dependency-cruiser":"^17.3.8","eslint-plugin-jsdoc":"^62.5.4","object-shape-tester":"^6.11.0","prettier-plugin-toml":"^2.0.6","eslint-plugin-sonarjs":"^3.0.7","eslint-plugin-unicorn":"^63.0.0","prettier-plugin-jsdoc":"^1.8.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","@web/dev-server-esbuild":"^1.0.5","@stylistic/eslint-plugin":"^5.8.0","eslint-plugin-playwright":"^2.5.1","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.2.0","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.4.1","@web/test-runner-playwright":"^0.11.1","prettier-plugin-packagejson":"^3.0.0","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.3","@typescript-eslint/eslint-plugin":"^8.55.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.1.4","prettier-plugin-organize-imports":"^4.3.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^2.0.1"},"peerDependencies":{"object-shape-tester":">=6"},"_npmOperationalInternal":{"tmp":"tmp/local-storage-client_0.1.0_1771114840267_0.79381639719258","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@electrovir/local-storage-client","version":"0.1.1","description":"An interface for storing JSON values into the LocalStorage API with type safety.","keywords":["localstorage","client","local","storage"],"homepage":"https://github.com/electrovir/local-storage-client","bugs":{"url":"https://github.com/electrovir/local-storage-client/issues"},"repository":{"type":"git","url":"git+https://github.com/electrovir/local-storage-client.git"},"license":"(MIT OR CC0-1.0)","author":{"name":"electrovir","url":"https://github.com/electrovir"},"sideEffects":false,"type":"module","main":"dist/index.js","module":"dist/index.js","types":"dist/index.d.ts","scripts":{"compile":"virmator compile","docs":"virmator docs","format":"virmator format","lint":"virmator lint fix","publish":"virmator publish npm run test:all","test":"virmator test web","test:all":"npm run compile && runstorm --names tests,spelling,format,docs,deps,lint \"npm run test:coverage\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:coverage":"npm test coverage","test:deps":"virmator deps check","test:docs":"virmator docs check","test:format":"virmator format check","test:lint":"virmator lint","test:spelling":"virmator spellcheck"},"dependencies":{"@augment-vir/assert":"^32.2.1","@augment-vir/common":"^32.2.1","typed-event-target":"^4.3.2"},"devDependencies":{"@augment-vir/test":"^32.2.1","@eslint/eslintrc":"^3.3.6","@eslint/js":"^10.0.1","@stylistic/eslint-plugin":"^5.10.0","@stylistic/eslint-plugin-ts":"^4.4.1","@typescript-eslint/eslint-plugin":"^8.65.0","@web/dev-server-esbuild":"^2.0.0","@web/test-runner":"^1.0.0","@web/test-runner-commands":"^1.0.1","@web/test-runner-playwright":"^1.0.0","@web/test-runner-visual-regression":"^1.0.1","cspell":"^10.0.1","dependency-cruiser":"^18.1.0","esbuild":"^0.28.1","eslint":"^10.7.0","eslint-config-prettier":"^10.1.8","eslint-plugin-jsdoc":"^63.2.2","eslint-plugin-monorepo-cop":"^1.0.2","eslint-plugin-playwright":"^2.10.5","eslint-plugin-prettier":"^5.5.6","eslint-plugin-require-extensions":"^0.1.3","eslint-plugin-sonarjs":"^4.2.0","eslint-plugin-unicorn":"^72.0.0","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.6","npm-check-updates":"^22.2.9","object-shape-tester":"^6.14.1","prettier":"~3.3.3","prettier-plugin-interpolated-html-tags":"^2.0.1","prettier-plugin-jsdoc":"^1.8.1","prettier-plugin-multiline-arrays":"^4.1.10","prettier-plugin-organize-imports":"^4.3.0","prettier-plugin-packagejson":"^3.0.2","prettier-plugin-sort-json":"^4.2.0","prettier-plugin-toml":"^2.0.6","type-fest":"^5.8.0","typedoc":"^0.28.20","typescript":"^6.0.3","typescript-eslint":"^8.65.0","virmator":"^14.30.0"},"peerDependencies":{"object-shape-tester":">=6"},"engines":{"node":">=22"},"publishConfig":{"access":"public"},"gitHead":"60e1695cf4bd02baa321dbd051526429f67670c2","_id":"@electrovir/local-storage-client@0.1.1","_nodeVersion":"22.22.3","_npmVersion":"11.17.0","dist":{"integrity":"sha512-1BozOzmIaw24vpaZgyvfjkueBfgZvqcNze9NJ9GaefNN3OOWvgoMdAPxkfTivnGjYZtY2/hif4oDenooVnxc2A==","shasum":"d07280a95a95c991ddcd286d9b876d72fef6de44","tarball":"https://registry.npmjs.org/@electrovir/local-storage-client/-/local-storage-client-0.1.1.tgz","fileCount":8,"unpackedSize":23915,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBTREeaLsL8Y3cdT8Bj8sfPRNUJboGwJjQg6BMZBNgUpAiA6Sxp3i2bdFLUppYMstod6IGG0AkuD9q0ZR+6ezSNAwQ=="}]},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"directories":{},"maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/local-storage-client_0.1.1_1785335635143_0.16761242138043508"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-05T15:08:46.087Z","modified":"2026-07-29T14:33:55.463Z","0.0.0":"2026-01-05T15:08:46.374Z","0.0.1":"2026-01-05T16:00:49.338Z","0.0.2":"2026-01-10T16:42:17.915Z","0.1.0":"2026-02-15T00:20:40.426Z","0.1.1":"2026-07-29T14:33:55.281Z"},"bugs":{"url":"https://github.com/electrovir/local-storage-client/issues"},"author":{"name":"electrovir","url":"https://github.com/electrovir"},"license":"(MIT OR CC0-1.0)","homepage":"https://github.com/electrovir/local-storage-client","keywords":["localstorage","client","local","storage"],"repository":{"type":"git","url":"git+https://github.com/electrovir/local-storage-client.git"},"description":"An interface for storing JSON values into the LocalStorage API with type safety.","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"readme":"# @electrovir/local-storage-client\n\nAn interface for storing values into the LocalStorage API with type safety. Note that only JSON compatible data can be stored.\n\nNote that some browsers aggressively clear LocalStorage so this should only be used for ephemeral data storage. If you need more permanent storage, use [local-db-client](https://www.npmjs.com/package/local-db-client) instead.\n\nReference docs: https://electrovir.github.io/local-storage-client\n\n## Instal\n\n```sh\nnpm i @electrovir/local-storage-client\n```\n\n## Usage\n\n<!-- example-link: src/local-storage.client.example.ts -->\n\n```TypeScript\nimport {defineShape} from 'object-shape-tester';\nimport {LocalStorageClient} from '@electrovir/local-storage-client';\n\nconst myClient = new LocalStorageClient({\n    stringValue: defineShape(''),\n    numberValue: defineShape(-1),\n    booleanValue: defineShape(false),\n    objectValue: defineShape({\n        name: '',\n        age: 0,\n        location: '',\n    }),\n});\n\n/** Set values with type safety. */\nmyClient.set.objectValue({\n    age: 10,\n    location: 'Earth',\n    name: 'Example User',\n});\nmyClient.set.booleanValue(true);\n\n/** Delete a stored value. */\nmyClient.delete.booleanValue();\n\n/** Get a stored value. If the stored value is not valid, `undefined` is returned. */\nmyClient.get.objectValue();\n```\n","readmeFilename":"README.md"}