{"_id":"react-use-controller","_rev":"72-07c8355109d21390b0b8cdab399784aa","name":"react-use-controller","dist-tags":{"latest":"1.0.0-beta.49","beta":"2.0.0-beta.1","next":"2.0.0-beta.2"},"versions":{"1.0.0-beta.1":{"name":"react-use-controller","version":"1.0.0-beta.1","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"https://github.com/gabeklein/use-controller"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"tsc","watch":"tsc --watch --sourceMap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prepublish":"npm run build","prebuild":"rm -rf lib/"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@types/react":"^16.9.1","typescript":"^3.5.3"},"_id":"react-use-controller@1.0.0-beta.1","dist":{"shasum":"8519d4b90f95771503d0fc063dd6d82756984f6c","integrity":"sha512-+fCe00i6Q3EQRe+P7sZjzxTIhBnZ+Y0NwBceQz9/VNz1kL+py7Lh89FXvEzLA/krjnz0vlyGa+RIkRrNJbHOkg==","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0-beta.1.tgz","fileCount":12,"unpackedSize":33209,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdW1CYCRA9TVsSAnZWagAAYDkP/0vSVOVXbMoY3xZHhFxX\nxXKUGzEBBINGBZvTKLB8BdSq1pkQDTpyZZUjT7FcCu1Fn+GstI1puvbYWxpA\nIjXh1ueGLRsS6jwsNQtDDT2OPEYInz4HjpK0aD6/IVfvLX5j6OBPCg9RM8fy\ngKjE2MSIC+8VD/ShlKeLE1XCDkk1bQxiE8NRfj3kXO15Z8oCn7el+G5homh/\nxbE3nyQRHkjpUdEzteT6F1alKnOKXFwEQBMYx4aX59pimXpiDZOJS1WvOU3A\nzxzy4ZRT2+UZccCtKt8f81ZfJooFqtydQYvJHPRD+fMPQBL5Cncv9lWz+q2I\nYbE03R/aKhEzY1TuNlARY/fsffUzPH0OsnYMS+KX4GkSJMWgjnMGmvMo5I+G\npZOr/kK2Oiq48eX8qthEihGEDeQKP+MiuLXPLPmVseQMLPmgB+mtH53Bvlhb\n5r+qenM1eTRPo8ZOmkTWDagD+SDivR1anuWYlc37zK9JAc52xpV5n388mRwf\nVnfHz72Z1sI7FHiSv7EuEbwv3F7MZyNWeRZ5nQ+tV7Z6KBaM0+k0k/N4qdUi\nrlqC00tTeyxWe/i6m4aS/zkcHrVuJBCGSEAZBE+4i+h9mXt5TNaX0ESdozeF\nnSs74FxWXA7EcxgW9U3qmUQDdJ3wZlZP/95QcbNVJsADn/85YB0bE7ZlAvSE\nBLjw\r\n=++WV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQClDWuKJg6gMi++gkcnN5gOPwbuNOjMSYHmJyUgIKgLFwIhAOuayRhWqrXckAUSViCoJ764hBAJ8+Q83l/4BVhopuiK"}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0-beta.1_1566265495857_0.4960068605851733"},"_hasShrinkwrap":false},"1.0.0-beta.2":{"name":"react-use-controller","version":"1.0.0-beta.2","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"tsc","watch":"tsc --watch --sourceMap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prepublish":"npm run build","prebuild":"rm -rf lib/"},"dependencies":{"react":"^16.8.0"},"devDependencies":{"@types/react":"^16.9.1","typescript":"^3.5.3"},"gitHead":"eb6356903d4201cc4c325f51569c253ecfd7a7ff","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@1.0.0-beta.2","_nodeVersion":"12.8.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-bdw5nG0pFg1yWY/vfOA8JhnryxtBNIK+B2WNC3hlSKnCvf86cYhGJelkUAeGqi1vccteMExhkKLyAZSSj2mmVQ==","shasum":"a9a0ee525a349dbf482e4064accc467057d956a0","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0-beta.2.tgz","fileCount":13,"unpackedSize":54240,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdXuS5CRA9TVsSAnZWagAAA3YP/3vl0X4CrtbI3Gbt3un+\npsVWBnq0bvOdAlj5A07fBv4csVKVGVt62Hr8dW34lZY/vDVPCKNa/h5NawLw\ncdAyyH1qo+UKgcLexILrm4QDahSg+sYDi+y2DXM4kcCLalO1NRrWpdADMRJC\nDiv+/vndR8fAKfAQo9zQxgE6TdQtXRAVHAk2mWKyWx6cRrwwmR5GIDa0c5Of\n4RBSUnF8JjRXNw5ksSe+mfkiqdy16rLyIkdK3jxzxt3uvQD31RFtlb9fWY4d\nlG94NvSR2WbA0itPHRtiS67ZaXyQv4YHxG7L4dm2vNzP4jTcM6BK9HITo7jV\nLBMGa18C/bkBu6KiCqKdPTCVJMWDn8oaExOGGlkMsLg3yhQ7qiZHyqoTXk0O\ntzaJf1Kzm+ZfSSWIoUlaSH187wTz3X7BfY1+Oh6VKJVQmQxlI+O7r/0NQftr\n32Zr+8w4XbfaH0PU3tn2F4EITrnO8NRy++tPRyI9L/VYH+kSRUQ7dlcDn6OR\neOr2Tz0iA5vMkTedvx+KCvZ7BPmT9TEMwlbUmjB144YDlv8YfpcypNFnKfmO\nQdv/LuGFRkqsLmbo3ZJUimi0/DD9y798jziIbWCUYbmdPhQKRUFB14ef/srz\nIjow5w/OHsJK2kHegsJK7/2EFI1Ow0POEH1cv5I2im7mlGWxp5cwjGIJSCDq\ncxvB\r\n=KZ3S\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCjirMIiH/aDSMgqYppPYR+PUvSD8ySvLpl91mhDymp1gIhAPEXY0igzZAgppg7SnEJLjhAe7M4jiy+5yTMXcUfRUDX"}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0-beta.2_1566500024908_0.685785829357995"},"_hasShrinkwrap":false},"1.0.0-beta.3":{"name":"react-use-controller","version":"1.0.0-beta.3","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"tsc --sourceMap false","watch":"tsc --watch --sourceMap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prepublish":"npm run build","prebuild":"rm -rf lib/"},"dependencies":{"react":"^16.8.0"},"devDependencies":{"@types/react":"^16.9.1","typescript":"^3.5.3"},"gitHead":"eb6356903d4201cc4c325f51569c253ecfd7a7ff","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@1.0.0-beta.3","_nodeVersion":"12.8.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-7k3vrP0XklWLEugTL/gMfz9ZP1kgvo5kYohCHGKIEytYDNOUvex6NcWYp74kNHnsBrqhSuqMBAClkJBrvP8xcQ==","shasum":"35fd9fe092b28badb8fb85cef0a925ea67ddea7a","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0-beta.3.tgz","fileCount":8,"unpackedSize":41357,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdX090CRA9TVsSAnZWagAADHMP/19pRZQGD6dy8o95Ch8j\ntbbYoz9tnBW23RwQCtidH4fjuGK+vuXbYO/G2k8C3zZJRwWBTSb2FI5IASZe\nNl/b7o3WyrX7aEpST3uogH0rMph/jAIL8oq+sNpcAmfxuqi6CHzdIbCJjLci\njNusdzUbGYD26EGNa1KrxYLQrmEmh3vJxL3oQCOX0C8bW2Pqgg27b8eRxbiX\nxteoGABN3dN5mkcccP/wIDmErvs/+n6DsHmEE0SbcLX6YMBSot6JBnPrMR5f\nXXMCiOMQYaNnLgZ5Zjq0qgwHOU7RSdWr46jVpDnR2BWIi8xeGJouDkTzQ1C2\nzPc9jtiUO6Ui0/gnCAtnr1HiqJbTZ7Jjq+ICNiSpIkycpRjvv7IMb+VJiLvi\nXPWDmsEtwkGnmfTVVLgd3ZJQhpqFydIU3NTbe8eT7scoQwRzpozAgeapIAmz\n/mVWQDgCLjdMW9X7k7EsOQ6a02tKuTyfn6c3r+MQNTWWxiqGykIRpIVrNViX\nvOyB8Z43NAlH0m/GU7V7TQsPCY0a02c4f3OnNij2fi3f1LIxXW1N2p0f6Ol1\nApjCdk2rTOax/vyr7wo2gfwWGqJirlg9vPCnki6A21cK/YjaOPwU5x7YEkn/\noenswukGiiTIf7q9Y7HLstIj4hvhSyXwQ79u/78+9MchPB8nuS/V92FIyHEo\nl7T/\r\n=qjNL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCY/JmkseCsj5uOu4PxTxb7FoMoQ5iebZOvlGtb6eR7CAIgN32fQYeq81Psug34ehBbMbG7+2S6PMr+C0vBWq7mKfY="}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0-beta.3_1566527347543_0.15632494953238152"},"_hasShrinkwrap":false},"1.0.0-beta.4":{"name":"react-use-controller","version":"1.0.0-beta.4","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"tsc --sourceMap false","watch":"tsc --watch --sourceMap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prepublish":"npm run build","prebuild":"rm -rf lib/"},"dependencies":{"react":"^16.8.0"},"devDependencies":{"@types/react":"^16.9.1","typescript":"^3.5.3"},"gitHead":"9a4f701c7a246f467d2e9ab935707985bde25466","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@1.0.0-beta.4","_nodeVersion":"12.8.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-qkGxawykkcDbYM93aJtEl7uXWBMVEiLzfIFjl/CfU3J2/qnxZciDgigxhCGNN59lYYgmp/vO8Zk/SGxOAGZMEQ==","shasum":"7bb8ad94eea2227ab020db7ed94b1007348015dd","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0-beta.4.tgz","fileCount":8,"unpackedSize":46771,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgFPmCRA9TVsSAnZWagAARNMP/R7wgwJno8HSic7ToQuv\n4IiI3eS8cq0evJHODwTdBY09e4w7Wy4fxBORutQCfZXyALfT2nOJVKW/UApI\n2r4zxaRK31BbR7g6suf2lui28k9KruKa+z7rHryZpsQuLql4qc8oQ4DZIwb8\nlOaxsRo6Dv48CopxuVMxVhsJB0DqCeoSxI36FHLItwNBZdvJs3Zl2/2raGHp\nsCvSHTmbjge4yeo1MtEbHx0dMek4owrsfY1OSPW1uY6jAQ106NlJzyYlU4kL\nbQSMIIXrCLizrjdbPr2DSJvAyZq39jseql+lFpS6yJ4rqLNywQL0gu7RPyro\ndnfZTwb1KKqFl4XAW9jj0vsvSRVC3k/arckqg0qJrONrqNybTlNhO5B0jCWo\nGQadj2niRSVXEoWz+Zinbi0znoFQl/uLusIgErm7ul1IclxkOgRkQUilvi9x\nUpWwh04WxgLtrIOR8aIiLj0u2Za/OwHo7JwMWvjTYVZc1QGEC3Yks3JSl8cQ\nAnWm7gVRW7yQXTxKwA4lodxVkwPOQUVeGcaUShvATCY6tEM2PNtlCW0ALclg\nUbg3Dix8o/19lbH0cQgkIrw67Pn4W+6AVdBD+83thMGpDXIIIloDxNWwdGZ2\neMyFlOAHLcNXBPD3K81OK7u8CHGkhOyncgnOOnn25VW/wcKuASMHb3UH2ond\nsUcU\r\n=8bMY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF4rf5PFnFYmi/zS9xxjrQYMr66PBeskJrUoTj47ZhOIAiEAtb/mIPwmXxW+1e/Cp/vGovi8iKl21F8aex7PzXNX8yI="}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0-beta.4_1568691173867_0.9873642391703725"},"_hasShrinkwrap":false},"1.0.0-beta.5":{"name":"react-use-controller","version":"1.0.0-beta.5","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"tsc --sourceMap false","watch":"tsc --watch --sourceMap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prepublish":"npm run build","prebuild":"rm -rf lib/"},"dependencies":{"react":"^16.8.0"},"devDependencies":{"@types/react":"^16.9.1","typescript":"^3.5.3"},"gitHead":"72bdba89b2519c5e148f366b901f6b2b6fa4de22","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@1.0.0-beta.5","_nodeVersion":"12.8.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-B/x2oFBq+25zA8MO7AIvSyoVkchKxFPHRbQ8/oUOiiQCTxWIRZgSka0itmV6NE4kVMdChAwfl8aUTUdfPMkKfA==","shasum":"9396c288bbf7d5b1b45a7b2d394be03ce4385acc","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0-beta.5.tgz","fileCount":8,"unpackedSize":46833,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgFovCRA9TVsSAnZWagAA1qMP/3joHToJ9TreNTLonoj1\neobSEhTBIl57vtlaZmcxfNG8JZ2+cXWvjgf0pjve7GNuWP8AGJnPtjpwhV6d\npuP+9rXNgs1rR5t3Tiel/WNTB1LfU/ugklFvVEvJOv5erV+pp+Z9tCfbwaRr\noJfAAds1KtV0coHufo6XJkZA+2nM93afdBRY4wJusx8wmOp016C+4IVrBzlt\n0Pk9L7SR2VbGtrvCsNBVukL+be0dmVUHqHbVzyZ9wWNBigGraLi4nGIMsRGb\nEhL780meeDR3svtjugn/jXc1qqvUbEKneY0c6ovfPwPjCTGADEb8ddflOg5s\npo8w6QNqTF1P674/9rq7pgzaYYZPQn9sLdnfGfzslnNChC8Gg7HejEXctGW1\najyK9gd1adurC79OPd+1JtJifk7GS5YxQ+agtvgodiK7Gv7HEd0iw0s8Uc1T\n++av+FHEDCeSrrXORUGsT9zQ+h7GsEjZBIMJsVj8+Il0yHomQ/C52ps9uxp+\n39bkuXd3wlbw6vpbOGUVbB+dPwmcnC/VtGOyuL4mFPGyl/U3EWiZZjsxJBY+\nMe1aEb5Zhw7/wkMMD+DHtMHtR8IKthMTelu3CJ5am7qB6TOfOZzrou/VqfE1\ntBQyg83DwHv75GTTh0tlBc2yoAxGfJnrDKjfa2uv7nD9S19KYnXjrXV0vC4S\nNijr\r\n=fMY7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBJzgJJhcsaC867Y6SywcxrcmkiCmXhVnzDvP+FyoNxnAiAzmNidzVE8237R0aIbqLrfDZMUIDzsJ/Pa0QEDmrRm2w=="}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0-beta.5_1568692782626_0.604511979865227"},"_hasShrinkwrap":false},"1.0.0-beta.6":{"name":"react-use-controller","version":"1.0.0-beta.6","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"tsc --sourceMap false","watch":"tsc --watch --sourceMap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prepublish":"npm run build","prebuild":"rm -rf lib/"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"react":"^16.8.0","@types/react":"^16.8.0","typescript":"^3.5.3"},"gitHead":"2868b5ba5ff1d826ccbdb7bbd10047a8f3da3e00","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@1.0.0-beta.6","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"dist":{"integrity":"sha512-myzfi+/Kui0BsygJbsqrUlHAf9oDBVY5HnY4x3nV4oOuyLCIfVbt9HCz+PrlTMKN6ivnGGPq2G6qEA0YRWYQWg==","shasum":"2b208c0e87639e9662e9b85e431b7ceb8e99ff71","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0-beta.6.tgz","fileCount":8,"unpackedSize":47762,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgS3NCRA9TVsSAnZWagAAE70P/0qHLMJhUNCBS+JudXOt\n6gCw/Xvrw2rGDfKEhGieCf/0Vmf9O+4kfJUPAX7SldMQILOxabFQ/70L4V9P\nT8N7TEx3v9VabGDZX9YsYU4Ggvz3JETN0mh84fvGfXWHtIsb5qNukazx/DrR\nIYflLJZf0ayDKm0JoetT8DEDWU9ZjsbFNE8aY/Ukde9lfuFo3y0Baa3eyltO\nxFnOwoSDaqQRaWzcK58fr5vxbd79/oyNYxzM7LxFD+ycrE8aSUsFhswgXLE4\nGsrjN2YuWNerIXCH7TpdMxPb57LxjdINTSZZkiU3Lf/DS75F0zRSMgJV9m/k\nS1vebyeiVZgsbYi9ZuuouLX5piabZLQ9ht7UqQrqDdwJFevEpTZuCUcK0f3V\nkAr9dJC9A8d4ZIC40LP3IcGjSYiqDhF9F7i/kpESxNMfiYUfvHFHvxsVVYjC\nRml7wA0vUunNMwETchNkG8DAnTLWkoXooc4aXI38gcjXOjxMQoFvfFZ33JgX\n3RHM3+k0TVh1y9K1LmedRn9zuG9MWy+ohzoLK7XxyoTge6VMFcpZA2BOnpb1\njw9YQO2G+ksmeWm72ZoPymAFshwOnqR4tUkDGnASRAcjtkfZwylPtwjC4yVj\n+LteZm1SFbdPzrBrNQczkpoFfNbsNtfoTmqvxA9DMmNYTpmx7ZyYjLcgfLU6\neXKf\r\n=72gx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCU0mp0miBcYA5TJI+pWEExhSiU0DGdMv8ZWS3YAqqPigIhAK3xxp6SbKLG75qbPp76J6+J8bwxSioshUi2qLuZnmkw"}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0-beta.6_1568746956950_0.819414352749007"},"_hasShrinkwrap":false},"1.0.0-beta.7":{"name":"react-use-controller","version":"1.0.0-beta.7","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"tsc --sourceMap false","watch":"tsc --watch --sourceMap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prepublish":"npm run build","prebuild":"rm -rf lib/"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"react":"^16.8.0","@types/react":"^16.8.0","typescript":"^3.5.3"},"gitHead":"2868b5ba5ff1d826ccbdb7bbd10047a8f3da3e00","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@1.0.0-beta.7","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"dist":{"integrity":"sha512-3FGjCrMTqqdCCbWG74rwkRJCO2JerVUbILNqvS+2qDfTANZEOKecBY7a699UBN0UPWIyDKRUxPQibUjSe08aDQ==","shasum":"65316b7e8f32b69ba94f8c151de873c14e4888e7","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0-beta.7.tgz","fileCount":8,"unpackedSize":47822,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgTgpCRA9TVsSAnZWagAA6LAQAIYcf49UMnmi6dxl1ACx\ncRVSmrtha187y/dPv1aii9uLKk2/xEi/qm7BBbCQF/VO6RxzV1q6YiKRYC0C\niNbgrk0eX+aV5zwwqjO8aoTrjzDhgp+MoUQHKK9d2qiiIWYj2NhLY6Jry8lI\nDEyFubUPwilbK/TM1C92x4ES8Nn2V3Nr77DI59jlP0JjpWj2fKGj/pbadXYb\nRkhjfIcbMMWImvw9ocYUNcMAqKFwpyvpzXONGqUu5N1oz5FXA/cpRvAmoXdR\njdxWzdO19An0j5thannXmHzvweoiiCxhnOy07dfjQCt87VLsOnM142PnZ1G9\n6JWf7v7RWEWQnXk/lBRORKZ+qbzi8pxVtitaISdHfDbS4D1G+DXH3eYQ9vW5\npbngrXgxXF2L7FtMzqLFpfa4ydkmfXAJ4PPUxhYbemUHb/7RXUMrDeqstU0j\nudrO5NyNOSPZID84ZSJXVG2b4j5b1Puh4WUdaDflA8mtUM/Q5jy/2M9kvNDZ\n6d7ycY2hWM+oWGpK3d8gIy5b5GIX/eLlfYrDgcH1KEtv8Nnu537AZQNKy9JX\nAFezMpJEjm5mOXjF1R4BYDBkLWiqvhtCERP78R4QZkQ06EGQgNRCkkm7gZX3\n/wpJ3XUO7k/9GRxlndLGjfKCbcBDKSWoSN0KaR1KSgpjypcGkrJB2q6ispW9\nmksN\r\n=/ZGh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHAjOr4tmDKtuig0lo3eezLyl5I25iRu6dszYFD12bmzAiAP6qKxHT6WybQrbh1UsZ5a8JQ44KKTgVUfLVqJNnJNOg=="}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0-beta.7_1568749609147_0.7189351343146257"},"_hasShrinkwrap":false},"1.0.0-beta.8":{"name":"react-use-controller","version":"1.0.0-beta.8","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"tsc --sourceMap false","watch":"tsc --watch --sourceMap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prepublish":"npm run build","prebuild":"rm -rf lib/"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"react":"^16.8.0","@types/react":"^16.8.0","typescript":"^3.5.3"},"gitHead":"2868b5ba5ff1d826ccbdb7bbd10047a8f3da3e00","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@1.0.0-beta.8","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"dist":{"integrity":"sha512-mPeBWALLtQiw0u7mrhDK99m3XSj/c8esDqVKcuxinXleu+eDXvn5FTiHY301oVSjV5vWc4+PtZsiMhUFVyfB+A==","shasum":"831e97cea9a8180d8a01cb950b4298f54f810153","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0-beta.8.tgz","fileCount":8,"unpackedSize":47815,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgXSUCRA9TVsSAnZWagAAckMP/1N8VYdPkSc6vnx6McgO\nXZLUZCs7vBbzqdr+/hywFuXSMsHIHwEwKc4USd4y5GfXCyh/+bDaoGjyGkSy\ngeFNjCjvuUgbqOufEwJXkES89hWd0PEI1rd32I1CUHoNJ2cCdflLrjBzptKp\nzh5iJrGgbAtjX9HzcXd0Vx63s9mFDBkOsOSdHP/VO9Aq1WVySxLpoLOckT81\ngF9KNx6py8c/+3mSqpshk+qWgbQcq/AVGr6rxhmk2M+o9DQhCSG3SjUgpinK\nUr3rXHuh3mEXEMDmZbubToyiqxSBlgDEEMuVCMm1wdJrwHjRiyquYgWibW00\nwRCRDEjouDHnXpdum98YyN2vuj9GzeDVeNxJv4hC5FfeRrI/tOfg/YYeUkXx\nWqNkfUx4Q2R7eh8vNMr57dW7Us8J0nKljrb1pYmxhSXos5jAr/SaX3iCm3bw\nuq9i0U6PLlhiu0PS/IHpf27tC3UWNe+VluR8xJXf2tR0/WkcD+HIK/h3p+CM\nrhld1Bsllqu8UplHRORj6nWMa3HGVMewAKStf3hSKA3kGs4K9OMCSjChT7Ke\nsMrDHgP40sNiyihnoy0PFmH97VwwKEUC+FEFtVkPUmBcpABp6mnGslIEXLmi\nLK65JjGDjzzYmaeVoWXLahI7PxZXTAVt9hDto5jUSSJmfco7t8uaa7TWHnUh\nvR3a\r\n=X1xs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC0qtOPq9kBPNzFh1TCHsEqZkcWMcvaItKJIJbu50j8fAIhAM+sUa2ez+3zEkmrOuT5uPQMYwOcobpFydY0NNMhBvEc"}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0-beta.8_1568765075901_0.5999458679487208"},"_hasShrinkwrap":false},"1.0.0-beta.9":{"name":"react-use-controller","version":"1.0.0-beta.9","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"tsc --sourceMap false","watch":"tsc --watch --sourceMap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prepublish":"npm run build","prebuild":"rm -rf lib/"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"react":"^16.8.0","@types/react":"^16.8.0","typescript":"^3.5.3"},"gitHead":"ba6d394940ce1fc498721470210bd686fbfa491e","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@1.0.0-beta.9","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"dist":{"integrity":"sha512-Zc8iEKo8pDat0I3mt5Pw+h4dknjAE/7sRaOugRvedB0uJrscR7UAJciK4eZVqXXDP0nmSZYPxjyAzSQiwUVlOg==","shasum":"03a68aa80f6de8eaf32ada823bff84e2be6a9940","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0-beta.9.tgz","fileCount":8,"unpackedSize":52253,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgsh7CRA9TVsSAnZWagAAgTUP/3Hlw1BE22fCYl7MJQRA\n/q01JXciM+R3sPRwPDvOgvyemzfwY+EWtwznVjvFSYGYnDmqCALcODw8YxEl\nIHgii9sC0+ieKQJcl6VVDTDGqoSO+KVWTgu3u2eBmSl0nNogxzvXrpXBq7fT\nF6m0TpbqO9gMo8m+WddVbXQVxlbqToNN+f0tp46D22uez54ji1Z00jtqlPa3\nb3BjZYNwS/fgz3c4ZkWhHeF3QHuet8R4PWtJ5muN4Gp68tsHLqTdWEppxvdF\nmU82a8pgneatUVUpPuBYwFmFz3u6C+j8FtfCu5QbEXZ2LJ+1E4NwVywYQ3Ze\nBtZ+2ShtxBll5E0WkccMH15HzYrWjhbdupJVcSDvbSjp0UZP9f+Nm7YCEpvw\neGnA82RvUDmJCuxHJj43ApnYgNiWzSbaosKDYOa1hDfbAzmsZQi4ZhhdDpw+\nnBiLlivUQS/Wcs6rVVgbGTbRxzEaMrTMjr1Wx9XqyPNl+ZchnNhjd5/Zqsnq\nO+csmRi3pfx2ZSW/N6vCUp+KQTJbPYX44FB++t4R+aZsKmYS/D4+yeoiVIsD\nPVk9dNhHxT1NpQrPPzUrwzdfPkRdz07SxCi2ED1AETbM6gQU9NUUKRWGjx0o\na1PN9JFGwO4r+CE8te+Xicsc5MqLj4/cvYzCWLa8EaE4wMSk2YrJmdFRMSlV\nse6s\r\n=VEjZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCMj0bUt4AVH9t5nXT72EUaDpO1OM97RHWblB7WJ+mu0wIgBOhl5TKtlS7iTEVExb1aqr2svWPmggrA9kcCq7NuW04="}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0-beta.9_1568852090411_0.11582568393279691"},"_hasShrinkwrap":false},"1.0.0-beta.10":{"name":"react-use-controller","version":"1.0.0-beta.10","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"tsc --sourceMap false","watch":"tsc --watch --sourceMap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prepublish":"npm run build","prebuild":"rm -rf lib/"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@types/node":"^12.7.5","@types/react":"^16.8.0","react":"^16.8.0","typescript":"^3.5.3"},"gitHead":"860cceb5729f608c60fc98157875cb6255d3a39b","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@1.0.0-beta.10","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"dist":{"integrity":"sha512-9Sqy0bkV2nbVBhm527HN6AoPK1Fe0UuwCdqBF3eLdUV8XEErhFp+iMsIQo6UpNppfvr5lYQTAWOTZn/sfYlG+A==","shasum":"28a211aff01b3a468a1a5b658cb1363b7c73d64b","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0-beta.10.tgz","fileCount":8,"unpackedSize":52317,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgs/jCRA9TVsSAnZWagAAOhMP/0+xamy3sjTBaVqC3l9E\nQq9+aR239NX3yIjdwxCzDJOYxHrh5RxLli3ZbMRz0LnBG7qD+Ka36r0501X/\nKCpdEUg0AG9+lSz3+tmEmGuP/mc3cucc7eYBBJm8kkC5Ob7ymq/MVOdelvhN\nARehWPqyTZd5LwC9ZxjQ/d77nQVC8Syuc3pN+nJOSfaJbSyq7eFE9CTxXj5Y\n6+v/A0DSmSHNMoAG9MdDGQW+RDAvuxuaxOl+/WgMQ4kJvzjMGyXp+9Q3MIZp\nBHFUMsspgkDTDXxLX9H1b9dJIX+nNtaGlq2OVyyRQEHCb6pndXPp4F8XxHJ6\nSAoS09ZQCwd0sdi5TNkDaZItHEaeg9SKHOhD+M0SE8D47d77iQoUDzLeRDmt\nNFu+1wtfV4bFNp4Baq/o4k292skr+bpsZmIlzoGv1yruY9XyDvQK/oXkLshB\nDnlx1w9lNknUWYGk3TU4Vjq03lJC5cNxSxtEIOOpF1Zfj584lqynAoo2tliV\nqVHPoy0ANXlUts6Qh+EcsJl0qPh5Wk0Nj0PQmo5dYs4RPxSrdoasPXSQBidP\nEKqmWpqOK9lt/U+V6nzijTTcwRYqMJO+aOzkQMAq4Sq8EdfE9fTeqk7CZG2c\nr9jmwmTQqd7a79Nqw+4aYWv3LAmMGTEi6Z9rtg+7t+LMHxV6UA3Bn8Pdf8W2\nr10R\r\n=fCfd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGfBxGBcHxbmR3Ukh3uh3NHZEwieFj8E1qxdsqvuY/JeAiAz+VPbrUJase0xrNuqvy4hhGdHQDWTTlYcUqjoQdeCoA=="}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0-beta.10_1568853987115_0.437919002152964"},"_hasShrinkwrap":false},"1.0.0":{"name":"react-use-controller","version":"1.0.0","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"tsc --sourceMap false","watch":"tsc --watch --sourceMap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prepublish":"npm run build","prebuild":"rm -rf lib/"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@types/node":"^12.7.5","@types/react":"^16.8.0","react":"^16.8.0","typescript":"^3.5.3"},"gitHead":"c502b8b4eedebfbb979305e22c98db6a7d2736dc","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@1.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"dist":{"integrity":"sha512-2aJx1fnB7Z1tDixj1nRMiqC7H2Mpi3fOha7qu4ECPbxmdNOKaA0oK/vMfL5+sVNVV72eLpQjbE8w9NWLKogBuw==","shasum":"8688d41c04dce34f57e8d3f4af27568a6baf6f04","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0.tgz","fileCount":8,"unpackedSize":53359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdgwgcCRA9TVsSAnZWagAAy/YQAI9YwjQB3CZkxqXue/hB\nV/PU4/lJbg7032nQfHV4smjY9x5VXUuAhrU3UlMhzibdAISeKBIfQREV5S6X\n78KQMW7LndOIS+T9m52o6dEvySyP65XBdxcnwYg0taS4YLuDRvXhJ+Dy3zvC\nVvAs3ucqtzEXPeO9eAcoYYKqc8dyz2wP42qwToiiqkN8ocWm+tBWR7VECvUK\nI+WtJU81+w4WiK6tc+5cjDFxA3eHUG/3Gaqq2ewEQVbDyD2mi9lyTYaTD51J\nZuOA/ptrEFH8J7CfwKpxqBNglWJQ3U1GgqDGdou0cWv+3RrQwdFxOEnQBBR3\nNMs5or1W4mI7dcf7QfZkt4j/porAtGzA8eGdMSFA260TbLFxsrGJqEZPq8Ms\n+i3XPFaNkF6Ndb0435EDJ2cKQO/+gyRlKrsig8FhkEQDQ7Qk2t6j2mnj7OH0\nicdl1nJ80czWn9NO66rB1gqeWFOICD691lHh6NTUgt0kJiZjYdm8I6SXQZyg\ncONumAE37V6GKrkGwfiXXmKO9OpXAPPJOiLkRe87kWvsYbJTWqzWsGIswY3y\nfHuIXZHgLP9m3RXBfqr9mPUdKOq8SJWRBz5Tygt3Pmo1TNdiul1Yy16OWU6g\nmDd/NRwgQ4W1yvTvmRs9luaTZKhwoIwikzJhMHdz8KL1xKO/3cYbsrKhl9XQ\n8N1h\r\n=3zkL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH81T0YqASput7nqcMcwA1BAC+tyMzEEEISiFLp2C8DNAiEA9WZcfOi+j2cXEGYk2nS5aAKj4fVcZSioj5JKXzN40kY="}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0_1568868380049_0.4693076934198077"},"_hasShrinkwrap":false},"1.1.0":{"name":"react-use-controller","version":"1.1.0","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"tsc --sourceMap false","watch":"tsc --watch --sourceMap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prepublish":"npm run build","prebuild":"rm -rf lib/","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@testing-library/react-hooks":"^2.0.1","@types/jest":"^24.0.18","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^24.9.0","react":"^16.8.0","react-test-renderer":"^16.9.0","typescript":"^3.5.3"},"dependencies":{"ts-jest":"^24.1.0"},"gitHead":"ee23e68a78c94103e513a461c15dc01477c217b9","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@1.1.0","_nodeVersion":"12.8.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-cnBM2wRhwXcty8qaXVdS1y7+9Bf6NWv72vRB68kW06MzxGhpZM8z8VPfmY6wx1v/33yv0at3ywOXcaKq+l2QSA==","shasum":"dcebc7384e9fb9381d0395eccc03cb181cf9cb21","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.1.0.tgz","fileCount":10,"unpackedSize":56874,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdkpmiCRA9TVsSAnZWagAAL3EP/iUFSByg1vLErXzmRlzY\naow+bfRpdCzToG6EfSzy/ybkTpVw+AaGmB2athR6C6YU+RRGBbuUIgMziAjq\nJZHe7xpxmRw+YCwTH7d0jESZUpbK0aXo9oezUOgIU7Z4Fl5+OPp4pwXNR28r\nEik1oj9NZXeA6FH1UpZN5rmsvpaAAO7t3fcudzNzRkh/LAliDiUqKU3rdzkX\njsRXpFtiItvDut/HDcUN6rpKoZvqBvDYwxNS/BEzm27LkeNQz7tGejyuBaZ/\no0Xuq+X5eivxYOA1SnVAH7RyZ5Qlo3VAfc5UeN4mm/JlGgOBbhu3yauDaihm\ntsmQDzCUjKWt/fwWQ1iXUa2IYNaHJEONFRFJYZFEQSy/0StJnGNKpT0SpDPU\nAw1JDRkFlNcZUbXhEr1hnDKkl2RHe3g2/OOiBVtDPhYSFPwqdnbWgc45Mxpd\nlVmak/fktZEZhAVtBDhojhACp7r3rfv69Nqhw4OShv4IfbfsHlS1A2LDXMPL\n1FDviToSQV8IfUpRY3pSkDKSijfB2vdSwio1vo99gXKun0LWTam/mzjBqC1x\nSAYlkzaCYM3nGPTEi4qNB35QrX7sSIiS6M9rMxuayI0yeZ/TTN5xw/jazTZk\nZjmAyF3u7X79su91yNku7F8PBSn2FwQgDly0pZzMR2zlwmTlMtNnmrvrixpE\nL76i\r\n=aXqU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEboOUR905gsqaT/t36enLuMNAwyOqaR8FCmOHiaRZ+QAiEAvnulnBw/GlAMJBV667lc3BGrozyprFZQ5a2lSi2gg4U="}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.1.0_1569888673321_0.7583711115509595"},"_hasShrinkwrap":false},"1.2.0":{"name":"react-use-controller","version":"1.2.0","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"tsc --sourceMap false","watch":"tsc --watch --sourceMap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prepublish":"npm run build","prebuild":"rm -rf lib/","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@testing-library/react-hooks":"^2.0.1","@types/jest":"^24.0.18","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^24.9.0","react":"^16.8.0","react-test-renderer":"^16.9.0","typescript":"^3.5.3"},"dependencies":{"ts-jest":"^24.1.0"},"gitHead":"afd352df642d92dd55cbd3e3f8c7f9c173052de6","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@1.2.0","_nodeVersion":"12.8.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-JuVaX5CiiCihOB7MdAlNxwie6Qk0ifesO8DmTFFWpNpiReCRsP/zA9rM13rI4LsT5L89SYy6E87ZtDTyn3LIYQ==","shasum":"80f8c9713e28f4b384048cdfb00d058012da4438","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.2.0.tgz","fileCount":10,"unpackedSize":59838,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdl4bECRA9TVsSAnZWagAAPKkQAKEGil5jqHl9yMeYXOtx\nmS9xub97eDf/F52ivx31spUrW3IzmuO5ZPkyl/J6fpMIHEnUz1MHUmT59FLK\np93hT4Sn8ErTqR4oU/bp+eMQIRa53XTxiK7SD31XtBd/NCWMNcJtyZZC3GH3\nHBc4lrxyw8lgBXm7a4bkVI+U4aqFLi5NXPcC1wzaQB+G+WLOOWXy6ui8e6qV\nUhRDJRBj1UrESFhPiZsXJFx4XPu0PAGnku+r6vdMCZPRsl6n+B2agw4IUjlW\nbvNBFqHiolJzvtCRJnapgbcPWHHIZzWQ1BNdJcSpLpMtVlRQdD1+eKTj9q2B\nx3biV8lnkN0OkgXDOBIOFmaDYxpDLE+6UeRBiXlcYDFbXiearnx+dAWmW80u\nJKqN7XCpzOX6ufvcxIdlnuoqAI+c87SRCOcMXNPNkqznn2RPVtTZdEOnQQ96\nSxcbpHcCLVOOa34fCSGPRDV2nEgMiULrvoK8UpYIvptUwUN0Wxpx2N+YD07g\nFH8EpYyG9Gff5WLf4VZW1C0gc/b9dEQTA6UBg9EX6uNxgs7KKuEtDEcucjry\nZ26Ar3MkbeL2tJIWowTwlDdYUCiXAQGOnDtJ50vF29bJEh8H3QKxxju5WPag\nSJpUOtGYtAzpfKBEGqKpLYPVTWbAXAcMHL5uuwbsywsN3b9iunuB8exsQxbM\n3oFc\r\n=UUTT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAnn3X+wLi35MSaSyg3MUnah8Rcafe8cobBvgOdfnHv/AiBhLlBdOFDS8cciCmBamwK4k4sFoLPyCqyg98CYUUycsw=="}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.2.0_1570211523174_0.7763759143106512"},"_hasShrinkwrap":false},"1.3.0":{"name":"react-use-controller","version":"1.3.0","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"tsc --sourceMap false","watch":"tsc --watch --sourceMap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@testing-library/react-hooks":"^2.0.1","@types/jest":"^24.0.18","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^24.9.0","react":"^16.8.0","react-test-renderer":"^16.9.0","typescript":"^3.5.3"},"dependencies":{"ts-jest":"^24.1.0"},"gitHead":"0fcf84fa6b963ef825f81aa000302f41e5c6edb6","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@1.3.0","_nodeVersion":"12.8.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-GdaFF+rC5uz29hLxwhb4iF6fY+B0q9KrfMq2pHig1w3MUA9925hy+ikO9XnmsIysx/48TL/u2ggVopVNAEqwUQ==","shasum":"33bd585e1106d675eb55a2db5dcc42502e36f9ac","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.3.0.tgz","fileCount":10,"unpackedSize":59932,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdroo0CRA9TVsSAnZWagAAMKkP/i+Z2qFCBfRkOYBvPejl\nx448UYQeE7A7TO2o6Nq9lNTlb5arZCqEfMhBrpsDO/lwm0FugZFCfFnFhCjg\n1I2h4dLyUkCalBmh9G66oM8nwsVHJ2erAjYZFIxSNNcjusuBozvujSujlw9K\nG8kvaYbk2CtgLox8uoJPcJR9Nm7Ep2rJIO5xTW0iYz50iX4d3kQfM1aJHIXv\njMiqk7TOO2yFvM/Fnih6T3YPP2YVdSBAwEOrGQINrSFZEdEgpFLp+MjtVcKm\nJe62/LRddxaTxLufFtVeoi6DLbEYdzViWGKoj+y+snxsgEWb9JZmn81KhlSe\nSrIvM8gsNLplhud6eE5g4v4xKoLdFKYJsy2f4TdUjhaaduo5UXIu6xiX0Hg2\n8EHOJ4d+q9sjsgp1YI6dyjUueGCYBae6letkEuv5UHY4MQtdB6QPhojb4GrT\nNDRQlyhuEtc+sp8glVg7+z6asgt/pjzX8/aW2NmS8/Qrt+W/eFSK4YHC8eDi\noOliSq9uXpAax9FL8LLwmGjGhbTpy7TZnEtgbqQ8n+VVROJJz1qShjI/4ikV\nklzxtUajQcR5Zcowx7+MwRbP3dnvwJHCbsMOzRGuuxV+jkngNdA1Mx+udcN/\ncGovxdJqAJ/TKumNTguchy00KN7PNuiuLK8uej1DFTMRqZxnEZA2Ut9kftH9\nUkQM\r\n=BKtq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCm+JWd/jAkIhuslY8vywJvgZqFA+WHjL7jNma0ii498gIhAPoRiVpp/RltIaiWcIff9rn7RQhRiaBQNiXelVXJ06kX"}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.3.0_1571719731169_0.871195379970148"},"_hasShrinkwrap":false},"1.3.1":{"name":"react-use-controller","version":"1.3.1","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"tsc --sourceMap false","watch":"tsc --watch --sourceMap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@testing-library/react-hooks":"^2.0.1","@types/jest":"^24.0.18","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^24.9.0","react":"^16.8.0","react-test-renderer":"^16.9.0","typescript":"^3.5.3"},"dependencies":{"ts-jest":"^24.1.0"},"gitHead":"12286102ff8479add345b80990959f6594df45bc","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@1.3.1","_nodeVersion":"12.8.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-YoXRE+4S3eKjx9AvEXPVbWuoCBsN8c1Kq09Pjq0BZZ9dVFi54SrUOPOSSaflm0mQzhPzPWb+xFCOzbosQ64aaA==","shasum":"da7d917b7848af3250b367fdd8b5ad679022992a","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.3.1.tgz","fileCount":10,"unpackedSize":59949,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdtez2CRA9TVsSAnZWagAApPgP/2nEX2xAEF319phcqiQB\nBCC5jT6ruV1ZzD/TQOs1vv/GPUdsZeJKVUPr6h1YAWsXwMDA7Sd2h2pe9LzK\nIH7Wse/yD0Xk4B/EDvAjw4j1KofVDxou33PJ3VSfO/87BWVklVe5fPsq+R3x\n4hg4hZa/DiQ0eWeo/1MhwcHswRpqBQi0gMjJD++Rk7P5g28QG9hXY/TjuTxW\ntCkisKgeh3BMmLd+z5mml7VfFKN9cQByiBqfDhFahv2IJdGNfARURB/uyf/I\n0YdbQdlU1gSt7TFDYwYJMzz6DmIa2olmYPa5hY56v7Dudlf9Gk2g/PbIFq0z\nvAvzV9v2hXo1xtCm8gQWIR6hFX5FVIC+Zyu/4ZzWOEscv3Q9Z72xF1Baq9iF\nIih6sJJkUZxnq2dajGgPtUqXj/IP62KVtPE5ZY7rZmTt9rGped39NbpMLQ4S\nnSFiid7CuJgB6iWtX4CVLR44OjomUfi2IHJc4mSeCa9+B3aUwzJgExkl05Rq\ncxHTXWroG0yp96BHNbNclLTxB2lODIZiEilkwj09L3YEwOjDEjZe+D7nSffR\ncYev8udpOXndMA/QtSwsrnfHES1XaZ1LNspG2/cd7SqOIYvt7Cra3Av2RK9g\n+UZjr0d3iJ4wbNRQ6ZnOH4vKtUek1Hl4Hck6VIqd2jqjcBGhZgDZYwu+PjD0\n9ihO\r\n=g8p4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDfYh8YlBk4lI62rKfbZ5UlkRu0AI3jqmLkGiOfb7HS1AIgK6bYt3Ei4O2TSuYswoxwy8QJX1qcaM8gImkEeP7K2M4="}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.3.1_1572203765865_0.30248411594597857"},"_hasShrinkwrap":false},"2.0.0-beta.0":{"name":"react-use-controller","version":"2.0.0-beta.0","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"tsc --sourceMap false","watch":"tsc --watch --sourceMap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@testing-library/react-hooks":"^2.0.1","@types/jest":"^24.0.18","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^24.9.0","react":"^16.8.0","react-test-renderer":"^16.9.0","typescript":"^3.5.3","ts-jest":"^24.1.0"},"readme":"\n<h1 align=\"center\">\n  react-use-controller\n</h1>\n\n<p align=\"center\">\n  Turning plain-old classes into react super-hooks! 🦸\n</p>\n \n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/react-use-controller\"><img alt=\"NPM\" src=\"https://badge.fury.io/js/react-use-controller.svg\"></a>\n  <a href=\"\"><img alt=\"Build\" src=\"https://shields-staging.herokuapp.com/npm/types/react-use-controller.svg\"></a>\n</p>\n\n<br/>\n\n<p align=\"center\">\n  <b>Use any class as a hook based 'model-controller',</b><br/>\n  with values, actions, and lifecycle methods  to control your components.\n  <p align=\"center\">\n  Controller hooks will trigger renders, as needed, for any data.<br/>\n  When properties change your components will too.<br/>\n</p>\n<br/>\n\n### Contents \n\n&emsp; • **[Overview](#overview-section)** <br/>\n&emsp; • **[Install and Import](#install-section)**\n\n**Examples**\n\n[`use`](#started-section) hook (Simple) <br/>\n\n  &ensp; • [Basics](#concept-simple) <br/>\n  &ensp; • [Methods](#concept-method) <br/>\n  &ensp; • [Destructuring](#concept-destruct) <br/>\n  &ensp; • [Lifecycle](#concept-lifecycle) <br/>\n  &ensp; • [Async & Events](#concept-async) <br/>\n\n[`Controller`](#controller-section) (Advanced) <br/>\n\n  &ensp; • [Constructor Arguments](#concept-constructor) <br/>\n  &ensp; • [TypeScript](#concept-typescript) <br/>\n  &ensp; • [Context](#concept-context) <br/>\n\n**Concepts** <br/>\n  &ensp; • [Using less `useState`](#concept-compare) <br/>\n  &ensp; • [Simple Composition](#concept-compose) <br/>\n  &ensp; • [Lazy Updating](#concept-lazy) <br/>\n  &ensp; • [Auto Debounce](#concept-debounce) <br/>\n\n**API** <br/>\n  &ensp; • [Hooks](#hooks-api) <br/>\n  &ensp; • [Controller](#property-api) <br/>\n  &ensp; • [Subscriber](#subscribe-api)\n\n<br/>\n\n<h2 id=\"overview-section\">Overview</h2>\n\nSeamlessly create and apply ES6 classes as a *`ModelController`* [(of MVC fame)](https://en.wikipedia.org/wiki/Model–view–controller) for React [function-components](https://www.robinwieruch.de/react-function-component) which serve as your *View*. \n\nThe basic idea is pretty simple, to watch any number of properties in an instance of some class, bound to a mounted component. When property values change, the component will re-render. This is done with the help of [accessors (`get` & `set`)](https://www.w3schools.com/js/js_object_accessors.asp) and `useReducer` behind the scenes.\n\nFor this, you have a general-purpose hook `use()`, taking any class, and an inheritable class `Controller`, which makes special hooks available as its static methods.\n\nWhen any of these hooks are called, a `ModelController` reference is returned within and bound to your components. It contains all current state, usable for rendering, called *the model*. When watched properties change in a given model, any bound component, be it one-to-one, or many-to-one (with the help of context) will update to the newest state automatically.\n\nThis behavior combines with actions, computed properties, some lifecycle hooks, and the component itself to create what is effectively a model-view-controller!\n\n<br/>\n\n<h2 id=\"install-section\">Installation</h2>\n\nInstall with your preferred package manager\n```bash\nnpm install --save react-use-controller\n```\n\nImport and use in your react apps.\n\n```js\nimport { use, Controller } from \"react-use-controller\";\n```\n\n> **Note:** `Controller` may also be imported as default\n\n<br/>\n\n<h1 id=\"started-section\">Getting Started</h1>\n\nThere are two ways to use a controller, supply any class to the `use` hook or [extend one with `Controller`](#controller-section). \n\n\nBoth ways behave pretty much the same, though extending has some key benefits.\n\n> It is generally recommended you extend but, for simple models, `use` is best for its brevity.\n\n<br/>\n\n<h2 id=\"concept-simple\">Simplest use-case</h2>\n\nLet's make a stateful counter.\n\n```jsx\nimport { use } from \"react-use-controller\";\n\nclass CountControl {\n  number = 1\n}\n\nconst KitchenCounter = () => {\n  const state = use(CountControl);\n\n  return (\n    <div>\n      <span\n        onClick={() => { state.number -= 1 }}>\n        {\"−\"}\n      </span>\n      <pre>{ state.number }</pre>\n      <span \n        onClick={() => { state.number += 1 }}>\n        {\"+\"}\n      </span>\n    </div>\n  )\n}\n```\n<a href=\"https://codesandbox.io/s/example-simple-wf52i\">View in CodeSandbox</a>\n\n> First, make a class with properties we wish track. Values given serve as initial/default state. **Place as many properties as you like!**\n>\n> Pass your class directly to `use()`. It will create a new instance, hooked up to your component. \n>\n> Now, as values on the model change, our `use` hook will trigger new renders, and remain fully synced!\n\n<br/>\n\n<h2 id=\"concept-method\">Adding methods</h2>\n\nWhat's a model-view-controller without some methods? Add some *actions* [(similar to that in MobX)](https://mobx.js.org/refguide/action.html) to easily abstract changes to your state.\n\n```jsx\nclass CountControl {\n  number = 1\n\n  increment = () => { this.number++ };\n  decrement = () => { this.number-- };\n}\n```\n```jsx\nconst KitchenCounter = () => {\n  /* Now we can just destructure! */\n  const { number, decrement, increment } = use(CountControl);\n\n  return (\n    <Row>\n      <Button onClick={decrement}>{\"-\"}</Button>\n      <Box>{number}</Box>\n      <Button onClick={increment}>{\"+\"}</Button>\n    </Row>\n  )\n}\n```\n<sup><a href=\"https://codesandbox.io/s/example-actions-1dyxg\">View in CodeSandbox</a></sup>\n\n> With this you can write even the most complex functional-components while maintaining the key benefits of a stateless component (being much easier on the eyes).\n\n<br/>\n\n<h2 id=\"concept-destruct\">Enhanced Destructuring</h2>\n\nWhile destructuring, with two reserved keys `get` and `set`, we can retrieve and update values the full model even after doing so.\n\n> Not to be confused with keywords. As named properties, they are both are the same, just a circular reference to `state`. Use whatever makes the most sense semantically.\n\n```jsx\nconst AboutMe = () => {\n  const {\n    set, /* ⬅ a proxy for `state` */\n    name\n  } = use(AboutYou);\n\n  return (\n    <div>\n      <div>My name is { name || \"John Doe\" }!</div>\n      <u \n        onClick = {() => {\n          set.name = window.prompt(\"What is your name?\");\n        }}>\n        ...or is it?...\n      </u>\n    </div>\n  )\n}\n```\n<sup><a href=\"https://codesandbox.io/s/example-event-vsmib\">View in CodeSandbox</a></sup>\n\n> `set.name` See what we did there? 🤔\n\n<br/>\n\n<h2 id=\"concept-lifecycle\">Lifecycle methods</h2>\n\nThe `use()` hook can automatically call upon predefined [lifecycle hooks](#lifecycle-list) when appropriate.\n```jsx\nimport React from \"react\";\n\nclass TimerControl {\n  elapsed = 1;\n\n  didMount(){\n    this.timer = \n      setInterval(\n        () => this.elapsed++, \n        1000\n      )\n  }\n\n  willUnmount(){\n    /* remember to cleanup too! ♻ */\n    clearInterval(this.timer);\n  }\n}\n```\n```jsx\nconst KitchenTimer = () => {\n  const state = use(TimerControl);\n\n  return <Box>{state.elapsed}</Box>;\n}\n```\n<sup><a href=\"https://codesandbox.io/s/example-counter-8cmd3\">View in CodeSandbox</a></sup>\n\n> These, in particular, are called during an internal `useEffect()` step.\n\n<br />\n\n<h2 id=\"concept-async\">Working with events, callbacks, and <code>async</code> code</h2>\n\n```jsx\nclass StickySituation {\n  remaining = 60;\n  surname = \"bond\";\n\n  didMount(){\n    this.timer = setInterval(this.tickTock, 1000);\n  }\n\n  willUnmount(){\n    this.cutTheDrama()\n  }\n\n  tickTock = () => {\n    const timeLeft = --this.remaining;\n    if(timeLeft === 0)\n      this.cutTheDrama();\n  }\n\n  cutTheDrama(){\n    clearInterval(this.timer);\n  }\n\n  getSomebodyElse = async () => {\n    const res = await fetch(\"https://randomuser.me/api/\");\n    const data = await res.json();\n    const [ recruit ] = data.results;\n\n    this.surname = recruit.name.last;\n  }\n}\n```\n```jsx\nconst ActionSequence = () => {\n  const {\n    remaining,\n    surname,\n    getSomebodyElse\n  } = use(StickySituation);\n\n  if(remaining === 0)\n    return <h1>{\"🙀💥\"}</h1>\n\n  return (\n    <div>\n      <div>\n        Agent <b>{surname}</b> we need you to diffuse the bomb!\n      </div>\n      <div>\n        If you can't diffuse it in {remaining} seconds, \n        the cat may or may not die!\n      </div>\n      <div>\n        <span>But there is time! </span>\n        <u onClick={getSomebodyElse}>Tap another agent</u> \n        <span> if you think they can do it.</span>\n      </div>\n    </div>\n  )\n}\n```\n<sup><a href=\"https://codesandbox.io/s/example-async-effbq\">View in CodeSandbox</a></sup>\n\n<br/>\n\n<h1 id=\"controller-section\">The <code>Controller</code> superclass</h1>\n\nWhile you get a lot from the `use` hook and standard (or otherwise extended) classes, there are a few key benefits to extending `Controller`.\n\n- You can pass arguments to the constructor\n- Type are maintained, making inference a lot better\n- Explicit subscription based rendering\n- Ability to create a provider, making state accessible anywhere.\n- An optional error-boundary with the use of provider.\n\n<br/>\n\n> To hook this way, rather than passing a class to `use`, extend `Controller` with it and call the available `.use()` method.\n\n```jsx\nimport Controller from \"react-use-controller\"\n\nclass Control extends Controller {\n  value = 1;\n}\n\nconst Component = () => {\n  const { value } = Control.use();\n\n  return <div>{value}</div>;\n}\n```\n<sup><a href=\"https://codesandbox.io/s/example-controller-class-xutgf\">View in CodeSandbox</a></sup>\n\n> `.use` will hook to your component and construct state only once per mount, same as a standard `use` would.\n\n<br/>\n\n<h2 id=\"concept-constructor\">Passing arguments to your constructor</h2>\n\nMethod `use(...)` will pass its own arguments to the constructor while creating a new instance. \n\n```typescript\n/* typescript */\n\nclass Control extends Controller {\n  value: string;\n\n  constructor(startWith: string){\n    super();\n    this.value = startWith;\n  }\n}\n\nconst MyComponent = (props) => {\n  const { value } = Control.use(props);\n\n  return <div>{value}</div>;\n}\n```\n<sup><a href=\"https://codesandbox.io/s/example-constructor-params-22lqu\">View in CodeSandbox</a></sup>\n\n<br/>\n\n<h2 id=\"concept-typescript\">Using with typescript</h2>\n\nImporting and extending `default` (`Controller`), as whatever you like, will allow type definitions to pass to your controllers definitions. This hooks you up (pun intended) with autocomplete, hints, and warnings about potential errors.<br/>\n\n> For class `T` the static method `.use()` returns `InstanceType<T>` thus provides full type inference within the component too.\n\n```tsx\n/* typescript */\n\nimport Controller from \"react-use-controller\";\n\nclass FunActivity extends Controller {\n  secondsSofar: number;\n  interval: number;\n\n  constructor(alreadyMinutes: number = 0){\n    super();\n    this.secondsSofar = \n      alreadyMinutes * 60;\n\n    this.interval = \n      setInterval(() => {\n        this.secondsSofar++;\n      }, 1000)\n  }\n\n  /* JSDocs on the Controller class will provide descriptors and \n   * autocomplete, making it easier to avoid weird behavior over typos. */\n  willUnmount(){\n    clearInterval(this.interval)\n  }\n}\n```\n```jsx\nconst PaintDrying = ({ alreadyMinutes }) => {\n  /* Your IDE might even know secondsSofar is supposed to be a number 👌 */\n  const { secondsSofar } = FunActivity.use(alreadyMinutes);\n\n  return (\n    <div>\n      I've been staring for like, { secondsSofar } seconds now, \n      and I'm starting to see what this is all about! 👀\n    </div>\n  )\n}\n```\n<sup><a href=\"https://codesandbox.io/s/example-typescript-n21uj\">View in CodeSandbox</a></sup>\n\n<br/>\n\n<h1 id=\"concept-context\">Access state anywhere <sup>(with context!)</sup></h1>\n\nOne of the best features of `Controller` is the use of [Context](https://frontarm.com/james-k-nelson/usecontext-react-hook/), to create and consume the same state from anywhere in your app. \n\nOf the available static methods, `.create()` will produce a [Provider](https://reactjs.org/docs/context.html#contextprovider) to wrap child-components with. Components nested can call the static-method `.get()` on the same constructor to access the nearest instance of that class.\n\nThanks to [lazy-updating](#lazy-concept), only properties used by a consumer will trigger a render for that particular component. Plus, actions are made available anywhere in your hierarchy, letting distant components cleanly \"update\" each other via a shared controller.\n\n<br/>\n\n```jsx\nexport class Central extends Controller {\n  foo = 0;\n  bar = 0;\n\n  fooUp = () => this.foo++ \n};\n```\n```jsx\nexport const App = () => {\n  /* An alternative to use(), create() will directly return a <Provider> with a new live-state. \n   * If you want values too, you can get { Provider } from use() as well. */\n  const Control = Central.create();\n\n  return (\n    <Control>\n      <InnerFoo/>\n      <InnerBar/>\n    </Control>\n  )\n}\n\nconst InnerFoo = () => {\n  /* .get, rather than making a new `Central` controller, \n   * will find the nearest one (in this case from `App`). */\n  const { fooUp, bar } = Central.get();\n\n  return (\n    <div onClick={(fooUp)}>\n      <pre>Foo</pre>\n      <small>Bar was clicked {bar} times!</small>\n    </div>\n  )\n}\n\nconst InnerBar = () => {\n  /* Controller knows this component needs to update only when foo changes.\n   * Lazy refreshing ensures only properties accessed here are watched here.\n   * They're also completely agnostic, as to how they're actually updated. */\n  const { set, foo } = Central.get();\n\n  return (\n    <div onClick={() => set.bar++}>\n      <pre>Bar</pre> \n      <small>Foo was clicked {foo} times!</small>\n    </div>\n  )\n}\n```\n<sup><a href=\"https://codesandbox.io/s/example-multiple-accessors-79j0m\">View in CodeSandbox</a></sup>\n\n> This makes context kind of easy a little bit.\n\n<br/>\n<br/>\n\n<h1 id=\"concept-compare\">Concepts</code></h1>\n<br/>\n\n<h2 id=\"concept-compare\">Using less <code>useState</code></h2>\n\nThe main rational of use-controller is to reduce, if not eliminate the need for multiple hooks in a functional-component. When working on complex state, hooks loose a lot of their appeal to raw messiness.<br/>\n\n```jsx\nconst EmotionalState = () => {\n  const [name, setName] = useState(\"John Doe\");\n  const [emotion, setEmotion] = useState(\"meh\");\n  const [reason, setReason] = useState(\"reasons.\");\n\n  return (\n    <div>\n      <div onClick = {() => {\n        const name = prompt(\"What is your name?\", name);\n        setName(name);\n      }}>\n        My name is {name}.\n      </div>\n      <div>\n        <span onClick = {() => {\n          setEmotion(\"sad\");\n        }}>\n          I am currently {emotion}\n        </span>\n        <span onClick = {() => {\n          setReason(\"hooks are still not hipster enough.\")\n        }}>\n          , because {reason}.\n        </span>\n      </div>\n    </div>\n  )\n}\n```\n> Here is heck-ton of vars, inherently hard to scale or modify.\n\n### So how can we fix that?\n\nSimple, make a class containing state (*the model*) and supply it to the `use()` hook.\n\n```jsx\nclass EmotionalState {\n  name = \"John Doe\"\n  emotion = \"meh\"\n  reason = \"reasons\"\n}\n\nconst WhatsUp = () => {\n  const { name, emotion, reason, set } = use(EmotionalState);\n\n  return (\n    <div>\n      <div onClick = {() => \n        set.name = prompt(\"What is your name?\", \"John Doe\") }>\n        My name is {name}.\n      </div>\n      <div>\n        <span onClick = {() => \n          set.emotion = \"doing better\" }>\n          I am currently {emotion}\n        </span>\n        <span onClick = {() => \n          set.reason = \"hooks are cooler than my cold-brew coffee! 👓\" }>\n          , because {reason}.\n        </span>\n      </div>\n    </div>\n  )\n}\n```\n<sup><a href=\"https://codesandbox.io/s/example-mulitple-values-dg6w0\">View in CodeSandbox</a></sup>\n\n> With a controller, we can do a lot better on scope. Here we've separated out our model (state) from the view (component) which is pretty nice.\n\nAdd as many values as you like, and they'll stay clean and _relatively_ organized in your code. (You'll still need good design!)\n\n<br/>\n\n<h2 id=\"concept-compose\">Simple composition</h2>\n\nThere is nothing preventing you from calling `use` more than once, or making use of other hooks at the same time. \n\n```js\n  class PingController {\n    value = 1\n  }\n  \n  class PongController {\n    value = 2\n  }\n\n  const ControllerAgnostic = () => {\n    const ping = use(PingController);\n    const pong = use(PongController);\n\n    return (\n      <div>\n        <div\n          onClick={() => { ping.value += pong.value }}>\n          Ping's value is ${ping.value}, click me to add in pong!\n        </div>\n        <div\n          onClick={() => { pong.value += pong.value }}>\n          Pong's value is ${pong.value}, click me to add in ping!\n        </div>\n      </div>\n    )\n  }\n```\n<sup><a href=\"https://codesandbox.io/s/example-simple-compose-dew5p\">View in CodeSandbox</a></sup>\n\n> There may be better ways to do it, but calling multiple controllers still can be a great way to separate concerns. \n\n<br/>\n\n<h2 id=\"concept-lazy\">Subscription based \"lazy\" updating</h2>\n\nControllers use a subscription model to decide when to render. Through automatic subscription, components will **only** update for changes to values which are actually accessed.\n\n> Here `LazyComponent` will not update when `bar` does change, because it *seems* to only access `foo` here. \n\n```jsx\nclass FooBar {\n  foo = \"bar\"\n  bar = \"foo\"\n}\n\nconst LazyComponent = () => {\n  const { set, foo } = use(FooBar);\n\n  return (\n    <h1 \n      onClick={() => set.bar = \"baz\" }>\n      Foo is {foo} but click here to update bar!\n    </h1>\n  )\n}\n```\n<sup><a href=\"https://codesandbox.io/s/example-explict-watch-zyo5v\">View in CodeSandbox</a></sup>\n\n### Automatic inference \n\nInstances of a controller can figure out what to subscribe to automatically. They do it by spying on what's **accessed on the initial render** of a component they hook into.\n\n> **Recommended**: While `use` cannot read your functions, destructuring by default is a good way to get consistent behavior. If a property is not accessed on initial render render (being within an `if` statement or ternary), it could fail to update as expected. Destructuring pulls out properties no matter what, so helps in this regard.\n\n<!-- ### Explicit subscription\n\nThere are also a number of helper methods you can call to specify which properties you wish to watch. <br/>\nCheck them out in [Subscription API](#subscription-api) section. -->\n\n<br/>\n\n<h2 id=\"concept-debounce\">Automatic debouncing</h2>\n\nRest assured. Changes made synchronously are batched as a single new render.\n\n```jsx\nclass ZeroStakesGame {\n  foo = \"bar\"\n  bar = \"baz\"\n  baz = \"foo\"\n\n  shuffle = () => {\n    this.foo = \"???\"\n    this.bar = \"foo\"\n    this.baz = \"bar\"\n\n    setTimeout(() => {\n      this.foo = \"baz\"\n    }, 1000)\n  }\n}\n```\n```jsx\nconst MusicalChairs = () => {\n  const { foo, bar, baz, shuffle } = use(ZeroStakesGame);\n\n  return (\n    <div>\n      <span>Foo is {foo}'s chair!</span>\n      <span>Bar is {bar}'s chair!</span>\n      <span>Baz is {baz}'s chair!</span>\n\n      <div onClick={shuffle}>🎶🥁🎶🎷🎶</div>\n    </div>\n  )\n}\n```\n<sup><a href=\"https://codesandbox.io/s/example-debouncing-sn1mq\">View in CodeSandbox</a></sup>\n\n> Even though we're ultimately making four updates, `use()` only needs to re-render twice. It does so once for everybody (being on the same tick), resets when finished, and again wakes for `foo` when settled all in.\n\n<br/>\n<br/>\n\n<h1>API</h1>\n<br/>\n\n<h2 id=\"hooks-api\">Hooks</h2>\n\nThere are a number of hooks you can you use create a `ModelController`, all references will remain constant between renders.\n\n\n#### `use()`\n\n- `Class` <br/>\nControls component with given class as its ModelController.\n\n- `Function` <br/>\nControlled component will execute function and returned object will be used as the Model.\n\n- `Object` <br/>\nControlled component will watch object as its Model directly.\n\n<br/>\n\n#### `Controller.use(...arguments)`\nCreate and apply instance of type *Controller* return reference. \n<br/>\n\n- `arguments` <br/>\nWill be passed to constructor.\n\n- `get Provider()` <br/>\nWhen accessed, a context provider will be retroactively created, keyed to the given\n\n- `on()` / `only()` / `not()` / `once()`   <br/>\nSee [Subscriber API](subscribe-api)\n\n<br/>\n\n#### `Controller.create(...arguments)`\nCreate controller and directly return `Provider` keyed to proper context.\n\n- `arguments` <br/>\nWill be passed to constructor.\n\n<br/>\n\n#### `Controller.get()`\nFind nearest instance of `ModelController` keyed to typeof *Controller*.\n\n- `on()` / `only()` / `not()` / `once()`   <br/>\nSee [Subscriber API](subscribe-api)\n\n<br/>\n\n<h2 id=\"property-api\">ModelController</h2>\n\nSet behavior for certain methods on classes consumed by `use()` or extending `Controller`.\n\nWhile standard practice is for `use` to take all methods (and bind them), all properties (and watch them), there are special circumstances to be aware of. <br /><br />\n\n\n### Properties\n\n#### `Arrays`\n- if a property is an array, it will be forwarded to your components as a special `ReactiveArray` which can also trigger renders on mutate.\n\n#### `isProperty`\n- Properties matching `/is([A-Z]\\w+)/` and whose value is a boolean will get a corresponding action `toggle$1`.\n\n\n#### `_anything`\n- if a key starts with an underscore it will not trigger a refresh when overwritten (or carry any overhead to do so). No special conversions will happen. It's a shorthand for \"private\" keys which don't interact with the component.\n\n#### `Anything defined post-constructor`\n- important to notice that `use()` can only detect properties which exist (and are enumerable) at time of creation. If you create them after, they're also ignored.\n\n<br />\n\n### Reserved\n\n#### `set` / `get`\n- Not to be confused with setters / getters.\n- `state.set` returns a circular reference to `state`\n- this is useful to access your state object while destructuring\n\n#### `on` / `once` / `only` / `except`\n- Defined by [subscription](#subscribe-api) driver.\n\n#### `refresh(): void`\n- requests a render without requiring that a value has changed. \n- Helpful when working with getters, async and random-number-generators.\n\n#### `export<T>(this: T): { [P in keyof T]: T[P] }`\n- takes a snapshot of live state you can pass along, without unintended side effects.\n- this will only output the values which were enumerable in the source object.\n\n#### `add(key: string, value?: any): boolean`\n- adds a new tracked value to the live-state. \n- this will return `true` if adding the key succeeded, `false` if did not (because it exists).\n- setting value is optional, if absent, `key` simply begins watching.\n> Not really recommended after initializing, but could come in handy in a pinch.\n\n<br />\n\n<h3 id=\"lifecycle-list\">LifeCycle Methods (<code>use</code> will call them)</h3>\n\n#### `didMount(): void`\n- `use()` will call this while internally running `useEffect(fn, [])` for itself.\n\n#### `willUnmount(): void`\n- `use()` will call this before starting to clean up.\n\n#### `didHook(): void`\n- Called every render. A way to pipe data in from other hooks.\n\n#### `willHook(): void`\n- Called every render. However `this` references actual state only on first render, otherwise is a dummy. <br/>\n  Useful for grabbing data without re-evaluating the properties you set in this callback every render. <br/> \n  (e.g. things from `useContext`)\n\n<!--\n\n#### `willRefresh(didUpdate: Updates): void | false | Updates`\n- Called before `Controller` requests a render. <br/>\n  Passed as an argument is an object with values which triggered the refresh. <br/>\n  - If nothing is returned, update will proceed.\n  - If a new object with updates is returned, new state will reflect only those changes, and any others will be discarded.\n  - If `false` is returned the update will be canceled.\n\n-->\n\n<br/> \n\n<h2 id=\"subscribe-api\">Subscriber</h2>\n\nChain after `use(...)` or `get()` to control what values explicitly will trigger a new render if-changed.\n\n> if you have constructor arguments chain after `use(...)`, <br />\n> if not you can also call a `\"useX\"` / `\"getX\"` for brevity.\n\n<br/>\n\n<big><b><code>once</code></b></big>&ensp;-&ensp; \n`.use().once()` / `.useOnce()` / `.getOnce()`\n\nWill disable all but explicit `.refresh()` from this particular controller.\n\n```js\nconst View = () => {\n  const { foo, bar } = Controller.useOnce(\"bar\");\n\n  return false;\n}\n```\n> This generates state, but never automatically updates.\n\n<br/>\n\n<big><b><code>on</code></b></big>&ensp;-&ensp; \n`.use().on()` / `.useOn()` / `.getOn()`\n\nDeclare properties you want to do want to watch, in addition to any inferred properties.\n\n```js\nconst View = (props) => {\n  const state = Controller.use(props).on(\"bar\");\n\n  return state.foo && (\n    <span>{state.bar}</span>\n  );\n}\n```\n> This will refresh when either `foo` or `bar` change, even if `foo` starts out false.\n\n<br/>\n\n<big><b><code>only</code></b></big>&ensp;-&ensp; \n`.use().only()` / `.useOnly()` / `.getOnly()`\n\nDeclare the properties you wish to renew for. This will skip automatic inference.\n\n```js\nconst View = () => {\n  const control = Controller.useOnly(\"foo\", \"bar\");\n  // ...\n}\n```\n\n<br/>\n\n<big><b><code>not</code></b> / <b><code>except</code></b> </big>&ensp;-&ensp;\n`.use().not()` / `.useExcept()` / `.getExcept()`\n\nDeclare properties you want to exclude. *May also be chained with `on()`*\n\n```js\nconst View = () => {\n  const { foo, bar } = Controller.useExcept(\"bar\");\n\n  return <span>{foo}</span>;\n}\n```\n> This will only update when `foo` is updated, even though `bar` is definitely accessed.\n\n<br/>\n<br/>\n\n# Live demos\n\n<br/>\n\nA demo project is in the `/examples` directory with a series of examples you can launch, browse through and modify.\n\n```bash\ngit clone https://github.com/gabeklein/use-controller.git\ncd use-controller\nnpm install\nnpm start\n```\n\n<br/>\n\n# License\n\nMIT license. <br/>\n","readmeFilename":"README.md","gitHead":"bc14d9207fd576cd85af26952f9214bdb6fa0828","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@2.0.0-beta.0","_nodeVersion":"12.8.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-I/zcvjqCWu0k0xkGbL5SLD/EBQQOsAl0xfBMIsNGmXRW5ksBA6QlcWEDb4AYwxrxaHhDJFvmmbgmDN+EykhWEA==","shasum":"b8fee22cb123654d7addfac1dff6b33b56186633","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-2.0.0-beta.0.tgz","fileCount":10,"unpackedSize":52373,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdue95CRA9TVsSAnZWagAAwfIP/1yknumRySXuPTpexu3q\nJszZU3epopUZT3mMKV9O+su08gA2lPaYI92Dt5Ql82HxlWZDzXt4hJYgB3e8\nsXviJJAh4r00E+n6rNfvcVCR2olqTKsQm1P6qpD1UhBeyuCnz0M4bVfqrfeS\n55MOsWiWMcQTb7v8VDwUq6D2LylrwCfx24zF4rXrRMmxPWNmCI734n/wWJ++\nt00Vmd53upIi/6vCOvOPrjzmXGsTsiO/dcLI8gmHoNfs/9iHOeCgujwQjP8n\nzsHq47myLRNfv9jsFFWIrH+9hz+iPpNp3c0XqldUDKpbtae3pOMs3iEivuIV\nck/cE6hNTnW8kIXlOIAod3EQ77rYhglKYVznVLf0+WON80VRUzJURiDycbKd\nY8Ns0kzBvJfBKsnYQzKd6JC5vRUqVEw1lS3zPOv7x/yAfZ1CgvH7xcL0fEc9\nozD/IRBRxCw/mU8nGozYD2MhXvKzbz4TJ0SJVfKRcIXv5X32wMTypWZDNIoH\nUN/GbeORdjPTuDOHR/Vn38lgpdGUZt+yfHi28g1HUfS7lY1tPAUE67FMzZRX\nlK8AelBvaBRzkBJByxbz7WHcasiG59IOXRiQ5ubPASpUd5yphadgXqYIOc0g\nidBTpX07ws7QritCs+JT2LRzJrPGTOgfJHtVYTVrysxr5tFscBv2+32dUtSp\nz8Li\r\n=WOm4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3CP7bAvwHvUHx61ggsYVKEVxqL0Q4msCxLNM61uyk+wIgFXX0ic/NOTrPh/9NksP/pHBt/6TN7lTg75B9chtrSOM="}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_2.0.0-beta.0_1572466552559_0.5980765449737864"},"_hasShrinkwrap":false},"2.0.0-beta.1":{"name":"react-use-controller","version":"2.0.0-beta.1","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"tsc --sourceMap false","watch":"tsc --watch --sourceMap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@testing-library/react-hooks":"^2.0.1","@types/jest":"^24.0.18","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^24.9.0","react":"^16.8.0","react-test-renderer":"^16.9.0","typescript":"^3.5.3","ts-jest":"^24.1.0"},"gitHead":"c9051f3842e5d847434fd9f2e2477de7f62148cb","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@2.0.0-beta.1","_nodeVersion":"12.8.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-yeiD5gztzszVphiWVtIKSweKrG9b0UjWgO77Oj2Qr09be3hYvOJw45RFAFFsgrx9mPfZiHafDBwGIfmMrvk9Ig==","shasum":"56aab1b9685a11ae9b6db1b6bb0f7f7df21bb7d9","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-2.0.0-beta.1.tgz","fileCount":11,"unpackedSize":54062,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdwl/QCRA9TVsSAnZWagAA3IAP/jcmv27d8n6Wlt2Mhlrm\n2vAJZu/6XhlQ5CHNaCiTOlP9z3cc3sH0AIEQVSpyL1X3l4DKGy3VJb4hASG1\nclXTNp8KQjlnY7sBsDNjNkTp0hoo+V9LBrVg1sZvIB19R3/xmV+c+fH70mug\nCdkAycWUoJPPlThW7VBjGz0o65//rvb5HC/Dh3r34XQlF5k01mfTCTBHnoyb\naDx1kfFkLnfimAEIjyS0KQY+02S3n3JgMezHM+jDg58SMe/2O8WISMRg6+LW\ngbv+7sn554lDtOER31LHqKgkf8N+X8/OQpFRu09xSVhwc5wbFl9Gr3drEFBS\nhHISyHANUed1JPkoQ5ulxrqIlmXMUVv05RXu2e1TbvQVWdyu1XaQPKX0e1e8\nlTIi7tfygm1I5QU7EacRVd3PFiLOBJxjEjWEwwU15odchgArX+P39VfSGEs5\nYtSgNAZ3AuIVuMxlEveD0OAOJBtVbLetN8EhPGbXDLO6h/+/ynfoHnwL3RZE\nJcpkTcSXXPkcFFLoGfDThgSQQaJiR5NP2SXa5RpKuK3JPRD2NSdZARU9m1Pw\nlvF7d/R24yBOD3r0k0qzsm/Z5r6AyRNzUZm+EiKNYta0qugLiSOaAvI6AdJ7\ngb02iC0t5XLzgg02uFT8o8grR2Am3WZ8VcEvu0vLJLcYOMGp67o4KV0fkIrL\n4pfG\r\n=NNUb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDe7RGLgdyaSQG2u0SXJcHJ7MVaMl0I77MRr6MW7yStvQIgJQMS6HTocXvXw7uD+h4MYKGSQWd0rRBeyS7LW4wHqE0="}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_2.0.0-beta.1_1573019600352_0.7852177461486429"},"_hasShrinkwrap":false},"2.0.0-beta.2":{"name":"react-use-controller","version":"2.0.0-beta.2","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"tsc --sourceMap false","watch":"tsc --watch --sourceMap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@testing-library/react-hooks":"^2.0.1","@types/jest":"^24.0.18","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^24.9.0","react":"^16.8.0","react-test-renderer":"^16.9.0","typescript":"^3.5.3","ts-jest":"^24.1.0"},"gitHead":"380f8c5c14f26c2ab1a1c71156cbcca4647a117a","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@2.0.0-beta.2","_nodeVersion":"12.8.0","_npmVersion":"6.10.3","dist":{"integrity":"sha512-J8wJOwH8Wy1I62qwR+NOTaMk61DZEmsXnH9hzJrucQFGUpTJH0pIS/kZ5LHkQF1gj4WXYM+XwHXBexawDqEjfA==","shasum":"648c5dc548febfea0aa488a34aa16fcb38e7437e","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-2.0.0-beta.2.tgz","fileCount":12,"unpackedSize":62258,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeAwf+CRA9TVsSAnZWagAA+4oQAJDR0VgQt7ZjPOAYRRiC\n/HlX8xgfArePs/NSD1S7ToUSC8ctmG+ZK6FQZ7IuhIIaYh3wA7nWJYrvAAvg\nHbLyE2fzp37iz2Dv8oEMgiReOXVqnRLJZnZ9RA3YeqChpbGdOfMNWgQ7XIGD\nTphk1BzMIXSG3cmPJBtKJ9oYM3b/GdVasZm6OuJyeYb4mRJnLp6iiqNQENpI\nuzJ469NOSO/OAfCNxc/B0WVjY9EU/uL20aglkV33Mlv9VAubDcBBl6mIbb+B\nGh8AfcHfF/oGiIwzOgaZHk4ccTR1J6esiOg/uKLf4IpgSOAOxQwM6ROXvGEQ\nlRZsGm229PQUTpQdCLRQ8v0WmwEEwGSVZ4TnuJn/HdNQVIBGGQIQesBjKiFV\nOdx01veMnHhbVApaAxFDGy3se2mPyZFE1ouTdQIY1z5w+taud8Y9YHJWGiUb\nmEeErg1Umcax/9r5VRTYp1hUeA0cY0JbmDf69IbumeJJ70g9Z1uizY/WtwQm\nitQsmJzQa6NSwDCftm+F7tYGqKSsQ8Ec+itUeGd6JuGWBEpPKCTY3B4FB+NC\nhtmyMnYXxoCDqUbjxwzJTZ1wqrvuUXVqxOHmDDuJ4beIZgyAhZuDlFHnuNIy\npC3Dg2HRKqlFF3k33huD2rJrMw7q9L6Iua6SuJm8UzrInxJv9S7+8GCHtHOq\nezWz\r\n=UhEs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDt4xRKtT2qrtbvsOcL7HXYdVt7g8d+/V+AiqzXir7TXAiBzwHINyc03xFt0qVkE2fr5l3kPBvBQhVMepoOFvFho8Q=="}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_2.0.0-beta.2_1577256958383_0.8426667814031394"},"_hasShrinkwrap":false},"2.0.0-beta.3":{"name":"react-use-controller","version":"2.0.0-beta.3","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"tsc --sourceMap false","watch":"tsc --watch --sourceMap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@testing-library/react-hooks":"^2.0.1","@types/jest":"^24.0.18","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^24.9.0","react":"^16.8.0","react-test-renderer":"^16.9.0","typescript":"^3.5.3","ts-jest":"^24.1.0"},"gitHead":"447f8fa621b7c4b149fbba2093ce47cdf8b52412","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@2.0.0-beta.3","_nodeVersion":"13.5.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-qTcS15HyRxx2/+hUqsCSkxiS/45TSZ3h4t56WKtC0QqeHONOSOlgOKNleuuWanB7sqLVBiPwqOved92mHNuLnA==","shasum":"e6bbaa2e5ed568b157bd45da6bc88129e0a043cc","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-2.0.0-beta.3.tgz","fileCount":12,"unpackedSize":62346,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeEc1ICRA9TVsSAnZWagAAGGYP+wQeRtUp441sZUiigzRG\nyWar/nFf+5EkfJ1yT0eXJKr8iSum6gkrJ9vexTwAnWCxyHCTmVhzWKx+pbbv\nyiJIbe2aC3r8QlfYJX8/tdtemAgaec+loD9MNREGcI0QqEhh+UXxDkPEkiPX\nZyM6u1gK+ajYdG1mGd+SRUA8y6NWrVyiqsCyjXPW/otNWPg0gZKvK8Lw0PWh\nFsCxr5DBu5lHCo92h1co2IJpw0b7jLzy7DhCZyAF0kSrszfQNxwo9rq8DXWK\nQc4tsxnDl555Pv2PqR7/NQCeQEGn4JjsgJUhwXQmvJpEkEKjhNWu8FqcSidF\nWpfyTWyFLW5VEuG4BBPOZCgnjp2VV+wQgiWv+ZFrEgS1iwT8c1+9nqdZpT/+\nLIlK+fek9vMZpYb2pkyUQHLEenadfyZAtEaEMISIn9hspezidaE3IWcu4/Vw\nDQpgIx38GGInt8xDyidkR8RSRsFkpkCXMZ4O4562ONDucW4jnfITLMbqAUNB\n89d1AMGNI6JhX0JzM6U7WA5EFlmjBOsLw19eiORKbZCtAO0F8nFf1bUEKbMh\n7pM/+DGriypmQAN6UuaAjO7vCybwCbsUfTh5Sm6D3XeACITTQApnV3YSRkwG\nUfMFeAPK5AquwZ2JxpH+LW28CJQTSpLZT487D1Tup4r0gJrifienNOAKTZB0\nzG2r\r\n=F9rG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAShIqIK8S0wShaM+DdwqQTIC/xheDCeBp/9t8GqoHWbAiEAptpi2C0AIs9OHNWcoK5DVBSdlSLhzbQEOT77XUT8iKc="}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_2.0.0-beta.3_1578224968178_0.07057846234512932"},"_hasShrinkwrap":false},"2.0.0-beta.4":{"name":"react-use-controller","version":"2.0.0-beta.4","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"tsc --sourceMap false","watch":"tsc --watch --sourceMap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@testing-library/react-hooks":"^2.0.1","@types/jest":"^24.0.18","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^24.9.0","react":"^16.8.0","react-test-renderer":"^16.9.0","typescript":"^3.5.3","ts-jest":"^24.1.0"},"gitHead":"bfc5ff8d2fb0cc0341510da2e4b3c05be91c26f1","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@2.0.0-beta.4","_nodeVersion":"13.5.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-dR10TiUScCW/4jPmiNbecXhgefLsOwzh9au45DXySeZeVzraIX9gcVpnP6gEJz2L9tD6S4o/YYAn4JT1rPP+EA==","shasum":"422ad3dd56e55f03240ba53e39c739bfa249e53a","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-2.0.0-beta.4.tgz","fileCount":12,"unpackedSize":62916,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHJONCRA9TVsSAnZWagAA/pAP/11TT2y29/SbNWeE468o\nRQ9dk1Uv6gDPHMi2p9NPf1qORiVBDudQp18hxJ/p8VFJHanNH4Bt97JqZ5q0\ndR9M7zqD3zm9wq/hCd036I+gjeixEqTUaY9MyCnyXPxcB4E6NSVq8DnqLWHy\npf0ku8nswzsU+GS7Krhccx7azUDNfeQzZHlVDFpNJxUbpWKr6LTcDdjtMcCk\nxyDPP8wrIBXP2HeJ86YgxJHq79LbHf0gxFnR/+s7Ft0ObZqkp6bfRNG2xEgB\nYSE57FxwpkMkGy8hDj6mi1JKimZMOcgRUkBNAWDhPHCHrJu9o+riXH6PzoKH\nvZj/stykyZrV+uGpBF0ou4O2hh3TNSPX6HS/ODKVlHp8z2hsbiNuzwPCj3F9\n51m/XN7S4nNjvcfFLl3QwOO5PvR/coNXmOcHLgVmSLCLS3J43HH68w4IDCrF\nHmGSvXwxxe3HUVLo5V7EW/Rfr2up7ZL3nT8udO+RvLiQJXSCjstElySw2ShC\n9+3/syzP8znFF+xrcsFfUoDFLWBNDtJrYkTTGy2laWwgJ1CdnzV49BR9s1B7\n9nqHQOkhdAQEjRh6gNVE4lZJ5bph5cEwh8KlvRR+APtLNI0HtZs3QM7gC3Fy\nBC7dK3KVQBz8H5uVF1oVHqfQBtquMceDgKTXeTjtCfFzwW3R1ryRyos2hePe\n+KbN\r\n=dkM2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDwfiSC6BSV6LXYDQnAVCrT40XVI1fp3X011Xmvv3cnCAiAS8XdelcKVUj6/t45uvuPDJPyQ8Vm3IlCg76+etnKEpg=="}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_2.0.0-beta.4_1578931084998_0.22614931284085693"},"_hasShrinkwrap":false},"2.0.0-beta.5":{"name":"react-use-controller","version":"2.0.0-beta.5","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"tsc --sourceMap false","watch":"tsc --watch --sourceMap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@testing-library/react-hooks":"^2.0.1","@types/jest":"^24.0.18","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^24.9.0","react":"^16.8.0","react-test-renderer":"^16.9.0","typescript":"^3.5.3","ts-jest":"^24.1.0"},"gitHead":"de598faa18beb54f2a5fa54599e8f111ee18b5d7","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@2.0.0-beta.5","_nodeVersion":"13.5.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-yDWzAimvQA74i84fzJQP6+1Njy290vwe30OB+g6lEd19c/OPVEjcaZ/rOz0FFioEjaDROmZeM1Y0mlLss3yhkA==","shasum":"7e9d794db229cb42ab3dfa4493caeccc899571a2","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-2.0.0-beta.5.tgz","fileCount":12,"unpackedSize":65319,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeLMd4CRA9TVsSAnZWagAA4a4P/1/3tygdAqU6b+6R/Dkd\n8PACqXJg4ayJu+e47XHDltjqSRzlW7LuMdw9Sg5Mwt7xLgJQsH9upXDDTypK\npz4dsPfqVeKJmjuy29H0QYpD65NO/R6mbT7o0lBbXKzmKJ3ESKibXGhw8Qj4\ni26AaSZ2Y3cXYc597WxwV3Iz+Y3uKX+NgjeA/rgCMlI2imGdW3eLD9rpn+WK\nqnOtl9m0GLq8VBP/V1P+SM396QvH+/+ODz7l84vMAA5MDn2l8/T9pGrVWjQV\n0jnv239dkdRtc6F+Mqkiy/6+Ir1XqgZ9kyS4ie1SAb3q40TiIv/jlQjiy0lF\nvYce9DCCVo7piSwmSt+STR42iS3S4ev7Hskdm2/fC9b6u+WBKvYW8En41Ocv\nrKZeeuowaU7E4Ab2dSYKhKxKYaOniEcMmepdxK0xmgncnHK9TUIE0gjJELns\ntdhG8mkWPPEu3Lz/4aIZvkrysR43A6JI/bvF1X/BYR2aR33wbWMqqnoo+Y0H\nweGlXhQUzhAFPn0+pua+pwyyk2JkQdnS8v2nMlF87FfhtijRfW4oCsqE/OC0\nQPltsqf+iGUM8CEr9gqb43r5d3gZ2Kyz8b4JAGwg/z3OS0ScauskKKR5ynJ2\niQEwoiwd7iUW/2bBWqb1jAbVegeaLp2l/cOfVWCJ0G+xYfc5WKINRsLIOK7m\n/QC7\r\n=rDdm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD0iDt9LiUWHVW0Wzwvt0PtQUJKDN2pgiw41VGf/UiTswIhAPV7FXG26WFh+v7p1fDBDiGiQf7RGp6uduS+/1iwyh5U"}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_2.0.0-beta.5_1579992951771_0.10256680956953135"},"_hasShrinkwrap":false},"2.0.0-beta.6":{"name":"react-use-controller","version":"2.0.0-beta.6","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"tsc --sourceMap false","watch":"tsc --watch --sourceMap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@testing-library/react-hooks":"^2.0.1","@types/jest":"^24.0.18","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^24.9.0","react":"^16.8.0","react-test-renderer":"^16.9.0","typescript":"^3.5.3","ts-jest":"^24.1.0"},"gitHead":"15d92b58f374e3c23ae58cd7eab20ee3cd92d7e3","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@2.0.0-beta.6","_nodeVersion":"13.5.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-fUCzilVpul9zj1ggHGUfO6EQstv19JdsvCN3mLuy9hYZ8jAxvPKB8Mp/2/3sqJcvf2f6OL53D5IkbL0cw7wVkQ==","shasum":"d9c9fa0b79dee87173cbaadda8829333723f478a","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-2.0.0-beta.6.tgz","fileCount":12,"unpackedSize":67315,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeLRA2CRA9TVsSAnZWagAALsMQAISAQ4UGD1onzvt7TGHZ\nIKMrB0g4Z+jRd5GsDXUC4hOoExWKLKMLgPpf4FbZH8T60cnnrYhKxSXHZy0q\nHqEE3TWgaZe+nQ5hePc+Ge9D25fuB+ZzzYC4IKaVHnfyDE4Ny46oZBfBabMI\n0cSWOGN1HQ3O8LI28qOg32DFA9y7olzmtXOWdSrp3N/TSQ23/zf6AVQ55NvU\nLO/4AwJbduLns24e7030SfZmRSynIjeO51f/RMPWK6+brWM4Y8hkX89CyXvp\n/k8JawMoukCWPst/n6YlM6f6oGDntL9BIzFTUlfaUL/gIjmiXKL/h7BPnjAZ\nPr5IedQcQhfxZlN53EHNg5Fu/IltxY5aGU725mQ7j6WupMLZLqeoiG6HDvv+\nhl+kpe5mehnYo/4vpDds3ckg6PnGqF/LRfu+eWvRK8OcJgd43n6PGw0EHPkA\nECpverKAmTkTtA3xAJnM2IlSqXTWo6DQCQ+QbpAb91ie4KwkE1RHDz3GjVKo\n6i03nOJXLZbLESESkNKKzKo5wt3qww2Z6nXHhB5VE9YbPMyJweKAWOHMmYCA\nHWWW7PFH5QvRj2H/hn52MeaB3oZDUHnJ0yrJQIJFPe7HJjSIhduJBCAee1hK\ni5Jm3LePyT5vQKc8y9HQM5D5kbiPQuB3wlEW+LLCq2cQcwAxF60wJ0msh+Rm\nQUGC\r\n=7aT3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID3tU98/Ji7G+Iz/itvI2t+W7ukkkqpFVSZ6v2Xn5sX0AiEAk2+Me0a6FtPA5xziQ6hRcl8rXIjLN/BethMMbYUIdvU="}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_2.0.0-beta.6_1580011573464_0.5436767354716596"},"_hasShrinkwrap":false},"2.0.0-beta.7":{"name":"react-use-controller","version":"2.0.0-beta.7","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"tsc --sourceMap false","watch":"tsc --watch --sourceMap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@testing-library/react-hooks":"^2.0.1","@types/jest":"^24.0.18","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^24.9.0","react":"^16.8.0","react-test-renderer":"^16.9.0","typescript":"^3.5.3","ts-jest":"^24.1.0"},"gitHead":"bdb9d48cca650ae6943b5da891ad5125d590ff6e","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@2.0.0-beta.7","_nodeVersion":"13.5.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-Pl3Qtk7wuEKjP1y0phPfv3zj+gH/bfDhP1gnMqu9RYj1MX5iV1VWAv4lxdlX2N9hFezWM+sGwZvjBVcV3XEbhQ==","shasum":"e1e47035c04ac010cfb42e61ca05c5ccbd3e1569","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-2.0.0-beta.7.tgz","fileCount":12,"unpackedSize":68000,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeLfjZCRA9TVsSAnZWagAAfagP/0Gyr1HliM08A6iY9xok\n0z2z7RMNZSpGX5tIqGubG3c8Rl0RTGAq4tq5uFtLkRU4oSQjc6Z+Ht44/qzE\npJhsASaKuSTHPSf4zxQuki8P7uCR2wh3G9rQK+1+RObntIZ7HWLztZpeyhIG\nnnHB2Pv3snQQDfui8Pf8L6ThCjb/y4L54RbQyJenK7yx1YZSlG/+WsSxsY4a\npBAyh1dDww5+sjApYeQ9NGjrTkfQAyfJZkaRRwar6o+xtCv6vYg3aIh1Y5z0\nV2nwq15vm2LHmqJO6+K02Z4pJkbcD01eQs9K8EQBQQ5xhLBKYuznCG3Tvxr1\ngFTqDE+3khNejThSi0THan9j0Qd0igPi6xwP5+Zs/tqXXGxbvpmsCkEo0XdW\nSek4pfGPGAPZOwPo6HyQhBGAzgXn4bfAFoTUK8IsnE3fJ0s3+X2HPY9bBY2e\nKQry4BmFLh+aEr0cU2xKFkgegFj1gsODW2HNly7fV9X40yGIFt5sSNTYBynG\n0BnaK+N3zqAe1DUE3a/HkIW8F8o1308/R3JzF/6HSupjuqezYIHtTXo8BJVb\nwu/+dhJtfmLFHED4dYUss5ifZ2HmojccCWT+3VTWSuZgW1x0SmIlhTF7ax/d\niSqJtZyN9lEsNhscHKoPyWq56as575bTVdBLOhNIMxi2GZWyCvtS4xkAYVNY\nACRJ\r\n=58jD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH6B6rdEzL87nDU2+8VVsV2gotVoBGTeE3MTV+ObwA4YAiEAwCbqhJl0g7sjUWTl263gLln9zezpvQlU9C0Ek9oG8vg="}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_2.0.0-beta.7_1580071128877_0.3176653708899544"},"_hasShrinkwrap":false},"2.0.0-beta.8":{"name":"react-use-controller","version":"2.0.0-beta.8","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"tsc --sourceMap false","watch":"tsc --watch --sourceMap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@testing-library/react-hooks":"^2.0.1","@types/jest":"^24.0.18","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^24.9.0","react":"^16.8.0","react-test-renderer":"^16.9.0","typescript":"^3.5.3","ts-jest":"^24.1.0"},"gitHead":"aafdd9caf6716242da8d63455f8949d3b3346819","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@2.0.0-beta.8","_nodeVersion":"13.5.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-B/JJl/fjENIsyQ/OaMyzegi11BR6i6mh735VzqBK+9sxGSB9wjoshYzMV1YR26uZtp0dd97ERv/8hOeg9psvSA==","shasum":"55689b0f0b56770118438d4802c4c4f64fcd1104","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-2.0.0-beta.8.tgz","fileCount":13,"unpackedSize":68838,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeM4MVCRA9TVsSAnZWagAAeFYQAIoqVGhNKl9nafG73BO9\nwKRMvbG4jEf2KMWC1LOPOt9ZdrMcz/eFr1Ve4w20Q1QxuPdjeeAFl38HKd9Z\nSXRxLBCKFwugMuT7jVICRkguu/y6tVuo4TRl9T/VF5bbvnp3W76z1LaJPd9b\nFiciqQ9zMPAKgLml2o0Octz2QHiJTGY8tPaXpeBU+cn53Tz6mBduQcszXHsj\nEPbuZ57Ct+af9FZD1o3HyIcsQile88pUzpiU5iJ1KGsjBOBY4sZxpBx5SfEA\nNTpYfc/VCqmb8522ye2g28pVo1HeaoKYHH6z42KMUNvK1iXQFjgF5PTcE9uZ\npJveNH8AcfUI3gIjmEagZ2EbesK+LdK2h4sNVDY2qilStzMEFqBLPiR+MyqM\nMzVfgtkrLX04WFQ0Y8KobaRdpC5eso1GtxPY0jZEoiFyZ6q64rWzgkJtRwwz\np5y2nljBmPZ5EGbkWn3DigYtLMqydaVMFl8w8Yp1w+0jieg+pAiXAZWtljEn\nbM7Hrih/PfOhwDQiZ+3axoC0WNbKLUv5NY1q/16RyFiFPIKW7XNtWUYZqaHb\n82iINamRqvKqmQfEkB2uyaP2PrbjzSHNe1eGKRwL3zm4TQWXcuDszoLBXOg/\nf1UjpgfnJUWufgrQ9wTHfHFqEDpbR0YMsMQjTdIW+EblW6x8q6IDd46WOh+V\nmqPM\r\n=Dye8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGh/Nz7/71q5HQwnwbnA9gasZy70hq0QlAhmTTqHecCUAiEAolwMIRdRHm+Lx2lbHQgUM0tRwLjw+LZVLSBWzIePnZM="}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_2.0.0-beta.8_1580434196935_0.5185026414563132"},"_hasShrinkwrap":false},"2.0.0-beta.9":{"name":"react-use-controller","version":"2.0.0-beta.9","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"tsc --sourceMap false","watch":"tsc --watch --sourceMap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@testing-library/react-hooks":"^2.0.1","@types/jest":"^24.0.18","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^24.9.0","react":"^16.8.0","react-test-renderer":"^16.9.0","typescript":"^3.5.3","ts-jest":"^24.1.0"},"gitHead":"4f94ed0349a7f46ee0b246f3417162cec0231563","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@2.0.0-beta.9","_nodeVersion":"13.5.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-JlpkiHW3QB//srPE/QsgOO9gl50n9NPUoqdxV0yd23tJyzAxa5mfhEDGm5lhcAwstkUmYl5705bUo18cP5qhIw==","shasum":"c5bb9e44a7ead983a5e7dd7c0f93297c5fffe561","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-2.0.0-beta.9.tgz","fileCount":13,"unpackedSize":68832,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeNBZ2CRA9TVsSAnZWagAAYoQP/0HnwrAd1jZ9XKiGrYI1\n/jWtUsA6qQZFErHtGe8SE84mI+mnz0Pn2XVvjQd7Ke4uKY2ZDEoaEBsQAkUn\nJ80EKOq8I7dcEYb5w0dcc/MujvC7zlG+wDatw3lTOcB1t6EP5Ik00yoTar0r\nNoOTMnrn5193NCfNWM0esBmYwGaCDifCmcYDgb6IdSI0xeGOyqIMmEPclUJO\nwlA9CmkakTc1Ag299bWxtYJnSgFx8HqlBVeI8yhuQtInJjeqVIOB6QKnVOeO\nwKNdvLr9iPH7nx1cciZ+VG5RbAqopZdcg752A5ve+RynHCl5oWXJWuJKBMtl\nLa1Ln+GmsOokGihx+Z4nALayzp3vjirrWIQbjokXomhaj8NmDhaa37zgyvC6\n6VBcnuxIkwPwQI8+k6Wbj12u1bRlS3l2A0LGeYyWL4jQpLPSnbzQ3z4xxJwz\nZKQvePHlTNGoXPg+4Sz158oatuIumKQgmyfkkMsWbOOIpfQ5yDwC61ZaGiFx\n335GoTIolGHiC0RKPyNwsv22bopfzxwz4zuTvSIeMlcOTcR5qgYayuPDhlN5\nItkICSmgNAokeoQk+FmXPrRTX7SkS1UiyxNhFiter5u8YZMH2+MTNvo+HB1e\nAidKWf1pgRvzDubGZnHjAGtFjNDhkT7IqWtkvIcuf4hSTwhkvzEjGQBkflNd\n2Dx0\r\n=pih6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD/4jb1EC4W9/N1VPZZudalBRHMYOdTzpupO9XqXerkVQIhAMaKI+An9QKT+QHQ+/gZ1cE9IDCSrD31kLAKpayE5CJw"}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_2.0.0-beta.9_1580471925514_0.865830342448993"},"_hasShrinkwrap":false},"2.0.0-beta.10":{"name":"react-use-controller","version":"2.0.0-beta.10","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"tsc --sourceMap false","watch":"tsc --watch --sourceMap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@testing-library/react-hooks":"^3.2.1","@types/jest":"^25.1.3","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^25.1.0","react":"^16.8.0","react-test-renderer":"^16.13.0","ts-jest":"^25.2.1","typescript":"^3.8.2"},"gitHead":"4d1b75d195823d949a09e665cc3cdc3fd2ec18b3","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@2.0.0-beta.10","_nodeVersion":"13.5.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-y0ltvWFR57RZcB0uV4nUx+3AY/leRWOQ5pM5s+AE3XSmEvOIL63PM9kazVPYGiot5Qw9gFnPUPworSLX0ZhA7g==","shasum":"e4c491b3526ae7d4bf9d405ea60321040268714c","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-2.0.0-beta.10.tgz","fileCount":13,"unpackedSize":73083,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeWXrUCRA9TVsSAnZWagAA1lQQAJNrv+AUQVUMgDJEd9Zz\n+KZjcjJdP+kWVF5EXk0wT1cS7BaAEaNX3fUrxTrkeJTW67/RYKTd8500U+4R\nq+B/XgPuzcHECtYrdZLrQM+Ubk55bUqDsjHCGk10FzX2aCCZOmJ6PTpHwwBW\n5wK9nJyzpOWFbvp2a++zcxRJVTKe2X1v+atTXi4vYZLN6gwzUOax3/stloNi\nG+AncFC0/kfJRr6BzGXWniqxAf2DDaZz4GVBeMxWCygLAiZQhN9tTIylRlTl\nXz75KMlGRBo4D1sYP6821tni3m1p021sqN944aAl29GBtSSzLtsDa3e7EqgC\nd520WAgzJzmhLyXqNoo/eiAMJ8G3hyr7mWpcUD1e0H/cwScii4VwUkMOmEY2\nH9sB+2BkEv128Gljd3735MznAktrV4jnCr56Pqcf1kvN8Trfrrq55hxVA8hJ\nDOHiG9Yy7TLTPPfwEdoPC0gaoEyuTIkBHa0ZOjRzuDjxUjNEz2y1Gfn3TDuj\ncvgxwDGDw3KQe3qHuC84fl2mYzvTSFeG6bpoJwAgDZ+NTozTlESSUade1lF5\nynLZsb04wWT7dHqAHXmkymgYQi1wAy/wr6H5OeShdGzVwdKDpQ1bbnMONY6+\n+gi0+dCyRvWOVysjKBOyuTdewb79c6fCkbXDbXNk5GifudaAFicDyVj52+l6\n7Fe4\r\n=mp0D\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCiVeI+o90GT8EcOy5MKOCIt0ETungVmxxrWkYCCalXLQIhAJIRJD2eAGyHAdnX4kMrGnkjEk0kqF8PbpKbU2xl8Ar9"}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_2.0.0-beta.10_1582922452075_0.9054243625639329"},"_hasShrinkwrap":false},"2.0.0-beta.11":{"name":"react-use-controller","version":"2.0.0-beta.11","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"tsc --sourceMap false","watch":"tsc --watch --sourceMap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@testing-library/react-hooks":"^3.2.1","@types/jest":"^25.1.3","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^25.1.0","react":"^16.8.0","react-test-renderer":"^16.13.0","ts-jest":"^25.2.1","typescript":"^3.8.2"},"gitHead":"9952730e17f7ce1086065f5cd3696d8e62fccb61","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@2.0.0-beta.11","_nodeVersion":"13.5.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-LZV0VAQI5yCprn7Y+lyXMUNEYpSHRW3iO34wF55qeQDQBz7CHTSMWiKGuYtmYFZ9FHzZh9ZqQHZmLnEOHvZVgA==","shasum":"fce5894fbdf91cf75a717514135e120f40671c54","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-2.0.0-beta.11.tgz","fileCount":14,"unpackedSize":73598,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeXJB9CRA9TVsSAnZWagAAN68P/34H7qZBTCYDgFUU7hmY\n5/ls1ox0lJ4+ka0Sn1Odh3Vn6tY71SddAyTwJu9R/Cm0Ffi3pI5pJWK/6gKo\nokJGH/fY0q3bvKP3HbBLDD/nI70yVBVji3ZHeeAGLqTp4xME1ICQ6wdKf9kd\naBj5CyRjPo1l9xHZNaomvNv7cSjqToF8Vblo/tOp6xLMPeQifTza6c0zykB4\nNp+CIqdTN2uRTZfcTS/GvhRyx+fs8tp+fXB8vDJcvr5ae1syF7RDKYW5BnPa\nkGCA1gbGJoBggwx4mYt4gnD/ja765B/xKbMf9gH97S2quWXEKEGLEWsGwLTW\nozR+DD7FYsQ0mUD+1GSd6hMrgPbG9AXHyX4kjS9ri8SxJ3qtCLiji+MdyB9m\nL79Gtvyuw0a1M7MFIpFptoMnNJ9wE0tKt1crwnK4WLdyHie+y7ZVjn1vwJP2\n8LLMbpU55OodrNdwjtKf68xT05gcHO3BYqzVXtavfAgj+orT9pf92GFvuClm\nPjdcK6XHquLMGF8yqoZ50/BDMJLeeU1WDXBoGOLNGNc38mWusP/Z+TB5rwrB\nm9MPczDUL5U0yLgFZx+6O31gghZvkJwk2Y7G72xKcLwtXjj1qk+UQbt/rwhy\nbDGOSFWRiDZBhOJCj0mprEbw3mWr4NNY4/hBmdBJ40GB5RBVKi1Ayz5cHcy1\n4L/p\r\n=VZd3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCYiwiMlovOliwewWU0zRPtTHV/iWCUfXuXFJk+Tb0UFAIhAPEzfAujDjmHD5f5f4tvPRT6u+sLDv8IgZxiNV/AEbB6"}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_2.0.0-beta.11_1583124604446_0.5136845350169827"},"_hasShrinkwrap":false},"2.0.0-beta.12":{"name":"react-use-controller","version":"2.0.0-beta.12","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"rollup --config","watch":"rollup --config --watch --sourcemap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-typescript":"^4.0.0","@testing-library/react-hooks":"^3.2.1","@types/jest":"^25.1.3","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^25.1.0","react":"^16.8.0","react-test-renderer":"^16.13.0","rollup":"^2.0.2","rollup-plugin-typescript2":"^0.26.0","ts-jest":"^25.2.1","tslib":"^1.11.1","typescript":"^3.8.2"},"gitHead":"8ded85fcc9a3aea2f389d430ba7dd7b76723873a","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@2.0.0-beta.12","_nodeVersion":"13.5.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-KXUQ2dX0KF2KbqP3zZCUeZpr5wMoYFRPvtY9n9efa4W0FH8KR1zPJgs4RcyWrz8yjALDx3QIoO7jJ/4QeJwvdA==","shasum":"1552233db423039e3491d2659fbede0efd0c24c8","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-2.0.0-beta.12.tgz","fileCount":4,"unpackedSize":65386,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJegQGgCRA9TVsSAnZWagAAAucP/ie7JoPxl6hz3vouGfya\nZxA7uyLi4hpqUeKct44K//zBMVaCkbgf2so6B39KYKXgiZsLUFCtOcHoScfQ\ntHpdqMdCPLhXTP2/T6t1SpsPPzVVRC3r1wFNTEflRAkfOCONd/GFQ9Z2ktCw\nzdIl1ghfCfMqMVTxYJpoF1T/N2nV+RibMK9XTQfkGF0T9A7GhYg5WEHtCPbf\nXFViXgDpoTReLzsLVvdvMVYptRdady7NU0GSDG/Jlg0IhkZ46/9nN3TaYxHK\n73KYviSNRhj+FLimH8l3yUN0KCEfoFXMvcot3D6A9xG/lfolw8nzu/dfJ7wc\nbn2jtERneuiEjj9UAk0Qotpmb8MoNkmxBlkZ+52ZYRX2qMqkw9py/YWXEI5N\n8maYOcvLa0oYHXBL53Casi4DM4Nuca4Fv8XtgGUH/bj9KmDUon6Xms2o9Eaj\nHO1WX6yr9zselitY/UkGnOi7S8dw+ZX0hRrHmtOUTt2I/NG8TVGTWiZSXpj7\nqGlC0+y/FiFLQUhYOuSwwzHoG/FLN2i24Lj8i1drjHo8zb6Zo9ohzz5/K+D7\nCwnx9cJ8CO4xPyXEAF6/daSjdwE7vItTA3E76vK/ZInpXrx5BiHeecLWsjhQ\nsro4nFPJGIeHododaCxgilKFPZbvIUXMuNvY/527BmaF0YKjbNTscBqgabM+\n/seh\r\n=+lTQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCSOq9fwa19RC1HpVXQVEgiJHabeNUngvRjimDHyXtovwIgQEru0NXosWnofbUyQKtYjg95GtVmuU7KZOyNMjHxHvM="}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_2.0.0-beta.12_1585512864145_0.4757975972651811"},"_hasShrinkwrap":false},"2.0.0-beta.13":{"name":"react-use-controller","version":"2.0.0-beta.13","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"rollup --config","watch":"rollup --config --watch --sourcemap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-typescript":"^4.0.0","@testing-library/react-hooks":"^3.2.1","@types/jest":"^25.1.3","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^25.1.0","react":"^16.8.0","react-test-renderer":"^16.13.0","rollup":"^2.0.2","rollup-plugin-typescript2":"^0.26.0","ts-jest":"^25.2.1","tslib":"^1.11.1","typescript":"^3.8.2"},"gitHead":"77f8e7e2cbed97fd1ebc9166a6a6071690f2aec9","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@2.0.0-beta.13","_nodeVersion":"13.5.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-LgufdnPtIKLLp1lBuynobF9KArAow9TXa1qrjkfnQdHGa2gdNFeuw8zns70s++r7wsQosBplIMBGiVm/Cu23OQ==","shasum":"7a5dac110b2a24a93f60fa0784e3722281fa822a","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-2.0.0-beta.13.tgz","fileCount":4,"unpackedSize":65977,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeiWppCRA9TVsSAnZWagAAFwYP/0yYbtYvwE5diMYXleDy\nVBvbETcCy0NlPrwREZC2c0T2Jc5GIFDmuA6gCc4ywZRkvQG9XQRagudmxm1c\nlnTSXndXrHioHQQfvzOS0U4H8HDzuhc8d6tanaxxvmLzgse1UsKbTp57cAI/\npBCDnIsx33wSzXlqY3izkeHWOD46tRDabwhLpbLFxdykl7rgRJ7ci3EgHYqz\nGNK3EfScGOXpMqAWtUQmY5SnvAwXKHK5aoIqKEFFRuNgsedVnuX/k2+Sscej\n8j8sLLL//GBYqkxdsW+mgjXGRI81FIEkb/5nkUaINwQ/5r1owyJFl1zOYrJe\nU8x6gm69NPDxSKgivxOpeOz665zoGcPcZngx4XdaFkSdBaBbOu/4uqj5jPpc\nRHA1EZKXYDBgBXA7Y4jwIIS9BD0TsL1YqvpocD9a91OmUpo9kq4Bqa+V3ERL\nw6JLFq3bPsk6JaFB5lRIAOebMrXvli8kKo32EpyFfa620KiKbWtADqomldtH\nBD5iT6Ryr1b5rWpnBqZZ/UALaVSMvQ6/QdfqDI1nDZksUZtjAc2f7B5+8b3u\nR8rW1bBEE/sOLXNA9jwjzfNQvs7DgEVGro6qwd/1DgrdVMvTJ7B69JZzCKmA\nlv+YPwZC/b3fpaztW23cViasRekj7jiG2W9LDy9s7YZBT+iVEgTX22aYpGsp\ndrWU\r\n=GxTI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDbIlnKirtEmqOfsmA0uf9vqsgaJtfervn3dA2uKP4T3gIgDhiBHU+F5TWLVzZvl1+IlEbyJKK50ltuG+z1HVVKuRI="}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_2.0.0-beta.13_1586063976434_0.7217672645658477"},"_hasShrinkwrap":false},"2.0.0-beta.14":{"name":"react-use-controller","version":"2.0.0-beta.14","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"rollup --config","watch":"rollup --config --watch --sourcemap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-typescript":"^4.0.0","@testing-library/react-hooks":"^3.2.1","@types/jest":"^25.1.3","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^25.1.0","react":"^16.8.0","react-test-renderer":"^16.13.0","rollup":"^2.0.2","rollup-plugin-typescript2":"^0.26.0","ts-jest":"^25.2.1","tslib":"^1.11.1","typescript":"^3.8.2"},"gitHead":"c1d4a67fb8345f09c687e266b5b9d835e0235e19","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@2.0.0-beta.14","_nodeVersion":"13.5.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-xwc+RnNOjku8TfeLmpSm3WsuXLoqrwEPll2ztqtSslsRLEeErSCJ0mSHgW08nSpl/rsFrqDLLXuE/htAgM+tWg==","shasum":"84ee91c1aafbbf654636bb90e19bde004e6271cc","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-2.0.0-beta.14.tgz","fileCount":4,"unpackedSize":65779,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenlDTCRA9TVsSAnZWagAArBkP/3ibuIFNMA1PF3h2BnLL\nixtetkHtlvuOFiZHpDbbpjS2tQXkcEw2vA3wsFBeHyMFQfMqCF7vVFRtg1VS\no3dNGnJH7noePcyi7DaFJhi4rejh63hHSHfynrcm/vM2Nq2jeyynyFrZhl2x\n9LQOuRIrEHH3iV8XrJ1Hkx/NccqKDCWOxpOJon7kuWJQmBTGf5ETifjH2a02\nfhrBtrfYfwFL6pejAV4fiyLgXmSWkDSjb+IHDY0EbZhHjYruo7steMZzFVIr\ndVC+DUOAGx3bYeC4UOUYMwNjBsWPyEywUt9mOKdIbQfljEnzqYQWluUnLdwN\nMGPVLIGtZo0DAO2RIX7PDJiA6bT1DNjMhHzgM0FSBn4sTw9+6DBwDpI5NENb\ndJHu5TuT3LcoHCP+xX/QVOFdyAFRM7MyDs+WJ9anE+4MvhT3wq+fFl/0FGIG\nJ9H7BqtZbzu79kIpbw6+rKF1xcgftllyuQlHLE9Z5Oxu0p0C2tHqA7i6lNS4\njfaESVfNuSxZwtLfh3dM7UJosXbJHviWouqxbbW/WqjNkhPajR+wSUoxFmXF\nL/E/9RywHz+SonoFZ73p9FlsSqQhnorjAOKUMGM4py8xQ+e1fJk2MIzcoUAP\nfvi5X41meFwc7UfrmH0DyoXMVo/X2r9SFSkGJYfS6qFLIGjPIVCVTkUByw3z\nH+xh\r\n=Ronr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCZghOgdO9itLnyX6hoNTCMBEd8yMeIMRjQ/y8vjE7U0wIhAJA3BMfZxsNruF6GrSpc56Hgg2LlB/C2rgWfMc94tALa"}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_2.0.0-beta.14_1587433682895_0.1810508676501652"},"_hasShrinkwrap":false},"2.0.0-beta.15":{"name":"react-use-controller","version":"2.0.0-beta.15","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"rollup --config","watch":"rollup --config --watch --sourcemap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-typescript":"^4.0.0","@testing-library/react-hooks":"^3.2.1","@types/jest":"^25.1.3","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^25.1.0","react":"^16.8.0","react-test-renderer":"^16.13.0","rollup":"^2.0.2","rollup-plugin-typescript2":"^0.26.0","ts-jest":"^25.2.1","tslib":"^1.11.1","typescript":"^3.8.2"},"gitHead":"922c167faab2c8430d82459285e20e842698a97f","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@2.0.0-beta.15","_nodeVersion":"13.5.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-tsDREzOj39f6U8iEDBF0oxQzg0Vtj9TNk0nS8jQ5IeYtW2IU62ivvlqhSs9+lPKB72IVsfcFvOS/AzFIIOte4g==","shasum":"024e77368a2cf821aacd0632907e108aed0332a0","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-2.0.0-beta.15.tgz","fileCount":4,"unpackedSize":67223,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoyU+CRA9TVsSAnZWagAA5aQP/30zCjPaGcnd8wg0MAGB\nLD3eK+rJWNIWgpqyKdKqYF4jxN5oI77GpvZVX6E97YSa1Bg/bKW2InVFOwku\n43HHW4gKucGZwd+y7DumnuTbTqg/XkhPY2kXxlavDt9kRhHva2U8gFnK+yy4\nISGvA0vRr2XFycg4Ks43jNAgMg1rfQGDKZK1TqCJX/hY0sroI/GuPeUI8vSL\nvsfFFz5D6DAomSfPcCJ6ixcFli70gNRvH6UKoomjU4GStkby7bVM6S0iKqq7\n8TnW1WeRTsvi7zTNcVRDUyNDVBX3LS+GWSB2hWDZFnjijfLq73L43mznFacD\nRKOXB7hnmx8rTLXpAYb0zqPWjWWs1LbcmgtB9qUENtsZZSsL4JmVbhfIyaIe\naF6zShfRVndVUoHR8zIXebsWXqJNUYWwzdOGWfeLc1plLW0Xv9LUKSmKAEDg\npltPojdgBohqHz6a1b/WJTfi7P1gtDlmd/0sfmpJQ9fDitYjq8ZUrsUWbHYe\nVmnfGKts22oLvm2wWhjs7Kv02BWgSnVbeu/RfbuGLTiGfWTLbyZX+b00nRXH\nCFZsc1gEhQ08e2dwR9s+LmQ5znqnYVmhi9JQd9ChSHV1fPOA2Ev9XjtfT8v8\n8fAJJ3bGXvp3dTqdqvYoWW5imhztNVJW1C4Au6UcBpuk2PR+pA8SaJu+NFnT\nFkE/\r\n=0uVU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA1HvXqk8ma/4Q2HbEbDxtlAe90SJXWxbLRNj4ffQ84sAiBYW5krQKlm9MESYySo3yJYwnQhGJCNacMUTF8MVWaT5A=="}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_2.0.0-beta.15_1587750206401_0.48547669739090615"},"_hasShrinkwrap":false},"2.0.0-beta.16":{"name":"react-use-controller","version":"2.0.0-beta.16","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"rollup --config","watch":"rollup --config --watch --sourcemap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-typescript":"^4.0.0","@testing-library/react-hooks":"^3.2.1","@types/jest":"^25.1.3","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^25.1.0","react":"^16.8.0","react-test-renderer":"^16.13.0","rollup":"^2.0.2","rollup-plugin-typescript2":"^0.26.0","ts-jest":"^25.2.1","tslib":"^1.11.1","typescript":"^3.8.2"},"gitHead":"1dc3da692f0c2ce5d905f1d4607d7308a461e2f2","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@2.0.0-beta.16","_nodeVersion":"13.5.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-ABQK6q72BaTcx9eCAHjgJmQXVV+4LH67yAdJ3cMJ0xb7w5DzG/JXHu+cXu32DhCn9PvWwPjPNy/ti0q9tAWCXA==","shasum":"d578514a9fd7fc4e1c994e8948142d59e5dc6be0","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-2.0.0-beta.16.tgz","fileCount":4,"unpackedSize":63918,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJepwlkCRA9TVsSAnZWagAAFtMP/jMG8aRCha5bakTom617\nazTqvwWKjtJSbd0zEXbQ3eEkpAPXf6OZzocnmN1O/g9CC1zzj0xOoBV7FPy/\n/4NcajSNlpgQCZJlYMOI/CRHkp3+OCToqTw/lj7ZAfDgU7yU+u9MIRY0Lhhl\n4+rpp5+p6PKEx9f4NalsdvwO/b+3vpUYYcw6dy69O0ZvNF7fHlE8nzdL6pjf\n0n2OBmzCe3LXDlN9YdAUCwM8SuMKTLPwFvdVGJClr+8VP6MqyiSJUhxcp55F\nmFMWatqvXi8EvUOc+6teJT5lA1R2DdzIzkAdBXe5/DvwnX2ZrXacMDg+f5Ai\nGCpte38NCMv1GR/f8VQbPprvsq+XCFNbiXUpwAH6WEhOchZ5XEEEz3X2SJPW\njYP412nzTqH7BsM32QJ86kD8Bor+CR94Lu0MlcaagelstMGzNMupvl3Cd52u\nuPql1pfP7zWddbLykv6cORTF7ew8eXgk6fWndEP4xC1HUDC8WDsfOaMIK5ch\nPRrznJ90iBayJbRaF5NIntSjY9tdbcDvE0RN7/rabnyJJl0+stZCVT4GflD0\n0m/RpCtPCdRV+CvjZzkzkyCP0F5qBukCNfzuRecwSiN+t1OYQZO3uKFsxb5R\nDwOyoEP/bc/OFukro1ZvgZeBEF92e1PiNX8C2r5ta0iF+AAmQHkj9pq+zydj\niajf\r\n=nt7w\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHF11DL67VMHd6cCC31tRT5yCK/XW8RQ+V0Ik1P38i9DAiEAhDJfJHkMhnSDnYGEPPbMGPlNZ/TtCC1lvrOaRKXMxc4="}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_2.0.0-beta.16_1588005219700_0.1144345356678691"},"_hasShrinkwrap":false},"2.0.0-beta.17":{"name":"react-use-controller","version":"2.0.0-beta.17","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"rollup --config","watch":"rollup --config --watch --sourcemap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-typescript":"^4.0.0","@testing-library/react-hooks":"^3.2.1","@types/jest":"^25.1.3","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^25.1.0","react":"^16.8.0","react-test-renderer":"^16.13.0","rollup":"^2.0.2","rollup-plugin-typescript2":"^0.26.0","ts-jest":"^25.2.1","tslib":"^1.11.1","typescript":"^3.8.2"},"gitHead":"0cbb56efa782b8d66125049652757c12878751a4","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@2.0.0-beta.17","_nodeVersion":"13.5.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-DT+HFzU/wMUwb0wh0mgpEWqdb3YLx3B5TBeMjD979CJ+JDyDVTcJYncXlsgfyBOFB3i32+xo2m5Zh5xzfkURLA==","shasum":"85a62ab011ad4661efd6757b981ad6823999656d","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-2.0.0-beta.17.tgz","fileCount":4,"unpackedSize":62930,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeqst2CRA9TVsSAnZWagAAv3MP/1Akp61C/bWXv6UuKpTA\nC2pyx0PZ2ByOVlrN9O61Ku7pxqiN7OE9tL75aYNTfOSIzOx6CyrkkoUFBTsa\nfur1VT0TkN8z/pCa1ctmHlsD2iRBiBGW94jKWvzaONMPuSrtUtjk+QZQncMv\nIS7r2YRk5rzP1DZv7CsWdeOks/p+0nqNC1rf6gs0FwwKULmj4o1OnFaSmk7t\nL1n5nf7K526ahD7I4FJvA/R5ZroWuS7cunlyLNtYbIJXI2VgQGyjdw4QQbkr\nZnGfiCVKX4toAnSsJQK5eiPojTD9qU2tH4t59Fz+S+duU5jZNAjkgKf0O8m4\nkfUZyUyC4spVUB/Np/IqtnjAfRE4EvG9auRRzeFnueyV2V4T1hP1WwfbNE/I\nX5H9bZ4XEH4q9n+W9Pq9/TFWfKpwa4qAW/eZeZZBGkcfPBqMEnMNYFH2uu2E\nq+CLAhQtiCh4SeuHLieyjYQPCTgrAvV277TE/tBQi7dXnwf16IlpG838lidY\nPLV3tKJircNYQO40DIiJbSMYoH9UtA2X5UU1+Xkff/enxESOP9ZryO01fx0H\nVZt9LV7WoaVHH5QPqpgFEc+38orygOUmveX4FAh5CBoWmDheAL4ZtBsm1UZn\nQapOqRZv4STdoJMU9VXEsBawHv5YAtq0AnUYJnYBodLYXBiDjBHyVTAJW5WF\nt3ap\r\n=Y5cu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCdIOKNqUlY4TzG+wl9PTjmKogJgz5yfwYBYZ8+sbQa4QIgZt3H9KoF9aujfNB3kcM2oxGcs27aaW4JZulKCSsnld0="}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_2.0.0-beta.17_1588251509776_0.6568663395401488"},"_hasShrinkwrap":false},"2.0.0-beta.18":{"name":"react-use-controller","version":"2.0.0-beta.18","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"rollup --config","watch":"rollup --config --watch --sourcemap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-typescript":"^4.0.0","@testing-library/react-hooks":"^3.2.1","@types/jest":"^25.1.3","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^25.1.0","react":"^16.8.0","react-test-renderer":"^16.13.0","rollup":"^2.0.2","rollup-plugin-typescript2":"^0.26.0","ts-jest":"^25.2.1","tslib":"^1.11.1","typescript":"^3.8.2"},"gitHead":"fc0a6de90800d17f6a05db5abb6abc43af7f5e22","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@2.0.0-beta.18","_nodeVersion":"13.5.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-KPy96yd2ecgn6L7y+bPtXMgoV4HTRTCKl9vwf5AuVe2O+pu0jDmkzndEAz/QpYbl6qvpd109oF6dbuAK9R4e8Q==","shasum":"6e9facf085cae0bb42f93ec9fad32a7a3bdacde2","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-2.0.0-beta.18.tgz","fileCount":4,"unpackedSize":66331,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJet47JCRA9TVsSAnZWagAAYCkP/3wAmPjkgtgEFeZ1kQs2\ng1pIoCLsTtV5MfeLaZfn1px4hGpijtFscLDYJaI2l09VfmngoPC/l2oC54VU\nrHSi0J1c+t1JNV2V8QLMm3S6/8mmMcehwS/hQXAeeJR3XoEAXcsbkkzZPvKK\nVeq/ey8FYJU+whj6lbpqWJ1BAS3spfRKpqs8KRUWuGjU6rbIwnT6iqlgnTRr\n5vMtCo55BDRP+birTe6WzXpdYzd7tPtfgasDJqy9jkrR1FiXpDrrIZkk2Pm4\nakG+Uh8kDQe3kCI4xsZwwbAI1fpnMZTyC1WJ2lMvdEnb8nOmlVmNiElQ1omZ\nvkb8cRYbzcy6Rl0sBhTFH1DH7w+wqSZKmCgmZUopzUkOCQhB3By2zXIkWhI8\nnrJplyfARxBIfH2ASZfljJkt8AeseJXl/mKkvEYIIqhQRVTAPQIiQDOifLUb\n9Dki1hXHqlYLLuHegVuz8GsrDElXJHKTt2+1oMkHE2gLJRxHnXRgE50VKGV1\nuwVRiVFhT7fEfc/AcyfNDuaNTYu1rCabol5n6j6rAM2iue2pIXLb/dnR7oan\n14GTHD95tT5T2MEM/xOWhDxLY+K0Me4LXdhlk4y5pDyIUqlijR5+xO7YW4o6\nci8LyLcL/FkoZICzsz5/sHOY13Wlz9BCrT1Jo0FkHTSSIMtqtYx9U4vMSaM9\ncpNz\r\n=tXJX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCTQMmYfIPfHFOyXcOHastoipS961THrskxSgBPDuYjagIhAK9vboY2Asfezq2nKU4Wjz2dt0X7cJz4/laUGxFKOiQw"}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_2.0.0-beta.18_1589087944815_0.3971630195651439"},"_hasShrinkwrap":false},"2.0.0-beta.19":{"name":"react-use-controller","version":"2.0.0-beta.19","description":"Easy to use state controllers using classes and hooks","license":"MIT","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"publishConfig":{"access":"public"},"main":"lib/index.js","types":"index.d.ts","scripts":{"build":"rollup --config","watch":"rollup --config --watch --sourcemap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-typescript":"^4.0.0","@testing-library/react-hooks":"^3.2.1","@types/jest":"^25.1.3","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^25.1.0","react":"^16.8.0","react-test-renderer":"^16.13.0","rollup":"^2.0.2","rollup-plugin-typescript2":"^0.26.0","ts-jest":"^25.2.1","tslib":"^1.11.1","typescript":"^3.8.2"},"gitHead":"4794bb6f5c17fc82ca0cbb35e5fb633043bcaecf","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@2.0.0-beta.19","_nodeVersion":"13.5.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-oZtiEBb0LF1YmFbVFujsxdy3yHhjM5hIwIVLKX8wYgNomp83gimFMYiGjfgEXQg8hJ1R1GCLr6oU4ZF5m1vfeg==","shasum":"9632f83c9e921278d6c30ccbbc31abdcc84f5291","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-2.0.0-beta.19.tgz","fileCount":4,"unpackedSize":67759,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJevrArCRA9TVsSAnZWagAAKJ0P/ibF9W96zxiPa2gEk+ro\n9iN+OCqGYSFo7tm3ntVgwmQk2WjIhGsUkg8I+mEOOVjVX0S1FmZROZ8RTWZW\ny+05KgxmiZHWyscvohWhwrC4VoQwGRK+xdEV4CcLd+Fy/+Q9yewy1UFkNrmN\nyVZBZsektwd3Qilktpzk10bav7vZurUIbUDZRH4bMQSYAk9KLfGkCwIEjQ/U\nRg9GBxD0Uj66fDdLezfiju4S4Iao88vCyVSxx4aQDqFUVBc2BL7ykG/Pq7Nn\nEI0BnrZE5wtJzPORUeLyHwqFxax63ADTY3ziT60dLI1OT7tTVz/7gxMsjlB2\nxlAVf2HdrRaxwWoJVcGoq3OSIHsKVCmYqqZS+lFcocaG4VBEgTTBLc5RxOy4\noPVexwbbKIMV9WGmqBIKFTzNkcll+MdY0gRl9iOy8ZWYMczSPQw5cyuufjuR\nufnvb/JVG1wj+RHNR3vdkBiSbr8cduJRZn2ydsPS7gNCXLM+cFuwgwaXsw7w\nwTlz0+yms6KzFbAYVJG7+xGupmjpVqDuCp3e9ZyyuKI53InGCAEifRGauPIm\ngmAjqs9cRz/2qUd4ozmsXTjWf5Dkp65ozw+rj+foEU1hNP/iu/S910FaPVIy\n1cXq3uGy3T1uC8YKTnoln0xB4QI/s8MG5eS+iY3E48Jf9/baxR1qALn3W2/u\noiFw\r\n=6CSr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCtboJhM7NEhepYMycx22TVKPo2Y7NOuTVBYpl5aVAdXAIhAKzirENZ2gkeZR7QK9yy3VQeHIX+g+MW6Oy0coc52Bj6"}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_2.0.0-beta.19_1589555243267_0.8690509160570545"},"_hasShrinkwrap":false},"2.0.0-beta.20":{"name":"react-use-controller","version":"2.0.0-beta.20","description":"Easy to use state controllers using classes and hooks","author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"publishConfig":{"access":"public"},"keywords":["react","hooks"],"main":"lib/index.jss","module":"src/index.ts","types":"index.d.ts","scripts":{"build":"rollup --config","watch":"rollup --config --watch --sourcemap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-typescript":"^4.0.0","@testing-library/react-hooks":"^3.2.1","@types/jest":"^25.1.3","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^25.1.0","react":"^16.8.0","react-test-renderer":"^16.13.0","rollup":"^2.0.2","rollup-plugin-typescript2":"^0.26.0","ts-jest":"^25.2.1","tslib":"^1.11.1","typescript":"^3.8.2"},"gitHead":"48e8b6b2793b824b4e0efdb6470515420301c509","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@2.0.0-beta.20","_nodeVersion":"12.17.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-MNh1GzdIqcJUZOw1WSge/UKnoqsXLl1yQEynUA7wqi+nAmK2xPFMcC1oGD/GrXq9ZE4+I1ve3YITiHhOJmSLiA==","shasum":"46768211f98d330f7936df3c3d278bd785c9ca06","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-2.0.0-beta.20.tgz","fileCount":4,"unpackedSize":67773,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1TkxCRA9TVsSAnZWagAAjnoP/3o7Vr5yV5OgiIfBtVFB\npppbZGRZwcKg3qedy3Pt+ovs2zBG6xgHxxajZO4ZWcxJZPQatKQ+7d0sasc2\nvh4gtQLk++vRv5roMQ0UehtfIVjxNSnXdKSBbt+sWmWodt/cKB2kZqtmMpxX\nJQp01aN3Ze5/nxyQwbSDLlJ34MakShnszalWNpziuvLg4xCzlYzbkikxZp2u\nSpzL3B3dsk/jm8GZK9X1KSY7ZxRA0e80CIstCUoESLkWNepLxSZFN5GPCmkw\nq1aHH32kV/ZDzfeZ+8q1FtsrtciinHMXZOYx/jBwfYPZ9IqBFuElnhdbPxkK\n5X+5OU0tIPDCYP5npSG70whP3b0tb0dfxdfvi2MXwnQwVGfxOGBgdBYfqnMs\nJZCeJGS2m50Ezb7zs+4Ak/i7z2LIs5caAxXasCBXdSPw4SbI+k7tzKNynxyD\nXLFQe+/eNaJzu4frC0zlrQE3oQRx4ksDwGJ9su4b19dOHVGU+dD/RDrjsj5/\nJLuEzxgiEYspnZ9tkcsKHz+EnaWw7LZZWN1UMHqrgZfP+erOu4c4+ku6MeAc\nq9/Vr+v+yysfUL/n8m9m3r1ljJGLwwLIGpJP1OstssL7ZUrSdMpwkSr/faXw\n2b9EJu/8Z4iOnrcB1FyISes7gFQTGKV9m1SARKjaYAROJe41i5gyPCg1wqj0\nID47\r\n=sAK7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCDK+QoOGdUbY553LZyl0T+FHpPPxCcf0/cFBMqJPhywwIgBQcxx+0t8BRFfu3PJcvtQn0OKDR0lT7w8qK07tNGvVA="}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_2.0.0-beta.20_1591032112479_0.7774770384071261"},"_hasShrinkwrap":false},"2.0.0-beta.21":{"name":"react-use-controller","version":"2.0.0-beta.21","description":"Easy to use state controllers using classes and hooks","author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"publishConfig":{"access":"public"},"keywords":["react","hooks"],"main":"lib/index.js","module":"src/index.ts","types":"index.d.ts","scripts":{"build":"rollup --config","watch":"rollup --config --watch --sourcemap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-typescript":"^4.0.0","@testing-library/react-hooks":"^3.2.1","@types/jest":"^25.1.3","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^25.1.0","react":"^16.8.0","react-test-renderer":"^16.13.0","rollup":"^2.0.2","rollup-plugin-typescript2":"^0.26.0","ts-jest":"^25.2.1","tslib":"^1.11.1","typescript":"^3.8.2"},"gitHead":"bfb8d5ad3ed9a9c4355bbc2052e4268c648dfb3b","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@2.0.0-beta.21","_nodeVersion":"12.17.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-YP0fFu3JMRFob2FOvUakE3nXuej80twNuqlgcVekmhaBrLEnXNSsv4bSW3PElwEIgbp4fotDXdHv72fEK5Ysvg==","shasum":"6ed4e5b1188204bac4c0e00da382737f61b56723","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-2.0.0-beta.21.tgz","fileCount":4,"unpackedSize":67772,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1UpoCRA9TVsSAnZWagAAC1wP/R7gPV0YCLQrGfufaVZj\n13BaiSPpESEcpOBK7sdJfEFK63tGoX6hVPR4g8XDQlcHcOKKW1KXDw+bPyLw\ngPG+WxVkh7qkDl+z/jcbgti9ySeH4E8HREQ2oPfEn1wempDErkFnwTqtG1EK\n7v5kM541WNXNn8v8LLIAmd3qy+T/gmHx9BNqvXdyJdn4EuJI31DIuM9/fo7H\nT7QunbnsA4Suz2D+K6aez04rrWI8wO4gJyn0WbJnZYxgwvWpxMgBx8g0N376\n+0qQdiHsRiNjh1pm7YISyMvw4vD3Ywyufho52n3GYkSpLCemK+BvPfOeH6Yx\nciyGj5IA8Jpfhw50QdokNcGn2VfJa+HEylGY5FivzxOoPnmdtDanCqv6M5x1\n/pVmryIrp3mQWG4yolTi9RiQ/rrb8SuNqQdzgCQexxrP7E+CHPLzxNXtZ7p+\n1/crGUJi8JVf4zXqtRCf3k0V9HTxHR1Jeg0Pf6v1LbGVpjU9E16opbHvUboB\nbN6u9N+kHaNKG83ANr2kg6aet52yXj/yf7y3y4xkJsn4MwFD4qztkHPX/Msm\nHTpJWrRFm5KK5Q/ooVeoPyqiAZaj03/TPcQ2tZY/XpgDupsaNgeLHobjSsfC\nSM81DNj/gMbowKKD1bgb+zQY3fEIwZN2g+BUZyvhPoiYR/H7GtSrdeG2fVGX\n7ha6\r\n=2RLB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGjKE/RYMeuirIH50wBgz8DWcqQqR5JxJ5YrP4HzpapqAiAabIvCsd7rkEpM419BbnQ/eAY+wH7L0pnkfb3CesZE4g=="}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_2.0.0-beta.21_1591036519425_0.04529791273873518"},"_hasShrinkwrap":false},"2.0.0-beta.22":{"name":"react-use-controller","version":"2.0.0-beta.22","description":"Easy to use state controllers using classes and hooks","author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"publishConfig":{"access":"public"},"keywords":["react","hooks"],"main":"lib/index.js","module":"src/index.ts","types":"index.d.ts","scripts":{"build":"rollup --config","watch":"rollup --config --watch --sourcemap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-typescript":"^4.0.0","@testing-library/react-hooks":"^3.2.1","@types/jest":"^25.1.3","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^25.1.0","react":"^16.8.0","react-test-renderer":"^16.13.0","rollup":"^2.0.2","rollup-plugin-typescript2":"^0.26.0","ts-jest":"^25.2.1","tslib":"^1.11.1","typescript":"^3.8.2"},"gitHead":"930fa10fcd2bc8bbf8ce5f406046e0f0cbaee40d","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@2.0.0-beta.22","_nodeVersion":"12.17.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-CecjZ5wJ3KAy2GdvS5RJEpbijH6S+KFj03yiREeE0x2keFSWR6IrtFqTnVzFKkK1uqH7knFDLnZl6KIyZ/aS7A==","shasum":"a0a64f2365a66a146854e1aaec0d8a3b792db58a","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-2.0.0-beta.22.tgz","fileCount":4,"unpackedSize":68072,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2+lDCRA9TVsSAnZWagAAfFYP/iNe4F3AKyVXRcMdK+FS\n3kKZe9/AV0zDtfEj30OkDi/WKFzEk7hp22z2qhfr+OtRBKnKxXC0fi6BY0XD\nI6k6TAcTuq3nMJjc1Edricm0UeSOHO5MV4DUejOsK5N8XO2HAEXiilc5YdHD\nZQBBp8/UBQkvhSG2V6xs7o+VB3QAeE7UOqxZXRfNabyi9EzI4/Ks5b7tadzw\nHcAgztsfbFsmZSFniyRYNjtQoDp8l2xNXt7xLohvbLJTNZDhllQXlMz0+95l\nttDEaggHECo824JAp6NaMrpJdZykeZzZX7nbsII8JmQWVNFBw2+0SsL5Ymc6\neTxDKlLmQSZIKTl8kIEmJeGz07LYYl3gVmNGg90AL1jbpUYJapVObtj+OllD\npvh4Y2QOPXkFIA6VGH073HmhwsU2aS49Hs/v9wfLUXV/a1daLGuc8WZ8Nnku\nXKnfu7Z8y1Fs+E4stvUNbFY4KE8zNIoI+GYC0bgDE+IMvx+z8I9QKATTeDKm\nvLZD/L+mbfUwMDe2rULHW58+zhL2VSZzdZ+3i4usLUH65qc7RLiFMKGZkOJM\nus0FgRjifJp0habdbXzz2UZSG2ASOUx/iipcGytHnf/9RPjm4RyJTX56jjK+\n/Bb1duvXjBacBGb5/EZx0AnovHzLCY6oiDIld4YKtFQQOX/hlK6YvWE+yjYe\nVv18\r\n=qceH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDvpmlKAZbmovPcyJO/lpQy40TN+DDkuupt/FlISVSqoAiA6BVQE5sgwCTx2lpX0nEUmVIBTlv0gMJz1VxCRe7jh/A=="}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_2.0.0-beta.22_1591470402647_0.9368360444712964"},"_hasShrinkwrap":false},"2.0.0-beta.23":{"name":"react-use-controller","version":"2.0.0-beta.23","description":"Easy to use state controllers using classes and hooks","author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"publishConfig":{"access":"public"},"keywords":["react","hooks"],"main":"lib/index.js","module":"src/index.ts","types":"index.d.ts","scripts":{"build":"rollup --config","watch":"rollup --config --watch --sourcemap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-typescript":"^4.0.0","@testing-library/react-hooks":"^3.2.1","@types/jest":"^25.1.3","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^25.1.0","react":"^16.8.0","react-test-renderer":"^16.13.0","rollup":"^2.0.2","rollup-plugin-typescript2":"^0.26.0","ts-jest":"^25.2.1","tslib":"^1.11.1","typescript":"^3.8.2"},"gitHead":"2019533cac4125ee9d7f547401e3e1930c8bb830","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@2.0.0-beta.23","_nodeVersion":"12.17.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-bItULhBnxqmjW5nTAuPmiY7FREEjoNGXf/xkdCEffviCKK8O4qwV+IPPxsDdi8IOW0dpC2CV6I+d+3Hr0codUQ==","shasum":"d4428782b10e2da1ec55e67cd959402386f7d4db","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-2.0.0-beta.23.tgz","fileCount":4,"unpackedSize":68116,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe54b8CRA9TVsSAnZWagAABPUP/2FmsMEHPThq/b83Jg/8\nm3mTyPtQPRmbl90N+/WtwFT4Okac/ADtRMqf5prbKyxrWIgq4Eoalwdd+qZi\n5Q0dK34TkduAI40npvIvXRoi1kw/icbP2fF6AWBKaroJFgGLyIWLzXi0H9Zo\nrOyZmpzpeEodxotKgEQPzWuOTJ+oHLXHXJjJ5uDwimiX1GXswt6S5xJAqwc4\nm/Jgqx/9trHcbZ2hY/LuwPHz2js2cfmNZMBEwJyboKDSJ0gUDFY7BeXrO/xO\n0pKHxq4a/jySDZbJ1PRFbupy4y7w7SDIhqEA7UHxQoEETQa3QcwTZfb6FOfF\n9ejOZBFJ0U1ikgjUZRpmsfmWtm7GeaKHYtG6iH+9XnHWtfCP3IHdLd4nzm/R\nyOnNSGmWdOuF1/gaQjtlJNmT/YGV5UbBjdz5huiIcWubF3zj4rGqxEHG/iAm\nwnxQIsPi7Se2EKaGHiAizvoNmcKEmKAGKEiZBkLxZzGZmazbxiTNkx/Ehz1m\ngXbhsezZ4MyF4YXUr7djr0Omqj/aqHhxAeMcCRM242eKrQfy2uGRzO5gu11F\naYi3fhgTTqvhBxGmOaXwY8vZmLuvUPR14eFffI8GCUcxZlC19GY6467/dDga\n+mAQWTUF2oNTVtkc5qIvzM/DwL5t+pL2/mwgkuc0QAuN3XZZ4V++vibpltrp\nvj2U\r\n=fHZ/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCPAQ57SpKs+GJWRpwqnR08/WuKVUm71Yb4q1VngbeZxwIhAPUW24rKXw7wutqIeeKgv+K0ZhH1XM+ruEm2jWg6wEJO"}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_2.0.0-beta.23_1592231676162_0.13585383937188356"},"_hasShrinkwrap":false},"2.0.0-beta.24":{"name":"react-use-controller","version":"2.0.0-beta.24","description":"Easy to use state controllers using classes and hooks","author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"publishConfig":{"access":"public"},"keywords":["react","hooks"],"main":"lib/index.js","module":"src/index.ts","types":"index.d.ts","scripts":{"build":"rollup --config","watch":"rollup --config --watch --sourcemap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-typescript":"^4.0.0","@testing-library/react-hooks":"^3.2.1","@types/jest":"^25.1.3","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^25.1.0","react":"^16.8.0","react-test-renderer":"^16.13.0","rollup":"^2.0.2","rollup-plugin-typescript2":"^0.26.0","ts-jest":"^25.2.1","tslib":"^1.11.1","typescript":"^3.8.2"},"gitHead":"79ce5a3715d14e5c39adcc18fd3d414c8feccf74","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@2.0.0-beta.24","_nodeVersion":"12.17.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-AB8qR2WJpDNYoxROFDgtCmMknUHVK0ClG2tL1nArrOtT7ATXgvmjOBLM2bXbw+4AadeBs5GqrdUTjZLh9ecWXA==","shasum":"936002016acd31779f0c8cd7d0fefff2a88bd50f","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-2.0.0-beta.24.tgz","fileCount":4,"unpackedSize":68074,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfARtUCRA9TVsSAnZWagAA79gQAIQFSz9146vzaH1b7sKr\nBeAfwl/n+ziA6SbCGKS4VEvzvkXvj51mlae1C0A8Ab1rkzqy7Ioy6/WfY+fS\nAJahbHIQlRXgnPuCl2Cgx8m3ulqT/2ewwCryhYhwG3fnV9JgFxmLGaWPrJKK\nXD49R8K/VC84jK0jTqO/fyajyDne24A1rXa7S34ouIE7ZKCH5cH/bHJOPp0a\n53jTlhaw+Y7kILpfb9FV1yxq/W00XfMLQt3pzckT10gY9lfvSi5SAt81UGiq\njfLM1zpMX0G/buimZcm1iwGwbJbnr2XwkOhClinDMAEe31BoDbHyg/m+hlWm\np5BypWgGjyjkwBOYYVIA/pnv/5uaKuxhWBbgC+Vm4wKi6/LfEx7e4wJEjMIq\nqx1+MfyBFW5Gf4rO4he7N62P+LPe5BgpgaeTkgoJwSsAJEQoXomqaNl1fmtb\nDcGzEupEMr0tdUB1KH7KlCYftlcq0wNA7L/NAQsOfUWBC6VcKgGJ9+13W5KO\nerCGecYsYuUDb7kbmXucfSX+GlZYYJYxQtvYza1PsCOE31Kc9eWNxnd4yHQv\nprgBdYsXNtwEFgxSptjwTwoXf16VfQp+T6e5/hZYI0DdWTrg6V6HzRHrrNe3\nFy+Z3PpxkvAI8sa0gBMYN4fGFMo3bsHr9TAxytyGVsg6dMy5yOUzhOpiJVgT\nfbsm\r\n=is0Z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCek6JzxqUDX9lwsIPeETVxuMFob2hEoz3QqrPngv+LkwIhAMEPGffaDkoRCdf59H9eTuQsaZK5IGkFFVcTYJr6z2V1"}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_2.0.0-beta.24_1593908052087_0.42406576727205936"},"_hasShrinkwrap":false},"2.0.0-beta.25":{"name":"react-use-controller","version":"2.0.0-beta.25","description":"Easy to use state controllers using classes and hooks","author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"publishConfig":{"access":"public"},"keywords":["react","hooks"],"main":"lib/index.js","module":"src/index.ts","types":"index.d.ts","scripts":{"build":"rollup --config","watch":"rollup --config --watch --sourcemap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-typescript":"^4.0.0","@testing-library/react-hooks":"^3.2.1","@types/jest":"^25.1.3","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^25.1.0","react":"^16.8.0","react-test-renderer":"^16.13.0","rollup":"^2.0.2","rollup-plugin-typescript2":"^0.26.0","ts-jest":"^25.2.1","tslib":"^1.11.1","typescript":"^3.8.2"},"gitHead":"b2669d253c303e25068f3e52b1a33fb0695fd16b","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@2.0.0-beta.25","_nodeVersion":"12.17.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-vvvr4EobEC5F7i/E+WpuEoGOhqphaiEjCt+H1lfm65VItTuYzMEKmf4z4CNsW7iBWq4QV3VIcdHlaTuvx00NwQ==","shasum":"184e6dec51ac29c92a1cb229a1765872c45e6c40","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-2.0.0-beta.25.tgz","fileCount":4,"unpackedSize":69210,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfAuDiCRA9TVsSAnZWagAAS7kP/jqh+5PZCFbH7B2Z7+XR\ntidWwL4SvVoTllTex/V2LkAOY9Vh9Yb5wYa+RhetgrtHajlm2pSlncp7qjOF\nDscZPeeMXTXNTFkJc8mOb0zZhNbp2ZAljYDeLbgEtdWU0hYsNC9sBg2AH3gB\na1V4F2ic1q/ttgmymALzNymYjcyRw+DfFUBKisfwxvMYEq3y+BqNf1bh/YX6\nZ1Gd2epmjSGlj4z+QxS/ZDL/pyzY9ZrowoayQwHRzlsqGNHmVO+Y/9h1+XgZ\nIK8vjRL0zjtalwCicme5WIQsk+OIBA1uUosctlfdHphtruf3DWSDtg2eMnaJ\nY0ykd5NQp9qLZJBnOjxMo/65lFjyHbRO+nZj1LzTFcTtiarEAP770ThC0Ct+\nndB4ljhJdXG29rzKNerMJKfufSslOvdXRfC1S/9HGLYWaUGrVUHGSW0brmi9\nlfbjCy6wVn9L2X45GLjFHQ6K8uuCAsdi09HYX4g9+VMxNbnZtPzlDn9EdItr\nls3vKcZp+SUSZIV3Xuz0jRXegofHdpoaKHVMAkhOGQYcmeA395BS9ZGJ5dqP\nce4Q5X3VgZ+OEHZW1Kvi9RdcFbkd+LSaNI5fcb4jTyoE89moccwikFPiYgU3\nmrFa8e/9mZQXOnFXsGcLGQMbwPRlx7v6lMBOA6Pc++k5f3PZiR4HwS0SlS1/\naVz/\r\n=gM94\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC5+6thDJnyNNaEzWLGgwh41fNPxV8s6WMb5usHacHo8AIhAIWlp0GEJsryWzkrXb+092ePqKo0rYcwndaYuPykBdKg"}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_2.0.0-beta.25_1594024162177_0.1933330746314479"},"_hasShrinkwrap":false},"2.0.0-beta.26":{"name":"react-use-controller","version":"2.0.0-beta.26","description":"Easy to use state controllers using classes and hooks","author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"publishConfig":{"access":"public"},"keywords":["react","hooks"],"main":"lib/index.js","module":"src/index.ts","types":"index.d.ts","scripts":{"build":"rollup --config","watch":"rollup --config --watch --sourcemap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-typescript":"^4.0.0","@testing-library/react-hooks":"^3.2.1","@types/jest":"^25.1.3","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^25.1.0","react":"^16.8.0","react-test-renderer":"^16.13.0","rollup":"^2.0.2","rollup-plugin-typescript2":"^0.26.0","ts-jest":"^25.2.1","tslib":"^1.11.1","typescript":"^3.8.2"},"gitHead":"2e30d1e1e0542160e91315844b2c0d780b818407","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@2.0.0-beta.26","_nodeVersion":"12.17.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-0V8WWZv6638XGjEhBXGi1j1smzjCsuyDyU1K7CyzqKyUSMwSeTMJXYsxkcB0BHceFyG3TW3gMvzzJB8gj849cA==","shasum":"e8d328db61c15697fae1bdff39b0076da744f1f7","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-2.0.0-beta.26.tgz","fileCount":4,"unpackedSize":69163,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfAwQHCRA9TVsSAnZWagAANzwP/0v+M1d0N5mYFFvJv+ex\nN2KUfw9XB2bl5OA8+tEkIwOMdHAh2RTTNoopMWuQPYslbrUZdr2fLrC5TO/A\nLyabETSyNpNjQkk1zXnrQotFM69jrCibBA/dHVGvJkXqG/oytUidow1yhxbt\nAx6pwl3MMY/jpOvUBzS/3JUsIHGvCoAyq+1eWKjfSZO8z9b4YCYTIn2vUavc\nS5MZQQH87/3OdvJzC1kDeS5UcZcRVGblxPVviNSwGkqA2fElVZZt9fi/icld\nUd6hkTxZf/c12SHu8CxiI40HAu+S/CI/vsnGtwmW8IlF9LBSPg4jXOwcfxcb\nHfMluDrQeXUvesZHJqTV8gTQrFLQM599iK8U1Hc+Ze7mtjZ5zwym0kJJRqTQ\nw1CkBIskR+P5iL0aBg+5xzEQ3j8xcrJEhdB0bWRgI/u7St0CYJxu+0zR/W15\nMbZGJHbQsKYWpzNAyg+PGciUTbF1IUDTkQfy/Jy3m7oS1nEDyyfVkr/NFRYn\npk82rSNx78jZWP0XUMI4Ta8+r3HTtl+xhcK8Mfj+E0So5QmycHcDOrTuDE+h\n19qAxPH1Sk80O3ONMoLJLGdlSThAx9Nu8Wlzoi6/lJGw9HAP6GGMczuAsLB8\nV9kdos73xNUOKj2zJACMbfbrQl8SIsdcfSDpce5J5FKtx7WZvV0Rlk13syaw\npaN4\r\n=qBQc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCLSucJbSybdlW9XGdoFyRBENa2qXjkURpG3FDrn6pFqAIgcEsHpQnz85Kg1lzAdvw7jKtQDDjpxsB/7YyBFeFPuEw="}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_2.0.0-beta.26_1594033159316_0.9298906593663707"},"_hasShrinkwrap":false},"2.0.0-beta.27":{"name":"react-use-controller","version":"2.0.0-beta.27","description":"Easy to use state controllers using classes and hooks","author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"publishConfig":{"access":"public"},"keywords":["react","hooks"],"main":"lib/index.js","module":"src/index.ts","types":"index.d.ts","scripts":{"build":"rollup --config","watch":"rollup --config --watch --sourcemap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-typescript":"^4.0.0","@testing-library/react-hooks":"^3.2.1","@types/jest":"^25.1.3","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^25.1.0","react":"^16.8.0","react-test-renderer":"^16.13.0","rollup":"^2.0.2","rollup-plugin-typescript2":"^0.26.0","ts-jest":"^25.2.1","tslib":"^1.11.1","typescript":"^3.8.2"},"gitHead":"77b5d6cab3e88ec7d32676501c20002405055ecd","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@2.0.0-beta.27","_nodeVersion":"12.17.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-YoMHoTNGF+wvP0DJuXRr2UeQ3+6mXCdZDHBpjtylMi+jk4QxfJbo+xde0ppQ2/RzLYrm8SnAnS6nlmot0+dyOA==","shasum":"92f20764d92a447f87ab6a6e0f0696b83b53f12a","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-2.0.0-beta.27.tgz","fileCount":4,"unpackedSize":69987,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfCIboCRA9TVsSAnZWagAAgf8P/3zYOw3TFtfQTDM7xtCq\nACAE6xSbP6IZJyBwlihKktq9YzGJf0js1G/Bz/8VTjr914MmUxUXeP6NcpGi\ns9u/63AkTqTvBr2pJN+UYYALCe9SMm4Me/h5L+sJk5YQvWPNc5olk/ARpMBJ\nLXOqSdcUzgN5YjbIsens/fHY3LBuRY2k5SrbQaaTP/w2XdXYz5iMfiABHuym\nxW8teSylsLqcrY1xiqSJic7zlz14rwK/Pd4RYJi7C3ntXlWFEShGDdQvefwl\niBSOmqwDdDiEcRfp1z+EjeP0s2yoT8W5udXzN41hmnGk71TD+bwkYwFuc5zS\nS/BSD067yTHt4gLMzhjtkkGw491bOH65xc0bbs9oD7KkF5JS1JatZCb9gzGR\nmSqoB/foiajoCHwmnqcQhuJ6t/XLFSnAVzSF1eNuIJkBgQe93i77T1lCznpy\ndKHptrLjMRzG1kAJqcfYxgddP1RqflqgHwArnIKneJbVRsXBWgCo+zf5jtgi\nF6o6U2JIhfVRA5uY+OtQ+dmgL8SI+qi5EOwM+5nTGcILPkbtcro60SGGRpMI\n2vA87C/Tr9VQZVUYaEvQiBJgxCPrp8SQ/yyAR7kKOWEf51ZG9Da9uyBK6Jq3\nqjAwaT1aVCqZTV6PXAfB9aBo+qWbfxWIlVfPBSJu7aRwDx54ENNMSHgAkt1/\ng3WQ\r\n=B/mx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICQ/4QRR9uX3q/MEqIz4xr6SB0Nyzw9DdcfWypXlhP69AiB6UFGjrTJ3h+Dx2Q+XuPShV0IWoaCuQv3U5gcRyPCsEQ=="}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_2.0.0-beta.27_1594394343992_0.4094990842747688"},"_hasShrinkwrap":false},"2.0.0-beta.28":{"name":"react-use-controller","version":"2.0.0-beta.28","description":"Easy to use state controllers using classes and hooks","author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gabeklein/use-controller.git"},"publishConfig":{"access":"public"},"keywords":["react","hooks"],"main":"lib/index.js","module":"src/index.ts","types":"index.d.ts","scripts":{"build":"rollup --config","watch":"rollup --config --watch --sourcemap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":"^16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-typescript":"^4.0.0","@testing-library/react-hooks":"^3.2.1","@types/jest":"^25.1.3","@types/node":"^12.7.5","@types/react":"^16.8.0","jest":"^25.1.0","react":"^16.8.0","react-test-renderer":"^16.13.0","rollup":"^2.0.2","rollup-plugin-typescript2":"^0.26.0","ts-jest":"^25.2.1","tslib":"^1.11.1","typescript":"^3.8.2"},"gitHead":"a7c49a873052eb3df65902d23b9afe7c7a0cf5d6","bugs":{"url":"https://github.com/gabeklein/use-controller/issues"},"homepage":"https://github.com/gabeklein/use-controller#readme","_id":"react-use-controller@2.0.0-beta.28","_nodeVersion":"12.17.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-25LLyzf85tDey9orLW3yaS402GeNWsI4BLBJfU2VspZ4utnvGjugwpOWouZP5yX8aIiTxySv86+B5ERw/tV2CA==","shasum":"7b1d70010bead81e6c35eda7e5fdcf4eeeeda6ca","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-2.0.0-beta.28.tgz","fileCount":4,"unpackedSize":69978,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDz/CCRA9TVsSAnZWagAAkKQQAJxt/wYDj62+OjiscJ9j\n/EUBFIRJoxWvKVbYrj/pUXikMujx+k21FbzXjhDnnIGBQYeLr+ylCVA6zPQl\nwFsIFHiq69DeEsxsBV/XS0acpOy70zqabfu1yRVRM/ZW8qdC5PoKwCWbJ3rA\noMVoQefDl1LxvGKV5zpt/tOzUUAkRW+bqDTnvNZxzsc6p7W3CX+RrZfvpdbU\nY+eMf2OHwZOObX+FmSuzPrcJeKEfTvM5pa34VzAmZ1NlSzms3Q/+VVp/xDHA\nWoroEloDEzamfi6ZKjsZEiXOEfcGgBMH7xJXqmJMhMebwk2hjwKRvlg0040S\n9D7e2AS0FO7DUNkFcymXduIMdoesdSD4RXlv77OKyyxzMAbO1SXwaevVlXu/\nMVZnKRpraMVKh6L8M0hLAQfq9400SzTKswe/3YgbUAoJNDIMxqTUvFmk03ok\nRjnm2aDvtAa7TXOOVF954KQT3FrL/yEw/3H2MMT8MLYQ5NBbkMifKslO2iIK\n4zBfgab0nXj8vvLmOOwKRRzheYpJI9yMxfF7LYeS3OLvoYWhye6mthK/aKGM\n53kB2mUCQ56/qjV7U7Rt24v9VFr5YRrBRWuvMp8SJt7YArjq8Oa8A0zHs3YI\nm2VYz08g+D8QY6orPi+/Ygku6X0GA64zgxQeYOc08OgNBBoZQr0LMuV2eJvw\n36rJ\r\n=EIdU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHO1/zVZI6NKJx/H4o2jPlk+Ab6utHdpTzirT10BT1L/AiBAUbOU4rHMN80SVh+AmJTPsuHmzVTQ63Dmmdudp6Z2bQ=="}]},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_2.0.0-beta.28_1594834881866_0.15580393269043236"},"_hasShrinkwrap":false},"1.0.0-beta.29":{"name":"react-use-controller","version":"1.0.0-beta.29","description":"Easy to use state controllers using classes and hooks","author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gabeklein/expressive-mvc.git"},"publishConfig":{"access":"public"},"keywords":["react","hooks"],"main":"lib/index.js","module":"src/index.ts","types":"index.d.ts","scripts":{"build":"rollup --config","watch":"rollup --config --watch --sourcemap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","publish:beta":"npm version prerelease --preid=beta","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":">=16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^15.0.0","@rollup/plugin-typescript":"^5.0.2","@testing-library/react-hooks":"^3.4.1","@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/react":"^16.9.46","jest":"^26.4.2","react":">=16.8.0","react-test-renderer":"^16.13.1","rollup":"^2.26.5","rollup-plugin-typescript2":"^0.27.2","ts-jest":"^26.2.0","tslib":"^2.0.1","typescript":"typescript@>=3.8 <4.0"},"gitHead":"2034d0ccfc6b534c1c1959fb2105a7f7ad6b4d47","bugs":{"url":"https://github.com/gabeklein/expressive-mvc/issues"},"homepage":"https://github.com/gabeklein/expressive-mvc#readme","_id":"react-use-controller@1.0.0-beta.29","_nodeVersion":"12.17.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-yCA3E4rMQcygENcYy2f/3MZQPKjfK/bDtcOP4fmZCHzbnoew1fwbJRZn7cYle12hI+Sd8po3wKfmJnWKXmBUQQ==","shasum":"8807e09ecdeef8b43041e36a66432416f92bd15f","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0-beta.29.tgz","fileCount":4,"unpackedSize":77258,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfrhTRCRA9TVsSAnZWagAAYvIP/jLbFDU9G7YsdW9Kgf7T\nq/IrBrQv38xPTtyDSFPMvL8hWGvpCc2FoBunA3/LYb27j4SlsospiKE+d8hc\nkIZQvlTTUA5gaEXKVyN9i709/KHtdlxSlR5sJtWSU8JnMlnvpo4JW2KliJX1\nzBaTLc7mSFhX9SYrlMXx3P73uWRPntHk1wRIuloRtkHwLH9yUwcDcMOo3fua\nzgPnKcZLVSjKoHdn+LyX7ohJD09r7Y2fmX7E0pVv58XlCvsKCIBAvubFavbA\nJtpqu/u5zah/+D2J0iL8atbKz+LPRO03+AMR2fU4Feq9hYEtRdXgVhuxjNrf\n7xzoa582xG52FUwf3Mt0z0iYBIhUKDmA9OnX6bQIwswpZDmmt8w4JoitLCEy\nhvXDeUgO2oKAeX+/Tp0L34uYQ6OcwHa9wW3jeWOdzxuFmUocz4bORC6VpUj5\nmKHMQkw9emLG9nQoGuCph1fNy2frf3u5VPmhDshxzoYHOOqfTya6qQoauN43\n0wYmYOSZcTkkYhT7VKDvI39qT6tzkr06FBj44pjZxq2841mLdrWnrvvAuud/\nToLphUwzZjT7oECDt0/34vXC65skvmVW2xOlTVfdiqpedI+/AdhQcuoAwTcv\noKPBTJir+O3rotjsvcVlyLzw1DtwlAnuLn7CheS4mZu8ONlSUX0GI2rpwQHv\nWJ8l\r\n=6trD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGLXlR0DuwhI01m+HSAK5LXZ9YybSNvmrleTEIkeS+B4AiEAyp5zTVrVhNS6ZIoqVnPsxaT01IYmi4XQA8YIdF9Vkg8="}]},"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0-beta.29_1605244112807_0.4885338834456663"},"_hasShrinkwrap":false},"1.0.0-beta.30":{"name":"react-use-controller","version":"1.0.0-beta.30","description":"Easy to use state controllers using classes and hooks","author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gabeklein/expressive-mvc.git"},"publishConfig":{"access":"public"},"keywords":["react","hooks"],"main":"lib/index.js","module":"src/index.ts","types":"index.d.ts","scripts":{"build":"rollup --config","watch":"rollup --config --watch --sourcemap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","publish:beta":"npm version prerelease --preid=beta","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":">=16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^15.0.0","@rollup/plugin-typescript":"^5.0.2","@testing-library/react-hooks":"^3.4.1","@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/react":"^16.9.46","jest":"^26.4.2","react":">=16.8.0","react-test-renderer":"^16.13.1","rollup":"^2.26.5","rollup-plugin-typescript2":"^0.27.2","ts-jest":"^26.2.0","tslib":"^2.0.1","typescript":"typescript@>=3.8 <4.0"},"gitHead":"14468eb28406f6bf712f20b802c553ed8bac4b07","bugs":{"url":"https://github.com/gabeklein/expressive-mvc/issues"},"homepage":"https://github.com/gabeklein/expressive-mvc#readme","_id":"react-use-controller@1.0.0-beta.30","_nodeVersion":"12.17.0","_npmVersion":"7.0.10","dist":{"integrity":"sha512-XBo05ETazp2VvVSjjgW39CMjuz9KEVwWMCEQlInEZ0A9XmhheHCaJN3LYIyxHtWM+KWf18pu2s6mwtDdktNUdg==","shasum":"6ae553ae72222fbbf8ce9322073809c11cd1de12","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0-beta.30.tgz","fileCount":4,"unpackedSize":77500,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfr4HdCRA9TVsSAnZWagAAt3QP/3ynjic5+22mfPdwE/t+\nofn96LiMHCUnwOkN/5be3Xj26XWpqwjtLkO6e2rWd+4q8IYhtGWRVWKEuK6D\nvZdi/gDpuB7YqKBqIploE8l9z1DW4jJVSbSOVzV5+uMtP/0uU7wJKD5GE+is\ndw1gAdxVmyjOiCsn2WDHm9x4vwoVnBh8CX7oUu6x4ABIE5p0qKZQK1euCP4q\nRP+AW5VqqRxvVYEFMekv9drxjwmoV+OznWNHs6QnQqth8xD1pBaSeldWwNmM\n0ZY+HsziRxksUgQyo7chlKTBSkygNS3/r5SiTjLyhxSRrAEg0gg411OZxf/H\nwal71HkHcbyQ5mcUaoeDDU+V6lU/Ni+HqiuX+/KCxxpXOaCRoyV+XUhprcET\nitE3846T4xdz4r99qD9AWTudS/h7eM7VQqjmDGFH8+JX+coS2KSi0Me1HYmG\ncqL/TZglVIoMwrFmg1tlGlHB6mHYB7bmmS8ozSoM2EN8AOsGBW600GfU3Xrd\nqYOwGKw9FAVayADizineEi+A28kkS5iwt2x75Je5t5Wl1pKSk24MaZFwk8lu\ndth0FMuQu4dBvGTrnEvosTfzypPVauWtSr0Rz8xh2Fjk/v7zqT3mthkZSLg5\nHW2NXY+560r1+rw2NMGkclvw8L20BoV7jg+3Z8TcuwAfxGwWCV3Kg2qrKgWD\n0B2Y\r\n=slot\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDGWQV82snXm6fIVUIPMOcRQUJZaVp2gBq/LTg8M6iKwwIgVdfRcUDunq5OYnpX4heU7HdLlErPam/AQ1KReeq9LTk="}]},"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0-beta.30_1605337565020_0.8081245808029491"},"_hasShrinkwrap":false},"1.0.0-beta.31":{"name":"react-use-controller","version":"1.0.0-beta.31","description":"Easy to use state controllers using classes and hooks","author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gabeklein/expressive-mvc.git"},"publishConfig":{"access":"public"},"keywords":["react","hooks"],"main":"lib/index.js","module":"src/index.ts","types":"index.d.ts","scripts":{"build":"rollup --config","watch":"rollup --config --watch --sourcemap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","publish:beta":"npm version prerelease --preid=beta","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":">=16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^15.0.0","@rollup/plugin-typescript":"^5.0.2","@testing-library/react-hooks":"^3.4.1","@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/react":"^16.9.46","jest":"^26.4.2","react":">=16.8.0","react-test-renderer":"^16.13.1","rollup":"^2.26.5","rollup-plugin-typescript2":"^0.27.2","ts-jest":"^26.2.0","tslib":"^2.0.1","typescript":"typescript@>=3.8 <4.0"},"gitHead":"4750b33ca3826bdad25666a9dd46fe8f4e41efb6","bugs":{"url":"https://github.com/gabeklein/expressive-mvc/issues"},"homepage":"https://github.com/gabeklein/expressive-mvc#readme","_id":"react-use-controller@1.0.0-beta.31","_nodeVersion":"12.17.0","_npmVersion":"7.0.10","dist":{"integrity":"sha512-7MwJJIF9B0LJLASSaNwkMgNT2jEOk7544HF0YwwcFcmU2FT5u4fm8LNZ7TxW93wRu2bTOr+mOv9B4VcgOQceoA==","shasum":"49885bbccb6d8a0ed3bd09e975df1b658f165fd6","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0-beta.31.tgz","fileCount":4,"unpackedSize":77418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfssUXCRA9TVsSAnZWagAA+oUQAIrz4baR+cEecisMCBbu\nSFzRUiNEsFQFZwz59X3gmawK2Kj8FWZ5hCoPcu6rkDShjY43IFdzDKdd08MS\nxUBmoO3O+gE86L+yNaOCbL1Wp0by+dBEEklktjSNBRt0qot2xlEMnkdeepWK\nvkr163PQzlKWVoTCirTiUqdeN78fry9E1zWHfdYj0TdyOlpXoxEbLIvffElj\nf019kgALZKuhz8/2MjjjHC4RSmomdQ9E0LhU3ixEU9ezYraaQmEUiS0kz6UC\nHAYDVpjGQXitR2VKUlLDWv0v2moCQ2tsR1hzpMbb+JSz7618ndV/W7ANQUmA\n8+INO+jIKg6MN1WohddqVAs1iYva31uhJD+OWzkzPdPpN71v5oqdkG8jGAIB\nQWDGQtel0pFeYshomMOBmJZNG2TrBKUKLkpn2ZqDVowv0cE14d7ST/LTWGZL\nyxuPgaaKreQMn0Oy1CtPHE6N9HT5riYznYJ2uyeYJV12OK6oWNTU3yTUDO5Z\nKMf69lQ3L7oWNLeqxzPak/yLQBGJgmdR6y5k0UWx+RA22RmPH/ixWpHX7E8m\npRTYmzYuw9sJEKgwx1U/2zbRmDqAScl9tO8EOdOdI+U46Y/OydO8u2XMSxm9\nIHpt/lwF/bl/0sCjZIzOFGD+MegmOTrmtyW5TsoYmlQtfy5gIZQaMvertZau\nrr3z\r\n=l6pI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC84qNhdqa4NJVcibvT8m7VNVoryV1Q2eEjR8BTtmE8pAiATpV2itgd7wkRFn6FuXHnlwL3OgB5hnJhzqbPKzNMcQA=="}]},"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0-beta.31_1605551383031_0.5408460426374122"},"_hasShrinkwrap":false},"1.0.0-beta.32":{"name":"react-use-controller","version":"1.0.0-beta.32","description":"Easy to use state controllers using classes and hooks","author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gabeklein/expressive-mvc.git"},"publishConfig":{"access":"public"},"keywords":["react","hooks"],"main":"lib/index.js","module":"src/index.ts","types":"index.d.ts","scripts":{"build":"rollup --config","watch":"rollup --config --watch --sourcemap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","publish:beta":"npm version prerelease --preid=beta","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":">=16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^15.0.0","@rollup/plugin-typescript":"^5.0.2","@testing-library/react-hooks":"^3.4.1","@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/react":"^16.9.46","jest":"^26.4.2","react":">=16.8.0","react-test-renderer":"^16.13.1","rollup":"^2.26.5","rollup-plugin-typescript2":"^0.27.2","ts-jest":"^26.2.0","tslib":"^2.0.1","typescript":"typescript@>=3.8 <4.0"},"gitHead":"41362fe0ea6fbbb851d798d44d837695d00d898a","bugs":{"url":"https://github.com/gabeklein/expressive-mvc/issues"},"homepage":"https://github.com/gabeklein/expressive-mvc#readme","_id":"react-use-controller@1.0.0-beta.32","_nodeVersion":"12.17.0","_npmVersion":"7.0.10","dist":{"integrity":"sha512-/xuzRH+HigevXZncboQ5EFLfgcO3tdU45GTgB72qgtYYr98lADrlPh5SgMKhxBgjs1viZDqAIQveuAF1SV8KFw==","shasum":"4880d34d716a7923e9e84954f325537576b9e87a","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0-beta.32.tgz","fileCount":4,"unpackedSize":77427,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfswJ9CRA9TVsSAnZWagAAWrEQAKFNU+5JT+Nos4IdUcbQ\nwQ54g7FCflBT7jzjx82Mc1GSQhlAL/8ghbsb/nDVxqkyS3GpDtqhGKFB5nDS\nkwefD7K4am4gn8H5C8vWHWNhgEdL7zZLCsSFL21be2qTGGlcBsf+lW9TIVbN\nLZH6Ufwm3nzm3wbAhh5gNu2csEMjkM0GMwwzf/fZ/JtG7UckNftElquTK8et\nYVnGUTY9KP7p60jaZShJuDMDUqNE8JbePmcgOzRGMW0gUtbrv7aM1FHk2YNN\ndUTbhfknqzQqSx0bd/jqSqtvbIVq2Cuo2VA3i2ROV8ISaO5LOCve5Ftxb+3c\nePjIiK9Tpl3ZLOPcuWFKmtvkKDB6B7/Kxw3ZeKyqLdVT9jB5iYrkhdjq1vLQ\n/HBdc8HP7eGSs3Ju9wJKEHAhSP4DPR+rlsSWkANJja+vJGnlPp3VsrJTZXl0\nhn98LVUBSz2t5+gsFqO4yo2vKbvk/nwjmL5+2tWqu1DBBlfLonmo5ZzeQfxk\ntNa8Bkel6VL+a0qJTcca3xtLuuCN3+zYne/X6RnGNvjdACFQvVmj+lhaFD4D\nuvckkO93GdhOGEKI64YpFpITr/4B6WCO9xKHT2UB4e5n0IUFKjcdAl794HLn\nMH3MgacHbHGjbrFL+QnGGGA1yOm2zuHpnIiF0MXpuP/tl6GQMZq0blRj4wCk\ncYUA\r\n=Itic\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCsGvofhZFq+0ADHGsG6NCBWIZEKqb9ouu3av9a8DuzmQIhAOcKw7A9SiTWh0FLcUzsACu2OwLuboJsk2UfX9veso+Y"}]},"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0-beta.32_1605567101531_0.9823505102373626"},"_hasShrinkwrap":false},"1.0.0-beta.33":{"name":"react-use-controller","version":"1.0.0-beta.33","description":"Easy to use state controllers using classes and hooks","author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gabeklein/expressive-mvc.git"},"publishConfig":{"access":"public"},"keywords":["react","hooks"],"main":"lib/index.js","module":"src/index.ts","types":"index.d.ts","scripts":{"build":"rollup --config","watch":"rollup --config --watch --sourcemap","start":"npm run --prefix examples start","prepare":"npm install --prefix examples","prebuild":"rm -rf lib/","publish:beta":"npm version prerelease --preid=beta","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":">=16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^15.0.0","@rollup/plugin-typescript":"^5.0.2","@testing-library/react-hooks":"^3.4.1","@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/react":"^16.9.46","jest":"^26.4.2","react":">=16.8.0","react-test-renderer":"^16.13.1","rollup":"^2.26.5","rollup-plugin-typescript2":"^0.27.2","ts-jest":"^26.2.0","tslib":"^2.0.1","typescript":"typescript@>=3.8 <4.0"},"gitHead":"f1b3df3149203d75e1e919584867e05daabb62f6","bugs":{"url":"https://github.com/gabeklein/expressive-mvc/issues"},"homepage":"https://github.com/gabeklein/expressive-mvc#readme","_id":"react-use-controller@1.0.0-beta.33","_nodeVersion":"12.17.0","_npmVersion":"7.0.10","dist":{"integrity":"sha512-TSBNq8VHUzSZJ20PCAx7Gc2Fuzhim6SX7rhadsyr9treoPxOLyw5Z20Kbh3uqpZLB7Cw0I6HOcbfmNSGh1vbEA==","shasum":"3c70abe9d53a2332caccf607bb0e45f6560fb9ae","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0-beta.33.tgz","fileCount":4,"unpackedSize":80241,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfyIcfCRA9TVsSAnZWagAAMW4QAJoluXcosn1hhy0Ig1ID\nSFL171eAOBlNeb7KkXL3K10oFPjdngot8hntBMFJhb2WPrcGTQzFkqcXTaa8\nrZElclAEsXAxzmVtiV+Hp9zWrlabd7lZNJE03yIQuBHCHlxdHro63BTadRdz\n2u5uhxa4RRDLsXScJWv6MoYteXtAohVg7gG/9UYJjq2yaX3GsAy2PHBfsdPs\n6iZTrvJwjYupiy61kBrHtYmPKoxHasEgPbotlbWqQ5Jr0qP6QQh2TOrpldcA\no/RvPINC9OGE1hE2laTpr9teD77reM2b7FjplivT2Uwz/3yz7Bi8SC8XpT9j\nubjrxszDwLIYPEt4wugKayf6rZtWURxkfacVhYLkMWnwpkcgc1RBCFNkmM1W\n5rK3oEF6ouFbq5eUG86Uzku2TH2ZbVUAOswSOdem4Q8dlmsLrnn485Fv3Njm\n4GECrrAd4QMA+E53MWld9e6Y3NP4GETwF5MP6r8wg+kLDlduMmq/ZScJ8QVD\n+BLISXvpPLXvmiBTDWS/LN5ss5jUur13x/nKcG+VE9fUZPAmmMH1VZlEZFwr\nEKzzfrM3KglEz6BnUpt20KradYX7DEAmOAY+mNwafHU7Amm1T4YhWAdGps16\nbritGktaNdBI0vPOq2cGp0sY0bbfyvPjAc8V9ePPM4+M0Mls6UMiXngcg2n1\n6lBR\r\n=DvN2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBTOGecHPAURocGRhL1tKLEu/ud7dGNuTc7wSu3iDgAUAiAipVafPkt8xF67QU4w6chwxfJEb0x1wDlBLr2Twk2ZOw=="}]},"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0-beta.33_1606977311037_0.6622197098096574"},"_hasShrinkwrap":false},"1.0.0-beta.34":{"name":"react-use-controller","version":"1.0.0-beta.34","description":"Easy to use state controllers using classes and hooks","author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gabeklein/expressive-mvc.git"},"publishConfig":{"access":"public"},"keywords":["react","hooks"],"main":"lib/index.js","module":"src/index.ts","types":"index.d.ts","scripts":{"build":"rollup --config","watch":"rollup --config --watch --sourcemap","start":"npm run --prefix examples start","prebuild":"rm -rf lib/","publish:beta":"npm version prerelease --preid=beta","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":">=16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^15.0.0","@rollup/plugin-typescript":"^5.0.2","@testing-library/react-hooks":"^3.4.1","@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/react":"^16.9.46","jest":"^26.4.2","react":">=16.8.0","react-test-renderer":"^16.13.1","rollup":"^2.26.5","rollup-plugin-typescript2":"^0.27.2","ts-jest":"^26.2.0","tslib":"^2.0.1","typescript":"typescript@>=3.8 <4.0"},"gitHead":"bea37523c94a127c248b609d727829e2f9468777","bugs":{"url":"https://github.com/gabeklein/expressive-mvc/issues"},"homepage":"https://github.com/gabeklein/expressive-mvc#readme","_id":"react-use-controller@1.0.0-beta.34","_nodeVersion":"12.17.0","_npmVersion":"7.0.10","dist":{"integrity":"sha512-hASXyzNx/HifCAHEoCkPIfbB5e7nxFtCnuXpd2T1yeMRWTzwDWAkZCm46XjmaFMrGo6HlRLYhr8JPWb+u7vBVA==","shasum":"fef54b68ddb445891461460362f5a6081f760698","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0-beta.34.tgz","fileCount":4,"unpackedSize":84217,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf1kjJCRA9TVsSAnZWagAAr3kP/Ap85HXEIbx2fBS1fGwP\nPE3SsM9g8E3wdi67yrAYvRFnPGoD4tWTmSa5zK8Bn4D2NJcpjBfJSWZicfQ5\nFeIdKGbDMeg9gIBvKT49t6dPt4/HPsO8f9SeMsWKg4DvAFIyKtu4vtSG6/xM\nOQxNtE3D/UYjE5UI386IRIxZ11Qqv4OeHrIzcwMou5VYQLJjtUxDfJTtJJsK\nmVS577hFY9YAteM3YOykS35njqm3Hh30zjLw74/aa1pePRDSvBGb18fcslm6\npDrUEMEzPKAhKZnpR2/jkSghA+8jrocB0ww4+O/ikvdW1GhtKdNxn4M2TejH\n1vCkF54elKSoYnCy29ca+dYmFewuClNHHAcr4F5eS+fPIrU5rF69qDl5K4gu\n6Pd5DzW/wDZHe/FyFuep13kDug024helpC8RdzzXAsVmF6AXOY15CICGKgbM\nain8XWv3KSMmmMcR9K9/XWb2fRrY7+ljAPx5lrxuHpEOg0paUdYgBbrd7MF7\nq3GR1aSvlIdzqG58KUWJM1PUFQX5QZBbZ7GFcnmhRLFHe/r41aNFtlGBGDKO\nIGtTC628ERxEqmYC+0rCf2elapAfT0ZtUC4nnJoNO3qLAX/852lL1CorG0/g\nkSXhve6T2NhJLP35kpZio/QQJ+h/jxlu1uuK7pV3W0z3Iw8/bBMyFzyovDs/\nKiuE\r\n=e2zf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD/L6BoK+0UingUQsMjbM31E4oNl5/UXltCHBar7nyFCgIhALOwQDP4DuXQMOWoqtAzjV861dnlob3amp8SuZHZBqQu"}]},"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0-beta.34_1607878857095_0.19611560938123795"},"_hasShrinkwrap":false},"1.0.0-beta.35":{"name":"react-use-controller","version":"1.0.0-beta.35","description":"Easy to use state controllers using classes and hooks","author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gabeklein/expressive-mvc.git"},"publishConfig":{"access":"public"},"keywords":["react","hooks"],"main":"lib/index.js","module":"src/index.ts","types":"index.d.ts","scripts":{"build":"rollup --config","watch":"rollup --config --watch --sourcemap","start":"npm run --prefix examples start","prebuild":"rm -rf lib/","publish:beta":"npm version prerelease --preid=beta","preversion":"npm run build; jest","postversion":"npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":">=16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^15.0.0","@rollup/plugin-typescript":"^5.0.2","@testing-library/react-hooks":"^3.4.1","@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/react":"^16.9.46","jest":"^26.4.2","react":">=16.8.0","react-test-renderer":"^16.13.1","rollup":"^2.26.5","rollup-plugin-typescript2":"^0.27.2","ts-jest":"^26.2.0","tslib":"^2.0.1","typescript":"typescript@>=3.8 <4.0"},"gitHead":"a3d30d32d49baf28046942ecedd27f9eb4287b7a","bugs":{"url":"https://github.com/gabeklein/expressive-mvc/issues"},"homepage":"https://github.com/gabeklein/expressive-mvc#readme","_id":"react-use-controller@1.0.0-beta.35","_nodeVersion":"12.17.0","_npmVersion":"7.0.10","dist":{"integrity":"sha512-pMMJzZCqvlUSeAYRxRmBMgdXBAgN1wVnx4WDMe5safAzW/YDtc+LoEQr1TAGHMzS2mKpyLFVm3vJ1DcM5q0gKg==","shasum":"3660c4b8f0eec4760d899b9146fe29cab2765dc9","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0-beta.35.tgz","fileCount":4,"unpackedSize":84229,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf1qWrCRA9TVsSAnZWagAAL84QAIYye4l6yUsAoihVrYhn\nZ2H1zuBJS+ohiJlpcjgbPp7zZqsam5yzGQJ7hHvj/MBSrPm2BxMRVM6TWyRq\nawaPGKVIWYKAhHkfVR3wYYdNA7Nx0WYiEzwcuEgpGhh70uO5FVo6uxiHbSaH\nPfjKc6cDc/ZIszv7qKXHovnLNqDlFQ+bcHB9U5q/TNe3nS5HVJOk6NQI92ix\nSCbGP93MmLasjKH+lzhtdXsGRvZpoVtua5xMB8XR9lNDipKWugSnYtp2Eaca\nAMtlsAwjMGjlV1w9mZDPRjcbgpRm1RlyaTKxg3TNkDMGm1QcT4QJRzU8FqNf\nkWvg7pSaVQeKksXun+lK2XONnPXFVU8imy05dfiKSbGpilLhAGI1o5jFW0QF\nmgMu00cnkX/nuIt+IxToLge3KBHaJVF2IIXHodacbJJvEK5vA82n940NkaRN\nkqR4X+S1bjcq16jiTQaY7+9XCZWqcWVGf4u9SRZ5AFL+UMhT/CHOGwM7pkSA\n3G0EjxRXKh136tHzXu0GT1UHgHksvjJIKaXkKo0z24jhL4pdpw6X+m3/wFIG\nwxgmj8SNjGapePgnFF9K0OcKLGvLd81Jkd3iX5lzftbpIIBD2CjOHqcbQ6uL\nfu5p5AmNnIaEuK2MpAH2IgSC3iK0zodl9YKNNzAkT16Fp89U3T3+xDwIRyar\naZa3\r\n=fOxT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG//noV31pYR348ubTSq+HfnU8pCcNGS/y1GDckHkPjGAiEA6B4nVz3mL03z391tSdIYaDzcMNHR9FY0FwXTEydMr6c="}]},"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0-beta.35_1607902635047_0.36538441759684503"},"_hasShrinkwrap":false},"1.0.0-beta.36":{"name":"react-use-controller","version":"1.0.0-beta.36","description":"Easy to use state controllers using classes and hooks","author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gabeklein/expressive-mvc.git"},"publishConfig":{"access":"public"},"keywords":["react","hooks"],"main":"lib/index.js","module":"src/index.ts","types":"index.d.ts","scripts":{"build":"rollup --config","watch":"rollup --config --watch --sourcemap","start":"npm run --prefix examples start","prebuild":"rm -rf lib/","publish:beta":"npm version prerelease --preid=beta","preversion":"jest","postversion":"npm publish","prepublish":"npm run build","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":">=16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^15.0.0","@rollup/plugin-typescript":"^5.0.2","@testing-library/react-hooks":"^3.4.1","@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/react":"^16.9.46","jest":"^26.4.2","react":">=16.8.0","react-test-renderer":"^16.13.1","rollup":"^2.26.5","rollup-plugin-typescript2":"^0.27.2","ts-jest":"^26.2.0","tslib":"^2.0.1","typescript":"typescript@>=3.8 <4.0"},"gitHead":"b1fa2bcc5aff0842696278aab18a885d65ac4c0d","bugs":{"url":"https://github.com/gabeklein/expressive-mvc/issues"},"homepage":"https://github.com/gabeklein/expressive-mvc#readme","_id":"react-use-controller@1.0.0-beta.36","_nodeVersion":"12.17.0","_npmVersion":"7.0.10","dist":{"integrity":"sha512-QcS8P3TjEeilKlMDh20VJIXjyHjY4tiIrmxeqab57M2u4a6I5d1bBTHTcIlDfGQ/2A7O5tWYGO2hdzx3IsBdGg==","shasum":"dd3202807bd5a6c6fac325118c83e6236eb155a6","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0-beta.36.tgz","fileCount":3,"unpackedSize":46422,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3u42CRA9TVsSAnZWagAAuLMP/0qbHZ/4AI7wrOSMd+7/\nsMVt4UZgUZCKeA1vlFjxN/lvWEJtKMjBrUPaloFlnRaRSPtUlnJG4Yb4SeqK\nS5UHRpZfG23RReRxjzSJ/U15syqfnJ+Tu8dwfE+fE2GMAxtPtrhV0qsUEXSM\nlwrlqant/oW/k3Of1p3haw2yc9w/u40uOBI/Dj1zFghZ3Hlg9BTtpj1Z7wKC\nji304tfufjdRPPGRAW65roiV1v9Wg8IVZPJbsLFrjhpIgMScFubawU/+gqn/\nHdfm3xz6hiOgtwtzpWPQtRB5v1/8JVz3naap0LxEiHEsGvFz6tgic/al6Ttu\nJOTFvHGGYMcBkujbkgFU5lEghdGRFVxy4Sf05sKOCB/3ee7FFF3oOFwMi50a\nOr224wODlPe9s1SH3CjnXLKg9iYtrtIYqov0G9+T+mmpg2PpLjBVfu76BH3B\nBkFN1dwMFkCRDJP/G0vzEtxMzZHsf+XoPYESjHnPmgKcTS2gz8iQburqDgK1\ng+PdeBXbNaQ9pdmoGQSYFtAl2H9Mr+HI3ZSGMFg/A+WlFn4JcgeWnkdS3nnD\nfrhkS6aHtlzQqh6LhQxjJjUIiQiFecIDK9EYauwA1ixQuvyZ4iZ7zs7RukjY\nI+gtann++51wY8oAmtiwZaNjBCzthF+wSRZ4AnA0RNVVVTMxykx5+OIXdcMO\nH0Y3\r\n=Wwhv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDtCiIL7DXmqrqO+NHGCujv/KvADyRnD3DOVWGEWp8negIhAMY3hlZHZ+xFZv8LJUu3uop/gGjZWsXnS2qPORqMtKUG"}]},"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0-beta.36_1608445493727_0.9109047243498716"},"_hasShrinkwrap":false},"1.0.0-beta.37":{"name":"react-use-controller","version":"1.0.0-beta.37","description":"Easy to use state controllers using classes and hooks","author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gabeklein/expressive-mvc.git"},"publishConfig":{"access":"public"},"keywords":["react","hooks"],"main":"lib/index.js","module":"src/index.ts","types":"index.d.ts","scripts":{"build":"rollup --config","watch":"rollup --config --watch --sourcemap","start":"npm run --prefix examples start","prebuild":"rm -rf lib/","publish:beta":"npm version prerelease --preid=beta","preversion":"jest","postversion":"npm publish","prepublish":"npm run build","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":">=16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^15.0.0","@rollup/plugin-typescript":"^5.0.2","@testing-library/react-hooks":"^3.4.1","@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/react":"^16.9.46","jest":"^26.4.2","react":">=16.8.0","react-test-renderer":"^16.13.1","rollup":"^2.26.5","rollup-plugin-typescript2":"^0.27.2","ts-jest":"^26.2.0","tslib":"^2.0.1","typescript":"typescript@>=3.8 <4.0"},"gitHead":"c83d9a1e3a3e99a1ddec343fcf06296a83732926","bugs":{"url":"https://github.com/gabeklein/expressive-mvc/issues"},"homepage":"https://github.com/gabeklein/expressive-mvc#readme","_id":"react-use-controller@1.0.0-beta.37","_nodeVersion":"12.17.0","_npmVersion":"7.0.10","dist":{"integrity":"sha512-V4WBeq+Xf6IzGArOgfomQgKkmyOkXX4t7wOQun4SBo6KwotYhzInfPSLgcMgSiURaXI65dKuSNagaA3RrZlsVw==","shasum":"8e2cfcbf659bc1bd112096a38894279e789e0062","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0-beta.37.tgz","fileCount":3,"unpackedSize":46430,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4l7oCRA9TVsSAnZWagAAd3kP/1mvz5M2CAP7/1T4b61Z\nfpREYFNCTB+CFuGmnPLpi2i4BcgJevmpQMb9LrylfjfMh068itWeosTGqgJF\nwOMg/RhyLvrBqY3fQ5SoDMSC7rKLShXse+me2KyD6NoJENamw7HnlkScus9S\nUsOvmHLqWfwTwXbarZzDpoA4NwqC/0VQCjEOJrzt064qBVPUzGCkiIOMER18\nH5YxLqMlT4bPgKwEUrqbOvaiiiBUaM/NhM0quor8ZtUUItqnN/GfDSkGOgcA\ntKPVa6npAy1b3z8K8L4GYmlmzPHTaNaxcVO822OQd/sDGYGoMmzjnUH7x7KC\niKJ4bLd+sF6+FgdwrAK+ynQ83C+QDpHmAZrfkL4j9DVGeKqzE+gSAt/ZXb36\nE/IlKVLEe7DJmSylWt+mv3vV4o4Do7vUTTYvj1wAEV9v02bBAsd/KDQzWGNZ\nbC6clMMIM36dQ0RiPaJA+R/51kBqjh/ROVrp5Ma/+3GRJSEfMhK4Teh1GhaH\nriw+kTOKZbb24SONM7NzrxlNPlh5yLoOW3loqWSNyqlqrXrPGhXINLoenV7O\n7olCRmamkIlfziFpshj6m6c7+Po0O739ILJbbFACXU3bmxNATTB1Y8IWAn1j\nsvW31++HYAak7iZ4K38ZkM/tNHCOWIbGrzhv4U0Z4GUO4m0t3V8TrGAPyysJ\nCjVz\r\n=2h9U\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCTqqrLNqU5kH4uZoV0LnRBpVqCxCF/3XDhw5WDR12IvAIhANcALdImWlSgb0nTDmjB+ofDy0aOtP9HtdY3cwCOKE35"}]},"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0-beta.37_1608670952414_0.27215785136219117"},"_hasShrinkwrap":false},"1.0.0-beta.38":{"name":"react-use-controller","version":"1.0.0-beta.38","description":"Easy to use state controllers using classes and hooks","author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gabeklein/expressive-mvc.git"},"publishConfig":{"access":"public"},"keywords":["react","hooks"],"main":"lib/index.js","module":"src/index.ts","types":"index.d.ts","scripts":{"build":"rollup --config","prebuild":"rm -rf lib/","publish:beta":"npm version prerelease --preid=beta","preversion":"jest","postversion":"npm run build; npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":">=16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^15.0.0","@rollup/plugin-typescript":"^5.0.2","@testing-library/react-hooks":"^3.4.1","@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/react":"^16.9.46","jest":"^26.4.2","react":">=16.8.0","react-test-renderer":"^16.13.1","rollup":"^2.26.5","rollup-plugin-typescript2":"^0.27.2","ts-jest":"^26.2.0","tslib":"^2.0.1","typescript":"typescript@>=3.8 <4.0"},"gitHead":"b6c442b569e5c99901d8c22fada4d67a6adafd5a","bugs":{"url":"https://github.com/gabeklein/expressive-mvc/issues"},"homepage":"https://github.com/gabeklein/expressive-mvc#readme","_id":"react-use-controller@1.0.0-beta.38","_nodeVersion":"12.17.0","_npmVersion":"7.0.10","dist":{"integrity":"sha512-kHOv9cbg3EHQC+f2FpYM9YJ1UepcQ2ecPDu/ZuTMz8JbUVwlAQ/sw8/3SCO6MKYHB3U8Ws9jhta1CCpxNyL/mA==","shasum":"7e37bde7a1dd03eca71087bb1f39d04c175f1ce3","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0-beta.38.tgz","fileCount":4,"unpackedSize":85592,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4l9hCRA9TVsSAnZWagAA3AwP/121TKLBwSqtKrF5cZJb\nB121b8lIWIYfMzAjIZmZYIUnEvrHaSMvIKlF5boSmCX4J+ThzbhZI8xD5df3\nlVT2cor+AO7uUFbsNyaiQmJ+vd6N7R6WfHs3Vkeg6YDHNKAJ8m8sHsYeMUOl\nnhJ7hOY5ClMUpK48hy7QQ6I8QdQC4+PIJFyWIB6KJBOVg7AUG9lXy1WbZAyN\nFXXlz2gAv+ysrB7Nm4SN0rVHCMKrPh0OlAWtBimm52z1kOyMqk4e+RJshyO3\n9W9hxnorQmFxVwWZ5T8SDZEVR+dkncLwn5Nogv5XC6sN3nz27QdiDD+K98Am\nTWBfd8nXmIoeGYfyK6ZiFjmCb4QKfLim0bhAHGw/FGnRFhFHXiAutAkvpmFM\nDBwAqYbgKhes16fcS3FReXBGERLnrrHWN/OrMMgwn0ui5L1EllG2fsnG2kuq\nEEhj2g/+JL4QgHO3a5sXjDA9NE3K6Gz8jpymV9VTHws5n3USDd4d8hfAKpd6\nY4PheznF2Id74UIKupDhspXqtrv3dArP+5pMXv9RXk0+4/sV5wZnLPJKfVwB\nkbmPe2KSsaXGIJUkWO3BRGnc2JycwHHGtSsAspm03BIlo12YB1w6PmY71t4t\nz3w9LzHHc+rRNjL+b+ar6pHUx4/wQCtucOorMIq3ZHWp+yt6CjuecYWmo1GM\ncvI2\r\n=oHz7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCP7l+HWPhVRtRH+YIqoM3nKb7y7gWKEUuitPKDvAK0iAIhAJ9d88tqDiF0mS2GxIKc9bex7Qvr4d+8CIdWKbzDpACi"}]},"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0-beta.38_1608671072854_0.19050061594864753"},"_hasShrinkwrap":false},"1.0.0-beta.39":{"name":"react-use-controller","version":"1.0.0-beta.39","description":"Easy to use state controllers using classes and hooks","author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gabeklein/expressive-mvc.git"},"publishConfig":{"access":"public"},"keywords":["react","hooks"],"main":"lib/index.js","module":"src/index.ts","types":"index.d.ts","scripts":{"build":"rollup --config","prebuild":"rm -rf lib/","publish:beta":"npm version prerelease --preid=beta","preversion":"jest","postversion":"npm run build; npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":">=16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^15.0.0","@rollup/plugin-typescript":"^5.0.2","@testing-library/react-hooks":"^3.4.1","@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/react":"^16.9.46","jest":"^26.4.2","react":">=16.8.0","react-test-renderer":"^16.13.1","rollup":"^2.26.5","rollup-plugin-typescript2":"^0.27.2","ts-jest":"^26.2.0","tslib":"^2.0.1","typescript":"typescript@>=3.8 <4.0"},"gitHead":"4a8110e95b4573cd2a7f2e5f0a49268db672a137","bugs":{"url":"https://github.com/gabeklein/expressive-mvc/issues"},"homepage":"https://github.com/gabeklein/expressive-mvc#readme","_id":"react-use-controller@1.0.0-beta.39","_nodeVersion":"12.17.0","_npmVersion":"7.0.10","dist":{"integrity":"sha512-L7SYMxFlRvcCghF5lUFP9AbSgoLXhn3pEv7UbQKkKBg8CvNYaJBPkqLY/4Zx+GUpa1BXcCKuJ6muABV8qOjCPw==","shasum":"b35aee44ce1b34a0654b8087ba43336ff18cd7d0","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0-beta.39.tgz","fileCount":4,"unpackedSize":86045,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6MFcCRA9TVsSAnZWagAA+pcP/1+S87LEUSFRVNjhWyNX\ndh9y6dL+q6a3IUokJKtYaTmOBwqztfQKC8IA1NPOZJWhboYEAUfB64n2uGu+\napJGc/wiynldrbbt2wLMHmbSgol8DVLDQycL2Hp7sfNQrEgNYcS7JZ/E/gXj\nPxJMhdliEeGK0VfnMJIciPLxXObUfL061DHENUYtI2P622ll0/lT1xE5xIB+\nOKkPWrUOq2lBfkq1LhdGqjGR4Wo+hrhDNhzR8w9317hEDFmseMF0ZcxrpmNt\noS5CS0zw8kTbU6LkmRAGmQPEBscTXrmtl1PLiKiOMBdloXwi3ZGtafHA83Kd\nT79EK3ARH/LbkCWVbOFpzuHrAJT7cUXAPcLOnvmm4rhFLXDiRpEmrJLIrGWn\n+NCQ/YTqm3dPxNFaCWW88qqkTHD7R/YWiPYRRDP8XWnjYBHMqhG9nPvQ4sIP\n5p0LeoEQ93BHfSEEoZ+vhB9omzBCSaRLkgE3LNaz5VpfRSKJhXn2ps1iPnz8\n6V8JyH3MmKbXEqVoQOdzoNtJfrq1hYN4OEexfyAsTiuGTlmY4K6+b3FoVk47\n3iyWCbv/xLDob67zs/+Aw1r5A77vt8TS16L8rV/e7TNzT52PkzuXxM18wJxQ\nP9qJCSPNVdzUEGZh7iiulhZCIYhwpUwCgZi12mDa4OsS69W04YYsypWw170p\n4y3H\r\n=pz1Y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDJ/e54Dy+ZvZrM4FwVu4Ka/VGdmsiusZitmvSQdAqp1wIgFtM6v908tcuWFjWaJVcp5sGtd/lI0Ely7jeUpA7BoWE="}]},"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0-beta.39_1609089372031_0.583449505099856"},"_hasShrinkwrap":false},"1.0.0-beta.40":{"name":"react-use-controller","version":"1.0.0-beta.40","description":"Easy to use state controllers using classes and hooks","author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gabeklein/expressive-mvc.git"},"publishConfig":{"access":"public"},"keywords":["react","hooks"],"main":"lib/index.js","module":"src/index.ts","types":"index.d.ts","scripts":{"build":"rollup --config","prebuild":"rm -rf lib/","publish:beta":"npm version prerelease --preid=beta","preversion":"jest","postversion":"npm run build; npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":">=16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^15.0.0","@rollup/plugin-typescript":"^5.0.2","@testing-library/react-hooks":"^3.4.1","@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/react":"^16.9.46","jest":"^26.4.2","react":">=16.8.0","react-test-renderer":"^16.13.1","rollup":"^2.26.5","rollup-plugin-typescript2":"^0.27.2","ts-jest":"^26.2.0","tslib":"^2.0.1","typescript":"typescript@>=3.8 <4.0"},"gitHead":"4d8f531ce5e60bbf17c2404dc34f117948c2fc76","bugs":{"url":"https://github.com/gabeklein/expressive-mvc/issues"},"homepage":"https://github.com/gabeklein/expressive-mvc#readme","_id":"react-use-controller@1.0.0-beta.40","_nodeVersion":"12.17.0","_npmVersion":"7.0.10","dist":{"integrity":"sha512-vZ59nDfRGJgOxRL5mJWNh//6BGeTokj5nntHhp0BCF8mI4vev9PHsWDHXSanGF+gPS8k7xtrTEJMALBw61UTDA==","shasum":"a41a2cce6a4f7cd5bf73bfdfb01c07956ea99439","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0-beta.40.tgz","fileCount":4,"unpackedSize":86197,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6jyzCRA9TVsSAnZWagAAGz8QAIpOYpVl0EL+tzlK1Ox5\n/F89BVYAQrATYqu5wCuB0iOEzh55/cZNBp/VuBdnrRJmGFyOtenpTmKlO2+G\nLf0I2Wn10nY7uO26BvMxkzdR6yHDY0863KZkNXEgubLMfxKo2ZEol5f/J6hZ\nQEy1TvVc0sy+1PMedA2bkzLRJ+WfJu5vJXetGkaa1AfAONBLagUpQ8we8gEq\nyhlsBexyrHuw/hGRxXnkMXnohH1VLcQ9OT7Dri1QmdOXZljA0xVZEJPeGHGd\nuD+kni5N9p0esgw+dGaFRVzWSv7NRp0ZPPGBW+TQnlGi0eVVTeMg75ZHR5nN\nk4sPb4zzEtl7MK9KhRdUhhsWMBq7y15AackFlj6OypRS/A32KNXMKvZYC0oL\nmg8JRxajMiLiMLjYBusYkOlKEg0Ufvk3FJfJoVcEvpV+6p2LkSFhmHyeJlLV\nN/wVGDAx0hGOO9ne+GZQRU+u5ZoTxPPBH/WZhFXn4Iwha67WxXT1SzwslMdi\nS6Iibognh9G9nDy/jPC7kUZ8UtkHSQnME5mud78yn8nPjCuczs4wfGvrfgRF\nyc9TQmP0ySRRHSjSWOmMazkAKQeZRWhKst3Btvls/IUfr1cXq/WDXQ9kcM/9\nCZW5xGNIjch6FNfGKnB/SSEIpduODWUf2XhR8Fq2B8/SAgtS1qQwJoAOEhH3\nbUSA\r\n=e0h4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEXzbm/1z93Bu2Jt3Suiwr4yHu+FFPTwqPOk0PN28btpAiB7ri4AKGQZbLpxFF38wdsu75S3a5wXKhBncIKomjoO9w=="}]},"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0-beta.40_1609186483195_0.782225597213817"},"_hasShrinkwrap":false},"1.0.0-beta.41":{"name":"react-use-controller","version":"1.0.0-beta.41","description":"Easy to use state controllers using classes and hooks","author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gabeklein/expressive-mvc.git"},"publishConfig":{"access":"public"},"keywords":["react","hooks"],"main":"lib/index.js","module":"src/index.ts","types":"index.d.ts","scripts":{"build":"rollup --config","prebuild":"rm -rf lib/","publish:beta":"npm version prerelease --preid=beta","preversion":"jest","postversion":"npm run build; npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":">=16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^15.0.0","@rollup/plugin-typescript":"^5.0.2","@testing-library/react-hooks":"^3.4.1","@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/react":"^16.9.46","jest":"^26.4.2","react":">=16.8.0","react-test-renderer":"^16.13.1","rollup":"^2.26.5","rollup-plugin-typescript2":"^0.27.2","ts-jest":"^26.2.0","tslib":"^2.0.1","typescript":"typescript@>=3.8 <4.0"},"gitHead":"4376cb5305d5c739280353fa4dbd8b03ca2a6b9a","bugs":{"url":"https://github.com/gabeklein/expressive-mvc/issues"},"homepage":"https://github.com/gabeklein/expressive-mvc#readme","_id":"react-use-controller@1.0.0-beta.41","_nodeVersion":"12.17.0","_npmVersion":"7.0.10","dist":{"integrity":"sha512-EcE7Nb/+dDTOd/ZR/kjw4az545jeTPJ3AU3HLW9LSKYvLuPtV8ASgmg/oqPLbMpbmjzRGLrPl57+5G5u45/aHQ==","shasum":"d140d0e9e4a2286a5a296a7948945ba16021d98f","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0-beta.41.tgz","fileCount":4,"unpackedSize":89166,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf8qrGCRA9TVsSAnZWagAAYTMP/3umkM/NiLRabu6BfszT\nWvT8LQzHfBz7jgKys3KRvyPL4ddK40EflJEqvvNifkMhCYKOlobDwUA2jg0f\nq6lfm9XWjkre4FnzBI9bRDG9IEcFa42WfICAd+CmCaCGYfl1ogvSyk01y/Kw\nHIK1xdXQ53E8mNNhxfrakhfkXV1euoR3uyUUOKhJ3PR8+88F9AWZvAAt3601\nOL+hkX5yfjrzHXT0tinFj0aK6OBtgUa50TgFheY16EpX5VC/+v7OQ/CmU1yA\ndIMzTH3+EoA7EnevGBavu/35fstwsZxry7UMP1hcaKe0ZDES8BgEUiJ8VMHZ\n631eWm/acA+nPmzoKnZCtZ/hvXTyP0Xl5EOrqFErn0EX6aO/CDLpNJvJBWfx\nsjCWfSpX6GVARdLvjLvPevMVw0SC5U0tIfrMd6gnwbinmssa137R9wVsUTRH\nPQU5VDORT9axtOtF05UEEBErvF+sr2hytEAX4SzVM/fHWzoiF4y3hteZN7Xb\n8c77op0dXeX+mRqodon+WVTsucjEj5U2JsDdxgTebkmb2fxttMCnsX+L5BE7\n9AOpy4Y6UTPCR7YgJwpw1Zu8VOzv0t6oR/5uv0NKHMYB22qyHF54d8UAlrHc\nDxpFw1AQ9obEm4x39TZWSgTHwl+1gXTbx2c4uut+CG1whJkTvYt2DP3aWNDx\n+G7I\r\n=Kh6o\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDrI7aEQkXXC5xVMuui+jG1tJbDRVq+VkkxBXKhonVOJgIgCcZ9LQAcwZ1Qz+r6fFzJSntOkLeyIKeLJ91eIwoMrzY="}]},"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0-beta.41_1609738949872_0.24634776694483618"},"_hasShrinkwrap":false},"1.0.0-beta.42":{"name":"react-use-controller","version":"1.0.0-beta.42","description":"Easy to use state controllers using classes and hooks","author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gabeklein/expressive-mvc.git"},"publishConfig":{"access":"public"},"keywords":["react","hooks"],"main":"lib/index.js","module":"src/index.ts","types":"index.d.ts","scripts":{"build":"rollup --config","prebuild":"rm -rf lib/","publish:beta":"npm version prerelease --preid=beta","preversion":"jest","postversion":"npm run build; npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":">=16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^15.0.0","@rollup/plugin-typescript":"^5.0.2","@testing-library/react-hooks":"^3.4.1","@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/react":"^16.9.46","jest":"^26.4.2","react":">=16.8.0","react-test-renderer":"^16.13.1","rollup":"^2.26.5","rollup-plugin-typescript2":"^0.27.2","ts-jest":"^26.2.0","tslib":"^2.0.1","typescript":"typescript@>=3.8 <4.0"},"gitHead":"c98e76c6905e4ee08d066ee8f7501fd49b260abf","bugs":{"url":"https://github.com/gabeklein/expressive-mvc/issues"},"homepage":"https://github.com/gabeklein/expressive-mvc#readme","_id":"react-use-controller@1.0.0-beta.42","_nodeVersion":"12.17.0","_npmVersion":"7.0.10","dist":{"integrity":"sha512-VYjSpczW0lQEtw2oM70WWPDWx8VuYbdA/MGp1QZ4Ubu/sQYmGZ/nCSC1G/KaO/MRyc/B3X1WHBdtHSKwRaMWJA==","shasum":"5319c6218c07559c423ac830fe5f7e3e1b76aff4","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0-beta.42.tgz","fileCount":4,"unpackedSize":89230,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgBhR3CRA9TVsSAnZWagAAUVAP/jOu4GQTyfPmtbSO+IiM\nSCdnQwyZSJDR+kb/JENL7KHziZoPKsiwuI5tFVtMendO58lWboLpvdGoD+DG\ns7UTxbVwhD4GnxK+flUCivC5awfSjSvh6FmQftIZTkz2A4MosBDEJ89Rv4NT\ncY+fycu7anamuFzv2Kru21r/WQp65NCFX8mnOWrMvAEHBQOa6768YX6sv1p9\ntkvVGfZth1hI0ZYxs0pq4JAFYZ0bBCM3SHHxBdbEBSn8lTZtIzrJ3dY+1/6a\ngoW9l2fa4SmrxapYtorTKpz1OiBBKowRRQBQ0xnonMIjGLTAPcXKHyzVaTcA\ntNbYvw9y4kwSqa9nlDB1nYtPRj/xbyC6f0eaJkad3frt23TSmC7b6wdUKp+y\nQswmFX/PauvH/LogNXQndcDHeo41c6QZaeW0wALTzgBfb31WtIlbZeWmoBbo\nWi1GPhcJHj68oXdEkdO/4QVEbAs0EDUdGv6NhHj0JUfgnCAGd5uyhM6estq1\nRk+bDDWwlZiIfcNJ8lWriKe7ejCNUTeakdBPxDNZiybdP3B+4aFrk8DKieOJ\n4+u7P3tW2phPT/lD9/rCggl8cGuqC2/YP7oLkJlvkEYP0D+lkwGpiUDMReiS\nQSBDaq/sif5+Oy4JrvK8Hbnk0lErGfeMk7dt60wKj+mBScPzIyh5SnsNAlvb\nRjY/\r\n=EAVq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDtnw3OGuYw/+uutpNf4gslYsxCtRNf+3r62QEulBBnqgIgTUEHFega6m41N3hRuG1pp83fI3dqmEmCm7A6a7PE5YM="}]},"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0-beta.42_1611011190636_0.34863427826407056"},"_hasShrinkwrap":false},"1.0.0-beta.43":{"name":"react-use-controller","version":"1.0.0-beta.43","description":"Easy to use state controllers using classes and hooks","author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gabeklein/expressive-mvc.git"},"publishConfig":{"access":"public"},"keywords":["react","hooks"],"main":"lib/index.js","module":"src/index.ts","types":"index.d.ts","scripts":{"build":"rollup --config","prebuild":"rm -rf lib/","publish:beta":"npm version prerelease --preid=beta","preversion":"jest","postversion":"npm run build; npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":">=16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^15.0.0","@rollup/plugin-typescript":"^5.0.2","@testing-library/react-hooks":"^3.4.1","@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/react":"^16.9.46","jest":"^26.4.2","react":">=16.8.0","react-test-renderer":"^16.13.1","rollup":"^2.26.5","rollup-plugin-typescript2":"^0.27.2","ts-jest":"^26.2.0","tslib":"^2.0.1","typescript":"typescript@>=3.8 <4.0"},"gitHead":"0b9b766783eb060956f7d073611a48fe2388c17e","bugs":{"url":"https://github.com/gabeklein/expressive-mvc/issues"},"homepage":"https://github.com/gabeklein/expressive-mvc#readme","_id":"react-use-controller@1.0.0-beta.43","_nodeVersion":"12.17.0","_npmVersion":"7.0.10","dist":{"integrity":"sha512-vXEDIaqS/r0LUnBKvOfGd/QbIr3P0cnA81Pou1vNOhLCkiZWELx+0rJ07yrhwvWdj5LBIWDLrx8n5ffUFwxbdA==","shasum":"91d569540d78f76f90b74d915bf787838bbc8bed","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0-beta.43.tgz","fileCount":4,"unpackedSize":89307,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgD9w9CRA9TVsSAnZWagAA6s4P/2GlEf60byJs9h8v9/8f\nXHzPBZkXBl01yAewQmwDD/9Q7JfGurGz39DsyfQSQFVrxyYa8R2LsuJfsM6F\nSPn/0mYDCpLA0W3ud6xMqaLWUmansWaCULW7BX+BmEr1E2t9Eewr3IU5PxzC\nsaMXN1ZiIrtPLHwVAUNfqSjztuLaBO35eg5dN6GwETDigG2DVr1hQ3xxhiQx\n0JaPBAR0ecxdngdEqsBRAq39HO0ZcBQJyo+MmMzfyPHuMIW7L6bzgNDiLxM2\nRUItHLSgpgKNDgBcpMjpxLOcQE3i/OeWJejBBXNcjvwNBSTWb+J8KLZv3ID/\nPeZOKQYwkxIu9WjccH6klyN/0O3YHpD6YeHuqfv8i1ljmrZs0toI2Sql5yMe\na9XF2XbkO4jFTdyZW/25DO1Nwr6gyMRl0YztIi+tL/eoCDearaW3RBVqeB5Q\n+I0KDZuovYa0pXlb0z2jVk7DPATE1go+Ul6yrbT2eH9MoI3qSJON8dmMz7ZQ\nlGwUf0bCYy1TMHe4AtLglP88XIvlqQ142gUkyqjeiXnPP/i7484TLQUvNftD\nyDjZ9cXXURFPXHXHEV4rv0cy+uPVk208C+9BEWr1NEdrzMeVOAWpsbG+j5m3\nFtD0D3I0LESxAyf/SS/PeR/ymXOrOBRQar7oyUW2YgNdfajqm3g/eENhn625\nEBgu\r\n=hku3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDwk9PhGJ19U0w5nXGWOlnjmIs/vgXajMiKYcuc/mhNcAiEA7R5lpoJiCZ3FTJYcCR20ty2+1aOYsrDzauPGdwg9DjA="}]},"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0-beta.43_1611652157457_0.909709950267428"},"_hasShrinkwrap":false},"1.0.0-beta.44":{"name":"react-use-controller","version":"1.0.0-beta.44","description":"Easy to use state controllers using classes and hooks","author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gabeklein/expressive-mvc.git"},"publishConfig":{"access":"public"},"keywords":["react","hooks"],"main":"lib/index.js","module":"src/index.ts","types":"index.d.ts","scripts":{"build":"rollup --config","prebuild":"rm -rf lib/","publish:beta":"npm version prerelease --preid=beta","preversion":"jest","postversion":"npm run build; npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":">=16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^15.0.0","@rollup/plugin-typescript":"^5.0.2","@testing-library/react-hooks":"^3.4.1","@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/react":"^16.9.46","jest":"^26.4.2","react":">=16.8.0","react-test-renderer":"^16.13.1","rollup":"^2.26.5","rollup-plugin-typescript2":"^0.27.2","ts-jest":"^26.2.0","tslib":"^2.0.1","typescript":"typescript@>=3.8 <4.0"},"gitHead":"afa0a9aa670d89e7fe0721b1040470e961d65489","bugs":{"url":"https://github.com/gabeklein/expressive-mvc/issues"},"homepage":"https://github.com/gabeklein/expressive-mvc#readme","_id":"react-use-controller@1.0.0-beta.44","_nodeVersion":"12.17.0","_npmVersion":"7.0.10","dist":{"integrity":"sha512-NvfzI8wL9QGMfVfqsgiMgZLyP5s9IIJwedjAJ+QixJ1H2g6bIAclP/0MiFfJ25ImiQvi+0S+o2iuT/bYcewurg==","shasum":"30c037c37bda14748ed77fab574bca8a9df43b41","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0-beta.44.tgz","fileCount":4,"unpackedSize":89410,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgE8I3CRA9TVsSAnZWagAAW9cP/0/56YDPXqquZfTsTxxb\nEv7oL6YXSi6bOsGP8FSB40NRwL15YZyOjKlyo2dwEfL4XMU3uW46icUsh+oW\nBT7NVGfEiEiLR8e3cw8fUDi4FwHFkdApRQjjtk86ytZygk0CLEJDjiPknV32\n7l7g2zhyuQhTOQeRY1eiYSM4wBg4X4FXbI/60S46O9QL83OOQs4wihIk+VUH\nHTKw7bNzK/2iW63wG/dBGVFtor35AOeEgOc1WSLaNruZAtqpuzd3JPFf60DJ\nA1K4abSomtJbOH2JQn+P0a+OFV4Y8u+0QRpDOOhXy+/PRqtFi8PxzhvcqxvU\nkPJla2opVwiHi6B4GhiDn/8l4JGpRCMfLMZRxVRRLprGN1AWTBFwcV37dAQh\n4oWug1RDTg5HBhY0PZj9yW2kznCzRmxltoKhTUOAMpty0ycSYmtWlSiNSWHF\nwPBsE4X20bZiy7XV2haJHgCdAHYgEm+vsPgdbbkPj0OTPVyAqMEC0hvOaKnC\nwonSeD1avDAB3JeXeGOB9zjx+X4nWunWUGEg/bWwKFozzCQ0FXLcQ+STrUh1\nhAdQr6Lj38XQbzWyX4rbXcA2Yj81+bp/c8Op7oNeNLP1GEoNkFPU9wwfRgG/\nZTPH2ezI9YzItOmCDnCss6774mXBDAxLQnpN4NymqsXi5upfVecnpMUIlySi\nhCpP\r\n=5r3o\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDErJliTtwindq7x3lkrDJB/+xxheGoW6dqGyWld3jfUAiAZQ+TZKt+yT78k7nEjMXtC/4wrSkZs4Cfg515CWy6OGQ=="}]},"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0-beta.44_1611907638868_0.5855718954679898"},"_hasShrinkwrap":false},"1.0.0-beta.45":{"name":"react-use-controller","version":"1.0.0-beta.45","description":"Easy to use state controllers using classes and hooks","author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gabeklein/expressive-mvc.git"},"publishConfig":{"access":"public"},"keywords":["react","hooks"],"main":"lib/index.js","module":"src/index.ts","types":"index.d.ts","scripts":{"build":"rollup --config","prebuild":"rm -rf lib/","publish:beta":"npm version prerelease --preid=beta","preversion":"jest","postversion":"npm run build; npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":">=16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^15.0.0","@rollup/plugin-typescript":"^5.0.2","@testing-library/react-hooks":"^3.4.1","@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/react":"^16.9.46","jest":"^26.4.2","react":">=16.8.0","react-test-renderer":"^16.13.1","rollup":"^2.26.5","rollup-plugin-typescript2":"^0.27.2","ts-jest":"^26.5.5","tslib":"^2.0.1","typescript":"typescript@>=4.1 <5.0"},"gitHead":"ffc4506d039ac16b5655c6e896b74821db74b3a3","bugs":{"url":"https://github.com/gabeklein/expressive-mvc/issues"},"homepage":"https://github.com/gabeklein/expressive-mvc#readme","_id":"react-use-controller@1.0.0-beta.45","_nodeVersion":"12.17.0","_npmVersion":"7.0.10","dist":{"integrity":"sha512-YLV6UUrut+LZPfEhMnR1WLnOIWngYgPcizX298QAObkVIvAKNlWVAuk2t7SKZgXRFuWHmrogQArFR2aZhsjerA==","shasum":"aea8b1b2b21cb2de6f44b509df83c35c91ddb0ec","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0-beta.45.tgz","fileCount":4,"unpackedSize":90037,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgjwP+CRA9TVsSAnZWagAAcwgQAJrOaL1AC9OgKV2NYHND\nDXFNvv2B9eXbhOhCQvrCJlL1AgAcpaxFU2zXtttv0RCppdrczbfyHJHCrdGu\n8rK5RJv+n+DBwOgVxGbAEXmHiWuBwrWLJMKsuK+OJey0lLeP27dr57tnWpjn\nrS0YHuzigr+lJAj0YaxUAUhN4ICb6eLAPYimlx+AQPgPse4gzkEM979jw/XI\n9chH7jghWMpAO6qFXshiLnyiLD4SXMhu63esqOsmBRclCzgMUbxvkl0qTqAF\n1PMxx0tUTNWyFMkXgrYFyGj7IPAJChpWTkIkrmGkmHBnnMnOPSfvwfzVTeut\n3Xs5uKT4J1GCUTxKFK+Fz6L9cRit+r3nx80nLjUG5JdVNsTVBXa3+SMLPPeY\nkQPxhxow0oo50ZFdn8e+3JryTD0K6w2Xb9IaYjWp4nqZEMTvJH5ktMNwqHA5\n0gKMtjq4Ga8V+mC00hoC2xoSLsUlsO/sYZw8gzjIXUwTkT0vQf9T5BCJoerF\nDr9/XtN4a4AAyA3zlIYVSMeYGsEIqZtexCvG9lMlYGWkbYOmDbUnoaA29lZO\ngtcEWTaqeNlzyZ60uoB0XDv8HWLREYAeltNsGeJLlLb2eu2wUGbx1Quvgwyc\n53hPFUPP/jjwGI3+5OMKIE+zXPb5XaK/NlwDMcAe0udFPu+vd3fCkIi2vK/S\ncBax\r\n=h9h6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGN2xoS00eUhsMhnXn+0uGZdRE3gyhdmAy7kSGtE0j4AAiA2rpq2T3XDJXm6EWr08N+ge/88jKVaNgpDd6uWNuB6GA=="}]},"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0-beta.45_1619985405729_0.1675562401572137"},"_hasShrinkwrap":false},"1.0.0-beta.46":{"name":"react-use-controller","version":"1.0.0-beta.46","description":"Easy to use state controllers using classes and hooks","author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gabeklein/expressive-mvc.git"},"publishConfig":{"access":"public"},"keywords":["react","hooks"],"main":"lib/index.js","module":"src/index.ts","types":"types/index.d.ts","scripts":{"build":"rollup --config","prebuild":"rm -rf lib/","publish:beta":"npm version prerelease --preid=beta","preversion":"jest","postversion":"npm run build; npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":">=16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^15.0.0","@rollup/plugin-typescript":"^5.0.2","@testing-library/react-hooks":"^3.4.1","@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/react":"^16.9.46","jest":"^26.4.2","react":">=16.8.0","react-test-renderer":"^16.13.1","rollup":"^2.26.5","rollup-plugin-typescript2":"^0.27.2","ts-jest":"^26.5.5","tslib":"^2.0.1","typescript":"typescript@>=3.8 <5.0"},"gitHead":"93a0b7ddacb7769523838022b8730c362ffa96d5","bugs":{"url":"https://github.com/gabeklein/expressive-mvc/issues"},"homepage":"https://github.com/gabeklein/expressive-mvc#readme","_id":"react-use-controller@1.0.0-beta.46","_nodeVersion":"12.17.0","_npmVersion":"7.0.10","dist":{"integrity":"sha512-3NLnSKpt92CodIjc2mg9+w9kfgd9gA0if9NrrKq7W1IssYfFlWKS3g3ShF7RBl6UCNm+wrxePmYwpzz3UnrCwQ==","shasum":"ae36b1a04763e3ef3ff7b00b6642e949d9a89526","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0-beta.46.tgz","fileCount":9,"unpackedSize":104754,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnD8KCRA9TVsSAnZWagAAw/gP/RW7rLo/q7jAAd+xc7e6\nRn9vfxrLwCiNgHaBo5xotV/zyfDCQqyISNP/unLV/E+7xTYwhj+tiEG238zO\nHrwZPLkgKsnWAcoGZIGcNCs0tZveCHN4BLvLwaubITnuyDfRdQql6USOL4VS\nD4BguRjbuFBrje8BnSTDO/TV7+5G4tFzEQQvv49wLDQ677vCTM3LNZgpld5U\nABiR4ULg5vYXsSVQK6n15yN8p+4cIttE2+kxrdWbcCHImZQuIBVPqK+9ooC2\nkseWaR7FxDAWt+FC08nOx3gfwL5tNSlS4a9Q66TOjZ4PeOMNJj9tZIlQtZuF\nIkG5pceIsWo4lWXwBSMUlDOvFXaXBEvP+X+NdYFobGObdtUMj1hRi3d+IuAT\nY2LLAkaFz6oeNM20VnJKu7Ejx3IQn2xK7x+tB/pGl3efc5bTN384rYIlL7ir\n45BntxE3nTuZ8Ils+JALzgO4xTR6UAfvueJC7JucYwbndlwqQtYCcyjajAQz\nKZFQgGjIMrQF9xgCgP9oq0ZiiZcLzF4TXKm9SUTatxRim8NRlQCBmo5ZRusd\nklFIDSG+pIcHs2QWJfMrz+0e6q5kl4uocrPsK3yELxEFQ2M+M1ApG+Zif3PX\nwBGFvYNLE2JFbfYBvYzz9wbruEOF5aMRjzrl8+mE61dXuObpvmDlOL8+FuD7\n4Nee\r\n=Ld2c\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICIpNIaBmtD/UjoJGNOtNMvO8b4z/EgEe4JsAe+I7WjJAiEAibeTkufxfXGWlI8CmofQRwzR1pvM5vmfvVTMI0jkWm4="}]},"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0-beta.46_1620852490022_0.1284030766519395"},"_hasShrinkwrap":false},"1.0.0-beta.47":{"name":"react-use-controller","version":"1.0.0-beta.47","description":"Easy to use state controllers using classes and hooks","author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gabeklein/expressive-mvc.git"},"publishConfig":{"access":"public"},"keywords":["react","hooks"],"main":"lib/index.js","types":"types/index.d.ts","scripts":{"build":"rollup --config","prebuild":"rm -rf lib/","publish:beta":"npm version prerelease --preid=beta","preversion":"jest","postversion":"npm run build; npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":">=16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^15.0.0","@rollup/plugin-typescript":"^5.0.2","@testing-library/react-hooks":"^3.4.1","@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/react":"^16.9.46","jest":"^26.4.2","react":">=16.8.0","react-test-renderer":"^16.13.1","rollup":"^2.26.5","rollup-plugin-typescript2":"^0.27.2","ts-jest":"^26.5.5","tslib":"^2.0.1","typescript":"typescript@>=3.8 <5.0"},"gitHead":"7c3c1c1c7ff5f02b37ea32e5a97a412e9bfc7337","bugs":{"url":"https://github.com/gabeklein/expressive-mvc/issues"},"homepage":"https://github.com/gabeklein/expressive-mvc#readme","_id":"react-use-controller@1.0.0-beta.47","_nodeVersion":"12.17.0","_npmVersion":"7.0.10","dist":{"integrity":"sha512-KGOwPcc6cyWmP7NIWETAOX9zlYr63f1EYeT2F4aOX6cKYOtg1BqK0BSd98jRJJDK7sC3b1o/h0VADjnM5zzYbQ==","shasum":"a289749f13f738343fe2c9576d08d124cea6ad23","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0-beta.47.tgz","fileCount":10,"unpackedSize":102547,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgq1etCRA9TVsSAnZWagAAp2IP/06xFqTGYXIkEo1xoP1R\nB3tC65Cqr5WwGhw1nLNJXEH8vDnrIR+fQMXrN/8+rgAtNj5ZmWq1cx8kLWti\nnM+UvbdvovtxSlZJO/bolwFtxR3DeW+avUApQucZYkUzvtliB/qbUlCz+vG/\nXNzD5YP+VWhuKrRFe6mLyM9vx16wRGAMhQNn/eU7HuR/NU5Jw2uetAgfdSd1\nwunpeVh6Eh7I1wH/DiQ/rUNpdbS/gevJ3RsRITs+dcVCfAIq8T6rildSU50w\n895LDgqTnoTbMdhxeiM2UbZL6GcWBvJXrN85RL9xkHMLaNnayZO9iTTgY4AX\nI7qg0iNTAaIkQi6oVRjiJWa6PCLR0F0UCRCv5vCgjnNYWfwhoGD7HLh4tvml\no720CinrZc/3sNFQ3idCkHSaqf0InqtFlzFPxON6AkwPpcGESWh5idv779bS\nmWmCy6XvbROFMy662LU6UteJefOtNpbUSwQFuLoTFmy6fxfLAqA9kFO3fCDn\nOTNx1jxlq/9rCNA+oYXk8g7oBfHfb0VTTPFQuLvEjeb+FaM16sQ62svlmyVv\n6TVfv0QEcKZGwe0u8LlqI5ukgztr5tcJ0weZNN+lbhUNWmTUOMJR8hj148Wv\nEQUCJxSGuKz8qrGOE/12C7qWtHAEmXFr+V9ufNt6PubaeWfB74hPHNDTM85Y\nOmzH\r\n=QGaX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID6tuXMO9yvvYCnrisn0eVuWtYXGxsLL/g1EanQWVPBfAiEAl4HzcHbzpW2XZL59kv61PyfMWhZD0ZaesUR9okRHrhM="}]},"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0-beta.47_1621841836563_0.4203190334350222"},"_hasShrinkwrap":false},"1.0.0-beta.48":{"name":"react-use-controller","version":"1.0.0-beta.48","description":"Easy to use state controllers using classes and hooks","author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gabeklein/expressive-mvc.git"},"publishConfig":{"access":"public"},"keywords":["react","hooks"],"main":"lib/index.js","types":"types/index.d.ts","scripts":{"build":"rollup --config","prebuild":"rm -rf lib/","publish:beta":"npm version prerelease --preid=beta","preversion":"jest","postversion":"npm run build; npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":">=16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^15.0.0","@rollup/plugin-typescript":"^5.0.2","@testing-library/react-hooks":"^3.4.1","@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/react":"^16.9.46","jest":"^26.4.2","react":">=16.8.0","react-test-renderer":"^16.13.1","rollup":"^2.26.5","rollup-plugin-typescript2":"^0.27.2","ts-jest":"^26.5.5","tslib":"^2.0.1","typescript":"typescript@>=3.8 <5.0"},"gitHead":"f2c2f1229b00c0289d3fa98504a6e7f265d1df29","bugs":{"url":"https://github.com/gabeklein/expressive-mvc/issues"},"homepage":"https://github.com/gabeklein/expressive-mvc#readme","_id":"react-use-controller@1.0.0-beta.48","_nodeVersion":"12.17.0","_npmVersion":"7.0.10","dist":{"integrity":"sha512-Npz+k8aPU92OLa+7c8x3JDQj+wgRT+u97nvchH7HrPCjBOkba9E+oAZQQKlLopjMT8OMIW0OYcczUPFiT+MEdA==","shasum":"34e24f48153efe0ff4715a39e8bb1fc3fb6f0d62","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0-beta.48.tgz","fileCount":10,"unpackedSize":102562,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgq1rICRA9TVsSAnZWagAAyRMP/jkRe2s2d1UGmDPcM6yb\nS4gZ/s/kcqvc2KGQNErW458reC/Tjw5iS/GveofvJE8EywMSA7UNgdx0BQqN\nxt2x5vnkxcfbSHvScMYPd4ZKUlNChTpLYrbBLtR9NCrzhivCHPbWfSWeP7nN\np2Vqj3Xp8fGkDXewYssnr+Ktg9O978TUeQGLibhU71+Yd1WxZJcYx0fRq9Df\nob9Ppw1PtFq2B+MvuyQpmPHGT5wavWbEmmhtI2YFp183n/K1AUpdezJ7roiS\nklmGNQsRDHnHst06cuymPHgEGlxEVYkz3Lbsqkwl9MOKWw+ALHvwFybtq9ix\n0JATAzblzu5jvKqSLLyM2MzJ8jQ1Gw3WuDi4iww4nmB4k57n3nz05RkzEcBq\nd5SPgQnQgOLC4pPnp9sfeo12O1bIu7trRmuMTz/P1j22H4yzcVMF7yqa9oiJ\nzIVd9zb5L3OWwDmMsCWBzbtfgNN85o7NZNbpuZBIvELAObSGthAtKaCq+Q/g\npwNtzx7oPE6SmzoEuuXeVZkVNSC7r2vkGqbYPiayFeUsLDRnWdrXxLJIMgVs\nK3hX/KvjYYJQihUCPepv5AmE9RosdMX3vXCMJMDc7djrxq+L6ANpISxwOjt0\nSw+G4GUsljxqItJTmGKa/MtqaFm5a7Ynq9OQdP3bkHAYh42WP3lEEyCghGFZ\nUfaG\r\n=IPIX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDfLtAGeDTIistooMGXnZ39Mmn1YkF/qRjczQcihdmvlQIgWfNmGOK+c+8K4LPl/rzDGWOKJ/qkGIhg6u8NLJSJJ6E="}]},"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0-beta.48_1621842631617_0.3979594319682531"},"_hasShrinkwrap":false},"1.0.0-beta.49":{"name":"react-use-controller","version":"1.0.0-beta.49","description":"Easy to use state controllers using classes and hooks","author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/gabeklein/expressive-mvc.git"},"publishConfig":{"access":"public"},"keywords":["react","hooks"],"main":"lib/index.js","types":"types/index.d.ts","scripts":{"build":"rollup --config","watch":"rollup --config --sourcemap --watch","prebuild":"rm -rf lib/","publish:beta":"npm version prerelease --preid=beta","preversion":"jest","postversion":"npm run build; npm publish","postpublish":"git push; git push --tags; rm -rf lib","test":"jest --watchAll"},"peerDependencies":{"react":">=16.8.0"},"devDependencies":{"@rollup/plugin-commonjs":"^15.0.0","@rollup/plugin-typescript":"^5.0.2","@testing-library/react-hooks":"^3.4.1","@types/jest":"^26.0.10","@types/node":"^14.6.0","@types/react":"^16.9.46","jest":"^26.4.2","react":">=16.8.0","react-test-renderer":"^16.13.1","rollup":"^2.26.5","rollup-plugin-typescript2":"^0.27.2","ts-jest":"^26.5.5","tslib":"^2.0.1","typescript":"typescript@>=3.8 <5.0"},"gitHead":"d635342661ddd99b9ebf8d8585ce891088cb4a83","bugs":{"url":"https://github.com/gabeklein/expressive-mvc/issues"},"homepage":"https://github.com/gabeklein/expressive-mvc#readme","_id":"react-use-controller@1.0.0-beta.49","_nodeVersion":"12.17.0","_npmVersion":"7.0.10","dist":{"integrity":"sha512-A3ndcCDwcbzDoSlu6PghBir9gq5BsZBkHDL5T0BzNsM6BLqWEG2PpG0G200pNTtVjzGoInJYRxNH8//BqOfnpg==","shasum":"e24ce7b04e1160782cd899865f34b6893d3ee577","tarball":"https://registry.npmjs.org/react-use-controller/-/react-use-controller-1.0.0-beta.49.tgz","fileCount":10,"unpackedSize":103708,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgtzhNCRA9TVsSAnZWagAAD9gP/iPK0G2tl/oB+Mmt5idR\nLUhKB/FuymXso/0l3kqkfcEscpTpQKprbslK9ZHXIt5JL3AB9/LhnRW3qyYq\nKSds2jltJUrgZ6URUxZnU9/nD2xo3wWaJfqZ/JNklhxBdOjwNSQmFmOnFoaw\n9Z5+ZC08PKWmKpn6jfu1Zk1lnZDU9z+6ZIr8QjuLGHjkOqN1slx8Idc8tUwe\nqmrqK4R3PfnbLS7xLun8lhIi5mPLgpiSntrL9zBpeuqe5ZUvZpOu8ngVFPcq\nrWPL9IFcdsWlpN0zTvzwswqRYcl+eCYCtc8aZ8B51N/0lyiF+ld+I7ZW8To6\nZ0J3EvhPlIip7wrXXt23qxMSsaU61yZUbKUGh1AvEqoV57nRN60Cbq95isH8\nnviv6TU6D3VE2gunQpag2FDsdW4ImcK68FgxFoxKuv5gX1GmfLiBiXXXt2LL\nAJEunaR2aL8YbNA1ttXisfDNNk/59K1vfjlL979nhI5JLSx5kChEPSOcZEas\nGxgdWTX7Yq3r7wgOfhDhsHVbIEBKhOZnQg6QBAiVr6pZpbW6p0VwlWNugvAB\nJZabL0qsJcwLoRD/SbZQ3m1KnxRXbRtMtWePirUPxHVGoB8eMOcVtLyPO9pw\n8vR4sOh88t8xRVajfo2TibggOqsymL/C7hehVYG+byLaWosq8zA4PbwOS0H9\nGq4x\r\n=4gOa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBA0UYw3FKCkL5t6ThmuKfQxm6/AagASK3XESNKDAUDEAiB9RX72XWRuMdNDmxaz2lf0wNT0YhSE+9Ntd47cLimP3w=="}]},"_npmUser":{"name":"gabeklein","email":"gabe@termtm.com"},"directories":{},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-use-controller_1.0.0-beta.49_1622620237257_0.5061662906306712"},"_hasShrinkwrap":false}},"time":{"created":"2019-08-20T01:44:55.642Z","1.0.0-beta.1":"2019-08-20T01:44:56.047Z","modified":"2022-05-15T07:01:33.639Z","1.0.0-beta.2":"2019-08-22T18:53:45.016Z","1.0.0-beta.3":"2019-08-23T02:29:07.679Z","1.0.0-beta.4":"2019-09-17T03:32:54.050Z","1.0.0-beta.5":"2019-09-17T03:59:42.733Z","1.0.0-beta.6":"2019-09-17T19:02:37.119Z","1.0.0-beta.7":"2019-09-17T19:46:49.312Z","1.0.0-beta.8":"2019-09-18T00:04:36.032Z","1.0.0-beta.9":"2019-09-19T00:14:50.606Z","1.0.0-beta.10":"2019-09-19T00:46:27.255Z","1.0.0":"2019-09-19T04:46:20.197Z","1.1.0":"2019-10-01T00:11:13.487Z","1.2.0":"2019-10-04T17:52:03.516Z","1.3.0":"2019-10-22T04:48:51.336Z","1.3.1":"2019-10-27T19:16:06.010Z","2.0.0-beta.0":"2019-10-30T20:15:52.681Z","2.0.0":"2019-11-04T19:39:36.435Z","2.0.0-beta.1":"2019-11-06T05:53:20.492Z","3.0.0-0":"2019-12-25T06:53:38.048Z","2.0.0-beta.2":"2019-12-25T06:55:58.569Z","2.0.0-beta.3":"2020-01-05T11:49:28.376Z","2.0.0-beta.4":"2020-01-13T15:58:05.101Z","2.0.0-beta.5":"2020-01-25T22:55:51.893Z","2.0.0-beta.6":"2020-01-26T04:06:13.589Z","2.0.0-beta.7":"2020-01-26T20:38:49.019Z","2.0.0-beta.8":"2020-01-31T01:29:57.053Z","2.0.0-beta.9":"2020-01-31T11:58:45.626Z","2.0.0-beta.10":"2020-02-28T20:40:52.179Z","2.0.0-beta.11":"2020-03-02T04:50:04.582Z","2.0.0-beta.12":"2020-03-29T20:14:24.263Z","2.0.0-beta.13":"2020-04-05T05:19:36.576Z","2.0.0-beta.14":"2020-04-21T01:48:03.065Z","2.0.0-beta.15":"2020-04-24T17:43:26.506Z","2.0.0-beta.16":"2020-04-27T16:33:39.826Z","2.0.0-beta.17":"2020-04-30T12:58:29.888Z","2.0.0-beta.18":"2020-05-10T05:19:04.903Z","2.0.0-beta.19":"2020-05-15T15:07:23.388Z","2.0.0-beta.20":"2020-06-01T17:21:52.639Z","2.0.0-beta.21":"2020-06-01T18:35:19.682Z","2.0.0-beta.22":"2020-06-06T19:06:42.760Z","2.0.0-beta.23":"2020-06-15T14:34:36.250Z","2.0.0-beta.24":"2020-07-05T00:14:12.226Z","2.0.0-beta.25":"2020-07-06T08:29:22.356Z","2.0.0-beta.26":"2020-07-06T10:59:19.485Z","2.0.0-beta.27":"2020-07-10T15:19:04.114Z","2.0.0-beta.28":"2020-07-15T17:41:22.027Z","1.0.0-beta.29":"2020-11-13T05:08:33.010Z","1.0.0-beta.30":"2020-11-14T07:06:05.223Z","1.0.0-beta.31":"2020-11-16T18:29:43.163Z","1.0.0-beta.32":"2020-11-16T22:51:41.661Z","1.0.0-beta.33":"2020-12-03T06:35:11.210Z","1.0.0-beta.34":"2020-12-13T17:00:57.262Z","1.0.0-beta.35":"2020-12-13T23:37:15.211Z","1.0.0-beta.36":"2020-12-20T06:24:53.868Z","1.0.0-beta.37":"2020-12-22T21:02:32.560Z","1.0.0-beta.38":"2020-12-22T21:04:32.964Z","1.0.0-beta.39":"2020-12-27T17:16:12.175Z","1.0.0-beta.40":"2020-12-28T20:14:43.355Z","1.0.0-beta.41":"2021-01-04T05:42:29.982Z","1.0.0-beta.42":"2021-01-18T23:06:30.782Z","1.0.0-beta.43":"2021-01-26T09:09:17.613Z","1.0.0-beta.44":"2021-01-29T08:07:19.064Z","1.0.0-beta.45":"2021-05-02T19:56:45.863Z","1.0.0-beta.46":"2021-05-12T20:48:10.218Z","1.0.0-beta.47":"2021-05-24T07:37:16.710Z","1.0.0-beta.48":"2021-05-24T07:50:31.769Z","1.0.0-beta.49":"2021-06-02T07:50:37.378Z"},"maintainers":[{"name":"gabeklein","email":"gabe@termtm.com"}],"description":"Easy to use state controllers using classes and hooks","keywords":["react","hooks"],"repository":{"type":"git","url":"git+https://github.com/gabeklein/expressive-mvc.git"},"author":{"name":"Gabe Klein","email":"gabe@termtm.com","url":"https://github.com/gabeklein"},"license":"MIT","readme":"\n<h1 align=\"center\">\n  react-use-controller\n</h1>\n\n<h4 align=\"center\">\n  Accessible control for anywhere and everywhere in your (p)React apps\n</h4>\n \n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/react-use-controller\"><img alt=\"NPM\" src=\"https://badge.fury.io/js/react-use-controller.svg\"></a>\n  <a href=\"\"><img alt=\"Build\" src=\"https://shields-staging.herokuapp.com/npm/types/react-use-controller.svg\"></a>\n</p>\n<br/>\n\n<p align=\"center\">\n  With this, <code>use()</code> simple classes as <i>View-Controllers</i>\n  to power your UI. <br/>\n  Special hooks manage renders for you, as needed, for any data.<br/>\n  When properties update, your components will too.<br/>\n</p>\n\n<br/>\n\n### Contents \n\n<!-- Manual bullets because I don't like default <li> -->\n\n&emsp; •&nbsp; **[Overview](#overview-section)** <br/>\n&emsp; •&nbsp; **[Install and Import](#install-section)**\n\n### Getting Started \n  &ensp; •&nbsp; [The basics](#concept-simple) <br/>\n  &ensp; •&nbsp; [Destructuring](#concept-destruct) <br/>\n  &ensp; •&nbsp; [Methods](#concept-method) <br/>\n  &ensp; •&nbsp; [Getters](#concept-getters) <br/>\n  &ensp; •&nbsp; [Constructor](#concept-constructor) <br/>\n  &ensp; •&nbsp; [Applied Props](#method-uses) <br/>\n\n**Dynamics** <br/>\n  &ensp; •&nbsp; [Lifecycle](#concept-lifecycle) <br/>\n  &ensp; •&nbsp; [Events](#concept-events) <br/>\n  &ensp;&ensp;&ensp; ◦&nbsp; [Listening](#concept-listen-event) <br/>\n  &ensp;&ensp;&ensp; ◦&nbsp; [Dispatching](#concept-push-event) <br/>\n  &ensp; •&nbsp; [Monitored Externals](#method-using) <br/>\n  &ensp; •&nbsp; [Async and callbacks](#concept-async) <br/>\n\n**Sharing** <br/>\n  &ensp; •&nbsp; [Context](#concept-context) <br/>\n  &ensp;&ensp;&ensp; ◦&nbsp; [Provider](#concept-provider) <br/>\n  &ensp;&ensp;&ensp; ◦&nbsp; [MultiProvider](#concept-provider-multi) <br/>\n  &ensp; •&nbsp; [Singletons](#concept-singleton) <br/>\n\n**Accessing** <br/>\n  &ensp; •&nbsp; [Hooks](#concept-hooks) <br/>\n  &ensp;&ensp;&ensp; ◦&nbsp; [`get` (unbound)](#method-get) <br/>\n  &ensp;&ensp;&ensp; ◦&nbsp; [`tap` (one-way)](#method-tap) <br/>\n  &ensp;&ensp;&ensp; ◦&nbsp; [`sub` (two-way)](#method-sub) <br/>\n\n**Applied State** <br/>\n  &ensp; •&nbsp; [Managed Elements](#concept-managed) <br/>\n  &ensp;&ensp;&ensp; ◦&nbsp; [`Value`](#component-value) <br/>\n  &ensp;&ensp;&ensp; ◦&nbsp; [`Input`](#component-input) <br/>\n  \n**Structuring** <br/>\n  &ensp; •&nbsp; [Applied Typescript](#concept-typescript) <br/>\n  &ensp; •&nbsp; [Simple Composition](#concept-compose) <br/>\n  &ensp; •&nbsp; [Child Controllers](#concept-children) <br/>\n  &ensp; •&nbsp; [Peer Controllers](#concept-peers) <br/>\n\n**Extension** <br/>\n  &ensp; •&nbsp; [Super-Controllers](#concept-super) <br/>\n  &ensp; •&nbsp; [Using Meta](#concept-meta) <br/>\n\n### API\n  &ensp; •&nbsp; [Controller](#api-controller) <br/>\n  &ensp; •&nbsp; [Singleton](#api-singleton) <br/>\n  &ensp; •&nbsp; [Patterns](#api-patterns) <br/>\n  &ensp; •&nbsp; [Reserved](#api-reserved) <br/>\n  &ensp; •&nbsp; [Lifecycle](#api-lifecycle) <br/>\n\n### Internal Concepts\n  &ensp; •&nbsp; [Subscriptions](#concept-lazy) <br/>\n  &ensp; •&nbsp; [Auto Debounce](#concept-debounce) <br/>\n\n<br/>\n\n<h2 id=\"overview-section\">Overview</h2>\n\nWith react-use-controller, you can create and use javascript classes as controllers (via hooks) within any, or many, React components. \n\nWhen built-in methods on a `Controller` class are used, an instance is either found or created, specially for the mounted component *(your View)*. By noting what's used at render, the hook *(a Controller)* can keep values up-to-date, following properties defined by your class *(the Model)*.\n\nThis behavior combines with actions, computed properties, events, and the component itself allowing for a [(real this time)](https://stackoverflow.com/a/10596138) **M**odel-**V**iew-**C**ontroller development pattern.\n\n<br/>\n\n<h2 id=\"install-section\">Installation</h2>\n\nInstall with your preferred package manager\n```bash\nnpm install --save react-use-controller\n```\n\nImport and use in your react ([or preact!](https://preactjs.com)) apps.\n\n```js\nimport VC from \"react-use-controller\";\n```\n\n> **Note:** `VC` here is short for (View) `Controller`, which is the default export.\n\n<br/>\n\n<h1 id=\"started-section\">Getting Started</h1>\n\nThe basic workflow is pretty simple. If you know [MobX](https://mobx.js.org/README.html) this will look pretty familiar, but also *a lot* more straight-forward.\n\n1. Create a class and fill it with the values, getters, and methods you'll need.\n2. Extend `Controller` (or any derivative, for that matter) to make it \"observable\".\n3. Within a component, call one of the built-in methods, as you would any [React hook](https://reactjs.org/docs/hooks-intro.html).\n4. Destructure out values, in a component, for controller to detect and subscribe to.\n5. Update those values on demand. Your component will keep sync automagically. ✨\n<br/><br/>\n\n### Some Definitions\n\n> The following is a guided crash-course to help get you up to speed (hopefully) pretty quick.<br/>\nHere are some library-specific terms which will be good to know.\n\n<details>\n  <summary><ins>Tutorial Glossary</ins></summary><br/>\n\n  - **`VC`**: Alias for `Controller`, the core class powering most of react-use-controller.\n  - **Model**: Any class you'll write extending `VC`; the definition for a type of controller.\n  - **State**: An instance of your model, usable to a live component.\n  - **Controller**: The logic (inherited from `VC`) in an instance of state, managing its behavior.\n  - **View**: A defined function-component which may be mounted and can accept hooks.\n  - **Element**: Invocation of a component/view, actively mounted with a state and lifecycle.\n  - **Subscription**: An open channel to use-controller's communication engine, managing events.\n  \n</details>\n<br/>\n\n<h2 id=\"concept-simple\">Simplest use-case</h2>\n\nLet's make a stateful counter.\n\n```jsx\nimport VC from \"react-use-controller\";\n\nclass Counter extends VC {\n  number = 1\n}\n```\n```jsx\nconst KitchenCounter = () => {\n  const state = Counter.use();\n\n  return (\n    <div>\n      <span\n        onClick={() => state.number -= 1}>\n        {\"−\"}\n      </span>\n      <pre>{ state.number }</pre>\n      <span \n        onClick={() => state.number += 1}>\n        {\"+\"}\n      </span>\n    </div>\n  )\n}\n```\n<a href=\"https://codesandbox.io/s/deep-state-simple-e3xcf\"><sup>View in CodeSandbox</sup></a>\n\nMake a class with properties we wish track. Values defined in the constructor (or as class properties) serve as initial/default state. \n \nAttached to your class is the static method `use`. This is a hook; it will create a new instance of your state and bind it to a component.\n\nNow, as values on this instance change, our hook will trigger new renders! You may recognize this as \"one-way binding\".\n\n<br/>\n\n<h2 id=\"concept-destruct\">Destructuring</h2>\n\nBecause of how [subscriptions](#concept-subscription) work, a good idea is to destructure values intended for the component. To cover normal pitfalls, you'll see a **`set`** and **`get`** added to the returned state.\n\n> Not to be confused with the keywords. Just properties, they are both a circular reference to state.\n\n### `set`\n\nThe usual downside to destructuring is you can't use it for assignments. To solve this, we have `set` for updating values on the full state.\n\n```jsx\nconst KitchenCounter = () => {\n  const { number, set } = Counter.use();\n\n  return (\n    <div>\n      <span\n        onClick={() => set.number -= 1}>\n        {\"−\"}\n      </span>\n      <pre>{ number }</pre>\n      <span \n        onClick={() => set.number += 1}>\n        {\"+\"}\n      </span>\n    </div>\n  )\n}\n```\n<!-- <sup><a href=\"https://codesandbox.io/s/example-event-vsmib\">View in CodeSandbox</a></sup> -->\n\n> `set.number` See what we did there? 🤔\n\n### `get`\n\nGood for bracket-notation (i.e. `get[\"property\"]`), and avoiding clutter where necessary. \n\nAlso, the main way to ignore updates. <br/>\n\nUsually, when you read an observable value directly, a controller will assume you want to refresh anytime that property changes. In a lot of situations, this isn't the case, and so `get` serves as a bypass.\n\nUse this when using values from inside a closure, such as callbacks and event-handlers.\n\n<br/>\n\n<h2 id=\"concept-method\">Adding methods</h2>\n\nWhat's a controller without some methods? Let's add some *actions* [(similar to that of MobX)](https://mobx.js.org/refguide/action.html) to easily abstract changes to our state.\n\n```jsx\nclass CountControl extends VC {\n  number = 1\n\n  // Note that we're using arrow functions here.\n  // We'll need a bound `this`.\n  increment = () => { this.number++ };\n  decrement = () => { this.number-- };\n}\n```\n\n\n> You may notice this approach is also more efficient. These handlers won't make new closures every time we render now. 😬\n\n```jsx\nconst KitchenCounter = () => {\n  const { number, decrement, increment } = CountControl.use();\n\n  return (\n    <Row>\n      <Button onClick={decrement}>{\"-\"}</Button>\n      <Box>{number}</Box>\n      <Button onClick={increment}>{\"+\"}</Button>\n    </Row>\n  )\n}\n```\n<!-- <sup><a href=\"https://codesandbox.io/s/example-actions-1dyxg\">View in CodeSandbox</a></sup> -->\n\nWith this you can write even the most complex components, all while maintaining key benefits of a functional-component, being much easier on the eyeballs.\n\n<br/>\n\n<h2 id=\"concept-getters\">What about getters?</h2>\n\nDeep-state does have a strong equivalent to *computed* properties [(ala MobX again)](https://mobx.js.org/refguide/computed-decorator.html).\n\nSimply define the getters you need and they will be automatically managed by the controller. Computed when first accessed, they will be actively kept in-sync thereafter.\n\nThrough the same mechanism as hooks, getters know when properties they access are updated. Whenever that happens, they rerun. If a new value is returned, it will be passed forward to own listeners.\n\n```ts\nconst round = Math.floor;\n\nclass Timer extends VC {\n  seconds = 0;\n \n  constructor(){\n    super();\n    setInterval(() => this.seconds++, 1000);\n  }\n\n  get minutes(){\n    return round(this.seconds / 60);\n  }\n\n  get hours(){\n    // getters can also subscribe to other getters 🤙\n    return round(this.minutes / 60);\n  }\n\n  get format(){\n    const { seconds } = this;\n    const hr = round(seconds / 3600);\n    const min = round(seconds / 60) % 60;\n    const sec = seconds % 60;\n\n    return `${hr}:${min}:${sec}`;\n  }\n}\n```\n\n<br/>\n\n> **Important Caveat:** Controller getters are cached, facing the user. They will only run when a dependency changes, and **not** upon access (besides initially) as you might except.\n\nGetters run whenever the controller thinks they *could* change, so design them with three guiding principles:\n- Getters should be *deterministic*. Only expect a change where inputs have changed.\n- Avoid computing from values which change a lot, but don't affect output as often.\n- [GWS](https://www.youtube.com/watch?v=0i0IlSKn0sE \"Goes Without Saying\") but, **side-effects are a major anti-pattern**, and could cause infinite loops.\n\n<br/>\n\n<h2 id=\"concept-constructor\">Custom arguments</h2>\n\nThe method `use(...)`, as it creates the control instance, will pass its own arguments to the class's constructor. This makes it easy to customize the initial state of a component.\n\n> Typescript \n```ts\nclass Greetings extends VC {\n  firstName: string;\n \n  constructor(name: string){\n    super();\n\n    this.firstName = name.split(\" \")[0];\n  }\n}\n```\n```jsx\nconst MyComponent = ({ name }) => {\n  const { firstName } = Greetings.use(name);\n\n  return <b>Hello {firstName}!</b>;\n}\n```\n<!-- <sup><a href=\"https://codesandbox.io/s/example-constructor-params-22lqu\">View in CodeSandbox</a></sup> -->\n\n<br/>\n\n<h2 id=\"concept-passing-props\">Passing props to your controller</h2>\n\nBesides `use`, there are similar methods able to assign props after a controller is created. This is a great alternative to manually distributing values, as we did in the example above.\n\n<h3 id=\"method-uses\"><code>.uses({ ... }, greedy?)</code></h3>\n\nAfter constructing state, something similar to `Object.assign(this, input)` is run. However based on value of `greedy`, this will have one of three biases.\n\n- Default: greedy is **undefined**\n  - only properties already `in` state (as explicitly `undefined` or some default value) will be captured \n- If greedy is **true**\n  - all properties of `input` will be added, and made observable if not already.\n- If greedy is **false**\n  - only properties explicitly `undefined` on state (just after construction) will be overridden.\n\n\n\n```js\nclass Greetings extends VC {\n  name = undefined;\n  birthday = undefined;\n\n  get firstName(){\n    return this.name.split(\" \")[0];\n  }\n\n  get isBirthday(){\n    const td = new Date();\n    const bd = new Date(this.birthday);\n\n    return (\n      td.getMonth() === bd.getMonth() &&\n      td.getDate() === bd.getDate()\n    )\n  }\n}\n```\n\n```jsx\nconst HappyBirthday = (props) => {\n  const { firstName, isBirthday } = Greetings.uses(props);\n\n  return (\n    <big>\n      <span>Hi {firstName}<\\span>\n      {isBirthday &&\n        <b> happy birthday!</b>\n      }!\n    </big>\n  );\n}\n```\n\n```jsx\nconst SayHello = () => (\n  <HappyBirthday\n    name=\"John Doe\"\n    birthday=\"September 19\"\n  />\n)\n```\n\n<!-- <sup><a href=\"https://codesandbox.io/s/example-constructor-params-22lqu\">View in CodeSandbox</a></sup> -->\n\n<br/>\n\n### ✅ Level 1 Clear!\n> In this chapter we learned the basics of how to create and utilize a custom state. For most people, who simply want smart components, this could even be enough! However, we can make our controllers into much more than just some fancy hooks.\n\n<br/>\n\n<h1 id=\"managing-section\">Managing a dynamic state</h1>\n\nSo far, all of our example controllers have been passive. Here we'll give our controller a bigger roll, by pushing updates without direct user interaction.\n\nBecause state is just a class-instance, we can do whatever we want to values, and more-crucially, whenever. This makes asynchronous coding pretty low maintenance. We handle the logic of what we want and `Controller` will handle the rest.\n\nHere are a few concrete ways though, to smarten up your controllers:<br/><br/>\n\n\n<h2 id=\"concept-lifecycle\">Lifecycle</h2>\n\nDeep-state hooks can automatically call a number of \"special methods\" you'll define on your model, to handle certain \"events\" within components.\n\n```jsx\nclass TimerControl extends VC {\n  elapsed = 1;\n\n  componentDidMount(){\n    this.timer = \n      setInterval(() => this.elapsed++, 1000)\n  }\n\n  /** remember to cleanup ♻ */\n  componentWillUnmount(){\n    clearInterval(this.timer);\n  }\n}\n```\n> De ja vu... could swear that looks awfully familiar... 🤔\n```jsx\nconst MyTimer = () => {\n  const { elapsed } = TimerControl.use();\n\n  return <pre>{ elapsed } seconds sofar</pre>;\n}\n```\n\nYou can see all the available lifecycle methods **[here](#lifecycle-api)**.\n\n<!-- <sup><a href=\"https://codesandbox.io/s/example-counter-8cmd3\">View in CodeSandbox</a></sup> -->\n\n<br />\n\n<h2 id=\"concept-events\">Events Handling</h2>\n\nBeyond watching for state-change, what a subscriber really cares about is events. *Updates are just a cause for an event.* Whenever a property on your state gains a new value, subscribers simply are notified and act accordingly.\n\nWhile usually it'll be a controller waiting to refresh a component, anything can subscribe to an event via callbacks. If this event *is* caused by a property update, its new value will serve as an `argument`; if synthetic, that will be up to the dispatcher.\n<br /><br />\n\n<h3 id=\"concept-listen-event\">Listening for events</h3>\n\n> Assumes the following callback\n\n```js\nconst callback = (value, name) => {\n  console.log(`${name} was updated with ${value}!`)\n}\n```\n\nInstances of `Controller` have the following methods added in for event handling:\n\n#### `.on(name, callback) => onDone`\n\nThis will register a new listener on a given key. `callback` will be fired when the managed-property `name` is updated, or when a synthetic event is sent.\n\nThe method also returns a callback, by which you can stop subscribing. \n\n> **Note:**  you will not need to cleanup events at `willDestroy` or `componentWillUnmount`, as listeners will be stopped naturally.\n\n#### `.once(name, callback) => onCancel`\n\nSame as `on`, however will delete itself after being invoked. You can cancel it with the returned callback.\n\n#### `.once(name) => Promise<value>`\n\nIf `callback` is not provided, `once` will return a Promise instead, which resolves the next value (or argument) `name` receives.\n\n#### `.watch(arrayOfNames, callback, once?) => onDone`\n\nA more versatile method used to monitor one or multiple keys with the same callback.\n<br /><br />\n\n<h3 id=\"concept-builtin-event\">Listening for built-in events</h3>\n\nControllers will also dispatch lifecycle events for themselves and that of their bound components.\n\nAll events share names with their respective methods, [listed here](#lifecycle-api).\n<br /><br />\n\n<h3 id=\"concept-push-event\">Pushing your own events</h3>\n\n#### `.update(name, argument?)`\n\nFires a synthetic event; it will be sent to all listeners of `name`, be them subscribed controllers or one of the listeners above.\n\nThis can have slightly different behavior, depending on the occupied-status of a given key.\n\n- no property exists: \n  * Explicit subscribers will receive the event; controllers cannot.\n- Property exists:\n  - **no argument:** Subscribers will force-refresh, listeners will get current value.\n  - **has argument:** Property will be overwritten, listeners get new value.\n- property is a getter:\n  - **no argument:** Getter will force-compute, listeners get output regardless if new.\n  - **has argument:** Cache will be overwritten (compute skipped), listeners get said value.\n\n\nEvents make it easier to design around closures, keeping as few things on your model as possible. Event methods can also be used externally, for other code to interact with as well.\n<br /><br />\n\n### Event handling in-practice:\n\n```js\nclass Counter extends VC {\n  seconds = 0;\n\n  alertMinutes = (minutes) => {\n    alert(`${minutes} minutes have gone by!`)\n  }\n\n  tickTock = (seconds) => {\n    if(seconds % 2 == 1)\n      console.log(\"tick\")\n    else\n      console.log(\"tock\")\n\n    if(seconds % 60 === 0){\n      // send minute event (with optional argument)\n      this.update(\"isMinute\", Math.floor(seconds / 60));\n    }\n  }\n\n  componentDidMount(){\n    const timer = setInterval(() => this.seconds++, 1000);\n    const timerDone = () => clearInterval(timer);\n\n    // run callback every time 'seconds' changes\n    this.on(\"seconds\", this.tickTock);\n\n    // run callback when minute event is sent out\n    this.on(\"isMinute\", this.alertMinutes);\n\n    // run callback when unmount is sent by controller\n    // using events, we avoid needing another method, for just this\n    this.once(\"componentWillUnmount\", timerDone);\n  }\n}\n```\n\n<br />\n\n<h2 id=\"concept-async\">Monitoring external values</h2>\n\nSometimes, you may want to detect changes in some outside-info, usually props. Watching values outside a controller does require you integrate them, as part of your state; however we do have a handy helper for this.\n\n<h3 id=\"method-using\"><code>.using({ ... }, greedy?)</code></h3>\n\n> If you remember [`uses`](#concept-passing-props), this is somewhat equivalent.\n\nThis method helps integrate outside values by repeatedly assigning `input` properties **every render**. Because the observer will only react to *new* values, this makes for a fairly clean way to watch props. We can combine this with getters and event-listeners, to do all sorts of things when inputs change.\n\nLike `uses`, this method is naturally picky and will only capture values which exist on our state at launch. We do have a `greedy` flag though, which works [the same](#concept-passing-props).\n\n<br />\n\n```ts\nclass ActivityTracker {\n  active = undefined;\n\n  get status(){\n    return this.active ? \"active\" : \"inactive\";\n  }\n\n  componentDidMount(){\n    this.on(\"active\", (yes) => {\n      if(yes)\n        alert(\"Tracker prop became active!\")\n    })\n  }\n}\n```\n```jsx\nconst DetectActivity = (props) => {\n  const { status } = ActivityTracker.using(props);\n\n  return (\n    <big>\n      This element is currently {status}.\n    </big>\n  );\n}\n```\n\n```jsx\nconst Activate = () => {\n  const [isActive, setActive] = useState(false);\n\n  return (\n    <div onClick={() => setActive(!isActive)}>\n      <DetectActivity active={isActive} />\n    </div>\n  )\n}\n```\n> Like this, we can freely interact different sources of state.\n\n<br />\n\n<h2 id=\"concept-async\">Working with async and callbacks</h2>\n\nBecause dispatch is taken care of, all we need to do is edit values. This makes the asynchronous stuff like timeouts, promises, and fetching a piece of cake.\n\n```ts\nclass StickySituation extends VC {\n  remaining = 60;\n  agent = \"Bond\";\n\n  componentDidMount(){\n    const timer = \n      setInterval(this.tickTock, 1000);\n\n    // here's how-to use watch!\n    this.watch(\n      [\"stop\", \"componentWillUnmount\"],\n      () => clearInterval(timer)\n    );\n  }\n\n  tickTock = () => {\n    const timeLeft = --this.remaining;\n    if(timeLeft === 0)\n      this.update(\"stop\");\n  }\n\n  getSomebodyElse = async () => {\n    const res = await fetch(\"https://randomuser.me/api/\");\n    const data = await res.json();\n    const [ recruit ] = data.results;\n\n    this.agent = recruit.name.last;\n  }\n}\n```\n\n```jsx\nconst ActionSequence = () => {\n  const {\n    getSomebodyElse,\n    remaining,\n    agent\n  } = StickySituation.use();\n\n  if(remaining === 0)\n    return <h1>{\"🙀💥\"}</h1>\n\n  return (\n    <div>\n      <div>\n        <b>Agent {agent}</b>, we need you to diffuse the bomb!\n      </div>\n      <div>\n        If you can't diffuse it in {remaining} seconds, \n        Schrodinger's cat may or may not die!\n      </div>\n      <div>\n        But there is time! \n        <u onClick={getSomebodyElse}>Tap another agent</u> \n        if you think they can do it.\n      </div>\n    </div>\n  )\n}\n```\n<!-- <sup><a href=\"https://codesandbox.io/s/example-async-effbq\">View in CodeSandbox</a></sup> -->\n\n<br/>\n\n### 👾 Level 2 Clear!\n\n\n> Sidebar, notice how our component remains completely independent from the logic sofar; it's a pretty big deal. \n>\n> If we want to modify or even duplicate our `ActionSequence`, says in a different language or with a new aesthetic, we don't need to copy, or even edit, any of these actual behaviors. 🤯\n\n<br/>\n\n<h1 id=\"sharing-section\">Sharing state</h1>\n\nOne of the most important features of use-controller is an ability to share state with any number of subscribers, be them components or peer-controllers. Whether you want state from up-stream or to be usable app-wide, you can with a number of simple abstractions.\n\nIn this chapter we will cover how to create and cast state for use by components and peers. It's in the [next chapter](#access-section) though, where we'll see how to access them.\n\n<br/>\n\n<h2 id=\"managing-section\">Sharing with Context</h2>\n\nBy default, a `Controller` is biased towards context as it's sharing mechanism. You probably guessed this, but through a managed [React Context](https://frontarm.com/james-k-nelson/usecontext-react-hook/) can we create and consume a single state throughout a component hierarchy.\n\nLet's go over the ways to create a controller and insert it into context, for more than one component. There is nothing you need to do on the model to make this work.\n\n```ts\nexport class Central extends VC {\n  foo = 0;\n  bar = 0;\n\n  fooUp = () => this.foo++;\n};\n```\n\n> We start with a sample controller class, nothing too special. We'll be reusing it for the following examples.\n\n<!-- <sup><a href=\"https://codesandbox.io/s/example-multiple-accessors-79j0m\">View in CodeSandbox</a></sup>  -->\n\n<br/>\n\n<h3 id=\"managing-section\"><code>Provider</code> (instance property)</h3>\n\nAnother reserved property on a controller instance is `Property`. Within a component, this will be visible. Wrap this around elements returned by your component, to declare your instance of state for down-stream.\n\n```jsx\nexport const App = () => {\n  const { Provider } = Control.use();\n\n  return (\n    <Provider>\n      <InnerFoo/>\n      <InnerBar/>\n    </Provider>\n  )\n}\n```\n\n<h3 id=\"managing-section\"><code>Provider</code> (class property)</h3>\n\nWe'll assume you don't need special construction, or any of the values within parent component. <br/> With the `Provider` class-property, you can create both new a state and its context provider in one sitting.\n```jsx\nexport const App = () => {\n  return (\n    <Control.Provider>\n      <InnerFoo/>\n      <InnerBar/>\n    </Control.Provider>\n  )\n}\n```\n\n<!-- <h3 id=\"managing-section\"><code>MultiProvider</code></h3> -->\n\n<br/>\n\n<h2 id=\"managing-section\">Global Controllers</h2>\n\nWhile context is recommended ensure reusability, very often we'll want to assign just one controller to a particular domain. Think concepts like Login, Settings, and interacting with outside APIs.\n\nHere we introduce a new class of controller called a `Singleton` (or `GC` for short). With it we can create shared state without caring about hierarchy! Access hooks work exactly the same as their `Controller` counterparts, except under the hood they use a single promoted instance.\n\n### Creating a Global Instance\n\nSingletons will not be useable until state is initialized in one of three ways.\n\n> Consider the following model\n\n```js\nimport { GC } from \"react-use-controller\";\n\nclass Login extends GC {\n  thinking = false;\n  loggedIn = false;\n  userName = undefined;\n  allowances = [];\n\n  /** try to recall a session from cookies. */\n  async tryResume(){\n    this.thinking = true;\n\n    if(true){\n      this.loggedIn = true;\n      userName = \"John Doe\";\n      allowances = [\"admin\"];\n    }\n    this.thinking =  false;\n  }\n}\n```\n\n> **Note**: Example makes use of `state.assign({})` which is [defined here](api-assign).\n\n<br/>\n\nWe can make this class available in the following ways.\n\n- Use a `.create()` method built-in to `Singleton`. This can be done anywhere as long as it's before a dependant (component or peer) tries to access from it.\n  ```js\n  window.addEventListener(\"load\", () => {\n    const userLogin = Login.create();\n    // Login singleton now exists and is usable anywhere.\n    userLogin.tryResume();\n    // Good time to fire off a background task or two.\n\n    ReactDOM.render(<App />, document.getElementById(\"root\"));\n  });\n  ```\n\n- Create an instance with any one of our normal `use` methods.\n\n  ```jsx\n  const LoginPrompt = () => {\n    const { loggedIn, get } = Login.use();\n\n    return loggedIn\n      ? <LoginPrompt onClick={() => get.tryResume()} />\n      : <Welcome name={get.userName} />\n  }\n  ```\n  > Login instance will be freely accessible after `use()` invokes. <br/> \n  > Note that instance **will become unavailable** if `LoginPrompt` does unmount. <br/>\n  > Likewise, if `LoginPrompt` mounts *again*, any newly rendered dependents get the latest instance.\n\n- Mount its Provider\n  ```jsx\n  export const App = () => {\n    return (\n      <Login.Provider>\n        <UserInterface />\n      </Login.Provider>\n    )\n  }\n  ```\n  > This has no bearing on context, it will simply be \"provided\" to everyone!\n\n<br/>\n\n<h1 id=\"access-section\">Accessing shared state</h1>\n\nLet's recall our example controller we defined up above.\n\n```ts\nexport class Central extends VC {\n  foo = 0;\n  bar = 0;\n\n  fooUp = () => this.foo++;\n};\n```\n\nWhether our model is that of a Controller or Singleton will not matter for this exercise. <br/>\nThey both present the same, to you the user!\n<br/><br/>\n\n<h2 id=\"managing-section\">Via Hooks</h2>\n<!-- <h3 id=\"managing-section\"><code>get()</code></h3> -->\n\n<h3 id=\"managing-section\"><code>tap()</code></h3>\n\n> With the method `.tap`, rather than making a new `Central` controller, will obtain the nearest one\n```jsx\nconst InnerFoo = () => {\n  const { fooUp, bar } = Central.tap();\n\n  return (\n    <div onClick={fooUp}>\n      <pre>Foo</pre>\n      <small>Bar was clicked {bar} times!</small>\n    </div>\n  )\n}\n```\n> **Remember:** Controller knows this component needs to update only when foo changes. Lazy subscription ensures only the properties accessed here are refreshed here!\n```jsx\nconst InnerBar = () => {\n  const { set, foo } = Central.tap();\n\n  return (\n    <div onClick={() => set.bar++}>\n      <pre>Bar</pre> \n      <small>Foo was clicked {foo} times!</small>\n    </div>\n  )\n}\n```\n\n<!-- <h3 id=\"managing-section\"><code>sub()</code></h3>\n\n<h2 id=\"managing-section\">Peer Controllers</h2>\n\n\n<br/>\n\n<h2 id=\"managing-section\">Managed Elements</h2>\n<h3 id=\"managing-section\"><code>&lt;Value/&gt;</code></h3>\n<h3 id=\"managing-section\"><code>&lt;Input/&gt;</code></h3> -->\n\n<br/>\n\n<h1 id=\"managing-section\">Structuring your state</h1>\n\nAnother core purpose of use-controller, and using classes, is to \"dumb down\" the state you are writing. Ideally we want controllers to be really good at **one** thing, and be able to cooperate with other controllers as an ecosystem.\n\n> **This** is how we'll build better performing, easier to-work-with applications, even with the most complex of behavior.\n\nHere we'll go over, in broad strokes, some of the ways to structure state harmoniously.\n\n<br/>\n\n<h2 id=\"concept-typescript\">Controllers & Typescript</h2>\n\nRemember to code responsibly. This goes without saying, but typescript is your friend. With controllers you can enjoy full type safety and inference, even within components themselves.\n\n> Typescript\n\n```ts\nimport Controller from \"react-use-controller\";\n\nclass FunActivity extends VC {\n  /** Interval identifier for cleaning up */\n  interval: number;\n\n  /** Number of seconds that have passed */\n  secondsSofar: number;\n\n  constructor(alreadyMinutes: number = 0){\n    super();\n\n    this.secondsSofar = alreadyMinutes * 60;\n    this.interval = setInterval(() => this.secondsSofar++, 1000)\n  }\n\n  /** JSDocs too can help provide description beyond simple \n   * autocomplete, making it easier reduce, reuse and repurpose. */\n  willUnmount(){\n    clearInterval(this.interval)\n  }\n}\n```\n\n```jsx\nconst PaintDrying = ({ alreadyMinutes }) => {\n  /* Your IDE will know `alreadyMinutes` is supposed to be a number */\n  const { secondsSofar } = FunActivity.use(alreadyMinutes);\n\n  return (\n    <div>\n      I've been staring for like, { secondsSofar } seconds now, \n      and I'm starting to see what this is all about! 👀\n    </div>\n  )\n}\n```\n<!-- <sup><a href=\"https://codesandbox.io/s/example-typescript-n21uj\">View in CodeSandbox</a></sup> -->\n\n<br/>\n\n<h2 id=\"concept-compose\">Simple composition <small>(and separation of concerns)</small></h2>\n\nThere is nothing preventing you from use more than one controller in a component! Take advantage of this to create smaller, cooperating state, rather than big, monolithic state.\n\n```js\n  class PingController extends VC {\n    value = 1\n  }\n  \n  class PongController extends VC {\n    value = 2\n  }\n\n  const ControllerAgnostic = () => {\n    const ping = PingController.use();\n    const pong = PongController.use();\n\n    return (\n      <div>\n        <div\n          onClick={() => { ping.value += pong.value }}>\n          Ping's value is ${ping.value}, click me to add in pong!\n        </div>\n        <div\n          onClick={() => { pong.value += pong.value }}>\n          Pong's value is ${pong.value}, click me to add in ping!\n        </div>\n      </div>\n    )\n  }\n```\n<!-- <sup><a href=\"https://codesandbox.io/s/example-simple-compose-dew5p\">View in CodeSandbox</a></sup> -->\n\n\n<!-- <h2 id=\"managing-section\">Child Controllers</h2> -->\n\n<br/>\n\n<!-- <h1 id=\"sharing-section\">Extending state</h1>\n\n<h2 id=\"managing-section\">Super Controllers</h2>\n<h2 id=\"managing-section\">Using Meta</h2>\n\n<br/> -->\n\n<h1>Concepts</h1>\n\n\n<h2 id=\"concept-lazy\">Subscription based \"lazy\" updating</h2>\n\nControllers use a subscription model to decide when to render, and will **only** refresh for values which are actually used. They do this by watching property access *on the first render*, within a component they hook up to.\n\nThat said, while hooks can't actually read your function-component, destructuring is a good way to get consistent behavior. Where a property *is not* accessed on initial render render (inside a conditional or ternary), it could fail to update as expected.\n\nDestructuring pulls out properties no matter what, and so prevents this problem. You'll also find also reads a lot better, and promotes better habits.\n\n<br/>\n\n```jsx\nclass FooBar {\n  foo = \"bar\"\n  bar = \"foo\"\n}\n\nconst LazyComponent = () => {\n  const { set, foo } = use(FooBar);\n\n  return (\n    <h1 \n      onClick={() => set.bar = \"baz\" }>\n      Foo is {foo} but click here to update bar!\n    </h1>\n  )\n}\n```\n\n\n> Here `LazyComponent` will not update when `bar` does change, because it only accessed `foo` here. \n<!-- <sup><a href=\"https://codesandbox.io/s/example-explict-watch-zyo5v\">View in CodeSandbox</a></sup> -->\n\n\n<!-- ### Explicit subscription\n\nThere are also a number of helper methods you can call to specify which properties you wish to watch. <br/>\nCheck them out in [Subscription API](#subscription-api) section. -->\n\n<br/>\n\n<h2 id=\"concept-debounce\">Automatic debouncing</h2>\n\nRest assured. Changes made synchronously are batched as a single new render.\n\n```jsx\nclass ZeroStakesGame extends VC {\n  foo = \"bar\"\n  bar = \"baz\"\n  baz = \"foo\"\n\n  shuffle = () => {\n    this.foo = \"???\"\n    this.bar = \"foo\"\n    this.baz = \"bar\"\n\n    setTimeout(() => {\n      this.foo = \"baz\"\n    }, 1000)\n  }\n}\n```\n```jsx\nconst MusicalChairs = () => {\n  const { foo, bar, baz, shuffle } = ZeroStakesGame.use();\n\n  return (\n    <div>\n      <span>Foo is {foo}'s chair!</span>\n      <span>Bar is {bar}'s chair!</span>\n      <span>Baz is {baz}'s chair!</span>\n\n      <div onClick={shuffle}>🎶🥁🎶🎷🎶</div>\n    </div>\n  )\n}\n```\n<!-- <sup><a href=\"https://codesandbox.io/s/example-debouncing-sn1mq\">View in CodeSandbox</a></sup> -->\n\n> Even though we're ultimately making four updates, `use()` only needs to re-render twice. It does so once for everybody (being on the same [event-loop](https://blog.sessionstack.com/how-javascript-works-event-loop-and-the-rise-of-async-programming-5-ways-to-better-coding-with-2f077c4438b5)), resets when finished, and again wakes for `foo` when it decides settle in.\n\n<br/>\n<br/>\n\n<h1>API</h1>\n<br/>\n\n<h2 id=\"controller-api\">Controller</h2>\n\nSet behavior for certain properties on classes extending `Controller`.\n\nWhile standard practice is for `use` to take all methods (and bind them), all properties (and watch them), there are special circumstances to be aware of. <br /><br />\n\n<h2 id=\"singleton-api\">Singleton</h2>\n\nSet behavior for certain properties on classes extending `Controller`.\n\nWhile standard practice is for `use` to take all methods (and bind them), all properties (and watch them), there are special circumstances to be aware of. <br /><br />\n\n\n\n<h2 id=\"pattern-api\">Pattern</h2>\n\n#### `Arrays`\n- if a property is an array, it will be forwarded to your components as a special `ReactiveArray` which can also trigger renders on mutate.\n\n#### `isProperty`\n- Properties matching `/is([A-Z]\\w+)/` and whose value is a boolean will get a corresponding action `toggle$1`.\n\n\n#### `_anything`\n- if a key starts with an underscore it will not trigger a refresh when overwritten (or carry any overhead to do so). No special conversions will happen. It's a shorthand for \"private\" keys which don't interact with the component.\n\n#### `Anything defined post-constructor`\n- important to notice that `use()` can only detect properties which exist (and are enumerable) at time of creation. If you create them after, they're also ignored.\n\n<br />\n\n<h2 id=\"reserved-api\">Reserved</h2>\n\n#### `set` / `get`\n- Not to be confused with setters / getters.\n- `state.set` returns a circular reference to `state`\n- this is useful to access your state object while destructuring\n\n#### `export<T>(this: T): { [P in keyof T]: T[P] }`\n- takes a snapshot of live state you can pass along, without unintended side effects.\n- this will only output the values which were enumerable in the source object.\n\n#### `add(key: string, value?: any): boolean`\n- adds a new tracked value to the live-state. \n- this will return `true` if adding the key succeeded, `false` if did not (because it exists).\n- setting value is optional, if absent, `key` simply begins watching.\n> Not really recommended after initializing, but could come in handy in a pinch.\n\n<br />\n\n<h2 id=\"lifecycle-api\">Lifecycle</h2>\n\n#### `didMount(): void`\n- `use()` will call this while internally running `useEffect(fn, [])` for itself.\n\n#### `willUnmount(): void`\n- `use()` will call this before starting to clean up.\n\n#### `didHook(): void`\n- Called every render. A way to pipe data in from other hooks.\n\n#### `willHook(): void`\n- Called every render. However `this` references actual state only on first render, otherwise is a dummy. <br/>\n  Useful for grabbing data without re-evaluating the properties you set in this callback every render. <br/> \n  (e.g. things from `useContext`)\n\n<!--\n\n#### `willRefresh(didUpdate: Updates): void | false | Updates`\n- Called before `Controller` requests a render. <br/>\n  Passed as an argument is an object with values which triggered the refresh. <br/>\n  - If nothing is returned, update will proceed.\n  - If a new object with updates is returned, new state will reflect only those changes, and any others will be discarded.\n  - If `false` is returned the update will be canceled.\n\n-->\n\n<br/>\n<br/>\n\n# License\n\nMIT license. <br/>\n","readmeFilename":"README.md","homepage":"https://github.com/gabeklein/expressive-mvc#readme","bugs":{"url":"https://github.com/gabeklein/expressive-mvc/issues"}}