{"_id":"mobx-toolbox","_rev":"35-aa1f82beac303b409af6241b0d4b433d","name":"mobx-toolbox","dist-tags":{"latest":"1.5.3"},"versions":{"1.1.9":{"name":"mobx-toolbox","version":"1.1.9","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.1.9","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"06b262c13611a23f188c32fa30eaa6af981d9162","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.1.9.tgz","fileCount":7,"integrity":"sha512-vHRBwpGevjR6hlH0EftLH7V5yJc9JbhW1/5aazUjBizy7P4ZL7VtftXdt0bXQIwtLmkIsxFQwEfbarwBAFTK9Q==","signatures":[{"sig":"MEQCIC47txc8xWupGeH6jlzB/dmsgHCdKSp82rHJGR9kgmK1AiBnM7xOKXos6ZBW1LsMWZIiNLtNWaE8LUc7uui86e1dBQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29818},"main":"src/index.ts","gitHead":"6504dfb2f05f8cbeace7c2c9e2ea5cd3fb0e41eb","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"10.8.2","description":"# mobxState (like useState)","directories":{},"_nodeVersion":"22.8.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.1.9_1727877419569_0.3150434945484992","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"mobx-toolbox","version":"1.2.0","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.2.0","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"58d948167cac6e17fc66c9262f12d7ea6f579a9f","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.2.0.tgz","fileCount":7,"integrity":"sha512-gwAzaHsLGu9KmGNHP82Q/3kBItWzJkGlRHByMVV+BlS5YfzI36crcg+GNsAA4QBGs/M85TVITu8WdOihB9HUJw==","signatures":[{"sig":"MEUCIB960mvpSnxrAAro6x/N42KO/Ce9HL4uUCc/HAe5yEfmAiEAyyklUliImX9iRUm6g0hOwn9wQf4xyWk8aC/gmIwuiqE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31213},"main":"src/index.ts","gitHead":"26aa40b8ee898aa33026b58ff589f34faff58e28","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"10.8.2","description":"# mobxState (like useState)","directories":{},"_nodeVersion":"22.8.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.2.0_1727883670699_0.38601426365701297","host":"s3://npm-registry-packages"}},"1.2.1":{"name":"mobx-toolbox","version":"1.2.1","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.2.1","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"8ca060bc5f8bf3dda02280c06f8d4c40c7f4d44f","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.2.1.tgz","fileCount":7,"integrity":"sha512-PMuXxXHL6HEeP9kvLUJwaAT5QFJBcG6kRcI9fOuvn231hvJIlagb/mAiUgy5QXxsBscRqSyefwfhGJ5Gp7NoeA==","signatures":[{"sig":"MEUCIQC3VLAGms0BYf1vEH4vO2/pECQXt3Rggv160/TNXlIp8AIgYNc4ERZvzU8mVVDfpjg9+6KOC1XUmh8sJybF0BpywUc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31779},"main":"src/index.ts","gitHead":"2ff5dbf793daf8b94fae1d690e9be13014cf5975","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"10.8.2","description":"# mobxState (like useState)","directories":{},"_nodeVersion":"22.8.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.2.1_1727886361889_0.03234237505974402","host":"s3://npm-registry-packages"}},"1.2.2":{"name":"mobx-toolbox","version":"1.2.2","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.2.2","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"9605732ebf9efd3e11ae8298766f7b805adf2c26","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.2.2.tgz","fileCount":7,"integrity":"sha512-LPEkrzNsX3s8VSXsao6Wdj/t7RjWjPQxa96/YZhDIt3WdkKo1rmOFyQEIRSPbDiOFj5ZGJKxss2yz0ecJ4oUFQ==","signatures":[{"sig":"MEUCIQC3bqq5QcowHZvLSNP1jh2NuW6EIGfg145BpVS4W0Ib4QIgeCKa44emdth1GlOCQ+On72uZvuWgeggRhISwhtKCiso=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31719},"main":"src/index.ts","gitHead":"d75348b324e89f0904d9e098d233d35e8539cfe7","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"10.8.2","description":"# mobxState (like useState)","directories":{},"_nodeVersion":"22.8.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.2.2_1727886477556_0.3163064542609255","host":"s3://npm-registry-packages"}},"1.2.3":{"name":"mobx-toolbox","version":"1.2.3","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.2.3","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"e0a765af10d356941c923403b2d3730bfb38986c","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.2.3.tgz","fileCount":7,"integrity":"sha512-FeVjNZyOFfcLQxbEFbmT433B66oxYROD9gF+qXIkjF3KUCd0FyG2x3igBrcITOxITQS208HRNYRmaADNJHEgMg==","signatures":[{"sig":"MEUCIEcM8gW7Cw/ohNVG0+vfjzduhwccsIEh4HDoT313B99vAiEA4o7gjnmBhip5BlD5SMAqcl/3XtWAaU33XFgzmIlG1OE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33611},"main":"src/index.ts","gitHead":"43991158d802ab746a32af83ca0134690e9a0d43","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"10.8.2","description":"# mobxState (like useState)","directories":{},"_nodeVersion":"22.8.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.2.3_1728454614794_0.46787684232477833","host":"s3://npm-registry-packages"}},"1.2.4":{"name":"mobx-toolbox","version":"1.2.4","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.2.4","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"b0e29188c48cfe3a4d5ee19c3bb0583958acbec7","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.2.4.tgz","fileCount":7,"integrity":"sha512-/x2Lu4vZaX9pdGxK2RiPTd0dfknRHXOVQ3U1fwbADgYoBbxs63AKgs/JgTbn+Swo/Y25l5Z8hT34QYkNpHRTKg==","signatures":[{"sig":"MEUCIGzIyTn5SuV8ea3MD39EX6RMAHqFj9QRE1q1T7RoLpQZAiEA8rmXOVoXKgOMkGPbg5TvQ+5QkrAOMaHm6U+KODrS5M0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41221},"main":"src/index.ts","gitHead":"51cf4f0ce044bd2482a7f6a29a29736b42ec9309","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"10.8.2","description":"# useMobxUpdate","directories":{},"_nodeVersion":"22.8.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.2.4_1732986497202_0.5294356201379995","host":"s3://npm-registry-packages"}},"1.2.5":{"name":"mobx-toolbox","version":"1.2.5","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.2.5","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"ee325cdbed10cd6deef53eed6e1542410eaa5692","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.2.5.tgz","fileCount":7,"integrity":"sha512-IXAL9UXMarousAq4X9+zE5rIUIJbaGO8rrXZDQ9o9hNmlVCXRLz8NX7Zk0JfMmjczga/7lwFHE7zU2NNAAZUkA==","signatures":[{"sig":"MEUCICwgKG5wDoKX1hc8OAC7eP6hqfWDXBQQrePbVGiZI61fAiEAgcOwsAdZiz1VKXwh95x5Wa37QYZEyRSkhMGt0AqTQI0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41733},"main":"src/index.ts","gitHead":"e0ff549d14a6fab7701d16b114af4d1ea0db7eb6","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"10.8.2","description":"# useMobxUpdate","directories":{},"_nodeVersion":"22.8.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.2.5_1737362577939_0.9475627203331696","host":"s3://npm-registry-packages-npm-production"}},"1.2.6":{"name":"mobx-toolbox","version":"1.2.6","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.2.6","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"c7a20a617830815021ad0525bb94a34a720964aa","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.2.6.tgz","fileCount":7,"integrity":"sha512-DjGz0kdkm3z8uPUA/MCc3YOgLvJgJdvqRsyoJVdUWkjyP7rRVLWliqVlE0YgM8CU4SDLgkL++JV+904vaLes7A==","signatures":[{"sig":"MEQCIE5msPAC0RbQsTCZm4w+HJ4LT790sCor86xOFNUg1Bk2AiALeA0UJnAhId5KQSZ9UXeyOCsPOdeTCYE43RIp9wIzSQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43438},"main":"src/index.ts","gitHead":"dfacb61d54c004bf48f79e1c7e00a55cf68e78a0","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"10.8.2","description":"# useMobxUpdate","directories":{},"_nodeVersion":"22.8.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.2.6_1737667821124_0.88420672673803","host":"s3://npm-registry-packages-npm-production"}},"1.2.7":{"name":"mobx-toolbox","version":"1.2.7","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.2.7","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"6c80c752191eab4790867d760f1b3b355a037ae7","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.2.7.tgz","fileCount":7,"integrity":"sha512-Ed5Vxpg+O5KZvcUAP/V9kgPX7+VIT4x/1ieVEvQcnqxPHOtq//6yfVwd42LlpzpppR/PehUfOIhpdVYUO/XryQ==","signatures":[{"sig":"MEUCIQDEVf2SPmK26xCsni6MtmpPxfruOToXl15WF1tw+WVJAQIgLEnHY5ifz6A5JZMX69AKgYWCawrbIR8hkGhzhdwYs9g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43402},"main":"src/index.ts","gitHead":"77a5aaf2403ad7cfbc8b235122aff78f0424684d","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"10.8.2","description":"# useMobxUpdate","directories":{},"_nodeVersion":"22.8.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.2.7_1737671270888_0.4598625503410563","host":"s3://npm-registry-packages-npm-production"}},"1.2.8":{"name":"mobx-toolbox","version":"1.2.8","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.2.8","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"22441a2fbc1a659bc0305b312a27986715d38bdd","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.2.8.tgz","fileCount":7,"integrity":"sha512-0tyeCjWR0UgRvBRoQA3Mt0Xur4qjck2m9O0MK97vZqIos7dYG+hyf4B++se8F7zkHw6kAVCGMXcn523BFOG/hw==","signatures":[{"sig":"MEYCIQDFtEZS1GLFbSeNGa9uMaMJFakEHYs6RIsyBpqJOSCkVgIhALyG2tVbJTHj59Il3czazZlptnMsrvbDW96CoSujjaN1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44072},"main":"src/index.ts","gitHead":"f53f5c62edf272c580f58b48ce8575e17d139782","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"10.8.2","description":"# useMobxUpdate","directories":{},"_nodeVersion":"22.8.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.2.8_1737847730033_0.17383486471746146","host":"s3://npm-registry-packages-npm-production"}},"1.2.9":{"name":"mobx-toolbox","version":"1.2.9","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.2.9","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"c90e3ebeddfdb09f00893fba49d1af841acf273f","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.2.9.tgz","fileCount":7,"integrity":"sha512-qY2LlVlUAFmHch1Ck4cwZdtGriNyLzExWCz9dfuq9Y2ReL1H1rEpD7v1+d3WHCHCjUoxPqHkbFmqV3+gF0guMQ==","signatures":[{"sig":"MEQCICaBfKLoDXeK++Yu+k/6+XXIeTaCmzs2PkEfdPIjLTGYAiBKbtE+CBcPKjsnoAjYPwSzFfFpDraD53RmvyvGbbJNeQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59172},"main":"src/index.ts","gitHead":"add23cd2e278948b2ae4ed01972a1af4a36c4bf2","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"10.8.2","description":"# mobxSaiFetch","directories":{},"_nodeVersion":"22.8.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.2.9_1738019235879_0.19695492230701928","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"mobx-toolbox","version":"1.3.0","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.3.0","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"dff34d0b33e444ad92a913430a0c351c859ed372","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.3.0.tgz","fileCount":7,"integrity":"sha512-i6YbySJHN0f7S770nXowIIy1Cv9pqswz3xpO4NIXbvnnHXsOEX9ZngeL/MXkNtGf4UHLdl+6jYBztI/MyihccA==","signatures":[{"sig":"MEUCIQDBZo37i2oDsebVXacXF98dhOfzaGaFi5LxdBRoFWOt0wIgGgzHva2+hqQu3mmrZqxoQO3RuiTcNaXHlDSQuN+XRcE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59172},"main":"src/index.ts","gitHead":"02591c8fd87822493f9c7413918b91ae3c99c1cd","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"10.8.2","description":"# mobxSaiFetch","directories":{},"_nodeVersion":"22.8.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.3.0_1738238411292_0.20795495929752295","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"mobx-toolbox","version":"1.3.1","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.3.1","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"6df3b5320e4da126405b2d9eb6700a1fb8ce96d6","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.3.1.tgz","fileCount":7,"integrity":"sha512-crs8XjXvr7itAp9Vkjh9eMWE+p07OjDFHfzFLO92EgoQhlsIr3hiBdWGd+b3alfTCw98mevV1rgoqQrYMKD4kg==","signatures":[{"sig":"MEYCIQCfFh+ymUhGDwFhb+g0neWbnCoarL9iowJ7H4w07upkbQIhAOH1GX/2fMIYVQf7PjAzW+stq847I9+oD4si0TBddHc2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59262},"main":"src/index.ts","gitHead":"fd248fe04fadd7303b088a294145991ae144a49b","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"10.8.2","description":"# mobxSaiFetch","directories":{},"_nodeVersion":"22.8.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.3.1_1738414090950_0.09869813620121781","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"mobx-toolbox","version":"1.3.2","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.3.2","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"be4b7b1b930c7973464285745405b76a35c1a659","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.3.2.tgz","fileCount":7,"integrity":"sha512-aEf9H/XO46JQSW/GcgmAyuK+916xcWAMFAWbDegO1o7hkzPI59XWTckOFP/eT7qEmvVVPVK3rAisJYCXWYrvHg==","signatures":[{"sig":"MEYCIQCnL0QrZf5x/LqUo2fo9aQWUxFPyrUZF01oA996oU3tfwIhAJExjEL+Wl5dpmk8qn3dp4Hi4TgORnxDRQwEKCg9IqWo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59364},"main":"src/index.ts","gitHead":"065310ead2c4179069569e2dd781ea0fad874ff7","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"10.8.2","description":"# mobxSaiFetch","directories":{},"_nodeVersion":"22.8.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.3.2_1738659342771_0.3144628486118273","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"mobx-toolbox","version":"1.3.3","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.3.3","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"f4267b5d1daabd6d40dfdbfe71012f0af230ec5b","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.3.3.tgz","fileCount":7,"integrity":"sha512-UUw7dNY+xHkskgAmVQJ4nK4JeVGAwHunGrtDQZMjCZmOed9qSVsO0qSDNQb8fkfK8RCCq+gFAK1XhSh15Up9fg==","signatures":[{"sig":"MEUCIQD6IV9jUB2S6dD5K3Al9D779qod6wuEC1Aytc9h+Y5y9QIgRQ29qO4syMPXttSqpAdRzqPh2mTOf+1mZKW/Yh67S2o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81341},"main":"src/index.ts","gitHead":"f1c8f12434170470677b89c6474865f61d87aafe","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"10.8.2","description":"# mobxSaiFetch","directories":{},"_nodeVersion":"22.8.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.3.3_1739642750639_0.2855470965012801","host":"s3://npm-registry-packages-npm-production"}},"1.3.4":{"name":"mobx-toolbox","version":"1.3.4","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.3.4","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"7b9b2de962d5086232c96152a028c25520706f98","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.3.4.tgz","fileCount":7,"integrity":"sha512-mOd1X14v06fyIfFiRAgFO8jAsOmWKJp457c2e9vBX1hK3xc26lfz8TmZ2LNfKBbYDq8bbw+Pz+/VO8N1VIatdw==","signatures":[{"sig":"MEUCIDx6f4gzD98/LwIwXNjRLfmcXb7IFeMonW9h5Xv2EM4vAiEAhBMzdDtZ4mqORUfKtdE4rxbnrAC0tZ7zf+JSsTxHGXA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81247},"main":"src/index.ts","gitHead":"3c269b258e0f180d1f230cc28e200e38b4ce0d5e","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"10.8.2","description":"# mobxSaiFetch","directories":{},"_nodeVersion":"22.8.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.3.4_1740860607313_0.8014227017018776","host":"s3://npm-registry-packages-npm-production"}},"1.3.5":{"name":"mobx-toolbox","version":"1.3.5","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.3.5","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"a8441cb5b8c4bc705a3bb609f3cdff40e0ffcef6","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.3.5.tgz","fileCount":7,"integrity":"sha512-LPybG+PoH5VH2fpfpbb5YU5ZOk+DXNVe3WumbyHWfIfgn3RLAZIuZzmn79O6wP18VUsh6sV1LE4WH+lz0T/pRg==","signatures":[{"sig":"MEYCIQDhxxhH5VpKnKghWxju3K30GBkgDssV1ODd/nBdKHtbLAIhAOukkiK/P03sN4j4nLumIHfpFrkfVhXZjK81j6wsjWZg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81096},"main":"src/index.ts","gitHead":"cdd8a9dec9e809462c822bf437941c6702a2ba8c","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"10.8.2","description":"# mobxSaiFetch","directories":{},"_nodeVersion":"22.8.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.3.5_1740861125239_0.445349392122498","host":"s3://npm-registry-packages-npm-production"}},"1.3.6":{"name":"mobx-toolbox","version":"1.3.6","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.3.6","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"073140987eb0edc794ffca3d60a96f78f7693fe4","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.3.6.tgz","fileCount":7,"integrity":"sha512-EKm7DGZnoHgwYKG+snHadPowKsqyDIMeVyyXCXN2Oab881NbcAoZ9QzNDPVYX426a7VxxwUw/GvJGQLnep35+A==","signatures":[{"sig":"MEUCIBqmV6OSlbNzJjuTeHFWCr3O2ThEYGJNSApKIU4ITEw5AiEAomVjtBMmlxcSg2GbjIRJkBP40tk+jZZ4w5u6xNJsnNw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82222},"main":"src/index.ts","gitHead":"94542353dac88c7ddbb5b060cee0324814bf7454","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"10.8.2","description":"# mobxSaiFetch","directories":{},"_nodeVersion":"22.8.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.3.6_1742776507077_0.28459043192974165","host":"s3://npm-registry-packages-npm-production"}},"1.3.7":{"name":"mobx-toolbox","version":"1.3.7","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.3.7","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"ec000b53baaca506832da73cc5bc8f5e3fe00f80","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.3.7.tgz","fileCount":7,"integrity":"sha512-3Xn6wkRrUf+5Iv2ub02xzh+c/3cgnL5cXAQhdvsykSM0JO0wwD03nO0B+1fjRNmWoXSkoXX47YFNAFcRjewAGA==","signatures":[{"sig":"MEUCIQCYD9m9baj7k67c+hPE0pFuZHAedW5rRc5B/aB8eBVquAIgc6nr1C2EVfuaVj3wOKxBMBPJWsh/UgT0fK5wGT/D6o4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82791},"main":"src/index.ts","gitHead":"6a8ef2b292221a07d64bd8eaf35e29ea93f1ebed","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"10.8.2","description":"# mobxSaiFetch","directories":{},"_nodeVersion":"22.8.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.3.7_1742777576509_0.3602376534729219","host":"s3://npm-registry-packages-npm-production"}},"1.3.8":{"name":"mobx-toolbox","version":"1.3.8","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.3.8","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"4576b4dd3b62913673304c36249e7b827bd0c781","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.3.8.tgz","fileCount":7,"integrity":"sha512-3l6P1kLZV28QRmUiOCVMqD62ADP9iWHQy4D0VU2V0FeIJ6fdGgOQKbXMqc8lmZIH7XVGTA3ZYgIyT6Ek87H2qQ==","signatures":[{"sig":"MEQCIC0f4XPzOy6kuVzLkzmdSRt6zg7bonJdePyQAgGP+3BjAiBZUlqTaTrsTl03XqWymxC5hhmrdANXq5c7dAx9iTDtRQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92462},"main":"src/index.ts","gitHead":"6109356f99978b2bd33589344a6096727d2b43cc","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"10.8.2","description":"# mobxDebouncer","directories":{},"_nodeVersion":"22.8.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.3.8_1742793735847_0.4222740236255935","host":"s3://npm-registry-packages-npm-production"}},"1.3.9":{"name":"mobx-toolbox","version":"1.3.9","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.3.9","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"334a3fe11bd0070f09ad3968c46f2011d9b85dfd","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.3.9.tgz","fileCount":7,"integrity":"sha512-QfLvqqsB3a5VGNJt9Y7Wlhl3cZIFS8FTTxCJLVjHDEqCXkNEcpoMpq5m50M3FHqBvl0iqLTzaymcjahYngQqsA==","signatures":[{"sig":"MEUCIQDXbE1aryEr/7mRm0UeHMykLtLBHzKsUtIp5I9erVFs6AIgPLqO5vMFJOlqqPSw2i7Yw+x++A+EG3qa8ijjCjlHS5Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92271},"main":"src/index.ts","gitHead":"77d9c11aafdc2dce42ede4642ab60252fc32b1e7","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"10.8.2","description":"# mobxDebouncer","directories":{},"_nodeVersion":"22.8.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.3.9_1742794493197_0.8108492298640035","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"mobx-toolbox","version":"1.4.0","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.4.0","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"b430d7b55bf5d29f0e0f51c853fd154bc05938e7","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.4.0.tgz","fileCount":7,"integrity":"sha512-8WY0F3dvwLS1TLPyeBK9MQv3FtrhU6gvRjXFF2J413Bmev3ZQxvoGbOmIN05kc4kq+m0DHNGIcw92HMv31z3eA==","signatures":[{"sig":"MEQCIGKYIUy0szn3rou8WkXYsw5icq476erinSbBPkeVfMPmAiAqcRA5drnRM7+JtchMgCFKiJqljK8rtBWJzNN9jW9I4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92987},"main":"src/index.ts","gitHead":"97722c33594a0627a3f290d998b78b6ab200cf56","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"10.8.2","description":"# mobxDebouncer","directories":{},"_nodeVersion":"22.8.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.4.0_1742795303489_0.13152214715473165","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"mobx-toolbox","version":"1.4.1","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.4.1","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"d836cb04e56d8ec3e931b903ae6ee8382283636e","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.4.1.tgz","fileCount":7,"integrity":"sha512-qBBJwAl8XqnVrWZOILayeJ0EhStA4fsJGviH24+LNbWtz3RvSybKT53SqH0i/cHLniTODCqKsGswUH7go+aawA==","signatures":[{"sig":"MEUCID1k7KosLFLaS/SAfgykr3R5AUi8y7Twcu/rW3ymhfblAiEApMDyiACePeoE9eWD40NBX/b+z4d+81BCHGDq2rOfkhg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92639},"main":"src/index.ts","gitHead":"ad9ff3c6d7d2badfb6193c2295f6097b453ea861","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"10.8.2","description":"# mobxDebouncer","directories":{},"_nodeVersion":"22.8.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.4.1_1743127635652_0.27988991394017404","host":"s3://npm-registry-packages-npm-production"}},"1.4.2":{"name":"mobx-toolbox","version":"1.4.2","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.4.2","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"007fa00381a02a0c3e036080365f7f17c7d75716","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.4.2.tgz","fileCount":7,"integrity":"sha512-vY9GJFVRSeoD6F9r8c60JNrLHJnNm2oGGoMrnplt8G6V/vOmeOpxhSFBy6vq27zKJuWfMXpy9j1zKzx9LS79nA==","signatures":[{"sig":"MEUCIFfikWqbsg4LBWxjHt9bVjojH/nepSUlCK+pwDiQK/IzAiEAvJ8Z9H+H116I/a7hPzmLbbzGvTUeXQrMFiaqcWUDyCQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92704},"main":"src/index.ts","gitHead":"487eaabcfe9dab8c90c9fda2845f5565f7d4918b","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"10.8.2","description":"# mobxDebouncer","directories":{},"_nodeVersion":"22.8.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.4.2_1743132195440_0.30523330072591515","host":"s3://npm-registry-packages-npm-production"}},"1.4.3":{"name":"mobx-toolbox","version":"1.4.3","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.4.3","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"116b5602a20cb7ac7bd79e369b4ce55981833bdb","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.4.3.tgz","fileCount":7,"integrity":"sha512-iYGzmmOmdc9d+PsJAt5OQstD159wUHLuMz4T8R3HMCxII98S6J/dtvhf/wsmWGbcHdUnx4GluWodFzXl5BB8Qg==","signatures":[{"sig":"MEUCIQDDri2HpdxGEEduRcpkB7AL+6epofzpcMuQYobvN+jvUQIgJ2u2U2TPXyWm5Q0+fRRR8TlXiJlIUAv3TMcUu2Mkcro=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92607},"main":"src/index.ts","gitHead":"cc7de4251f12ef8a6d82874d5959b5ceef6d68f5","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"10.8.2","description":"# mobxDebouncer","directories":{},"_nodeVersion":"22.8.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.4.3_1743535828875_0.1991393127705059","host":"s3://npm-registry-packages-npm-production"}},"1.4.4":{"name":"mobx-toolbox","version":"1.4.4","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.4.4","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"d46caed2ed0f1eced9f0934edee739982354dbc1","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.4.4.tgz","fileCount":7,"integrity":"sha512-5XqDmmVD+i4YNReItg1BfISqrAN2zi8Q1m2bXoX1kVjVQ8vcNhorTEMy/EB1rTT7TB4LO0+OnuxRq4+mWuhqZA==","signatures":[{"sig":"MEUCIQCPMBfCIwInLdYpEgHR3vKPHrMbPPpKomtHdLQcDi+7XwIgIOfp4pFXxHkmqQu28VtdFePxX6lQIvSmIJFKm2SSzPA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93704},"main":"src/index.ts","gitHead":"abf90770149ccbb46651a027797337191d2141ab","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"10.8.2","description":"# mobxDebouncer","directories":{},"_nodeVersion":"22.8.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.4.4_1743580516782_0.7862654734753742","host":"s3://npm-registry-packages-npm-production"}},"1.4.5":{"name":"mobx-toolbox","version":"1.4.5","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.4.5","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"927024d32289afe4db3be36af99e81d79740eaab","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.4.5.tgz","fileCount":7,"integrity":"sha512-yCe9pvlo0SWe6f61WlEQSOcZrb7Mn5nhulxKYKfta1x6iQpIpY2KGJYOn6aV5kr3MFHtLSiZpRHyq2nwJRyuoQ==","signatures":[{"sig":"MEYCIQCUVNOedrCnwFw53i9o7VlvmqcIIZkS2hHxMKC30iBmkgIhAOhULuJkJFK+tDq8DeGM251TUJvHi+0iDD0iK0tj5NtZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95460},"main":"src/index.ts","gitHead":"c942bd11ce47171341969b154f26ff591e5f7502","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"10.8.2","description":"# mobxDebouncer","directories":{},"_nodeVersion":"22.8.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.4.5_1743601693100_0.366224126019006","host":"s3://npm-registry-packages-npm-production"}},"1.4.6":{"name":"mobx-toolbox","version":"1.4.6","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.4.6","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"c2496368c88b86b5ca1d57bf72e8c988b0452a57","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.4.6.tgz","fileCount":7,"integrity":"sha512-OAtEhMMvNeIdwkIwW0gCwnupH3o96UbdSvcg54enuxejeiQS5dyPONJ6NYYl6Y8vb4nf/bnt3qrv8PX/bfR0mQ==","signatures":[{"sig":"MEUCIQCECMWVn4DuKfyVtpoInO1fwfFMzWzPZIDWejONC9wzTwIgex3I/F98K0/rfNW4irNcD26AiPJ4fnG5LAGFW6G/Odo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100081},"main":"src/index.ts","gitHead":"7ebac0d8df3a7f50fb1dd652582564e90a59de00","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"10.8.2","description":"# mobxSaiHandler","directories":{},"_nodeVersion":"22.8.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.4.6_1744996602560_0.6405740955494625","host":"s3://npm-registry-packages-npm-production"}},"1.4.7":{"name":"mobx-toolbox","version":"1.4.7","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.4.7","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"56c812f2a4e703eebc0711511c7885c0856a56f6","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.4.7.tgz","fileCount":7,"integrity":"sha512-G84PSGXT3zqOgGK6tKlEjR66pUN+6hgrzx72NU700+DpmdUP58yBYlNwUFxq6GmBMTQFrE0bkb6RhrEfKcVxsg==","signatures":[{"sig":"MEUCIHSoeUzFfkOo6Qqnv6gPTiFai8OCuXhgAonszdWyss4EAiEA1N/s2PwkUC+KqI2grG2+PNH3DqmL/lVVmYH2VbnJfeg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100086},"main":"src/index.ts","gitHead":"e16e7b9dc650ddde72bf7a6255b8a73bd247a68e","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"10.8.2","description":"# mobxSaiHandler","directories":{},"_nodeVersion":"22.8.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.4.7_1746592088870_0.8079799223170596","host":"s3://npm-registry-packages-npm-production"}},"1.4.8":{"name":"mobx-toolbox","version":"1.4.8","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.4.8","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"13280a28b4cb137f18829601c4154c15de7d6530","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.4.8.tgz","fileCount":7,"integrity":"sha512-tYkgPjngbekPuOkjDgUspPueKbTUKTtKP9T0liX+m6203tSwhK44MO0dC7enG1wHuhIYnyL33YApYjsFtyeiVQ==","signatures":[{"sig":"MEQCIA5WX3wmGWCvBn+2luCc8chBFp7RaKgRHTTHt+wlcEZPAiBU4WD8hMAEEEowKpPf3RuVPowD12iu7iQpLRAaZyxbaw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100199},"main":"src/index.ts","gitHead":"9614a18ec0424a1e505076e393f360f95db48f41","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"10.8.2","description":"# mobxSaiHandler","directories":{},"_nodeVersion":"22.8.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.4.8_1746641947471_0.3940972933727609","host":"s3://npm-registry-packages-npm-production"}},"1.4.9":{"name":"mobx-toolbox","version":"1.4.9","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.4.9","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"eef1e7eb1beaf4070a81fe645182e3b17ce42064","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.4.9.tgz","fileCount":10,"integrity":"sha512-zgG/ICn7kTSWv+SuwfWtIEhi4MZx73RwkM4Bpsz+0LoOQQQMhIxaYbCbmvIQmyl2HkJRgYJGHGVHBtry2NtdIg==","signatures":[{"sig":"MEUCIAM4KHKaiCGKWZzSg8eVtcib1W7ANmvO9o1TWI29+hZ4AiEAo59wZPhqqcS4FrfK1aY0Asl4ClcJTpBz9Q5yLEYicio=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":180660},"main":"src/index.ts","gitHead":"10e9349380669c2f87f1be121402af4b448b53ff","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"11.4.2","description":"`mobxSaiHandler` is a super simple way to handle `data`/`error` reactions from any MobX-powered API state (like MobxSai) using just 1 line of code 🙌","directories":{},"_nodeVersion":"24.3.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.4.9_1754528298840_0.971410979324183","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"mobx-toolbox","version":"1.5.0","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.5.0","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"1950d750783c8f600899673409258fe23c281ca8","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.5.0.tgz","fileCount":10,"integrity":"sha512-hkOLX/kyW1gr/C7Ozy4QVMe+iCesmh3ENCxcBumQwQp5q+Plq1K7Rlhs2YDZNigh2DLyKcaZH1yCBaRSYitsKw==","signatures":[{"sig":"MEUCIGzlSA91sQr8BXB/7hpuTGCnkIoSJAxFOXRexCWkcxLqAiEA4Y/0tWKSM8CcMOcJktHLEOY8n/R65YPasvWao+/iRFk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":180708},"main":"src/index.ts","gitHead":"01e262fdcfff91a07099c94e562e76103a82dd54","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"11.4.2","description":"`mobxSaiHandler` is a super simple way to handle `data`/`error` reactions from any MobX-powered API state (like MobxSai) using just 1 line of code 🙌","directories":{},"_nodeVersion":"24.3.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.5.0_1754528555816_0.6248113453546835","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"mobx-toolbox","version":"1.5.1","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.5.1","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"52f74a53cbf604ea0d9ac88fa94494b471a45784","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.5.1.tgz","fileCount":10,"integrity":"sha512-aPWJtf7Kkhl5BIQ8AcpVw8vKdKf88EZcGru8uIn0/DghuddgO2To0rD3KukpwI7m79Fspe0FDtOsKrU+MdpJ7w==","signatures":[{"sig":"MEQCIAyHuwcilIjdFMqtL/fDsi7RWSxY4ri2QFnsdonBQ6ymAiAfTYD0/nzKhK/59Vpi8w0kevh5zrgrv3BYX4QU0IVsZg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":180660},"main":"src/index.ts","gitHead":"acc3fc84964d9e6ed677e01a9d778425a42c4552","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"11.4.2","description":"`mobxSaiHandler` is a super simple way to handle `data`/`error` reactions from any MobX-powered API state (like MobxSai) using just 1 line of code 🙌","directories":{},"_nodeVersion":"24.3.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.5.1_1754528809279_0.10079038450288214","host":"s3://npm-registry-packages-npm-production"}},"1.5.2":{"name":"mobx-toolbox","version":"1.5.2","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","_id":"mobx-toolbox@1.5.2","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"homepage":"https://github.com/aianov/mobx-toolbox#readme","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"dist":{"shasum":"42a4ecaab690b8272a1f22e89f48aec377e7a31f","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.5.2.tgz","fileCount":10,"integrity":"sha512-x+kOIqlalTBx88r8R6FcJ/YcLF29kUx/caoTk3xfu2euTkygmmce3dXTP6x5sxxwLvqaSwfNpEbWtIv+SF7I2A==","signatures":[{"sig":"MEYCIQC1Qs7iB+w1ewbT/zHchQ9lp3wBh/EKCEj5Ytj1kBhs9QIhAMrwbZQNlhZYbSJnQ5d7e/Dtmur6NPtSpOYkpnjWuik+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":180660},"main":"src/index.ts","gitHead":"ba3a6a849f604ff6ac235fe67fc2bc3fcdce995a","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"repository":{"url":"git+https://github.com/aianov/mobx-toolbox.git","type":"git"},"_npmVersion":"11.4.2","description":"`mobxSaiHandler` is a super simple way to handle `data`/`error` reactions from any MobX-powered API state (like MobxSai) using just 1 line of code 🙌","directories":{},"_nodeVersion":"24.3.0","dependencies":{"mobx":"^6.13.3"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.2","@types/node":"^22.7.4"},"_npmOperationalInternal":{"tmp":"tmp/mobx-toolbox_1.5.2_1759165671293_0.01857552864046985","host":"s3://npm-registry-packages-npm-production"}},"1.5.3":{"name":"mobx-toolbox","version":"1.5.3","main":"src/index.ts","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc"},"repository":{"type":"git","url":"git+https://github.com/aianov/mobx-toolbox.git"},"keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","description":"`mobxSaiHandler` is a super simple way to handle `data`/`error` reactions from any MobX-powered API state (like MobxSai) using just 1 line of code 🙌","dependencies":{"mobx":"^6.13.3"},"devDependencies":{"@types/node":"^22.7.4","typescript":"^5.6.2"},"_id":"mobx-toolbox@1.5.3","gitHead":"f99bd571f35e9995365f8599c62df83ef1204861","bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"homepage":"https://github.com/aianov/mobx-toolbox#readme","_nodeVersion":"24.3.0","_npmVersion":"11.4.2","dist":{"integrity":"sha512-BFdj/dZNJSbooYk1241PP8kPaH8gV7RyiYBBMMnUCbiSp32wRvdHUJtO1nxVPD8BfCGF05hcJFCLAfWXcWDNZQ==","shasum":"a8bd0107aa82b4488448c51b949e0510e8b933c4","tarball":"https://registry.npmjs.org/mobx-toolbox/-/mobx-toolbox-1.5.3.tgz","fileCount":10,"unpackedSize":180589,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAJx7OHx6bhVizip4nLSbSkNRJPNONnLylhQfZQ+UGluAiEA+i5sREmmfLvUheWCvXddOkAzlniy1Gj3MyPMzMif8mE="}]},"_npmUser":{"name":"nics51","email":"ayanovdulat@gmail.com"},"directories":{},"maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mobx-toolbox_1.5.3_1759166139492_0.08954541566706142"},"_hasShrinkwrap":false}},"time":{"created":"2024-10-02T13:56:59.487Z","modified":"2025-09-29T17:15:39.865Z","1.1.9":"2024-10-02T13:56:59.743Z","1.2.0":"2024-10-02T15:41:10.960Z","1.2.1":"2024-10-02T16:26:02.130Z","1.2.2":"2024-10-02T16:27:57.782Z","1.2.3":"2024-10-09T06:16:54.975Z","1.2.4":"2024-11-30T17:08:17.411Z","1.2.5":"2025-01-20T08:42:58.099Z","1.2.6":"2025-01-23T21:30:21.301Z","1.2.7":"2025-01-23T22:27:51.045Z","1.2.8":"2025-01-25T23:28:50.234Z","1.2.9":"2025-01-27T23:07:16.083Z","1.3.0":"2025-01-30T12:00:11.539Z","1.3.1":"2025-02-01T12:48:11.164Z","1.3.2":"2025-02-04T08:55:42.995Z","1.3.3":"2025-02-15T18:05:50.843Z","1.3.4":"2025-03-01T20:23:27.552Z","1.3.5":"2025-03-01T20:32:05.441Z","1.3.6":"2025-03-24T00:35:07.330Z","1.3.7":"2025-03-24T00:52:56.709Z","1.3.8":"2025-03-24T05:22:16.028Z","1.3.9":"2025-03-24T05:34:53.382Z","1.4.0":"2025-03-24T05:48:23.643Z","1.4.1":"2025-03-28T02:07:15.847Z","1.4.2":"2025-03-28T03:23:15.662Z","1.4.3":"2025-04-01T19:30:29.142Z","1.4.4":"2025-04-02T07:55:16.991Z","1.4.5":"2025-04-02T13:48:13.303Z","1.4.6":"2025-04-18T17:16:42.736Z","1.4.7":"2025-05-07T04:28:09.063Z","1.4.8":"2025-05-07T18:19:07.651Z","1.4.9":"2025-08-07T00:58:19.043Z","1.5.0":"2025-08-07T01:02:36.002Z","1.5.1":"2025-08-07T01:06:49.456Z","1.5.2":"2025-09-29T17:07:51.491Z","1.5.3":"2025-09-29T17:15:39.689Z"},"bugs":{"url":"https://github.com/aianov/mobx-toolbox/issues"},"author":{"name":"Ayanov Dulat","email":"ayanovdulat@gmail.com"},"license":"MIT","homepage":"https://github.com/aianov/mobx-toolbox#readme","keywords":["mobx","state","getter","setter","react","typescript","javascript","class"],"repository":{"type":"git","url":"git+https://github.com/aianov/mobx-toolbox.git"},"description":"`mobxSaiHandler` is a super simple way to handle `data`/`error` reactions from any MobX-powered API state (like MobxSai) using just 1 line of code 🙌","maintainers":[{"name":"nics51","email":"ayanovdulat@gmail.com"}],"readme":"# Mobx-toolkit, mini-lib for easy in MobX using\n\n# mobxSaiHandler\n\n`mobxSaiHandler` is a super simple way to handle `data`/`error` reactions from any MobX-powered API state (like MobxSai) using just 1 line of code 🙌\n\n## Usage\n\n```ts\n// some-store.ts\nclass FeedStore {\n\tconstructor() {makeAutoObservable(this)}\n\n\tpostsFeed: MobxSaiInstance<VirtualList<GetPostFeedResponse[]>> = {}\n\n\tgetPostsFeedAction = () => {\n\t\tthis.postsFeed = mobxSaiFetch(getPostsFeed())\n\n\t\tmobxSaiHandler(\n\t\t\tthis.postsFeed,\n\t\t\t(data) => {\n\t\t\t\tconsole.log('Loaded posts:', data)\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tconsole.log('Something went wrong:', error)\n\t\t\t},\n\t\t)\n\t}\n}\n```\n\n### Now we just call `mobxSaiHandler`, pass in our sai instance, and boom — we get clean success and error handling in one place, no reaction boilerplate, no disposers, nothing else needed.\n\n## What's it for?\n\nSometimes you get tired of writing `reaction(() => [data, error], ...)` every time you want to check when your `MobxSaiInstance` updates.  \nThis thing solves that. You just pass it in, give it what to do on success and on error, and it does the rest — **including auto disposing itself after first fire**.\n\nIt works in **stores**, in **components**, in **hooks**, anywhere you want to react to sai updates ✨\n\n## `mobxSaiHandler` also has support for type guard!\n\nIf you want to make sure your `data` is exactly what you expect — just pass a guard as the 4th param.  \nSuper handy when `data` could be `null`, `Error`, or anything else.\n\n## Options\n\n### `mobxSaiHandler`\n\nTakes 4 simple params:\n\n| Param      | Type         | Description                   | Initial | Required |\n| ---------- | ------------ | ----------------------------- | ------- | -------- |\n| `sai`       | `MobxSaiInstance<T>`     | Your sai instance        |         | ✅  |\n| `onSuccess`    | `(data: T) => void`     | Callback that fires when data is valid             |  | ✅  |\n| `onError` | `(error: any) => void`     | Callback that fires if there's an error |   | ❌  |\n| `guard` | `(data: unknown) => data is T`     | Optional type guard to verify `data` before calling `onSuccess` |   | ❌  |\n\n## Why it’s useful?\n\n- ✅ Replaces all that reaction boilerplate\n- ✅ Auto-disposes after 1 use\n- ✅ Works with or without a type guard\n- ✅ Helps reduce code when working with async data in MobX\n- ✅ You can use it in literally 1 line, anywhere\n\n# mobxDebouncer\n\n`mobxDebouncer` can help with any difficulty of debounce system by using 1 line of code :)\n\n## Usage\n\n```typescript\n// some-store.ts\nclass TestStore {\n\tconstructor() {\n\t\tmakeAutoObservable(this)\n\t}\n\n\tpostUpdater: null | MobxUpdateInstance<Post> = null\n\tsetPostUpdater = (updater: MobxUpdateInstance<Post>) =>\n\t\t(this.postUpdater = updater)\n\n\ttoggleLikePost = (postId: number, post: GetPostFeedResponse) => {\n\t\tif (!this.postUpdater) return\n\n\t\trunInAction(() => {\n\t\t\tthis.postUpdater(\n\t\t\t\tpostId,\n\t\t\t\t'likesCount',\n\t\t\t\t(prev: number) => prev + (post?.isLiked ? -1 : 1)\n\t\t\t)\n\t\t\tthis.postUpdater(postId, 'isLiked', (prev: boolean) => !prev)\n\t\t})\n\n\t\tmobxDebouncer.debouncedAction(\n\t\t\tpostId, // id of debounced action\n\t\t\t() => console.log('CALLBACK'), // callback\n\t\t\t1000, // delay\n\t\t\t'like-fav' // group key\n\t\t)\n\t}\n\n\ttoggleFavPost = (postId: number, post: GetPostFeedResponse) => {\n\t\tif (!this.postUpdater) return\n\n\t\trunInAction(() => {\n\t\t\tthis.postUpdater(\n\t\t\t\tpostId,\n\t\t\t\t'favoritesCount',\n\t\t\t\t(prev: number) => prev + (post?.isFavorited ? -1 : 1)\n\t\t\t)\n\t\t\tthis.postUpdater(postId, 'isFavorited', (prev: boolean) => !prev)\n\t\t})\n\n\t\tmobxDebouncer.debouncedAction(\n\t\t\tpostId,\n\t\t\t() => console.log('CALLBACK'),\n\t\t\t1000,\n\t\t\t'like-fav'\n\t\t)\n\t}\n}\n\n// then you can use it in your component like this:\n// some-component.tsx\nconst { currentTheme } = themeStore\nconst { toggleLikePost, toggleFavPost } = postInteractionsStore\n\nconst toggleLikeHandler = () => toggleLikePost(post?.id, post)\nconst toggleFavHandler = () => toggleFavPost(post?.id, post)\n\nreturn (\n\t<div>\n\t\t<button onClick={toggleLikeHandler}>\n\t\t\t{post?.isLiked ? 'Liked' : 'Like'}\n\t\t\t{post?.likesCount}\n\t\t</button>\n\t\t<button onClick={toggleFavHandler}>\n\t\t\t{post?.isFavorited ? 'Favorited' : 'Fav'}\n\t\t\t{post?.favoritesCount}\n\t\t</button>\n\t</div>\n)\n```\n\n### Now we have 2 debounced actions, and they will be called only after 1 second of last call, and if we call them in 1 second, they will be called only once\n\n### Cool right? Just 1 line of code and you have debounced action with group key, and you can use it in any component, in any place, with any action in group.\n\nThis is very useful for some cases, like when you need to debounce some actions, but you need to call them in one place, and you need to call them in any component, in any place, with any action in group.\n\nmobxDebouncer can reduce your code by 2/3+ times, depending on the volume of your functionality\n\n### mobxDebouncer also have `cancelAllDebouncedActions` `cancelDebouncedActionsByGroup` `cancelDebouncedActions` and `flushDebouncedActions` functions.\n\n### `cancelAllDebouncedActions` - Cancel all debounced actions\n\n### `cancelDebouncedActionsByGroup` - Cancel all debounced actions by group key\n\n### `cancelDebouncedActions` - Cancel debounced action by id\n\n### `flushDebouncedActions` - Flush all debounced actions\n\n### But the main and most useful/important function is `debouncedAction` so i will explain options only for it\n\n# Options\n\n## `mobxDebouncer.debouncedAction`\n\nFunction `mobxDebouncer.debouncedAction` 4 params, needs do your life with debounce much easier\n\n### Params\n\n| Param      | Type         | Description                   | Initial | Required |\n| ---------- | ------------ | ----------------------------- | ------- | -------- |\n| `id`       | `string`     | Id of debounced action        |         | `true`   |\n| `callback` | `() => void` | Callback to call              |         | `true`   |\n| `delay`    | `number`     | Delay of debounce             | `1000`  | `false`  |\n| `groupKey` | `string`     | Group key of debounced action | `null`  | `false`  |\n\n# mobxSaiFetch\n\n`mobxSaiFetch` can reduce your actions in mobx, and make life easier :)\n\n## Usage\n\n```typescript\n// some-store.ts\nclass TestStore {\n\tconstructor() {\n\t\tmakeAutoObservable(this)\n\t}\n\n\tsaiData: MobxSaiInstance<TestFetchData> = {}\n\tsaiDataPage = mobxState(1)('saiDataPage')\n\tisFetchUp = mobxState(false)('isFetchUp')\n\n\tgetSaiMessageAction = async () => {\n\t\tconst { messagePage, messageLimit } = messageApiStore\n\t\tconst { selectedChat } = chatStore\n\n\t\ttry {\n\t\t\tthis.saiData = mobxSaiFetch(\n\t\t\t\tgetMessage({ page: messagePage, limit: messageLimit })\n\t\t\t)\n\t\t} catch (err) {\n\t\t\tconsole.log(err)\n\t\t}\n\t}\n}\n\nexport const testStore = new TestStore()\n\n// SomeComponent.tsx\nconst {\n\tsaiData: {\n\t\tdata,\n\t\tstatus, // or isPending\n\t},\n} = testStore\n\nreturn (\n\t<div>\n\t\t{status == 'pending' ? (\n\t\t\t<Loading />\n\t\t) : (\n\t\t\tdata?.message?.map(msg => <Messages msg={msg} />)\n\t\t)}\n\t</div>\n)\n```\n\n### That was interesting right? Now i con show you more interesting things in mobxSaiFetch:\n\n## Usage #2 [Pro]\n\n```typescript\n// some-store.ts\nclass TestStore {\n\tconstructor() {\n\t\tmakeAutoObservable(this)\n\t}\n\n\tsaiData: MobxSaiInstance<TestFetchData> = {}\n\tsaiDataPage = mobxState(1)('saiDataPage')\n\tisFetchUp = mobxState(false)('isFetchUp')\n\n\tgetSaiMessageAction = async () => {\n\t\tconst { messagePage, messageLimit } = messageApiStore\n\t\tconst { selectedChat } = chatStore\n\n\t\ttry {\n\t\t\tthis.saiData = mobxSaiFetch(\n\t\t\t\tgetMessage.bind(null, { page: messagePage, limit: messageLimit }), // you need to write bind or () => getMessage() if you want to provide settings\n\t\t\t\t{\n\t\t\t\t\tid: selectedChatId, // u need to provide special id, not index from arr method or smthng\n\t\t\t\t\tpage: this.saiData, // for pagination\n\t\t\t\t\tpageSetterName: 'saiDataPage', // also for pagination\n\t\t\t\t\tisFetchUp: this.isFetchUp.isFetchUp, // and also for pagination (fetch up or down), if down then +1 from page, otherwise -1\n\t\t\t\t\tfetchType: 'pagination', // without \"pagination\", your page, setterName and isFetchUp are useless | Initial: \"default\"\n\t\t\t\t\tfetchIfPending: false, // If true, it will be fetch without any coldowns | Initial: false\n\t\t\t\t\tfetchIfHaveData: true, // If false, it wont do fetch if you have a response from last request | Initial: true\n\t\t\t\t}\n\t\t\t)\n\t\t} catch (err) {\n\t\t\tconsole.log(err)\n\t\t}\n\t}\n}\n\nexport const testStore = new TestStore()\n\n// SomeComponent.tsx\nconst {\n\tsaiData: {\n\t\tdata,\n\t\tstatus, // or isPending\n\t},\n} = testStore\n\nreturn (\n\t<div>\n\t\t{status == 'pending' ? (\n\t\t\t<Loading />\n\t\t) : (\n\t\t\tdata?.message?.map(msg => <Messages msg={msg} />)\n\t\t)}\n\t</div>\n)\n```\n\n## Usage #3 [Pro] Data scope in scroll\n\n```typescript\n// some-store.ts\nclass TestStore {\n\tconstructor() {\n\t\tmakeAutoObservable(this)\n\t}\n\n\tselectedMessage = {}\n\n\tsaiData: MobxSaiInstance<TestFetchData> = {}\n\tsaiDataPage = mobxState(1)('saiDataPage')\n\tisFetchUp = mobxState(false)('isFetchUp')\n\tmessagesCache = mobxState([])('messagesCache')\n\tsaiDataLimit = 40\n\n\tgetSaiMessageAction = async () => {\n\t\ttry {\n\t\t\tconst params = mobxState<GetChatProfileMediaParams>({\n\t\t\t\tlimit: this.saiDataLimit,\n\t\t\t\tup: this.isFetchUp,\n\t\t\t})('params')\n\n\t\t\tthis.chatMediaProfile = mobxSaiFetch(\n\t\t\t\t() => getChatProfileMedia(selectedMessage.id, params.params),\n\t\t\t\t{\n\t\t\t\t\tid: selectedMessage.id,\n\t\t\t\t\tfetchIfHaveData: false,\n\t\t\t\t\tcacheSystem: {\n\t\t\t\t\t\tlimit: this.saiDataLimit,\n\t\t\t\t\t\tsetCache: this.setMessagesCache,\n\t\t\t\t\t},\n\t\t\t\t\tdataScope: {\n\t\t\t\t\t\tclass: 'our-scroller',\n\t\t\t\t\t\tstartFrom: 'top',\n\t\t\t\t\t\ttopPercentage: 20,\n\t\t\t\t\t\tbotPercentage: 80,\n\t\t\t\t\t\trelativeParamsKey: 'relativeMessageId',\n\t\t\t\t\t\tupOrDownParamsKey: 'up',\n\t\t\t\t\t\tisHaveMoreResKey: 'isHaveMoreBotOrTop',\n\t\t\t\t\t\tsetParams: params.setParams,\n\t\t\t\t\t},\n\t\t\t\t\tfetchAddTo: {\n\t\t\t\t\t\tpath: 'data',\n\t\t\t\t\t\taddTo: 'start',\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t)\n\t\t} catch (err) {\n\t\t\tconsole.log(err)\n\t\t}\n\t}\n}\n\n// SomeComponent.tsx\nconst {\n\tsaiData: {\n\t\tdata,\n\t\tstatus, // or isPending\n\t},\n} = testStore\n\nreturn (\n\t<div className='our-scroller'>\n\t\t{status == 'pending' ? (\n\t\t\t<Loading />\n\t\t) : (\n\t\t\tdata?.message?.map(msg => <Messages msg={msg} />)\n\t\t)}\n\t</div>\n)\n```\n\nIts very hard to use because, but this code can do logic with data scope. Like messages in telegram or media files in scroll scope.\nThis options can reduce 200 strokes of code\n\n# Options\n\n## `mobxSaiFetch`\n\nFunction `mobxSaiFetch` 2 params, needs do your life with requests much easier\n\n### Params\n\n| Param      | Type                  | Description                  | Initial | Required |\n| ---------- | --------------------- | ---------------------------- | ------- | -------- |\n| `function` | `() => Promise<ay>`   | Function to request          |         | `true`   |\n| `options`  | `MobxSaiFetchOptions` | Options to your mobxSaiFetch | `{}`    | `false`  |\n\n### Returns\n\n| Param               | Type                                   | Description                                                       |\n| ------------------- | -------------------------------------- | ----------------------------------------------------------------- |\n| `data`              | `unknown`                              | your data from fetch                                              |\n| `status`            | `\"pending\" / \"fulfillef\" / \"rejected\"` | Your fetch status                                                 |\n| `error`             | `string`                               | Just error message                                                |\n| `isFetched`         | `boolean`                              | Can give you information about if mobxSaiFetch is already fetched |\n| `isPenging`         | `boolean`                              |                                                                   |\n| `isFulfulled`       | `boolean`                              |                                                                   |\n| `isRejected`        | `boolean`                              |                                                                   |\n| `addedToEndCount`   | `number`                               | How much times we added new data to the end of our data array     |\n| `addedToStartCount` | `number`                               | How much times we added new data to the start of our data array   |\n| `fetchedCount`      | `number`                               | How much times we fetched with mobxSaiFetch                       |\n| `scrollProgress`    | `number`                               | Our scroll progress (if we passed class in dataScope option)      |\n| `gettedToTop`       | `MobxState`                            | How much we getted to top                                         |\n| `botStatus`         | `\"pending\" / \"fulfillef\" / \"rejected\"` | Fetch to the bottom status                                        |\n| `topState`          | `\"pending\" / \"fulfillef\" / \"rejected\"` | Fetch to the top status                                           |\n| `scrollCachedData`  | `MobxState`                            | Our cached data if we passed cacheSystem and dataScope options    |\n| `isBotPending`      | `boolean`                              |                                                                   |\n| `isBotRejected`     | `boolean`                              |                                                                   |\n| `isBotFulfilled`    | `boolean`                              |                                                                   |\n| `isTopPending`      | `boolean`                              |                                                                   |\n| `isTopRejected`     | `boolean`                              |                                                                   |\n| `isTopFulfilled`    | `boolean`                              |                                                                   |\n| `topError`          | `string`                               | Fetch to top error                                                |\n| `botError`          | `string`                               | Fetch to bot error                                                |\n| `isHaveMoreBot`     | `MobxState`                            | Have we more data to the bottom?                                  |\n| `isHaveMoreTot`     | `MobxState`                            | Have we more data to the top?                                     |\n\n# -----------------------------\n\n# useMobxUpdate\n\n`useMobxUpdate` can reduce your code by 2/3+ times, depending on the volume of your functionality\n\n## Usage\n\n```typescript\n// comment-interactions.ts\ncommentUpdater: MobxUpdateInstance<GetCommentsResponse> | null = null\nsetCommentUpdater = (updater: MobxUpdateInstance<GetCommentsResponse>) => this.commentUpdater = updater\n\n// comment-actions.ts\ngetCommentsAction = async () => {\n\tconst { selectedPost } = postInteractionsStore\n\tconst {\n\t\tsetCommentUpdater\n\t} = commentInteractionsStore\n\n\tif (!selectedPost?.id) return\n\tconst postId = selectedPost.id\n\n\ttry {\n\t\tconst params = mobxState<GetCommentsParams>({\n\t\t\trelativeId: null,\n\t\t\tlimit: 20,\n\t\t\tup: false\n\t\t})(\"params\")\n\n\t\tthis.comments = mobxSaiFetch(() => getComments(postId, params.params))\n\n\t\tconst disposer = reaction(\n\t\t\t() => this.comments?.data,\n\t\t\t(data) => {\n\t\t\t\tif (!data) return\n\n\t\t\t\tsetCommentUpdater(useMobxUpdate(() => data?.items)) // initialize updater with data list\n\n\t\t\t\tdisposer()\n\t\t\t}\n\t\t)\n\t} catch (error) {\n\t\tconsole.log(\"Error getting comments\", error)\n\t}\n}\n\n// SomeComponent.tsx\nconst { comments: { data } } = commentsActionsStore\nconst { commentUpdater } = commentInteractionsStore\n\nreturn (\n\t<div>\n\t\t{data?.items?.map(comment => (\n\t\t\t<button\n\t\t\t\tkey={comment.id}\n\t\t\t\tonClick={() => {\n\t\t\t\t\tcommentUpdater!(\n\t\t\t\t\t\tcomment.id, // id\n\t\t\t\t\t\t'likes', // path to update\n\t\t\t\t\t\tprev => prev + 1 // update callback [! DONT USER prev++ !]\n\t\t\t\t\t)\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{comment.likes} // will update\n\t\t\t</button>\n\t\t))}\n\t</div>\n)\n```\n\n## Usage #2\n\n### You can export your updater and use it EVERYWHERE!\n\n```typescript\nexport const updateComment = useMobxUpdate(commentsStore.commentsList)\n```\n\n# Code with useMobxUpdate vs Code without useMobxUpdate\n\n## Code without useMobxUpdate:\n\n```typescript\n// SomeComponent.tsx\nexport const SomeComponents = ({ comment }) => {\n\tconst [likes, setLikes] = useState(comment.likes)\n\tconst [dislikes, setDislikes] = useState(comment.dislikes)\n\tconst [replies, setReplies] = useState(comment.replies)\n\n\treturn (\n\t\t<div>\n\t\t\t<span>{likes}</span>\n\t\t\t<span>{dislikes}</span>\n\t\t\t<span>{replies}</span>\n\n\t\t\t<AnotherComponent\n\t\t\t\tcomment={comment}\n\t\t\t\tsetLikes={setLikes}\n\t\t\t\tsetDislikes={setDislikes}\n\t\t\t\tsetReplies={setReplies}\n\t\t\t/>\n\n\t\t\t<button\n\t\t\t\tonClick={() => {\n\t\t\t\t\tsetLikes(prev => prev + 1)\n\t\t\t\t\tsetDislikes(prev => prev + 1)\n\t\t\t\t\tsetReplies(prev => prev + 1)\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\tUpdate states\n\t\t\t</button>\n\t\t</div>\n\t)\n}\n```\n\n## Code with useMobxUpdate:\n\n```typescript\n// Updaters.ts\nexport const updateComment = useMobxUpdate(commentsStore.commentsList)\n\n// SomeComponent.tsx\nimport { updateComment } from 'path-to-updater'\n\nexport const SomeComponents = observer(({ comment }) => {\n\treturn (\n\t\t<div>\n\t\t\t<span>{comment.likes}</span>\n\t\t\t<span>{comment.dislikes}</span>\n\t\t\t<span>{comment.replies)}</span>\n\n\t\t\t<AnotherComponent comment={comment} /> // you don't need to provide useState, update EVERYWHERE!\n\n\t\t\t<button\n\t\t\t\tonClick={() => {\n\t\t\t\t\tupdateComment(comment.id, \"likes\", prev => prev + 1)\n\t\t\t\t\tupdateComment(comment.id, \"dislikes\", prev => prev + 1)\n\t\t\t\t\tupdateComment(comment.id, \"replies\", prev => prev + 1)\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\tUpdate states\n\t\t\t</button>\n\t\t</div>\n\t)\n})\n```\n\n# Options\n\n## `useMobxUpdate`\n\nFunction `useMobxUpdate` 2 params, needs to update values in current element of array from mobx store\n\n### Params\n\n| Param         | Type             | Description                     | Initial | Required |\n| ------------- | ---------------- | ------------------------------- | ------- | -------- |\n| `array`       | `Array`          | Array from mobx store           |         | `true`   |\n| `annotations` | `AnnotationsMap` | makeAutoObservable second param | `{}`    | `false`  |\n\n### Returns\n\n| Param      | Type                                                                                | Description  |\n| ---------- | ----------------------------------------------------------------------------------- | ------------ |\n| `Function` | `(id: string or number, path: string, updater: (prev: any) => void or any) => void` | your updater |\n\n# -----------------------------\n\n# mobxState (like useState)\n\n## Usage\n\n```typescript\n// counter-store.ts\nclass Counter {\n\tconstructor() {\n\t\tmakeAutoObservable(this)\n\t}\n\n\tcount = mobxState(1)('count')\n}\n\nconst counterStore = new Counter()\n\n// App.tsx\nexport const App = () => {\n\tconst {\n\t\tcount: { count, setCount },\n\t} = counterStore\n\n\treturn <div onClick={setCount(count + 1)}>{count}</div>\n}\n```\n\n## You can also use setCount like useState, for example:\n\n```typescript\nsetCount(prev => prev + 1)\nsetCount(prev => {\n\treturn prev ** 2\n})\n```\n\n## Type whatever you want\n\n```typescript\nclass Counter {\n\tconstructor() {\n\t\tmakeAutoObservable(this)\n\t}\n\n\tcount = mobxState<SomeType | number>(1)('count')\n}\n```\n\n## You can also use mobxState without \"clear\" functions\n\n### Just use { reset: true } option, you state will be clear only if your state unobserved\n\n```typescript\ncount = mobxState(0)('count', { reset: true })\n```\n\n# Without mobxState VS With mobxState\n\n## Code without mobxState:\n\n```typescript\n// posts-store.ts\nclass PostsStore {\n  constructor() {makeAutoObservable(this)}\n\n  count = 1\n  addCount = () => this.count += 1\n\n  posts: Post[] = []\n  setPosts = (posts: Post[]) => this.posts = posts\n}\nexport const postsStore = new PostsStore()\n\n// App.tsx\nconst {\n  setPosts,\n  posts,\n  count,\n  addCount\n} = postsStore\n\n<div\n  onClick={() => {\n    setPosts(posts.filter(t => t.id !== postId))\n    addCount()\n  }}\n>\n  {count}\n</div>\n```\n\n## Code with mobxState\n\n```typescript\n// posts-store.ts\nclass PostsStore {\n  constructor() {makeAutoObservable(this)}\n\n  count = mobxState(1)('count')\n  posts = mobxState<Post[]>([])('posts')\n}\nexport const postsStore = new PostsStore()\n\n// App.tsx\nconst {\n  posts: { setPosts },\n  count: { setCount }\n} = postsStore\n\n<div\n  onClick={() => {\n    setPosts(prev => prev.filter(t => t.id !== postId))\n    setCount(prev => prev + 1)\n  }}\n>\n  {count}\n</div>\n```\n\n# Options\n\n## `mobxState`\n\nFunction `mobxState` 3 params, need to create getter and setter logic\n\n### Params\n\n| Param           | Type                    | Description                                                                     | Initial | Required |\n| --------------- | ----------------------- | ------------------------------------------------------------------------------- | ------- | -------- |\n| `initialValue`  | `generical`             | Object with keys for inputs                                                     |         | `true`   |\n| `annotations`   | `AnnotationsMap`        | makeAutoObservable second param                                                 | `{}`    | `false`  |\n| `options`       | `MakeObservableOptions` | makeAutoObservable third param                                                  | `{}`    | `false`  |\n| `@returns_name` | `string`                | Name of state, to create set and get with your name                             |         | `true`   |\n| `@options`      | `MobxStateOptions`      | You can set { reset: true } to reset your value on onmount (only if you state ) | `{}`    | `false`  |\n\n### Returns\n\n| Param               | Type                                        | Description           |\n| ------------------- | ------------------------------------------- | --------------------- |\n| `(returns_name)`    | `Key`                                       | your value            |\n| `set(returns_name)` | `() => newValue or (prevValue) => newValue` | your setter for value |\n\n# -----------------------------\n\n# useMobxForm (like RHF + Zod, but this is MobX)\n\n## Create scheme\n\n```typescript\n// CREATING SCHEME\nexport const orderFormSchema = m.schema({\n\tname: m\n\t\t.reset()\n\t\t.required({ message: 'This is required' })\n\t\t.string({ message: 'стринги' })\n\t\t.minLength(3, { message: '3 min bro' })\n\t\t.maxLength(6, { message: '6 max bro' })\n\t\t.build(),\n\tdescription: m\n\t\t.reset()\n\t\t.required({ message: 'Bro?...' })\n\t\t.string({ message: 'стринги' })\n\t\t.minLength(4, { message: '4 min bro' })\n\t\t.maxLength(7, { message: '7 max bro' })\n\t\t.build(),\n})\n```\n\n## Create form\n\n```typescript\nimport orderFormSchema from './schema'\n\nclass FormStore {\n\tconstructor() {\n\t\tmakeAutoObservable(this)\n\t}\n\n\torderForm = useMobxForm({ name: '', description: '' }, orderFormSchema)\n\n\tsubmitForm() {\n\t\tif (!this.orderForm.validate()) return\n\t\talert('done')\n\t\tthis.orderForm.reset()\n\t}\n}\nexport const formStore = new FormStore()\n```\n\n## Use in component\n\n```typescript\nconst {\n\torderForm: {\n\t\tsetValue,\n\t\tvalues: { name, description },\n\t\terrors: { nameErr, descriptionErr },\n\t},\n} = formStore\n\nreturn (\n\t<form onSubmit={handleSubmit}>\n\t\t<div>\n\t\t\t<label htmlFor='name'>Name:</label>\n\t\t\t<input\n\t\t\t\ttype='text'\n\t\t\t\tname='name'\n\t\t\t\tvalue={name}\n\t\t\t\tonChange={e => {\n\t\t\t\t\te.preventDefault()\n\t\t\t\t\tsetValue(e.target.name, e.target.value)\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t{nameErr && <span>{nameErr}</span>}\n\t\t</div>\n\n\t\t<div>\n\t\t\t<label htmlFor='description'>Description:</label>\n\t\t\t<input\n\t\t\t\ttype='text'\n\t\t\t\tname='description'\n\t\t\t\tvalue={description}\n\t\t\t\tonChange={e => {\n\t\t\t\t\te.preventDefault()\n\t\t\t\t\tsetValue(e.target.name, e.target.value)\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t{descriptionErr && <span>{descriptionErr}</span>}\n\t\t</div>\n\n\t\t<button type='submit'>Submit</button>\n\t</form>\n)\n```\n\n# Options\n\n## `useMobxForm`\n\nFunction `useMobxForm` 3 params, need to create a form, have many options\n\n### Params\n\n| Param              | Type                        | Description                 | Required |\n| ------------------ | --------------------------- | --------------------------- | -------- |\n| `initialValues`    | `Object`                    | Object with keys for inputs | `true`   |\n| `validationSchema` | `any`                       | Your created schema         | `true`   |\n| `options`          | `Partial<FormStateOptions>` | Options to form             | `false`  |\n\n### options: Partial<FormStateOptions>:\n\n`instaValidate` - Instantly validates form onChange input | initial `true`\n`inputResetErr` - Reset errors onChange input | initial `true`\n`validateAllOnChange` - Validating all inputs in form onChange | initial `false`\n`resetErrIfNoValue` - Reset err in current field if input have empty string | initial `true`\n`disabled` - Disable state | initial `false`\n`observableAnnotations` - Annotations for makeAutoObservable | initial `{}`\n`observableOptions` - Options for makeAutoObservable | initial `{}`\n\n### Returns\n\n| Param           | Type                            | Description                                         | Initial         |\n| --------------- | ------------------------------- | --------------------------------------------------- | --------------- |\n| `values`        | `Object`                        | Your current values                                 |                 |\n| `errors`        | `Object`                        | Your errors here, with key+'Err'                    |                 |\n| `initialValues` | `Object`                        | Your passed initial values DOESN'T CHANGE           |                 |\n| `disabled`      | `boolean`                       | Disable state for inputs or something else          | initial `false` |\n| `options`       | `Partial<FormStateOptions>`     | Your passed form options                            |                 |\n| `reset`         | `'all' or 'values' or 'errors'` | Resets what u need                                  | initial `all`   |\n| `setError`      | `(key, value) => void`          | Set your errors                                     |                 |\n| `setValue`      | `(key, value) => void`          | Set your values                                     |                 |\n| `validate`      | `() => boolean`                 | Validate you values and returns `true` if no errors |                 |\n\n# -----------------------------\n\n# Schemas for useMobxForm\n\n## Usage\n\n```typescript\n// CREATING SCHEME\nexport const orderFormSchema = m.schema({\n\tname: m\n\t\t.reset()\n\t\t.required({ message: 'This is required' })\n\t\t.string({ message: 'Strings' })\n\t\t.minLength(3, { message: '3 min bro' })\n\t\t.maxLength(6, { message: '6 max bro' })\n\t\t.build(),\n\tdescription: m\n\t\t.reset()\n\t\t.required({ message: 'Bro?...' })\n\t\t.string({ message: 'Strings' })\n\t\t.minLength(4, { message: '4 min bro' })\n\t\t.maxLength(7, { message: '7 max bro' })\n\t\t.build(),\n})\n```\n\n.reset() required to be in the beginning, and .build() required to be at the end\n\n## U can pick and extend validation keys from sheme\n\n```typescript\n// pick function, u need to pass keys as a string array\nexport const signScheme = emailScheme.pick(['email', 'password'])\n```\n\n```typescript\nexport const emailScheme = m.schema({\n\temail: m\n\t\t.reset()\n\t\t.required({ message: 'Please write mail' })\n\t\t.regex(emailRegex, { message: 'Write correct mail' })\n\t\t.build(),\n})\n\n// extend function, just like extends from classes :P\nexport const signScheme = emailScheme.extend({\n\tpassword: m\n\t\t.reset()\n\t\t.required({ message: 'Please write password' })\n\t\t.minLength(6, { message: 'Min length of password, 6 bytes' })\n\t\t.build(),\n})\n\n// extend also have second param, override with initial state false, if override is false your validations in same keys will be connected to one, if override is true, then only validations from the new key will be setted\nexport const newScheme = someScheme.extend(\n\t{\n\t\t// validations\n\t},\n\ttrue\n)\n```\n\n# REPO\n\nhttps://github.com/aianov/mobx-toolkit\n","readmeFilename":"README.md"}