{"_id":"juststore","_rev":"32-a81d9a02d76e0b5a33bf1bd84fc01a05","name":"juststore","dist-tags":{"latest":"1.2.4"},"versions":{"0.0.1":{"name":"juststore","version":"0.0.1","keywords":["state","react","typescript","hooks","store","state management","react hooks"],"author":{"name":"Yusing"},"license":"MIT","_id":"juststore@0.0.1","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"dist":{"shasum":"25ae57f8305aff1ba688af8a525410ed6a2e67b3","tarball":"https://registry.npmjs.org/juststore/-/juststore-0.0.1.tgz","fileCount":23,"integrity":"sha512-Fb35W2dXaCajwq8INYwwt/3pqviNK1TQwE36Q1wB/VvyDpP13dFPyA0gDzHgE/7Wzokp684bE6eW0El8+0KTKA==","signatures":[{"sig":"MEYCIQDCeO0twBBbN3qm0JPod0aQnJaBy5+tL0VrTW0jmOE1MgIhALS3S0VeDa8qX5lb2cz5SHaijD0PIjbagoouZD54iIxI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57168},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"59e1017ac4227f7ea1e963a606e96d2dcd6dffd8","scripts":{"lint":"bun run eslint src/**/*.ts","build":"bun run tsc","format":"bun run prettier --write src/**/*.ts","prepare":"husky","publish":"npm publish --access public","typecheck":"bun run tsc --noEmit","format:check":"bun run prettier --check src/**/*.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"repository":{"url":"git+https://github.com/yusing/juststore.git","type":"git"},"_npmVersion":"11.6.2","description":"A small, expressive, and type-safe state management library for React.","directories":{},"sideEffects":false,"_nodeVersion":"25.2.1","dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","react":"^19.2.1","eslint":"^9.39.1","prettier":"^3.7.4","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.2","@types/react":"^19.2.1","eslint-plugin-react":"^7.37.5","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.49.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24","@typescript-eslint/eslint-plugin":"^8.49.0"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/juststore_0.0.1_1765261591188_0.5392090100327285","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"juststore","version":"0.0.2","keywords":["state","react","typescript","hooks","store","state management","react hooks"],"author":{"name":"Yusing"},"license":"MIT","_id":"juststore@0.0.2","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"dist":{"shasum":"b7e70ec3d0a63d3ff6f9aa659b9544e8a25e2e9e","tarball":"https://registry.npmjs.org/juststore/-/juststore-0.0.2.tgz","fileCount":25,"integrity":"sha512-8L38HI4rSWJwDJhSBcaRL1Ft8lpsqxSh8/c4K2UT7n8YMYNC6jglcaAzl9seVPCILxK9EyCN85PkAhMl40b/xA==","signatures":[{"sig":"MEYCIQDah8nxZCAbifjBVdMM7BuCCN8DzktDXDnXooIUQKc7agIhAP/CIeI8bmmi1FC1qfqbkda1fmUU3OJ+j57xLsdZIdYS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116127},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"bun run eslint src/**/*.ts","build":"bun run tsc","format":"bun run prettier --write src/**/*.ts","prepare":"husky","publish":"npm publish --access public","typecheck":"bun run tsc --noEmit","format:check":"bun run prettier --check src/**/*.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"repository":{"url":"git+https://github.com/yusing/juststore.git","type":"git"},"_npmVersion":"11.6.2","description":"A small, expressive, and type-safe state management library for React.","directories":{},"sideEffects":false,"_nodeVersion":"25.2.1","dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","react":"^19.2.1","eslint":"^9.39.1","prettier":"^3.7.4","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.2","@types/react":"^19.2.1","eslint-plugin-react":"^7.37.5","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.49.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24","@typescript-eslint/eslint-plugin":"^8.49.0"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/juststore_0.0.2_1765262744886_0.4196827102097427","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"juststore","version":"0.0.3","keywords":["state","react","typescript","hooks","store","state management","react hooks"],"author":{"name":"Yusing"},"license":"MIT","_id":"juststore@0.0.3","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"dist":{"shasum":"01f2c656a466ac754133b5e417acbf6b6d468595","tarball":"https://registry.npmjs.org/juststore/-/juststore-0.0.3.tgz","fileCount":25,"integrity":"sha512-Mlm0vPC60ghSTfwHMjB8fOUgk4mOe0X9ARjaZL1PZWUPYWI55Q171n363DxF3j+7DcucLtMSXHDgwFSz14CmGg==","signatures":[{"sig":"MEUCICCfi/JFWSOIl0OefvUfcIWq+DdanOaYvhZQhA05/YjeAiEAoHLkZ0TZPsiMg8rpStIL7JYu2zPZMuTZpjIU4Es9KhI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116245},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"291550575e887429ecdfb3a6f8d70f720925db01","scripts":{"lint":"bun run eslint src/**/*.ts","build":"bun run tsc","format":"bun run prettier --write src/**/*.ts","prepare":"husky","publish":"npm publish --access public","typecheck":"bun run tsc --noEmit","format:check":"bun run prettier --check src/**/*.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"repository":{"url":"git+https://github.com/yusing/juststore.git","type":"git"},"_npmVersion":"11.6.2","description":"A small, expressive, and type-safe state management library for React.","directories":{},"sideEffects":false,"_nodeVersion":"25.2.1","dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","react":"^19.2.1","eslint":"^9.39.1","prettier":"^3.7.4","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.2","@types/react":"^19.2.1","eslint-plugin-react":"^7.37.5","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.49.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24","@typescript-eslint/eslint-plugin":"^8.49.0"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/juststore_0.0.3_1765266758274_0.17015802063637442","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"juststore","version":"0.0.4","keywords":["state","react","typescript","hooks","store","state management","react hooks"],"author":{"name":"Yusing"},"license":"MIT","_id":"juststore@0.0.4","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"dist":{"shasum":"d7b577e46ee60c0b184c809f10889d29e42c3415","tarball":"https://registry.npmjs.org/juststore/-/juststore-0.0.4.tgz","fileCount":25,"integrity":"sha512-lSNd0XNhKgvGQ6VrjwFEIHZ1QRnq2uaa9rVbPkQ9XRqUQ+wRfagavK04Dz5mCFK6/7hqFv6WPqHmidr0KeBYTw==","signatures":[{"sig":"MEQCICVHIARufuCayMw7k/LwbSi/msPm/SwhEPXszdnitMvWAiA75qO0EuMOk4KwDy4vr4X3E29+reYukQ3uuJFkhAl1vQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116264},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"0bd4363d8c4309b07972d46dacb19ef753c41add","scripts":{"lint":"bun run eslint src/**/*.ts","build":"bun run tsc","format":"bun run prettier --write src/**/*.ts","prepare":"husky","publish":"npm publish --access public","typecheck":"bun run tsc --noEmit","format:check":"bun run prettier --check src/**/*.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"repository":{"url":"git+https://github.com/yusing/juststore.git","type":"git"},"_npmVersion":"11.6.2","description":"A small, expressive, and type-safe state management library for React.","directories":{},"sideEffects":false,"_nodeVersion":"25.2.1","dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","react":"^19.2.1","eslint":"^9.39.1","prettier":"^3.7.4","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.2","@types/react":"^19.2.1","eslint-plugin-react":"^7.37.5","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.49.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24","@typescript-eslint/eslint-plugin":"^8.49.0"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/juststore_0.0.4_1765267118035_0.2940365547305077","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"juststore","version":"0.0.5","keywords":["state","react","typescript","hooks","store","state management","react hooks"],"author":{"name":"Yusing"},"license":"MIT","_id":"juststore@0.0.5","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"dist":{"shasum":"5f24e83cdc1685bb79caa1582b4660303bb9188b","tarball":"https://registry.npmjs.org/juststore/-/juststore-0.0.5.tgz","fileCount":25,"integrity":"sha512-0htc8uitXFKGTv/bTShcPG/tGFOfwKE2KNWAu2//H5H13VRdCQT9frDL72Ms/e3ltJmnm/AlxLMksKUALfWBnA==","signatures":[{"sig":"MEYCIQDekIpXO/V5ya/5bQn7bliPtXh50x4qIJiA1r6xZ0e52QIhAKxFaRhCnHfn22fJVgCX98dTslriIfsJ/eTHv0AaM10a","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116293},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"91a5e4da9bc00e0f01239578766c2d362193c8a4","scripts":{"lint":"bun run eslint src/**/*.ts","build":"bun run tsc","format":"bun run prettier --write src/**/*.ts","prepare":"husky","publish":"npm publish --access public","typecheck":"bun run tsc --noEmit","format:check":"bun run prettier --check src/**/*.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"repository":{"url":"git+https://github.com/yusing/juststore.git","type":"git"},"_npmVersion":"11.6.2","description":"A small, expressive, and type-safe state management library for React.","directories":{},"sideEffects":false,"_nodeVersion":"25.2.1","dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","react":"^19.2.1","eslint":"^9.39.1","prettier":"^3.7.4","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.2","@types/react":"^19.2.1","eslint-plugin-react":"^7.37.5","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.49.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24","@typescript-eslint/eslint-plugin":"^8.49.0"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/juststore_0.0.5_1765267276944_0.5472241251820273","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"juststore","version":"0.0.6","keywords":["state","react","typescript","hooks","store","state management","react hooks"],"author":{"name":"Yusing"},"license":"AGPL-3.0-only","_id":"juststore@0.0.6","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"dist":{"shasum":"8919470a8f163c2fd03301e55c181a370252456b","tarball":"https://registry.npmjs.org/juststore/-/juststore-0.0.6.tgz","fileCount":25,"integrity":"sha512-x3OwB1wxZ+n57NyEiOaLWts50+eLdqwEDJiBDRWTEW1lgX+1CEdHD9oAweOaDuGiCTGEFlAQyGUVyux21qKgnw==","signatures":[{"sig":"MEUCIGIu5/U0WoWwHhxS3gh3tNhJ5r0AZYJmVZxaX3s1gBJwAiEA/rSv75qqNFYpI/ks4d/g0YncnOM81Nb3WMI6SO0WK/4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120952},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f3328f7e23a5cc955524a40c6cc8549d7512031d","scripts":{"lint":"bun run eslint src/**/*.ts","build":"bun run tsc","format":"bun run prettier --write src/**/*.ts","prepare":"husky","publish":"npm publish --access public","typecheck":"bun run tsc --noEmit","format:check":"bun run prettier --check src/**/*.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"repository":{"url":"git+https://github.com/yusing/juststore.git","type":"git"},"_npmVersion":"11.6.2","description":"A small, expressive, and type-safe state management library for React.","directories":{},"sideEffects":false,"_nodeVersion":"25.2.1","dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","react":"^19.2.1","eslint":"^9.39.1","prettier":"^3.7.4","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.2","@types/react":"^19.2.1","eslint-plugin-react":"^7.37.5","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.49.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24","@typescript-eslint/eslint-plugin":"^8.49.0"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/juststore_0.0.6_1765355180185_0.949370493965153","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"juststore","version":"0.0.7","keywords":["state","react","typescript","hooks","store","state management","react hooks"],"author":{"name":"Yusing"},"license":"AGPL-3.0-only","_id":"juststore@0.0.7","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"dist":{"shasum":"46a9d0684629d433ce8d8de9b56f8a6aea55556a","tarball":"https://registry.npmjs.org/juststore/-/juststore-0.0.7.tgz","fileCount":25,"integrity":"sha512-YKZEKV1nN7jF5DJxu2GcyBVRoplDLDRqMDqnY1DpQ39DczPQ0hQkdO/2M00IP9a3UCpOn97sW0lJglC/YinU0Q==","signatures":[{"sig":"MEYCIQCzAY/8VXai3go0T3RJyxEdpi8FyDbisLNgyeSnCZleFAIhAKGXAghVtTBOy1j7MdRpFo48OJHuT+XjURNk19+INxNp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121926},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e605b5f6286c8eabd5e08b64ca953c9d7ec2107c","scripts":{"lint":"bun run eslint src/**/*.ts","build":"bun run tsc","format":"bun run prettier --write src/**/*.ts","prepare":"husky","publish":"npm publish --access public","typecheck":"bun run tsc --noEmit","format:check":"bun run prettier --check src/**/*.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"repository":{"url":"git+https://github.com/yusing/juststore.git","type":"git"},"_npmVersion":"11.6.2","description":"A small, expressive, and type-safe state management library for React.","directories":{},"sideEffects":false,"_nodeVersion":"25.2.1","dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","react":"^19.2.1","eslint":"^9.39.1","prettier":"^3.7.4","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.2","@types/react":"^19.2.1","eslint-plugin-react":"^7.37.5","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.49.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24","@typescript-eslint/eslint-plugin":"^8.49.0"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/juststore_0.0.7_1765420344849_0.3019243913662426","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"juststore","version":"0.1.0","keywords":["state","react","typescript","hooks","store","state management","react hooks"],"author":{"name":"Yusing"},"license":"AGPL-3.0-only","_id":"juststore@0.1.0","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"dist":{"shasum":"c91018d3a16d087cbdacaf148b6054c26f9b7192","tarball":"https://registry.npmjs.org/juststore/-/juststore-0.1.0.tgz","fileCount":25,"integrity":"sha512-rh0tuchhnxEMMykW1hPWzJ3m8IeLksw5tC7PkdS5dISyhiDxLi/ESRlIuhOKh3TnXMhDEtgUs6ETvw3OGoVTwg==","signatures":[{"sig":"MEUCIH+Ni4I33QsJlSZoI25tQiINUX1Tw9jfyOTcH5wX8r3pAiEA+Gt+IkUbG3JQkoiMiwEFZUDGxm1h/sj6eCtYx5ZuY98=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123527},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c06e46e15fbc1c2b6027677820bbe82cbd5a51e1","scripts":{"lint":"bun run eslint src/**/*.ts","build":"bun run tsc","format":"bun run prettier --write src/**/*.ts","prepare":"husky","publish":"npm publish --access public","typecheck":"bun run tsc --noEmit","format:check":"bun run prettier --check src/**/*.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"repository":{"url":"git+https://github.com/yusing/juststore.git","type":"git"},"_npmVersion":"11.6.2","description":"A small, expressive, and type-safe state management library for React.","directories":{},"sideEffects":false,"_nodeVersion":"25.2.1","dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","react":"^19.2.1","eslint":"^9.39.1","prettier":"^3.7.4","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.2","@types/react":"^19.2.1","eslint-plugin-react":"^7.37.5","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.49.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24","@typescript-eslint/eslint-plugin":"^8.49.0"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/juststore_0.1.0_1765422599635_0.15557923986798872","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"juststore","version":"0.1.1","keywords":["state","react","typescript","hooks","store","state management","react hooks"],"author":{"name":"Yusing"},"license":"AGPL-3.0-only","_id":"juststore@0.1.1","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"dist":{"shasum":"0ab9eeed677f3e7c3d94000152e8b77a00927b9c","tarball":"https://registry.npmjs.org/juststore/-/juststore-0.1.1.tgz","fileCount":25,"integrity":"sha512-TFBpSR1REXqlNEPNn5sQ/f73qe0byqiCFi8Tp2objGRkU4W0curoW7ZpeDELPCDfiE40fSqZa+nK9WcRmIhwfw==","signatures":[{"sig":"MEYCIQD35qmxndM0c2xr6SANRhp8FtzZH7M7dF/aU0VS8hv14QIhAO+21s772RW9a0jRmYmQW3TiUoQ61m+IJiC0x4Fy+HVz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123492},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e95da5f59e262beac1ef09da75bdff268fdd8bf3","scripts":{"lint":"bun run eslint src/**/*.ts","build":"bun run tsc","format":"bun run prettier --write src/**/*.ts","prepare":"husky","publish":"npm publish --access public","typecheck":"bun run tsc --noEmit","format:check":"bun run prettier --check src/**/*.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"repository":{"url":"git+https://github.com/yusing/juststore.git","type":"git"},"_npmVersion":"11.6.2","description":"A small, expressive, and type-safe state management library for React.","directories":{},"sideEffects":false,"_nodeVersion":"25.2.1","dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","react":"^19.2.1","eslint":"^9.39.1","prettier":"^3.7.4","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.2","@types/react":"^19.2.1","eslint-plugin-react":"^7.37.5","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.49.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24","@typescript-eslint/eslint-plugin":"^8.49.0"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/juststore_0.1.1_1765422921495_0.5096662929671394","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"juststore","version":"0.1.2","keywords":["state","react","typescript","hooks","store","state management","react hooks"],"author":{"name":"Yusing"},"license":"AGPL-3.0-only","_id":"juststore@0.1.2","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"dist":{"shasum":"46cadfc2507f2a0254ab2cb4a18b84c7d86a9461","tarball":"https://registry.npmjs.org/juststore/-/juststore-0.1.2.tgz","fileCount":25,"integrity":"sha512-MkAobHaQfrZYAYXFIlaO4I68gULg397Dqnf1qwT1fH16ERlGruv+Z5jjLQatVOEtMiHK9E7o5c9Zxk0VbmnnLA==","signatures":[{"sig":"MEQCIGRpvmVKEIwgNnQjU3M40GSq9eGbh5gv6qphdHedNxfpAiAjQMYCckHCeQPu6tvY4rSBqVlcEzm6i/hGwDCUhyHrfQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123535},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"94e5a33d99feaabc3994901294fae2b61ba9488e","scripts":{"lint":"bun run eslint src/**/*.ts","build":"bun run tsc","format":"bun run prettier --write src/**/*.ts","prepare":"husky","publish":"npm publish --access public","typecheck":"bun run tsc --noEmit","format:check":"bun run prettier --check src/**/*.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"repository":{"url":"git+https://github.com/yusing/juststore.git","type":"git"},"_npmVersion":"11.6.2","description":"A small, expressive, and type-safe state management library for React.","directories":{},"sideEffects":false,"_nodeVersion":"25.2.1","dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","react":"^19.2.1","eslint":"^9.39.1","prettier":"^3.7.4","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.2","@types/react":"^19.2.1","eslint-plugin-react":"^7.37.5","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.49.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24","@typescript-eslint/eslint-plugin":"^8.49.0"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/juststore_0.1.2_1765423027577_0.38265781353307804","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"juststore","version":"0.1.3","keywords":["state","react","typescript","hooks","store","state management","react hooks"],"author":{"name":"Yusing"},"license":"AGPL-3.0-only","_id":"juststore@0.1.3","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"dist":{"shasum":"53921a579945d5dd765f7ad580547b8d1d4aa972","tarball":"https://registry.npmjs.org/juststore/-/juststore-0.1.3.tgz","fileCount":25,"integrity":"sha512-BSJZ0wfnmthwdrMxdc0Tg6QO7CkD6vDl8dn02WU/Zx83P+8WJs348KPMVFSfVaHIAPF7jhmmOKKbHpQIUsrOEA==","signatures":[{"sig":"MEYCIQC8WOPVk2ST6IjYYABSH39fx3MCMssNIiytRFAW6JCj1AIhANhPZ02yEWE2GJ57eAteDzSM7nwrcwsSpSno5EK3uCKp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123609},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"1721e605791f3d62cdaaf6f2b6e2f1322a5c6a32","scripts":{"lint":"bun run eslint src/**/*.ts","build":"bun run tsc","format":"bun run prettier --write src/**/*.ts","prepare":"husky","publish":"npm publish --access public","typecheck":"bun run tsc --noEmit","format:check":"bun run prettier --check src/**/*.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"repository":{"url":"git+https://github.com/yusing/juststore.git","type":"git"},"_npmVersion":"11.6.2","description":"A small, expressive, and type-safe state management library for React.","directories":{},"sideEffects":false,"_nodeVersion":"25.2.1","dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","react":"^19.2.1","eslint":"^9.39.1","prettier":"^3.7.4","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.2","@types/react":"^19.2.1","eslint-plugin-react":"^7.37.5","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.49.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24","@typescript-eslint/eslint-plugin":"^8.49.0"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/juststore_0.1.3_1765426970280_0.5688667897533706","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"juststore","version":"0.1.4","keywords":["state","react","typescript","hooks","store","state management","react hooks"],"author":{"name":"Yusing"},"license":"AGPL-3.0-only","_id":"juststore@0.1.4","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"dist":{"shasum":"6c4ceb74de0e3e42cede09db083ff86534ae6e7f","tarball":"https://registry.npmjs.org/juststore/-/juststore-0.1.4.tgz","fileCount":25,"integrity":"sha512-npImrkvWakynW1z5n3Xoc+pKyhfOLLupPHVUoruRVyQxGq4qltTaVkX9i+KfubqISPGblr7UYlXsVHUvaJXC4Q==","signatures":[{"sig":"MEQCIAtYXmd1S1awzVrzg+0ivprpZcOqlkdRc9zJ2u2kFrPKAiAocb/LNSMWzDQ3VrKNRxsTZjMUUBEkQ+7AFCXADP2XnA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123580},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d59ab6bf862ef0523be82b99af586b610281c14e","scripts":{"lint":"bun run eslint src/**/*.ts","build":"bun run tsc","format":"bun run prettier --write src/**/*.ts","prepare":"husky","publish":"npm publish --access public","typecheck":"bun run tsc --noEmit","format:check":"bun run prettier --check src/**/*.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"repository":{"url":"git+https://github.com/yusing/juststore.git","type":"git"},"_npmVersion":"11.6.2","description":"A small, expressive, and type-safe state management library for React.","directories":{},"sideEffects":false,"_nodeVersion":"25.2.1","dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","react":"^19.2.1","eslint":"^9.39.1","prettier":"^3.7.4","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.2","@types/react":"^19.2.1","eslint-plugin-react":"^7.37.5","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.49.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24","@typescript-eslint/eslint-plugin":"^8.49.0"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/juststore_0.1.4_1765427846492_0.2741712110301382","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"juststore","version":"0.3.0","keywords":["state","react","typescript","hooks","store","state management","react hooks"],"author":{"name":"Yusing"},"license":"AGPL-3.0-only","_id":"juststore@0.3.0","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"dist":{"shasum":"41994425338eb3b973816b6fb59bd3eefc615820","tarball":"https://registry.npmjs.org/juststore/-/juststore-0.3.0.tgz","fileCount":25,"integrity":"sha512-CQIHVlVfFLjHt8SLnLHmoAZPZ2Z5D88PByj4bFsKfnK6mmV7GODcr3J9/WG4gJ003ymmoT8gZYVQ1q8r/fguCg==","signatures":[{"sig":"MEQCIBY5si3HNp5QZQ3WrAwYNWj8xnJLjybX7mvgfQoigBTYAiAxfD6CFu6yurBWYJznrdB3DUTeP7PHVKvbFBXfo9y/MA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":130864},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"bun run eslint src/**/*.ts","build":"bun run tsc","format":"bun run prettier --write src/**/*.ts","prepare":"husky","publish":"npm publish --access public","typecheck":"bun run tsc --noEmit","format:check":"bun run prettier --check src/**/*.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"repository":{"url":"git+https://github.com/yusing/juststore.git","type":"git"},"_npmVersion":"11.6.2","description":"A small, expressive, and type-safe state management library for React.","directories":{},"sideEffects":false,"_nodeVersion":"25.2.1","dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","react":"^19.2.1","eslint":"^9.39.1","prettier":"^3.7.4","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.2","@types/react":"^19.2.1","eslint-plugin-react":"^7.37.5","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.49.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24","@typescript-eslint/eslint-plugin":"^8.49.0"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/juststore_0.3.0_1765956315022_0.19478197032614997","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"juststore","version":"0.3.2","keywords":["state","react","typescript","hooks","store","state management","react hooks"],"author":{"name":"Yusing"},"license":"AGPL-3.0-only","_id":"juststore@0.3.2","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"dist":{"shasum":"ca41875915109591deff4a55515707d5445b3755","tarball":"https://registry.npmjs.org/juststore/-/juststore-0.3.2.tgz","fileCount":25,"integrity":"sha512-FcNnpt7g6tdMeXC0LGldkHk6pFLAaXJP/bxLenomg4LxKACWwjcof5jBosBxBkD6U1olntx9PjVgAJOyPqCFAg==","signatures":[{"sig":"MEQCIC9oILskiElOW82KDqTNY+IPyD3kIbvf+Z5ZPfhkOUH+AiAnT0M6WfBk2gj4gZ6Q+y/qTmIdLzR5SGThP9h3zoRXWg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":133157},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"bun run eslint src/**/*.ts","build":"bun run tsc","format":"bun run prettier --write src/**/*.ts","prepare":"husky","publish":"npm publish --access public","typecheck":"bun run tsc --noEmit","format:check":"bun run prettier --check src/**/*.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"repository":{"url":"git+https://github.com/yusing/juststore.git","type":"git"},"_npmVersion":"11.6.2","description":"A small, expressive, and type-safe state management library for React.","directories":{},"sideEffects":false,"_nodeVersion":"25.2.1","dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","react":"^19.2.1","eslint":"^9.39.1","prettier":"^3.7.4","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.2","@types/react":"^19.2.1","eslint-plugin-react":"^7.37.5","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.49.0","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.24","@typescript-eslint/eslint-plugin":"^8.49.0"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/juststore_0.3.2_1766027539057_0.40789534690761053","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"juststore","version":"0.3.3","keywords":["state","react","typescript","hooks","store","state management","react hooks"],"author":{"name":"Yusing"},"license":"AGPL-3.0-only","_id":"juststore@0.3.3","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"dist":{"shasum":"2f8ee5863eb605ce96749d62455126fd4225a0a8","tarball":"https://registry.npmjs.org/juststore/-/juststore-0.3.3.tgz","fileCount":25,"integrity":"sha512-h17qerickoeJ7JG+LXWBcchAotlXhvhF+xgdLGcZwyuZgVE0sY0XA5D8xDksOyJCFSscPxWWuWTdSOcKBP0ClQ==","signatures":[{"sig":"MEYCIQDI7cP+zCNusyNT5exeQoPnVAOBrIXxS8uf60iZw6sc1QIhAKL3E/tIolCVAphTuJdNzszXzRPNUXQnv9+/renQSwhU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":133703},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"bun run eslint src/**/*.ts","build":"bun run tsc","format":"bun run prettier --write src/**/*.ts","prepare":"husky","publish":"npm publish --access public","typecheck":"bun run tsc --noEmit","format:check":"bun run prettier --check src/**/*.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"repository":{"url":"git+https://github.com/yusing/juststore.git","type":"git"},"_npmVersion":"11.6.2","description":"A small, expressive, and type-safe state management library for React.","directories":{},"sideEffects":false,"_nodeVersion":"25.2.1","dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","react":"^19.2.3","eslint":"^9.39.2","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^24.10.4","@types/react":"^19.2.7","eslint-plugin-react":"^7.37.5","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.50.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.26","@typescript-eslint/eslint-plugin":"^8.50.1"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/juststore_0.3.3_1767090704283_0.35058803022626317","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"juststore","version":"0.3.4","keywords":["state","react","typescript","hooks","store","state management","react hooks"],"author":{"name":"Yusing"},"license":"AGPL-3.0-only","_id":"juststore@0.3.4","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"dist":{"shasum":"a4092471dc1c7780d4888a9eabd9544c238bffde","tarball":"https://registry.npmjs.org/juststore/-/juststore-0.3.4.tgz","fileCount":25,"integrity":"sha512-u3eB8kHEyF2rt6O5pPpWAe84LwMAbhPa0cn08ZhRLTfwZ/e0Qi6P2iMotPFcuXLIesJHaDyQqbojhniruXsPeg==","signatures":[{"sig":"MEQCIE6LOHwHNohfOgvxGma4aSE0qync4wtOnFhuTTXhqb1iAiBrIU4QMbUwywjmSxjCb+Wo2SsbHtBKww4RLLBNGABe7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142778},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"bun run eslint src/**/*.ts","build":"bun run tsc","format":"bun run prettier --write src/**/*.ts","prepare":"husky","publish":"npm publish --access public","typecheck":"bun run tsc --noEmit","format:check":"bun run prettier --check src/**/*.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"repository":{"url":"git+https://github.com/yusing/juststore.git","type":"git"},"_npmVersion":"11.6.2","description":"A small, expressive, and type-safe state management library for React.","directories":{},"sideEffects":false,"_nodeVersion":"25.2.1","dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","react":"^19.2.3","eslint":"^9.39.2","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^24.10.4","@types/react":"^19.2.7","eslint-plugin-react":"^7.37.5","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.50.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.26","@typescript-eslint/eslint-plugin":"^8.50.1"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/juststore_0.3.4_1767349225361_0.7652924129853651","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"juststore","version":"0.3.5","keywords":["state","react","typescript","hooks","store","state management","react hooks"],"author":{"name":"Yusing"},"license":"AGPL-3.0-only","_id":"juststore@0.3.5","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"dist":{"shasum":"6d64e60b36479f9414702ca4e473649131d31d6b","tarball":"https://registry.npmjs.org/juststore/-/juststore-0.3.5.tgz","fileCount":25,"integrity":"sha512-3kP7gu4E/KA38yqRs/6BEXiSMDjbcJSioabEv/c47TiDODP8NKssSlDPS1BxcEeXKjcilJr9TtFKas84O6pZ7g==","signatures":[{"sig":"MEUCIBpPXcVmiw+jz5NldrRXFmFidJ3iNNZMfmcIgjgFzAA+AiEAwz/GNciYZWhUQKpDVZnjI2QQxPS+bBHpF2aRLf2IALU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":146524},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"bun run eslint src/**/*.ts","build":"bun run tsc","format":"bun run prettier --write src/**/*.ts","prepare":"husky","publish":"npm publish --access public","typecheck":"bun run tsc --noEmit","format:check":"bun run prettier --check src/**/*.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"repository":{"url":"git+https://github.com/yusing/juststore.git","type":"git"},"_npmVersion":"11.6.2","description":"A small, expressive, and type-safe state management library for React.","directories":{},"sideEffects":false,"_nodeVersion":"25.2.1","dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","react":"^19.2.3","eslint":"^9.39.2","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^24.10.4","@types/react":"^19.2.7","eslint-plugin-react":"^7.37.5","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.50.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.26","@typescript-eslint/eslint-plugin":"^8.50.1"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/juststore_0.3.5_1767776365352_0.518140051829036","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"juststore","version":"0.4.0","keywords":["state","react","typescript","hooks","store","state management","react hooks"],"author":{"name":"Yusing"},"license":"AGPL-3.0-only","_id":"juststore@0.4.0","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"dist":{"shasum":"265b2991bf9ed09e6748ff161a35a4df744e8ae7","tarball":"https://registry.npmjs.org/juststore/-/juststore-0.4.0.tgz","fileCount":25,"integrity":"sha512-MSn6xMU4A0QD/1XyyROFCxhAPeZsYPU/3QTpHUO1XHuBFrN0A4FsOKBCuXji+WDhSaD7EqNTLjS6fafDEpxKWg==","signatures":[{"sig":"MEQCICy0nxhuZbM9DbSwoeTS4cVM02NX3+ZV+KZygie3Urm8AiAh5enVq0QAEpWkziT8N7itAaCk9NHJO3BI6bfpUC6kwQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":145599},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"bun run eslint src/**/*.ts","build":"bun run tsc","format":"bun run prettier --write src/**/*.ts","prepare":"husky","publish":"npm publish --access public","typecheck":"bun run tsc --noEmit","format:check":"bun run prettier --check src/**/*.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"repository":{"url":"git+https://github.com/yusing/juststore.git","type":"git"},"_npmVersion":"11.7.0","description":"A small, expressive, and type-safe state management library for React.","directories":{},"sideEffects":false,"_nodeVersion":"25.4.0","dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","react":"^19.2.3","eslint":"^9.39.2","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^24.10.4","@types/react":"^19.2.7","eslint-plugin-react":"^7.37.5","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.50.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.26","@typescript-eslint/eslint-plugin":"^8.50.1"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/juststore_0.4.0_1769398602865_0.023884733428692906","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"juststore","version":"0.4.1","keywords":["state","react","typescript","hooks","store","state management","react hooks"],"author":{"name":"Yusing"},"license":"AGPL-3.0-only","_id":"juststore@0.4.1","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"dist":{"shasum":"fc17bbc33963feed9cb7c6f9c9852e4125ffa8f9","tarball":"https://registry.npmjs.org/juststore/-/juststore-0.4.1.tgz","fileCount":25,"integrity":"sha512-PesQzCVgEdUFWKhRUcNL27q2Az1woWuQGF79ebgsRtyoYgua9MoaUaAgBi68Rx2JQPG33jR153T9lIbS7CGnjw==","signatures":[{"sig":"MEQCIBG5AFpSeFdZYIFlDSKLFWnfvJiFsrGPR7lzNKWgF/dmAiBdsPTOkCGSfaMLRBDfqgvFwNTDHlrwPco3YNK1Giy7Ew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":146190},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"bun run eslint src/**/*.ts","build":"bun run tsc","format":"bun run prettier --write src/**/*.ts","prepare":"husky","publish":"npm publish --access public","typecheck":"bun run tsc --noEmit","format:check":"bun run prettier --check src/**/*.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"repository":{"url":"git+https://github.com/yusing/juststore.git","type":"git"},"_npmVersion":"11.7.0","description":"A small, expressive, and type-safe state management library for React.","directories":{},"sideEffects":false,"_nodeVersion":"25.4.0","dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","react":"^19.2.3","eslint":"^9.39.2","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^24.10.4","@types/react":"^19.2.7","eslint-plugin-react":"^7.37.5","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.50.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.26","@typescript-eslint/eslint-plugin":"^8.50.1"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/juststore_0.4.1_1769399510202_0.5943902224009221","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"juststore","version":"0.4.2","keywords":["state","react","typescript","hooks","store","state management","react hooks"],"author":{"name":"Yusing"},"license":"AGPL-3.0-only","_id":"juststore@0.4.2","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"dist":{"shasum":"05c5d5475cd58b4368f13951f1968de2ddb46470","tarball":"https://registry.npmjs.org/juststore/-/juststore-0.4.2.tgz","fileCount":31,"integrity":"sha512-Akxezga//IN6KGTEopvTw/yxlEFgqOzqjbadIAcvUctdapSfct4RSHuPbbawn+6BaKAb2wbnSjWGqP267BsVGA==","signatures":[{"sig":"MEYCIQDlOM2RHloDc9Npueye7nd8xGnXm3UsXFMCULplCQLyVQIhAM3daeboKcThJMnkFEuuvomu940/h3slFy2D7sT4LEZ1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":156461},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"bun run eslint src/**/*.ts","build":"bun run tsc","format":"bun run prettier --write src/**/*.ts","prepare":"husky","publish":"npm publish --access public","typecheck":"bun run tsc --noEmit","format:check":"bun run prettier --check src/**/*.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"repository":{"url":"git+https://github.com/yusing/juststore.git","type":"git"},"_npmVersion":"11.8.0","description":"A small, expressive, and type-safe state management library for React.","directories":{},"sideEffects":false,"_nodeVersion":"25.5.0","dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","react":"^19.2.3","eslint":"^9.39.2","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^24.10.4","@types/react":"^19.2.7","eslint-plugin-react":"^7.37.5","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.50.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.26","@typescript-eslint/eslint-plugin":"^8.50.1"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/juststore_0.4.2_1769609291823_0.7938707585463713","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"juststore","version":"0.4.3","keywords":["state","react","typescript","hooks","store","state management","react hooks"],"author":"Yusing","license":"AGPL-3.0-only","_id":"juststore@0.4.3","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"dist":{"shasum":"561127c227ea2b0f559554bb2adc5130682a31fd","tarball":"https://registry.npmjs.org/juststore/-/juststore-0.4.3.tgz","fileCount":31,"integrity":"sha512-FTNCJ/LK3TT0Ih/OHGLvqjAXoywc401E4b4V2mjFGg2iXDrJBv29FQ8+NbxBfpOQN7wDqoGkzjNn6za8OlGo6w==","signatures":[{"sig":"MEQCIBIDTEC0Viq1UeE3Jxi2wLIz+3guLlyUh/5MkIVZ+dvkAiAOBialZ/oU3Yc8BFDHDKnhuFUTmmEnT9Zs0Sdz1KhaTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":157927},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","shasum":"561127c227ea2b0f559554bb2adc5130682a31fd","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"bun run eslint src/**/*.ts","build":"bun run tsc","format":"bun run prettier --write src/**/*.ts","prepare":"husky","publish":"npm publish --access public","typecheck":"bun run tsc --noEmit","format:check":"bun run prettier --check src/**/*.ts","prepublishOnly":"bun run build"},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"_integrity":"sha512-FTNCJ/LK3TT0Ih/OHGLvqjAXoywc401E4b4V2mjFGg2iXDrJBv29FQ8+NbxBfpOQN7wDqoGkzjNn6za8OlGo6w==","repository":{"url":"git+https://github.com/yusing/juststore.git","type":"git"},"_npmVersion":"10.8.3","description":"A small, expressive, and type-safe state management library for React.","directories":{},"sideEffects":false,"_nodeVersion":"24.3.0","dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","react":"^19.2.3","eslint":"^9.39.2","prettier":"^3.7.4","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^24.10.4","@types/react":"^19.2.7","eslint-plugin-react":"^7.37.5","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.50.1","eslint-plugin-react-hooks":"^7.0.1","eslint-plugin-react-refresh":"^0.4.26","@typescript-eslint/eslint-plugin":"^8.50.1"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/juststore_0.4.3_1770136492134_0.890978346971699","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"juststore","version":"0.4.4","keywords":["state","react","typescript","hooks","store","state management","react hooks"],"author":{"name":"Yusing"},"license":"AGPL-3.0-only","_id":"juststore@0.4.4","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"dist":{"shasum":"92a5dc7a83aff867757b21770af59585c193d264","tarball":"https://registry.npmjs.org/juststore/-/juststore-0.4.4.tgz","fileCount":31,"integrity":"sha512-N+bdVEmnMf+XXKAeUySHttpPka4/tg+XlzurkNhwsw4vKA928l93lA7HsC/BfPdHujYnbLXpPeZr0UhevyfbRQ==","signatures":[{"sig":"MEQCIDD8XfPu/FxDAwkNYpxTHz89ff2JmpEC6fGT55b6VizxAiAHgt2Cg9Fsp8aPzIwWf395Gvd6oU03rzK4c7S+PjUxxQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":157366},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"bun --bun biome","build":"bun --bun tsc","format":"bun --bun biome format --write","prepare":"husky","publish":"npm publish --access public","typecheck":"bun --bun tsc --noEmit","format:check":"bun --bun biome format","prepublishOnly":"bun run build"},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"repository":{"url":"git+https://github.com/yusing/juststore.git","type":"git"},"_npmVersion":"11.9.0","description":"A small, expressive, and type-safe state management library for React.","directories":{},"sideEffects":false,"_nodeVersion":"25.6.1","dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","react":"^19.2.3","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^24.10.4","@types/react":"^19.2.7","@biomejs/biome":"^2.3.14"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/juststore_0.4.4_1771247832297_0.3852909862193463","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"juststore","version":"1.0.0","keywords":["state","react","typescript","hooks","store","state management","react hooks"],"author":{"name":"Yusing"},"license":"AGPL-3.0-only","_id":"juststore@1.0.0","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"dist":{"shasum":"04d1f017def98bf7fc2be0ec5329a4cbbe6c1c8a","tarball":"https://registry.npmjs.org/juststore/-/juststore-1.0.0.tgz","fileCount":33,"integrity":"sha512-X9DsAmZyewLc7glDjZbiL4OJwcvLodJwAhYWq7CDaNRueU0qAIQCHlUsYSa5M4irsc1dPHM43GpL9x3hkJKa+A==","signatures":[{"sig":"MEUCIDZvMhP8+rz1RRhSF5A/+e6nskN7tc/tIxA85vKoPoubAiEAuQYUiXomE2NsZVs9KOwCIeCcpRNCBpO5gOJzvppQJ08=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":157622},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"bun --bun biome","build":"bun --bun tsc","format":"bun --bun biome format --write","prepare":"husky","publish":"npm publish --access public","typecheck":"bun --bun tsc --noEmit","format:check":"bun --bun biome format","prepublishOnly":"bun run build"},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"repository":{"url":"git+https://github.com/yusing/juststore.git","type":"git"},"_npmVersion":"11.10.0","description":"A small, expressive, and type-safe state management library for React.","directories":{},"sideEffects":false,"_nodeVersion":"25.6.1","dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","react":"^19.2.4","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^25.3.0","@types/react":"^19.2.14","@biomejs/biome":"^2.4.2"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/juststore_1.0.0_1771507737246_0.1580281569622255","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"juststore","version":"1.0.1","keywords":["state","react","typescript","hooks","store","state management","react hooks"],"author":{"name":"Yusing"},"license":"AGPL-3.0-only","_id":"juststore@1.0.1","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"dist":{"shasum":"748cb25565dca0300a98a46e259b35b20c2de646","tarball":"https://registry.npmjs.org/juststore/-/juststore-1.0.1.tgz","fileCount":33,"integrity":"sha512-KbwQ0NLrgtnhhFGE0HU+R6QPxkOo0jzzIa0w4pwCsupdlHhg4ge4T1wZNotBU8wywJC2fkKLVi7uOnhbGS0jdA==","signatures":[{"sig":"MEUCIQDs/p3dySetQt12+NRn1+/4SRLa3oWkknjepDB9hZN/CgIgXoa3CfF36/CNo2gXBabIJPPTNAzJna9Wx+CS2/85ngw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":157578},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"bun --bun biome check","build":"bun --bun tsc","format":"bun --bun biome format --write","prepare":"husky","publish":"npm publish --access public","typecheck":"bun --bun tsc --noEmit","format:check":"bun --bun biome format","prepublishOnly":"bun run build"},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"repository":{"url":"git+https://github.com/yusing/juststore.git","type":"git"},"_npmVersion":"11.10.0","description":"A small, expressive, and type-safe state management library for React.","directories":{},"sideEffects":false,"_nodeVersion":"25.6.1","dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","react":"^19.2.4","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^25.3.0","@types/react":"^19.2.14","@biomejs/biome":"^2.4.2"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/juststore_1.0.1_1771508351324_0.33850588258823566","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"juststore","version":"1.1.0","keywords":["state","react","typescript","hooks","store","state management","react hooks"],"author":{"name":"Yusing"},"license":"AGPL-3.0-only","_id":"juststore@1.1.0","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"dist":{"shasum":"d8aeafff15db88f59ccb5922875f82937842978a","tarball":"https://registry.npmjs.org/juststore/-/juststore-1.1.0.tgz","fileCount":33,"integrity":"sha512-XijXpzYEWn3Tpd0ySE95jKFEaG9lVeSgJJY4bNROrzBtMHBJXos85EfHRZJAqePjw2KHhOtHQ8n1Oun+hszTBQ==","signatures":[{"sig":"MEUCIG5QnkT28HPuSM9PXP/jZNpBvIw5UVx6qVtiaWIKg8QdAiEAkHDO3OGAfvnQyC+ARurFLYo/XGTxGOuNa5CAlsWDh0w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":160025},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"biome check","build":"bun --bun tsc","format":"biome format --write","prepare":"husky","publish":"npm publish --access public","typecheck":"bun --bun tsc --noEmit","format:check":"biome format","prepublishOnly":"bun run build"},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"repository":{"url":"git+https://github.com/yusing/juststore.git","type":"git"},"_npmVersion":"11.10.0","description":"A small, expressive, and type-safe state management library for React.","directories":{},"sideEffects":false,"_nodeVersion":"25.6.1","dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","react":"^19.2.4","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^25.3.0","@types/react":"^19.2.14","@biomejs/biome":"^2.4.2"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/juststore_1.1.0_1771612663668_0.40412775050932437","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"juststore","version":"1.1.1","keywords":["state","react","typescript","hooks","store","state management","react hooks"],"author":{"name":"Yusing"},"license":"AGPL-3.0-only","_id":"juststore@1.1.1","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"dist":{"shasum":"b6fe9cd5b4e1e02126f962128a00eb329ce9909d","tarball":"https://registry.npmjs.org/juststore/-/juststore-1.1.1.tgz","fileCount":33,"integrity":"sha512-p7GH0UYyllQDfEMWFovbEcVg6uW3t5pv0MYBdkF0WmPRYR1WJIwb3HWdhlXJsTlNo0SullOuSycE1rmQPZtstQ==","signatures":[{"sig":"MEQCIHsx2ubr/1zeRd3//T9iMiPbBBfoKkwf9qXo2zn0KVo9AiBYsUKz7CtDhhe/poJowizAfrZA1ZkRBgUVaYNIB5KkKQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":160463},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"biome check","build":"bun --bun tsc","format":"biome format --write","prepare":"husky","publish":"npm publish --access public","typecheck":"bun --bun tsc --noEmit","format:check":"biome format","prepublishOnly":"bun run build"},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"repository":{"url":"git+https://github.com/yusing/juststore.git","type":"git"},"_npmVersion":"11.11.0","description":"A small, expressive, and type-safe state management library for React.","directories":{},"sideEffects":false,"_nodeVersion":"25.6.1","dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","react":"^19.2.4","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^25.4.0","@types/react":"^19.2.14","@biomejs/biome":"^2.4.6"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/juststore_1.1.1_1773150278218_0.612083663608681","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"juststore","version":"1.1.2","keywords":["state","react","typescript","hooks","store","state management","react hooks"],"author":{"name":"Yusing"},"license":"AGPL-3.0-only","_id":"juststore@1.1.2","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"dist":{"shasum":"67f3b243f9205fe96e3d6155289bdb878212ef5b","tarball":"https://registry.npmjs.org/juststore/-/juststore-1.1.2.tgz","fileCount":33,"integrity":"sha512-yCtHdOOa4RJUmOti2NaNSzDms8dYIr8OB7+JCZ1Ruu3sKRC4dxJCrhtU93IFl1uW+SdaSXalHd8P1Vew/2V3qw==","signatures":[{"sig":"MEUCIGd4UEeen1rCWHlnzYwCn5JQcYFZostAQzmOC2Y2Ng9KAiEA7VdUEQLBQNK/ICp8PMkwzT192xQjYxGiTAog0ThEwLM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":160419},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"biome check","build":"bun --bun tsc","format":"biome format --write","prepare":"husky","typecheck":"bun --bun tsc --noEmit","format:check":"biome format","prepublishOnly":"bun run build"},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"repository":{"url":"git+https://github.com/yusing/juststore.git","type":"git"},"_npmVersion":"11.11.0","description":"A small, expressive, and type-safe state management library for React.","directories":{},"sideEffects":false,"_nodeVersion":"25.6.1","dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","react":"^19.2.4","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"^25.4.0","@types/react":"^19.2.14","@biomejs/biome":"^2.4.6"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/juststore_1.1.2_1773150434044_0.47913751110806424","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"juststore","version":"1.2.0","keywords":["hooks","react","react hooks","state","state management","store","typescript"],"author":{"name":"Yusing"},"license":"AGPL-3.0-only","_id":"juststore@1.2.0","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"dist":{"shasum":"e9e5d3e2b8739c1fb0524b3cd7da1ba3b8bfdcab","tarball":"https://registry.npmjs.org/juststore/-/juststore-1.2.0.tgz","fileCount":63,"integrity":"sha512-aNDxbC1LzLSOS+t8ifi0dBEY89tANWeluG7BlDJhxg7BdJK2lE5R0VJphXc3c2yraaBdZHD57PFU6l1fTyQ6UA==","signatures":[{"sig":"MEUCIBCw1GO78Cy9gvoWBR2MUJwSKBpRSruLweIxMpZX9ZI5AiEAsdJija6sRbH8GfVBsfgQAMfJAH2JE8C//rAgLXHpG+E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":236409},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"oxlint","build":"bun --bun tsc","format":"oxfmt --write","prepare":"husky","typecheck":"bun --bun tsc --noEmit","format:check":"oxfmt","prepublishOnly":"bun run build"},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"repository":{"url":"git+https://github.com/yusing/juststore.git","type":"git"},"_npmVersion":"11.12.0","description":"A small, expressive, and type-safe state management library for React.","directories":{},"sideEffects":false,"_nodeVersion":"25.8.1","dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","oxfmt":"^0.42.0","react":"^19.2.4","oxlint":"^1.57.0","@eslint/js":"^10.0.1","typescript":"^6.0.2","@types/node":"^25.5.0","@types/react":"^19.2.14"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/juststore_1.2.0_1774508552955_0.6754941986408034","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"juststore","version":"1.2.1","keywords":["hooks","react","react hooks","state","state management","store","typescript"],"author":{"name":"Yusing"},"license":"AGPL-3.0-only","_id":"juststore@1.2.1","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"dist":{"shasum":"e05bcc55aed99079f82c5661ac268780133c7052","tarball":"https://registry.npmjs.org/juststore/-/juststore-1.2.1.tgz","fileCount":33,"integrity":"sha512-7FyKCrvsWzhR81bK4v2rJLmleZClUOfmqtlaTvMMaCU1rZdtsUzrK2iX0l1YzYZhhL8yZggBI2xxUwb+HB1Frg==","signatures":[{"sig":"MEYCIQCUgUQmq/ifxfhE9Z0vPv+kA1oMwxJPAPDHIF78QbgCLAIhAJ2IUy2UxaKjica6zZTOnV+3TiQE6d6ldmoh2YKHBA/M","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127404},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d061908621eca9871881ced43dba0c683558dd4c","scripts":{"lint":"oxlint","build":"bun --bun tsc","format":"oxfmt --write","prepare":"husky","typecheck":"bun --bun tsc --noEmit","format:check":"oxfmt","prepublishOnly":"bun run build"},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"repository":{"url":"git+https://github.com/yusing/juststore.git","type":"git"},"_npmVersion":"11.13.0","description":"A small, expressive, and type-safe state management library for React.","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","oxfmt":"^0.42.0","react":"^19.2.4","oxlint":"^1.57.0","@eslint/js":"^10.0.1","typescript":"^6.0.2","@types/node":"^25.5.0","@types/react":"^19.2.14"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/juststore_1.2.1_1777776666956_0.05882966817161295","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"juststore","version":"1.2.2","keywords":["hooks","react","react hooks","state","state management","store","typescript"],"author":{"name":"Yusing"},"license":"AGPL-3.0-only","_id":"juststore@1.2.2","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"dist":{"shasum":"5f5d5131545e98ae7e4f45dd1691204cc4629058","tarball":"https://registry.npmjs.org/juststore/-/juststore-1.2.2.tgz","fileCount":33,"integrity":"sha512-bpxuxY/ENys5RmvS2aYSZlVUvGeQHGiCNWn1JiFAVmoXlV/1Pg0Yjzmeef0Kx9iaG2otaAcqS3mOqJNeDLzSpQ==","signatures":[{"sig":"MEYCIQCiEP+wBdl9Z51/HjKxL4HauH/9DGlLmwN4S/hrRJoxMQIhAM5JY5lQviY8kmkQzkJ9xzF8u7xGdvBI7psh86yU6rr1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127876},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"720fe795bea6dbe4971d946598d9c2037d1464ff","scripts":{"lint":"oxlint","build":"bun --bun tsc","format":"oxfmt --write","prepare":"husky","typecheck":"bun --bun tsc --noEmit","format:check":"oxfmt","prepublishOnly":"bun run build"},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"repository":{"url":"git+https://github.com/yusing/juststore.git","type":"git"},"_npmVersion":"11.16.0","description":"A small, expressive, and type-safe state management library for React.","directories":{},"sideEffects":false,"_nodeVersion":"26.4.0","dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","oxfmt":"^0.42.0","react":"^19.2.4","oxlint":"^1.57.0","@eslint/js":"^10.0.1","typescript":"^6.0.2","@types/node":"^25.5.0","@types/react":"^19.2.14"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/juststore_1.2.2_1782965372390_0.4994718307774684","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"juststore","version":"1.2.3","keywords":["hooks","react","react hooks","state","state management","store","typescript"],"author":{"name":"Yusing"},"license":"AGPL-3.0-only","_id":"juststore@1.2.3","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"dist":{"shasum":"6a4ef3e3227231c0746a22373cac2967a300a4a1","tarball":"https://registry.npmjs.org/juststore/-/juststore-1.2.3.tgz","fileCount":33,"integrity":"sha512-3+DvyAPrySnpe1gDOnQgXJZUSYrsr9MTyVdO9mI8pNamEJc3x5fclNtauitatZKU4rQfyAQtmphL8HbzeDUmnw==","signatures":[{"sig":"MEUCIQDUMJKhzoRhA16vJtPkyutp6tgjjJQ++y/gQymZXi4pwAIgGlvlkov6X3kHB2wbVEXdpowkuRiyf1TGeC/ZJvIn28g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":129839},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"9773bc8101ecb2e578bd1486a40679fb101c994a","scripts":{"lint":"oxlint","build":"bun --bun tsc","format":"oxfmt --write","prepare":"husky","typecheck":"bun --bun tsc --noEmit","format:check":"oxfmt","prepublishOnly":"bun run build"},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"repository":{"url":"git+https://github.com/yusing/juststore.git","type":"git"},"_npmVersion":"12.0.1","description":"A small, expressive, and type-safe state management library for React.","directories":{},"sideEffects":false,"_nodeVersion":"26.4.0","dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","oxfmt":"^0.42.0","react":"^19.2.4","oxlint":"^1.57.0","@eslint/js":"^10.0.1","typescript":"^6.0.2","@types/node":"^25.5.0","@types/react":"^19.2.14"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/juststore_1.2.3_1785725315156_0.8292335137466893","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"juststore","version":"1.2.4","description":"A small, expressive, and type-safe state management library for React.","keywords":["hooks","react","react hooks","state","state management","store","typescript"],"homepage":"https://github.com/yusing/juststore","bugs":{"url":"https://github.com/yusing/juststore/issues"},"license":"AGPL-3.0-only","author":{"name":"Yusing"},"repository":{"type":"git","url":"git+https://github.com/yusing/juststore.git"},"type":"module","sideEffects":false,"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"bun --bun tsc","format":"oxfmt --write","format:check":"oxfmt","lint":"oxlint","prepare":"husky","prepublishOnly":"bun run build","typecheck":"bun --bun tsc --noEmit"},"dependencies":{"change-case":"^5.4.4","react-fast-compare":"^3.2.2"},"devDependencies":{"@eslint/js":"^10.0.1","@types/node":"^25.5.0","@types/react":"^19.2.14","husky":"^9.1.7","oxfmt":"^0.42.0","oxlint":"^1.57.0","react":"^19.2.4","typescript":"^6.0.2"},"peerDependencies":{"react":">=18.0.0"},"gitHead":"67cc5218bf0b6dc175c2ca0dbfedd10ee8536920","_id":"juststore@1.2.4","_nodeVersion":"26.4.0","_npmVersion":"12.0.2","dist":{"integrity":"sha512-t92KAQ87MxWGtODAZKgSewq60L28ufF+ppp6T9kT8dwk+i3AsG7j/EuI6etNxU3nnnxXDaYSU7+vv9032rfHQA==","shasum":"d116e67993a9fcbdd5565b40b9882d6952ee062c","tarball":"https://registry.npmjs.org/juststore/-/juststore-1.2.4.tgz","fileCount":33,"unpackedSize":129863,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIF/z/eOqhaJyzvKa9Enxemc5bNsLjudvjLYgPIxk+xk3AiBj+2lVao29ckWZ+WyqEz/JTjj/9c7NYslfRNiJAyB7Zw=="}]},"_npmUser":{"name":"yusingwys","email":"yusing.wys@gmail.com"},"directories":{},"maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/juststore_1.2.4_1785998782079_0.498669712289493"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-09T06:26:31.092Z","modified":"2026-08-06T06:46:22.409Z","0.0.1":"2025-12-09T06:26:31.340Z","0.0.2":"2025-12-09T06:45:45.040Z","0.0.3":"2025-12-09T07:52:38.411Z","0.0.4":"2025-12-09T07:58:38.183Z","0.0.5":"2025-12-09T08:01:17.090Z","0.0.6":"2025-12-10T08:26:20.343Z","0.0.7":"2025-12-11T02:32:25.025Z","0.1.0":"2025-12-11T03:09:59.778Z","0.1.1":"2025-12-11T03:15:21.663Z","0.1.2":"2025-12-11T03:17:07.726Z","0.1.3":"2025-12-11T04:22:50.427Z","0.1.4":"2025-12-11T04:37:26.655Z","0.3.0":"2025-12-17T07:25:15.182Z","0.3.2":"2025-12-18T03:12:19.213Z","0.3.3":"2025-12-30T10:31:44.457Z","0.3.4":"2026-01-02T10:20:25.533Z","0.3.5":"2026-01-07T08:59:25.494Z","0.4.0":"2026-01-26T03:36:42.997Z","0.4.1":"2026-01-26T03:51:50.342Z","0.4.2":"2026-01-28T14:08:11.999Z","0.4.3":"2026-02-03T16:34:52.275Z","0.4.4":"2026-02-16T13:17:12.445Z","1.0.0":"2026-02-19T13:28:57.396Z","1.0.1":"2026-02-19T13:39:11.465Z","1.1.0":"2026-02-20T18:37:43.831Z","1.1.1":"2026-03-10T13:44:38.378Z","1.1.2":"2026-03-10T13:47:14.203Z","1.2.0":"2026-03-26T07:02:33.105Z","1.2.1":"2026-05-03T02:51:07.111Z","1.2.2":"2026-07-02T04:09:32.591Z","1.2.3":"2026-08-03T02:48:35.359Z","1.2.4":"2026-08-06T06:46:22.252Z"},"bugs":{"url":"https://github.com/yusing/juststore/issues"},"author":{"name":"Yusing"},"license":"AGPL-3.0-only","homepage":"https://github.com/yusing/juststore","keywords":["hooks","react","react hooks","state","state management","store","typescript"],"repository":{"type":"git","url":"git+https://github.com/yusing/juststore.git"},"description":"A small, expressive, and type-safe state management library for React.","maintainers":[{"name":"yusingwys","email":"yusing.wys@gmail.com"}],"readme":"# juststore\n\nA small, expressive, and type-safe state management library for React.\n\n## Features\n\n- Type-safe deep state with property-style access (`store.user.profile.name`)\n- Path-based API for dynamic access (`store.use(\"user.profile.name\")`)\n- Fine-grained subscriptions powered by `useSyncExternalStore`\n- Optional persistence + cross-tab sync (`createStore`)\n- Memory-only scoped stores (`useMemoryStore`, `createMemoryStore`)\n- Built-in form state + validation (`useForm`, `createForm`)\n- Computed, derived, and mixed read models\n\n## Installation\n\n```bash\nbun add juststore\n```\n\n## Quick Start\n\n```tsx\nimport { createStore } from 'juststore'\nimport { toast } from 'sonner'\n\ntype AppState = {\n  user: {\n    name: string\n    preferences: {\n      theme: 'light' | 'dark'\n    }\n  }\n  todos: { id: number; text: string; done: boolean }[]\n}\n\nconst store = createStore<AppState>('app', {\n  user: {\n    name: 'Guest',\n    preferences: { theme: 'light' }\n  },\n  todos: []\n})\n\nasync function initUserDetails() {\n  const response = await fetch('/api/user/details')\n  const data = (await response.json()) as AppState['user']\n  store.user.set(data)\n}\n\nfunction ThemeToggle() {\n  const theme = store.user.preferences.theme.use()\n  const nextTheme = theme === 'light' ? 'dark' : 'light'\n\n  const updateTheme = async () => {\n    try {\n      const response = await fetch('/api/user/preferences/theme', {\n        method: 'PUT',\n        headers: { 'Content-Type': 'application/json' },\n        body: JSON.stringify({ theme: nextTheme })\n      })\n\n      if (!response.ok) {\n        throw new Error('Theme update failed')\n      }\n\n      store.user.preferences.theme.set(nextTheme)\n    } catch {\n      toast.error('Failed to update theme')\n    }\n  }\n\n  return <button onClick={updateTheme}>Theme: {theme}</button>\n}\n```\n\n## Real-World Patterns\n\n### 1) Debounced search + category filter\n\n```tsx\ntype SearchState = {\n  query: string\n  category: 'all' | 'running' | 'stopped'\n  services: { id: string; name: string; status: 'running' | 'stopped' }[]\n}\n\nconst searchStore = createStore<SearchState>('services-search', {\n  query: '',\n  category: 'all',\n  services: []\n})\n\nfunction SearchQueryInput() {\n  const query = searchStore.query.use() ?? ''\n  return (\n    <input\n      value={query}\n      onChange={e => searchStore.query.set(e.target.value)}\n      placeholder=\"Search services\"\n    />\n  )\n}\n\nfunction SearchCategoryFilter() {\n  const category = searchStore.category.use()\n  return (\n    <select\n      value={category}\n      onChange={e => searchStore.category.set(e.target.value as SearchState['category'])}\n    >\n      <option value=\"all\">All</option>\n      <option value=\"running\">Running</option>\n      <option value=\"stopped\">Stopped</option>\n    </select>\n  )\n}\n\nfunction SearchResults() {\n  const query = searchStore.query.useDebounce(150) ?? ''\n  const category = searchStore.category.use()\n\n  const visible = searchStore.services.useCompute(\n    services => {\n      const list = services ?? []\n      return list.filter(service => {\n        const nameMatch = service.name.toLowerCase().includes(query.toLowerCase())\n        const categoryMatch = category === 'all' ? true : service.status === category\n        return nameMatch && categoryMatch\n      })\n    },\n    [query, category]\n  )\n\n  return (\n    <ul>\n      {visible.map(service => (\n        <li key={service.id}>{service.name}</li>\n      ))}\n    </ul>\n  )\n}\n\nfunction ServiceSearchPage() {\n  return (\n    <>\n      <SearchQueryInput />\n      <SearchCategoryFilter />\n      <SearchResults />\n    </>\n  )\n}\n```\n\n### 2) WebSocket ingestion into normalized state\n\n```tsx\ntype RouteUptime = { alias: string; uptime: number }\ntype UptimeState = {\n  routeKeys: string[]\n  uptimeByAlias: Record<string, RouteUptime>\n}\n\nconst uptimeStore = createStore<UptimeState>('uptime', {\n  routeKeys: [],\n  uptimeByAlias: {}\n})\n\nfunction onUptimeMessage(rows: RouteUptime[]) {\n  const keys = rows.map(row => row.alias).toSorted()\n  uptimeStore.routeKeys.set(keys)\n\n  uptimeStore.uptimeByAlias.set(\n    rows.reduce<Record<string, RouteUptime>>((acc, row) => {\n      acc[row.alias] = row\n      return acc\n    }, {})\n  )\n}\n\n// fine grained subscription\nfunction UptimeComponent({ alias }: { alias: string }) {\n  const uptime = uptimeStore.uptimeByAlias[alias]?.uptime.use()\n  return <div>Uptime: {uptime ?? 'Unknown'}</div>\n}\n```\n\n### 3) Dynamic object keys for editable maps\n\n```tsx\ntype HeaderState = {\n  headers: Record<string, string>\n}\n\nconst headerStore = createStore<HeaderState>('route-headers', {\n  headers: {}\n})\n\nfunction HeadersEditor() {\n  // keys is a virtual property that returns a state proxy for the keys array\n  // it only recomputes when the keys array changes\n  const keys = headerStore.headers.keys.use()\n\n  return (\n    <div>\n      {keys.map(key => (\n        <div key={key}>\n          <input\n            value={key}\n            onChange={e => headerStore.headers.rename(key, e.target.value.trim())}\n          />\n          {/* Render and update without cascade rerendering the entire HeadersEditor */}\n          <RenderWithUpdate state={headerStore.headers[key]}>\n            {(value, update) => <input value={value} onChange={e => update(e.target.value)} />}\n          </RenderWithUpdate>\n          <button onClick={() => headerStore.headers[key].reset()}>remove</button>\n        </div>\n      ))}\n    </div>\n  )\n}\n```\n\n### 4) Typed form with validation and submit gating\n\n```tsx\nimport { useForm } from 'juststore'\nimport { StoreFormInputField, StoreFormPasswordField } from '@/components/store/Input' // from juststore-shadcn\n\ntype LoginForm = {\n  email: string\n  password: string\n}\n\nfunction LoginPage() {\n  const form = useForm<LoginForm>(\n    { email: '', password: '' },\n    {\n      email: { validate: /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/ },\n      password: {\n        validate: value => (value && value.length < 8 ? 'Password too short' : undefined)\n      }\n    }\n  )\n\n  return (\n    <form onSubmit={form.handleSubmit(values => console.log(values))}>\n      <StoreFormInputField\n        state={form.email}\n        type=\"email\"\n        title=\"Email\"\n        placeholder=\"you@example.com\"\n      />\n      <StoreFormPasswordField\n        state={form.password}\n        title=\"Password\"\n        placeholder=\"At least 8 characters\"\n      />\n      <button type=\"submit\">Sign in</button>\n    </form>\n  )\n}\n```\n\n### 5) Mixed read model for unified UI flags\n\n```tsx\nimport { createMixedState, createStore } from 'juststore'\n\ntype OpsState = {\n  syncingConfig: boolean\n  savingRoute: boolean\n  reloadingAgent: boolean\n}\n\nconst opsStore = createStore<OpsState>('ops', {\n  syncingConfig: false,\n  savingRoute: false,\n  reloadingAgent: false\n})\n\nconst busyState = createMixedState(\n  opsStore.syncingConfig,\n  opsStore.savingRoute,\n  opsStore.reloadingAgent\n)\n\nfunction GlobalBusyOverlay() {\n  const isBusy = busyState.useCompute(\n    ([syncingConfig, savingRoute, reloadingAgent]) => syncingConfig || savingRoute || reloadingAgent\n  )\n\n  if (!isBusy) return null\n  return <div className=\"overlay\">Loading...</div>\n}\n\nfunction BusyLabel() {\n  const label = busyState.useCompute(([syncingConfig, savingRoute, reloadingAgent]) => {\n    if (syncingConfig) return 'Syncing config...'\n    if (savingRoute) return 'Saving route...'\n    if (reloadingAgent) return 'Reloading agent...'\n    return 'Idle'\n  })\n\n  return <span>{label}</span>\n}\n```\n\n## Core Usage\n\n### Read and write state\n\n```tsx\nconst name = store.user.name.use() // subscribe\nconst current = store.user.name.value // read without subscribe\nstore.user.name.set('Alice')\nstore.user.name.set(prev => prev.toUpperCase())\n```\n\n### Path-based dynamic API\n\n```tsx\nstore.set('user.name', 'Alice')\nconst name = store.use('user.name')\nconst value = store.value('user.name')\n```\n\n### Arrays\n\n```tsx\nstore.todos.push({ id: Date.now(), text: 'new', done: false })\nstore.todos.at(0).done.set(true)\nstore.todos.sortedInsert((a, b) => a.id - b.id, {\n  id: 2,\n  text: 'x',\n  done: false\n})\n\nconst len = store.todos.length\nconst liveLen = store.todos.useLength()\n```\n\n### Computed and derived values\n\n```tsx\nconst total = store.cart.items.useCompute(\n  items => items?.reduce((sum, item) => sum + item.price * item.qty, 0) ?? 0\n)\n\nconst fahrenheit = store.temperature.derived({\n  from: celsius => ((celsius ?? 0) * 9) / 5 + 32,\n  to: f => ((f - 32) * 5) / 9\n})\n```\n\n### Render helpers\n\n```tsx\nimport { Conditional, Render, RenderWithUpdate } from 'juststore'\n;<Render state={store.counter}>{value => <span>{value}</span>}</Render>\n;<RenderWithUpdate state={store.counter}>\n  {(value, update) => <button onClick={() => update((value ?? 0) + 1)}>{value}</button>}\n</RenderWithUpdate>\n;<Conditional state={store.user.role} on={role => role === 'admin'}>\n  <AdminPage />\n</Conditional>\n```\n\n## API Reference\n\n## Top-Level Exports\n\n- `createStore(namespace, defaultValue, options?)`\n- `createMemoryStore(namespace, defaultValue)`\n- `useMemoryStore(defaultValue)`\n- `createForm(namespace, defaultValue, fieldConfigs?)`\n- `useForm(defaultValue, fieldConfigs?)`\n- `createMixedState(...states)`\n- `createAtom(id, defaultValue, persistent?)`\n- `Render`, `RenderWithUpdate`, `Conditional`, `ConditionalRender`\n- `isEqual`\n- All public types from `path`, `types`, and `form`\n\n### `createStore(namespace, defaultValue, options?)`\n\nCreates a persistent store (unless `options.memoryOnly` is true).\n\n- `namespace: string` - storage namespace\n- `defaultValue: T` - default root value\n- `options?: { memoryOnly?: boolean }`\n\nReturns a store that supports both:\n\n- deep proxy usage (`store.user.name.use()`)\n- path-based usage (`store.use(\"user.name\")`)\n\n### `createMemoryStore(namespace, defaultValue)` / `useMemoryStore(defaultValue)`\n\nCreates memory-only stores (no localStorage persistence).\n\n- `createMemoryStore` is useful outside React hooks or for explicit namespaces\n- `useMemoryStore` creates component-scoped state keyed by `useId()`\n\n### `createAtom(id, defaultValue, persistent?)`\n\nCreates a scalar atom-like state.\n\n- `persistent` defaults to `false`\n- methods: `.value`, `.use()`, `.set(value | updater)`, `.reset()`, `.subscribe(listener)`, `.useCompute(fn, deps?)`\n\n### `createForm(namespace, defaultValue, fieldConfigs?)` / `useForm(defaultValue, fieldConfigs?)`\n\nCreates a form store with built-in error state and validation.\n\nField validators support:\n\n- `\"not-empty\"`\n- `RegExp`\n- `(value, form) => string | undefined`\n\nAdditional form methods:\n\n- `.useError()`\n- `.error`\n- `.setError(message | undefined)`\n- `.clearErrors()`\n- `.handleSubmit(onSubmit)` — clears stale errors, validates current values, then calls `onSubmit`\n  only when current validation passes\n\n### `createMixedState(...states)`\n\nCombines multiple states into one read-only tuple-like state.\n\n- `.value` returns current tuple\n- `.use()` subscribes to all source states\n- `.useCompute(fn)` computes derived values from the tuple\n\n### Render utilities\n\n- `Render` - render-prop helper for read-only usage\n- `RenderWithUpdate` - render-prop helper with updater callback\n- `Conditional` - show/hide children based on predicate; uses `Activity` so children stay mounted when hidden (state preserved)\n- `ConditionalRender` - render only when predicate is true; children are a render prop receiving the value; returns `null` when false (unmounted)\n\n## Store / State Methods\n\n### Root store methods\n\n| Method                           | Description                                     |\n| -------------------------------- | ----------------------------------------------- |\n| `.state(path)`                   | Returns a state proxy for the path              |\n| `.use(path)`                     | Subscribes and returns current value            |\n| `.useDebounce(path, delay)`      | Debounced subscription                          |\n| `.useState(path)`                | `[value, setValue]` convenience tuple           |\n| `.value(path)`                   | Reads current value without subscription        |\n| `.set(path, value, skipUpdate?)` | Sets value (or updater function)                |\n| `.reset(path)`                   | Resets path back to default value for that path |\n| `.rename(path, oldKey, newKey)`  | Renames an object key                           |\n| `.subscribe(path, listener)`     | Subscribes to path updates                      |\n| `.useCompute(path, fn, deps?)`   | Computes memoized derived values                |\n| `.notify(path)`                  | Forces listener notification for path           |\n\n### Common state-node methods\n\nAvailable on all nodes (`store.a.b.c`):\n\n| Method                       | Description                     |\n| ---------------------------- | ------------------------------- |\n| `.value`                     | Read value without subscribing  |\n| `.field`                     | Last path segment               |\n| `.use()`                     | Subscribe and read              |\n| `.useDebounce(delay)`        | Debounced subscribe/read        |\n| `.useState()`                | `[value, setValue]`             |\n| `.set(value, skipUpdate?)`   | Set value (or updater function) |\n| `.reset()`                   | Reset path to default value     |\n| `.subscribe(listener)`       | Subscribe to path changes       |\n| `.useCompute(fn, deps?)`     | Compute derived value           |\n| `.derived({ from, to })`     | Bidirectional virtual transform |\n| `.ensureArray()`             | Array-safe state wrapper        |\n| `.ensureObject()`            | Object-safe state wrapper       |\n| `.withDefault(defaultValue)` | Fallback for nullish values     |\n| `.notify()`                  | Forces listener notification    |\n\n### Object-state additions\n\n| Method                    | Description                 |\n| ------------------------- | --------------------------- |\n| `.keys`                   | Read-only stable keys state |\n| `.rename(oldKey, newKey)` | Rename object key           |\n| `[key]`                   | Nested field access         |\n\n### Array-state additions\n\n| Method                                   | Description              |\n| ---------------------------------------- | ------------------------ |\n| `.length`                                | Current length           |\n| `.useLength()`                           | Subscribe to length only |\n| `.at(index)` / `[index]`                 | Access item state        |\n| `.push(...items)`                        | Push items               |\n| `.pop()`                                 | Pop item                 |\n| `.shift()`                               | Shift item               |\n| `.unshift(...items)`                     | Unshift items            |\n| `.splice(start, deleteCount?, ...items)` | Splice items             |\n| `.reverse()`                             | Reverse array            |\n| `.sort(compareFn?)`                      | Sort array               |\n| `.fill(value, start?, end?)`             | Fill array               |\n| `.copyWithin(target, start, end?)`       | Copy within array        |\n| `.sortedInsert(cmp, ...items)`           | Insert by comparator     |\n\n## Notes\n\n- `createStore` persists by default; use `memoryOnly` for ephemeral data.\n- `reset` restores default path value passed to `createStore`, it does not delete to `undefined`.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}