{"_id":"r-state-tree","_rev":"48-f6c092e357eaef54e62f7022ae317d8e","name":"r-state-tree","dist-tags":{"latest":"0.11.1"},"versions":{"0.1.0-rc1":{"name":"r-state-tree","version":"0.1.0-rc1","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.1.0-rc1","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"e9343e04d38f12288c7047cb5d5ca0da37f21a53","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.1.0-rc1.tgz","fileCount":20,"integrity":"sha512-Akvi39qgowX+ItpUNmQMmWn/J/Wb4G9Hre996D7bT29Z3D8NYsW07zE0NKnn+/xoFidAuJai/fGA8xdlSfS0FA==","signatures":[{"sig":"MEUCIDI9qePFZFBVa1nFP9jDYh8eHzWdPtALZfwgO0ManNeDAiEA/mUOR2xpWIMkQwxCsHUy3c2xgltfkl47WTCdKlHwnfE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":80047,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8T7ECRA9TVsSAnZWagAAZAIQAJuIXC4fWzseOM7ATH0s\nuBLj3WDE+ewAAK3wz8zCIVSZizpfkFobUKmbSBx5lgn/kYOlWhr5mzvh50rc\nxsgUmjT+vSGiLelUrjY4fLNOhr4CVtY/ChGZkhdqUsYiZX2pF3pVShzO4A+r\nr5hAtFB1ER8sPa+5Dr6+piKeS15JCGxtHBDrX+5DtQdntIGFtw07B1f8VwpQ\nCGYttLBtiuHgf2EBSWnTDgxUquPJvH3GSxJHRHtyPiDvbN1L9mBeHIrhYo78\noK4icS2hEQKg/X6yRw3tMs0RMTC+vXoXnzG+KDy06BCrumwuThzeqxMkHbJI\n+VEq44yZPbee08HeCbLiakEvIl7rqM7M0AOW/ieRevrSG2lCloqLIoqeCXoG\n8CYNKw1TYoZzIspq5au/dtZUdXKkNG34MoUBpCkqvahNRgHU082ULRhYubO3\nYMwPs20MBUImuoQbW5a9xlohiyLgV0d9K6wvMIDUWrL9J8Awq2HMP0MjXJmy\nP8lM5Ad/6xU3zTJspHgNhPgZ0zSUT9jJd5/nen3wAj8x/rVMFWPynCoMMN8J\n9921sYZ92h0hkH+JRxzUm0Lsg5NaVETe4IPOqDCPT+vGnPW59UAAsg6GwGOR\nffRzcY97n2yTJUn0jFdcf0rLUKiFF/Sq69///+qCMI6yxGaYHZ8kMIIeDKWF\ngGT2\r\n=LTMI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/r-state-tree.js","types":"lib/index.d.ts","module":"lib/r-state-tree.module.js","gitHead":"e5f5c73502bdc2f41c1b57224f8c451539e0db4a","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"jest","build":"rollup -c rollup.config.js","test:cover":"jest --coverage","test:watch":"jest --watch"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"6.7.0","description":"reactive state management library","directories":{},"_nodeVersion":"11.15.0","dependencies":{"lobx":"^0.2.0-rc3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","tslib":"^2.0.0","eslint":"^7.3.0","rollup":"^2.18.0","ts-jest":"^26.1.1","prettier":"^2.0.5","typescript":"^3.9.5","@types/jest":"^26.0.0","@rollup/plugin-alias":"^3.1.1","eslint-config-airbnb":"^18.2.0","eslint-plugin-import":"^2.21.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^3.4.0","rollup-plugin-typescript2":"^0.27.1","@typescript-eslint/eslint-plugin":"^3.4.0","eslint-import-resolver-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.1.0-rc1_1592868547625_0.5696415962958714","host":"s3://npm-registry-packages"}},"0.1.0-rc2":{"name":"r-state-tree","version":"0.1.0-rc2","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.1.0-rc2","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"3d02682a1ae5bd82908249add8b4fa097fc16c9d","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.1.0-rc2.tgz","fileCount":20,"integrity":"sha512-T+jwv/HhlGqbnpIpT0TqQumDaWwV+7CfUjsrPDYDuk65bh4wjjhl416p5ypMLc1OcAcTKGlUs+AaRrqOfNTRlg==","signatures":[{"sig":"MEYCIQCtcxMcVtfNsKX1xHV8jbkYKx3icwRwB7EG38XW2wmJawIhALmzEQkcTkrVaxmE53vu6UxevCOygVXO6dxnOgdBzYoq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":80567,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8WoDCRA9TVsSAnZWagAAt8cP/ikLISrkZD2nozI4HGE2\nDe7TsSHyTp8GNh/E69oxka65x4PsA68MGjjU3fA2PrLunlGMjUu3rLMlGqLm\nCYRvMqFImJzA2wDTuHph8qmGS8MJnGO9HujqsPBWnxHLgfYyllDbllFchzXG\nOUQ6HGiZPyx4GGo7Dq/RvkHioumL2O8EFOkmfKhqiNxvot8aGT+VEnu26gUf\nUXAC6ej9i7iYKH+nOwqKHoj+JEhNP4t4FmZ40DPnQAcbKaEifvORbuz+P6KA\nM/mgZ1Y9/mjk//c/jH7vhjn/Vd4FzeOLiLN6JPN3ALS9UHfgpWuSKDqZq5vz\ncFWJTPee9QWRVKp2O0Kgs4lCsj40U/v5zNAwrTn2gmSI2dIo2vvQW9JWUc5P\n0bZyAHl7ywCkaC1nKyptUnfb9CVQ1Lp1Ve5Zek01s3l7NtKrNnHbrDzitxDQ\nMas68L4FClcY+Ofa1OIaChohC9VlwL0JlDHIIKKMNZNp+ip+cgBL9GrRuF9Z\nSo5nhdVfdDHtgwnX6W1sIcYLyHVzJRkzhTRcD+it+Qc5tdC0Ux/iaJIx+yci\nJjD0IyNoojuCGrRrkQQV5np3DhyRd0CizUtMM4S03ykFgoDtC4xJH1DDPjX0\nUsnJWaFI0ilLcTkd1gtTqhkCiVLVqmrLjaAgGuNstHp5VGpsv6Yr+6L2/34u\nhH8Q\r\n=nSuO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/r-state-tree.js","types":"lib/index.d.ts","module":"lib/r-state-tree.module.js","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"jest","build":"rollup -c rollup.config.js","test:cover":"jest --coverage","test:watch":"jest --watch"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"6.7.0","description":"reactive state management library","directories":{},"_nodeVersion":"11.15.0","dependencies":{"lobx":"^0.2.0-rc3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","tslib":"^2.0.0","eslint":"^7.3.0","rollup":"^2.18.0","ts-jest":"^26.1.1","prettier":"^2.0.5","typescript":"^3.9.5","@types/jest":"^26.0.0","@rollup/plugin-alias":"^3.1.1","eslint-config-airbnb":"^18.2.0","eslint-plugin-import":"^2.21.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^3.4.0","rollup-plugin-typescript2":"^0.27.1","@typescript-eslint/eslint-plugin":"^3.4.0","eslint-import-resolver-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.1.0-rc2_1592879619112_0.6177707388065292","host":"s3://npm-registry-packages"}},"0.1.0-rc3":{"name":"r-state-tree","version":"0.1.0-rc3","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.1.0-rc3","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"a73e1458985c544267e9ef8a3e5faa96ece0c5b4","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.1.0-rc3.tgz","fileCount":20,"integrity":"sha512-FnX52L7R+JKDtQyBBnpIQ+0Zrw0Y3VCUgsshv5gftlnLr7pBvxMvNiAxmwhbBxbj8FDHZhQ0f3rqoJx/vZnEfQ==","signatures":[{"sig":"MEUCIHMHIKdhHavz7sDrOvKDLHwxx2HWTiayYNOGJx29blUJAiEA9D5IHIePJdvtNaNdOzpfFLUT8ZfHb9mUnifWP4Dx/zA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":82822,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8olbCRA9TVsSAnZWagAAHB8P/jDFx3m/yh6MZjqR6Ab4\ntmXXInq50J4RAbmVhlOHfTn0GkLJkhZdf8t9vVVXsV6Dho9Y/kuaz6aNqjqg\nC3c1SSkKfNaOKJ7o5VDa+xOqlbLIJEC0M/e5PR3EgUsOmzZn/ZxlCUB0a9RY\nffd2/l0Ch2+JTDp+pSP9QxBxCA2+ezi+r52oprj4rhjVDzghq9q9CsU8+1Sk\nTLtOiftWmNCHrPu7DAohwVfhBMGdr1ckN014RIkniM1ogJF50j0bEmDSsAHx\nIFjs1iVITBKnaDRcT0LykMjXCJbb7Ru9EoNxUb4VX8B4nd7kWSFnSJfh90Ir\nu3yhh0sI4dv2VxThGJg4sbzpVgL6Lmarglv/M/u1O43YvGnQ301d9m3HiNwd\n08/gdhJIOxz18JxJizNaeQhjJRu/sN/cchHsyQZx6kRsgoGKwFBPtn5ruIKY\nNapFR+wl2FK94QvtUSBNp2K/pbcRK2JHjCXwfbAjJ+hRDX89I1m+1hYmrjGk\ndFJm3+v4gkAKwAwheeBhYYOwcksPpQvDvDDc3MBDgcRjHjHrlnFJzIbKzuI3\nCORBDXmb13zCNCQ+qZDnXXrV4v8a83kI/mnMXylYtT+59zNNBQcC1rgJssa2\nBAsZP/0fQ2Ih0a81gKwlEavB3rxdalqkHYGmQ6DLPHhZJyOnKqo+Uy4+YkG0\nWlK8\r\n=50ri\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/r-state-tree.js","types":"lib/index.d.ts","module":"lib/r-state-tree.module.js","gitHead":"ba074bbd342cbf272a034370b09f3cb940be50ec","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"jest","build":"rollup -c rollup.config.js","test:cover":"jest --coverage","test:watch":"jest --watch"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"6.7.0","description":"reactive state management library","directories":{},"_nodeVersion":"11.15.0","dependencies":{"lobx":"^0.2.0-rc3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","tslib":"^2.0.0","eslint":"^7.3.0","rollup":"^2.18.0","ts-jest":"^26.1.1","prettier":"^2.0.5","typescript":"^3.9.5","@types/jest":"^26.0.0","@rollup/plugin-alias":"^3.1.1","eslint-config-airbnb":"^18.2.0","eslint-plugin-import":"^2.21.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^3.4.0","rollup-plugin-typescript2":"^0.27.1","@typescript-eslint/eslint-plugin":"^3.4.0","eslint-import-resolver-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.1.0-rc3_1592953178711_0.8792340119883213","host":"s3://npm-registry-packages"}},"0.1.0-rc4":{"name":"r-state-tree","version":"0.1.0-rc4","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.1.0-rc4","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"d2ad45ea7aff2e22e813c4c8e3725e17f302d148","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.1.0-rc4.tgz","fileCount":20,"integrity":"sha512-ZyjNgB1krRFUsJhjRIHh5qZWo4MZrMBCNR8fxLhGk+fVSLTbifQCja5fmrrU1NLGqpRcY7ARn+Fv4SzSZfY87g==","signatures":[{"sig":"MEUCIFr5Zk7XFeopKzqQ0bfjb3pORi7iVXzSkLst8pLIn3vfAiEAsTTvMDp2Q7fCHzIVMNZhmOhuzFRsRCDHI9SYmhkDDQM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":82818,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8+qhCRA9TVsSAnZWagAAr1AQAJ+PoCuKclttLA8Wclc8\nTaAzzG1M9mp+Qv3D4d2HP6D/OecMCEZcvxnqt6Dd+ObuazRKuILAg0TlV3P9\nhVdL1mYvBH4xe4c0oPDA+F0XPbS9hPV1MibWOmDtrXjc58pYuxm2p20gBiHD\n50zKMDkuMON51+T/f99KTd+xhGioUJ1DwOv2r6w4EJUPW6kBUyaYykr2T+Ou\nO7BOq/irbzwqHEDy5tnpJgI9FVALKXogVe9X2Iyudryl/HmJ3FQsPQz1IgxS\nbA2ZOMLdTC6CQHco0fd+td4bSX3rz3e1msV1j0zfQYMN/cm4qqz/GTpTU29W\nI2VsQzWJZzlR8RHpO32les/NQBDlABYP54FIeoBHbiq70A2DYcdJ/iD368Hp\nl6LpZRzIGthWHN16RjPEhuErpDqT/CZF9fUsXn10C1qJcusVHqKTIGTwrSFj\ngMwKuyRFso38LQV3qg9Xl/IWLhpz5ClckHG6XMXY3wxIzweknCXkqcr/++78\nlBW6tfT2PuyBFFhbs6RKXrVC5+bD4qQfGnmAiQ35N+Ppsc/1iCtUzH7diTC0\n9JAF2B56rA1aVBhw2fsHMx3GUSw8kn/yyzFlzgbY54FN15Gc6VuZxhoA/kAX\n/glZxLthDliGwbbOhGVslFuvl0npMbkfryPjcbFTUK1wbr5JX3TsejKgEh3y\nhZoQ\r\n=DqTY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/r-state-tree.js","types":"lib/index.d.ts","module":"lib/r-state-tree.module.js","gitHead":"c38a34043dc2103243e570480ea8ebb11796809c","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"jest","build":"rollup -c rollup.config.js","test:cover":"jest --coverage","test:watch":"jest --watch"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"6.7.0","description":"reactive state management library","directories":{},"_nodeVersion":"11.15.0","dependencies":{"lobx":"latest"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","tslib":"^2.0.0","eslint":"^7.3.0","rollup":"^2.18.0","ts-jest":"^26.1.1","prettier":"^2.0.5","typescript":"^3.9.5","@types/jest":"^26.0.0","@rollup/plugin-alias":"^3.1.1","eslint-config-airbnb":"^18.2.0","eslint-plugin-import":"^2.21.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^3.4.0","rollup-plugin-typescript2":"^0.27.1","@typescript-eslint/eslint-plugin":"^3.4.0","eslint-import-resolver-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.1.0-rc4_1593043617025_0.7577181083100677","host":"s3://npm-registry-packages"}},"0.1.0-rc5":{"name":"r-state-tree","version":"0.1.0-rc5","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.1.0-rc5","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"a291db64b4d327686506597561a0e2f414a33ab9","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.1.0-rc5.tgz","fileCount":20,"integrity":"sha512-VTvemf6PkQtlZr95UWHAhEzj76QUht5zAL6pfMQ+kmsUKHtdTVLbzkw6oZdJt24fo5Obm0zhyjlZj+s8mKZ4/A==","signatures":[{"sig":"MEYCIQD/B12Kikq4bdc+aRBWxl4jSgZcpCHUmWl8f5qspT6+SQIhAO0GXvT2LGmqCVzxNzBcvkm9CaoC0QY7iLfTqGP59fFW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84883,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfCzsnCRA9TVsSAnZWagAA9EkP/2y+TnRsVLi13tzxkUza\n7XkDVYraLKL2vqe0ZOVDYSdQHywkH4hlQO3d0koFXIeMSDflxGu6h2ReueOC\nWwnceevPYnwLwWAwl3QaqqukKJwvko+euSoWBycTiAIVn8fTo3ZHyIma9621\nCupPPHOakpkdNnbpNL0Xvd+Ix8B+vp32Lf6M89urnR/lhHqsD3lwIE+G7X4m\n/55oNkm8lC8GqhBTi8Z7T1lGQR4YR4U6FmTdzyiXg6f4jCh0zljeeRdVXI4+\nPUlfNs0Sj/zOlTc0gQdfZNibqedBEstR3haOgPtrcUrY4vZTJHBlaAKFEaSy\nfZyGCDAgGPKqZyihVgxVsTU4qSBrx6z0ZdRsg/RIak6oXOgLsNQJ+jT3tpZt\nC48iLyqFk/qoX0aejj8DzQiuTpXflfSCK5hGr2k+GXP/qExOsCkO1uXq1xwt\nuNEd9IhnblpIn7u0KYWZdyVXNSVd43wVbanzx4QN1kq5CDYmCJvXr8UTwcSQ\nBdMmrHQNb8prmCyAc7mTsX3yCLe1UtF+1EjPQeirIDIOsS7lvgyUF2D+ihGt\nokHt5TBE5LreyfXNsXvwnpYolMxvlQmQzk3Hd+Hn9tX60NPk1REKOfQQkqQ6\ntUdRd0QXpZBHCtgvTQFkMiZW7p3z/5O86Cw/2Yrr65U91sUj0EW6mBmCJ0Kx\nFiiz\r\n=/Jil\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/r-state-tree.js","types":"lib/index.d.ts","module":"lib/r-state-tree.module.js","gitHead":"75fb4bebd4fa6f743234c532fed4f3447131a122","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"jest","build":"rollup -c rollup.config.js","test:cover":"jest --coverage","test:watch":"jest --watch"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"6.14.5","description":"reactive state management library","directories":{},"_nodeVersion":"14.5.0","dependencies":{"lobx":"latest"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","tslib":"^2.0.0","eslint":"^7.3.0","rollup":"^2.18.0","ts-jest":"^26.1.1","prettier":"^2.0.5","typescript":"^3.9.5","@types/jest":"^26.0.0","@rollup/plugin-alias":"^3.1.1","eslint-config-airbnb":"^18.2.0","eslint-plugin-import":"^2.21.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^3.4.0","rollup-plugin-typescript2":"^0.27.1","@typescript-eslint/eslint-plugin":"^3.4.0","eslint-import-resolver-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.1.0-rc5_1594571558906_0.616619405154496","host":"s3://npm-registry-packages"}},"0.1.0-rc6":{"name":"r-state-tree","version":"0.1.0-rc6","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.1.0-rc6","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"a53f4f1b4c54188aa16a1c22ca839242067bef6e","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.1.0-rc6.tgz","fileCount":20,"integrity":"sha512-lM29VGaytNvFPL0GQ3XblyJIyt8uVRKzFGbyQJUJWrktrjY3nuZNe38FFuUMjjQgu21GzsNB0HYAz3vIFjPI1Q==","signatures":[{"sig":"MEUCIQDwdnLrPleYZIjfWkvoKfgcoY5XpPgcsAaYtroBMrHwzAIgXt7BfTMR5q26V8qymbwtb9JATvo9xnZ/sbZCz9p1wB8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":80958,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfC84VCRA9TVsSAnZWagAALbYP/iD5aw0pqrKAjR80YN4b\nB7sUcBi0yPklKHX2w0XKPwxo8gYooH/zrewK5Fs+kZOJB3+utW5/SUvVXhp6\neYxXA2Agxz+yzNOUVXvqxNOV/YMZ0S8UFbIh8R7IisjH1/w2V/C6Mn0xsuJU\n24WIWDXmKIO4TFVn3JrjtSaVUVuEgomXvetKPohzfnudorY0Unrm24rABrP6\ncjoi3DYFOYgk8LjAs56/DV5KYQn2gTjNWBBkZeWehcK36JdqeCeua+3uzW8j\nA9fbSZrwQJ0/lwBqfHOb316np0HFC5Z8Z0RcNuoe48D8H92sX9JUtsFz2oZ8\nYUTHaRHl8xziuiLzAag1AQ2CbHEY4G+lwq3e5+nVGHtoOjnNrZ/Nnbn5BYbI\nKWc9jM515q6pKWxMHyKVDW4c872pvyeShhU6/ufUnzqD1DBCmAQcgglaFxtS\nkQhR3KCJ0uHJdVOyMKGc9QmuhGzoNRiBirqXSOHy22WfLygytIQ5Is8eiuOw\nh4dKaqRQmiuywwo/1SBdHV1AqxyEjQeUJgwU1Hm/viKs5x37MlfNX9WJx3om\nJKUapnugjzKQto95oJ9uxnTIaHDe8oQ1SKmPRQkKxn2bFYCvhVs5T7VtOslu\nR8q1GTX5/ZILcutvdOghN8FYmLsDdule1bMdoN07kd5aFf12Pw2rDZrhUrT3\n//fn\r\n=kLFz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/r-state-tree.js","types":"lib/index.d.ts","module":"lib/r-state-tree.module.js","gitHead":"a6e2343a2fe52aae00a26b2fa6d09e3f4bec9f2d","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"jest","build":"rollup -c rollup.config.js","test:cover":"jest --coverage","test:watch":"jest --watch"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"6.14.5","description":"reactive state management library","directories":{},"_nodeVersion":"14.5.0","dependencies":{"lobx":"latest"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","tslib":"^2.0.0","eslint":"^7.3.0","rollup":"^2.18.0","ts-jest":"^26.1.1","prettier":"^2.0.5","typescript":"^3.9.5","@types/jest":"^26.0.0","@rollup/plugin-alias":"^3.1.1","eslint-config-airbnb":"^18.2.0","eslint-plugin-import":"^2.21.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^3.4.0","rollup-plugin-typescript2":"^0.27.1","@typescript-eslint/eslint-plugin":"^3.4.0","eslint-import-resolver-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.1.0-rc6_1594609173439_0.6096294657952264","host":"s3://npm-registry-packages"}},"0.1.0-rc7":{"name":"r-state-tree","version":"0.1.0-rc7","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.1.0-rc7","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"51545cafaf5b477c939552a4f3db82b3daeadb74","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.1.0-rc7.tgz","fileCount":20,"integrity":"sha512-po4NpBtqi3yBPGyVnGbmwFi1GcbqD09pGAoMAF/W+zZkklYu5nHV2WICIk/BdJqmIMRrCtofhdJ3l4eyIqrZLg==","signatures":[{"sig":"MEUCIQDj2xKOaFsZwUP6Mj5002Q3PyrUrU7bedRIY3crUwl+rQIgLdDLwF3VDtUDv4IsH4sdPv1fV4+S7b64gKjdtXwqOsM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":99293,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHjStCRA9TVsSAnZWagAA8REP/i3LD2m3fblmyNZNBqVt\nt+Vzza1w1JnokQOb87kMexw36BW0kLrZWDZw/PNCxMpdq2+id3r9QgAm9THX\n+22AG69WciypG2xsgSZ9zyEQtmfGLZ1nGHiF7j1Q7sAn1oyOLvESD866lHXY\nIcIw6tXSceFqeVHVO3evhGK37SI8LC+9q9DEy/X34ODlM8YFN85oIwugzONT\nb7LwjEqUhVEb1QtyWS6UjOofZCEnQifAl3YLI3RM2pe6gG5tMUP/LWl3tc5s\nVkoBb2DfwnZKDQ2j0Ljf5xQQ8LG23ViZDVaURkiS7tzPfheS/QN0Z+yNdBnI\nrEG63rbEZopZzSm30H345BxAq7DepzQBTNQKHxB/lSHLqPkbXH2e7rdu1QlK\nWfTzklL/eSrU5fpcc9aLg3rtLgCJgUIGsY8Hx9eS86uzxh+aguriL3z6ArMN\nMR4GAv57bpWrgFDAQ9EBrdmvJe5qJBYBziN17WK352JloUxWWOBh5kzp++ql\n5j+Foi+EbL7LxI9Usnm4CMGMtUwOfQE23hJ9KrkBiqPsI2XB+prhmRqu6Bbd\nYKS6K+itVnuVGj8+meN43L/tzSIgt1pK9j0j9K3fTb6gU5ZipXHS1acnzKyA\nJUbmo7uiH4+oRq/x0tozpf/mZz3WePRkDvl2vm5iAIWoVWhU9uSnyiIhA+AO\nyPD4\r\n=hJ7e\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/r-state-tree.js","types":"lib/index.d.ts","module":"lib/r-state-tree.module.js","gitHead":"dc76f21d1c9fe3dc3d2a5ac7473af39dd6e6a191","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"jest","build":"rollup -c rollup.config.js","test:cover":"jest --coverage","test:watch":"jest --watch"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"6.14.5","description":"reactive state management library","directories":{},"_nodeVersion":"14.5.0","dependencies":{"lobx":"latest"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","tslib":"^2.0.0","eslint":"^7.3.0","rollup":"^2.18.0","ts-jest":"^26.1.1","prettier":"^2.0.5","typescript":"^3.9.5","@types/jest":"^26.0.0","@rollup/plugin-alias":"^3.1.1","eslint-config-airbnb":"^18.2.0","eslint-plugin-import":"^2.21.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^3.4.0","rollup-plugin-typescript2":"^0.27.1","@typescript-eslint/eslint-plugin":"^3.4.0","eslint-import-resolver-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.1.0-rc7_1595815085353_0.04651689186397068","host":"s3://npm-registry-packages"}},"0.1.0-rc9":{"name":"r-state-tree","version":"0.1.0-rc9","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.1.0-rc9","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"b7943ed13bec7e2711157945660d8aee3c76e8db","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.1.0-rc9.tgz","fileCount":20,"integrity":"sha512-4G/OImTZi5VKO3mmjExXNFBojWE7wXKPrlDb/tvWZcdFnKAgqshyISSLHQ7/LZAcTEMu3Qs0i4YRWfn0os7c1g==","signatures":[{"sig":"MEUCIEhFsGht0YXaUCKKVDYMoGeFhXSCEi0nyXZfJ7nCPIkWAiEAzHGhr45hlD0K2XB40E75450yH+NAWJt8t5YX6JRJIzc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":105818,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfXkfQCRA9TVsSAnZWagAAdukP/3wsvKPS42r7e6vm1i/G\nurokt5G0TEFixeFbm0uCe09ErKGC33KHQVkCJ3w0fpO6Wy7o/jN73Hso+4P6\nAFA42HuuESuYam6/0MOkv/xrpS5+2DTsPiJWfSxYoAUcs3SfP81i+/xalm8i\ndftpQchH642W1EBRGryms+nxXLxKyZEPbFiI5BOrWh/WVZ6PdUu7Zkl2lBzD\nK/hMZbhOko+qqua6qSHhQ8om9vau8hdcTtqtygy4q925RPo89TS6p4zqZFTB\n9mz85lSt7hWe2eq3iV+6LM/mxRwmndj+r0hLYMMStGSHmaeqUasxUyBfaI2O\nQf5JRGfA3fJekl401IUZX6YF5a0MzQDpVYJDXEAVBBPqXi/TurNEB0VFyUQN\n7NH33AxSFyc9DZLav2LiSqEUMSy84eDXk/wDhg0W/N3DeajQpxdOekPTa88E\nhOXzzp/FKaIjMYUAS5WHyv/ID+Q/tGmqFxKi/90B1EVIV/BXSE2DbdwdTQoQ\nw6GsyrXDLuMMOJyYvAHQ6Z23k0J+e/+T50ehwrfg9lREU+RjYxE+c1lOzyNb\nA3u0yy7Div3FSszHtV5uit3DsVuDwChMaHdJ4is/harQu5quc1w2l5eo6FLJ\nwNxn2Lmg6QT+Xw/pvu/TDe7PG2DFgzWfJhNS6whXfNCmyjHDHLJyU0s4P/Vv\nJKvW\r\n=IFxP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/r-state-tree.js","types":"lib/index.d.ts","module":"lib/r-state-tree.module.js","gitHead":"59c77fcff45b8f52b6af2e762341d4cbf858df37","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"jest","build":"rollup -c rollup.config.js","test:cover":"jest --coverage","test:watch":"jest --watch"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"6.14.8","description":"reactive state management library","directories":{},"_nodeVersion":"14.9.0","dependencies":{"lobx":"latest"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","tslib":"^2.0.0","eslint":"^7.3.0","rollup":"^2.18.0","ts-jest":"^26.1.1","prettier":"^2.0.5","typescript":"^3.9.5","@types/jest":"^26.0.0","@rollup/plugin-alias":"^3.1.1","eslint-config-airbnb":"^18.2.0","eslint-plugin-import":"^2.21.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^3.4.0","rollup-plugin-typescript2":"^0.27.1","@typescript-eslint/eslint-plugin":"^3.4.0","eslint-import-resolver-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.1.0-rc9_1600014288325_0.7549432415885229","host":"s3://npm-registry-packages"}},"0.1.0-rc10":{"name":"r-state-tree","version":"0.1.0-rc10","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.1.0-rc10","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"53829d280e309694f3528aa45924b5db721bd0da","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.1.0-rc10.tgz","fileCount":20,"integrity":"sha512-UC2yjFXiyomg2UOTKMHYfXe9nw/ZqJA+euGv5FkrZZpF8FhRhFNMBo/D/5CTv6pFI2zQrqeaVTN+xExB+52GYg==","signatures":[{"sig":"MEUCIQCTJrdeHauAVXfgkq9q/rw3hdJUl55CKKSb5WCgz0UtGwIgA2GFr56xXU9K59HJYV+/SXjz2LP1hZgIklZbyEieqIU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":105876,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfXtRLCRA9TVsSAnZWagAACrgQAJt9Yfnr9GftwSh8kx3+\nEufg0GhX1bbk4vceIJ0SogCjrWayOjFa8xtyMeMiA1nwV6signKdCUZoRgNs\nhwsliSDkbCE/8BbV42Yq2d2Jo1C6gz37ZJRRFjI/41IBUciYj5u5GDHIJ0v0\n1ovBb//GAyagYLmHA4l3S/Tkdv/TYTDMgjLXpv6fL4q0h3oai5V23sQDdMI8\noxFIzd7yILGXrP9bwf3QTKgBCUX6Uhzd1G5GnR7zAHyc+//LmVhDGsl7GRII\nYhDEzspjdk+Hrfy1zk0CmdNyLs8ozYVpLLtdjN5QX1iF/7Vsd3xd6tcID/jB\nZY8YBbw09MGKPLutJw7Bc29mAfxu/TZNRMdSDlJmTojmmiVZkKmXKVGQCebO\nv9UdiCMVkXoYWoBTw9gVmSq+q6to2DZMJRcKUMKtNgR9rd0X1kUQle7sJDT1\nAF0clVEXW7eJ9spw0VYGuvk5avVXQReT+cXevRTiDNKoJesewitELJnBiIEp\n/46vwZ6NBd+ylWVuCIOuKRUJTNmPMexa+0KcRHCMWNRmHO/By96QHquBXzpH\nN+bySU9PqA0RkdEV3nPwUaFdVXBiLuP6JiKIiw+Hxc7SgYG9dSxxiAcO8ojf\n3TqWq9B3YpX205gllHvCltPluousVTb3rt8ruOeEcfnrrUKDvfO/Ran8Nuhj\nRDS/\r\n=4ZHq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/r-state-tree.js","types":"lib/index.d.ts","module":"lib/r-state-tree.module.js","gitHead":"4828c6079104e7c29c880c9fa82929f01e14fa05","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"jest","build":"rollup -c rollup.config.js","test:cover":"jest --coverage","test:watch":"jest --watch"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"6.14.8","description":"reactive state management library","directories":{},"_nodeVersion":"14.9.0","dependencies":{"lobx":"latest"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","tslib":"^2.0.0","eslint":"^7.3.0","rollup":"^2.18.0","ts-jest":"^26.1.1","prettier":"^2.0.5","typescript":"^3.9.5","@types/jest":"^26.0.0","@rollup/plugin-alias":"^3.1.1","eslint-config-airbnb":"^18.2.0","eslint-plugin-import":"^2.21.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^3.4.0","rollup-plugin-typescript2":"^0.27.1","@typescript-eslint/eslint-plugin":"^3.4.0","eslint-import-resolver-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.1.0-rc10_1600050250959_0.9695627528530597","host":"s3://npm-registry-packages"}},"0.1.0-rc11":{"name":"r-state-tree","version":"0.1.0-rc11","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.1.0-rc11","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"2cdf50f49e15c3cb2ddde680bd909b54a104cd7b","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.1.0-rc11.tgz","fileCount":20,"integrity":"sha512-OiQMzbV3SXlkfWEUVyxbZ3PRXzmnZZ17arOr+TOP3akHIlnrW5NJYNAHfXrzwgI40CsBvxwn0ns/kn8ueiEyWQ==","signatures":[{"sig":"MEUCIQCEPnwkPSwGEmv9e0qrLZwE7WY7FiS3xAmUufG5OtF5QQIgE7/TFnAcA2WWkOfubwKTDnqLjJ9sx+KviqjnIx5Mw2M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106566,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJflagjCRA9TVsSAnZWagAAAnoP/ioVE4CP18YGfo9/OwW6\nyRQvhm1lRXhWMUtf/9KQqjz0d06hH/1n4cJMv7Ha4I03Od4xV4mZ40w76GZK\nTeB1HTYGyWgPWZ4Iwam0CLY1z9EjjbAX3Nx51eWLVCMbTyx+AXKR8vKHFIGM\n10hYwrC6LhY0uMNGlHiUx1/JSWf1NrYdFSqvM+93RKjSaGeJnqNr/hVpNg5Y\nw0hGPUWIzktBts2jhu5zDsFxAYI9kJu2N4LlM4bBnkg6/7kAQPFE8ev/j+vA\nGkTXTV7FCFUDYj5mbiaRUUiHGh7MbmeyvnCPE0uXvznbnzwyxfnMuM35fdBl\n6NWFxt99GpqTpwATmcwPdqiD9JZNCTykRbse8MNvEkENM4md8D50t0XLpCj/\nMQUO7ZKmi9VfMjvjxfT7z/TtPqzfy3g1XNu9WYX8Y+VsF+pIjrHgnWKmACdI\nG7Ruz38DiKk0nAPQJyFFCyTNPoIaj2bc9Mdi7pKHL1TDRwYvEnSu4HA5C/tE\njGaUQwsz8UOoBbQoL7XOnyDozsUX6gftabFfiL2H6wEvdFmgv2KevCkJjZQk\ncpjxtjrZ9vf9gOrWfx04eHrRTRFvDhaVmkbUU6BHHPbNzKYBoc3DiFVQCrfn\nzYXnkt9pb+Z3OsylNNOfqqAwZhNFQdkeY1hfO3AzWP7BZQvMu/RKd6hP1lkC\nWKpB\r\n=HKYb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/r-state-tree.js","types":"lib/index.d.ts","module":"lib/r-state-tree.module.js","gitHead":"6f667e73ed95ab06faa46f235c7a0edfb030ba40","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"jest","build":"rollup -c rollup.config.js","test:cover":"jest --coverage","test:watch":"jest --watch"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"6.14.8","description":"reactive state management library","directories":{},"_nodeVersion":"14.13.1","dependencies":{"lobx":"latest"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","tslib":"^2.0.0","eslint":"^7.3.0","rollup":"^2.18.0","ts-jest":"^26.1.1","prettier":"^2.0.5","typescript":"^3.9.5","@types/jest":"^26.0.0","@rollup/plugin-alias":"^3.1.1","eslint-config-airbnb":"^18.2.0","eslint-plugin-import":"^2.21.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^3.4.0","rollup-plugin-typescript2":"^0.27.1","@typescript-eslint/eslint-plugin":"^3.4.0","eslint-import-resolver-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.1.0-rc11_1603643426616_0.8390899319915832","host":"s3://npm-registry-packages"}},"0.1.0-rc12":{"name":"r-state-tree","version":"0.1.0-rc12","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.1.0-rc12","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"fd787f5f5f9778632959e167c4b734d7eaa1c13e","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.1.0-rc12.tgz","fileCount":20,"integrity":"sha512-PeKEZ1WKsxNQFl+07NfKFLNC8fqTJzkzLS+EG4glvl4MpfB96ZBxpZLg8hXdMjMtK0X9xQe+kpy3rlqv1lBXPQ==","signatures":[{"sig":"MEYCIQCBOZDdpjPK+vt7QeTj3hzhCnl7BA8w7CZ0LSFuTjDsQAIhAKf3qlI0ElJ89J6Q0RQBuJ8k7Sm2VYdqH4+eiq9Gk+3X","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106073,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqy5pCRA9TVsSAnZWagAAxTQQAI/v5Incwn3BVKXhjkDG\nyj2NcojCourvkSHIE1VXy3U4yNwtDNQ9VrZWEzaQKKTcd7KuQ0vI6OOCNFwF\nAMwohzqxEzIBzMWxAbYHUfq30ECxHAOODdLkIcjS9ta6JQbXv1l5KtiN4CAD\ndkE1iWrKwFPFs/mxobC8NtWMJ/B3Nk7Ry9VA18S8Y2FOOxoOgVaHYvfDulLW\nDW9s0VlcQHmg3RHqvrY1oYuD2ZxRpNdIaLIKXbjDQ0P+0lXRz6k9VnNWsUt6\neYKYkt7RS9bzwClkTgaHDaeUEkYh3Yy14tIEK0Q3FDqQkR5HM/mWdAvHseFt\nJlTOq9r5LpuXFvQr0WjwmlseRMU+Cq4+ukXiOkCfqjd+RRepeWsK5BOTTPVq\noRPYPI4uhMmEny79pkSyfLbu/vqkA61JtmDtvxSF/JT8SZaQEkJ8eTOeCYTQ\nwSSXQm29tw9Y8JgBT0sxIRqPBJ7EOXumOV9y5mE2QqG2xSNUyP9TZet/8Z2a\nKzd8aBrpC9h+0A+BpKdN/T8lFl3kKYzsP49XTYNMorFkknIIkBglQAv/Lu7A\nyk/dpAkF2yjy5EbwJ6DPgRYco5IMpF7d/gOhwFVonJkmrVMvhlMD8GNepKAj\nmbFP81jl6lwIIZHjPa6nyr5+R4iUldllN9/y4lfMjzZd1faqKhV9HHyalwoi\nWwhs\r\n=VFmo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/r-state-tree.js","types":"lib/index.d.ts","module":"lib/r-state-tree.module.js","gitHead":"ebbbb6ec2a08cc5bf6177b16e9baf324f159505e","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"jest","build":"rollup -c rollup.config.js","test:cover":"jest --coverage","test:watch":"jest --watch"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"6.14.8","description":"reactive state management library","directories":{},"_nodeVersion":"14.15.0","dependencies":{"lobx":"latest"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","tslib":"^2.0.0","eslint":"^7.3.0","rollup":"^2.18.0","ts-jest":"^26.1.1","prettier":"^2.0.5","typescript":"^3.9.5","@types/jest":"^26.0.0","@rollup/plugin-alias":"^3.1.1","eslint-config-airbnb":"^18.2.0","eslint-plugin-import":"^2.21.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^3.4.0","rollup-plugin-typescript2":"^0.27.1","@typescript-eslint/eslint-plugin":"^3.4.0","eslint-import-resolver-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.1.0-rc12_1605054056683_0.13506845757251917","host":"s3://npm-registry-packages"}},"0.1.0-rc13":{"name":"r-state-tree","version":"0.1.0-rc13","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.1.0-rc13","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"a52f4812db2585b7194430e68f49533db57fa028","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.1.0-rc13.tgz","fileCount":20,"integrity":"sha512-XNhCYst674FoLDczxkfSbJSp4YD7PORHF8kMi1+KZlnaejuJw3IVrW56hPU1rDqdDUw5wYn+MXf6mqtNqJFv+A==","signatures":[{"sig":"MEUCIFj7ZNbtUilBbvbqROxEJnpx7f5I7E2N2eMUbjeZj955AiEAxRJgY3GgSss6qIcqmLe2h5ouA63w7tV1TLg/O5rm9aA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":105949,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfq07mCRA9TVsSAnZWagAArjEP/iUEmApXftI0dx5JGltC\nuQbBcUGdCyMOinEGajkYCL2dVMdI01Z4dEgunhlxxGi7XMTb7X1PSqWFyn7J\nhDEXSZisYwYRLsuggt/RnrRlHeAS4uTXJ0TT0xErcb+noA1NoDRHudC3Hpca\nKNIsCVtm3xg58Roj2t1g+WPK1B9SL6XHqAwYQ/QACZRf9PugGmaXTP5nt+bx\nx03BF+rshprVt2u8ncz9ZPAcYO4uEgx98VgQ4meeEoaG36QGNk30Rcq0Zp2c\nbtSETCH7at2sg2aukDEFAzCPm7pHKUmZErOJaWMrv5VuML3WnkhWIT6DRvfX\n5EIi/h+jJxTSOGhjdIcZfakfsZ2NRemGOIrtNnhiBcZNe4bVWHiAYr83qc5J\nDLyURfqPtm0TLCTy+D781vtr5pCCnPoDUmniRVkKvTMUgTIt+4ULC4bMr6+g\nj6bA8tes0bDHAo88csd9rXspR0s6O1scfk/vcZU/ELRGIYuDuHd0YjC+af5i\nO+pj5Y4UysFwVBeWxUHRhYR8qcUY1baP1b0UfnPNjHPLZLjV/MoNWzVTsyXB\nt2+24E90m2+4+sdt6tPox4iz1cDe1iEi2nM2PZHsSu8pz0mDavTb+0ix5fuJ\noboK1hmBrY5W0jtzZNns/BNzQuLKZapRdjwqeDTYDqEviaQ1Vm8yZph0NzJ6\n/TYA\r\n=u8Xy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/r-state-tree.js","types":"lib/index.d.ts","module":"lib/r-state-tree.module.js","gitHead":"b6b2c19651126c966004b32ed31ef7a53b168dc4","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"jest","build":"rollup -c rollup.config.js","test:cover":"jest --coverage","test:watch":"jest --watch"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"6.14.8","description":"reactive state management library","directories":{},"_nodeVersion":"14.15.0","dependencies":{"lobx":"latest"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","tslib":"^2.0.0","eslint":"^7.3.0","rollup":"^2.18.0","ts-jest":"^26.1.1","prettier":"^2.0.5","typescript":"^3.9.5","@types/jest":"^26.0.0","@rollup/plugin-alias":"^3.1.1","eslint-config-airbnb":"^18.2.0","eslint-plugin-import":"^2.21.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^3.4.0","rollup-plugin-typescript2":"^0.27.1","@typescript-eslint/eslint-plugin":"^3.4.0","eslint-import-resolver-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.1.0-rc13_1605062374089_0.229870321423022","host":"s3://npm-registry-packages"}},"0.1.0-rc14":{"name":"r-state-tree","version":"0.1.0-rc14","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.1.0-rc14","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"04c325c0e4266b4673101d8c5b7d605a382b90cb","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.1.0-rc14.tgz","fileCount":20,"integrity":"sha512-3AZaxNISm+6w2cOrwxWzlawixaA9SCqi5zyx5DJp6BvfdagMWkaDlJmmrPQnDTY81eJ5FUVIN5BvLt7O6PQBhA==","signatures":[{"sig":"MEQCIAbN7X1N5jF0nuOG2Hl2/wsC328QGY7lDPg+U2wq6Z+tAiBEcABDiHrYfWSBjro+vvxwQuJXjzjtr0KidVt0TBTqMQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111058,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3MRDCRA9TVsSAnZWagAAttQP/0RCqHm0ovoLyjXTM849\nfag51s4iHiq8fiSNXZqOFOKMD8MENcAMGvSGrAJG1DtmAQ64bdPtxG3EmIoX\nvg0QtvMOSHbmROQayk4ID9Z9oVfzdcL3tMS0Kfnx4yvdxzX2R/xHRMFCND2I\npqWPMi6nQaINpubLCUPirY83wo7sCBUUOARsrAOXJLQyB0qTv+6NgaR+IvRw\nziCEsEySMRUN7NxrqyQondxIy8N3IKA5KsO4NqlQtK6MovPak7BQS+1ql28s\nSsl+opTEa/J4xt4NuDhMfUfssFHC6gAaUU/1JmRNOffzE4iKWuMBKyMweXOZ\ni7uqa7LGlssunuSKYDaekpALr3pxwELXiRjuv6P3T2/ft+mB/PCmCJIjb9rf\n8VStzPD5lWNQcai9bHeR9hVDsGEJQ3M6I/Eq3G+NqIoh4WCYIm95BY/zP+dK\nHi23WoZYf2n6+3UzVc0Zfss80jaDtNkIwhzFYyHErA0I/oVcysp6veAXEb0q\n6m9l5aNcFHvRBb2vOwJElWgNu7e7/FGCnQ8PlZD+8lLxlzeLIthJNG4Sjbn/\nErOUSs11IYaW4xFmjuX+d4vih3QxNR8jtFhWOYFuZ/r61aPV2yCX9t+WTnzu\nO4obP+pdJ6sy8GQc2fBDA6Uj/4o320o5kWv7WnYw/nDbLW3hLAlhVeF4FK6j\n1XRF\r\n=tAKx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/r-state-tree.js","types":"lib/index.d.ts","module":"lib/r-state-tree.module.js","gitHead":"cf41931bb5e73eebfd2cda19f5e9cde367c408da","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"jest","build":"rollup -c rollup.config.js","test:cover":"jest --coverage","test:watch":"jest --watch"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"6.14.8","description":"reactive state management library","directories":{},"_nodeVersion":"14.15.0","dependencies":{"lobx":"latest"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","tslib":"^2.0.0","eslint":"^7.3.0","rollup":"^2.18.0","ts-jest":"^26.1.1","prettier":"^2.0.5","typescript":"^3.9.5","@types/jest":"^26.0.0","@rollup/plugin-alias":"^3.1.1","eslint-config-airbnb":"^18.2.0","eslint-plugin-import":"^2.21.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^3.4.0","rollup-plugin-typescript2":"^0.27.1","@typescript-eslint/eslint-plugin":"^3.4.0","eslint-import-resolver-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.1.0-rc14_1608303682847_0.3802399724579024","host":"s3://npm-registry-packages"}},"0.1.0-rc15":{"name":"r-state-tree","version":"0.1.0-rc15","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.1.0-rc15","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"c880163910623beef7c5a8db11417e62e9c05281","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.1.0-rc15.tgz","fileCount":20,"integrity":"sha512-Ce4X2NO0DgV+I/2oj0BBbdme89vrLeFJOc4oOFICszWqpPjjk4t0/ae280o2dUkCW/0p4pti+NnOQT/ei3t5ig==","signatures":[{"sig":"MEUCIQCk8tiaooVT4MKzzBZoxF2jnQEcwDuSAzKIFDMO23SBlQIgeN3GtANUky/K3Xij+QLbJTv1HGiNQDuWl3NuxyyEaAo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":110940,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3MvgCRA9TVsSAnZWagAA3/UQAIbFA3iHSeAVNpgoCsFY\ngAPifXTWEy+e510UpT4c2tm2e5Lno51NcEzRWMXpg556pBtMVPKE5UqU1iZ3\nVaiUJ6UgltuUrr1dhiDQbLH6Df67zCwMP07pvNexOxaP0P4I138IEAXtQVRb\n+noluCC4UIMcbagv9gqSRWVYPfKS8ZNzzHSDIPKklqMnQBw3TLMr5SL3ko4/\n0tej2m3SriKSgcH6d0NmoSQnOXI5pJlIK4RgjnxqvgColmTbxNovT/OWbm0H\nuMoXPp7LJBm0QZKPXVH+nM5Fd23nwq84Mb5sjNdcA2dB4uxSfh/UHxuf6SuP\n85Zsdj5Hismz9CAKNoOEfYnfDza5Tj6B13D/3umnSO1ALMeRk3KBneunR+Vw\nDm9KG3w45XGCEC7bMNL+kEE5r2tyImko8+Zk/E1upTlPfyTvnOp9A4z0a1sp\n+H4VVVVT3vqpiW1WbsgsVbvmioOZd/sI56nx6fXfrX0i8xcJQit/1wwPFyeP\n5ATBnotSWA69uawK+gaN3F5TI1fWBa4xX2iCtRrO68dHaKPhWX9VMauGBIzz\nCVxq0i30UmeNSs0dbsnrQ5SxDLKtY9bolZEzqD/XuOIwoLkxm72vB6i5XhK+\nvvapQOeGzzHIZMKA9tPBdcRetKvrW/m9NDMQEIIIDFdCuOWr0Y1j+8Y/poHw\n6tSx\r\n=AXMR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/r-state-tree.js","types":"lib/index.d.ts","module":"lib/r-state-tree.module.js","gitHead":"ee09c8358a9f27bb691bacfc30efecc6b4fa1f71","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"jest","build":"rollup -c rollup.config.js","test:cover":"jest --coverage","test:watch":"jest --watch"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"6.14.8","description":"reactive state management library","directories":{},"_nodeVersion":"14.15.0","dependencies":{"lobx":"latest"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","tslib":"^2.0.0","eslint":"^7.3.0","rollup":"^2.18.0","ts-jest":"^26.1.1","prettier":"^2.0.5","typescript":"^3.9.5","@types/jest":"^26.0.0","@rollup/plugin-alias":"^3.1.1","eslint-config-airbnb":"^18.2.0","eslint-plugin-import":"^2.21.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^3.4.0","rollup-plugin-typescript2":"^0.27.1","@typescript-eslint/eslint-plugin":"^3.4.0","eslint-import-resolver-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.1.0-rc15_1608305632018_0.9991702093481847","host":"s3://npm-registry-packages"}},"0.1.0-rc16":{"name":"r-state-tree","version":"0.1.0-rc16","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.1.0-rc16","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"49bdc237645fe0e3611f446d6360ad5e56f80acc","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.1.0-rc16.tgz","fileCount":20,"integrity":"sha512-mLOfDMxyWQsNrmTBxKTd+XJuJBBaLtrj2OwRgnC8rKdThCl9+bNEEg9pjzTXTbH6cmPBBcYsPDvWuqJfCD4awA==","signatures":[{"sig":"MEUCIQCN24muNFB3VmSxoJdli8wUiq9xuCyM4jT/LYmDFLAUWgIgK2N13KGr9MiNFku0BPuOsVl2RiCn4LAWRSSduYUeIHs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":110940,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3NBWCRA9TVsSAnZWagAAcvAP/RFTk5cIeoa8Z5M2P18M\nsJ4ACrSdIHSXf9Qgs0CkyntRuUPfZlp+ZzQWTSmPt7Alsxntog5XrwyAe0RP\nvPmsoZR3czJBeuOJliDUmK2VPMrgVpKv474dFwy/5ojPjW4AN4f+AvskK/lj\nWtblxH8D4+tGPCg5xVyFRGTBds/9bPT0O3iJXL7RsrMxqcg+oGsPChJQVtqj\nOFbiqxKIHAQzyEqKw/0brVx+uJGGWwgfv/3fD9ca1hyVvbN6WMfE4OzNlmpm\ntE7DMDAUuMONceKYjgE69f54zh4qgsuocXZpWT22IO8hOspeOkyiSrDLnNHt\nNrwmb9loChv5YYM/dzhV2R4eDA41jpn12EVXOVPsIcTVETRNXLnO5cCs7CC3\nnqoUhNBM6htOMVw4NIdn0bJdxbyhI1ZFY//wkJ3i66fdMoDUcfazx5+fONjJ\nroHFtoq/QDtYAqyHVYMfnOFlz7z3ydkuPOixQZ7UhIbemooKemNF69QfEiYf\nakQttLcqNg3abQQnWrRdPJTJpOneerwrhG3vGWvGfMFxJK0+00/eSqf7PLGS\n0QEIP7pD9snCxg1Mi+HMwzEwTfyQDOEc9kzuQxT4ZQ19S9ng89V/5/tDHRoe\nNK/8s3QXcGgc1ydFSA1CMG/9KXbeNBiepuB6BrpEGe5ARqJk0r5el4hip0HB\n1qmL\r\n=Td2V\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/r-state-tree.js","types":"lib/index.d.ts","module":"lib/r-state-tree.module.js","gitHead":"cc6a76118bdf5521f9aba4ac82efffaedeb8ee90","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"jest","build":"rollup -c rollup.config.js","test:cover":"jest --coverage","test:watch":"jest --watch"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"6.14.8","description":"reactive state management library","directories":{},"_nodeVersion":"14.15.0","dependencies":{"lobx":"latest"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","tslib":"^2.0.0","eslint":"^7.3.0","rollup":"^2.18.0","ts-jest":"^26.1.1","prettier":"^2.0.5","typescript":"^3.9.5","@types/jest":"^26.0.0","@rollup/plugin-alias":"^3.1.1","eslint-config-airbnb":"^18.2.0","eslint-plugin-import":"^2.21.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^3.4.0","rollup-plugin-typescript2":"^0.27.1","@typescript-eslint/eslint-plugin":"^3.4.0","eslint-import-resolver-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.1.0-rc16_1608306773605_0.6553641933446064","host":"s3://npm-registry-packages"}},"0.1.0-rc17":{"name":"r-state-tree","version":"0.1.0-rc17","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.1.0-rc17","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"e4ab936d926133f8910bdcb55820e76dd1b62af8","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.1.0-rc17.tgz","fileCount":20,"integrity":"sha512-hp6CuYvRQjzO2fK5SW9M7H4RwT7Y6rkwqR8LsT74j6w3qMj5c+NeJ7J2WorCL8BjTf9wtxy96SgG9a4UMpL06g==","signatures":[{"sig":"MEQCIGL2xLlJwoMvzUundi4eCHLHh+VRXJy+/GNBp4aQP1xoAiAzsAoIz/cabmh2duUAl82J+nRdCXHZ7A+zgJjw6ct/5g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111237,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3NFvCRA9TVsSAnZWagAAXaYP/0eDiIGXAheoY/g4k1zx\nm4qD3Jq4kol1DnRzv5yQfdkpOyYFWHP/cjNTE3HjQ+lEazVg+bSBAb7S8gGH\nosVamye+apdI8c6qUc7fz8jeNguREfO2GolIZILyHXNyQ+6DlYf5DrYbxmui\nEVGnOS8tSpxTvlXa/HqRRt4KiG33qbJluU8x8KNYfYBv5/5qD+BnkBVyayGA\nFEWuexeAVRriAQgL1Phn/gem66mX48OISqiju4mZobwPcMGkqrTMQQ8K5oTR\nX07DxeMAX3eReLkdqxuwmCpY1kGZzprp9yJv6J2yIaEmTzW0oPbelQlme+Sj\n/cIwDJPHR7wIIAKFMMhmWW/tX383s9OyzawJUz4WCC1d3hM3O4ReXHuouZJS\n7+4cwbP2mpSo2Fqoqe6bSJ7u59ltknuNtXlUgby60iD+KY2cT7gnRsNUEY+H\nCFL8cQCqdvvwc5plfXXj4b6O2hW7DRMJ0x1MLhoSO7bBM+dSRmhc/uOgWe+B\nSFBo+Yjw2tAWjAXG/qoaMoR5kfEIX1xP/umSBixvnLHYBQzkzauMdONIK7ZV\nCqRgv5o526TfSA0zGV4czDf9cJjqEqxF9NJBNDP/e6EfLDLkQ+ts482DjWoP\nd/8/r7zELThang9Fqms7NhS32y6TAb6LioAwcVcXGtJeiQXkDfQjxQsJJkP+\nTrG9\r\n=SRoK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/r-state-tree.js","types":"lib/index.d.ts","module":"lib/r-state-tree.module.js","gitHead":"127b36f842000d4f7fde4df8f5cceff3a64020c0","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"jest","build":"rollup -c rollup.config.js","test:cover":"jest --coverage","test:watch":"jest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"6.14.8","description":"reactive state management library","directories":{},"_nodeVersion":"14.15.0","dependencies":{"lobx":"latest"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","tslib":"^2.0.0","eslint":"^7.3.0","rollup":"^2.18.0","ts-jest":"^26.1.1","prettier":"^2.0.5","typescript":"^3.9.5","@types/jest":"^26.0.0","@rollup/plugin-alias":"^3.1.1","eslint-config-airbnb":"^18.2.0","eslint-plugin-import":"^2.21.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^3.4.0","rollup-plugin-typescript2":"^0.27.1","@typescript-eslint/eslint-plugin":"^3.4.0","eslint-import-resolver-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.1.0-rc17_1608307055444_0.3236864758996685","host":"s3://npm-registry-packages"}},"0.1.0-rc18":{"name":"r-state-tree","version":"0.1.0-rc18","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.1.0-rc18","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"11095c6aea874cb757de1600b17381b011603861","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.1.0-rc18.tgz","fileCount":20,"integrity":"sha512-0GRPFh2Sww+5G9CyGRH6KL9R3IbWi3e/NLNQHcwp5AaIn83b3J16DEE9BhxVp3vblp9TfAPImj3Tfo5mCB9E4w==","signatures":[{"sig":"MEUCIQCw/EGlREF3RvENScchc5nmsHkgius2fFlZzmP7PIQM6AIgLdzEqpqH28N+j9XxzbhTLsNqo0hWA8rrGPLV+7eA0W0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111251,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3OPaCRA9TVsSAnZWagAAy70P/2kfyD7r+0+1bTVfUUaq\nK9e3sgz13UB1k9VseLakScJGuEH89K9wVpjMi3JVAsE0OfxZPEoUmFjAaOT9\nND00Uj128J5WP3QiNTPsFxRKfOtMWvO3at92/WCvXFHJYB25fiEd0vWZ9iX5\n6+otLspcEinCKTFaiqfrAEKbS2/Z8K4iwHoNYVKwkFT8cYu4t0fffYLnLSkD\nBxHr7L/TEGYqW52QcXfm0aAoyNornFWMbX3yJrD6mCjpsReBUu9RK0NIPtUv\n2MgjlgYn3oM7pOFRUVK1gg7pg0bb5NRFCsp1lmKAsMmotQMeQRYUV3TKYxqV\netrKEg+f/D/Zhylf6aZquJKmBaKXjLoXxyqQG7aYsbdwZmMFjeYpYlCZ3dF8\naa5L4pDFLi4ON+mpvMn0kuUEiS2z1fWKMt44P66/tog4PhYFqEyuVzOK2k4X\nL5R6hG3gj69TGqaEuGwKdggpTD9mOtDC6w7+DvyTFfnBqEiZ9ThuJcbH19OX\nDEgWNN5mdNL80+DRgn6OkJKP3asgxYhMf40y8CnEKW1JQGb355v3AYHEFw8q\n85wVMC3p0exZhuyZiDs962N8NpAxylF94nfr8gyEcrDwv11CcxL4f3cwhTYz\nNzC774W0oyzTKfRIxt+GnnC72C2RzmfFSk2oqP6ynRyvMPkjvQ3QclrKcMuf\nshcU\r\n=TLWw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/r-state-tree.js","types":"lib/index.d.ts","module":"lib/r-state-tree.module.js","gitHead":"7176bc20377d3108ff93fc8412c192567b654ac9","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"jest","build":"rollup -c rollup.config.js","test:cover":"jest --coverage","test:watch":"jest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"6.14.8","description":"reactive state management library","directories":{},"_nodeVersion":"14.15.0","dependencies":{"lobx":"latest"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","tslib":"^2.0.0","eslint":"^7.3.0","rollup":"^2.18.0","ts-jest":"^26.1.1","prettier":"^2.0.5","typescript":"^3.9.5","@types/jest":"^26.0.0","@rollup/plugin-alias":"^3.1.1","eslint-config-airbnb":"^18.2.0","eslint-plugin-import":"^2.21.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^3.4.0","rollup-plugin-typescript2":"^0.27.1","@typescript-eslint/eslint-plugin":"^3.4.0","eslint-import-resolver-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.1.0-rc18_1608311770222_0.782469484093123","host":"s3://npm-registry-packages"}},"0.1.0-rc19":{"name":"r-state-tree","version":"0.1.0-rc19","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.1.0-rc19","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"d37cd02fac76674cca4dc5b2833bdc5c38fbd6d2","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.1.0-rc19.tgz","fileCount":20,"integrity":"sha512-S0PbftByg+Ectjh0kCh5gT7EMsv36jSi6R1bun8DEeLZI25bp4ttnsUWvR49AskkUXt2BwT3S0F8cHeYMY3vSA==","signatures":[{"sig":"MEUCIQDxD7Q4OiBuWOkrSnQGfS7kYeR9xe3fN6M1B0VgczB0oAIgDFDnE31okXWVXnYlpYQaHcv0ZGLTYcWN6ous5m9wbsU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112210,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgBJgDCRA9TVsSAnZWagAABIEP/343scHiIgqwR8KPAzix\nhyaSTijcmjMbyvf/prBL+YDcSzVoG22uX6LzW6EbTg2L77W5AsCBIOkN5F2D\n89tziTQ7hsdGCvOxCaIceLMtDZdlTd1TYNkFJSSUlkMG8XGFJS550dnIX/+t\n+rZIUgN1y9s3edzpEZ2ebJcKa3jB0UQ8A86siHOCzQPv9+GnftEswBfJ/fJ0\nx6B0lxT+/+b1do4Hi46m4zYmP3RfHNbXcB0j4RdjVa0KgFcAuhzBbE7Fmwm7\nJRjJyVzDOjoKW3rE6ff9aALmH1y3ty2Fk7fxwZlBHDh2NXBrQt92fQjrLs72\ndDdf8hHu1+lBRW2TVQTSwXtbLNHC+QlgzVgSuJ5HguVWgCVY6iRBs8/b/ynb\n9OIMAWko9+clHjkBPNmmxU5GeaWMYGdWgOn6NgjUdYj6OHL+HKZmAvbpZs8p\nVSnVVOYDSgciIBmq+e6/OGYBBTw3FYPnGv0Pml6L95FEoVcVaCNSUUVw5jZX\ncbTQBMbbXxVVlbRvVSFrUV4J1YClidT44YGzt1PzQT0e2xnWeMtX7vI2yn41\nCxsNTvtDNqkQGWSYcIySdiWZzXniQfqWxY7JrjG6lKGKDjoFbjKAVtVhbeiE\nKPkHWljGqPW/3kHlQ8exAGVKqQjFq9NgenqDcUjt5kB6K2001U9S4F43rE3X\nx2S6\r\n=RQNm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/r-state-tree.js","types":"lib/index.d.ts","module":"lib/r-state-tree.module.js","gitHead":"3ecbdf36fff5588b2532d1d5a0b8b6f8bd2c7844","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"jest","build":"rollup -c rollup.config.js","test:cover":"jest --coverage","test:watch":"jest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"6.14.10","description":"reactive state management library","directories":{},"_nodeVersion":"14.15.4","dependencies":{"lobx":"^0.2.0-rc17"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","tslib":"^2.0.0","eslint":"^7.3.0","rollup":"^2.18.0","ts-jest":"^26.1.1","prettier":"^2.0.5","typescript":"^3.9.5","@types/jest":"^26.0.0","@rollup/plugin-alias":"^3.1.1","eslint-config-airbnb":"^18.2.0","eslint-plugin-import":"^2.21.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^3.4.0","rollup-plugin-typescript2":"^0.27.1","@typescript-eslint/eslint-plugin":"^3.4.0","eslint-import-resolver-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.1.0-rc19_1610913794676_0.1302154142616454","host":"s3://npm-registry-packages"}},"0.1.0-rc20":{"name":"r-state-tree","version":"0.1.0-rc20","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.1.0-rc20","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"0a308fbd79017e99ab45cce7a274c9273e432132","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.1.0-rc20.tgz","fileCount":21,"integrity":"sha512-I27StD2Rfmipt2VhRauLmDjArWDhgfsbs6qkhf3r0BWNEDOPyiMPjowW1Mklt2dkVIRqxxxtjudkekSW0DcUMw==","signatures":[{"sig":"MEQCIDZa+zsG5I79J/GBpa6zbCPAtOqbhFCi0CaSHfd4KLVYAiANpwZakXqJUasuStEyfHvWqq3SExJfTo5ptXmHbA5l6g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112795,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLGTkCRA9TVsSAnZWagAADh4P/AsZxlEQf8JW1EGwY4iQ\nj2iQH1N2fUG8kXQ53Srd883dus3g2si8Y8PaI0u8NHvoXjk0fcYLfL9xpfm7\nbo8kE5dQBoOhNm5bSMfd3mDxh5TNwgl9izkv++Gae81pyuPqgg9MQllqUrdN\nDW5q5vn2Qn/81fVKoaagw6KzLh7D6vt/7ViP1Lqyqy6qpHLPZiJn8YKbRi1T\nQDKJ4g6Vv4fnwy6rnEwRUCdyJKXL2s2XXVMlc14ROpejxa2gAC2epy/GaFOM\nHRhskDf8u2uPtz8rmeKAZwlxSDgSg7io9t07bMTRFqmlb7ChYnyIVHDI5HcM\n2iu85KyQOMJ2vD0H4mFY3MvcMOTvNQMOmiONT5ZWL3aB+VCc+ZSop3CUmY9H\nc10/fA9ChxHa7G6nst6GVuQDmUwiJUbDHQC/eIb8aaXi3Z1nhIDXKTIeu7Vt\nqcCCBXtS/ACjivRmsgCMBC7VC8z6jlJ+5cJZVceu9dSn2I0tDSrOejTfrJdw\nou6WijfTT0dfOMN00LYG6Q4rIx1+E9LFWH5dSedlgwnAcdJAJWSinw3kx3Bk\nMsSJipStsi3dxfa5yWnmH+FnHA6/Ni/zUFMUwIZhgLG6akjrbAKdzP3ERjmt\ntzfpa3WlkkBGT/0RbJzpONu8HJba3DRG7jHZPItTa4YBU/R9CvSkg6z0rG8s\nBlnm\r\n=vqOI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/r-state-tree.js","types":"lib/index.d.ts","module":"lib/r-state-tree.module.js","gitHead":"3f4b4e091044e6568486b3711cad0f8544100a70","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"jest","build":"rollup -c rollup.config.js","test:cover":"jest --coverage","test:watch":"jest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"6.14.10","description":"reactive state management library","directories":{},"_nodeVersion":"14.15.4","dependencies":{"lobx":"latest"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","tslib":"^2.0.0","eslint":"^7.3.0","rollup":"^2.18.0","ts-jest":"^26.1.1","prettier":"^2.0.5","typescript":"^3.9.5","@types/jest":"^26.0.0","@rollup/plugin-alias":"^3.1.1","eslint-config-airbnb":"^18.2.0","eslint-plugin-import":"^2.21.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^3.4.0","rollup-plugin-typescript2":"^0.27.1","@typescript-eslint/eslint-plugin":"^3.4.0","eslint-import-resolver-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.1.0-rc20_1613522147684_0.2752271105454642","host":"s3://npm-registry-packages"}},"0.1.0-rc21":{"name":"r-state-tree","version":"0.1.0-rc21","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.1.0-rc21","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"8310c900ffd6f50ea44c0ec3f67eb60623e423e3","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.1.0-rc21.tgz","fileCount":21,"integrity":"sha512-1LaCmKbNZIFLgFUEUkd6+Umy5G+gjQQhKtrZqUTvSZuDU7Ec3gBiweOt+Wn3wlP1xKe9e6EtBNgn1VFscUqHlQ==","signatures":[{"sig":"MEYCIQCzqY3WhAgKprZQM7c3VEBTtvd1zMH1W7JSISr/c6AWJQIhAMU6afUE4TIoAfPZsnzQlsCCE2+RtgAXBZdCeKd57o7d","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":114833,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgPHEaCRA9TVsSAnZWagAA+xAP+QE5XtYzxgNyCK1/CWTG\nJGq5dGgmo19ohfa3NNIu9+uYDUgb01NngTi7hHmcF+zlL5y0sVgb0rtX2aD3\nhxzyeJwZa9DTei235Nz4db6m7K53UydkA8aFSuPm/oMlA9+LKwRuoeYs6DYB\nyUdjrTli6XJHatX8Bgy+GJADB7zWOi4Lwq+h9F8F4NL4ziaajz0rFbbN3AAG\nDPDMhqa/IAVftGc7KvYBHwjQnc849JFrEoFjFvc5HyDBsfh9YOJn6eLnc96F\n91BmnjaalYGZLsXEXNph1CV9chTB3cHJ0ZIcPc2dO23OALEvz2YwjM+Cl1e/\ngYphRLjyALI9z8jGf0VUjDCrdeTz/qF349loAwEKASFRbFJlfJjRXlBKPIbt\nMOI6TWhWc/qWLEeMQpHd3TWeXcPwKP+iSMs8lzqWrJBqyBrW6TXFo7BS3YIe\nA4xeo7fWGvjLZm22MDpkE2jHUNHjrWffcbSkfaD6Y/As/PwjH/QIt/cN/YIW\nbRTF8o3vrb394+1lItw6LwqssyquHuoMY0zUpDBC89oRxHM1On68JKnf9Nvh\nXE/cOITMg8ugRyYSj0BoSEIOr1kzIcbF5HA3CMF7INvBvaZIXqSQF2EB0P97\n+TPclzQJ/Dn5DBfy7kGlXBj+nfhyZ1yLdnG4S5XIEb1xRLvdrPcgpXwFyl2m\nJdz5\r\n=u5vM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/r-state-tree.js","types":"lib/index.d.ts","module":"lib/r-state-tree.module.js","gitHead":"341af0a3328d959050ea943296e380674fb306f2","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"jest","build":"rollup -c rollup.config.js","test:cover":"jest --coverage","test:watch":"jest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"6.14.10","description":"reactive state management library","directories":{},"_nodeVersion":"14.15.4","dependencies":{"lobx":"latest"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","tslib":"^2.0.0","eslint":"^7.3.0","rollup":"^2.18.0","ts-jest":"^26.1.1","prettier":"^2.0.5","typescript":"^3.9.5","@types/jest":"^26.0.0","@rollup/plugin-alias":"^3.1.1","eslint-config-airbnb":"^18.2.0","eslint-plugin-import":"^2.21.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^3.4.0","rollup-plugin-typescript2":"^0.27.1","@typescript-eslint/eslint-plugin":"^3.4.0","eslint-import-resolver-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.1.0-rc21_1614573850387_0.17731781741942543","host":"s3://npm-registry-packages"}},"0.1.0-rc22":{"name":"r-state-tree","version":"0.1.0-rc22","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.1.0-rc22","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"58e3b1cbb967050aaae40ce14dc5f7cb0e86abe3","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.1.0-rc22.tgz","fileCount":21,"integrity":"sha512-ZgXjpY0nYXNEdCC4Hh4tDFV8q6WPgQW3vcs8bqxqLe5uyAxZwzFiPzOWoSkyayfdtsacnPlNnJuv25QiVpLb0g==","signatures":[{"sig":"MEUCIQCOcmpEA4kVhewGf3IcgY1vsQHOGeo5OzR5wixBzJVw1wIgR6BTX2lYVW4+FZnVCatxZMUbK4NYP/ZsWnuKSJm3T2E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":97127,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgPRfSCRA9TVsSAnZWagAAjoIP/AsYf+Q/DiMX9//d7lOP\nRzYE3FFXpFE6oz0p0/2EOfFg4ksqCfJZ23LwY4kgy2FPQ3K3UyFp8FTrOamW\nmMY4npoxEihrCjsSVh++s1XmA3vU8GHfWVktg16gshvAP0O+blcMNRx/OmKu\nLZv28qmYwKbsJlOVd/AWEZHIfFMq+L7sjiHQ7sRTh+dHJXd6SptxRXvLL8Fc\nvYYG+55jEMYejGk6f03hFLLWULpipNlEfEN1+oJw49oCkTh7EStdl/xiTCB4\nioYByQelvIoJtVwujaVbA/VjiK/CGOCqxz2SwEuNskdL09DhqGqRTbuYVsLM\ni8kZg6tlOEWqlqO8xF5Py8XGZxNdD1fT6A73tA3ChcStJGI7HcfShKWk1fnQ\nfJLj3povCqD0lxSs01wndlq/POdSUHiAq1Vcsjq+XvAZgKigwMczW0g7GVuq\nfsHIJW2E2a8DStc6vAJoGU1fwcBywi3tV7PN5Fe+h+EmjwsYy2v6pV+cPlGk\nljznM/YMOXWOXsobEAMT6MbnImF6S07onCWiqgUsNOPlbtptFrrgqTSh57gO\nb3KIgStRWxZt/qzLS2xGfpW9dpe26z1okxDx/R0VyBdy/ns+E2qKLpc3cAEW\nHVMDaIv2jtLLPaBtMVYze8S4BVrWJHXVyruDPJYZ7m9UjDmgS2oEAYl5zpQn\n6y/J\r\n=ufS9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/r-state-tree.js","types":"lib/index.d.ts","module":"lib/r-state-tree.module.js","gitHead":"dd8d1a436e63811d55792e5a29343af06bd8f068","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"jest","build":"rollup -c rollup.config.js","test:cover":"jest --coverage","test:watch":"jest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"6.14.10","description":"reactive state management library","directories":{},"_nodeVersion":"14.15.4","dependencies":{"lobx":"latest"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","tslib":"^2.0.0","eslint":"^7.3.0","rollup":"^2.18.0","ts-jest":"^26.1.1","prettier":"^2.0.5","typescript":"^3.9.5","@types/jest":"^26.0.0","@rollup/plugin-alias":"^3.1.1","eslint-config-airbnb":"^18.2.0","eslint-plugin-import":"^2.21.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^3.4.0","rollup-plugin-typescript2":"^0.27.1","@typescript-eslint/eslint-plugin":"^3.4.0","eslint-import-resolver-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.1.0-rc22_1614616530041_0.5196832440221859","host":"s3://npm-registry-packages"}},"0.1.0-rc24":{"name":"r-state-tree","version":"0.1.0-rc24","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.1.0-rc24","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"b2ff45c778174b205ef6bd15cd3af52c8ad33d9e","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.1.0-rc24.tgz","fileCount":21,"integrity":"sha512-QnM1onxab4UJ7qYLL0/t1kXxBYm+acZbPgTV/oE4b6NywnbQaxgG4Thph44Mb/D0MSYYc6KpUmBeWDzmGDRGdw==","signatures":[{"sig":"MEYCIQDGtGBZla2rYUvxvXZ7mw20WagWwAgH7qIgEwFj7hxurwIhAIxzUz3bYtfSA3VBi2MzHh2MAzTJiGquiy0mvTA7r0Aa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":104940,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgqReWCRA9TVsSAnZWagAAvYgP/25oJS6RAY5GSv9m4P1V\n4yyNN+NFOHgr1eruZWAZe+noiIFg53jPrRcJoE7bQUXZEaTa4/EPDzkCyagK\nZPD0MlB5GWJN8Lc4eIE7StDAkZ41hX+gjnEYvPv0CUJqRL46tAMpS54Qwo8H\nJgMYux7pR3Oi0esQQ/zfH0QZMFEcWZrcQl4/g+UGiEfivUvgDSDFn7kXnrpV\nl4fFRlUodCq9L62bG7kgNRw5P2vpPBE3lSXVPQP2505KpKFxP1TRlMXI75S3\nsf3lgqLDq/PTWSr4HIW0TxiAB+GfM1iHkk4XDFADay0TTj1mID3regUvuM+R\n8dIw1bMUBN0VwtdWvyTu1c+kUnqLJUQvP3RJO/9pcYVezpNPvxA7W/VHreVT\nyZEJSL2HZkKkTe0s8BD2SVNKGqdXS30Qj5J19NfcEfEVnTPC0jvNOj1i8lA2\nbbOr6RxL0JAVX4jk8oxMJgAiFfbSl3ShGUntcD61k6yB1CV/1RYhdjrm5NPl\nlRmE8MtxdJD/86SGFQwjED2xCbDiHmNce2sdfrzHDpAvfYev6bdywyvmoRu9\nu3gQPgwnqiQkSCp5R31IVcdMUAzXo+lKuqTO1+sB7OtzXKKrBy7f69bWtOJq\nqMQMMNit8vmZNzWMjGGqOp974yFiEq6soIf5wG6A7MSygy/B1lnaa+gq0FU9\nuMBf\r\n=HM8i\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/r-state-tree.js","types":"lib/index.d.ts","module":"lib/r-state-tree.module.js","gitHead":"90312227161a3da862e5b050ef9a1885724360d2","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"jest","build":"rollup -c rollup.config.js","test:cover":"jest --coverage","test:watch":"jest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"6.14.12","description":"reactive state management library","directories":{},"_nodeVersion":"14.16.1","dependencies":{"lobx":"latest"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","tslib":"^2.0.0","eslint":"^7.3.0","rollup":"^2.18.0","ts-jest":"^26.1.1","prettier":"^2.0.5","typescript":"^3.9.5","@types/jest":"^26.0.0","@rollup/plugin-alias":"^3.1.1","eslint-config-airbnb":"^18.2.0","eslint-plugin-import":"^2.21.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^3.4.0","rollup-plugin-typescript2":"^0.27.1","@typescript-eslint/eslint-plugin":"^3.4.0","eslint-import-resolver-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.1.0-rc24_1621694357684_0.8473856004124041","host":"s3://npm-registry-packages"}},"0.1.0-rc25":{"name":"r-state-tree","version":"0.1.0-rc25","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.1.0-rc25","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"d8d87c89b1ab81c9977c3f714d1135352ba5d89b","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.1.0-rc25.tgz","fileCount":21,"integrity":"sha512-Ax3P+LvJjC8JgLKf1E1NeLu4xZqWbw88m5Du+v2CeAwRc+0L7wb6DZ00FSSmpH6z961FFo5eK5Vfal1oTl7OXQ==","signatures":[{"sig":"MEQCIHQY5dXKWW0ad7EOV+18mphQzXNZPE88zBclOCnLoY4KAiBE/HotwmtogrjzdM7N+lZou4EecBgfDsjOrrKHnYmTKg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":104930,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgqabgCRA9TVsSAnZWagAAsugQAJD4p/PGuT06+Va2Opp2\n99Hcls9IzzKRgaZ9wyfW9jetKd4qN1wfgRPdWWeAFGbJ3Bo1L0CXubMiOkdT\nihFFEsrAvyAV8Dsr0jBP1oDWZjdu7WovDBThk21dPxflj1D5ESd6OkJPKluR\nGAVXqqp79P/fTCJNm7CxhkZq/ZblSOpIMBo/mrqODvfFx2NpcOZq5FTj7+0W\nLTQF2SklCdZTiSX5SZIJdhGa1BTBsvgpOMQ2uvDYqSvzAY5ADC26P8Gvuqft\njU02wmrXoI3XjXLL64peTU4yBPYhgckoQ4izfnf81oZFgrDTVO+D9lwyIpwv\nJRgWw2IdrfScQFIdln+CqF8OYoLB8Y0uwJE85OUeFVDwov/pGQJ2eGGOhTQq\nh2VU6Yo/6U2vpJ/TX7cXuzcfnhBVZkI+9wQI7omW2mG7Wc49aaWI5EafqfuQ\nlCGlaybIQqnVzGjVzt9DvCLKgRs3AMUKFObvotbkG5q8gQkI9NwTtarRXSXw\n9LPunffHekTImjb5TSCB7E3VoHFBJA/ci9rQBurkRlqWmaROeBf8AOj5emsa\nUW8oZd70D9Ll5nnxCDlk4trAoT504Lf23qw2vFevKocXjZs/gE2fl36x18vN\nGJ6nQFCuvGKX3D6tfpzRawv9JZz90Nb3SR/SoFi/2yEUFKlSS9h738a+2P3n\ntG4G\r\n=TMoF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/r-state-tree.js","types":"lib/index.d.ts","module":"lib/r-state-tree.module.js","gitHead":"13f736c1a7ff44b6a23e3c77d9b2dec0d5281f7f","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"jest","build":"rollup -c rollup.config.js","test:cover":"jest --coverage","test:watch":"jest --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"6.14.12","description":"reactive state management library","directories":{},"_nodeVersion":"14.16.1","dependencies":{"lobx":"latest"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.1","tslib":"^2.0.0","eslint":"^7.3.0","rollup":"^2.18.0","ts-jest":"^26.1.1","prettier":"^2.0.5","typescript":"^3.9.5","@types/jest":"^26.0.0","@rollup/plugin-alias":"^3.1.1","eslint-config-airbnb":"^18.2.0","eslint-plugin-import":"^2.21.2","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^3.4.0","rollup-plugin-typescript2":"^0.27.1","@typescript-eslint/eslint-plugin":"^3.4.0","eslint-import-resolver-typescript":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.1.0-rc25_1621731039973_0.045131757888756674","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"r-state-tree","version":"0.3.0","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.3.0","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"70fa2d49d0578a4337b938d039dd3d3b65ad4c92","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.3.0.tgz","fileCount":5,"integrity":"sha512-SEpvxjwJ2pUw9IU2CmGHeUfTy0QDXAJWa5s1jYCDC7Ck/p48zn5Cj/zBk0mWRINn6Mc+FOofqfuAnJWU9Twb+g==","signatures":[{"sig":"MEYCIQDOwoF2e9Tm8rK7yc4qJr2KBvq4r34DDIwCR12pVJnIrwIhAKRqiTG6B6IhMfPQoa+G+LAxQUswn3F4O183mW32SSFn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142021},"main":"dist/r-state-tree.cjs","types":"dist/index.d.ts","module":"dist/r-state-tree.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/r-state-tree.js","require":"./dist/r-state-tree.cjs"}},"gitHead":"5e3386c1e0d3f12f3b3bae327629ff420be77c25","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"vitest run","build":"pnpm run build:types && vite build","format":"prettier --cache --write \"src/**/*.ts\" \"tests/**/*.ts\"","test:cover":"vitest run --coverage","test:watch":"vitest","build:types":"tsc --emitDeclarationOnly","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"11.6.0","description":"reactive state management library","directories":{},"_nodeVersion":"24.9.0","dependencies":{"@preact/signals-core":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.1.9","tslib":"^2.5.0","eslint":"^8.5.0","vitest":"3.2.4","prettier":"^2.8.4","typescript":"5.9.3","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.25.3","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.8.1","@typescript-eslint/eslint-plugin":"^5.8.1","eslint-import-resolver-typescript":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.3.0_1760395464762_0.46264064501787505","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"r-state-tree","version":"0.3.1","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.3.1","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"3c393141442db106da347be8cecad2e84939a9d7","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.3.1.tgz","fileCount":27,"integrity":"sha512-+fqMfV9uK6yVBTXB8XtBkFDelYDYgkwnNm4DyfAaJ30YOcrtFw2qcdzqgf1W8tZSPifM38hf3VQdVo/JFW9+eA==","signatures":[{"sig":"MEQCIBpcPIDlHUeqDRjlV1RokgtrY2hArQgEPpPRwbXRp0yFAiBtiC/iy58jbFVyBaaloYQYz2ykboUi21DXRPk3Ck9WSQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":163547},"main":"dist/r-state-tree.cjs","types":"dist/index.d.ts","module":"dist/r-state-tree.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/r-state-tree.js","require":"./dist/r-state-tree.cjs"}},"gitHead":"4dec573127677b7728a341841007f79033e87b80","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"vitest run","build":"vite build && pnpm run build:types","format":"prettier --cache --write \"src/**/*.ts\" \"tests/**/*.ts\"","test:cover":"vitest run --coverage","test:watch":"vitest","build:types":"tsc --emitDeclarationOnly","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"11.6.0","description":"reactive state management library","directories":{},"_nodeVersion":"24.9.0","dependencies":{"@preact/signals-core":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.1.9","tslib":"^2.5.0","eslint":"^8.5.0","vitest":"3.2.4","prettier":"^2.8.4","typescript":"5.9.3","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.25.3","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.8.1","@typescript-eslint/eslint-plugin":"^5.8.1","eslint-import-resolver-typescript":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.3.1_1760395989058_0.036893566788477106","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"r-state-tree","version":"0.4.0","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.4.0","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"3f582c4afa7d323272e2340733303fb654bf6b24","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.4.0.tgz","fileCount":5,"integrity":"sha512-p6y3SHxaQFXOryjXm66w1Kb2ffoJ0MtqLJPEjz5zVb9MQMt7ITh6ir/ClWaRcBu1s7sc3CEzPktiR6hfAxtsEw==","signatures":[{"sig":"MEYCIQCfFXjiAn/0I8T8Vc19NiHBElWls1nJ+quxiGRaycYrhAIhAKppKUdLFTQLrlfJFCbF124A6YDLmvpaaCqo2AUZmOuc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153125},"main":"dist/r-state-tree.cjs","types":"dist/index.d.ts","module":"dist/r-state-tree.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/r-state-tree.js","require":"./dist/r-state-tree.cjs"}},"gitHead":"638e6776de57ce039bc2d8b10f5f7aa7216563a2","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"vitest run","build":"vite build && pnpm run build:types","format":"prettier --cache --write \"src/**/*.ts\" \"tests/**/*.ts\"","test:cover":"vitest run --coverage","test:watch":"vitest","build:types":"tsc --emitDeclarationOnly","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"11.6.0","description":"reactive state management library","directories":{},"_nodeVersion":"24.9.0","dependencies":{"@preact/signals-core":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.1.9","tslib":"^2.5.0","eslint":"^8.5.0","vitest":"3.2.4","prettier":"^2.8.4","typescript":"5.9.3","@tsmetadata/polyfill":"^1.1.3","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.25.3","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.8.1","@typescript-eslint/eslint-plugin":"^5.8.1","eslint-import-resolver-typescript":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.4.0_1761788210809_0.66914215921281","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"r-state-tree","version":"0.4.1","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.4.1","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"d46e1824c05c1cd3b83505740e3c3ceda488e225","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.4.1.tgz","fileCount":28,"integrity":"sha512-O4v556WirHXo9NeYhuP3S7s7uBIghty8mF7vpuAr8fY8dv59AoT+SWOQSFpQfEGw9mHdCnyQ6e8H+xgGZohMYw==","signatures":[{"sig":"MEQCICZG7Sp2Lc2xFoeQxjsFhLYqejV9jsSyk7tI3fLCNgVKAiBD6DIbe+qzsAml7BFZHUtqZf2dj8L70lBWlh/ioogPaw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":177309},"main":"dist/r-state-tree.cjs","types":"dist/index.d.ts","module":"dist/r-state-tree.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/r-state-tree.js","require":"./dist/r-state-tree.cjs"}},"gitHead":"a0b5eb731033e3d1da597e2c19bced50e404fdb3","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"vitest run","build":"vite build && pnpm run build:types","format":"prettier --cache --write \"src/**/*.ts\" \"tests/**/*.ts\"","test:cover":"vitest run --coverage","test:watch":"vitest","build:types":"tsc --emitDeclarationOnly","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"11.6.0","description":"reactive state management library","directories":{},"_nodeVersion":"24.9.0","dependencies":{"@preact/signals-core":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.1.9","tslib":"^2.5.0","eslint":"^8.5.0","vitest":"3.2.4","prettier":"^2.8.4","typescript":"5.9.3","@tsmetadata/polyfill":"^1.1.3","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.25.3","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.8.1","@typescript-eslint/eslint-plugin":"^5.8.1","eslint-import-resolver-typescript":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.4.1_1761789603472_0.33261935158638156","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"r-state-tree","version":"0.4.2","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.4.2","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"dfc3cfbd98e740643784e57ad8d0559fed3233c8","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.4.2.tgz","fileCount":28,"integrity":"sha512-ueZAvsz+21X17NgTGNQ1d8BjEzwUCPrIJ7H/ReywNfld9+EAP3jX8G2DtweK+KVWlM/FCXFWVeTrbpbjcZB9sQ==","signatures":[{"sig":"MEQCIFnPupSONvtQ2zVUV9dLwRPIT9U3Zmc8RjYlZozWgz7bAiBU3ktlVgPdO5/wafOYWHwlybk6RKQGP96hKdtmLJpA+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":183264},"main":"dist/r-state-tree.cjs","types":"dist/index.d.ts","module":"dist/r-state-tree.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/r-state-tree.js","require":"./dist/r-state-tree.cjs"}},"gitHead":"32b7edc3230fb7315e18b183b7c983f0376edc0c","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"vitest run","build":"vite build && pnpm run build:types","format":"prettier --cache --write \"src/**/*.ts\" \"tests/**/*.ts\"","test:cover":"vitest run --coverage","test:watch":"vitest","build:types":"tsc --emitDeclarationOnly","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"11.6.0","description":"reactive state management library","directories":{},"_nodeVersion":"24.9.0","dependencies":{"@preact/signals-core":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.1.9","tslib":"^2.5.0","eslint":"^8.5.0","vitest":"3.2.4","prettier":"^2.8.4","typescript":"5.9.3","@tsmetadata/polyfill":"^1.1.3","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.25.3","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.8.1","@typescript-eslint/eslint-plugin":"^5.8.1","eslint-import-resolver-typescript":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.4.2_1762134054228_0.6868634855714624","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"r-state-tree","version":"0.4.3","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.4.3","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"6069f7b6743b733515726092241e3b1398135984","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.4.3.tgz","fileCount":28,"integrity":"sha512-ByooT028KUoCKf/YjE0v8YbzReXtHNAOtMa1rDN99i3XPPEH1KokrCgGLCp7q81tCe9cOciJUX90W54YNN8wBQ==","signatures":[{"sig":"MEQCIAmpua+XJCmg3Q5eeA7Qr6QLmznyTorjKmOeqmwE3GfPAiBARgT3+nhfzYFJMuMFViJz8HAYNggtBjspjF1eVD/aIw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":183264},"main":"dist/r-state-tree.cjs","types":"dist/index.d.ts","module":"dist/r-state-tree.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/r-state-tree.js","require":"./dist/r-state-tree.cjs"}},"gitHead":"18fec49996dd9006f59ace3ed54774acb91b317d","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"vitest run","build":"vite build && pnpm run build:types","format":"prettier --cache --write \"src/**/*.ts\" \"tests/**/*.ts\"","test:cover":"vitest run --coverage","test:watch":"vitest","build:types":"tsc --emitDeclarationOnly","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"11.6.0","description":"reactive state management library","directories":{},"_nodeVersion":"24.9.0","dependencies":{"@preact/signals-core":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.1.9","tslib":"^2.5.0","eslint":"^8.5.0","vitest":"3.2.4","prettier":"^2.8.4","typescript":"5.9.3","@tsmetadata/polyfill":"^1.1.3","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.25.3","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.8.1","@typescript-eslint/eslint-plugin":"^5.8.1","eslint-import-resolver-typescript":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.4.3_1762134300956_0.8082316855177021","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"r-state-tree","version":"0.4.4","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.4.4","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"2283102a8e8ca083905796c066e3814ebd645f8f","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.4.4.tgz","fileCount":28,"integrity":"sha512-ox4WIF6ZJouhW5pxsYDtxChz7YATmYLBH+YDhCo0RBYw8qHbpUI4lfOvr9z/ryKn7VGw+bevcS3uH0T1eGZUxQ==","signatures":[{"sig":"MEYCIQC0rgGJrimtTnPW2wyr7bSRfH8CQIzIIAoG74clg2YxFwIhANle7gcMcROPxaSKKTegE9BRBv6JKv8D1b4/y1oh+GA1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193713},"main":"dist/r-state-tree.cjs","types":"dist/index.d.ts","module":"dist/r-state-tree.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/r-state-tree.js","require":"./dist/r-state-tree.cjs"}},"gitHead":"fb597c7b787f200417bf03d45a0284b32d60a12c","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"vitest run","build":"vite build && pnpm run build:types","format":"prettier --cache --write \"src/**/*.ts\" \"tests/**/*.ts\"","test:cover":"vitest run --coverage","test:watch":"vitest","build:types":"tsc --emitDeclarationOnly","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"11.6.0","description":"reactive state management library","directories":{},"_nodeVersion":"24.9.0","dependencies":{"@preact/signals-core":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.1.9","tslib":"^2.5.0","eslint":"^8.5.0","vitest":"3.2.4","prettier":"^2.8.4","typescript":"5.9.3","@tsmetadata/polyfill":"^1.1.3","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.25.3","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.8.1","@typescript-eslint/eslint-plugin":"^5.8.1","eslint-import-resolver-typescript":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.4.4_1762721865168_0.30307599871283775","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"r-state-tree","version":"0.4.5","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.4.5","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"dbdb7ecdc86d3381d731c9a43b0774cb76573f97","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.4.5.tgz","fileCount":28,"integrity":"sha512-7B3KaDc1zVtIhlkiufabujISv1hnEnghNI9iHTfdBnADiCdmniCQdB2IgOOzjB6vVnEp2KFP5lBbfpqwnBg9Eg==","signatures":[{"sig":"MEYCIQCP3AVRdrhRgLFLP/QVZe2x695rKlHq9bpAzqc+QwrjdAIhAJgKthlPZs3OBe+NsNeIWW8sLSsc7pDpXF52FxR9WPcZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193812},"main":"dist/r-state-tree.cjs","_from":"file:r-state-tree-0.4.5.tgz","types":"dist/index.d.ts","module":"dist/r-state-tree.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/r-state-tree.js","require":"./dist/r-state-tree.cjs"}},"scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"vitest run","build":"vite build && pnpm run build:types","format":"prettier --cache --write \"src/**/*.ts\" \"tests/**/*.ts\"","test:cover":"vitest run --coverage","test:watch":"vitest","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"_resolved":"/private/var/folders/b0/slqvb77n3p51vw1yjss70m1h0000gn/T/f24d4dd1d8dd2339d8718b3b5d184f8a/r-state-tree-0.4.5.tgz","_integrity":"sha512-7B3KaDc1zVtIhlkiufabujISv1hnEnghNI9iHTfdBnADiCdmniCQdB2IgOOzjB6vVnEp2KFP5lBbfpqwnBg9Eg==","repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"11.6.0","description":"reactive state management library","directories":{},"_nodeVersion":"24.9.0","dependencies":{"@preact/signals-core":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.1.9","tslib":"^2.5.0","eslint":"^8.5.0","vitest":"3.2.4","prettier":"^2.8.4","typescript":"5.9.3","@tsmetadata/polyfill":"^1.1.3","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.25.3","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.8.1","@typescript-eslint/eslint-plugin":"^5.8.1","eslint-import-resolver-typescript":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.4.5_1762722786720_0.22758493463985197","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"r-state-tree","version":"0.4.6","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.4.6","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"92db0d148eb67aee992ecfe2cab2e90683dfc424","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.4.6.tgz","fileCount":28,"integrity":"sha512-QLHAaYbbiSsEod2n2y89cxfrY9XhLwekVydt5xannBbsOYjvdu3QfR4Xpfo2QPUpC84Fl+OHiGSqts1PE5LSvw==","signatures":[{"sig":"MEUCICyH3CJtWEDbXRFSfBXRxZ699nNdCLdR59jh4mDUemnXAiEAr+ZVflmLlWfE4YO+mhYeE4uElQiYJHEjD+6gk5dnMAw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":194115},"main":"dist/r-state-tree.cjs","types":"dist/index.d.ts","module":"dist/r-state-tree.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/r-state-tree.js","require":"./dist/r-state-tree.cjs"}},"gitHead":"05bbcae6851c2f0b9efdd73807c69da0741a5fc6","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"vitest run","build":"vite build && pnpm run build:types","format":"prettier --cache --write \"src/**/*.ts\" \"tests/**/*.ts\"","test:cover":"vitest run --coverage","test:watch":"vitest","build:types":"tsc --emitDeclarationOnly","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"11.6.0","description":"reactive state management library","directories":{},"_nodeVersion":"24.9.0","dependencies":{"@preact/signals-core":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.1.9","tslib":"^2.5.0","eslint":"^8.5.0","vitest":"3.2.4","prettier":"^2.8.4","typescript":"5.9.3","@tsmetadata/polyfill":"^1.1.3","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.25.3","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.8.1","@typescript-eslint/eslint-plugin":"^5.8.1","eslint-import-resolver-typescript":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.4.6_1762723262833_0.4094689896188901","host":"s3://npm-registry-packages-npm-production"}},"0.4.7":{"name":"r-state-tree","version":"0.4.7","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.4.7","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"546c817e8615c696eac4e67e03f260022a3094cd","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.4.7.tgz","fileCount":28,"integrity":"sha512-nCNY9PxC9U+9WgZIFalDslO3JhL79DWea3CGuUvHhOJvOKEb50R3gqgSeao4cx7gD5V1NDMSWzNbHnc/3gRgjw==","signatures":[{"sig":"MEUCIE6z7gew7/Lg7et4PXMS7W++3Xs33P9dF4EKmZFo696FAiEAqigKMoHhgNHGL25mTSYsbM9+4lU3mASR43Euz0wQvjo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":194262},"main":"dist/r-state-tree.cjs","_from":"file:r-state-tree-0.4.7.tgz","types":"dist/index.d.ts","module":"dist/r-state-tree.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/r-state-tree.js","require":"./dist/r-state-tree.cjs"}},"scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"vitest run","build":"vite build && pnpm run build:types","format":"prettier --cache --write \"src/**/*.ts\" \"tests/**/*.ts\"","test:cover":"vitest run --coverage","test:watch":"vitest","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"_resolved":"/private/var/folders/b0/slqvb77n3p51vw1yjss70m1h0000gn/T/18d2aa564955ead7f478a1874b739aba/r-state-tree-0.4.7.tgz","_integrity":"sha512-nCNY9PxC9U+9WgZIFalDslO3JhL79DWea3CGuUvHhOJvOKEb50R3gqgSeao4cx7gD5V1NDMSWzNbHnc/3gRgjw==","repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"11.6.0","description":"reactive state management library","directories":{},"_nodeVersion":"24.9.0","dependencies":{"@preact/signals-core":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.1.9","tslib":"^2.5.0","eslint":"^8.5.0","vitest":"3.2.4","prettier":"^2.8.4","typescript":"5.9.3","@tsmetadata/polyfill":"^1.1.3","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.25.3","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.8.1","@typescript-eslint/eslint-plugin":"^5.8.1","eslint-import-resolver-typescript":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.4.7_1762739966159_0.3139646739002271","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"r-state-tree","version":"0.5.0","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.5.0","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"5edfcd251ba8d9a50105b5f157fa1a6b7f39e6f9","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.5.0.tgz","fileCount":28,"integrity":"sha512-8y3kBNXc2NOve3EpFqNqHbcgmmtXIR0qUu+GR7wcPsuO9IxK/Gb+imD0h39dsibBD6+E7Y2+VudMkQ2Uvm/NPw==","signatures":[{"sig":"MEUCIC/mKXSErD7y/R8MT3T+h8YKU3eTS3yTnLKdi/Y6KsZhAiEAzXjMDdbW8QcZgn2xgUkDphsq/aj3jV+NquO//M3Dyfk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":214443},"main":"dist/r-state-tree.cjs","_from":"file:r-state-tree-0.5.0.tgz","types":"dist/index.d.ts","module":"dist/r-state-tree.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/r-state-tree.js","require":"./dist/r-state-tree.cjs"}},"scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"vitest run","build":"vite build && pnpm run build:types","format":"prettier --cache --write \"src/**/*.ts\" \"tests/**/*.ts\"","test:cover":"vitest run --coverage","test:watch":"vitest","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"_resolved":"/private/var/folders/b0/slqvb77n3p51vw1yjss70m1h0000gn/T/bf4f8144fe71d5fb736d85be0c1d9adf/r-state-tree-0.5.0.tgz","_integrity":"sha512-8y3kBNXc2NOve3EpFqNqHbcgmmtXIR0qUu+GR7wcPsuO9IxK/Gb+imD0h39dsibBD6+E7Y2+VudMkQ2Uvm/NPw==","repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"11.6.0","description":"reactive state management library","directories":{},"_nodeVersion":"24.9.0","dependencies":{"@preact/signals-core":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.1.9","tslib":"^2.5.0","eslint":"^8.5.0","vitest":"3.2.4","prettier":"^2.8.4","typescript":"5.9.3","@tsmetadata/polyfill":"^1.1.3","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.25.3","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.8.1","@typescript-eslint/eslint-plugin":"^5.8.1","eslint-import-resolver-typescript":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.5.0_1765079192357_0.9658617597030401","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"r-state-tree","version":"0.6.0","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.6.0","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"d2a3ea0e5fb0d4ef6455a7214eb5a020169ee2e3","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.6.0.tgz","fileCount":29,"integrity":"sha512-WY/OdJWQaQQ4Tu3O5HPIqMXuGzxRGQXDFFqMCSYju/WZs6xD+SxpxWtOGEmFqtDXbDoIe5i5xkW9lQYpVXov1A==","signatures":[{"sig":"MEYCIQD1FoeveA9/8KPcxTo7n5I2AENhcRGJVptGdHKcChABVQIhAJusZLZYcc0AMpL7DlEHNHzHflJd2EjBVzIaCHnG+/1T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":263616},"main":"dist/r-state-tree.cjs","_from":"file:r-state-tree-0.6.0.tgz","types":"dist/index.d.ts","module":"dist/r-state-tree.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/r-state-tree.js","require":"./dist/r-state-tree.cjs"}},"scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"vitest run","build":"vite build && pnpm run build:types","format":"prettier --cache --write \"src/**/*.ts\" \"tests/**/*.ts\"","test:cover":"vitest run --coverage","test:watch":"vitest","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"_resolved":"/private/var/folders/b0/slqvb77n3p51vw1yjss70m1h0000gn/T/631e67909b3da1909b013c4e01b0e01f/r-state-tree-0.6.0.tgz","_integrity":"sha512-WY/OdJWQaQQ4Tu3O5HPIqMXuGzxRGQXDFFqMCSYju/WZs6xD+SxpxWtOGEmFqtDXbDoIe5i5xkW9lQYpVXov1A==","repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"11.6.0","description":"reactive state management library","directories":{},"_nodeVersion":"24.9.0","dependencies":{"@preact/signals-core":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.1.9","tslib":"^2.5.0","eslint":"^8.5.0","vitest":"3.2.4","prettier":"^2.8.4","typescript":"5.9.3","@tsmetadata/polyfill":"^1.1.3","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.25.3","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.8.1","@typescript-eslint/eslint-plugin":"^5.8.1","eslint-import-resolver-typescript":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.6.0_1766439428471_0.17414735455745833","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"r-state-tree","version":"0.6.1","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.6.1","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"cfc21089cc9525b523e6d2b8eb5e479aca5168f8","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.6.1.tgz","fileCount":28,"integrity":"sha512-b79uFjkC+hc2y0izWPol9xhkv6YMZkpPB63fnvpzN2JVGvFZBC7tUL09jzQsXZR1WzXkWNrHArCM0Fzjwszv5g==","signatures":[{"sig":"MEYCIQD66tcjwqJI9srQXBsWuyvAOfq7g5ymxbd4Qancr4XXRAIhAN/XzqndkpX9r22RjZIchBhSChdMnqx2W75g0SMK9hfr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":253880},"main":"dist/r-state-tree.cjs","_from":"file:r-state-tree-0.6.1.tgz","types":"dist/index.d.ts","module":"dist/r-state-tree.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/r-state-tree.js","require":"./dist/r-state-tree.cjs"}},"scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"vitest run","build":"vite build && pnpm run build:types","format":"prettier --cache --write \"src/**/*.ts\" \"tests/**/*.ts\"","test:cover":"vitest run --coverage","test:watch":"vitest","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"_resolved":"/private/var/folders/b0/slqvb77n3p51vw1yjss70m1h0000gn/T/87a2805a27101330c989597200c86252/r-state-tree-0.6.1.tgz","_integrity":"sha512-b79uFjkC+hc2y0izWPol9xhkv6YMZkpPB63fnvpzN2JVGvFZBC7tUL09jzQsXZR1WzXkWNrHArCM0Fzjwszv5g==","repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"11.6.0","description":"reactive state management library","directories":{},"_nodeVersion":"24.9.0","dependencies":{"@preact/signals-core":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.1.9","tslib":"^2.5.0","eslint":"^8.5.0","vitest":"3.2.4","prettier":"^2.8.4","typescript":"5.9.3","@tsmetadata/polyfill":"^1.1.3","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.25.3","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.8.1","@typescript-eslint/eslint-plugin":"^5.8.1","eslint-import-resolver-typescript":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.6.1_1766533111286_0.5186047754807588","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"r-state-tree","version":"0.6.2","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.6.2","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"c16e1da9e48860ede7fa24875ef411eaec54afce","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.6.2.tgz","fileCount":28,"integrity":"sha512-wM8mUdxt12xk39ePaMszfXvfn5VOuGPbgzi6hyBFgtDi4EtK2Rh50erIXqDQjT2sgS8a48GtcFkp71/+Af+2xw==","signatures":[{"sig":"MEUCIQCHNc+CFxgpbbTzgIk5CjfSeqvT3aw8cVNCHg+TuVynigIgdX4A2ZMY47f8OMxVW4trrkYOIrhkc4ZdRpbql2XqMOc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":253223},"main":"dist/r-state-tree.cjs","_from":"file:r-state-tree-0.6.2.tgz","types":"dist/index.d.ts","module":"dist/r-state-tree.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/r-state-tree.js","require":"./dist/r-state-tree.cjs"}},"scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"vitest run","build":"vite build && pnpm run build:types","format":"prettier --cache --write \"src/**/*.ts\" \"tests/**/*.ts\"","test:cover":"vitest run --coverage","test:watch":"vitest","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"_resolved":"/private/var/folders/b0/slqvb77n3p51vw1yjss70m1h0000gn/T/34db6deeeb7a597c1cc6a59530152d2c/r-state-tree-0.6.2.tgz","_integrity":"sha512-wM8mUdxt12xk39ePaMszfXvfn5VOuGPbgzi6hyBFgtDi4EtK2Rh50erIXqDQjT2sgS8a48GtcFkp71/+Af+2xw==","repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"11.6.0","description":"reactive state management library","directories":{},"_nodeVersion":"24.9.0","dependencies":{"@preact/signals-core":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.1.9","tslib":"^2.5.0","eslint":"^8.5.0","vitest":"3.2.4","prettier":"^2.8.4","typescript":"5.9.3","@tsmetadata/polyfill":"^1.1.3","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.25.3","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.8.1","@typescript-eslint/eslint-plugin":"^5.8.1","eslint-import-resolver-typescript":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.6.2_1767129716024_0.19342937196190158","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"r-state-tree","version":"0.6.3","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.6.3","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"db23be080ff964786d0032371fbf6d64a9ff6a47","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.6.3.tgz","fileCount":28,"integrity":"sha512-cJ53rQoRbeik+E156Ak15wF/6fFUQbzS9/b5R0b0VikxZKpm7C3dBlEdqYNlp0H5i6ouL7bthUQbx6dgTtnE4g==","signatures":[{"sig":"MEQCIGEEwB4E4RqcWCklX6RMgogipY5zk0n+5foB+8Ri4MWZAiB9juIGIDQIND84Z16fknO+LrufbskMbNjgaUMFncHrZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":253714},"main":"dist/r-state-tree.cjs","_from":"file:r-state-tree-0.6.3.tgz","types":"dist/index.d.ts","module":"dist/r-state-tree.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/r-state-tree.js","require":"./dist/r-state-tree.cjs"}},"scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"vitest run","build":"vite build && pnpm run build:types","format":"prettier --cache --write \"src/**/*.ts\" \"tests/**/*.ts\"","test:cover":"vitest run --coverage","test:watch":"vitest","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"_resolved":"/private/var/folders/b0/slqvb77n3p51vw1yjss70m1h0000gn/T/c85838f05207fd2d105f91f9d8d5ec31/r-state-tree-0.6.3.tgz","_integrity":"sha512-cJ53rQoRbeik+E156Ak15wF/6fFUQbzS9/b5R0b0VikxZKpm7C3dBlEdqYNlp0H5i6ouL7bthUQbx6dgTtnE4g==","repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"11.6.0","description":"reactive state management library","directories":{},"_nodeVersion":"24.9.0","dependencies":{"@preact/signals-core":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.1.9","tslib":"^2.5.0","eslint":"^8.5.0","vitest":"3.2.4","prettier":"^2.8.4","typescript":"5.9.3","@tsmetadata/polyfill":"^1.1.3","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.25.3","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.8.1","@typescript-eslint/eslint-plugin":"^5.8.1","eslint-import-resolver-typescript":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.6.3_1767131728524_0.008875655436881624","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"r-state-tree","version":"0.7.0","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.7.0","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"f60d83e6dbc53cce0156d84af0622d8082f082b4","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.7.0.tgz","fileCount":29,"integrity":"sha512-6zHR0XUPU7h9ZmIUV5UalGCKoiHqbi7qYXKEuwCEuM3ddyTrOZoHcDtRjdT1KKzn4iwtvJrr4KPh5SVDZBPEoQ==","signatures":[{"sig":"MEQCIHv0iP0YuV541sEHXW7dPI19NO2HGAMEMrPzuj0faoFgAiAhI1ixocIb3wpNOgMNb65wA0bL3b8/rfmFL7baRYCzKQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":268585},"main":"dist/r-state-tree.cjs","types":"dist/index.d.ts","module":"dist/r-state-tree.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/r-state-tree.js","require":"./dist/r-state-tree.cjs"}},"gitHead":"94de6cbb51b0c8849c8be0890c3bc6a58ecbdff5","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"vitest run","build":"vite build && pnpm run build:types","format":"prettier --cache --write \"src/**/*.ts\" \"tests/**/*.ts\"","test:cover":"vitest run --coverage","test:watch":"vitest","build:types":"tsc --emitDeclarationOnly","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"11.6.0","description":"reactive state management library","directories":{},"_nodeVersion":"24.9.0","dependencies":{"@preact/signals-core":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.1.9","tslib":"^2.5.0","eslint":"^8.5.0","vitest":"3.2.4","prettier":"^2.8.4","typescript":"5.9.3","@tsmetadata/polyfill":"^1.1.3","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.25.3","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.8.1","@typescript-eslint/eslint-plugin":"^5.8.1","eslint-import-resolver-typescript":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.7.0_1774571070267_0.03184540506140365","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"r-state-tree","version":"0.8.0","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.8.0","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"a0b1c4df6b13173f6d9d9bc74600e12d27844b63","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.8.0.tgz","fileCount":29,"integrity":"sha512-jgZvmT7Mr/VpQp0HW/CPIF6VZeiOx01SwaBrkvbdp9B3xElDr8M0j3fg8+nLnMEiJN2DREQ5xwJy5ZEsKzfSTQ==","signatures":[{"sig":"MEQCIDrw9975g957ECbwelNUBkDIh2i76cxNQpvif1VH6rN7AiAFkrUi5JNFfWStjD+ho1BwMPrqBf/xzXXv/haXMyMAwQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":281213},"main":"dist/r-state-tree.cjs","types":"dist/index.d.ts","module":"dist/r-state-tree.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/r-state-tree.js","require":"./dist/r-state-tree.cjs"}},"gitHead":"601b298e43c82a70dcc8837153aed707f839b417","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"vitest run","build":"vite build && pnpm run build:types","format":"prettier --cache --write \"src/**/*.ts\" \"tests/**/*.ts\"","test:cover":"vitest run --coverage","test:watch":"vitest","build:types":"tsc --emitDeclarationOnly","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"11.6.0","description":"reactive state management library","directories":{},"_nodeVersion":"24.9.0","dependencies":{"@preact/signals-core":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.1.9","tslib":"^2.5.0","eslint":"^8.5.0","vitest":"3.2.4","prettier":"^2.8.4","typescript":"5.9.3","@tsmetadata/polyfill":"^1.1.3","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.25.3","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.8.1","@typescript-eslint/eslint-plugin":"^5.8.1","eslint-import-resolver-typescript":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.8.0_1783791628596_0.7492074710222432","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"r-state-tree","version":"0.8.1","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.8.1","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"cd80598c88c9f7310e581c736be5719d2b964e0d","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.8.1.tgz","fileCount":29,"integrity":"sha512-EDXdTJN416LoN54phyL2kHUQ7n/sEtKV8iwF9ptNVKL4YYC3vZ1zSogV4euRJeXNmJ/5O90EnmUy2ITZPd931Q==","signatures":[{"sig":"MEQCIEtwJVQFx5rgXcC0mO8cmpmumWMeOXahfROZFPwtZZwbAiB+qNyA5GazqLuvYcMNnxTyKM95HQoXrsuuTgYwT9IeEw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":284145},"main":"dist/r-state-tree.cjs","types":"dist/index.d.ts","module":"dist/r-state-tree.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/r-state-tree.js","require":"./dist/r-state-tree.cjs"}},"gitHead":"59d8e59adb2d4446a3d224d043795aa0148a4140","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"vitest run","build":"vite build && pnpm run build:types","format":"prettier --cache --write \"src/**/*.ts\" \"tests/**/*.ts\"","test:cover":"vitest run --coverage","test:watch":"vitest","build:types":"tsc --emitDeclarationOnly","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"11.6.0","description":"reactive state management library","directories":{},"_nodeVersion":"24.9.0","dependencies":{"@preact/signals-core":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.1.9","tslib":"^2.5.0","eslint":"^8.5.0","vitest":"3.2.4","prettier":"^2.8.4","typescript":"5.9.3","@tsmetadata/polyfill":"^1.1.3","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.25.3","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.8.1","@typescript-eslint/eslint-plugin":"^5.8.1","eslint-import-resolver-typescript":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.8.1_1783824140492_0.5493534667748399","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"r-state-tree","version":"0.8.2","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.8.2","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"5a668f8e7d64d225cb639beed8645a2d914afb40","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.8.2.tgz","fileCount":29,"integrity":"sha512-Uppt451DU999tMq73VaiSzYXK3y+7uZ0CCGyxM38vOMfN/DSMsSFIys7Ba1REiJJ/fjLItrH0r/Eabchq3kqig==","signatures":[{"sig":"MEUCIQDj0LrFGKm+Z9x2tvfBrpkaKKz0TAAP8gf9xszJ5t+5+QIgP5P/i8/yoJRSSi9uwF+xiWoCgGotszdmC5pCt5xAcK4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":284219},"main":"dist/r-state-tree.cjs","types":"dist/index.d.ts","module":"dist/r-state-tree.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/r-state-tree.js","require":"./dist/r-state-tree.cjs"}},"gitHead":"59d8e59adb2d4446a3d224d043795aa0148a4140","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"vitest run","build":"vite build && pnpm run build:types","format":"prettier --cache --write \"src/**/*.ts\" \"tests/**/*.ts\"","test:cover":"vitest run --coverage","test:watch":"vitest","build:types":"tsc --emitDeclarationOnly","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"11.6.0","description":"reactive state management library","directories":{},"_nodeVersion":"24.9.0","dependencies":{"@preact/signals-core":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.1.9","tslib":"^2.5.0","eslint":"^8.5.0","vitest":"3.2.4","prettier":"^2.8.4","typescript":"5.9.3","@tsmetadata/polyfill":"^1.1.3","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.25.3","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.8.1","@typescript-eslint/eslint-plugin":"^5.8.1","eslint-import-resolver-typescript":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.8.2_1783826390054_0.11969140597279404","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"r-state-tree","version":"0.9.0","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.9.0","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"2985345d326a576c52b18857a495c0afbf120f4d","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.9.0.tgz","fileCount":29,"integrity":"sha512-qdiJZWm5wKjFzhDB3s6j1TECijDj0K8GA4GR6tz9Rt4f2BkaKqRW5aXG8mdvqwIR9RltBmv0DjpRL4ow5YQjHQ==","signatures":[{"sig":"MEUCIHDgp00uXnmJmJbvxwksAKLTiyWtb8Jd5Zwksf7+tQPXAiEAnJljR7Kd+f9oLWFWF4Cs/kaiW4foslqsTp6sEvZg9lI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":280589},"main":"dist/r-state-tree.cjs","types":"dist/index.d.ts","module":"dist/r-state-tree.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/r-state-tree.js","require":"./dist/r-state-tree.cjs"}},"gitHead":"72be28d10f29e43637325be0fead613f9a9170fb","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"vitest run","build":"vite build && pnpm run build:types","format":"prettier --cache --write \"src/**/*.ts\" \"tests/**/*.ts\"","test:cover":"vitest run --coverage","test:watch":"vitest","build:types":"tsc --emitDeclarationOnly","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"11.6.0","description":"reactive state management library","directories":{},"_nodeVersion":"24.9.0","dependencies":{"@preact/signals-core":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.1.9","tslib":"^2.5.0","eslint":"^8.5.0","vitest":"3.2.4","prettier":"^2.8.4","typescript":"5.9.3","@tsmetadata/polyfill":"^1.1.3","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.25.3","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.8.1","@typescript-eslint/eslint-plugin":"^5.8.1","eslint-import-resolver-typescript":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.9.0_1783909041313_0.7903585202879362","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"r-state-tree","version":"0.10.0","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.10.0","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"ca04b103e8e8856dd3b5d01afc1a7b0f9b3a9df6","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.10.0.tgz","fileCount":29,"integrity":"sha512-3ePgphcM932a97HSqlTLKiIeB1I3yTenoB7sfUeUapHdOlLdR/73oPrZ2nRaz0xL6TkAC101dmVYRvoEl1sJww==","signatures":[{"sig":"MEQCIArxiM4JMOy4F1NinbDUkXfKsGK4NclcqCpaMOb+sq5QAiB1xrNVg9Nu4Dfe0JL+tcjpqOoppcqe8zC8L5M4jUWf6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":281845},"main":"dist/r-state-tree.cjs","types":"dist/index.d.ts","module":"dist/r-state-tree.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/r-state-tree.js","require":"./dist/r-state-tree.cjs"}},"gitHead":"2b12779a3100ff6526cf0fac8270f76a3f95de3d","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"vitest run","build":"vite build && pnpm run build:types","format":"prettier --cache --write \"src/**/*.ts\" \"tests/**/*.ts\"","test:cover":"vitest run --coverage","test:watch":"vitest","build:types":"tsc --emitDeclarationOnly","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"11.6.0","description":"reactive state management library","directories":{},"_nodeVersion":"24.9.0","dependencies":{"@preact/signals-core":"^1.12.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.1.9","tslib":"^2.5.0","eslint":"^8.5.0","vitest":"3.2.4","prettier":"^2.8.4","typescript":"5.9.3","@tsmetadata/polyfill":"^1.1.3","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.25.3","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.8.1","@typescript-eslint/eslint-plugin":"^5.8.1","eslint-import-resolver-typescript":"^2.5.0"},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.10.0_1783991393547_0.6269111781141226","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"r-state-tree","version":"0.10.1","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.10.1","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"a53993480bb957fd95fc789fa7a6bad5999f4c1c","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.10.1.tgz","fileCount":38,"integrity":"sha512-r2ObZ7DRikgndPYvOznJ0Ua5ty50THQbHxEA67CClhqr+T2yBE+AZcJfK3cC472pfqf5cr2hbuLBZ1O3kqwvVA==","signatures":[{"sig":"MEUCIC7VjwASwfoSioWphalM0vYGAF8BKmlJK4XwZd5cRTtjAiEAzCyKztDVg9oich5k5UsL3ABqSea4vytbghXTMiQjPqE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":314191},"main":"dist/r-state-tree.cjs","types":"dist/index.d.ts","module":"dist/r-state-tree.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/r-state-tree.js","require":"./dist/r-state-tree.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"}},"gitHead":"107a59298a135d78e89047d2ea6b28050deac92c","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"vitest run && pnpm run test:types","build":"vite build && pnpm run build:types","format":"prettier --cache --write \"src/**/*.ts\" \"tests/**/*.ts\"","test:cover":"vitest run --coverage","test:types":"tsc --noEmit -p tests/tsconfig.json","test:watch":"vitest","build:types":"tsc --emitDeclarationOnly","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"11.6.0","description":"reactive state management library","directories":{},"_nodeVersion":"24.9.0","dependencies":{"@preact/signals-core":"^1.14.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.1.9","jsdom":"^26.1.0","react":"^19.2.7","tslib":"^2.5.0","eslint":"^8.5.0","vitest":"3.2.4","prettier":"^2.8.4","react-dom":"^19.2.7","typescript":"5.9.3","@types/react":"^19.2.17","@types/react-dom":"^19.2.3","@tsmetadata/polyfill":"^1.1.3","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.25.3","@preact/signals-react":"^3.10.3","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.8.1","@typescript-eslint/eslint-plugin":"^5.8.1","eslint-import-resolver-typescript":"^2.5.0"},"peerDependencies":{"react":"^18.2.0 || ^19.0.0","@preact/signals-react":"^3.10.3"},"peerDependenciesMeta":{"react":{"optional":true},"@preact/signals-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.10.1_1784080062017_0.9178999148328475","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"r-state-tree","version":"0.10.2","author":{"name":"Sergey Melnikov"},"license":"MIT","_id":"r-state-tree@0.10.2","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"homepage":"https://github.com/melnikov-s/r-state-tree#readme","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"dist":{"shasum":"7a07f8f8d1a820abf268fbbe951529789d9457e3","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.10.2.tgz","fileCount":38,"integrity":"sha512-BPUhJNinXmUnA1DOIuCr1kIKdFIZNG5+BpLBwXvTrzpLHzy/xOji9ojne29MRQzltuhT4VfdgbvoHSaKm4cF3A==","signatures":[{"sig":"MEYCIQCbYFOR4ICCmxP66uRHbISR4jUqejkahHTPplBG79LDrwIhAODnHv3uNkXQM8wWGMcEKJB7SLJIOgHDRdS901+WUo94","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":349422},"main":"dist/r-state-tree.cjs","types":"dist/index.d.ts","module":"dist/r-state-tree.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/r-state-tree.js","require":"./dist/r-state-tree.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"}},"gitHead":"5d5c03e3897c12fdf226264d9364a3680e1ce5e8","scripts":{"lint":"eslint ./src ./tests --ext .ts","test":"vitest run && pnpm run test:types","build":"vite build && pnpm run build:types","format":"prettier --cache --write \"src/**/*.ts\" \"tests/**/*.ts\"","test:cover":"vitest run --coverage","test:types":"tsc --noEmit -p tests/tsconfig.json","test:watch":"vitest","build:types":"tsc --emitDeclarationOnly","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"repository":{"url":"git+https://github.com/melnikov-s/r-state-tree.git","type":"git"},"_npmVersion":"11.6.0","description":"reactive state management library","directories":{},"_nodeVersion":"24.9.0","dependencies":{"@preact/signals-core":"^1.14.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.1.9","jsdom":"^26.1.0","react":"^19.2.7","tslib":"^2.5.0","eslint":"^8.5.0","vitest":"3.2.4","prettier":"^2.8.4","react-dom":"^19.2.7","typescript":"5.9.3","@types/react":"^19.2.17","@types/react-dom":"^19.2.3","@tsmetadata/polyfill":"^1.1.3","eslint-config-airbnb":"^19.0.4","eslint-plugin-import":"^2.25.3","@preact/signals-react":"^3.10.3","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","@typescript-eslint/parser":"^5.8.1","@typescript-eslint/eslint-plugin":"^5.8.1","eslint-import-resolver-typescript":"^2.5.0"},"peerDependencies":{"react":"^18.2.0 || ^19.0.0","@preact/signals-react":"^3.10.3"},"peerDependenciesMeta":{"react":{"optional":true},"@preact/signals-react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/r-state-tree_0.10.2_1787290006390_0.021715825952737022","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"r-state-tree","version":"0.11.1","description":"reactive state management library","main":"dist/r-state-tree.cjs","module":"dist/r-state-tree.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/r-state-tree.js","require":"./dist/r-state-tree.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"}},"scripts":{"test":"vitest run && pnpm run test:types","test:watch":"vitest","test:cover":"vitest run --coverage","test:types":"tsc --noEmit -p tests/tsconfig.json","build":"vite build && pnpm run build:types","build:types":"tsc --emitDeclarationOnly","lint":"eslint ./src ./tests --ext .ts","format":"prettier --cache --write \"src/**/*.ts\" \"tests/**/*.ts\"","prepublishOnly":"pnpm run build"},"repository":{"type":"git","url":"git+https://github.com/melnikov-s/r-state-tree.git"},"author":{"name":"Sergey Melnikov"},"license":"MIT","bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"homepage":"https://github.com/melnikov-s/r-state-tree#readme","devDependencies":{"@preact/signals-react":"^3.10.3","@tsmetadata/polyfill":"^1.1.3","@types/react":"^19.2.17","@types/react-dom":"^19.2.3","@typescript-eslint/eslint-plugin":"^5.8.1","@typescript-eslint/parser":"^5.8.1","eslint":"^8.5.0","eslint-config-airbnb":"^19.0.4","eslint-config-prettier":"^8.3.0","eslint-import-resolver-typescript":"^2.5.0","eslint-plugin-import":"^2.25.3","eslint-plugin-prettier":"^4.0.0","jsdom":"^26.1.0","prettier":"^2.8.4","react":"^19.2.7","react-dom":"^19.2.7","tslib":"^2.5.0","typescript":"5.9.3","vite":"7.1.9","vitest":"3.2.4"},"dependencies":{"@preact/signals-core":"^1.14.4"},"peerDependencies":{"@preact/signals-react":"^3.10.3","react":"^18.2.0 || ^19.0.0"},"peerDependenciesMeta":{"@preact/signals-react":{"optional":true},"react":{"optional":true}},"_id":"r-state-tree@0.11.1","gitHead":"b5f2e7f149b2a92a52f14534408ea9fb3fda7ed3","_nodeVersion":"24.9.0","_npmVersion":"11.6.0","dist":{"integrity":"sha512-yQ/VZdBXipGY/IwNHAI8bBQ0slmCwRMjeNbXPxalSx8WJo89A13DVbv5UUiyluVAuqvCDL8M0yWmZr/e1EosYg==","shasum":"fb9462baf3053bfef78213c0ece7a1d36e28a682","tarball":"https://registry.npmjs.org/r-state-tree/-/r-state-tree-0.11.1.tgz","fileCount":38,"unpackedSize":353879,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDhXduxC2FXxCs0JKPWVWbDvnQStRcKKVeTPUjpxX3wIQIhAL7Rsy+KxUuyO1qsaUOisuLFmDJ3UtZlpCYbPTGGjsqG"}]},"_npmUser":{"name":"melnikov-s","email":"melnikov.s220@gmail.com"},"directories":{},"maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/r-state-tree_0.11.1_1787368503928_0.5555307405135403"},"_hasShrinkwrap":false}},"time":{"created":"2020-06-22T23:29:07.625Z","modified":"2026-08-22T03:15:04.222Z","0.1.0-rc1":"2020-06-22T23:29:07.778Z","0.1.0-rc2":"2020-06-23T02:33:39.274Z","0.1.0-rc3":"2020-06-23T22:59:38.834Z","0.1.0-rc4":"2020-06-25T00:06:57.146Z","0.1.0-rc5":"2020-07-12T16:32:39.046Z","0.1.0-rc6":"2020-07-13T02:59:33.648Z","0.1.0-rc7":"2020-07-27T01:58:05.494Z","0.1.0-rc9":"2020-09-13T16:24:48.441Z","0.1.0-rc10":"2020-09-14T02:24:11.065Z","0.1.0-rc11":"2020-10-25T16:30:26.787Z","0.1.0-rc12":"2020-11-11T00:20:56.870Z","0.1.0-rc13":"2020-11-11T02:39:34.292Z","0.1.0-rc14":"2020-12-18T15:01:22.969Z","0.1.0-rc15":"2020-12-18T15:33:52.160Z","0.1.0-rc16":"2020-12-18T15:52:53.786Z","0.1.0-rc17":"2020-12-18T15:57:35.584Z","0.1.0-rc18":"2020-12-18T17:16:10.380Z","0.1.0-rc19":"2021-01-17T20:03:14.788Z","0.1.0-rc20":"2021-02-17T00:35:47.987Z","0.1.0-rc21":"2021-03-01T04:44:10.597Z","0.1.0-rc22":"2021-03-01T16:35:30.215Z","0.1.0-rc24":"2021-05-22T14:39:17.810Z","0.1.0-rc25":"2021-05-23T00:50:40.147Z","0.3.0":"2025-10-13T22:44:24.952Z","0.3.1":"2025-10-13T22:53:09.236Z","0.4.0":"2025-10-30T01:36:50.990Z","0.4.1":"2025-10-30T02:00:03.683Z","0.4.2":"2025-11-03T01:40:54.419Z","0.4.3":"2025-11-03T01:45:01.153Z","0.4.4":"2025-11-09T20:57:45.367Z","0.4.5":"2025-11-09T21:13:06.950Z","0.4.6":"2025-11-09T21:21:03.082Z","0.4.7":"2025-11-10T01:59:26.388Z","0.5.0":"2025-12-07T03:46:32.529Z","0.6.0":"2025-12-22T21:37:08.631Z","0.6.1":"2025-12-23T23:38:31.428Z","0.6.2":"2025-12-30T21:21:56.173Z","0.6.3":"2025-12-30T21:55:28.680Z","0.7.0":"2026-03-27T00:24:30.545Z","0.8.0":"2026-07-11T17:40:28.755Z","0.8.1":"2026-07-12T02:42:20.643Z","0.8.2":"2026-07-12T03:19:50.198Z","0.9.0":"2026-07-13T02:17:21.471Z","0.10.0":"2026-07-14T01:09:53.690Z","0.10.1":"2026-07-15T01:47:42.161Z","0.10.2":"2026-08-21T05:26:46.551Z","0.11.1":"2026-08-22T03:15:04.065Z"},"bugs":{"url":"https://github.com/melnikov-s/r-state-tree/issues"},"author":{"name":"Sergey Melnikov"},"license":"MIT","homepage":"https://github.com/melnikov-s/r-state-tree#readme","repository":{"type":"git","url":"git+https://github.com/melnikov-s/r-state-tree.git"},"description":"reactive state management library","maintainers":[{"name":"melnikov-s","email":"melnikov.s220@gmail.com"}],"readme":"# r-state-tree\n\nr-state-tree is a reactive state management library for building complex applications by moving state out of your render tree.\n\n- Stores hold application/view state as a tree and drive your UI.\n- Models hold domain state as a separate tree with snapshots, identifiers and references.\n- Views become dumb renderers that react to Stores/Models.\n\n## Installation\n\n```bash\npnpm add r-state-tree\n```\n\n### Agent skill\n\nAn official r-state-tree skill ships at [`skills/r-state-tree`](skills/r-state-tree)\nand `node_modules/r-state-tree/skills/r-state-tree`. Copy it into your agent's\nproject skills directory for guidance on Store and Model design, lifecycle and\nasync ownership, React integration, and architecture reviews.\n\n### Requirements\n\nThis library strongly recommends using decorators.\n\n- Recommended: decorators (`@child`, `@id`, `@modelRef`, `@transient`, `@snapshot`, `@computed`). Requires TypeScript 5.0+ with `target: \"es2022\"` or higher.\n- Fallback: `static types` configuration (no decorators) if you can't or don't want to enable decorators in your toolchain.\n\nThe library includes a decorator metadata polyfill for runtimes that don't yet natively support `Symbol.metadata`.\n\n## React integration\n\nInstall the optional React peers when using the `r-state-tree/react` entry point:\n\n```bash\npnpm add react @preact/signals-react\n```\n\n```tsx\nimport { createStore, mount, Store } from \"r-state-tree\";\nimport {\n\tobserver,\n\tStoreProvider,\n\tuseOptionalStore,\n\tuseStore,\n} from \"r-state-tree/react\";\n\nclass CounterStore extends Store {\n\tcount = 0;\n\n\tincrement() {\n\t\tthis.count++;\n\t}\n}\n\nconst Counter = observer(function Counter() {\n\tconst store = useStore(CounterStore);\n\n\treturn <button onClick={() => store.increment()}>{store.count}</button>;\n});\n\nconst counterStore = mount(createStore(CounterStore));\n\nfunction App() {\n\treturn (\n\t\t<StoreProvider store={counterStore}>\n\t\t\t<Counter />\n\t\t</StoreProvider>\n\t);\n}\n```\n\n### `observer(Component)`\n\nWraps a function component and rerenders it when an r-state-tree/Preact Signal\nread during rendering changes. The result uses React's default `memo` behavior,\nso unchanged props do not cause a parent-driven rerender.\n\n`observer` only manages reactive rendering. It does not inspect Store-valued\nprops, provide Stores, mount Stores, or dispose Stores. Use `StoreProvider`\nexplicitly at every React lookup boundary.\n\n### `StoreProvider`\n\nMakes one realized Store available to descendants by its exact runtime class.\nProviders can be nested, and the nearest provider for the requested class wins.\nA subclass provider does not satisfy a lookup for its base Store class.\n\nReact provider ancestry is only a view lookup mechanism. It does not change the\nr-state-tree ownership parent, mount state, or lifetime of the Store. Unmounting\na provider does not dispose its Store.\n\n### `useStore(StoreType)` and `useOptionalStore(StoreType)`\n\n`useStore(StoreType)` returns the nearest Store provided for that exact class and\nthrows a descriptive error when none exists. `useOptionalStore(StoreType)` uses\nthe same lookup but returns `null` when no matching provider exists.\n\nThe React adapter is not loaded when importing only `r-state-tree`. Preact\napplications can use this entry point through `preact/compat`; native Preact\nintegration without React compatibility aliases is not currently provided.\n\n## TypeScript config (Stage 3 decorators)\n\nTypeScript 5+ supports TC39 Stage 3 decorators.\n\nOnly needed if you use decorators.\n\n```json\n{\n\t\"compilerOptions\": {\n\t\t\"target\": \"es2022\",\n\t\t\"module\": \"esnext\",\n\t\t\"moduleResolution\": \"bundler\",\n\t\t\"strict\": true,\n\t\t\"experimentalDecorators\": false,\n\t\t\"useDefineForClassFields\": true,\n\t\t\"lib\": [\"es2022\", \"dom\"],\n\t\t\"jsx\": \"react-jsx\",\n\t\t\"noEmit\": true\n\t}\n}\n```\n\n- `experimentalDecorators` must be `false` for Stage 3 decorators.\n- `useDefineForClassFields: true` is recommended with modern toolchains targeting ES2022.\n- The library includes a `Symbol.metadata` polyfill via `@tsmetadata/polyfill`.\n\n### Vite / esbuild config (SSR)\n\nWhen using Vite or esbuild for SSR, ensure the target is set to `es2022` to support Stage 3 decorators:\n\n```ts\n// vite.config.ts\nexport default defineConfig({\n\tesbuild: {\n\t\ttarget: \"es2022\",\n\t},\n});\n```\n\n## Core concepts\n\n- Stores: application/view state containers. Create with `createStore()`, attach with `mount()`, and dispose with `Symbol.dispose`. Compose with `@child` and register owned `effect`/`reaction` behavior in constructors. Update reactive `props` via `updateStore()`.\n- Models: domain state containers. Create with `Model.create()`. Ordinary fields participate in snapshots by default; exclude runtime-only fields with `@transient`. Structure with `@child`, identifiers via `@id`, and references via `@modelRef`.\n- Context: pass ambient behavioral dependencies through the Store tree using `createContext<T>()`, `[Context.provide]`, and `Context.consume(this)`. Context is reactive and can be overridden by descendant Stores.\n- Reactivity: powered by signals. Use `observable()`, `computed` / `@computed`, `effect`, `reaction`, `batch`, and `untracked` for precise updates.\n\n## Separation of concerns\n\n- Models: domain state + domain logic. Keep invariants, domain mutations, and computed/derived getters here. Models are serializable; use observable containers when persistent collections need in-place mutation, and mark runtime-only caches or resources with `@transient`. Derive values via getters.\n- Stores: application/view state + orchestration. Coordinate routing, timers, reactions, and I/O. Stores call model methods to perform domain changes. Avoid embedding domain rules in stores.\n\n### Why Stores and Models (motivation)\n\n- What is a Model? Persistent domain state plus domain rules. It holds identifiers, references, invariants, and exposes pure domain mutations and derived getters. It is serializable (snapshots), re-hydratable, and safe to reuse across views.\n- What is a Store? Application/view state and orchestration. It wires effects\n  (reactions, timers, I/O), reacts to user intent, and delegates domain changes\n  to Models. Explicit `@snapshot` fields can be snapshotted for session/view\n  restoration; Models remain the durable domain source of truth.\n- Why separate?\n  - Snapshots/undo/redo work cleanly when only domain lives in Models.\n  - Views stay simple: UI reads derived getters, calls Store methods; Stores call Model methods.\n  - Reuse: one Model can back multiple Stores/views without UI coupling.\n  - Testability: Models are deterministic and easy to unit test; Stores are thin orchestrators.\n  - Performance/identity: Models mutate in place; Stores manage child identity with `key`.\n- Quick rule of thumb:\n  - If it should be in a snapshot or referenced by id, put it in a Model. Ordinary Model fields are snapshotted; use `@child`, `@id`, and `@modelRef` for structure and identity.\n  - If it is ephemeral UI/app state or side-effect orchestration, put it in a Store.\n  - Components should read from one Store; if a component needs multiple sources, compose them into a higher-level Store.\n\n## Stores\n\nStores describe reactive state containers composed into a tree.\n\n```ts\nimport { Store, createStore, mount, child } from \"r-state-tree\";\n\nclass TodoStore extends Store<{ title: string }> {\n\tget title() {\n\t\treturn this.props.title;\n\t}\n}\n\nclass AppStore extends Store {\n\t@child get todo() {\n\t\treturn createStore(TodoStore, { title: \"Write docs\" });\n\t}\n}\n\nconst app = mount(createStore(AppStore));\napp.todo.title; // \"Write docs\"\n```\n\nFallback (no decorators) using `static types`:\n\n```ts\nimport { Store, createStore, mount, child } from \"r-state-tree\";\n\nclass TodoStore extends Store<{ title: string }> {\n\tget title() {\n\t\treturn this.props.title;\n\t}\n}\n\nclass AppStore extends Store {\n\tget todo() {\n\t\treturn createStore(TodoStore, { title: \"Write docs\" });\n\t}\n\n\tstatic types = {\n\t\ttodo: child,\n\t};\n}\n\nconst app = mount(createStore(AppStore));\napp.todo.title;\n```\n\n### Store creation, props, and typing\n\n- Always create with `createStore()` and attach with `mount()`. Stores cannot be constructed with `new` directly.\n- Prefer no custom constructor. Type stores as `Store<Props>` and access props via `this.props`.\n- Constructors may register framework-owned reactions and effects after `super(props)`. Store registrations activate when mounting and are disposed with the store; return cleanup from effects to release resources.\n- Do not shadow or re-declare `props` as a class field; `props` is read-only. Use the generic `Store<{ ... }>` for typing.\n\n```ts\nclass ItemStore extends Store<{ id: number; title?: string }> {\n\tget id() {\n\t\treturn this.props.id;\n\t}\n\tget title() {\n\t\treturn this.props.title ?? \"\";\n\t}\n}\n\nconst root = mount(createStore(ItemStore, { id: 1, title: \"Hello\" }));\n```\n\n### Updating props\n\nStores receive reactive `props` objects. Use `updateStore` to change them.\n\n```ts\nimport { updateStore } from \"r-state-tree\";\n\nupdateStore(app.todo, { title: \"Ship release\" });\n```\n\n### Store snapshots and mount-time hydration\n\nUse `@snapshot` to opt Store-owned session/view state into snapshots. Other Store\nfields remain reactive but are not serialized. Props, Context values, effects,\nand reactions are never included.\n\n```ts\nclass EditorStore extends Store {\n\t@snapshot draft = \"\";\n\t@snapshot scrollTop = 0;\n\thoveredLine: number | null = null; // reactive, not snapshotted\n}\n\nconst saved = {\n\tstate: { draft: \"Recovered\", scrollTop: 120 },\n\tchildren: {},\n};\n\nconst editor = mount(createStore(EditorStore), { snapshot: saved });\n```\n\nHydration happens before mounted effects and reactions activate when a snapshot\nis passed to `mount(..., { snapshot })` or applied via `applySnapshot` before\nmounting. `applySnapshot(store, snapshot)` also works on an already-mounted\nStore: state updates and child reconciliation go through the same reactive\nmachinery as any props-driven update, so live effects and reactions simply\nobserve the change.\n\n`toSnapshot(store)` and `onSnapshot(store, callback)` use this shape:\n\n```ts\ntype StoreSnapshot = {\n\tstate: Record<string, unknown>;\n\tchildren: Record<string, StoreChildSnapshot | StoreChildSnapshot[] | null>;\n};\n```\n\nReactive child snapshots are matched within their parent child property by\nstable `key`. Pending snapshots are retained while a child property remains lazy\nand are applied before matching children mount. Once the property is realized,\nunmatched snapshots are discarded. Use stable keys for snapshotted child arrays;\nunkeyed children are matched positionally.\n\n### Child stores\n\nUse `@child` for both single child stores and arrays.\n\n```ts\nimport { child } from \"r-state-tree\";\n\nclass ListStore extends Store {\n\titems = [\"Buy milk\", \"Walk dog\"];\n\n\t@child get todos() {\n\t\treturn this.items.map((title, i) =>\n\t\t\tcreateStore(TodoStore, { title, key: i })\n\t\t);\n\t}\n}\n```\n\n#### Child store keys and identity\n\n- Pass a stable `key` (e.g., an id) when creating child stores to preserve identity across reorders.\n- `@child` must decorate a getter; child stores are derived from current state on access, and identity is preserved by keys.\n\n```ts\nclass ItemsStore extends Store {\n\titems = [\n\t\t{ id: 1, title: \"A\" },\n\t\t{ id: 2, title: \"B\" },\n\t];\n\n\t@child get itemStores() {\n\t\treturn this.items.map((it) =>\n\t\t\tcreateStore(TodoStore, { key: it.id, title: it.title })\n\t\t);\n\t}\n}\n```\n\n### Store lifetime and owned effects\n\nStores implement `Disposable`, and their owned effects run only during the mounted lifetime:\n\n```ts\nclass TodoStore extends Store {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.effect(() => {\n\t\t\tconst connection = connect();\n\t\t\treturn () => connection.close();\n\t\t});\n\t}\n}\n\nconst store = mount(createStore(TodoStore));\nstore[Symbol.dispose]();\n\n{\n\tusing store = mount(createStore(TodoStore));\n} // Symbol.dispose is called automatically\n```\n\nEvery realized Store exposes a readonly `AbortSignal` for its terminal lifetime. It\nis active while the Store is alive and aborts when disposal begins, before child\ndisposal and effect cleanup. This is a standard `AbortSignal`, not a reactive\nsignal. Pass it to APIs that support cancellation:\n\n```ts\nclass LibraryStore extends Store {\n\tasync load() {\n\t\tconst response = await fetch(\"/api/library\", { signal: this.signal });\n\t\tconst data = await response.json();\n\t\tif (this.signal.aborted) return;\n\t\tthis.apply(data);\n\t}\n}\n```\n\nFor a promise that cannot be canceled, check the signal before applying its\nresult:\n\n```ts\nconst saved = await loadPersistedState();\nif (this.signal.aborted) return;\nthis.applySavedState(saved);\n```\n\nAn operation that also needs independent cancellation can combine both lifetimes\nwhere `AbortSignal.any()` is supported:\n\n```ts\nconst operation = new AbortController();\nconst signal = AbortSignal.any([this.signal, operation.signal]);\nconst response = await fetch(url, { signal });\n\noperation.abort(); // cancels only this operation\n```\n\nThe Store signal only represents disposal. Per-operation cancellation, run IDs,\nand take-latest behavior remain application concerns; the library does not manage\nloading state, errors, polling, or concurrency policy.\n\n### Reactions\n\nCreate side effects that run when reactive values change:\n\n```ts\nclass TodoStore extends Store {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.reaction(\n\t\t\t() => this.props.title,\n\t\t\t(title, previousTitle) => console.log(previousTitle, \"->\", title)\n\t\t);\n\t}\n}\n```\n\n`Store.effect()` and `Store.reaction()` register mount-scoped behavior. Mounting first links the complete store tree and commits its private mounted state bottom-up in one transaction. Registrations then activate bottom-up, so even a grandchild's initial effect sees a complete tree. A reaction establishes its initial value at activation and still skips its initial callback. Calling the disposer returned during construction cancels the pending registration; after mount, it disposes the live subscription. All registrations are disposed automatically with the store.\n\nRegistration activation is non-reentrant. If an active effect or reaction lazily materializes another child store, the new child's registrations are queued until the current callback and child getter stack have returned. This prevents initialization behavior from running inside the getter that created the store.\n\n### Context\n\nPass ambient behavioral dependencies through the Store tree without prop drilling:\n\n```ts\nimport { createContext } from \"r-state-tree\";\n\ntype VoiceServices = {\n\tspeak(text: string): void;\n};\n\nconst VoiceContext = createContext<VoiceServices | null>(null);\n\nclass RootStore extends Store {\n\tvoiceServices: VoiceServices | null = null;\n\n\t[VoiceContext.provide]() {\n\t\treturn this.voiceServices;\n\t}\n\n\t@child get editor() {\n\t\treturn createStore(EditorStore);\n\t}\n}\n\nclass EditorStore extends Store {\n\tget voiceServices() {\n\t\treturn VoiceContext.consume(this);\n\t}\n}\n```\n\nContext is reactive and updates automatically when the provided value changes.\nWhen there is no default, consumption includes `undefined` because a provider may\nnot exist:\n\n```ts\ntype User = { name: string };\n\nconst UserContext = createContext<User>();\nconst user = UserContext.consume(store); // User | undefined\n\nif (user) {\n\tconsole.log(user.name);\n}\n```\n\nUse a nullable default when `null` better represents the missing value:\n\n```ts\nconst UserContext = createContext<User | null>(null);\nconst user = UserContext.consume(store); // User | null\n\nif (user !== null) {\n\tconsole.log(user.name);\n}\n```\n\nContext is exclusively a Store-tree facility. Models express domain relationships\nthrough child Models, model references, state, ordinary fields, and explicit method\nparameters. Passing a Model through Store props keeps it available as an ordinary\ntyped value; it does not attach the Model to the Store tree or expose Store Context\nto that Model.\n\n### Actions and batching\n\n`batch` groups updates to avoid redundant reactions.\n\n```ts\nimport { batch } from \"r-state-tree\";\n\nbatch(() => {\n\tapp.todo.props.title = \"Refactor\";\n});\n```\n\n### Passing models to stores\n\nPass domain models to stores as ordinary typed props.\n\n```ts\nimport { Model, Store, createStore, mount } from \"r-state-tree\";\n\nclass User extends Model {\n\t@id id = 0;\n\tname = \"\";\n}\n\nclass ProfileStore extends Store<{ user: User }> {\n\tget name() {\n\t\treturn this.props.user.name;\n\t}\n}\n\nconst user = User.create({ id: 1, name: \"Ada\" });\nconst profile = mount(createStore(ProfileStore, { user }));\nprofile.name; // \"Ada\"\n```\n\nFallback (no decorators) using `static types`:\n\n```ts\nimport { Model, Store, createStore, mount, id } from \"r-state-tree\";\n\nclass User extends Model {\n\tid = 0;\n\tname = \"\";\n\tstatic types = { id };\n}\n\nclass ProfileStore extends Store<{ user: User }> {}\n\nconst user = User.create({ id: 1, name: \"Ada\" });\nconst profile = mount(createStore(ProfileStore, { user }));\nprofile.props.user.name;\n```\n\nType stores as `Store<Props>`; model values and model arrays use the same prop mechanism as every other dependency.\n\n## Modeling guide\n\n### Store ↔ Component mapping (quick guide)\n\n- Pair each container/screen component with one owning Store; components should read from a single Store.\n- The Store tree overlays the component tree: parents map to parent Stores; children map to `@child` Stores; lists map to arrays of child Stores with stable `key`s.\n- A Store can power multiple components (header/body/sidebar), but a component shouldn’t pull from multiple Stores. If it needs to, introduce a parent/adapter Store that composes and exposes exactly what the component needs.\n- Use Context for cross‑cutting concerns (theme, auth) instead of coupling components to multiple Stores.\n- Keep domain logic in Models; Stores orchestrate and delegate to Model methods, and expose derived getters for the UI.\n\n- Root store: mount a single root Store that composes the application via `@child` properties.\n- View stores: create one Store per view/route/tab. Views render from stores; stores drive view transitions.\n- Keyed children: pass `{ key }` when creating child stores to preserve identity across reorders.\n- Models in stores: pass domain Models as typed store props and read them through `this.props`.\n\n```ts\nimport { Store, Model, child, createStore, mount } from \"r-state-tree\";\n\nclass TabViewStore extends Store<{ title: string }> {}\n\nclass RootStore extends Store {\n\t@child get tabs() {\n\t\treturn [\"Home\", \"Profile\"].map((title, i) =>\n\t\t\tcreateStore(TabViewStore, { title, key: i })\n\t\t);\n\t}\n}\n\nconst root = mount(createStore(RootStore));\n```\n\n### Patterns: deriving Stores from Models\n\nDerive child stores directly from model arrays with stable keys; delegate mutations to model methods.\n\n```ts\nclass ItemModel extends Model {\n\t@id id = 0;\n\ttitle = \"\";\n}\n\nclass ListModel extends Model {\n\t@child(ItemModel) items: ItemModel[] = [];\n\n\tadd(id: number, title: string) {\n\t\tthis.items.push(ItemModel.create({ id, title }));\n\t}\n\tremove(id: number) {\n\t\tconst i = this.items.findIndex((m) => m.id === id);\n\t\tif (i >= 0) this.items.splice(i, 1);\n\t}\n\tget titles() {\n\t\treturn this.items.map((m) => m.title);\n\t}\n}\n\nclass ItemStore extends Store<{ item: ItemModel }> {\n\tget title() {\n\t\treturn this.props.item.title;\n\t}\n}\n\nclass ListStore extends Store<{ list: ListModel }> {\n\t@child get items() {\n\t\treturn this.props.list.items.map((item) =>\n\t\t\tcreateStore(ItemStore, { key: item.id, item })\n\t\t);\n\t}\n\n\taddItem(id: number, title: string) {\n\t\tthis.props.list.add(id, title); // delegate to domain\n\t}\n}\n```\n\n## Mutability rules\n\n- Models: ordinary fields are shallow-reactive snapshot fields by default, but values are not auto-wrapped. For raw arrays/objects, prefer **reassignment** (immutability) so snapshots stay up to date. If you want in-place mutation (`push`, `splice`, `set`, etc.) to trigger updates and snapshot invalidation, store an `observable()` container (or `signal()`) in the field.\n- Stores: store fields are shallow-reactive. Use `observable()` containers (or `signal()`) when you want in-place mutations of nested values/collections to trigger updates.\n\n### `Observable` base class\n\nFor class instances that need to be reactive, extending the `Observable` base class is the supported pattern. This ensures compatibility with ES `#private` fields and built-in brand checks because the observable is created in the base constructor, allowing derived field initializers (including `#private`) to run on the observable.\n\n```ts\nimport { Observable, effect } from \"r-state-tree\";\n\nclass Counter extends Observable {\n\tcount = 0; // Public fields are automatically reactive\n\t#internal = 0; // Private fields also work perfectly\n\n\tget total() {\n\t\treturn this.count + this.#internal;\n\t}\n\n\tincrement() {\n\t\tthis.count++;\n\t\tthis.#internal++;\n\t}\n}\n\nconst counter = new Counter();\n\n// Use an effect to track and react to property changes\neffect(() => {\n\tconsole.log(`Visible: ${counter.count}, Total: ${counter.total}`);\n});\n\ncounter.increment();\n```\n\n> [!IMPORTANT] > **Why `extends Observable`?**\n> ES `#private` fields are brand-checked. If you wrap a class instance with `observable()` _after_ it has been created (post-hoc wrapping), or if you return an observable from a standard constructor, the private state is installed on the original `this`, but methods run with the observable as `this`, causing `TypeError: Cannot read private member`.\n>\n> `extends Observable` solves this by returning the observable from `super()`, so derived classes initialize their private fields directly on the observable receiver.\n\n### Limitations of `observable(instance)`\n\nThe `observable()` function is selective about what it makes observable. It wraps **supported containers** only:\n\n- Plain objects\n- Arrays\n- Maps and Sets\n- Dates\n\n**Functions are not observable containers**. Calling `observable(fn)` returns the function unchanged with a dev-mode warning. However, functions stored as properties on observable objects are still automatically **batched as actions** when called—this existing behavior is preserved, just not via `observable(fn)` directly.\n\nIf you pass an arbitrary class instance, built-in (like `URL`, `RegExp`, `Promise`, or DOM objects), or frozen object to `observable()`, it will **return the object unchanged** and emit a warning in development mode.\n\nThis design prevents “silent failure” where an observable object appears to work but throws `TypeError` when accessing private members or internal slots. For your own classes, use `extends Observable`. For third-party or built-in objects, use composition:\n\n```ts\n// ❌ Post-hoc wrapping - returns raw URL, not an observable\nconst url = observable(new URL(\"...\"));\n\n// ✅ Composition - wrap a container instead\nconst state = observable({ url: new URL(\"...\") });\n```\n\nWrap values with `observable()` for reactivity. Collections (arrays, maps, sets) track mutations:\n\n```ts\nimport { observable, effect, isObservable } from \"r-state-tree\";\n\nclass DataStore {\n\t// Wrap state with observable() for reactivity\n\tstate = observable({ count: 0 });\n\n\t// Wrap array with observable() to track push/pop/splice etc.\n\titems = observable([]);\n}\n\nconst store = new DataStore();\n\neffect(() => {\n\tconsole.log(\"Items length:\", store.items.length);\n});\n\nstore.items.push({ value: 1 }); // Triggers effect\nconsole.log(isObservable(store.items[0])); // false - shallow by default\n```\n\n### Shallow behavior\n\nAll observables are **shallow by default**. Only the container's own properties are tracked—nested values are NOT wrapped:\n\n- Collections (Arrays, Maps, Sets) wrapped with `observable()` track mutations\n- Plain objects assigned to properties are NOT wrapped (helps preserve `structuredClone` compatibility for stored values)\n- Nested object properties do NOT trigger effects unless explicitly wrapped\n\n**Mental model: reactive property, explicit reactive value**\n\n- Reading/writing a property on an observable container (including Stores/Models) is reactive.\n- The _value_ you store is not auto-wrapped. If you store a plain object/array, mutating inside it won’t trigger reactions; wrap nested values with `observable()` (or use `signal()`), or use `toObservableTree` for a one-time deep wrap of an existing JSON-like structure.\n\n**What gets tracked in shallow mode:**\n\n| Expression              | Tracked?      | Why                                              |\n| ----------------------- | ------------- | ------------------------------------------------ |\n| `data.nested`           | ✅ Yes        | Property access on the observable container      |\n| `data.nested.value`     | ❌ No         | `data.nested` is a plain object, not observable  |\n| `data.nested = { ... }` | ✅ Triggers   | Reassigns a property on the observable container |\n| `data.nested.value = 2` | ❌ No trigger | Mutates a plain object; container unchanged      |\n\n```ts\nconst data = observable({ nested: { value: 1 } });\n\neffect(() => {\n\tdata.nested.value; // Reads `data.nested` (tracked), then reads `.value` (not tracked)\n});\n\ndata.nested.value = 2; // Does NOT trigger — mutating a plain object\ndata.nested = { value: 3 }; // DOES trigger — reassigning a property on the observable\n```\n\nTo make `nested` reactive, wrap it explicitly:\n\n```ts\nconst data = observable({ nested: observable({ value: 1 }) });\ndata.nested.value = 2; // Now triggers — `nested` is also observable\n```\n\n### Plain objects (implicit reactivity)\n\nPlain objects wrapped with `observable()` use implicit reactivity:\n\n```ts\nimport { observable, effect } from \"r-state-tree\";\n\nconst state = observable({ count: 0 });\n\neffect(() => {\n\tconsole.log(state.count); // All properties are reactive\n});\n\nstate.count++; // Triggers the effect\n```\n\n## Observables (low‑level)\n\nCreate reactive structures outside Stores/Models. Supported: Objects, Arrays, Map, Set, WeakMap, WeakSet.\n\n- Track reads with `effect`/`reaction`. Observables are **shallow**: reads are tracked on the observable container, but nested object mutations do **not** trigger unless you explicitly wrap nested values with `observable()` (or use signals).\n- Access backing values via `source(value)`; check if something is reactive with `isObservable(value)`.\n- Rule of thumb: `source(...)` returns the backing data, **not** a sanitizer—it's only observable-free if you didn't manually seed observables into the backing source.\n- Arrays: reading specific indices (`arr[i]`) or `length` tracks those; common mutators (`push/pop/shift/unshift/splice/reverse/sort/fill`) are reactive; non-index and symbol keys are not reactive.\n\n### `source()` and structuredClone\n\n`source(x)` returns the backing value behind an observable. It is **not** a “observable stripper”.\n\n**One-way rule (important):**\n\n- If you mutate through the observable wrapper (e.g. `obj.prop = observable(child)`), r-state-tree stores the **raw backing value** in `source(obj).prop` (unwrap-on-write).\n- If you manually mutate backing sources yourself (e.g. `source(obj).prop = observable(child)`), r-state-tree does **not** sanitize or rewrite your data. In that case, `source(...)` may contain observables.\n\nIf you need to pass values to APIs that require cloneable data (e.g. `structuredClone`, `postMessage`), avoid seeding observables into backing sources. Prefer reading via `source(...)` and keep your stored values plain/cloneable.\n\n```ts\nimport { observable, effect, computed, reaction } from \"r-state-tree\";\n\n// Object\nconst state = observable({ count: 0, nested: observable({ value: 1 }) });\n\neffect(() => {\n\t// tracks reads\n\tstate.count;\n\tstate.nested.value;\n});\n\nstate.count++;\nstate.nested.value++;\n\n// Computed\nconst doubled = computed(() => state.count * 2);\neffect(() => {\n\tdoubled.value;\n});\n\n// Array\nconst arr = observable([0, 1]);\neffect(() => arr[0]);\narr[0]++; // triggers; arr.push(2) does not, index 0 didn't change\n\n// Map\nconst map = observable(new Map([[\"k\", 1]]));\neffect(() => map.get(\"k\"));\nmap.set(\"k\", 2); // triggers\n\n// Set\nconst set = observable(new Set([1]));\neffect(() => set.has(2));\nset.add(2); // triggers\n\n// Reaction (runs only on changes, skips initial)\nlet last: number | undefined;\nreaction(\n\t() => state.count,\n\t(v) => {\n\t\tlast = v;\n\t}\n);\nstate.count++;\n```\n\n### Derived collections and identity preservation\n\nNative methods that return copies of a collection—such as `Array.prototype.slice`, `filter`, and `concat`, or `Set.prototype.union` and `intersection`—behave according to the **Explicit Architecture**:\n\n- **Raw Return**: The returned container is a plain JavaScript object (raw, non-observable).\n- **Identity Preservation**: Each element in the returned container maintains the same identity it had in the observable source. If an element was an observable (because it was explicitly owned), it remains an observable in the raw result.\n\nThis ensures that \"derived\" state is not automatically made reactive, while still allowing observers to maintain reference stability with existing objects in your state tree.\n\n```ts\nconst item = observable({ id: 1 });\nconst arr = observable([item, { id: 2 }]);\n\n// slice() returns a plain array\nconst sliced = arr.slice();\nisObservable(sliced); // false\n\n// Identity is preserved\nsliced[0] === item; // true (same observable identity)\n\n// If you want the result to be reactive, wrap it explicitly\nconst reactiveSlice = observable(arr.slice());\n```\n\n### Recursively wrapping nested values (`toObservableTree`)\n\nBy default, `observable()` is **shallow**: only the top-level container is wrapped, and nested objects/arrays are not. This is intentional for performance and `structuredClone` compatibility.\n\n`toObservableTree` performs a **one-time initial pass** that wraps all existing nested plain objects and arrays with `observable()`. After the initial wrap, the returned observables behave exactly like normal shallow observables — new assignments are **not** auto-wrapped.\n\n```ts\nimport { toObservableTree, effect, source, isObservable } from \"r-state-tree\";\n\n// Initial pass wraps all existing nested plain objects/arrays\nconst tree = toObservableTree({\n\tuser: { name: \"Alice\", tags: [\"admin\", \"active\"] },\n\tsettings: { theme: \"dark\" },\n});\n\neffect(() => {\n\t// Existing nested values are observable and tracked\n\tconsole.log(tree.user.name);\n\tconsole.log(tree.user.tags[0]);\n});\n\n// Mutations to initially-wrapped values trigger effects\ntree.user.name = \"Bob\"; // triggers\ntree.user.tags[0] = \"superadmin\"; // triggers\n\n// NEW assignments are NOT auto-wrapped (normal shallow behavior)\ntree.newProp = { foo: 1 };\nisObservable(tree.newProp); // false — not wrapped\n\n// Source is observable-free and clonable *as long as you don't manually seed observables*\n// into backing data structures. r-state-tree unwraps observables on writes performed\n// through observable containers, but it does not sanitize user-mutated backing sources.\nconst snapshot = structuredClone(source(tree));\n```\n\n**Key behavior:**\n\n- **One-time pass**: Only values present at call time are wrapped. New assignments afterward behave like normal `observable()` (shallow).\n- **Not MobX-style \"deep\"**: This does NOT change the observable's behavior. It's just a convenience for wrapping an existing structure upfront.\n\n**When to use:**\n\n- Hydrating API/JSON responses where you want all nested values observable from the start\n- Cases where manually wrapping each nested object would be tedious\n\n**Constraints:**\n\n- Input must be JSON-like and **acyclic** (no circular references)\n- Only plain objects and arrays are wrapped; other types (Map, Set, Date, class instances, RegExp, Error, etc.) are left as-is and not traversed\n\n## Models and snapshots\n\nModels capture persistent state with snapshot utilities.\n\n**Important:** ordinary Model fields are snapshot fields and are **shallow-reactive** at the property level (assignments track), but values are **not auto-wrapped**. If you need nested mutations to be reactive (and to invalidate snapshot caches on in-place mutation), store `observable()` containers or `signal()` values in the field. Mark runtime-only Model fields with `@transient`.\n\n```ts\nimport { Model, id, applySnapshot, onSnapshot, toSnapshot } from \"r-state-tree\";\n\nclass TodoModel extends Model {\n\t@id id = 0;\n\ttitle = \"\";\n\tcompleted = false;\n}\n\nconst todo = TodoModel.create({ id: 1, title: \"Learn signals\" });\n\nconst stop = onSnapshot(todo, (snapshot) => {\n\tconsole.log(snapshot); // { id: 1, title: \"Learn signals\", completed: false }\n});\n\ntodo.title = \"Learn r-state-tree\";\nstop();\n```\n\n### Snapshot data contract\n\nSnapshots are plain JavaScript representations. r-state-tree creates and loads\nthe representation; the application owns transport encoding, schema validation,\nnormalization, and migrations. A snapshot can be passed through Zod and encoded\nas JSON, Protobuf, or another format.\n\n- **Primitives**: strings, numbers (including `NaN` and infinities), booleans,\n  `null`, and `undefined` pass through.\n- **Arrays**: recursively cloned.\n- **Plain objects**: recursively cloned (prototype must be `Object.prototype` or `null`).\n- **Dates**: serialize to ISO strings (e.g., `\"2024-01-15T10:30:00.000Z\"`).\n- **Signals**: serialize to their current `.value` (recursively cloned).\n- **Map/Set/WeakMap/WeakSet and other non-plain objects are rejected** with a descriptive error. Convert persistent values to plain structures or mark runtime-only fields with `@transient`.\n\n`JSON.stringify()` does not preserve every supported snapshot value: it omits\nobject properties containing `undefined` and converts `NaN` and infinities to\n`null`. Applications using JSON should validate or normalize the snapshot before\nstringifying it.\n\n```ts\nclass Event extends Model {\n\ttitle = \"Meeting\";\n\tcreatedAt = new Date(); // Date → ISO string in snapshot\n}\n\nconst event = Event.create();\ntoSnapshot(event);\n// { title: \"Meeting\", createdAt: \"2024-01-15T10:30:00.000Z\" }\n```\n\nWhen the current runtime value is a `Date`, snapshot hydration converts its ISO\nstring back into a `Date`. The default runtime shape therefore acts as the\nhydration shape for Dates, Signals, arrays, and plain objects.\n\nIf an implicit Model snapshot field contains a `Map` or class instance, Model creation fails immediately:\n\n```ts\nclass M extends Model {\n\tcache = new Map();\n}\nM.create(); // ❌ Throws; use @transient for a runtime-only cache\n// Error: r-state-tree: snapshots do not support Map at path \"cache\". ...\n```\n\nConvert to a plain structure instead:\n\n```ts\nclass M extends Model {\n\tcache: Record<string, unknown> = {}; // ✅ Plain object\n}\n```\n\n### Snapshot invalidation rules\n\nSnapshots are **memoized computeds**. Once a snapshot is observed (via `onSnapshot`, `onSnapshotDiff`, or `toSnapshot`), subsequent calls return the cached value unless a reactive dependency changes.\n\nDuring normal application updates, the snapshot cache is invalidated by:\n\n1. **Reassigning** the Model snapshot field itself.\n2. **Mutating observable containers** (`observable()`) or **signals** (`signal()`) stored in the field.\n\n**Rule for application code:** Treat raw Model snapshot values (plain objects/arrays)\nas immutable. If you mutate them in place without reassignment, the snapshot\ncache goes stale—`onSnapshot` won't fire and `toSnapshot` returns the old cached\nvalue.\n\n```ts\nclass M extends Model {\n\ttags: string[] = [];\n\n\t// ❌ In-place mutation — snapshot cache goes stale\n\taddTagBroken(tag: string) {\n\t\tthis.tags.push(tag);\n\t}\n\n\t// ✅ Reassign — invalidates cache, onSnapshot fires\n\taddTagReassign(tag: string) {\n\t\tthis.tags = [...this.tags, tag];\n\t}\n}\n```\n\nIf you need in-place mutations **and** snapshot updates, wrap the value in `observable()` or use `signal()`:\n\n```ts\nclass M extends Model {\n\t// ✅ observable() container — in-place mutations invalidate cache\n\titems: { id: number }[] = observable([]);\n\n\taddItem(id: number) {\n\t\tthis.items.push({ id }); // onSnapshot fires\n\t}\n}\n\nclass Counter extends Model {\n\t// ✅ signal() — .value updates invalidate cache\n\tcount = signal(0);\n\n\tincrement() {\n\t\tthis.count.value++; // onSnapshot fires\n\t}\n}\n```\n\n### Snapshots and persistence\n\n- Model snapshots capture ordinary Model fields and durable domain trees. Store\n  snapshots capture explicit `@snapshot` session/view fields and keyed reactive children.\n- Hydrate/persist with `applySnapshot` and `onSnapshot`:\n\n```ts\nconst STORAGE_KEY = \"list\";\n\n// hydrate\nconst list = ListModel.create();\nconst saved = localStorage.getItem(STORAGE_KEY);\nif (saved) applySnapshot(list, JSON.parse(saved));\n\n// persist\nconst off = onSnapshot(list, (snap) => {\n\tlocalStorage.setItem(STORAGE_KEY, JSON.stringify(snap));\n});\n```\n\nMutate Models through domain methods and let snapshots record changes automatically.\n\n### Model creation and named factories\n\n`Model.create()` accepts a canonical snapshot. For defaults, identifier generation, normalization, migrations, or external API formats, use a named static factory that prepares the input before calling `create()`:\n\n```ts\nclass TodoModel extends Model {\n\t@id id = \"\";\n\ttitle = \"\";\n\n\tstatic new(title = \"Untitled\") {\n\t\treturn this.create({\n\t\t\tid: crypto.randomUUID(),\n\t\t\ttitle: title.trim(),\n\t\t});\n\t}\n\n\tstatic fromApi(input: ApiTodo) {\n\t\treturn this.create({\n\t\t\tid: input.todo_id,\n\t\t\ttitle: input.name.trim(),\n\t\t});\n\t}\n}\n\nconst todo = TodoModel.new(\"  Write documentation  \");\ntodo.title; // \"Write documentation\"\n```\n\nThis keeps snapshot hydration predictable: `create(snapshot)` and `applySnapshot(model, snapshot)` both consume the same canonical shape. Named factories make non-canonical inputs and generated values explicit and independently typed. Nested snapshots must already be canonical.\n\n### Model attachment and disposal\n\nModels are inert state trees: creating or attaching one does not start reactions or effects. The public `parent` relationship remains reactive, so an external owner may observe it explicitly when needed:\n\n```ts\nconst stop = reaction(\n\t() => todo.parent,\n\t(parent, previousParent) => {\n\t\tif (previousParent) console.log(\"detached\", previousParent);\n\t\tif (parent) console.log(\"attached\", parent);\n\t}\n);\n```\n\nThe external caller owns `stop`. Detachment is reversible. `model[Symbol.dispose]()` is terminal and recursively disposes owned child models, but never model refs.\n\n### Model configuration\n\nRecommended: configure model properties with decorators.\n\nFallback: if you can't or don't want to use decorators, use `static types`.\n\n```ts\nimport { Model, id, child, modelRef } from \"r-state-tree\";\n\nclass User extends Model {\n\t@id id = 0;\n\tname = \"\";\n}\n\nclass TodoModel extends Model {\n\t@id id = 0;\n\ttitle = \"\";\n\t@modelRef(User) assignee?: User; // Reference to another model by ID\n\t@child metadata = MetadataModel.create(); // Nested child model\n\t@child tags: TagModel[] = []; // Array of child models\n}\n```\n\nFallback (no decorators) using `static types`:\n\n```ts\nimport { Model, id, child, modelRef } from \"r-state-tree\";\n\nclass User extends Model {\n\tid = 0;\n\tname = \"\";\n\tstatic types = { id };\n}\n\nclass TodoModel extends Model {\n\tid = 0;\n\ttitle = \"\";\n\tassignee?: User;\n\tmetadata = MetadataModel.create();\n\ttags: TagModel[] = [];\n\n\tstatic types = {\n\t\tid,\n\t\tassignee: modelRef(User),\n\t\tmetadata: child(MetadataModel),\n\t\ttags: child(TagModel),\n\t};\n}\n```\n\nThe `child` and `modelRef` helpers support both single values and arrays. You can also specify the child type using `@child(ChildType)` (decorators) or `child(ChildType)` (`static types`):\n\n```ts\nclass TodoModel extends Model {\n\t@child(TagModel) tags: TagModel[] = []; // Type-safe array of child models\n\t@child(TagModel) primaryTag: TagModel | null = null; // Can switch between single and array at runtime\n}\n```\n\n### Model references\n\nReference models by ID using `@modelRef(ModelType)` (or `modelRef(ModelType)` in `static types`). The model constructor is required because identifiers are namespaced by model type:\n\n```ts\nclass ProjectModel extends Model {\n\t@id id = 0;\n\t@child users: User[] = [];\n\t@modelRef(User) owner?: User; // Single reference\n\t@modelRef(User) assignees: User[] = []; // Array of references\n\n\tassignOwner(userId: number) {\n\t\t// Find user by ID and set as owner\n\t\tconst user = this.users.find((u) => u.id === userId);\n\t\tthis.owner = user;\n\t}\n}\n\nconst project = ProjectModel.create({\n\tid: 1,\n\tusers: [\n\t\t{ id: 1, name: \"Alice\" },\n\t\t{ id: 2, name: \"Bob\" },\n\t],\n\towner: { id: 1 }, // Reference by ID in snapshot\n});\n\nproject.owner?.name; // \"Alice\"\n```\n\nBoth `@child` and `@modelRef` support runtime type switching between single values and arrays:\n\n```ts\nclass ItemModel extends Model {\n\t@id id = 0;\n\tvalue = 0;\n}\n\nclass ContainerModel extends Model {\n\t@child(ItemModel) items: ItemModel | ItemModel[]; // Can be single or array\n\n\tsetSingle() {\n\t\tthis.items = ItemModel.create({ id: 1, value: 10 });\n\t}\n\n\tsetArray() {\n\t\tthis.items = [\n\t\t\tItemModel.create({ id: 2, value: 20 }),\n\t\t\tItemModel.create({ id: 3, value: 30 }),\n\t\t];\n\t}\n}\n```\n\n## API surface\n\n- Stores\n  - `Store`, `createStore`, `mount`, `updateStore`\n- Models\n  - `Model`, `Model.create()`\n  - Model configuration: ordinary fields are snapshotted; use `@transient`, `@id`, `@child`, and `@modelRef` (or their `static types` equivalents)\n- Store configuration\n  - decorator `@child` or `static types` with `child`\n- Snapshots\n  - `onSnapshot`, `toSnapshot`, `applySnapshot`, `onSnapshotDiff`\n  - Types: `Snapshot`, `SnapshotDiff`, `IdType`, `Configuration`\n- Context\n  - `createContext`, type `Context`\n- Reactivity and observables\n  - `observable`, `computed`, `effect`, `reaction`, `batch`, `untracked`\n  - Utilities: `isObservable`, `source`, `reportObserved`, `reportChanged`\n- Advanced\n  - `toObservableTree` — recursively wrap nested values in a JSON-like structure\n- Signals interop\n  - `signal`, `getSignal`, types `Signal`, `ReadonlySignal`\n\n## UI integration and signals interop\n\nr-state-tree is built on `@preact/signals-core`. You can interoperate with signals directly:\n\n- Per-property signals via `getSignal(obj, key)`.\n- Re-exported utilities: `signal`, `computed`, `effect`, `batch`, `untracked`, and types `Signal`, `ReadonlySignal`.\n\n```ts\nimport { observable, effect, getSignal } from \"r-state-tree\";\n\nconst state = observable({ count: 0 });\n\nconst countSignal = getSignal(state, \"count\");\n\neffect(() => {\n\tconsole.log(\"count:\", countSignal.value);\n});\n\n// Update via signal or through the object\ncountSignal.value = 1;\nstate.count = 2;\n```\n\n#### React / Preact usage\n\n- Preact: use `@preact/signals`. Reading `signal.value` inside JSX is reactive; components re-render automatically.\n- React: use `@preact/signals-react`. Call `useSignals()` in a component and read `signal.value` in render; updates re-render the component.\n\n```ts\n// Preact\nfunction TodoView({ store }: { store: TodoStore }) {\n\tconst titleSignal = getSignal(store, \"title\");\n\treturn <h1>{titleSignal.value}</h1>;\n}\n\n// React\nimport { useSignals } from \"@preact/signals-react/runtime\";\nfunction TodoView({ store }: { store: TodoStore }) {\n\tuseSignals();\n\tconst titleSignal = getSignal(store, \"title\");\n\treturn <h1>{titleSignal.value}</h1>;\n}\n```\n\nUse the observers/renderers provided by the signals bindings for your UI library; r-state-tree will participate automatically because Stores/Models are signal-backed.\n\n### Identifier and reference rules\n\n- `@id` values are unique per exact runtime Model class within a tree. Different Model classes may use the same id; subclasses have their own identifier namespace. IDs cannot be cleared to `undefined` after assignment.\n- Identifiers are mutable and can be reassigned (including in snapshots) as long as the new id is unused by that exact Model class. A failed reassignment preserves the old id and its references.\n- Use `@modelRef(ModelType)` or `modelRef(ModelType)` when ids can overlap across Model classes; references resolve only within the declared Model class.\n- `@modelRef(ModelType)` requires an explicit model constructor. The referenced model must have an id and be attached to the tree; the ref becomes `undefined` when the model detaches.\n- When a model is re-attached to the same tree, compatible refs restore automatically; attaching to a different root does not restore prior refs.\n- `@modelRef` and `@child` can switch between single and array at runtime; reactions observe the property itself rather than internal array mutations.\n\nUse `findModelById` for an optional, typed lookup within a model tree:\n\n```ts\nconst user = findModelById(root, User, 1); // User | undefined\n```\n\nThe lookup is reactive inside an effect or computed value. It returns `undefined` when the matching model changes its id, detaches, or is disposed.\n\n### Snapshot diffs\n\nUse `onSnapshotDiff` to receive undo/redo payloads:\n\n```ts\nconst history: SnapshotDiff[] = [];\n\nconst off = onSnapshotDiff(todo, (diff) => {\n\thistory.push(diff);\n});\n\ntodo.title = \"New title\";\ntodo.completed = true;\n\n// Undo\napplySnapshot(todo, history[history.length - 1].undo);\n\n// Redo\napplySnapshot(todo, history[history.length - 1].redo);\n```\n\n## Do/Don’t guide\n\nDo:\n\n- Keep domain operations in Models\n- Delegate from Stores to Models for domain changes\n- Use `@child` for child stores (getter-based)\n- Use stable `key` values for child stores\n- Mutate **`@child` model collections** and **`observable()` containers** in place (push/splice/set/add/etc.)\n- Treat **raw Model snapshot arrays/objects** as immutable: use reassignment so snapshots stay up to date (or store an `observable()` container / `signal()` in the field)\n\nDon’t:\n\n- Shadow or re-declare `props` on stores\n- Instantiate Stores with `new`\n- Perform effectful work in constructors\n- Manually “sync” store state into Models (call model methods instead)\n\n## Compact code samples\n\nStore without a constructor:\n\n```ts\nclass ViewStore extends Store<{ q?: string }> {\n\tget q() {\n\t\treturn this.props.q ?? \"\";\n\t}\n}\n```\n\nStore with a model prop:\n\n```ts\nclass ItemStore extends Store<{ item: ItemModel }> {}\nconst item = ItemModel.create({ id: 1, title: \"X\" });\nconst s = mount(createStore(ItemStore, { item }));\n```\n\n`@child` mapping from a model array (stable keys):\n\n```ts\nclass ListStore extends Store<{ list: ListModel }> {\n\t@child get items() {\n\t\treturn this.props.list.items.map((item) =>\n\t\t\tcreateStore(ItemStore, { key: item.id, item })\n\t\t);\n\t}\n}\n```\n\nModel with in-place mutations and a derived getter:\n\n```ts\nclass ListModel extends Model {\n\t@child(ItemModel) items: ItemModel[] = [];\n\tadd(m: ItemModel) {\n\t\tthis.items.push(m);\n\t}\n\tget count() {\n\t\treturn this.items.length;\n\t}\n}\n```\n\nStore lifecycle registration:\n\n```ts\nclass S extends Store {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.effect(() => {\n\t\t\tconst resource = acquireResource();\n\t\t\treturn () => resource.dispose();\n\t\t});\n\t}\n}\n```\n\nSnapshot hydrate/persist:\n\n```ts\nconst m = ListModel.create();\nconst saved = localStorage.getItem(\"m\");\nif (saved) applySnapshot(m, JSON.parse(saved));\nconst off = onSnapshot(m, (snap) =>\n\tlocalStorage.setItem(\"m\", JSON.stringify(snap))\n);\n```\n\n## Common pitfalls\n\n- Forgetting stable keys for `@child` arrays causes identity churn.\n- Assuming **deep** reactivity: nested plain objects/arrays are not reactive unless you explicitly wrap them (or use `toObservableTree` for initial hydration).\n- Mutating raw Model snapshot arrays/objects in place (`push`, `obj.x = 1`) and expecting snapshots to update. Snapshots are memoized; use reassignment or store `observable()` containers / `signal()` values in the field.\n- Passing observables to third‑party APIs that expect cloneable/serializable values (e.g. `structuredClone`). Use `source(value)` to get the backing value. It will be observable-free for values written via r-state-tree’s observable APIs (unwrap-on-write), but `source(...)` is **not** guaranteed observable-free if you manually seed observables into backing sources.\n- Creating child stores in constructors: `@child` must be on getters so identity and lifecycle can be managed by the framework.\n- Passing props back into child stores during mount can create a recursive mount loop. Break the ownership cycle rather than wiring parent dependencies back through a child during mount.\n\n### Circular store creation\n\nWhen child stores are created during mount with props that point back into the parent, it is easy to trigger an endless mount loop. The runtime guards this with a descriptive circular-creation error. Break the cycle so dependencies are produced independently of the child mount.\n\n## LLM implementation checklist\n\n- Do not thread context data via props. Provide contexts at the parent and consume them in children. Passing `getX` callbacks for resource/page/video/skill is a red flag—consume contexts instead.\n- Avoid aggregating contexts into a single `ctx` object; consume where needed or expose small, focused getters.\n- Only create stores in three places: root, `@child` getters, or immediately before mounting. Avoid standalone factory helpers; inline `createStore` in `@child` getters.\n- Do not wrap `createStore` calls with `as Record<string, unknown>`; fix typing instead.\n- Domain/persistent state belongs in Models; UI/app orchestration in Stores. Keep UI terms out of domain models—name domain concepts (e.g., `ChatThreadsModel`).\n- If state is persistent/rehydratable, model it and derive stores from the model; keep purely view/ephemeral state in stores.\n- Use r-state-tree snapshots (`toSnapshot`/`applySnapshot`) instead of hand-rolled `serialize`/`rehydrate` unless a different shape is required.\n- Keep `onPersist` only when syncing store state into a backing model; otherwise prefer snapshot listeners.\n- Pure, stateless helpers belong in utility modules, not as store methods. If a method does not touch `this`, extract it; keep coupled helpers in the store.\n- Provide stable, rarely changing resource/view/video/page data via context (resourceId, resourceType, totalPages, current page/display mode, page offsets, document title, skill/detail, video info). Children should consume context directly.\n- Use `@child` getters to create child stores with stable keys; avoid constructor creation. Pass only what the child needs; avoid prop drilling context.\n- Eliminate blanket casts; fix types and let inference work. Avoid `any`.\n- For `createStore` props, extend `Record<string, unknown>` only if needed; otherwise rely on proper prop types and context.\n- Avoid barrel files if they cause import confusion; prefer direct imports.\n- Keep file boundaries clean: one model per file; avoid piling multiple models together.\n- Do not shadow `props`; constructors are the registration phase for owned reactions and effects.\n- Pass models as typed props; use `@child`/`child` for child stores and stable keys for arrays.\n\n## Typing recipes\n\n- Type stores as `Store<Props>`; read `this.props` inside methods/getters.\n- Include model dependencies in the store's prop type and read them through `this.props`.\n- When a store has no props, use `class X extends Store {}`.\n\n## Cheat sheet\n\n- Configuration (no decorators): `static types = { ... }` with `transient`, `snapshot`, `id`, `child`, `modelRef`, `computed`\n- Decorators (Models): `@transient`, `@id`, `@child`, `@modelRef`\n- Decorators (Stores): `@snapshot`, `@child`\n- Core: `createStore`, `mount`, `Symbol.dispose`, `updateStore`\n- Snapshots: `onSnapshot`, `toSnapshot`, `applySnapshot`, `onSnapshotDiff`\n- Lifecycle: Store-owned `reaction`/`effect`, reactive `Model.parent`, and `Symbol.dispose`\n- Best practices: domain in Models; delegate from Stores; stable keys for `@child`; return cleanup from store effects; don’t shadow `props`.\n\n## Testing\n\nThe repository ships with Vitest suites covering stores, models, containers, and observable primitives.\n\n```bash\npnpm test\n```\n\n## Build & publishing\n\n```bash\npnpm build\n```\n\nThe build emits CommonJS, ESM bundles, and type declarations under `dist/`.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}