{"_id":"@jasperoosthoek/zustand-crud-registry","_rev":"28-eca8ae1c1bb5b06619091fe46fd72ec2","name":"@jasperoosthoek/zustand-crud-registry","dist-tags":{"latest":"0.3.3"},"versions":{"0.0.1":{"name":"@jasperoosthoek/zustand-crud-registry","version":"0.0.1","author":{"name":"jasperoosthoek"},"license":"MIT","_id":"@jasperoosthoek/zustand-crud-registry@0.0.1","maintainers":[{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"}],"homepage":"https://github.com/jasperoosthoek/zustand-crud-registry#readme","bugs":{"url":"https://github.com/jasperoosthoek/zustand-crud-registry/issues"},"dist":{"shasum":"422a1318c9c40d8cf4904546fc959b787970c5a6","tarball":"https://registry.npmjs.org/@jasperoosthoek/zustand-crud-registry/-/zustand-crud-registry-0.0.1.tgz","fileCount":14,"integrity":"sha512-f6GPHY/w2dTTDN5XxabprUff7z3lw3iElHRC1879Y26We6epLg6ntn3tRMNATeERv9G9zqANa5VxXm3Hdt6dbA==","signatures":[{"sig":"MEUCIQDvYKtgOvsnjReUCzoaFq/OlfaNdlh+hh/V75SPtmDJQgIgKulrgBRZZciEXfamJYxGv0+YOuyrRweo6iDWaHiCP9Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98908},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"3b0e317a6c19243df8d1ad8d2417aba43c6c9023","scripts":{"build":"webpack","prepublishOnly":"npm run build"},"_npmUser":{"name":"jasperoosthoek","actor":{"name":"jasperoosthoek","type":"user","email":"jasperoosthoek@hotmail.com"},"email":"jasperoosthoek@hotmail.com"},"repository":{"url":"git+https://github.com/jasperoosthoek/zustand-crud-registry.git","type":"git"},"_npmVersion":"10.5.0","description":"Flexible library to interact with a CRUD backend using Zustand and Axios","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.3","webpack":"^5.76.0","ts-loader":"^9.4.2","@babel/cli":"^7.14.3","babel-jest":"^28.1.3","typescript":"^4.9.5","@babel/core":"^7.18.6","webpack-cli":"^5.0.1","@types/react":"^19.1.8","babel-loader":"^8.2.5","@babel/register":"^7.13.16","@babel/preset-env":"^7.18.6","webpack-node-externals":"^3.0.0","@babel/preset-typescript":"^7.21.0"},"peerDependencies":{"axios":"^1.6.2","react":"19.0.0","zustand":"^5.0.5","react-dom":"19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-crud-registry_0.0.1_1750874634085_0.4065264473981052","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@jasperoosthoek/zustand-crud-registry","version":"0.0.2","author":{"name":"jasperoosthoek"},"license":"MIT","_id":"@jasperoosthoek/zustand-crud-registry@0.0.2","maintainers":[{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"}],"homepage":"https://github.com/jasperoosthoek/zustand-crud-registry#readme","bugs":{"url":"https://github.com/jasperoosthoek/zustand-crud-registry/issues"},"dist":{"shasum":"d620e3bf65467624c249818abaac153727c2cf07","tarball":"https://registry.npmjs.org/@jasperoosthoek/zustand-crud-registry/-/zustand-crud-registry-0.0.2.tgz","fileCount":14,"integrity":"sha512-DMTY0TIx4nh6TCQ0hzBGOqIvSC9OPpg9JzyZxBrbwj1lQ8Xz5YAbO2auxdq/yyfyiTpCJJbzKTzWCC9b7xEwNg==","signatures":[{"sig":"MEYCIQD7RvRfXnh1pLxjzxaLuHIAfjYpmbM1AGy08W7nqwj/bgIhAKVub8t6NzUE8Fu2F4AaNPsdMhBLIhfkqgGeokBmkAzM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100242},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"3b0e317a6c19243df8d1ad8d2417aba43c6c9023","scripts":{"build":"webpack","prepublishOnly":"npm run build"},"_npmUser":{"name":"jasperoosthoek","actor":{"name":"jasperoosthoek","type":"user","email":"jasperoosthoek@hotmail.com"},"email":"jasperoosthoek@hotmail.com"},"repository":{"url":"git+https://github.com/jasperoosthoek/zustand-crud-registry.git","type":"git"},"_npmVersion":"10.5.0","description":"Flexible library to interact with a CRUD backend using Zustand and Axios","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.3","webpack":"^5.76.0","ts-loader":"^9.4.2","@babel/cli":"^7.14.3","babel-jest":"^28.1.3","typescript":"^4.9.5","@babel/core":"^7.18.6","webpack-cli":"^5.0.1","@types/react":"^19.1.8","babel-loader":"^8.2.5","@babel/register":"^7.13.16","@babel/preset-env":"^7.18.6","webpack-node-externals":"^3.0.0","@babel/preset-typescript":"^7.21.0"},"peerDependencies":{"axios":"^1.6.2","react":"19.0.0","zustand":"^5.0.5","react-dom":"19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-crud-registry_0.0.2_1750887646071_0.5347285458176425","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@jasperoosthoek/zustand-crud-registry","version":"0.0.3","author":{"name":"jasperoosthoek"},"license":"MIT","_id":"@jasperoosthoek/zustand-crud-registry@0.0.3","maintainers":[{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"}],"homepage":"https://github.com/jasperoosthoek/zustand-crud-registry#readme","bugs":{"url":"https://github.com/jasperoosthoek/zustand-crud-registry/issues"},"dist":{"shasum":"eac6e53d4b8a62bce22719f953b9086a28ceb8e8","tarball":"https://registry.npmjs.org/@jasperoosthoek/zustand-crud-registry/-/zustand-crud-registry-0.0.3.tgz","fileCount":16,"integrity":"sha512-AaNVc17FRiTnrn7kzlPHzI+PhAXHg6OD7jsLqELEyTGmI9P6wpjsikyvcchWVcjndzM80FMJ1VW6m2MNz5Cf9A==","signatures":[{"sig":"MEQCIF8ooU/FJ28Fqj9yQzci/ArX7mekKhOdWqCOcN6SKn/DAiBQWbShIctj29mQF4OxrjJJVP6Qk2flVdiJoZVL/3UErA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104528},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"7cd03023462c8c73185f13c795edcad54722d4e8","scripts":{"build":"webpack","prepublishOnly":"npm run build"},"_npmUser":{"name":"jasperoosthoek","actor":{"name":"jasperoosthoek","type":"user","email":"jasperoosthoek@hotmail.com"},"email":"jasperoosthoek@hotmail.com"},"repository":{"url":"git+https://github.com/jasperoosthoek/zustand-crud-registry.git","type":"git"},"_npmVersion":"10.9.2","description":"Flexible library to interact with a CRUD backend using Zustand and Axios","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.3","webpack":"^5.76.0","ts-loader":"^9.4.2","@babel/cli":"^7.14.3","babel-jest":"^28.1.3","typescript":"^4.9.5","@babel/core":"^7.18.6","webpack-cli":"^5.0.1","@types/react":"^19.1.8","babel-loader":"^8.2.5","@babel/register":"^7.13.16","@babel/preset-env":"^7.18.6","webpack-node-externals":"^3.0.0","@babel/preset-typescript":"^7.21.0"},"peerDependencies":{"axios":"^1.6.2","react":"19.0.0","zustand":"^5.0.5","react-dom":"19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-crud-registry_0.0.3_1750967476511_0.789243482456575","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@jasperoosthoek/zustand-crud-registry","version":"0.0.4","author":{"name":"jasperoosthoek"},"license":"MIT","_id":"@jasperoosthoek/zustand-crud-registry@0.0.4","maintainers":[{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"}],"homepage":"https://github.com/jasperoosthoek/zustand-crud-registry#readme","bugs":{"url":"https://github.com/jasperoosthoek/zustand-crud-registry/issues"},"dist":{"shasum":"5158aa7f9b1079663fa0106b4ae00426156d9bed","tarball":"https://registry.npmjs.org/@jasperoosthoek/zustand-crud-registry/-/zustand-crud-registry-0.0.4.tgz","fileCount":16,"integrity":"sha512-Xgdj3N7+fJ+54kRR5WF8D0+KKHjdprhb2MGPm4vALHtWO8yhxTRDg374S3hVScYb6E/zWt0HLdSTcVO5a+sy5g==","signatures":[{"sig":"MEQCICGXCsFZTEAS8OaANBzl5o66gZf25xawm88s2iQIw4FCAiAaIjj+f3XzkOrvC1I1ji25O6ZgBURHgJX5QBYtafsmtg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104654},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"bfa050e4bff027562fbdbf932655d0a593f54ab4","scripts":{"build":"webpack","prepublishOnly":"npm run build"},"_npmUser":{"name":"jasperoosthoek","actor":{"name":"jasperoosthoek","type":"user","email":"jasperoosthoek@hotmail.com"},"email":"jasperoosthoek@hotmail.com"},"repository":{"url":"git+https://github.com/jasperoosthoek/zustand-crud-registry.git","type":"git"},"_npmVersion":"10.5.0","description":"Flexible library to interact with a CRUD backend using Zustand and Axios","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.3","webpack":"^5.76.0","ts-loader":"^9.4.2","@babel/cli":"^7.14.3","babel-jest":"^28.1.3","typescript":"^4.9.5","@babel/core":"^7.18.6","webpack-cli":"^5.0.1","@types/react":"^19.1.8","babel-loader":"^8.2.5","@babel/register":"^7.13.16","@babel/preset-env":"^7.18.6","webpack-node-externals":"^3.0.0","@babel/preset-typescript":"^7.21.0"},"peerDependencies":{"axios":"^1.6.2","react":"19.0.0","zustand":"^5.0.5","react-dom":"19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-crud-registry_0.0.4_1750968606195_0.11752194463343058","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@jasperoosthoek/zustand-crud-registry","version":"0.0.5","author":{"name":"jasperoosthoek"},"license":"MIT","_id":"@jasperoosthoek/zustand-crud-registry@0.0.5","maintainers":[{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"}],"homepage":"https://github.com/jasperoosthoek/zustand-crud-registry#readme","bugs":{"url":"https://github.com/jasperoosthoek/zustand-crud-registry/issues"},"dist":{"shasum":"51188886806f53896b6859c4cb27aa9e6bd08e9b","tarball":"https://registry.npmjs.org/@jasperoosthoek/zustand-crud-registry/-/zustand-crud-registry-0.0.5.tgz","fileCount":16,"integrity":"sha512-HYIzkQJr3IeQTyewkUxAlQrsMY8PSpinanr7uNzlMEn58PGONxwuuX0+Xo4RMT02Z44UqGQ4hEnzYKjKUKukKg==","signatures":[{"sig":"MEQCIFelDHGus0UQNL28l8GGEDzl6j45zIhVm78CMj0bn61fAiAYZoD4FJTRLXAjGMffbm3aq1pLmgraD0uEPDsVsXs4Cw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104659},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"e8c7cc8e1248d127bcd8969b9a5ace8f1719754e","scripts":{"build":"webpack","prepublishOnly":"npm run build"},"_npmUser":{"name":"jasperoosthoek","actor":{"name":"jasperoosthoek","type":"user","email":"jasperoosthoek@hotmail.com"},"email":"jasperoosthoek@hotmail.com"},"repository":{"url":"git+https://github.com/jasperoosthoek/zustand-crud-registry.git","type":"git"},"_npmVersion":"10.5.0","description":"Flexible library to interact with a CRUD backend using Zustand and Axios","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.3","webpack":"^5.76.0","ts-loader":"^9.4.2","@babel/cli":"^7.14.3","babel-jest":"^28.1.3","typescript":"^4.9.5","@babel/core":"^7.18.6","webpack-cli":"^5.0.1","@types/react":"^19.1.8","babel-loader":"^8.2.5","@babel/register":"^7.13.16","@babel/preset-env":"^7.18.6","webpack-node-externals":"^3.0.0","@babel/preset-typescript":"^7.21.0"},"peerDependencies":{"axios":"^1.6.2","react":"19.0.0","zustand":"^5.0.5","react-dom":"19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-crud-registry_0.0.5_1750969220128_0.958273489414684","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@jasperoosthoek/zustand-crud-registry","version":"0.0.6","author":{"name":"jasperoosthoek"},"license":"MIT","_id":"@jasperoosthoek/zustand-crud-registry@0.0.6","maintainers":[{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"}],"homepage":"https://github.com/jasperoosthoek/zustand-crud-registry#readme","bugs":{"url":"https://github.com/jasperoosthoek/zustand-crud-registry/issues"},"dist":{"shasum":"00278eb59b863e4b1b7b2f32be3e6c4e3d7fe2b7","tarball":"https://registry.npmjs.org/@jasperoosthoek/zustand-crud-registry/-/zustand-crud-registry-0.0.6.tgz","fileCount":16,"integrity":"sha512-uc8w6eFyddfckuSeBw9E+96DXbfV81xiwGMpDKFOCvPokwTWf0bdG7wi43cTUdXikN/A9sPwyX20M5idGtHpdg==","signatures":[{"sig":"MEYCIQC7nQE3r8A0ckpsCrzbO1mKNxCH+N/aIGPeZ4GDcMnrywIhANJTX4pqbNeF1+IAPicfNRUuyvQ7qMej2LWWfe7qFBr2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":106252},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"35172ffd97abeb4de6bcfcbde29da385df863087","scripts":{"build":"webpack","prepublishOnly":"npm run build"},"_npmUser":{"name":"jasperoosthoek","actor":{"name":"jasperoosthoek","type":"user","email":"jasperoosthoek@hotmail.com"},"email":"jasperoosthoek@hotmail.com"},"repository":{"url":"git+https://github.com/jasperoosthoek/zustand-crud-registry.git","type":"git"},"_npmVersion":"10.5.0","description":"Flexible library to interact with a CRUD backend using Zustand and Axios","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.3","webpack":"^5.76.0","ts-loader":"^9.4.2","@babel/cli":"^7.14.3","babel-jest":"^28.1.3","typescript":"^4.9.5","@babel/core":"^7.18.6","webpack-cli":"^5.0.1","@types/react":"^19.1.8","babel-loader":"^8.2.5","@babel/register":"^7.13.16","@babel/preset-env":"^7.18.6","webpack-node-externals":"^3.0.0","@babel/preset-typescript":"^7.21.0"},"peerDependencies":{"axios":"^1.6.2","react":"19.0.0","zustand":"^5.0.5","react-dom":"19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-crud-registry_0.0.6_1751486294730_0.8706990655174767","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@jasperoosthoek/zustand-crud-registry","version":"0.0.7","author":{"name":"jasperoosthoek"},"license":"MIT","_id":"@jasperoosthoek/zustand-crud-registry@0.0.7","maintainers":[{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"}],"homepage":"https://github.com/jasperoosthoek/zustand-crud-registry#readme","bugs":{"url":"https://github.com/jasperoosthoek/zustand-crud-registry/issues"},"dist":{"shasum":"6d0de44a8d1966a0a85838a42c17b2123a0db7cc","tarball":"https://registry.npmjs.org/@jasperoosthoek/zustand-crud-registry/-/zustand-crud-registry-0.0.7.tgz","fileCount":16,"integrity":"sha512-jEZTv0B6A1Ik6NffbMM7u5aM/FbLaNIHZpYC9c26vdRFrpVEaau3td0NUFq5aGyq7LFegbKoZzBVQ3J0V9V3hQ==","signatures":[{"sig":"MEUCIQCVGoYDSf777Ao0XWvgUdeHT5JmVrnoGDQuh7uGpGr4GAIgbWZK3TMKw1mAEIVDYiI270tNOf5QbaEdVBTzVbCgee4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":106278},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"98e37e4122bc491c575b7e109b60203559f90ffa","scripts":{"build":"webpack","prepublishOnly":"npm run build"},"_npmUser":{"name":"jasperoosthoek","actor":{"name":"jasperoosthoek","type":"user","email":"jasperoosthoek@hotmail.com"},"email":"jasperoosthoek@hotmail.com"},"repository":{"url":"git+https://github.com/jasperoosthoek/zustand-crud-registry.git","type":"git"},"_npmVersion":"10.5.0","description":"Flexible library to interact with a CRUD backend using Zustand and Axios","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.3","webpack":"^5.76.0","ts-loader":"^9.4.2","@babel/cli":"^7.14.3","babel-jest":"^28.1.3","typescript":"^4.9.5","@babel/core":"^7.18.6","webpack-cli":"^5.0.1","@types/react":"^19.1.8","babel-loader":"^8.2.5","@babel/register":"^7.13.16","@babel/preset-env":"^7.18.6","webpack-node-externals":"^3.0.0","@babel/preset-typescript":"^7.21.0"},"peerDependencies":{"axios":"^1.6.2","react":"19.0.0","zustand":"^5.0.5","react-dom":"19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-crud-registry_0.0.7_1751488804945_0.7328241970349116","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@jasperoosthoek/zustand-crud-registry","version":"0.0.8","author":{"name":"jasperoosthoek"},"license":"MIT","_id":"@jasperoosthoek/zustand-crud-registry@0.0.8","maintainers":[{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"}],"homepage":"https://github.com/jasperoosthoek/zustand-crud-registry#readme","bugs":{"url":"https://github.com/jasperoosthoek/zustand-crud-registry/issues"},"dist":{"shasum":"ef0d707c29f6a28177971f86f5a28a4c38c34985","tarball":"https://registry.npmjs.org/@jasperoosthoek/zustand-crud-registry/-/zustand-crud-registry-0.0.8.tgz","fileCount":18,"integrity":"sha512-r2nVOIqejZGZdqPVD1bCWa/aMsCz2F9n3eVN4lfJMAC2+NRSdXAv98FSRbqk7OM3NRvi5zWitBbMmr6HwI0X4A==","signatures":[{"sig":"MEUCIQD3kuzzOgaRbBv2gWwzzDzPq21+ZWdBJclrVGoblHx1wQIgKj6mwiXUblpUWG1nA5g/KPR9jeihoQdpE9izYat4ixU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":107218},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"a39a4b7571b281f818d281de622a1eedbcec2a24","scripts":{"build":"webpack","prepublishOnly":"npm run build"},"_npmUser":{"name":"jasperoosthoek","actor":{"name":"jasperoosthoek","type":"user","email":"jasperoosthoek@hotmail.com"},"email":"jasperoosthoek@hotmail.com"},"repository":{"url":"git+https://github.com/jasperoosthoek/zustand-crud-registry.git","type":"git"},"_npmVersion":"10.9.2","description":"Flexible library to interact with a CRUD backend using Zustand and Axios","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.3","webpack":"^5.76.0","ts-loader":"^9.4.2","@babel/cli":"^7.14.3","babel-jest":"^28.1.3","typescript":"^4.9.5","@babel/core":"^7.18.6","webpack-cli":"^5.0.1","@types/react":"^19.1.8","babel-loader":"^8.2.5","@babel/register":"^7.13.16","@babel/preset-env":"^7.18.6","webpack-node-externals":"^3.0.0","@babel/preset-typescript":"^7.21.0"},"peerDependencies":{"axios":"^1.6.2","react":"19.0.0","zustand":"^5.0.5","react-dom":"19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-crud-registry_0.0.8_1751646035600_0.9293995011118781","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@jasperoosthoek/zustand-crud-registry","version":"0.0.9","author":{"name":"jasperoosthoek"},"license":"MIT","_id":"@jasperoosthoek/zustand-crud-registry@0.0.9","maintainers":[{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"}],"homepage":"https://github.com/jasperoosthoek/zustand-crud-registry#readme","bugs":{"url":"https://github.com/jasperoosthoek/zustand-crud-registry/issues"},"dist":{"shasum":"e800a185773c3ebc2f319c6805699c7181754bac","tarball":"https://registry.npmjs.org/@jasperoosthoek/zustand-crud-registry/-/zustand-crud-registry-0.0.9.tgz","fileCount":18,"integrity":"sha512-pS+95w6YZAhkXFCIeMSu7sDeqPNU09P9JPjFENl8PwcxYFqVthCnjj8fOrPO4vCg/7S1OJwIAT3O4S19luAYzQ==","signatures":[{"sig":"MEYCIQD7h+//5fHvUXd6djE0TOfN8pq3qw+7WhrRiy9GLTZD1AIhAKYuZnzhFhzKTmFwREIduq+lDqQRCfQv5pvRKKQkQZy2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116924},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"2aca505d9eb2237e2459cedd24fe6e05ef46aece","scripts":{"build":"webpack","prepublishOnly":"npm run build"},"_npmUser":{"name":"jasperoosthoek","actor":{"name":"jasperoosthoek","type":"user","email":"jasperoosthoek@hotmail.com"},"email":"jasperoosthoek@hotmail.com"},"repository":{"url":"git+https://github.com/jasperoosthoek/zustand-crud-registry.git","type":"git"},"_npmVersion":"10.9.2","description":"Flexible library to interact with a CRUD backend using Zustand and Axios","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.3","webpack":"^5.76.0","ts-loader":"^9.4.2","@babel/cli":"^7.14.3","babel-jest":"^28.1.3","typescript":"^4.9.5","@babel/core":"^7.18.6","webpack-cli":"^5.0.1","@types/react":"^19.1.8","babel-loader":"^8.2.5","@babel/register":"^7.13.16","@babel/preset-env":"^7.18.6","webpack-node-externals":"^3.0.0","@babel/preset-typescript":"^7.21.0"},"peerDependencies":{"axios":"^1.6.2","react":"^19.1.0","zustand":"^5.0.5","react-dom":"^19.1.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-crud-registry_0.0.9_1751757262207_0.14353391706683283","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@jasperoosthoek/zustand-crud-registry","version":"0.0.10","author":{"name":"jasperoosthoek"},"license":"MIT","_id":"@jasperoosthoek/zustand-crud-registry@0.0.10","maintainers":[{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"}],"homepage":"https://github.com/jasperoosthoek/zustand-crud-registry#readme","bugs":{"url":"https://github.com/jasperoosthoek/zustand-crud-registry/issues"},"dist":{"shasum":"4b1f966a25e0dfe9b327a504a99aea1a3b825d39","tarball":"https://registry.npmjs.org/@jasperoosthoek/zustand-crud-registry/-/zustand-crud-registry-0.0.10.tgz","fileCount":18,"integrity":"sha512-95rqSZ2p7VwPZuodkGPEO86VNCbSpQ7RDDI/eAqezFxUt8kozkDBZh+mNTVHQnS1XYGT2RrYPQ2OAATitA6ROw==","signatures":[{"sig":"MEUCIEJ/9Tnt1GJRl2zv2tG5y/QkMYysqGiefJyD3ioIv1qsAiEAqaiaTfbWMYjjNDOcEG6sWtARrq3yJTIJdN4S59pKSmM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116727},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"ed1c667491ad3348a8d062430854db457b3d49fd","scripts":{"build":"webpack","prepublishOnly":"npm run build"},"_npmUser":{"name":"jasperoosthoek","actor":{"name":"jasperoosthoek","type":"user","email":"jasperoosthoek@hotmail.com"},"email":"jasperoosthoek@hotmail.com"},"repository":{"url":"git+https://github.com/jasperoosthoek/zustand-crud-registry.git","type":"git"},"_npmVersion":"10.9.2","description":"Flexible library to interact with a CRUD backend using Zustand and Axios","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.3","webpack":"^5.76.0","ts-loader":"^9.4.2","@babel/cli":"^7.14.3","babel-jest":"^28.1.3","typescript":"^4.9.5","@babel/core":"^7.18.6","webpack-cli":"^5.0.1","@types/react":"^19.1.8","babel-loader":"^8.2.5","@babel/register":"^7.13.16","@babel/preset-env":"^7.18.6","webpack-node-externals":"^3.0.0","@babel/preset-typescript":"^7.21.0"},"peerDependencies":{"axios":"^1.6.2","react":"^19.1.0","zustand":"^5.0.5","react-dom":"^19.1.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-crud-registry_0.0.10_1751760818952_0.32161723833924727","host":"s3://npm-registry-packages-npm-production"}},"0.0.11":{"name":"@jasperoosthoek/zustand-crud-registry","version":"0.0.11","author":{"name":"jasperoosthoek"},"license":"MIT","_id":"@jasperoosthoek/zustand-crud-registry@0.0.11","maintainers":[{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"}],"homepage":"https://github.com/jasperoosthoek/zustand-crud-registry#readme","bugs":{"url":"https://github.com/jasperoosthoek/zustand-crud-registry/issues"},"dist":{"shasum":"f3d32368f50f6984bb6b0f65e2f02badfe54d78f","tarball":"https://registry.npmjs.org/@jasperoosthoek/zustand-crud-registry/-/zustand-crud-registry-0.0.11.tgz","fileCount":24,"integrity":"sha512-9NPkBFow5+H2LLb1N4WmDp/oUsyteZt77R4BvhP+UFjDvZRmYzzK4axAkdeFv+K/UHIH2zq3ZCQLH+ZajX4prA==","signatures":[{"sig":"MEYCIQCZkuRyKegZtaxOfQZXm4R17OpaKFmp9J533wDjWdM9zAIhAKO0mgNgEpIXX+RgCkEswpuFEiS5BaVaxMunhWeoAl2I","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":136573},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"db4ff4999e4e6dfbf276973e88c6dcc37dea7316","scripts":{"test":"jest","build":"webpack","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"jasperoosthoek","actor":{"name":"jasperoosthoek","type":"user","email":"jasperoosthoek@hotmail.com"},"email":"jasperoosthoek@hotmail.com"},"repository":{"url":"git+https://github.com/jasperoosthoek/zustand-crud-registry.git","type":"git"},"_npmVersion":"10.9.2","description":"Flexible library to interact with a CRUD backend using Zustand and Axios","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","webpack":"^5.76.0","ts-loader":"^9.4.2","@babel/cli":"^7.14.3","babel-jest":"^29.7.0","typescript":"^4.9.5","@babel/core":"^7.18.6","@types/jest":"^29.5.0","webpack-cli":"^5.0.1","@types/react":"^19.1.8","babel-loader":"^8.2.5","@babel/register":"^7.13.16","@babel/preset-env":"^7.18.6","webpack-node-externals":"^3.0.0","@babel/preset-typescript":"^7.21.0"},"peerDependencies":{"axios":"^1.6.2","react":"^19.0.0","zustand":"^5.0.5","react-dom":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-crud-registry_0.0.11_1752167411183_0.15275013601945453","host":"s3://npm-registry-packages-npm-production"}},"0.0.12":{"name":"@jasperoosthoek/zustand-crud-registry","version":"0.0.12","author":{"name":"jasperoosthoek"},"license":"MIT","_id":"@jasperoosthoek/zustand-crud-registry@0.0.12","maintainers":[{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"}],"homepage":"https://github.com/jasperoosthoek/zustand-crud-registry#readme","bugs":{"url":"https://github.com/jasperoosthoek/zustand-crud-registry/issues"},"dist":{"shasum":"f43d446f3ebf679532623bbe525e92adebdbbc0d","tarball":"https://registry.npmjs.org/@jasperoosthoek/zustand-crud-registry/-/zustand-crud-registry-0.0.12.tgz","fileCount":28,"integrity":"sha512-Ea4BdmDDRpZdkJd+zFBgG2aysUw+2+emrT75nW8fb1KUBblN+YvfNOdEb3qXwHwAW++TmGG/wQAyb7tAgp9uKQ==","signatures":[{"sig":"MEUCIFuphh4/FdqNqDkLva1u5K5iGiZxTCIhyyqEiTp2RNs4AiEAhINdJFlQ3OhtRvHsjcoy9ETKZmfgmwnmjBz3UuAe1js=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":178694},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"e2ae3e9162b6dcde6cf49786e16db81089d8da14","scripts":{"test":"jest","build":"webpack","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"},"repository":{"url":"git+https://github.com/jasperoosthoek/zustand-crud-registry.git","type":"git"},"_npmVersion":"10.5.0","description":"Flexible library to interact with a CRUD backend using Zustand and Axios","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","webpack":"^5.76.0","ts-loader":"^9.4.2","@babel/cli":"^7.14.3","babel-jest":"^29.7.0","typescript":"^4.9.5","@babel/core":"^7.18.6","@types/jest":"^29.5.0","webpack-cli":"^5.0.1","@types/react":"^19.1.8","babel-loader":"^8.2.5","@babel/register":"^7.13.16","@babel/preset-env":"^7.18.6","@babel/preset-react":"^7.27.1","@testing-library/react":"^16.1.0","jest-environment-jsdom":"^29.7.0","webpack-node-externals":"^3.0.0","@babel/preset-typescript":"^7.21.0"},"peerDependencies":{"axios":"^1.6.2","react":"^19.0.0","zustand":"^5.0.5","react-dom":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-crud-registry_0.0.12_1762534457332_0.271507597389943","host":"s3://npm-registry-packages-npm-production"}},"0.0.13":{"name":"@jasperoosthoek/zustand-crud-registry","version":"0.0.13","author":{"name":"jasperoosthoek"},"license":"MIT","_id":"@jasperoosthoek/zustand-crud-registry@0.0.13","maintainers":[{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"}],"homepage":"https://github.com/jasperoosthoek/zustand-crud-registry#readme","bugs":{"url":"https://github.com/jasperoosthoek/zustand-crud-registry/issues"},"dist":{"shasum":"82088e0522d17b9a19ff533d54704bec97310919","tarball":"https://registry.npmjs.org/@jasperoosthoek/zustand-crud-registry/-/zustand-crud-registry-0.0.13.tgz","fileCount":17,"integrity":"sha512-2VEuqiavF+OVzLpR86ZIX+x5CCISySkdTq21AIrUpYClyPkcFh8YII6hzkuCDOT3oxcJXy9bYhL2vNE+lwiYXA==","signatures":[{"sig":"MEUCIFFTiOTFUHVjwVyoLjIa2aSE/wgv2BMb6PC0uNXdRFzYAiEAhZ9bp3nog257926Hv04qZln/XPCEgP77rBVTkpiAegg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":102845},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"268c8c249f05d4b91603db8372c30f0b3e209372","scripts":{"test":"jest","build":"webpack","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"},"repository":{"url":"git+https://github.com/jasperoosthoek/zustand-crud-registry.git","type":"git"},"_npmVersion":"10.5.0","description":"Flexible library to interact with a CRUD backend using Zustand and Axios","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","webpack":"^5.76.0","ts-loader":"^9.4.2","@babel/cli":"^7.14.3","babel-jest":"^29.7.0","typescript":"^4.9.5","@babel/core":"^7.18.6","@types/jest":"^29.5.0","webpack-cli":"^5.0.1","@types/react":"^19.1.8","babel-loader":"^8.2.5","@babel/register":"^7.13.16","@babel/preset-env":"^7.18.6","@babel/preset-react":"^7.27.1","@testing-library/react":"^16.1.0","jest-environment-jsdom":"^29.7.0","webpack-node-externals":"^3.0.0","@babel/preset-typescript":"^7.21.0"},"peerDependencies":{"axios":"^1.6.2","react":"^19.0.0","zustand":"^5.0.5","react-dom":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-crud-registry_0.0.13_1770685829779_0.43956658836763474","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@jasperoosthoek/zustand-crud-registry","version":"0.1.0","author":{"name":"jasperoosthoek"},"license":"MIT","_id":"@jasperoosthoek/zustand-crud-registry@0.1.0","maintainers":[{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"}],"homepage":"https://github.com/jasperoosthoek/zustand-crud-registry#readme","bugs":{"url":"https://github.com/jasperoosthoek/zustand-crud-registry/issues"},"dist":{"shasum":"9f678d0b7bb2decfcc193eb6baa8ff0e35e9ab3e","tarball":"https://registry.npmjs.org/@jasperoosthoek/zustand-crud-registry/-/zustand-crud-registry-0.1.0.tgz","fileCount":17,"integrity":"sha512-ROIgRpWGQ5Nez+UNcD+mUX2QYaYCDzZ5Fbw36Dei2GT290PM1JkWwaEjgJ5hxoBwSySk5rNl/FBIvV4QfY1HZQ==","signatures":[{"sig":"MEUCICUc4EWrD+VNw1a7Vx8hJckhxbAUOwW0i/A0UXdmLk6NAiEAzv9Y3dZcK3AIhyg6sxMDP59M1j4n3Y62qxxP2+7+D8M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":109984},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"6b07e518339583da0643e7519925b7938b27f1a4","scripts":{"test":"jest","build":"webpack","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"},"repository":{"url":"git+https://github.com/jasperoosthoek/zustand-crud-registry.git","type":"git"},"_npmVersion":"10.5.0","description":"Flexible library to interact with a CRUD backend using Zustand and Axios","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","webpack":"^5.76.0","ts-loader":"^9.4.2","@babel/cli":"^7.14.3","babel-jest":"^29.7.0","typescript":"^4.9.5","@babel/core":"^7.18.6","@types/jest":"^29.5.0","webpack-cli":"^5.0.1","@types/react":"^19.1.8","babel-loader":"^8.2.5","@babel/register":"^7.13.16","@babel/preset-env":"^7.18.6","@babel/preset-react":"^7.27.1","@testing-library/react":"^16.1.0","jest-environment-jsdom":"^29.7.0","webpack-node-externals":"^3.0.0","@babel/preset-typescript":"^7.21.0"},"peerDependencies":{"axios":"^1.6.2","react":"^19.0.0","zustand":"^5.0.5","react-dom":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-crud-registry_0.1.0_1770741343277_0.7629420048678499","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@jasperoosthoek/zustand-crud-registry","version":"0.1.1","author":{"name":"jasperoosthoek"},"license":"MIT","_id":"@jasperoosthoek/zustand-crud-registry@0.1.1","maintainers":[{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"}],"homepage":"https://github.com/jasperoosthoek/zustand-crud-registry#readme","bugs":{"url":"https://github.com/jasperoosthoek/zustand-crud-registry/issues"},"dist":{"shasum":"ca27e2f5fd71de0ac9c6b68c154d6baeea1df4c8","tarball":"https://registry.npmjs.org/@jasperoosthoek/zustand-crud-registry/-/zustand-crud-registry-0.1.1.tgz","fileCount":17,"integrity":"sha512-i1yGfs31zJK3hjh/TdIh4u+YcVW2kxgB9nCnCEyAMdkfLRTTzTiLIjiaCT5Z/kEAkEXcVNAIT/WoVYb6C5a1+A==","signatures":[{"sig":"MEQCICVUSwNqpmeGX/xZb9mBR2rmtHGOMw+qUllXgs6KA4NjAiBpKBXP9Qxea9eX9K1Sm3wmxUL7X5i+Nel8ZjlQvkvGLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110713},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"a68e5a73cde020b069483fc707aea3483e94fa4c","scripts":{"test":"jest","build":"webpack","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"},"repository":{"url":"git+https://github.com/jasperoosthoek/zustand-crud-registry.git","type":"git"},"_npmVersion":"10.5.0","description":"Flexible library to interact with a CRUD backend using Zustand and Axios","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","webpack":"^5.76.0","ts-loader":"^9.4.2","@babel/cli":"^7.14.3","babel-jest":"^29.7.0","typescript":"^4.9.5","@babel/core":"^7.18.6","@types/jest":"^29.5.0","webpack-cli":"^5.0.1","@types/react":"^19.1.8","babel-loader":"^8.2.5","@babel/register":"^7.13.16","@babel/preset-env":"^7.18.6","@babel/preset-react":"^7.27.1","@testing-library/react":"^16.1.0","jest-environment-jsdom":"^29.7.0","webpack-node-externals":"^3.0.0","@babel/preset-typescript":"^7.21.0"},"peerDependencies":{"axios":"^1.6.2","react":"^19.0.0","zustand":"^5.0.5","react-dom":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-crud-registry_0.1.1_1770748284110_0.2556872427123358","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@jasperoosthoek/zustand-crud-registry","version":"0.2.0","author":{"name":"jasperoosthoek"},"license":"MIT","_id":"@jasperoosthoek/zustand-crud-registry@0.2.0","maintainers":[{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"}],"homepage":"https://github.com/jasperoosthoek/zustand-crud-registry#readme","bugs":{"url":"https://github.com/jasperoosthoek/zustand-crud-registry/issues"},"dist":{"shasum":"2312d6c2b9e8ece05802a3253ff84f3b0dd43cd2","tarball":"https://registry.npmjs.org/@jasperoosthoek/zustand-crud-registry/-/zustand-crud-registry-0.2.0.tgz","fileCount":30,"integrity":"sha512-z2Ap4cDijxd6Hx7kMKEBBt0SLWqq5RxLcLzn8RI+Ar5qEje83EzHnUq7ysZu9TexgPqDMhYwQfkLzL1kMYNhRQ==","signatures":[{"sig":"MEQCIEWv8VCAbZ8BehNuME3khvOQz55rpxf5JUIwgDmB5AArAiAKawzoHf8OKPBN3XgMSJxK7ZHUyX/1N/MJ/k0TDFBVvg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153515},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"0babaa66998a8662277bee0a89660765d53216cd","scripts":{"test":"jest","build":"webpack","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"},"repository":{"url":"git+https://github.com/jasperoosthoek/zustand-crud-registry.git","type":"git"},"_npmVersion":"10.5.0","description":"Flexible library to interact with a CRUD backend using Zustand and Axios","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","webpack":"^5.76.0","ts-loader":"^9.4.2","@babel/cli":"^7.14.3","babel-jest":"^29.7.0","typescript":"^4.9.5","@babel/core":"^7.18.6","@types/jest":"^29.5.0","webpack-cli":"^5.0.1","@types/react":"^19.1.8","babel-loader":"^8.2.5","@babel/register":"^7.13.16","@babel/preset-env":"^7.18.6","@babel/preset-react":"^7.27.1","@testing-library/react":"^16.1.0","jest-environment-jsdom":"^29.7.0","webpack-node-externals":"^3.0.0","@babel/preset-typescript":"^7.21.0"},"peerDependencies":{"axios":"^1.6.2","react":"^19.0.0","zustand":"^5.0.5","react-dom":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-crud-registry_0.2.0_1770911123904_0.2799245022727399","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@jasperoosthoek/zustand-crud-registry","version":"0.2.1","author":{"name":"jasperoosthoek"},"license":"MIT","_id":"@jasperoosthoek/zustand-crud-registry@0.2.1","maintainers":[{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"}],"homepage":"https://github.com/jasperoosthoek/zustand-crud-registry#readme","bugs":{"url":"https://github.com/jasperoosthoek/zustand-crud-registry/issues"},"dist":{"shasum":"a427d6d5df7b65c4520e66bf76ba61fff1a205ab","tarball":"https://registry.npmjs.org/@jasperoosthoek/zustand-crud-registry/-/zustand-crud-registry-0.2.1.tgz","fileCount":29,"integrity":"sha512-mJWwQl97ZLcdMV/m/xxevI2I3xqgSt9dtnwjuCmZ65rVIeCZMojWjO9Lkwz7v7PT/ecD/anhKG/nOagLLspGLA==","signatures":[{"sig":"MEUCICIEv+LW6bveQGm5o/zYN3vmZ7VfqNuY1hucY/re/Y9TAiEA9EAwlBVkU/E7XduEOTy0yuMqbPtHVr7lWOFkMFCMzhg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":150961},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"d83e2b6cff243a09c847d7fd7236f5c84cd8785a","scripts":{"test":"jest","build":"webpack","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"},"repository":{"url":"git+https://github.com/jasperoosthoek/zustand-crud-registry.git","type":"git"},"_npmVersion":"10.5.0","description":"Flexible library to interact with a CRUD backend using Zustand and Axios","directories":{},"_nodeVersion":"21.7.3","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","webpack":"^5.76.0","ts-loader":"^9.4.2","@babel/cli":"^7.14.3","babel-jest":"^29.7.0","typescript":"^4.9.5","@babel/core":"^7.18.6","@types/jest":"^29.5.0","webpack-cli":"^5.0.1","@types/react":"^19.1.8","babel-loader":"^8.2.5","@babel/register":"^7.13.16","@babel/preset-env":"^7.18.6","@babel/preset-react":"^7.27.1","@testing-library/react":"^16.1.0","jest-environment-jsdom":"^29.7.0","webpack-node-externals":"^3.0.0","@babel/preset-typescript":"^7.21.0"},"peerDependencies":{"axios":"^1.6.2","react":"^19.0.0","zustand":"^5.0.5","react-dom":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-crud-registry_0.2.1_1770919497449_0.8737050254244023","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@jasperoosthoek/zustand-crud-registry","version":"0.2.2","author":{"name":"jasperoosthoek"},"license":"MIT","_id":"@jasperoosthoek/zustand-crud-registry@0.2.2","maintainers":[{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"}],"homepage":"https://github.com/jasperoosthoek/zustand-crud-registry#readme","bugs":{"url":"https://github.com/jasperoosthoek/zustand-crud-registry/issues"},"dist":{"shasum":"1c70177cd1df92cbde97d7a7c551797525685462","tarball":"https://registry.npmjs.org/@jasperoosthoek/zustand-crud-registry/-/zustand-crud-registry-0.2.2.tgz","fileCount":33,"integrity":"sha512-Rd9SZIVhX3D6ASHEBPlTDw658Sx2fEg92GtYEuQ6Q3/ziJd/MCAX+u2yh6ZeiTbP2DuL9otiV1oe8UC09Ri/rQ==","signatures":[{"sig":"MEQCIGLkbrNCxbIohjOMUFv3txnvvILVK+/RRjofgfEXuPvPAiAJTMOKTUinrmFETcoOXIxO0hbR7dv8s0f25bH+Jy7HYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":160627},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"a3cfe2525ffd3b4c96aa6dc50c8503e89d0714e1","scripts":{"test":"jest","build":"webpack","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"},"repository":{"url":"git+https://github.com/jasperoosthoek/zustand-crud-registry.git","type":"git"},"_npmVersion":"10.9.4","description":"Flexible library to interact with a CRUD backend using Zustand and Axios","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","webpack":"^5.76.0","ts-loader":"^9.4.2","@babel/cli":"^7.14.3","babel-jest":"^29.7.0","typescript":"^4.9.5","@babel/core":"^7.18.6","@types/jest":"^29.5.0","webpack-cli":"^5.0.1","@types/react":"^19.1.8","babel-loader":"^8.2.5","@babel/register":"^7.13.16","@babel/preset-env":"^7.18.6","@babel/preset-react":"^7.27.1","@testing-library/react":"^16.1.0","jest-environment-jsdom":"^29.7.0","webpack-node-externals":"^3.0.0","@babel/preset-typescript":"^7.21.0"},"peerDependencies":{"axios":"^1.6.2","react":"^19.0.0","zustand":"^5.0.5","react-dom":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-crud-registry_0.2.2_1771931179562_0.6931291736656804","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@jasperoosthoek/zustand-crud-registry","version":"0.2.3","author":{"name":"jasperoosthoek"},"license":"MIT","_id":"@jasperoosthoek/zustand-crud-registry@0.2.3","maintainers":[{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"}],"homepage":"https://github.com/jasperoosthoek/zustand-crud-registry#readme","bugs":{"url":"https://github.com/jasperoosthoek/zustand-crud-registry/issues"},"dist":{"shasum":"71a3702c32014da0c2b035954fa8f6b885579555","tarball":"https://registry.npmjs.org/@jasperoosthoek/zustand-crud-registry/-/zustand-crud-registry-0.2.3.tgz","fileCount":34,"integrity":"sha512-wYeaajgGLDgMzj31mB6Br+ntKnyVeGZq611kTn9PpyEjkmdSOAe0Msm/0w2r6gtMXYHkQF1ob2HiPByCPrcVqA==","signatures":[{"sig":"MEUCIGx8DhjxRJbgFuScInO+MHkVGhgAfWXc2QGfSjsx6I++AiEArHRa2jjg20USjzemIUkk5tsh186K6/m0P28gxsOwSA8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163027},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"22d1e1940dc4a04e1525597abc8029407125c1a9","scripts":{"test":"jest","build":"webpack","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"},"repository":{"url":"git+https://github.com/jasperoosthoek/zustand-crud-registry.git","type":"git"},"_npmVersion":"10.9.4","description":"Flexible library to interact with a CRUD backend using Zustand and Axios","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","webpack":"^5.76.0","ts-loader":"^9.4.2","@babel/cli":"^7.14.3","babel-jest":"^29.7.0","typescript":"^4.9.5","@babel/core":"^7.18.6","@types/jest":"^29.5.0","webpack-cli":"^5.0.1","@types/react":"^19.1.8","babel-loader":"^8.2.5","@babel/register":"^7.13.16","@babel/preset-env":"^7.18.6","@babel/preset-react":"^7.27.1","@testing-library/react":"^16.1.0","jest-environment-jsdom":"^29.7.0","webpack-node-externals":"^3.0.0","@babel/preset-typescript":"^7.21.0"},"peerDependencies":{"axios":"^1.6.2","react":"^19.0.0","zustand":"^5.0.5","react-dom":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-crud-registry_0.2.3_1771951009408_0.5719448778905507","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@jasperoosthoek/zustand-crud-registry","version":"0.2.4","author":{"name":"jasperoosthoek"},"license":"MIT","_id":"@jasperoosthoek/zustand-crud-registry@0.2.4","maintainers":[{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"}],"homepage":"https://github.com/jasperoosthoek/zustand-crud-registry#readme","bugs":{"url":"https://github.com/jasperoosthoek/zustand-crud-registry/issues"},"dist":{"shasum":"c95672e78b26642e801eedbdd3439139e0e51777","tarball":"https://registry.npmjs.org/@jasperoosthoek/zustand-crud-registry/-/zustand-crud-registry-0.2.4.tgz","fileCount":34,"integrity":"sha512-eZgLv64dk/1NYtKFba8igLWg8RUfcjfGGq4r7L/jSiN2rHr7IoDS1gucS0hKJKeFHPWU4U/2f+lKjokpKd1VeA==","signatures":[{"sig":"MEUCIBLZJUfxqhv46K1eOSBNw2Cahmr/mAFUDaY7yYv1YrbTAiEAuOn3hwRFZvEC6E8WK9uTgg50G/ePhUW3H27SEv1Dd68=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":171146},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"90351940df466d750794d664cb1f2585e2cc723d","scripts":{"test":"jest","build":"webpack","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"},"repository":{"url":"git+https://github.com/jasperoosthoek/zustand-crud-registry.git","type":"git"},"_npmVersion":"10.9.4","description":"Flexible library to interact with a CRUD backend using Zustand and Axios","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","webpack":"^5.76.0","ts-loader":"^9.4.2","@babel/cli":"^7.14.3","babel-jest":"^29.7.0","typescript":"^4.9.5","@babel/core":"^7.18.6","@types/jest":"^29.5.0","webpack-cli":"^5.0.1","@types/react":"^19.1.8","babel-loader":"^8.2.5","@babel/register":"^7.13.16","@babel/preset-env":"^7.18.6","@babel/preset-react":"^7.27.1","@testing-library/react":"^16.1.0","jest-environment-jsdom":"^29.7.0","webpack-node-externals":"^3.0.0","@babel/preset-typescript":"^7.21.0"},"peerDependencies":{"axios":"^1.6.2","react":"^19.0.0","zustand":"^5.0.5","react-dom":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-crud-registry_0.2.4_1772280356758_0.8589869011130551","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@jasperoosthoek/zustand-crud-registry","version":"0.2.5","author":{"name":"jasperoosthoek"},"license":"MIT","_id":"@jasperoosthoek/zustand-crud-registry@0.2.5","maintainers":[{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"}],"homepage":"https://github.com/jasperoosthoek/zustand-crud-registry#readme","bugs":{"url":"https://github.com/jasperoosthoek/zustand-crud-registry/issues"},"dist":{"shasum":"d6f574743f3465be59ed96de7f513ca9802ceb26","tarball":"https://registry.npmjs.org/@jasperoosthoek/zustand-crud-registry/-/zustand-crud-registry-0.2.5.tgz","fileCount":34,"integrity":"sha512-KSwYjVa6TUXdHVWhEBtZNOM8t7NzUErojDskXSc/mqYvgunRLdpSdIsJCP/lsSxc2GylCEENIU8YiG1ku0hXXw==","signatures":[{"sig":"MEUCIQDJxjfmUSQYq5Qvb5hAISInYsOjkO9DIEv9nYn08zHxBQIgHTHqMfKCBR6j1UN/otZLZK5fnhXlB6aleCtmGAePYU0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":172007},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"2e661a23304598191b82e9b6dbd8cfe8474bc965","scripts":{"test":"jest","build":"webpack","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"},"repository":{"url":"git+https://github.com/jasperoosthoek/zustand-crud-registry.git","type":"git"},"_npmVersion":"10.9.4","description":"Flexible library to interact with a CRUD backend using Zustand and Axios","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","webpack":"^5.76.0","ts-loader":"^9.4.2","@babel/cli":"^7.14.3","babel-jest":"^29.7.0","typescript":"^4.9.5","@babel/core":"^7.18.6","@types/jest":"^29.5.0","webpack-cli":"^5.0.1","@types/react":"^19.1.8","babel-loader":"^8.2.5","@babel/register":"^7.13.16","@babel/preset-env":"^7.18.6","@babel/preset-react":"^7.27.1","@testing-library/react":"^16.1.0","jest-environment-jsdom":"^29.7.0","webpack-node-externals":"^3.0.0","@babel/preset-typescript":"^7.21.0"},"peerDependencies":{"axios":"^1.6.2","react":"^19.0.0","zustand":"^5.0.5","react-dom":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-crud-registry_0.2.5_1772284222298_0.673969847603245","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@jasperoosthoek/zustand-crud-registry","version":"0.2.6","author":{"name":"jasperoosthoek"},"license":"MIT","_id":"@jasperoosthoek/zustand-crud-registry@0.2.6","maintainers":[{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"}],"homepage":"https://github.com/jasperoosthoek/zustand-crud-registry#readme","bugs":{"url":"https://github.com/jasperoosthoek/zustand-crud-registry/issues"},"dist":{"shasum":"a209d9c590c9d2c2528e5fceb85830c0377c8219","tarball":"https://registry.npmjs.org/@jasperoosthoek/zustand-crud-registry/-/zustand-crud-registry-0.2.6.tgz","fileCount":34,"integrity":"sha512-Hz2P3+UGKzAMdBzk/hAQGXeZCOPJ6AqiJJP2eSWQUmwRaXuCwTLjBsTSXv9TJHceMWNTZN36Ow3DtPPDUv8jsA==","signatures":[{"sig":"MEUCIF8UYccfO1A3/IHYbY7xf09ChE6iyOMJ3g/fONEwmcc/AiEAp+4jxPlHXGb2MPa0s1wqFXFO0QdU2ptav92h1TsCp/E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":173138},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"6a5e81b9d13a0e20f362d45d39af31714073fcf0","scripts":{"test":"jest","build":"webpack","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"},"repository":{"url":"git+https://github.com/jasperoosthoek/zustand-crud-registry.git","type":"git"},"_npmVersion":"10.9.4","description":"Flexible library to interact with a CRUD backend using Zustand and Axios","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","webpack":"^5.76.0","ts-loader":"^9.4.2","@babel/cli":"^7.14.3","babel-jest":"^29.7.0","typescript":"^4.9.5","@babel/core":"^7.18.6","@types/jest":"^29.5.0","webpack-cli":"^5.0.1","@types/react":"^19.1.8","babel-loader":"^8.2.5","@babel/register":"^7.13.16","@babel/preset-env":"^7.18.6","@babel/preset-react":"^7.27.1","@testing-library/react":"^16.1.0","jest-environment-jsdom":"^29.7.0","webpack-node-externals":"^3.0.0","@babel/preset-typescript":"^7.21.0"},"peerDependencies":{"axios":"^1.6.2","react":"^19.0.0","zustand":"^5.0.5","react-dom":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-crud-registry_0.2.6_1772828878050_0.7610565391919908","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"@jasperoosthoek/zustand-crud-registry","version":"0.2.7","author":{"name":"jasperoosthoek"},"license":"MIT","_id":"@jasperoosthoek/zustand-crud-registry@0.2.7","maintainers":[{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"}],"homepage":"https://github.com/jasperoosthoek/zustand-crud-registry#readme","bugs":{"url":"https://github.com/jasperoosthoek/zustand-crud-registry/issues"},"dist":{"shasum":"f8138397b8d8f850713599876036359b4c13048e","tarball":"https://registry.npmjs.org/@jasperoosthoek/zustand-crud-registry/-/zustand-crud-registry-0.2.7.tgz","fileCount":34,"integrity":"sha512-svfoARyfgpP3nHECRfPm67F4ii0+LKvsKDSJlWGMbTxIslMvKSCe486Qy5Jh3+4y8shHdbNhzE/EdueyupijrQ==","signatures":[{"sig":"MEQCIDFe3u0Raj34tGVYxXtbeJ5LYsCiZgxTYcMT6MBN1BgAAiB3U+4f5XuQHgJHXRk5yClC2vO6536+5LWzTOEMtoKOWQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":173643},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"8b14f937d3a1da0de048ebf5128632f603565ed7","scripts":{"test":"jest","build":"webpack","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"},"repository":{"url":"git+https://github.com/jasperoosthoek/zustand-crud-registry.git","type":"git"},"_npmVersion":"10.9.4","description":"Flexible library to interact with a CRUD backend using Zustand and Axios","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","webpack":"^5.76.0","ts-loader":"^9.4.2","@babel/cli":"^7.14.3","babel-jest":"^29.7.0","typescript":"^4.9.5","@babel/core":"^7.18.6","@types/jest":"^29.5.0","webpack-cli":"^5.0.1","@types/react":"^19.1.8","babel-loader":"^8.2.5","@babel/register":"^7.13.16","@babel/preset-env":"^7.18.6","@babel/preset-react":"^7.27.1","@testing-library/react":"^16.1.0","jest-environment-jsdom":"^29.7.0","webpack-node-externals":"^3.0.0","@babel/preset-typescript":"^7.21.0"},"peerDependencies":{"axios":"^1.6.2","react":"^19.0.0","zustand":"^5.0.5","react-dom":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-crud-registry_0.2.7_1773264424282_0.9554237375557662","host":"s3://npm-registry-packages-npm-production"}},"0.2.8":{"name":"@jasperoosthoek/zustand-crud-registry","version":"0.2.8","author":{"name":"jasperoosthoek"},"license":"MIT","_id":"@jasperoosthoek/zustand-crud-registry@0.2.8","maintainers":[{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"}],"homepage":"https://github.com/jasperoosthoek/zustand-crud-registry#readme","bugs":{"url":"https://github.com/jasperoosthoek/zustand-crud-registry/issues"},"dist":{"shasum":"5cb6101637adf2e9d4b74eeac1c41cb53ecde0d0","tarball":"https://registry.npmjs.org/@jasperoosthoek/zustand-crud-registry/-/zustand-crud-registry-0.2.8.tgz","fileCount":34,"integrity":"sha512-O6lBfv9si4vWu+bHVtMb4jEb9bYklbw6yDn91DIS5B4pWCv53RPR2/wDf4xdv5wdarOw+L3g/mvq/PCd4FtJtQ==","signatures":[{"sig":"MEQCIH7oeuUa/+CJMGIyRz/XKuGT++DZ/Yc517SMMJzmI0ABAiAWVXNbudNxUDpnGJxY3xHzEaNEr9B97MZRw4pcRG2O8A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":175402},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"7e03d103411f4063969c5ba851af7f76914ab770","scripts":{"test":"jest","build":"webpack","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"},"repository":{"url":"git+https://github.com/jasperoosthoek/zustand-crud-registry.git","type":"git"},"_npmVersion":"10.9.4","description":"Flexible library to interact with a CRUD backend using Zustand and Axios","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","webpack":"^5.76.0","ts-loader":"^9.4.2","@babel/cli":"^7.14.3","babel-jest":"^29.7.0","typescript":"^4.9.5","@babel/core":"^7.18.6","@types/jest":"^29.5.0","webpack-cli":"^5.0.1","@types/react":"^19.1.8","babel-loader":"^8.2.5","@babel/register":"^7.13.16","@babel/preset-env":"^7.18.6","@babel/preset-react":"^7.27.1","@testing-library/react":"^16.1.0","jest-environment-jsdom":"^29.7.0","webpack-node-externals":"^3.0.0","@babel/preset-typescript":"^7.21.0"},"peerDependencies":{"axios":"^1.6.2","react":"^19.0.0","zustand":"^5.0.5","react-dom":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-crud-registry_0.2.8_1774456120870_0.9596643556368478","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@jasperoosthoek/zustand-crud-registry","version":"0.3.0","author":{"name":"jasperoosthoek"},"license":"MIT","_id":"@jasperoosthoek/zustand-crud-registry@0.3.0","maintainers":[{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"}],"homepage":"https://github.com/jasperoosthoek/zustand-crud-registry#readme","bugs":{"url":"https://github.com/jasperoosthoek/zustand-crud-registry/issues"},"dist":{"shasum":"904c3fe43e87e7e531edf90efd2c5e274a8b85f4","tarball":"https://registry.npmjs.org/@jasperoosthoek/zustand-crud-registry/-/zustand-crud-registry-0.3.0.tgz","fileCount":34,"integrity":"sha512-Xz2M0YSbtOA6eJ1uCV5A5a060IH86xpLbU6foFllwSqfZkfD5qfMorgyZvQwRBIXjHRJwk6AIO1dCIB0jlM8PQ==","signatures":[{"sig":"MEUCIB3bFn4ixrxCOLROHrZTWbeNLM8TvGFmJWsSIQgBQyKEAiEAggBoul6uP84Xn8EzuejpGnmQoPfSD0YWJ/Dxxb6mBYo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":176077},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"b57236ec77a48f6516b6be6c2f843a40e85b5e99","scripts":{"test":"jest","build":"webpack","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"},"repository":{"url":"git+https://github.com/jasperoosthoek/zustand-crud-registry.git","type":"git"},"_npmVersion":"10.9.4","description":"Flexible library to interact with a CRUD backend using Zustand and Axios","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","webpack":"^5.76.0","ts-loader":"^9.4.2","@babel/cli":"^7.14.3","babel-jest":"^29.7.0","typescript":"^4.9.5","@babel/core":"^7.18.6","@types/jest":"^29.5.0","webpack-cli":"^5.0.1","@types/react":"^19.1.8","babel-loader":"^8.2.5","@babel/register":"^7.13.16","@babel/preset-env":"^7.18.6","@babel/preset-react":"^7.27.1","@testing-library/react":"^16.1.0","jest-environment-jsdom":"^29.7.0","webpack-node-externals":"^3.0.0","@babel/preset-typescript":"^7.21.0"},"peerDependencies":{"axios":"^1.6.2","react":"^19.0.0","zustand":"^5.0.5","react-dom":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-crud-registry_0.3.0_1776183402392_0.3325762438513269","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@jasperoosthoek/zustand-crud-registry","version":"0.3.1","author":{"name":"jasperoosthoek"},"license":"MIT","_id":"@jasperoosthoek/zustand-crud-registry@0.3.1","maintainers":[{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"}],"homepage":"https://github.com/jasperoosthoek/zustand-crud-registry#readme","bugs":{"url":"https://github.com/jasperoosthoek/zustand-crud-registry/issues"},"dist":{"shasum":"75a5f12097458501b2ae2cb45f3717e23083ee2f","tarball":"https://registry.npmjs.org/@jasperoosthoek/zustand-crud-registry/-/zustand-crud-registry-0.3.1.tgz","fileCount":34,"integrity":"sha512-04thuKTF5wpKdeztxQy8tsS+bn1ZESHxjjetNSpORnqH0zPJ0fD6DpPEAZbWVUlmtv0jaDJ56h214JhGamPQhg==","signatures":[{"sig":"MEYCIQCL1DpvxVtRpT/fHF3nU6JMc2fsQ0Rjht0iLV3TZ3x6xAIhALIYQ//IKA9pZgcKfYND7LEV2W5/A48ReAOCh+yH/dg9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":177957},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"d4cf54bcceba4e54ed7a21eda9c5c74b20aaca1d","scripts":{"test":"jest","build":"webpack","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"},"repository":{"url":"git+https://github.com/jasperoosthoek/zustand-crud-registry.git","type":"git"},"_npmVersion":"10.9.4","description":"Flexible library to interact with a CRUD backend using Zustand and Axios","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","webpack":"^5.76.0","ts-loader":"^9.4.2","@babel/cli":"^7.14.3","babel-jest":"^29.7.0","typescript":"^4.9.5","@babel/core":"^7.18.6","@types/jest":"^29.5.0","webpack-cli":"^5.0.1","@types/react":"^19.1.8","babel-loader":"^8.2.5","@babel/register":"^7.13.16","@babel/preset-env":"^7.18.6","@babel/preset-react":"^7.27.1","@testing-library/react":"^16.1.0","jest-environment-jsdom":"^29.7.0","webpack-node-externals":"^3.0.0","@babel/preset-typescript":"^7.21.0"},"peerDependencies":{"axios":"^1.6.2","react":"^19.0.0","zustand":"^5.0.5","react-dom":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-crud-registry_0.3.1_1776259300595_0.8323750121169755","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@jasperoosthoek/zustand-crud-registry","version":"0.3.2","author":{"name":"jasperoosthoek"},"license":"MIT","_id":"@jasperoosthoek/zustand-crud-registry@0.3.2","maintainers":[{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"}],"homepage":"https://github.com/jasperoosthoek/zustand-crud-registry#readme","bugs":{"url":"https://github.com/jasperoosthoek/zustand-crud-registry/issues"},"dist":{"shasum":"6659213b3e4389ab4901adac6d05a73352f59724","tarball":"https://registry.npmjs.org/@jasperoosthoek/zustand-crud-registry/-/zustand-crud-registry-0.3.2.tgz","fileCount":34,"integrity":"sha512-ZUGqQHDTVXxwuOZnFHDvo/xghMW//fsdSIA0r98KU5fCp07DxcZ/0VqOk0A8OOeTer9HgZp/Si7TEo/SFtS0uw==","signatures":[{"sig":"MEUCIFNMOs/P4Zv1sdCzk6oRyxSWQbKgsoGf9dcuIfq4OgkpAiEA5Xc1UadFCT5Q2lcfDZwcuiQz1YAepy0gCXJcCibTcL4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":182330},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"9a2ec86bb1c3dc8c64795fe5510cf2deda09324b","scripts":{"test":"jest","build":"webpack","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"},"repository":{"url":"git+https://github.com/jasperoosthoek/zustand-crud-registry.git","type":"git"},"_npmVersion":"10.9.4","description":"Flexible library to interact with a CRUD backend using Zustand and Axios","directories":{},"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","webpack":"^5.76.0","ts-loader":"^9.4.2","@babel/cli":"^7.14.3","babel-jest":"^29.7.0","typescript":"^4.9.5","@babel/core":"^7.18.6","@types/jest":"^29.5.0","webpack-cli":"^5.0.1","@types/react":"^19.1.8","babel-loader":"^8.2.5","@babel/register":"^7.13.16","@babel/preset-env":"^7.18.6","@babel/preset-react":"^7.27.1","@testing-library/react":"^16.1.0","jest-environment-jsdom":"^29.7.0","webpack-node-externals":"^3.0.0","@babel/preset-typescript":"^7.21.0"},"peerDependencies":{"axios":"^1.6.2","react":"^19.0.0","zustand":"^5.0.5","react-dom":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zustand-crud-registry_0.3.2_1776872806462_0.6813073763712751","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@jasperoosthoek/zustand-crud-registry","version":"0.3.3","author":{"name":"jasperoosthoek"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/jasperoosthoek/zustand-crud-registry.git"},"description":"Flexible library to interact with a CRUD backend using Zustand and Axios","types":"dist/index.d.ts","main":"dist/index.js","scripts":{"build":"webpack","test":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run test && npm run build"},"devDependencies":{"@babel/cli":"^7.14.3","@babel/core":"^7.18.6","@babel/preset-env":"^7.18.6","@babel/preset-react":"^7.27.1","@babel/preset-typescript":"^7.21.0","@babel/register":"^7.13.16","@testing-library/react":"^16.1.0","@types/jest":"^29.5.0","@types/react":"^19.1.8","babel-jest":"^29.7.0","babel-loader":"^8.2.5","jest":"^29.7.0","jest-environment-jsdom":"^29.7.0","ts-loader":"^9.4.2","typescript":"^4.9.5","webpack":"^5.76.0","webpack-cli":"^5.0.1","webpack-node-externals":"^3.0.0"},"peerDependencies":{"axios":"^1.6.2","react":"^19.0.0","react-dom":"^19.0.0","zustand":"^5.0.5"},"engines":{"node":">=16.0.0"},"_id":"@jasperoosthoek/zustand-crud-registry@0.3.3","gitHead":"dab2f261c39cf1eafa88a6479625e6c2519ccefa","bugs":{"url":"https://github.com/jasperoosthoek/zustand-crud-registry/issues"},"homepage":"https://github.com/jasperoosthoek/zustand-crud-registry#readme","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-U21s/Onte5TfpRwXrQpNys14U+xSSYp09sotKAZePkv/sVqma8cwq9S/kh7zYoyk01rQKTwhRJ9WTZhve8Sqpg==","shasum":"7d7f016844a3125df12ef7c36d6c40412a545b0a","tarball":"https://registry.npmjs.org/@jasperoosthoek/zustand-crud-registry/-/zustand-crud-registry-0.3.3.tgz","fileCount":34,"unpackedSize":183342,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIB/kjXVMh1cjBZBbZVGExrpMW6ukLZyIAl/TRKMH++k3AiA4cezbsrmy2DIVuZM9QMpfTLACVbtqQddQlE0DBJT8UQ=="}]},"_npmUser":{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"},"directories":{},"maintainers":[{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/zustand-crud-registry_0.3.3_1779975330592_0.7445258853243326"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-25T18:03:54.009Z","modified":"2026-05-28T13:35:30.872Z","0.0.1":"2025-06-25T18:03:54.261Z","0.0.2":"2025-06-25T21:40:46.259Z","0.0.3":"2025-06-26T19:51:16.684Z","0.0.4":"2025-06-26T20:10:06.385Z","0.0.5":"2025-06-26T20:20:20.338Z","0.0.6":"2025-07-02T19:58:14.904Z","0.0.7":"2025-07-02T20:40:05.118Z","0.0.8":"2025-07-04T16:20:35.793Z","0.0.9":"2025-07-05T23:14:22.384Z","0.0.10":"2025-07-06T00:13:39.136Z","0.0.11":"2025-07-10T17:10:11.394Z","0.0.12":"2025-11-07T16:54:17.542Z","0.0.13":"2026-02-10T01:10:29.938Z","0.1.0":"2026-02-10T16:35:43.420Z","0.1.1":"2026-02-10T18:31:24.277Z","0.2.0":"2026-02-12T15:45:24.053Z","0.2.1":"2026-02-12T18:04:57.613Z","0.2.2":"2026-02-24T11:06:19.705Z","0.2.3":"2026-02-24T16:36:49.548Z","0.2.4":"2026-02-28T12:05:56.896Z","0.2.5":"2026-02-28T13:10:22.478Z","0.2.6":"2026-03-06T20:27:58.192Z","0.2.7":"2026-03-11T21:27:04.429Z","0.2.8":"2026-03-25T16:28:41.063Z","0.3.0":"2026-04-14T16:16:42.530Z","0.3.1":"2026-04-15T13:21:40.752Z","0.3.2":"2026-04-22T15:46:46.603Z","0.3.3":"2026-05-28T13:35:30.773Z"},"bugs":{"url":"https://github.com/jasperoosthoek/zustand-crud-registry/issues"},"author":{"name":"jasperoosthoek"},"license":"MIT","homepage":"https://github.com/jasperoosthoek/zustand-crud-registry#readme","repository":{"type":"git","url":"git+https://github.com/jasperoosthoek/zustand-crud-registry.git"},"description":"Flexible library to interact with a CRUD backend using Zustand and Axios","maintainers":[{"name":"jasperoosthoek","email":"jasperoosthoek@hotmail.com"}],"readme":"# Zustand CRUD Registry\n\n[![npm](https://img.shields.io/npm/v/@jasperoosthoek/zustand-crud-registry.svg)](https://www.npmjs.com/package/@jasperoosthoek/zustand-crud-registry)\n[![Tests](https://github.com/jasperoosthoek/zustand-crud-registry/actions/workflows/test.yml/badge.svg)](https://github.com/jasperoosthoek/zustand-crud-registry/actions/workflows/test.yml)\n[![Coverage](https://codecov.io/gh/jasperoosthoek/zustand-crud-registry/branch/main/graph/badge.svg)](https://codecov.io/gh/jasperoosthoek/zustand-crud-registry)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![TypeScript](https://img.shields.io/badge/%3C%2F%3E-TypeScript-%230074c1.svg)](http://www.typescriptlang.org/)\n\n> **Effortless CRUD operations for React applications with automatic state management, loading states, and type safety.**\n\nTransform your React frontend into a powerful data management interface with just a few lines of code. This library combines **Zustand** state management with **Axios** HTTP client to provide reactive, type-safe CRUD operations that automatically sync your UI with your backend.\n\n## Key Features\n\n- **Automatic State Sync** - Backend changes instantly reflect in your React components\n- **Type-Safe Operations** - Full TypeScript support with intelligent autocompletion\n- **Built-in Loading States** - No more manual loading/error state management\n- **Zero Boilerplate** - Set up complete CRUD operations in minutes\n- **Flexible Configuration** - Custom actions, routes, and data transformation\n- **Ordered Storage** - Map-based storage preserves backend insertion order\n- **React Hooks** - Clean, composable API for your components\n\n## Quick Start\n\n### Installation\n\n```bash\nnpm install @jasperoosthoek/zustand-crud-registry zustand axios\n```\n\n### Basic Setup\n\n```typescript\n// stores/registry.ts\nimport { createStoreRegistry } from \"@jasperoosthoek/zustand-crud-registry\";\nimport axios from \"axios\";\n\n// Define your data types\nexport type User = {\n  id: number;\n  name: string;\n  email: string;\n};\n\nexport type Post = {\n  id: number;\n  title: string;\n  content: string;\n  userId: number;\n};\n\n// Create the store registry (only once in your app)\nexport const getOrCreateStore = createStoreRegistry<{\n  users: User;\n  posts: Post;\n}>();\n\n// Set up your HTTP client\nconst api = axios.create({ baseURL: '/api' });\n\n// Create your stores\nexport const usersStore = getOrCreateStore('users', {\n  axios: api,\n  route: '/users',\n  actions: {\n    getList: true,\n    create: true,\n    update: true,\n    delete: true,\n  },\n  includeList: true,       // Include list in useCrud return\n});\n\nexport const postsStore = getOrCreateStore('posts', {\n  axios: api,\n  route: '/posts',\n  actions: {\n    getList: true,\n    create: true,\n    update: true,\n    delete: true,\n  },\n  includeList: true,\n});\n```\n\n### Using in Components\n\n```typescript\n// components/UsersList.tsx\nimport React, { useEffect } from 'react';\nimport { useCrud } from \"@jasperoosthoek/zustand-crud-registry\";\nimport { usersStore } from '../stores/registry';\n\nexport const UsersList = () => {\n  const users = useCrud(usersStore);\n\n  useEffect(() => {\n    if (!users.list) {\n      users.getList();\n    }\n  }, []);\n\n  const handleCreateUser = () => {\n    users.create({\n      name: 'New User',\n      email: 'user@example.com'\n    });\n  };\n\n  const handleDeleteUser = (user: User) => {\n    users.delete(user);\n  };\n\n  if (users.getList.isLoading) {\n    return <div>Loading users...</div>;\n  }\n\n  if (users.getList.error) {\n    return <div>Error: {users.getList.error.message}</div>;\n  }\n\n  return (\n    <div>\n      <button onClick={handleCreateUser} disabled={users.create.isLoading}>\n        {users.create.isLoading ? 'Creating...' : 'Add User'}\n      </button>\n      \n      <div>\n        {users.list?.map(user => (\n          <div key={user.id} className=\"user-item\">\n            <span>{user.name} - {user.email}</span>\n            <button \n              onClick={() => handleDeleteUser(user)}\n              disabled={users.delete.isLoading && users.delete.id === user.id}\n            >\n              {users.delete.isLoading && users.delete.id === user.id ? 'Deleting...' : 'Delete'}\n            </button>\n          </div>\n        ))}\n      </div>\n    </div>\n  );\n};\n```\n\n## Complete Examples\n\n### Advanced Store Configuration\n\n```typescript\n// stores/advanced.ts\nimport { createStoreRegistry } from \"@jasperoosthoek/zustand-crud-registry\";\nimport axios from \"axios\";\n\nexport type Task = {\n  id: number;\n  title: string;\n  completed: boolean;\n  priority: 'low' | 'medium' | 'high';\n  order: number;\n};\n\nexport const getOrCreateStore = createStoreRegistry<{\n  tasks: Task;\n}>();\n\nconst api = axios.create({ \n  baseURL: '/api',\n  headers: { 'Authorization': `Bearer ${localStorage.getItem('token')}` }\n});\n\nexport const tasksStore = getOrCreateStore('tasks', {\n  axios: api,\n  route: '/tasks',\n  actions: {\n    getList: {\n      method: 'post', // Custom HTTP method\n      route: '/tasks/search', // Custom route\n    },\n    create: true,\n    update: true,\n    delete: true,\n  },\n  // Custom actions for additional endpoints\n  customActions: {\n    reorder: {\n      route: ({ id }: Task) => `/tasks/${id}/reorder`,\n      method: 'patch',\n    },\n    toggleComplete: {\n      route: ({ id }: Task) => `/tasks/${id}/toggle`,\n      method: 'post',\n    },\n  },\n  includeList: true,\n  // Component state (separate from server data)\n  state: {\n    selectedTaskId: null as number | null,\n    filterBy: 'all' as 'all' | 'completed' | 'pending',\n  },\n  // Error handling\n  onError: (error) => {\n    console.error('Task operation failed:', error);\n    // Could integrate with toast notifications, etc.\n  },\n});\n```\n\n### Component with Custom Actions\n\n```typescript\n// components/TaskManager.tsx\nimport React, { useEffect } from 'react';\nimport { useCrud } from \"@jasperoosthoek/zustand-crud-registry\";\nimport { tasksStore } from '../stores/advanced';\n\nexport const TaskManager = () => {\n  const tasks = useCrud(tasksStore);\n\n  useEffect(() => {\n    tasks.getList();\n  }, []);\n\n  const handleToggleComplete = (task: Task) => {\n    // Custom action usage\n    tasks.toggleComplete(task);\n  };\n\n  const handleFilterChange = (filter: 'all' | 'completed' | 'pending') => {\n    // Update component state\n    tasks.patchState({ filterBy: filter });\n  };\n\n  const filteredTasks = tasks.list?.filter(task => {\n    if (tasks.state.filterBy === 'completed') return task.completed;\n    if (tasks.state.filterBy === 'pending') return !task.completed;\n    return true;\n  });\n\n  return (\n    <div>\n      <div>\n        <button onClick={() => handleFilterChange('all')}>All</button>\n        <button onClick={() => handleFilterChange('completed')}>Completed</button>\n        <button onClick={() => handleFilterChange('pending')}>Pending</button>\n      </div>\n\n      <div>\n        {filteredTasks?.map(task => (\n          <div key={task.id} className=\"task-item\">\n            <span>{task.title}</span>\n            <button \n              onClick={() => handleToggleComplete(task)}\n              disabled={tasks.toggleComplete.isLoading && tasks.toggleComplete.id === task.id}\n            >\n              {task.completed ? 'Mark Pending' : 'Mark Complete'}\n            </button>\n          </div>\n        ))}\n      </div>\n    </div>\n  );\n};\n```\n\n### Custom Response Handling\n\n```typescript\n// hooks/useTasksWithReorder.ts\nimport { useCrud } from \"@jasperoosthoek/zustand-crud-registry\";\nimport { tasksStore } from '../stores/advanced';\n\nexport const useTasksWithReorder = () => {\n  const tasks = useCrud(tasksStore);\n\n  // Handle reorder response — update only the order fields without refetching\n  tasks.reorder.onResponse = (reorderedTasks: Partial<Task>[]) => {\n    tasksStore.patchList(reorderedTasks);\n  };\n\n  return tasks;\n};\n```\n\n## API Reference\n\n### `createStoreRegistry<Models>()`\n\nCreates a store registry function. Call this **only once** in your application.\n\n**Parameters:**\n- `Models`: TypeScript type defining your entity models\n\n**Returns:** `getOrCreateStore` function\n\n### `getOrCreateStore(key, config)`\n\nCreates or retrieves a store for a specific entity type.\n\n**Parameters:**\n- `key`: String key matching your Models type\n- `config`: Store configuration object\n\n**Config Options:**\n```typescript\n{\n  axios: AxiosInstance;           // HTTP client instance\n  route: string | RouteFunction;  // Base API route\n  actions?: {                     // Enable/configure CRUD operations\n    getList?: boolean | ActionConfig;\n    get?: boolean | ActionConfig;\n    create?: boolean | ActionConfig;\n    update?: boolean | ActionConfig;\n    delete?: boolean | ActionConfig;\n  };\n  customActions?: {               // Custom API endpoints\n    [name: string]: CustomActionConfig;\n  };\n  state?: object;                 // Component state\n  onError?: (error: any) => void; // Error handler\n  detailKey?: string;              // Field used in detail routes (default: 'id')\n  id?: string;                    // Field used to key internal Map (default: detailKey)\n  includeList?: boolean;          // Include list array in useCrud return\n  includeRecord?: boolean;        // Include record object in useCrud return\n  pagination?: true | {                  // Enable pagination\n    limit?: number;\n    offset?: number;\n    prepare?: (responseData: any) => Partial<Pagination>;  // map response → { count, offset, limit }\n    prepareParams?: (pagination: Pagination) => Record<string, any>; // map pagination → query params\n    extractList?: (responseData: any) => any[]; // pick list from response (default: response.data)\n  };\n  select?: 'single' | 'multiple';      // Enable selection\n}\n```\n\n### `useCrud(store)`\n\nMain hook for interacting with your store.\n\n**Returns:**\n```typescript\n{\n  // Data views (opt-in via config)\n  list?: T[] | null;                   // Array of entities (if includeList: true)\n  record?: {[id: string]: T} | null;   // Keyed object of entities (if includeRecord: true)\n\n  // CRUD operations (if enabled)\n  getList: AsyncFunction;\n  get: AsyncFunction;\n  create: AsyncFunction;\n  update: AsyncFunction;\n  delete: AsyncFunction;\n\n  // Custom actions\n  [customAction]: AsyncFunction;\n\n  // State management (if configured)\n  state: StateObject;\n  patchState: (partial: Partial<StateObject>) => void;\n\n  // Pagination (if configured)\n  pagination: { count: number; offset: number; limit: number };\n  setPagination: (partial: Partial<Pagination>) => void;\n\n  // Selection (if configured)\n  selected: T | null;                  // if select: 'single'\n  selected: T[];                       // if select: 'multiple'\n  select: (instanceOrId: T | string | number | null) => void;\n  toggle: (instanceOrId: T | string | number) => void;\n  clear: () => void;\n\n  // Loading states for each operation\n  // Each operation has: isLoading, error, response, id, sequence\n}\n```\n\n### Granular Hooks\n\nFor more control, use the standalone hooks instead of `useCrud`:\n\n- `useList(store)` - Returns `T[] | null` (ordered array)\n- `useRecord(store)` - Returns `{ [key: string]: T } | null` (keyed object)\n- `useGet(store, id?)` - Returns `[instance, get]` tuple; auto-fetches on mount when `id` is provided\n- `useGetList(store)` - Returns `[list, getList]` tuple; auto-fetches on mount\n- `useSelect(store)` - Returns selection state with `selectedId`/`selectedIds`\n- `usePagination(store)` - Returns `[pagination, setPagination]` tuple\n- `useCrudState(store)` - Returns `{ state, patchState }` for custom component state\n\n### Store State Functions\n\nThe store exposes mutation functions directly on the store object (also available via `store.getState()`):\n\n**List Operations:**\n- `store.setList(items: T[] | null)` - Replaces all data (or clears with `null`)\n- `store.patchList(items: Partial<T>[])` - Updates existing items only (ignores new items)\n- `store.updateList(items: T[])` - Upserts items (updates existing, inserts new)\n\n**Single Item Operations:**\n- `store.setInstance(item: T)` - Adds or replaces a single item\n- `store.updateInstance(item: T)` - Merges updates into an existing item\n- `store.deleteInstance(item: T)` - Removes an item from the store\n\n**State Management:**\n- `store.patchState(partial: Partial<State>)` - Updates custom component state (when `state` is configured)\n- `store.setPagination(partial: Partial<Pagination>)` - Updates pagination (when `pagination` is configured)\n- `store.setSelectedIds(ids: string[])` - Updates selection (when `select` is configured)\n- `store.getState().setLoadingState(key: string, value: Partial<LoadingState>)` - Manually update loading state\n\n## Advanced Usage\n\n### Route Functions\n\n```typescript\n// Dynamic routes based on data\nconst store = getOrCreateStore('posts', {\n  axios: api,\n  route: '/posts',\n  actions: {\n    getList: {\n      route: ({ userId }: { userId: number }) => `/users/${userId}/posts`\n    },\n    update: {\n      method: 'put',            // Use custom http method instead of default patch\n      route: (post: Post) => `/posts/${post.id}/update`\n    }\n  }\n});\n```\n\n### Data Transformation\n\n```typescript\n// Transform data before sending to API\nconst store = getOrCreateStore('users', {\n  axios: api,\n  route: '/users',\n  actions: {\n    create: {\n      prepare: (userData) => ({\n        ...userData,\n        createdAt: new Date().toISOString()\n      })\n    }\n  }\n});\n```\n\n### Error Handling\n\n```typescript\nconst store = getOrCreateStore('users', {\n  axios: api,\n  route: '/users',\n  onError: (error) => {\n    if (error.response?.status === 401) {\n      // Handle authentication error\n      redirectToLogin();\n    } else {\n      // Show error notification\n      showErrorToast(error.message);\n    }\n  }\n});\n```\n\n## 🛠️ Best Practices\n\n### 1. Store Organization\n\n```typescript\n// stores/index.ts - Export all stores from one place\nexport * from './users';\nexport * from './posts';\nexport * from './registry';\n```\n\n### 2. Default Configuration\n\n```typescript\n// stores/config.ts - Reuse common configuration\nexport const defaultConfig = {\n  axios: apiClient,\n  actions: {\n    getList: true,\n    create: true,\n    update: true,\n    delete: true,\n  },\n  onError: handleApiError,\n};\n\n// stores/users.ts\nexport const usersStore = getOrCreateStore('users', {\n  ...defaultConfig,\n  route: '/users',\n});\n```\n\n### 3. Custom Hooks\n\n```typescript\n// hooks/useUsers.ts - Wrap logic in custom hooks\nimport { useList } from \"@jasperoosthoek/zustand-crud-registry\";\n\nexport const useUsers = () => {\n  const users = useCrud(usersStore);\n  const list = useList(usersStore);\n\n  useEffect(() => {\n    if (!list) {\n      users.getList();\n    }\n  }, []);\n\n  return { ...users, list };\n};\n```\n\n### 4. Type Safety\n\n```typescript\n// types/api.ts - Define your API types\nexport interface User {\n  id: number;\n  name: string;\n  email: string;\n  createdAt: string;\n}\n\nexport interface CreateUserRequest {\n  name: string;\n  email: string;\n}\n```\n\n## Troubleshooting\n\n### Common Issues\n\n**Q: TypeScript errors about store types**\n```typescript\n// ❌ Don't do this - creates multiple registries\nconst store1 = createStoreRegistry<{...}>()('users', config);\nconst store2 = createStoreRegistry<{...}>()('posts', config);\n\n// ✅ Do this - single registry\nconst getOrCreateStore = createStoreRegistry<{...}>();\nconst store1 = getOrCreateStore('users', config);\nconst store2 = getOrCreateStore('posts', config);\n```\n\n**Q: Actions not working**\n```typescript\n// ❌ Make sure actions are enabled\nconst store = getOrCreateStore('users', {\n  axios: api,\n  route: '/users',\n  // actions: { ... } // Missing actions config\n});\n\n// ✅ Enable the actions you need\nconst store = getOrCreateStore('users', {\n  axios: api,\n  route: '/users',\n  actions: {\n    getList: true,\n    create: true,\n    // ... other actions\n  }\n});\n```\n\n**Q: Loading states not updating**\n```typescript\n// ❌ Don't destructure loading states\nconst { getList, getList: { isLoading } } = useCrud(store);\n\n// ✅ Access loading states directly\nconst users = useCrud(store);\nconst isLoading = users.getList.isLoading;\n```\n\n## Examples & Demos\n\n- **[Live Demo](https://dashboard-demo-olive-eight.vercel.app/)** - Complete dashboard application\n- **[Dashboard Demo Repository](https://github.com/jasperoosthoek/dashboard-demo)** - Example dashboard project with examples\n\n## Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.\n\n### Development Setup\n\n```bash\n# Clone the repository\ngit clone https://github.com/jasperoosthoek/zustand-crud-registry.git\n\n# Install dependencies\nnpm install\n\n# Build the project\nnpm run build\n\n# Run tests\nnpm test\n```\n\n## License\n\nMIT © [jasperoosthoek](https://github.com/jasperoosthoek)\n\n## Acknowledgments\n\n- Built with [Zustand](https://github.com/pmndrs/zustand) for state management\n- HTTP client powered by [Axios](https://github.com/axios/axios)\n- Inspired by the need for simpler CRUD operations in React applications\n\n---\n\n**Made with ❤️ by [@jasperoosthoek](https://github.com/jasperoosthoek)**","readmeFilename":"README.md"}