{"_id":"@alshdavid/reactive","_rev":"17-1bb6d4efe44a40a083abe993d6a333f8","name":"@alshdavid/reactive","dist-tags":{"latest":"1.2.8"},"versions":{"1.0.0":{"name":"@alshdavid/reactive","version":"1.0.0","description":"Generic object mutation observation","main":"index.js","types":"index.d.ts","author":{"name":"David Alsh"},"license":"MIT","scripts":{"build":"yarn clean && yarn compile && yarn optimize","clean":"rm -r -f *.js *.d.ts","compile":"npx tsc","optimize":"npx terser --compress  --module --mangle --output create.js create.js","size":"du --apparent-size -a -b *.js"},"keywords":["object.observe"],"devDependencies":{"@types/react":"^16.9.49","preact":"^10.4.8","react":"^16.13.1","terser":"^5.3.2","typescript":"^4.0.3"},"gitHead":"41b55d3a1259a774d0a1ef4187f9c3c8ab990983","_id":"@alshdavid/reactive@1.0.0","_nodeVersion":"14.9.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-PTQxtuwFoUmc1UCktbAjxKtUQplUtqbsrAWT8RlGx+8KG7KEz2G4DG9DTDTX6llLX4x4NhuHg4aKnI8I3NMjuQ==","shasum":"85c0d7bcebadceecd4210b66cf2854134765beaa","tarball":"https://registry.npmjs.org/@alshdavid/reactive/-/reactive-1.0.0.tgz","fileCount":9,"unpackedSize":3511,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfaEeYCRA9TVsSAnZWagAA2K4P+wYwdy7UFQ1pU58pMkwa\n8hpFfVnuCINq7ftGJWy5JW/6gPVezRseT4nhyDOznBZ9+4OnwQcjsV9TS60e\ndz5ZSSs+p8D8iRUNv7hbzp1J+1tPrM3BfknmZGDc6DwViwtZ2ZxjmC65cnt1\naHUugpqrpDfiVIOTYhmuCRYus6J5fFwSs96IcUmNx3JPRGMKKhOwQZTzkZDY\nr9p4n9IbkjrdOd91ZxJGbGQkJL3mCjfTqiU4kha1n47y66oMg/mTUQUZTjWR\nMDJjuzKlPoRwM8LdvWK1jcA3HXvWX2P7DIndSZ5Wmmsw0CjdEqueU3fkuB/+\nAT56FfOjRapK7p8gZIgaRfkMnvZt1En+4rO5eU3Fg5zG5rKi2w6Tn9im2xEg\nK6spgcYrjgMTp8MnNqZFy0dX2MZRfMLle0h6P9M6KDyyGNwPuDkVUSxxmrqM\nLjFtpVa0R9K6UsA3NUS2Pix2JTM7yzOsSCY0EkUgmXDFEMoAC/64/QnK+XkY\nxsi6ZsbL9CqHYJ8NEgv0IEnzKZRCJzSrfgMzYMJQ29YRUhItR7oQtu03EzDQ\n1xX9CNbQdqs8y1HT6BRvcxQRmHzneV3iDip9rfvCDrSiysPGOoqzS/P5N1oJ\nZBB8UGiQ2DTreuNcK1nW2gZ5+kUjg+ikniUKJoeNn9FIwSM5D08fSIu1Qtt4\ndurm\r\n=Pg+e\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEPRds8Wr8UGNYOSqQcVpTOKP+UQyHyqbozdxjSsXydoAiAIFf+iAV7oGDtXt0EoObssdHp4VBtOd9g7oLMHnBuWMw=="}]},"maintainers":[{"name":"alshdavid","email":"alshdavid@gmail.com"}],"_npmUser":{"name":"alshdavid","email":"alshdavid@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive_1.0.0_1600669592455_0.2094047137677122"},"_hasShrinkwrap":false},"1.0.1":{"name":"@alshdavid/reactive","version":"1.0.1","description":"Generic object mutation observation","main":"index.js","types":"index.d.ts","author":{"name":"David Alsh"},"license":"MIT","scripts":{"build":"yarn clean && yarn compile && yarn optimize","clean":"rm -r -f *.js *.d.ts","compile":"npx tsc","optimize":"npx terser --compress  --module --mangle --output create.js create.js","size":"du --apparent-size -a -b *.js"},"keywords":["object.observe"],"devDependencies":{"@types/react":"^16.9.49","preact":"^10.4.8","react":"^16.13.1","terser":"^5.3.2","typescript":"^4.0.3"},"gitHead":"41b55d3a1259a774d0a1ef4187f9c3c8ab990983","_id":"@alshdavid/reactive@1.0.1","_nodeVersion":"14.9.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-mmlTkAM6SwKh3Y6KvpfjfytYMvJuh2EbOCE6sOWuZX7f+wUZtlIASWyFOsfwLAecZFM/Zss0VZ41VxOmOQy3ZA==","shasum":"070c8eaf32795c3a877f617e77868483a1fb8e47","tarball":"https://registry.npmjs.org/@alshdavid/reactive/-/reactive-1.0.1.tgz","fileCount":9,"unpackedSize":3627,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfaEjgCRA9TVsSAnZWagAA1yQP/2rpkrIfI5b1J0dwiVHs\nHlPRL2EHDHIz9k9iTY5dKZctHHEhI/0HlCnPuh0c9MHDFS4+++CFdnGn+lky\nuFjTJAdLCrbJz+CeIkWCZYEhrKqiUvodlNKd5M5fXaDPpotvTgnBWLm04YVN\nIG7W3F7cN4gQHcSMcqKgzcVLVbtVZ0pzMzIhCXtoviWkE3YnMitl3R3GcLYu\ngZJ0jA1xrQnYF1vNY4Y9nUZywn98v359lH34fDmNOoSLFPNEYYUVdQAwzgHc\ncqWnGjGE8XwFvXuC6M+Kz3jo3abqwkyFkMWYiWkUPLGWzCF1tSJITKXehMxY\nVxd1r0H+CLQ5JbWVNibkQo57KnSg40OcelWWFA/j+YjemUZm6JbxGVlo1w3y\nawY2ra1En8UcOwnBIft3YUzPZOa6EeYkJCM3jOlUaQrFV5xghDaioLeWOp8T\nucQl3f37IY+9SQFgl/JezzfS/r5JswQklzJCRpHG2PAyYY2gpaFwwjHvENlD\nul+/RtWX6+jJHWggA5sFlkaADy0Q7aVomm6J+PZNHlPT8Hkg0qJvxo2S4y/n\nmVrQLt2wg0dBlKxx2ogumMVDU/ZNQMGXkDPdV3lunhC2g1jzjMulFcMUAyfg\nVjtG9jk7gUIYN5U4oaOrBzl1Uoh0aLLu1WVBpQNRpf1eT8GBd4e1fnloGxt2\npef2\r\n=rRHp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCVAlXXP8Gf3ggxZ60d00KncBudo1yaFdIM3Qwtg93JCwIhAJAr8vLIVTmnKnM0tW/CizCwXEDD1JVMqrcQ8psQ19E+"}]},"maintainers":[{"name":"alshdavid","email":"alshdavid@gmail.com"}],"_npmUser":{"name":"alshdavid","email":"alshdavid@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive_1.0.1_1600669919755_0.5872977236062351"},"_hasShrinkwrap":false},"1.0.2":{"name":"@alshdavid/reactive","version":"1.0.2","description":"Generic object mutation observation","main":"index.js","types":"index.d.ts","author":{"name":"David Alsh"},"license":"MIT","scripts":{"build":"yarn clean && yarn compile && yarn optimize","clean":"rm -r -f *.js *.d.ts *.gz *.br","compile":"npx tsc","optimize":"npx terser --compress  --module --mangle --output create.js create.js","size":"du --apparent-size -a -b"},"keywords":["object.observe"],"devDependencies":{"@types/react":"^16.9.49","preact":"^10.4.8","react":"^16.13.1","terser":"^5.3.2","typescript":"^4.0.3"},"gitHead":"41b55d3a1259a774d0a1ef4187f9c3c8ab990983","_id":"@alshdavid/reactive@1.0.2","_nodeVersion":"14.9.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Dmo6/coOHgoKbEPjfW7up8q9N9gBRsW5CvKcNeu+VTdsX8br7FJCplqOsiaZ9ZYUdPuZhwb/cFwZk0QO3ZrkQw==","shasum":"267efc2ae3a1f35e2511cb419fad603bcdb25ea4","tarball":"https://registry.npmjs.org/@alshdavid/reactive/-/reactive-1.0.2.tgz","fileCount":9,"unpackedSize":3639,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfaFB/CRA9TVsSAnZWagAA42QP/AgKSN1zqojAGPMsSDTl\nhjZKwvtFY5z22CMandn6Nz7qEsrRIiaqvbH/Tmm0ltVkg4N7jMeQzTvCQz5n\nOamUfAAbgBug818PIzi2N/nib8E/l2MEMgByXSrao6IRHGItYNPgW6bEalDd\ngpyUX5MjPmLQVFqk7abHjS2dGo3YmYAYWTfYFtsSjNnAMrRS5PBqn7Z6YaX4\nv2k3QEMIRIyEPq2uXjwJWIObXTlLJiYlZzX6kOYLYkAOB0KHGCf7ZxOWtMzF\nuzs4vR4lMb06xPVZHr8svbTG4OrDxEwdLm4oPBeclTIvl7ZE114Qqpv2Xtyr\nbJPSWM9uBBZt443nUIHzyDuYB3iS8LI3eZOG/QUqvWiRJqSBTflYLsEdBBsY\nhV/Sufh3/JCCEQLot62+0ULwnOjP22t0qiLtOAqC6iSGoOcyJGTwd0lxSdW3\nPxr1mAaFitcDFHRo2mj9YGLhVsBJQwekPcsghKirozibArPl1vabhnJV0YwQ\n7GjkiKwSZd7JoTtkssXsmDloAhKdPg18subaX/4PThdmrtWnWaxRm8pHFnJE\nk19dBcGuYQBFsiFvGc06rB93CNfrFY9diOiylk3H0aIaN1ln75BqNuhenrjc\nPTsTXzwqCzO41QPC+BtYhr00dVNoGRakhCCD5cdEllRBKIIZOJlwAex2nAzJ\nhh/O\r\n=ebQE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC+Q/+chbpVCDQvSVT8hYFrjYKcJ7OkwhEyehX4TzQ4qgIhAPJlcJ/AWRgTP5vcJ7cav7cq+JJ95PC6mmVPRf4Jr8nQ"}]},"maintainers":[{"name":"alshdavid","email":"alshdavid@gmail.com"}],"_npmUser":{"name":"alshdavid","email":"alshdavid@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive_1.0.2_1600671870636_0.9360316897456145"},"_hasShrinkwrap":false},"1.0.3":{"name":"@alshdavid/reactive","version":"1.0.3","description":"Generic object mutation observation","main":"index.js","types":"index.d.ts","author":{"name":"David Alsh"},"license":"MIT","scripts":{"build":"yarn clean && yarn compile && yarn optimize","clean":"rm -r -f *.js *.d.ts *.gz *.br","compile":"npx tsc","optimize":"npx terser --compress  --module --mangle --output create.js create.js","size":"du --apparent-size -a -b"},"keywords":["object.observe"],"devDependencies":{"@types/react":"^16.9.49","preact":"^10.4.8","react":"^16.13.1","terser":"^5.3.2","typescript":"^4.0.3"},"gitHead":"41b55d3a1259a774d0a1ef4187f9c3c8ab990983","_id":"@alshdavid/reactive@1.0.3","_nodeVersion":"14.9.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-n4VO+8OO2G2Ms/ssg7QRba+YE1qafJ50E7fr7ManmT1kAlHSApN4GcPK6tvuk3cAu0fK8HHQWP4wqwpGz6KfPA==","shasum":"abcca627e77c9ca5ec7ab0ac647b3876cd22b985","tarball":"https://registry.npmjs.org/@alshdavid/reactive/-/reactive-1.0.3.tgz","fileCount":12,"unpackedSize":11921,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfaGhhCRA9TVsSAnZWagAARykP/0YvAO69+JdctigsV/ly\nlBME7OxDcJ4LOAwcjmSp0KjUURn7eEQneIWMjdOaTDmaUJFbnJ3R/PozdDMF\nXemmh9bwplWo6HeXIiPJuYqVsXtKdyKedvC4ynws4mnQ9JYOeUIges7XEGjy\ndQ7nbmh/gjv2VCTm1TsXNeZbdF8iaumKLbUjs819RA+F+1huB7IEH2mvEYKH\n1Z2cLYHs4cAyMoZZgK6kgW+DwF83K1TxTHDwhA/e0vEyqFuiSGvclK2QL8o/\nCt12VTk4pYog/AIAx+Lhs1ZxmJHebcmD+EjCnnDJGErs2FkbHBSnY2BHOpHH\nBecy0BKPbePnhgPKO++b8eiBwQA3ICUdyPWAA8rY4oaXdrkikF8cTG2G2Ygx\nINMFCmCtSYoHHB27V728RttcAbEFdwGzKfF/5nqKWRZefX1SLnjqoVV2Akw2\naY/h8c54QqTNM+KeC1HHE8hU2//6gR+jGJRHzF10xGVkXsboXSMlW3X/3+Nr\n2PiL53xRPuRy+wLlH5+61CVAsgtfNUxL3eDI4pWzn/TpvmloYTP556EfKkqI\ngpYpRDKI/wL+16f+SxMcOTDXVIJH3oNLr0S8M4QPNkGVTv4MSF0Blue9DbAY\nh9/wexTNSOV/3/cB3GosNII6P41X47krCmKW4mdwyJipfNQPh86eWgXFc9GA\n9iBh\r\n=ygru\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDOa9xJt8xALuwp6d81t/qTEVdyqhd9uc++kCxtrae3ewIhAOJ1qSoxxMzNFOx4Wd2mYAhlAazkFtsg7D80nMtEuLgS"}]},"maintainers":[{"name":"alshdavid","email":"alshdavid@gmail.com"}],"_npmUser":{"name":"alshdavid","email":"alshdavid@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive_1.0.3_1600677984922_0.2542760259983943"},"_hasShrinkwrap":false},"1.0.4":{"name":"@alshdavid/reactive","version":"1.0.4","description":"Generic object mutation observation","main":"index.js","types":"index.d.ts","author":{"name":"David Alsh"},"license":"MIT","scripts":{"build":"yarn clean && yarn compile && yarn optimize","clean":"rm -r -f *.js *.d.ts *.gz *.br","compile":"npx tsc","optimize":"npx terser --compress  --module --mangle --output create.js create.js","size":"du --apparent-size -a -b"},"keywords":["object.observe"],"devDependencies":{"@types/react":"^16.9.49","preact":"^10.4.8","react":"^16.13.1","terser":"^5.3.2","typescript":"^4.0.3"},"gitHead":"0662569ab7ec78f3656a0919d099409efcd17dfb","_id":"@alshdavid/reactive@1.0.4","_nodeVersion":"14.9.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-8lni7pW/OPpeeN/ujLm5tirlnxLtji3yOu4wSVq4xdgLPFW1J7bU4cg1pY6Yi+LN8XJNY8w3L+3u9LaHblubAA==","shasum":"e5f128580ba679006fb921d831a409ca1691166a","tarball":"https://registry.npmjs.org/@alshdavid/reactive/-/reactive-1.0.4.tgz","fileCount":23,"unpackedSize":20589,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfs17eCRA9TVsSAnZWagAAcWEP/3QoIsD4ITeYKBGKUMm5\ndOGxuipJ32jJnpqXP3uvM1FWjIrpzAcKbJGNLoTy5Vlo1/Df2IyCq7dT2KYb\n0tYD8XLVDTeoc1Ieerc2uvBRTk7HCn89uOKkSf834aZ3SZWuPCIDM4AA3/kC\npplA1T7QNAAGxY3eI+S82ztwNPtKO6Irfich7cU7JcW8+Yj85rerIk0lCmO3\ndXW1I3+9viLosBhbqAHpXiLlc1EYzg3WZi6OkxpX6EqsiwQMbUU43/p4rAwR\nEqCXjkfdHL2EYMyNB2ZQmcLpp7K7vQdr3M4wo7PPGzsGbkhA/yClmb3NRWxC\ntloTNhXS1/kfOut96UMKiQ4Auwn91w3NoT+YVtLDwNSSZoeZQtf80iMK3OWO\nfn0xr0ttrQzTVTMS/D0vjJAqwnpIuMskihe2Y2gMj/sQ6mqQv8tPFfqapWCu\nnPDKOl8WdlyFSN/Ej6l6RypVyXZrSAslpYMoOe0XrshOcY5lRJH7q7EB0jjU\no7lpqEeYiNPp7P5Ljo4EAa0zpa4P90oym9UnDB3t19CJqp0ZbTuq0pnFy3xG\neXhp/9ABZeqm8By5sMMmjmKaUE63RZZKQL9rI33mQS2aifqDr8ycPgt3V8n8\nrgCQYN8wWsZ5IKBvTKgJOWdjZD0BeON8TgM8pSIWd5evgXmxI40pjg9/wbjf\ncBjF\r\n=cPXP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCe0tijsFAFYAD8zWC1nYPsOzmD41N2FB2PKpZyCY4/aAIgb22Xq+1j074WJY+RwL9q5Jwm9m8jdTzJrz2uVIB39Wk="}]},"_npmUser":{"name":"alshdavid","email":"alshdavid@gmail.com"},"directories":{},"maintainers":[{"name":"alshdavid","email":"alshdavid@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive_1.0.4_1605590750427_0.7973050472173175"},"_hasShrinkwrap":false},"1.0.5":{"name":"@alshdavid/reactive","version":"1.0.5","description":"Generic object mutation observation","main":"index.js","types":"index.d.ts","author":{"name":"David Alsh"},"license":"MIT","scripts":{"build":"yarn clean && yarn compile && yarn optimize","clean":"rm -r -f *.js *.d.ts *.gz *.br","compile":"npx tsc","optimize":"npx terser --compress  --module --mangle --output create.js create.js","size":"du --apparent-size -a -b"},"keywords":["object.observe"],"devDependencies":{"@types/react":"^16.9.49","preact":"^10.4.8","react":"^16.13.1","terser":"^5.3.2","typescript":"^4.0.3"},"gitHead":"0662569ab7ec78f3656a0919d099409efcd17dfb","_id":"@alshdavid/reactive@1.0.5","_nodeVersion":"14.9.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-598snnYblzhoXbyIJvoMnXHDeJg8c1qrsBAzkKzdMlcGBJOU0tgZmHpzT3dlS+xriLp5O47RmUf8zsDtNhoBsw==","shasum":"554946a76cd32e2212a2677215ed8f45e79cf0df","tarball":"https://registry.npmjs.org/@alshdavid/reactive/-/reactive-1.0.5.tgz","fileCount":22,"unpackedSize":19830,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfs2FTCRA9TVsSAnZWagAAJ2QP/3OcfTaRcTk+dtTwZ5Sx\nSrYwl52E+jwl8+QdHnWXomNpiRLiGKJjQuUsZMIbwsyOI/PiPaVC9Uxb0lyq\nAIXv5hX7fOqZpk9bBdUZmhhggehG+rP+fseq8iRgaEQwZxgLxerXWgHclVMw\n1WVbgBuLjtKXDxJlx5fiqcZ2B82Wo81wbdMWUXKdP3Dc3YX0QjuUyqIy6lnA\nFszDMkpKNXOpeIAMRbkl2XSSFx1dPclhw1tqJ1vQyeSg+d4PR6D+7mOFhXxv\n19L0f4MTA5/TMxOGrGeKBANnV3VQMtH5M91Ws3HEr6jFYinB0D90tm9kjf4t\nuZAmHpfRkzm5l3F6FwdYLAZ1OAxZ1LGVBdDojfvUKUOi2yv+8SMdyFnu8++F\nWQVyToKWOcM6HnTc8PKZoWUEQf1uq4VvJpzRBxcvYfK28UKpqlyT5yywHrhD\nJBgHRQeZTQNNr6VEFLVt4oi/E38NxlhznsQZytNghfMpq6l+ymPSfaY0ogLq\nsdoOOO4x2rsUoxOjzBn8qOaDyabSFYwcRM+RI2gLDnsWiQHMcSwcjy6+1wkT\n6U2uIDCZQP1BAhxqwAWpeD1lRn7ZzuUhJXlrwrz+sqhGaGkC+y2uZrHzbRkZ\nuQ2VmGUradXIQ3QheagfuinZf+u6MxvTJzijspwxri+SGIClW94XzAJ/ICVb\nWucN\r\n=kwwg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC+8H2Ymtta/ce9kPrBEWau3X/wRuFa9NTXNDCCbnnaYAIhALmk3zoKbJ3hAjYIJUNucyNsaV4IgRqRZ/JHbVyHEN46"}]},"_npmUser":{"name":"alshdavid","email":"alshdavid@gmail.com"},"directories":{},"maintainers":[{"name":"alshdavid","email":"alshdavid@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive_1.0.5_1605591379125_0.23018450789642753"},"_hasShrinkwrap":false},"1.0.6":{"name":"@alshdavid/reactive","version":"1.0.6","description":"Generic object mutation observation","main":"index.js","types":"index.d.ts","author":{"name":"David Alsh"},"license":"MIT","scripts":{"build":"yarn clean && yarn compile && yarn optimize","clean":"rm -r -f *.js *.d.ts *.gz *.br reactive","compile":"npx tsc","optimize":"npx terser --compress  --module --mangle --output create.js create.js","size":"du --apparent-size -a -b"},"keywords":["object.observe"],"devDependencies":{"@types/react":"^16.9.49","preact":"^10.4.8","react":"^16.13.1","terser":"^5.3.2","typescript":"^4.0.3"},"gitHead":"7291b3b0651862af82ce18451ed9ef0eec2cfd13","_id":"@alshdavid/reactive@1.0.6","_nodeVersion":"14.9.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-gnrVDfI4Q74RwDCb2GxW3+9ILQvZ/76zfr6O9ISFhAeeOB9sJH9WJ2YxD+oiI5ZHP+WXPsifRcLek1xn0VoF6w==","shasum":"383c7cb15875c00a72d4c1e84b8d5be4068665ce","tarball":"https://registry.npmjs.org/@alshdavid/reactive/-/reactive-1.0.6.tgz","fileCount":22,"unpackedSize":19990,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfs2S0CRA9TVsSAnZWagAAlyQP/i3WFa2GxLwgRl/ceDLT\n+AvE8K65zUwzy8BkiOTayzaYvR9Iufy0iHwmcyCutSz1TQrrCwbb76/BXQZU\nfdrNHDBIFkWgQLRZce7XykN+6lpHxNnvwTtqb9U9pK8Pe4w+Bt/2h6gKk7WC\nl7j5yC2Qrd4v+m9ZJ2ilRfkNCNoJ0jB8hl+yrmkRNtQZiK2U1N9R6qVNoOgw\nuev80V+047flcXwIKzIflEq/qD6fQgM6b0iOAMNQeerfh/D5uS4kHKqJTwKy\nd47qNz7qhzL0OS8SPVEf2zcYmm2wQsWMlgbq/TBWwPlRcPPxoLWwUfjHRcsa\nXL/b/sq/cKb6N2uuPezl2yAEfVcDLACyFcVYWMkZ8pg3gVDkB5ZPCeBBOp8M\nhiz4Z9vdHPCJqP56iIfgrhZCPbgsm/r6I4iUj7vmtqP2v7pgMnx2w729XQ1n\nnxENMqMSXcJAqyVoTtZoRp3otzlsiec4amAMyivUUZx2FvTC8N3WANRH9Hp+\nwpfqTA6zbhnvJmsRwqg+aWppKpVCQMYRqgD+ToCQepAe/PT/ZNa8EKQ4R2DB\ngL5e8+xPpAbhhWlSgHYsdxC52bc/U+mo+GqSOQm74G4b9sXbXsN1VSDGnZbm\nqn8ypP+VruuxUR/elmiSuT1LIhm4ebY7nMHKhrOYWIjrok7/JoWjxIHO/U8E\nk1HM\r\n=qeSG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGjUbd6B6q3DbB0XisMGbbmzsiJQesnVLFNZBtlZlo+IAiEAwfvk8CSwfdfEGZmhUSv/PXZAZCTLzk7+gRgpPvE/IKw="}]},"_npmUser":{"name":"alshdavid","email":"alshdavid@gmail.com"},"directories":{},"maintainers":[{"name":"alshdavid","email":"alshdavid@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive_1.0.6_1605592244316_0.24395334722137774"},"_hasShrinkwrap":false},"1.1.0":{"name":"@alshdavid/reactive","version":"1.1.0","description":"Generic object mutation observation","main":"index.js","types":"index.d.ts","author":{"name":"David Alsh"},"license":"MIT","scripts":{"build":"yarn clean && yarn compile && yarn optimize","clean":"rm -r -f *.js *.d.ts *.gz *.br reactive","compile":"npx tsc","optimize":"npx terser --compress  --module --mangle --output create.js create.js","size":"du --apparent-size -a -b"},"keywords":["object.observe"],"devDependencies":{"@types/react":"^16.9.49","preact":"^10.4.8","react":"^16.13.1","terser":"^5.3.2","typescript":"^4.0.3"},"gitHead":"6f0ed8edbf76e214facadadd0af1ceefb2113d27","_id":"@alshdavid/reactive@1.1.0","_nodeVersion":"14.9.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-wF4FiZ8guu9AMaHYYuwFG3lzmDqN65hub7qPq4heSTcsr2iBor9PJCGisWMe3Dlc8QpVb/C2xmhi8OSF80Njlw==","shasum":"5a082f64059e5ebcf563200c22ce8e6921b22a1a","tarball":"https://registry.npmjs.org/@alshdavid/reactive/-/reactive-1.1.0.tgz","fileCount":68,"unpackedSize":36820,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftguSCRA9TVsSAnZWagAAW5cP/iDS8j1xOp5Ss/Oy5i7s\nRhp5xncaGft3s8od1Y2/1DUTNAK3s6B070DKgkHP2eW3Hrp+FL5wwMA9XBu4\nHYyuCom5tgXeoHqsKHL44gPi6ARL+OCikd63eadMey7eCmYIKNLCQS8TDrxC\ni6LVDXvzAXDoXsGgLjJ5bShQxRt+AV5Ty53Z5ndIPpFotVqAdmMnqLHq1Vfy\np0kpNE+PUwgp1TVqT0sGJNWYpNGwuIJ4lQPlxyD8c8Whr2mU6HsSWui6Cav4\nMywmBAeEFMI3CQtk5a+yVbkPISKPyoN+QJtXnJe1BGCwGOe+p7/CFUCrCQl7\nN0sCVolAz/9FtTkdtwQZ+QMciXnDrNsRhxIGWvg/iAcUtN0VwNNOocUeIHWG\nUytMqki0xi5vlW50r3ZH+LoR3c+FOHtveoX64UO8tcbV6PHFBOUDAizom4hB\n84BNXDgTuSyHt/FFgj4XIP7Go7zf6ZQLHYVim12MTV0rRbGEDpqIit+5SOoD\nvwh/JZLR/33mOPwBgAK7HkhtjZ98rpz3htxlMQrlaDVZYiMqSXQtrEuKxRsE\nKvMfHTdaiqsupc6DlLEXEEbc1OC2+2MuXWA8uU+LS4uwkNMnMZHJM0VBmrnF\n56ZgzRJLPV+OAjqRcbgTjwYjGjpNLGwUqJWwwf2A4qhIaolHG3ADtLgG7sL/\n75SO\r\n=yghS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAMehJEDFL8mLedJp8cSel1rVikfNa2KyVyOnNLLZcnuAiEAv4X/7/DWkP4mVOEvQdPgBZDr+2qUxTkPpZzeWb1mcjY="}]},"_npmUser":{"name":"alshdavid","email":"alshdavid@gmail.com"},"directories":{},"maintainers":[{"name":"alshdavid","email":"alshdavid@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive_1.1.0_1605766033918_0.3539449277382316"},"_hasShrinkwrap":false},"1.1.1":{"name":"@alshdavid/reactive","version":"1.1.1","description":"Generic object mutation observation","main":"index.js","types":"index.d.ts","author":{"name":"David Alsh"},"license":"MIT","scripts":{"build":"yarn clean && yarn compile && yarn optimize","clean":"rm -r -f *.js *.d.ts *.gz *.br preact react reactive rxjs","compile":"npx tsc","optimize":"npx terser --compress  --module --mangle --output create.js create.js","size":"du --apparent-size -a -b"},"keywords":["object.observe"],"devDependencies":{"@types/react":"^16.9.49","preact":"^10.4.8","react":"^16.13.1","terser":"^5.3.2","typescript":"^4.0.3"},"gitHead":"7df95b8f15a1d7dacbc1c6f2cfc99708b13a335e","_id":"@alshdavid/reactive@1.1.1","_nodeVersion":"14.9.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-yqJJ+Sno2rcIMIAfr31L2Bc6WJvMtxjNTBFmlxh25MUJskb73aujiqC1M43Mq+TEYoi8AiwBA9yVmHpCxLuA3A==","shasum":"c133aac405a67439306d8c2accd8c40f3d260e99","tarball":"https://registry.npmjs.org/@alshdavid/reactive/-/reactive-1.1.1.tgz","fileCount":68,"unpackedSize":36864,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftg72CRA9TVsSAnZWagAAGusP/RlO8Ql1jN911jVFzZZn\np+r1T80SXZEKCyUqHLZP9KZpZtSwClk+S/mteZ7x3zQ/tbTDBUGLoyGgxKew\n7NWm0Un5gGkQHCQFSxklB6+e+z7Nx5Vy2CjyurTiZRBG7TfwUoJ73midg0p2\nRn5uw3142sPILp9jNAACPSLTXu6vrLefCDmxQQbubm+RoZnkzq87nGRCxXeJ\nJ3qfP+ggr3q7xn0sClde95YWZveQN5V7rrLOWqEkgsAir+lxNEnos3aXTHGk\nzqgjvsJxoE++wqmoNdC3e94sy/SBADFwpq1YJc77AY66ZqCNMCEPMkS27n+c\n8XtQKkxwKMKcjEOerc53DbwaVsAP4m8oyUUSTkVh+7/B21ss4178SV0r6sVc\n+Za7D0lCCWgmQGCcm3PyiSLTC5Ihn8iDeT3FdU/MPji586RlNiW5EARp9NXb\nPQehZIMsCab64w5zQ/De2C3kXWgXl9B3y77couZE9OWtJNmnZqL1tACS0P4c\n04acc8ULyuFYvJHSapXbgmfDYN5h0ZWDFHw4SnRIJvcAXM6WJ5uwX/sRA8px\nInZTkcCYjNHKc0LZPk3RKYjiPwVr4b4ntkmalJDiXvgLoETeQ0La/PrvZ0Ej\nvyNy8YaVPXZDXpoXozP76krdUEGSIZebqG1M9dYDBuFqxzBaWXM4xA31sIoF\nkcmk\r\n=Hk9q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCBjrDxSKhtnAo1K7UDd8Rqxg8U7FTOvJwkWfXZb9A5+wIhAMXG97Zk83chesnfQaUIk+CO+qvOTxJ/U54ZwJp/ui7C"}]},"_npmUser":{"name":"alshdavid","email":"alshdavid@gmail.com"},"directories":{},"maintainers":[{"name":"alshdavid","email":"alshdavid@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive_1.1.1_1605766902094_0.002934018775024416"},"_hasShrinkwrap":false},"1.2.0":{"name":"@alshdavid/reactive","version":"1.2.0","description":"Generic object mutation observation","types":"index.d.ts","main":"./index.commonjs.js","module":"./index.module.js","exports":{".":{"module":"./index.commonjs.js","require":"./index.module.js"},"./react":{"module":"./react/index.module.js","require":"./react/index.commonjs.js"},"./preact":{"module":"./preact/index.module.js","require":"./preact/index.commonjs.js"},"./package.json":"./package.json","./":"./"},"author":{"name":"David Alsh"},"license":"MIT","scripts":{"start":"make","clean":"make clean","build":"make build","test":"make test"},"keywords":["object.observe"],"devDependencies":{"@types/jest":"^26.0.15","@types/react":"^16.9.49","jest":"^26.6.3","preact":"^10.4.8","react":"^16.13.1","terser":"^5.3.2","ts-jest":"^26.4.4","typescript":"^4.1.2"},"dependencies":{"@alshdavid/rxjs":"1.0.5","@babel/core":"^7.12.9","@babel/preset-env":"^7.12.7","rollup":"^2.34.0","rollup-plugin-typescript2":"^0.29.0"},"_id":"@alshdavid/reactive@1.2.0","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-4zTXkEZvSSgAWPenAIglk929Jn7hWdUyxnE6w9h2wGK/+86/KiXQQv/WUb3q9U4LT+eSKMUV2AW+I6Q5J2IaYw==","shasum":"3730733e69542f55468168b944b455199f25adf8","tarball":"https://registry.npmjs.org/@alshdavid/reactive/-/reactive-1.2.0.tgz","fileCount":35,"unpackedSize":28092,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfxGwhCRA9TVsSAnZWagAAQ4QQAJAAL4iCGkMm+nsTbvsG\nZ6KnEEXLwlfDo3vjdiP4st/ZETpHKZGS7hqrjDvonv1op70905bJycRY+GdN\nZ52dK4OC7n5TMFR5zFKsjZ0sdxUrYeMtX8S10VEG+qzANJViJdo4PlmevMpJ\n2Mx0Gq4Y9bwqhguWrNa6zVN97nEbezMxhKEoLZ6zpATc8ye5/97Ge4/x7REU\nGVZJIIbfP2XAsKoRN0QDB8q4O9IC/Ov/Apl+YmLzXZA6Ki/2G0lRSAc7q3rB\nECvxkQJ4yiOjM71Jc6GV6OJRNxXQSK8TVW24dBVKK3OZZCVMrKgiyhBmG3tM\nE6LXdxpD798F9EQcVkUdxUgmHubUUQmUc3jNPKVbZdhP5yFw/1QER49Ja6VH\nN7KmRMu2jSpdf1cLgbsNHYbgBwY7NLYvHiJhE9q62egcn4QS/eWnaTbsq9/A\nrTlKVljwA9gpEldhTnAsCKtoyXDXreOPu/rSWCOTmFKOa5GJIZ773cOuMFVE\noosAAq7OiNmwKtpJG86tUoJeNHDOWjI7RoZ/JwZmxU8nZ4hKS/LhMvOQM664\nvbZccKf00mvTFSejVuGlNBjmjexqzeUlIcPdDDDIm5FUp71mJA4LrU+vB8NK\ntnrDXvstz9Vt5yFDVIfNE/fE3FdYWACXXphgSA3UO94tYTPp3l3vjHgyg/Dm\nbneV\r\n=QmTs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDKPghQSCn1T50ux7UFn+arecB0oHJIBE8alQzBTGHu7gIgIsNSSJQEXfOfOAGRXq05d6HkE/urfhrwS+oZZ6mNzmM="}]},"_npmUser":{"name":"alshdavid","email":"alshdavid@gmail.com"},"directories":{},"maintainers":[{"name":"alshdavid","email":"alshdavid@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive_1.2.0_1606708256713_0.978489068250749"},"_hasShrinkwrap":false},"1.2.1":{"name":"@alshdavid/reactive","version":"1.2.1","description":"Generic object mutation observation","types":"index.d.ts","main":"./index.commonjs.js","module":"./index.module.js","exports":{".":{"module":"./index.commonjs.js","require":"./index.module.js"},"./react":{"module":"./react/index.module.js","require":"./react/index.commonjs.js"},"./preact":{"module":"./preact/index.module.js","require":"./preact/index.commonjs.js"},"./package.json":"./package.json","./":"./"},"author":{"name":"David Alsh"},"license":"MIT","scripts":{"start":"make","clean":"make clean","build":"make build","test":"make test"},"keywords":["object.observe"],"devDependencies":{"@types/jest":"^26.0.15","@types/react":"^16.9.49","jest":"^26.6.3","preact":"^10.4.8","react":"^16.13.1","terser":"^5.3.2","ts-jest":"^26.4.4","typescript":"^4.1.2"},"dependencies":{"@alshdavid/rxjs":"1.0.5","@babel/core":"^7.12.9","@babel/preset-env":"^7.12.7","rollup":"^2.34.0","rollup-plugin-typescript2":"^0.29.0"},"_id":"@alshdavid/reactive@1.2.1","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-H+erZ+0LFJBA0Vb8AgPvCzsiC1Wmq4tijCcicUsj0R6/B8eF3QctQGR6cgfE+afHUYZi8Uyb2AjGAfWcvS5n8A==","shasum":"2e3ee05431137ad222943a8f4a2a1f281bc42438","tarball":"https://registry.npmjs.org/@alshdavid/reactive/-/reactive-1.2.1.tgz","fileCount":35,"unpackedSize":27003,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfxHFuCRA9TVsSAnZWagAAL/gQAIXwXN5sR8m5dZbjEfGW\nas1YkZ07AR1qVO/0fRaKmGXZrCBd8lPbjkxEv+5ml/ZkYj9SktFfInWUeuuI\nM2fTFGJ4Ccqfm6mQmP/Dlpx8L3nfQfr/9AoPwViDGqmQO4tOiq6sXEUUB1ra\nFFcLwemyJbMbnL+msj5Z0KucHln/nbagALZLVnCeT9m38NEyYkr28hgDlGOK\nttn7PJT7JixqyIHDV6bQkWDjbuGa2teyd+JRr8uKjhb4LWkiLS0K5+rxNeSy\nbjjHKANqET2h1ncUto4BVhtGmE5/qY45WQdvPEXLHI/PdjKVQDDyTny2Ueat\n8aN2OXE4ltmJ0hcBTpaqMCKbYoe//fG6lYkq6rpeFftKkmVEIxWCR5uQO65v\nJxNWxO/OY8bQlyCPSvCfYMsda2vsFI7w8jc13W5P4YDBrZQAa6/vNi5Bq5Hn\ns2HXeKyC0KriMa707wChxeBQa1lTeFB/wvk8jE0Gb2EMQwUwaxoJHl6ZU72k\n/9bJ9oE1AKsF3rK5ACNZ/XdbWU8/uarx0vPn3aiagVTP/3Mrm/piuJXtsH8h\nWZWvEEYVlAYtV8zxRAlhXBho3kP9KKdOq4ox0fN9oPcSbCKsxiBgluZjQ39c\nVN6Che9Sgu6lZttl4LjzQfhktx5EGKLYRMwvYRZRGtcuUQchyoCCOZkklA42\nVRhz\r\n=0D1+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFWwrCqBOyOk1gJ3TvGdsjj6X4bWLZHFK5wxhzCrpyEBAiAIylroL19ajTEg+yggmxMCYA+dz4i165GR5s+9WX2b7A=="}]},"_npmUser":{"name":"alshdavid","email":"alshdavid@gmail.com"},"directories":{},"maintainers":[{"name":"alshdavid","email":"alshdavid@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive_1.2.1_1606709614163_0.307602471846794"},"_hasShrinkwrap":false},"1.2.2":{"name":"@alshdavid/reactive","version":"1.2.2","description":"Generic object mutation observation","types":"index.d.ts","main":"./index.commonjs.js","module":"./index.module.js","exports":{".":{"module":"./index.commonjs.js","require":"./index.module.js"},"./react":{"module":"./react/index.module.js","require":"./react/index.commonjs.js"},"./preact":{"module":"./preact/index.module.js","require":"./preact/index.commonjs.js"},"./package.json":"./package.json","./":"./"},"author":{"name":"David Alsh"},"license":"MIT","scripts":{"start":"make","clean":"make clean","build":"make build","test":"make test"},"keywords":["object.observe"],"devDependencies":{"@types/jest":"^26.0.15","@types/react":"^16.9.49","jest":"^26.6.3","preact":"^10.4.8","react":"^16.13.1","terser":"^5.3.2","ts-jest":"^26.4.4","typescript":"^4.1.2"},"dependencies":{"@alshdavid/rxjs":"1.0.5","@babel/core":"^7.12.9","@babel/preset-env":"^7.12.7","rollup":"^2.34.0","rollup-plugin-typescript2":"^0.29.0"},"_id":"@alshdavid/reactive@1.2.2","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-49QJ+XVTZ5bK3D8gSWvI15yDaGxc/227MD4CbinVyQisaQz2hy1ss0vnjqmC8h56Ye1jA5fkhRdYXhsDEsuslw==","shasum":"29d649dc8dd942c725cc36bebbc044a080f6c65f","tarball":"https://registry.npmjs.org/@alshdavid/reactive/-/reactive-1.2.2.tgz","fileCount":35,"unpackedSize":27040,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfxHJTCRA9TVsSAnZWagAAnz4P/2GuQzxFfYoA1UbohEI2\nFRZhGGjLuZpp54ef2+oMAXxt+rX4cQEboFk4bGdSBjmT714qTpl9tNuAYafy\ncl2I7J8aOoWeD7uP0ynXSnPGDFKxAPtmQ9gfjJq0sIHKgTpz9SM+3iuMvMEW\nJZwEWSkiWem3+UhxklIwUKxxCLAUqfBR9ikWi6XAosv7RxvRf/PGnVFRPIEQ\nWvJhl1dAAYI1QC9Dkd6gspPrndH/3OYqzp4TJikrv/Z2nhrJRwUGNf7ZhaFm\nhuQVFXAeWEN+jBrwjiGGzZe5sY9PfxKU3TyYGwrw9EeCQB8718HHQvUv3QKl\nYImUi3ZzbV6iWKAg9xpqScNo66fEbpGa4gZKGjhX5hfcvkGySbHl1Ep5H31i\nlyYhPRchJUPqUbRN+y0m9LPYhE7np7WKNYvKgE3ZAxhmz21zLxIJvJfHoS14\ntz16QvEOaNeJM8N2gD/omiGKLQxvyKRDJyBjOqq3RdkJxCZr55/vTqb+chqp\n4wjmISth0W8fBymhOYwl+tWr/SLsiN/zELNkHCTUc2P6bvUqRMpYAEYmQMs1\nVYZbDwfzEFDlWJ4CvsrlnZR2dAP1DZ2NtKXGxxnRWkPrq2Gw/FUHUPavI5F8\nUS4l4baybnzPb6MEuuIJBzPl1jzMdFWRkhyvCegQBfmvGH7hvlwlg6TjfNmm\nTa1W\r\n=D11k\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCDpVAYXuM/LHVvt+OIzzf+dlu1JgJIANgGfIlJcvJTYwIgK9+wsdSIfEmtAMRvpiIdZHHd0SDgC7JyuuBIAJMcI2w="}]},"_npmUser":{"name":"alshdavid","email":"alshdavid@gmail.com"},"directories":{},"maintainers":[{"name":"alshdavid","email":"alshdavid@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive_1.2.2_1606709843025_0.37794641844888655"},"_hasShrinkwrap":false},"1.2.4":{"name":"@alshdavid/reactive","version":"1.2.4","description":"Generic object mutation observation","types":"index.d.ts","main":"./index.commonjs.js","module":"./index.module.js","exports":{".":{"module":"./index.commonjs.js","require":"./index.module.js"},"./react":{"module":"./react/index.module.js","require":"./react/index.commonjs.js"},"./preact":{"module":"./preact/index.module.js","require":"./preact/index.commonjs.js"},"./package.json":"./package.json","./":"./"},"author":{"name":"David Alsh"},"license":"MIT","scripts":{"start":"make","clean":"make clean","build":"make build","test":"make test"},"keywords":["object.observe"],"devDependencies":{"@types/jest":"^26.0.15","@types/react":"^16.9.49","jest":"^26.6.3","preact":"^10.4.8","react":"^16.13.1","terser":"^5.3.2","ts-jest":"^26.4.4","typescript":"^4.1.2"},"dependencies":{"@alshdavid/rxjs":"1.0.5","@babel/core":"^7.12.9","@babel/preset-env":"^7.12.7","rollup":"^2.34.0","rollup-plugin-typescript2":"^0.29.0"},"_id":"@alshdavid/reactive@1.2.4","_nodeVersion":"14.14.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-zkp/ENYiXjzWMmFShyL0mFRdGF0cUGo66pmPgRLiWmP+WczkEUfhqDDFFlR/5IjRFH2mc1fWw+nz5m0WAeNabw==","shasum":"68fda3245d8abaae3d0f2bbdec62e80f0397bd0c","tarball":"https://registry.npmjs.org/@alshdavid/reactive/-/reactive-1.2.4.tgz","fileCount":35,"unpackedSize":27533,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfxHsYCRA9TVsSAnZWagAAsw8P/ifBzMwqo/hibvb1cFd4\nRTEkLtjjBfzW/CBBS0933tzQyyHtzNtYwEp1DEGaLk60QtCk33Rgi3V7qb7p\nqQOAQ/TdONz749nFOZkC2D+ST/1GX3EzV4PVtuYuNdD7cUWHP62QlQjDPFUy\naZpKBOovNZU9ukw1PPCDYWQby6J/RtU85rmJmX0z2JZCWWYHFY9R8eqx9HwG\n3jAwlE7bmoGniN/VCqm2AfyW9Ei/i/I7lIdqggFVDr/FonZkbxUinzg1nTec\nz1HTYqfSsu8pZNJySniejZT2Vct8QRUw7s4BvB4+Jnb93KByj6F54Prf191D\n6pMeMuBwXyWJWGK8oPhUHvFEsIAtKV4Yj4jMSM0L/p/Fp4+Tqywgh3ZY2vzK\n2xH/F6E6P7UuAHVCnDWz85roZjOyszcgvFCABXewP5ispDaI3F7FrKeFENtY\n9ADuGmUa/yBkUv7glom8mS8k+CvAhUp4eGH0fdgwdIWVaQEV9lFGQ6LEfxD3\nfY4TX4UasWbuEqGI9kX1/6GuhIS81GvSfM5BdSSn/ChR+d8h/v1qZbqQq5Uq\n35ipK+FJAT+KRSnPB9FJhxfDIjfLaXIm6X3JdmA+CqilV4Aa4hwE+05slNeO\nS3SfIPLu1Nb47X3PcqExnYEfWJb51E+7aS4fY+PUbIaN5S35Qv44yr8tZfLd\nB4rk\r\n=0WDA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA0kNtT0r268U1mLvd9kBYyc37QnnZ5cfXpmcc7x2Q/lAiB2mp/eYkZLuffiN0U0bb4TmWPIuTBBBn9zQrB/14nIsQ=="}]},"_npmUser":{"name":"alshdavid","email":"alshdavid@gmail.com"},"directories":{},"maintainers":[{"name":"alshdavid","email":"alshdavid@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive_1.2.4_1606712087651_0.15842923863257963"},"_hasShrinkwrap":false},"1.2.5":{"name":"@alshdavid/reactive","version":"1.2.5","description":"Generic object mutation observation","types":"index.d.ts","main":"./index.commonjs.js","module":"./index.module.js","exports":{".":{"module":"./index.commonjs.js","require":"./index.module.js"},"./react":{"module":"./react/index.module.js","require":"./react/index.commonjs.js"},"./preact":{"module":"./preact/index.module.js","require":"./preact/index.commonjs.js"},"./package.json":"./package.json","./":"./"},"author":{"name":"David Alsh"},"license":"MIT","scripts":{"start":"make","clean":"make clean","build":"make build","test":"make test"},"keywords":["object.observe"],"devDependencies":{"@types/jest":"^26.0.15","@types/react":"^16.9.49","jest":"^26.6.3","preact":"^10.4.8","react":"^16.13.1","terser":"^5.3.2","ts-jest":"^26.4.4","typescript":"^4.1.2"},"dependencies":{"@alshdavid/rxjs":"1.0.5","@babel/core":"^7.12.9","@babel/preset-env":"^7.12.7","rollup":"^2.34.0","rollup-plugin-typescript2":"^0.29.0"},"_id":"@alshdavid/reactive@1.2.5","_nodeVersion":"14.9.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-q7f5XAS3fvRxK15gg4OQIzmgmQ2iRHqGr+/eXIATSpdCkHKsANprX0K6Eb0hsfyEqHXOWw6D1LtQdIbTQhS0ag==","shasum":"05ef0b8b8cda253e190af2cccc908dd399694829","tarball":"https://registry.npmjs.org/@alshdavid/reactive/-/reactive-1.2.5.tgz","fileCount":38,"unpackedSize":28814,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfxLHLCRA9TVsSAnZWagAARo4P/0Mw7JlyaAYpjucIdUhe\nx4juq1h5/z9aCIM7FIve9To33my5Ho1KE9VvkDvSeUzQNAC7wzlKzXJR+ObO\nE8f85vozKHOIaxyD0i9Apb297ff5YXpWwozOz59sXzGnVkwX2CkdfCNQHWFI\nrnd61sua2J2yRxX6O7ns4aNwnJBe8faCx1NMZRYvL3rsAnH3oODEckwCtBFU\nNYIiRLOtJpSbxFA+2aT4blNR1u/nicKm/bQ0Y9jQ2qMOm2TwSeEuf9sRF1Hm\nVWtLnojRC1Le6Kbdf144ZX3znkRrThqjeMlx6KtLKK/pY6vg5zzIBZubs2CA\nZDLy6ldHykjhmLII1CxgPLSe8pOootyMlG6qmKK17KyYAGd2VoQ9OGChxLKG\nOS4vUImowbIYVKmY9/kQaQdi534WzKRQQqlItPL/0MlpBTg+u3X975y+V4DJ\n0gen2HUGWhpxWST/RyftEhzCGx2O2NfR97jw6oupg6+csOTGAZnxBOn+/xnt\nQVhE2LfPslGPkXWBecWPYjARUXn+nZm8sR90L9HvkgPRjW9asddLob1IyBCK\njw0leqIuuHJZcg3N12T2KLjVveDneaZGM+F2FpYvTyHanFN6CaHjvzdouSOo\nbvBDv46eMVXNWnVdRKvuLNqceJA9QefBGcoUQIt8YwicA5w/ELfb5rAHegG0\nuhd0\r\n=lPhC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEn5bbbeRlnzRO6X1QzUcXEIZD92XX7KclkF4pCvYbfZAiB6i+g66WnJAfCmu5eO74pQ3LdbOeXG0JxQjopuf8YvdA=="}]},"_npmUser":{"name":"alshdavid","email":"alshdavid@gmail.com"},"directories":{},"maintainers":[{"name":"alshdavid","email":"alshdavid@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive_1.2.5_1606726091150_0.38775789448604137"},"_hasShrinkwrap":false},"1.2.6":{"name":"@alshdavid/reactive","version":"1.2.6","description":"Generic object mutation observation","types":"index.d.ts","main":"./index.commonjs.js","module":"./index.module.js","exports":{".":{"module":"./index.commonjs.js","require":"./index.module.js"},"./react":{"module":"./react/index.module.js","require":"./react/index.commonjs.js"},"./preact":{"module":"./preact/index.module.js","require":"./preact/index.commonjs.js"},"./package.json":"./package.json","./":"./"},"author":{"name":"David Alsh"},"license":"MIT","scripts":{"start":"make","clean":"make clean","build":"make build","test":"make test"},"keywords":["object.observe"],"devDependencies":{"@types/jest":"^26.0.15","@types/react":"^16.9.49","jest":"^26.6.3","preact":"^10.4.8","react":"^16.13.1","terser":"^5.3.2","ts-jest":"^26.4.4","typescript":"^4.1.2"},"dependencies":{"@alshdavid/rxjs":"1.0.5","@babel/core":"^7.12.9","@babel/preset-env":"^7.12.7","rollup":"^2.34.0","rollup-plugin-typescript2":"^0.29.0"},"_id":"@alshdavid/reactive@1.2.6","_nodeVersion":"14.9.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-PC2yddrcnp1460fLv2ZBR2yK+fpUnLoZTgioFdYrXbe1LLKpkaiGtkCmmBsLiueV5ubYOrZ4c6fl9HEk+iscSg==","shasum":"94c87c8fc2d4cfd9ccc7989e2e79926558fc8901","tarball":"https://registry.npmjs.org/@alshdavid/reactive/-/reactive-1.2.6.tgz","fileCount":38,"unpackedSize":29046,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfxMniCRA9TVsSAnZWagAA+CsQAI1yAxOHfgu7y0QgQxd6\nFLpJbPZ2Nq0S+7R0YfEm68BfMkOZwIyvS22Wv5/Q6KIqEORcPVecDSO0MnVx\n0OAbzMjiKj93xlF2a5sINYadX4RLxJHi6NwRHpP5bDv4soFYuJ1Ycf7iuDC3\n3I28pKEps5+AwxcHHsuETvEtXx8CXixR74oJaqi4xvHiKKvorgVmOoSUxSxC\ntlw6f4+70tcL7bwooG9/p3vWsNcA/Aj/pkZbNvGmFAQq/zUMfK17Fc1fYc/2\ntauRiLSuI6ZlliCTRYBwdUiAJZ2O9rVyW4A3wczktyfVXS78brmp5UC687fB\nKrLAN8DgH0x2/3ekdwfGOsAuC36db+bbuJ2507eThafQPMQho4LNCW3baOLq\nSRqwf/i2BzTcl8f5hqJSbmAA7J6CVMW9H0fa8KIt+CMQUz9QK/2o3ncn9Tyf\nfdSTqT0bAQx3zMj+w/Wb502wqzMGGFvyR8phYITRhy9TJmOVhgGsH7qgs64F\nZiRq2douhyXcHK4yaQCccaG5/Vyoabr5oCm05owNfB4NH/VW+P8kIPk/YwXk\nghu+8lHffsK5CCspHKTFqnhPsrxOgR7ubEfwqyIOmuWshMbJ9F1WPDEh0Fvs\nUox1NSSNQttEpLVTVuw3Pv2R9urlLfZzmLWeGPztfPtHqbZKes1oGdwGdkFA\nOQLn\r\n=F2Ow\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCDLH24tKyuXe1Y1g7gzaJ6ShqKmUD/2K+CESZYM1ZxigIgDKxScwOnfVaO0uUDM5oNWUUuuNIMIE/wzi40SzdvQ7s="}]},"_npmUser":{"name":"alshdavid","email":"alshdavid@gmail.com"},"directories":{},"maintainers":[{"name":"alshdavid","email":"alshdavid@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive_1.2.6_1606732258461_0.6893483497929631"},"_hasShrinkwrap":false},"1.2.7":{"name":"@alshdavid/reactive","version":"1.2.7","description":"Generic object mutation observation","types":"index.d.ts","main":"./index.commonjs.js","module":"./index.module.js","exports":{".":{"module":"./index.commonjs.js","require":"./index.module.js"},"./react":{"module":"./react/index.module.js","require":"./react/index.commonjs.js"},"./preact":{"module":"./preact/index.module.js","require":"./preact/index.commonjs.js"},"./package.json":"./package.json","./":"./"},"author":{"name":"David Alsh"},"license":"MIT","scripts":{"start":"make","clean":"make clean","build":"make build","test":"make test"},"keywords":["object.observe"],"devDependencies":{"@types/jest":"^26.0.15","@types/react":"^16.9.49","jest":"^26.6.3","preact":"^10.4.8","react":"^16.13.1","terser":"^5.3.2","ts-jest":"^26.4.4","typescript":"^4.1.2"},"dependencies":{"@alshdavid/rxjs":"1.0.5","@babel/core":"^7.12.9","@babel/preset-env":"^7.12.7","rollup":"^2.34.0","rollup-plugin-typescript2":"^0.29.0"},"_id":"@alshdavid/reactive@1.2.7","_nodeVersion":"14.9.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-aobAv1dZQybUKyHBephRjgf5QSg1eo5T+4q5u//GCrkRAtkEjw9ADw97PYUCihEC5dL3zQqiUfehejC3JIbsRw==","shasum":"52a4e1664fe08499e8499db557daff1c4eaa236f","tarball":"https://registry.npmjs.org/@alshdavid/reactive/-/reactive-1.2.7.tgz","fileCount":38,"unpackedSize":29056,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfxY6rCRA9TVsSAnZWagAAEKQP/1w3l0Ifp5/Z2GzPNOuK\nxfnWY32K51/0oKtlL4AcH2KJ/qQNkMv6ijmmEK0ZtC58UqRVJNzxDn2gWBBg\n6ZtS0/LMsl0qYPj2nmPRFTLmbLWtMMOYBQrnrcTkh4nYFHDLVaSkP43hrZPm\nwksiwowK6N8t5DF4mE8lLM6RBLsR6MBUTP0MNNrEuKh/5NpSjayg7Az6P6AB\ndlBZrcSVx7AZR5mZA2j4quIC5HWAp5p7EzB+4K+ibueaOC6NhMploaoXC920\ngqoPKFY3FseDaBMGl1bLWF4/ajXesOr8GEnFKFpO8Ow6SUWDEgFXMVwrbA4b\nIZzx4MbxCQeXgPwTBy1HabzCqme/gGpP67egwCW37IGIZ9Cx2VDJ+79POFW5\nUcizku3Gwfjl7LRBSrp7jj36HfGpDAn3GiqyruwdXZsXDl01YmKu//eWKa8i\nHQYJ7d2IdFIbgxeVSegmu/tduJzs+IK0fe2D5HxVJSZKwbPOvFnKAcKXQOnu\nWd6QS6RDg4IRtrRWdaqwlg0lrb0cAiOrbmlnRpUufeKLxNRV1ofaFAsNweGN\n7ftBwXRwT/QQKjXIOm8dYZuCBAaP7WGrNFMl7EoNZIIuwkMnqYHpwNLVcBgN\nfnecyoTKv8KVoF0S0xxdsLIbHWuUQNRtKseqWrIPKFrUk4rrrhbU56EZxW+o\nBDth\r\n=J91o\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCkxYkHJoGXvTGUIcfqSKMouD8MeUebMr2TGRMCcluAgwIhANIrIfZ4u0vekSXQir3JHxUgCnslik6V9HG4H1jOwhQ/"}]},"_npmUser":{"name":"alshdavid","email":"alshdavid@gmail.com"},"directories":{},"maintainers":[{"name":"alshdavid","email":"alshdavid@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive_1.2.7_1606782634630_0.6655421946937783"},"_hasShrinkwrap":false},"1.2.8":{"name":"@alshdavid/reactive","version":"1.2.8","description":"Generic object mutation observation","types":"index.d.ts","main":"./index.commonjs.js","module":"./index.module.js","exports":{".":{"module":"./index.commonjs.js","require":"./index.module.js"},"./react":{"module":"./react/index.module.js","require":"./react/index.commonjs.js"},"./preact":{"module":"./preact/index.module.js","require":"./preact/index.commonjs.js"},"./package.json":"./package.json","./":"./"},"author":{"name":"David Alsh"},"license":"MIT","scripts":{"start":"make","clean":"make clean","build":"make build","test":"make test"},"keywords":["object.observe"],"devDependencies":{"@types/jest":"^26.0.15","@types/react":"^16.9.49","jest":"^26.6.3","preact":"^10.4.8","react":"^16.13.1","terser":"^5.3.2","ts-jest":"^26.4.4","typescript":"^4.1.2"},"dependencies":{"@alshdavid/rxjs":"1.0.5","@babel/core":"^7.12.9","@babel/preset-env":"^7.12.7","rollup":"^2.34.0","rollup-plugin-typescript2":"^0.29.0"},"_id":"@alshdavid/reactive@1.2.8","_nodeVersion":"14.9.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-YHYUTHWZB9WCXezKR+dttSEoG54hDTJ3uhftSgg09c3Irs03SDWhwKt+gdMwlycMaVZrYdIwL4t/Xni9lqRvPQ==","shasum":"4a1cab7f777da6c69d312da9a9de30c69536c027","tarball":"https://registry.npmjs.org/@alshdavid/reactive/-/reactive-1.2.8.tgz","fileCount":38,"unpackedSize":29160,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfxY9OCRA9TVsSAnZWagAAeAAP/1/7TMjykMdnRpKgT/Yt\nQmnPOABhfSvRkC86e5MMQ7zTK2i+HrYhe7WiFLiSto+qqFH1sZpSzq7Z7a6N\neQZSD9RSagaJUxVQ0WxDC4k0olZ9TjdnIb+QPq72JWoP6L3erTdptP5BcVAm\nBp6g0UD2KaSza9LVVhs94HfygUDvpu5Uq2QVWebm9NbX7YM+k85didAEqps9\nWk58QoTZFu40jUFgX6BanV5G9I+bhXC+/Nty4pJTvPSFcyOZaIo6ysVG712m\n/68KVtSxaPtFaq8Fxz/77LBrGCIxBSc0dAkT3vGTkQlRyI9+N3qr/hXoHWD0\n5JkYycELl5iuj+eSTDcqUpO+q3e98CKRpqEINY/mdS03XCPopMJFfyqMTc3f\ngglU76z/VnWalhlN7bJRwGARZt7pLSbNm3cHg9Ejv+yYhc6pvCrJAqaheNGi\nybvx4dldOtTZMCQVF01zc6VWNKyi/ixK2/3LowK2m829MD8G1gNv0dE0v8GE\niXxCYfFos5pF8+VYI8QCEb6huivKDzOKMHnbpPPGXeCM9eyzVlyQO6lW68iz\n83rZ+KclVOuS8tjGE8OrogxP71yz+MtfgQ4kgnequeuGzbNbtoh3Rrp7ijFi\nJh6YN6TqlzrmP4Gbz+mUFGqb+Mn3bCdK+Q+8mGit7aSftauPcmz/wVfuzfDb\nIeu5\r\n=yAJV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFmyxAZjtbuS91vSCaFRyUFYtQXIsUSNUz96N0SwRHr/AiBXg7GzJ+HFhch76x0R4BctCpM0y0rEsPlYcb9H1ovWEA=="}]},"_npmUser":{"name":"alshdavid","email":"alshdavid@gmail.com"},"directories":{},"maintainers":[{"name":"alshdavid","email":"alshdavid@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reactive_1.2.8_1606782797794_0.5297164490643078"},"_hasShrinkwrap":false}},"time":{"created":"2020-09-21T06:26:32.410Z","1.0.0":"2020-09-21T06:26:32.584Z","modified":"2022-04-04T13:38:58.315Z","1.0.1":"2020-09-21T06:31:59.872Z","1.0.2":"2020-09-21T07:04:30.770Z","1.0.3":"2020-09-21T08:46:25.045Z","1.0.4":"2020-11-17T05:25:50.579Z","1.0.5":"2020-11-17T05:36:19.383Z","1.0.6":"2020-11-17T05:50:44.441Z","1.1.0":"2020-11-19T06:07:14.063Z","1.1.1":"2020-11-19T06:21:42.212Z","1.2.0":"2020-11-30T03:50:56.823Z","1.2.1":"2020-11-30T04:13:34.396Z","1.2.2":"2020-11-30T04:17:23.216Z","1.2.4":"2020-11-30T04:54:47.807Z","1.2.5":"2020-11-30T08:48:11.275Z","1.2.6":"2020-11-30T10:30:58.616Z","1.2.7":"2020-12-01T00:30:34.869Z","1.2.8":"2020-12-01T00:33:17.911Z"},"maintainers":[{"name":"alshdavid","email":"alshdavid@gmail.com"}],"description":"Generic object mutation observation","keywords":["object.observe"],"author":{"name":"David Alsh"},"license":"MIT","readme":"<h1>Reactivity Observation Framework</h1>\n\nThis project introduces a tiny, unopinionated implementation that deeply watches JavaScript objects and arrays for mutations, additions, deletions.\n\n<img align=\"left\" src=\"https://img.shields.io/bundlephobia/minzip/@alshdavid/reactive\" />\n<img align=\"left\" src=\"https://img.shields.io/badge/dependencies-0-success\" />\n<img align=\"left\" src=\"https://img.shields.io/npm/v/@alshdavid/reactive\" />\n<br/>\n<br/>\n\n```javascript\nimport Reactive from '@alshdavid/reactive';\n\nconst foo = Reactive.create({\n  values = []\n})\n\nReactive.observe(foo).subscribe(() => console.log('Updated!'))\n\n// Will trigger the callback\nfoo.values.push(0)\nfoo.values[0]++\n```\n\n- [Install](#install)\n- [Usage](#usage)\n  - [Object Instances](#object-instances)\n  - [Patch Classes](#patch-classes)\n  - [Deep initialization](#deep-initialization)\n  - [Ignore Specified Instances](#ignore-specified-instances)\n  - [React / Preact](#react--preact)\n    - [Testing](#testing)\n\n## Install\n\n```shell\n# npm\nnpm install --save @alshdavid/reactive\n\n# yarn\nyarn add @alshdavid/reactive\n```\n\n## Usage \n\n### Object Instances\n\nReactive will produce an observable proxy of an object instance, watching deeply for changes.\n\n```javascript\nimport Reactive from '@alshdavid/reactive';\n\nconst foo = Reactive.create({\n  values = []\n})\n\nReactive.observe(foo).subscribe(() => console.log('Updated!'))\n\n// Will trigger the callback\nfoo.values.push(0)\nfoo.values[0]++\n```\n\n### Patch Classes\n\nReactive can patch JavaScript class constructors so that the resulting instance will be deeply observable for changes.\n\n```javascript\nimport Reactive from '@alshdavid/reactive';\n\nclass Foo {\n  values = []\n}\n\nconst $Foo = Reactive.create(Foo)\nconst foo = new $Foo()\n\nReactive.observe(foo).subscribe(() => console.log('Updated!'))\n\n// Will trigger the callback\nfoo.values.push(0)\nfoo.values[0]++\n```\n\n### Deep initialization\n\nReactive will automatically traverse an object/array tree and initialize the properties as observable.\n\n```javascript\nimport Reactive from '@alshdavid/reactive';\n\nclass Foo {\n  title = 'Hello World'\n}\n\nclass Bar {\n  foo\n\n  constructor(\n    foo\n  ) {\n    this.foo = foo\n  }\n}\n\nconst $Bar = Reactive.create(Bar)\n\nconst foo = new Foo()\nconst bar = new $Bar(foo)\n\nReactive.observe(bar).subscribe(() => console.log('Updated!'))\nReactive.observe(bar.foo).subscribe(() => console.log('Updated!'))\n\nbar.foo.title = 'updated'\n```\n\nIn the above case, `foo` is not observable directly and must be observed through `bar` via `Reactive.observe(bar.foo)`.\nIf a property has been set as observable externally, then it will attach to it's existing mutation watchers.\n\n```javascript\nimport Reactive from '@alshdavid/reactive';\n\nclass Foo {\n  title = 'Hello World'\n}\n\nclass Bar {\n  foo\n\n  constructor(\n    foo\n  ) {\n    this.foo = foo\n  }\n}\n\nconst $Foo = Reactive.create(Foo)\nconst $Bar = Reactive.create(Bar)\n\nconst foo = new $Foo()\nconst bar = new $Bar(foo)\n\nReactive.observe(bar).subscribe(() => console.log('Updated!'))\nReactive.observe(foo).subscribe(() => console.log('Updated!'))\n\n// Will trigger the observers for both \"foo\" and \"bar\"\nfoo.title = 'updated'\n```\n\n### Ignore Specified Instances\n\nIn some cases, you will want to avoid setting up on certain objects or types, for this reason use `Reactive.ignore`, or `Reactive.ignoreInstanceOf`\n\n```javascript\nimport Reactive from '@alshdavid/reactive';\n\nReactive.ignore(window)\nReactive.ignoreInstanceOf(HTMLElement)\n\nconst foo = Reactive.create({\n  _window: window,\n  element: document.getElementById('app'),\n  value: 0,\n})\n\nReactive.observe(foo).subscribe(() => console.log('Updated!'))\n\n// Won't trigger the callback\nwindow.custom = 'update 1'\nfoo._window.custom = 'update 2'\nfoo.element.name = 'something'\n\n// Will trigger the callback\nfoo.value = 1\n```\n\n\n### React / Preact\n\nThis library provides hooks for React and Preact to use the class observation implementation to create a view model for React or Preact.\n\n```javascript\nimport React from 'react'\nimport VM from '@alshdavid/reactive/react'\n\nexport class AppComponent {\n  value\n\n  constructor(\n    initialValue = 0,\n  ) {\n    this.value = initialValue\n  }\n\n  inc() {\n    this.value++\n  }\n\n  dec() {\n    this.value--\n  }\n}\n\nexport const App = () => {\n  const vm = VM(AppComponent, [10])\n  return <div>\n    <button onClick={() => vm.inc()}>+</button>\n    <button onClick={() => vm.dec()}>-</button>\n    <h1>{vm.value}</h1>\n  </div>\n} \n```\n\n#### Testing\n\nThis component's view model contains state and methods that describes its behavior entirely. \nTesting the presentation of the component is not required to ensure the behaviors are correct.\n\nThe tests would look like:\n\n```javascript\nimport { AppComponent } from './app'\n\ndescribe('AppComponent', () => {\n  describe('constructor', () => {\n    it('Should not throw', () => {\n      const testFunc = () => new AppComponent()\n      expect(testFunc).not.toThrow()\n    })\n  })\n  \n  describe('inc', () => {\n    it('Should increment the value', () => {\n      const appComponent = new AppComponent()\n      appComponent.inc()\n      expect(appComponent.value).toBe(1)\n    })\n  })\n  \n  describe('dec', () => {\n    it('Should decrement the value', () => {\n      const appComponent = new AppComponent()\n      appComponent.dec()\n      expect(appComponent.value).toBe(-1)\n    })\n  })\n})\n```\n\nThese tests verify that the component's logic is sound. Additional tests would be required to ensure the methods are connected to the correct buttons and the values are rendered into the correct elements.\n","readmeFilename":"README.md"}