{"_id":"@1apostoli/use-external-state","_rev":"4-48cb9d79d847b5dd5fbee4a6f4aba9f9","name":"@1apostoli/use-external-state","dist-tags":{"latest":"0.1.3"},"versions":{"0.1.0":{"name":"@1apostoli/use-external-state","version":"0.1.0","_id":"@1apostoli/use-external-state@0.1.0","maintainers":[{"name":"1apostoli","email":"apostoli.geyer@geyerconsulting.com"}],"dist":{"shasum":"179b7a598591514b20301c2d7302fe63f2e5b230","tarball":"https://registry.npmjs.org/@1apostoli/use-external-state/-/use-external-state-0.1.0.tgz","fileCount":119,"integrity":"sha512-9DfNg8lTGgi3rswEYbt/ygN8GoqdpBiGLnfwLk+pohFNYUo7jNPxRxYk5m/qU9NNui+EkpEPClkN/AIPqUuPwA==","signatures":[{"sig":"MEQCICuLikq4zh2mUNgr69ockYaaIhsM8uOq5Sfp6WutX9tEAiAfBwQ2igmGAmOXVqbWiL870gQ/MoUzDe1uP5Oao9g0QQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":403356},"main":"build/legacy/index.cjs","type":"module","_from":"file:1apostoli-use-external-state-0.1.0.tgz","types":"build/legacy/index.d.ts","module":"build/legacy/index.js","exports":{".":{"import":{"types":"./build/modern/index.d.ts","default":"./build/modern/index.js"},"require":{"types":"./build/modern/index.d.cts","default":"./build/modern/index.cjs"}},"./client-only":{"import":{"types":"./build/modern/client-only.d.ts","default":"./build/modern/client-only.js"},"require":{"types":"./build/modern/client-only.d.cts","default":"./build/modern/client-only.cjs"}},"./package.json":"./package.json"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsup --config tsup.config.ts","clean":"rimraf build dist-ts","typecheck":"tsc --project tsconfig.json --noEmit"},"_npmUser":{"name":"1apostoli","email":"apostoli.geyer@geyerconsulting.com"},"_resolved":"/tmp/6faccf315aa9869e7c39b62c31af6635/1apostoli-use-external-state-0.1.0.tgz","_integrity":"sha512-9DfNg8lTGgi3rswEYbt/ygN8GoqdpBiGLnfwLk+pohFNYUo7jNPxRxYk5m/qU9NNui+EkpEPClkN/AIPqUuPwA==","_npmVersion":"10.8.2","description":"React hook for syncing browser-backed state with Zod validation","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"zod":"^4.0.1"},"react-native":"src/index.ts","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^24.0.0","react":"^19.0.0","react-dom":"^19.0.0","@testing-library/dom":"^10.4.0","@testing-library/react":"^16.3.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^18 || ^19"},"_npmOperationalInternal":{"tmp":"tmp/use-external-state_0.1.0_1761251423289_0.8348915169811006","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@1apostoli/use-external-state","version":"0.1.2","_id":"@1apostoli/use-external-state@0.1.2","maintainers":[{"name":"1apostoli","email":"apostoli.geyer@geyerconsulting.com"}],"dist":{"shasum":"ee98613babd2b09b3e44b2a67278811c999d13a0","tarball":"https://registry.npmjs.org/@1apostoli/use-external-state/-/use-external-state-0.1.2.tgz","fileCount":158,"integrity":"sha512-PCZXQZLukrSGaU3n+4jb8Jmrvgr9fQPwWYjQr4m+DolkbNUs7aFCbIw+16HqmNTqhn8LqEzfvMkQ86JWznZg+w==","signatures":[{"sig":"MEYCIQCSYniUFZpaneXBu4xlWJQwmKNb9m6xoUos78SHJuDA1gIhAIXZmQ/AI2ylxLkoCZnGa/28dsPdl0U32LCoMVZzGsb8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":568869},"main":"build/legacy/index.cjs","type":"module","_from":"file:1apostoli-use-external-state-0.1.2.tgz","types":"build/legacy/index.d.ts","module":"build/legacy/index.js","exports":{".":{"import":{"types":"./build/modern/index.d.ts","default":"./build/modern/index.js"},"require":{"types":"./build/modern/index.d.cts","default":"./build/modern/index.cjs"}},"./client-only":{"import":{"types":"./build/modern/client-only.d.ts","default":"./build/modern/client-only.js"},"require":{"types":"./build/modern/client-only.d.cts","default":"./build/modern/client-only.cjs"}},"./package.json":"./package.json"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsup --config tsup.config.ts","clean":"rimraf build dist-ts","typecheck":"tsc --project tsconfig.json --noEmit"},"_npmUser":{"name":"1apostoli","email":"apostoli.geyer@geyerconsulting.com"},"_resolved":"/tmp/aaaab46160315420a501e1c9d3afaa0f/1apostoli-use-external-state-0.1.2.tgz","_integrity":"sha512-PCZXQZLukrSGaU3n+4jb8Jmrvgr9fQPwWYjQr4m+DolkbNUs7aFCbIw+16HqmNTqhn8LqEzfvMkQ86JWznZg+w==","_npmVersion":"10.8.2","description":"React hook for syncing browser-backed state with Zod validation","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"zod":"^4.0.1"},"react-native":"src/index.ts","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^24.0.0","react":"^19.0.0","react-dom":"^19.0.0","@testing-library/dom":"^10.4.0","@testing-library/react":"^16.3.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^18 || ^19"},"_npmOperationalInternal":{"tmp":"tmp/use-external-state_0.1.2_1761320444790_0.5989553874114992","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@1apostoli/use-external-state","version":"0.1.3","_id":"@1apostoli/use-external-state@0.1.3","maintainers":[{"name":"1apostoli","email":"apostoli.geyer@geyerconsulting.com"}],"dist":{"shasum":"392a2f01e116e57921a8983aa86b6b4e9b97fc62","tarball":"https://registry.npmjs.org/@1apostoli/use-external-state/-/use-external-state-0.1.3.tgz","fileCount":158,"integrity":"sha512-ovwd3DIy/ihjia/y8DoDTsSxeQq6+t9966hOcOwq8of5wX4ZcQopHvvsOMwuIh1k8xeCWjjNV/ttuoFkqPzYPw==","signatures":[{"sig":"MEQCIB0nLFtyoPwpokfnxFhuaK3FEiKAGMx2Iv0yKDyFuuVvAiBNtLjYzo7RqNA/wjWtLRmfwZCv2qbYiDywWSpLGaPELg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":568866},"main":"build/legacy/index.cjs","type":"module","_from":"file:1apostoli-use-external-state-0.1.3.tgz","types":"build/legacy/index.d.ts","module":"build/legacy/index.js","exports":{".":{"import":{"types":"./build/modern/index.d.ts","default":"./build/modern/index.js"},"require":{"types":"./build/modern/index.d.cts","default":"./build/modern/index.cjs"}},"./client-only":{"import":{"types":"./build/modern/client-only.d.ts","default":"./build/modern/client-only.js"},"require":{"types":"./build/modern/client-only.d.cts","default":"./build/modern/client-only.cjs"}},"./package.json":"./package.json"},"scripts":{"lint":"eslint .","test":"vitest run","build":"tsup --config tsup.config.ts","clean":"rimraf build dist-ts","typecheck":"tsc --project tsconfig.json --noEmit"},"_npmUser":{"name":"1apostoli","email":"apostoli.geyer@geyerconsulting.com"},"_resolved":"/tmp/ce7171ae059066534aad3f43840e688c/1apostoli-use-external-state-0.1.3.tgz","_integrity":"sha512-ovwd3DIy/ihjia/y8DoDTsSxeQq6+t9966hOcOwq8of5wX4ZcQopHvvsOMwuIh1k8xeCWjjNV/ttuoFkqPzYPw==","_npmVersion":"10.8.2","description":"React hook for syncing browser-backed state with Zod validation","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","react-native":"src/index.ts","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.0.1","jsdom":"^24.0.0","react":"^19.0.0","react-dom":"^19.0.0","@testing-library/dom":"^10.4.0","@testing-library/react":"^16.3.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"zod":"^4.0.1","react":"^18 || ^19"},"_npmOperationalInternal":{"tmp":"tmp/use-external-state_0.1.3_1761405830338_0.10967056393521246","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-10-23T20:30:23.232Z","modified":"2025-11-19T18:20:21.995Z","0.1.0":"2025-10-23T20:30:23.491Z","0.1.2":"2025-10-24T15:40:44.964Z","0.1.3":"2025-10-25T15:23:50.546Z"},"description":"React hook for syncing browser-backed state with Zod validation","maintainers":[{"email":"apostoli.geyer@geyerconsulting.com","name":"webviewrpc"}],"readme":"# @1apostoli/use-external-state\n\nReact hook for managing browser-backed state with Zod v4 validation. See the\n[monorepo README](../../README.md) for full documentation, API reference, and\nexamples.\n\n- **Install**: `pnpm add @1apostoli/use-external-state`\n- **Exports**: `useExternalState`, `LocalStorageStore`, `SessionStorageStore`,\n  `CookieStore`, `QueryParameterStore`, `createDebouncer`, `makeHook`,\n  `makeContext`, `makeHOC`, and keyed setter helpers.\n\nThe package ships both modern (ESM) and legacy (CJS) bundles under\n`build/modern` and `build/legacy` respectively, and includes type declarations\nfor each target.\n","readmeFilename":"README.md"}