{"_id":"react-hooks-lib","_rev":"33-05d34fee50668d89791d1c2b1f142863","name":"react-hooks-lib","dist-tags":{"latest":"0.6.0"},"versions":{"0.0.1":{"name":"react-hooks-lib","version":"0.0.1","main":"dist/react-hooks-lib.js","umd:main":"dist/react-hooks-lib.umd.js","module":"dist/react-hooks-lib.m.js","source":"src/index.js","license":"MIT","scripts":{"example":"parcel ./example/index.html --out-dir exampleDist","build":"microbundle -o dist/ --sourcemap false --compress false","dev":"microbundle watch -o dist/ --sourcemap false --compress false"},"devDependencies":{"babel-eslint":"^10.0.1","eslint":"^5.7.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"next","microbundle":"^0.6.0","parcel-bundler":"^1.10.3","react":"^16.7.0-alpha.0","react-dom":"^16.7.0-alpha.0"},"peerDependencies":{"react":"^16.7.0-alpha.0"},"gitHead":"0e3fba4d2d95142a10254f5be3d7c88a195c6e3c","description":"A set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).","_id":"react-hooks-lib@0.0.1","_npmVersion":"5.6.0","_nodeVersion":"9.11.2","_npmUser":{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"},"dist":{"integrity":"sha512-cWz6MZ7mIpzbVVeVxsYmA7g/QhnyKwub2FApZuf73gSUeCGTRZJIsXELGj+4GppI8QLQ9oVVPRYJiKRQhO+m3w==","shasum":"2286618cc0b3e82d5ad69391905a46fc4f34c9e3","tarball":"https://registry.npmjs.org/react-hooks-lib/-/react-hooks-lib-0.0.1.tgz","fileCount":12,"unpackedSize":219295,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb0qwnCRA9TVsSAnZWagAAOCwP+QH1aV3Ttlb3M32SRj8c\nrMA4e31hNVzvhjjgMnJ7lFVglm8PeFpiXGXc5XLxb3bOE5I6650QSEvl8Pi5\neTGqz8Veqx/3Y+i2q0N18IX9jCkk7Q0erJKaRb4RgwbDJla0yoiShkAMJg8g\n/fgIQuwfg2GSRRFfAiMLWTpKKH1SWLs145x1hit8sw5C4LfbYHuMpmQrECT7\nbGWhQ2vVcDthogOQYQmU57E8I45Y9qeifRR7DvNOZznHEcTb5KSQBH1zfPfa\nIze7V0tGiCjNPmM1+xWLTlFmbsYf0im05Tdr8DcmNlUz+zEmZx+yHkCpb5vm\n/6F0cpYPYld0lg6pjsS/VpYE3RfggrWrU856dBSPcWBxluDe2KgI/+ZT1wIB\nZTh+DDGqeUZ74Skxj5aiiROwjRdGGpW06FOqMcZHFDf0020LDJwgBsc3YRYO\nj0eavJSaA0iK2DyhwPR+6ufusiCcy3iiy/fTXbnf3eBkxagxo/YNJU9ti6ZB\nZCEMilRzvdfMg7UqxPXBYl2VA7ShjpBxaRwPRfXhVxwONrxxWzBul7escr/7\nQph9IODAVRKrnrRkOsbpVz3itbBNJDCezZaM6MkoGTVU6ne035nK4butgTLk\n1vcB5jw2gl+kQzCPIs3ETo+6O7xg6w/kezNFWw7txT+LkBql8ThlWwivz7Di\nxinC\r\n=nqd1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDPw7DdbMVTHVaUx58M3mV594WyW+0F2r78km6bdxatOQIhAJbok/9DHaxuLDwZZVpx9Oei/oMJSDc+p+THMlfpfV3e"}]},"maintainers":[{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hooks-lib_0.0.1_1540533286415_0.9250438012194291"},"_hasShrinkwrap":false},"0.0.2":{"name":"react-hooks-lib","version":"0.0.2","main":"dist/react-hooks-lib.js","umd:main":"dist/react-hooks-lib.umd.js","module":"dist/react-hooks-lib.m.js","source":"src/index.js","license":"MIT","scripts":{"example":"parcel ./example/index.html --out-dir exampleDist","build":"microbundle -o dist/ --sourcemap false --compress false","dev":"microbundle watch -o dist/ --sourcemap false --compress false"},"keywords":["react-hooks","hooks","react","utils"],"devDependencies":{"babel-eslint":"^10.0.1","eslint":"^5.7.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"next","microbundle":"^0.6.0","parcel-bundler":"^1.10.3","react":"^16.7.0-alpha.0","react-dom":"^16.7.0-alpha.0"},"peerDependencies":{"react":"^16.7.0-alpha.0"},"gitHead":"06f15f812e7984ace69a8358bd70a4997d547c0f","description":"A set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).","_id":"react-hooks-lib@0.0.2","_npmVersion":"5.6.0","_nodeVersion":"9.11.2","_npmUser":{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"},"dist":{"integrity":"sha512-oJcz72ilthBmfpZFOtErflNQLOPqfS1z3lnLwioI+BHEegr+xozolsWUyt0HKaB+JEN+nUrOTkq8Vu3rOSUPWg==","shasum":"397d13adb113693b1e3ba76e1fc3e1d14956fe68","tarball":"https://registry.npmjs.org/react-hooks-lib/-/react-hooks-lib-0.0.2.tgz","fileCount":13,"unpackedSize":232773,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb0rJaCRA9TVsSAnZWagAAPKIP/jXhB7y3xR1Ljj8kQ70F\nPxBkbzHgj184Afr73YcGY1/yxVgN8VpYVD1xl2aQlBKLTTc1SfmNvJRGq1Zc\n1LtB4DjcQaF67vfzo9ewsRgUFYwXrMUhb+aUvXceQxkWednpNoDDrIb4uxbI\n/8hlgenBN1L34ufstngI5L73EQCHQG4T+9On4HmB6XGSsxerZkjAkiMQdloj\n/cKoCtFKqIppp+LoJ/M1SsTQ7JyhJNhB8mUt4KW0XvjA8aMnjvNY+DLzcrgZ\nJr3LNfhveL+1ySKY4EFQO6ZrQu6vE6Q41hDIe7oIp6c5/bqxocdFzsWPsUXm\nyj2OXPZXhpqhYw01uC/1XWYeQ+n9+lgbYSy2rjkn8+IQeI4ig9pQzrk+HhS2\n9rmNTltSFSylJTcgyIPRhrOVvRQ2EcRX8n5wjpnJqIDkd+ySVFDpP6G0XDEQ\nNQJL3OQ4/Jce6bK2ezRXTdGyT8T1Ngq5IlEZXmlJF4xRoOy5lL11k/hs2ylc\nsdcrykYGcYoGYz/2NzcD7cMat8+9CWprg/LM0yctRrCtucxHDEA1D6bqiDR5\nse8GzHnTsG44fjE+sjg3Pygd5vSfrrfSuY8VwR3Lbi830FTQ5HmkAXMxl9MO\nHhlPm0hSBlNvShlkKXrhOVdHMEE9B8/zytoYmduua5Hgaor8530MQ5P/Zx5s\ndo9s\r\n=Fg5e\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCHYJLQoD3NQel4zmbCEBBsyvMiwbsvLlSSOtrtANmRrAIhAPlO6vRfGn8td8Ft81yDJco3pnnArxC+lEt612VOmxl7"}]},"maintainers":[{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hooks-lib_0.0.2_1540534873651_0.2233852230441853"},"_hasShrinkwrap":false},"0.0.3":{"name":"react-hooks-lib","version":"0.0.3","main":"dist/react-hooks-lib.js","umd:main":"dist/react-hooks-lib.umd.js","module":"dist/react-hooks-lib.m.js","source":"src/index.js","license":"MIT","scripts":{"example":"parcel ./example/index.html --out-dir exampleDist","build":"microbundle -o dist/ --sourcemap false --compress false","dev":"microbundle watch -o dist/ --sourcemap false --compress false"},"keywords":["react-hooks","hooks","react","utils"],"devDependencies":{"babel-eslint":"^10.0.1","eslint":"^5.7.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"next","microbundle":"^0.6.0","parcel-bundler":"^1.10.3","react":"^16.7.0-alpha.0","react-dom":"^16.7.0-alpha.0"},"peerDependencies":{"react":"^16.7.0-alpha.0"},"gitHead":"e97cc9dd685ac2032eeced12aa00c99a476068eb","description":"A set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).","_id":"react-hooks-lib@0.0.3","_npmVersion":"5.6.0","_nodeVersion":"9.11.2","_npmUser":{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"},"dist":{"integrity":"sha512-W4SR/qoamZQTksfOzDMbxeCeI2b3ySQOtIe/o5/K4xNzelQWZKIl6ftAGa7KEBbqEjkZrig0To4nD6LEUm71Ig==","shasum":"aaf8b422dd0a1e335f44ea1c09f0a83d65d91e26","tarball":"https://registry.npmjs.org/react-hooks-lib/-/react-hooks-lib-0.0.3.tgz","fileCount":16,"unpackedSize":241925,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb0s9OCRA9TVsSAnZWagAAchgQAIrBNukg+bLJZBzNM6tA\nqrOvkKxMrV0+Qk71dgK2nP1vX2+ucHphwsaEMBWwT9LsqytzipK2UGQFdbqd\nnbOOEtVLLnfRj4pBt3dGN2YcI9a3zBNC7NUsUBXxm+k5HhApCW2xSDQrngOz\nCKpiQd7zdv7349gJJZDzJwxQ2GxEtOst5NySxdaBMZGQVbn8IifNyRl6PMeg\nC2Eo6wVqWASzPXO61JRvS8LQ1FSUvOugnhoVueSBqivIhwss14eRxjOSuGlg\nZL7IUYtmb3HCTsWl5cknXhDH6RIBGE5s9AbT2dhZEuwQwOZNCF25t+TQG0FE\ns2IpH8BqPVLAqvH0DQMNAIFHbzGzSEOC83AP2OBVVnQgqyW9cRPTYLGWgdqJ\nDXA1xHq6a1yeh2si8TUa9SE3IAWTDO92zsFvSKSkxuILy2AeFvwtSbvCT22L\njXmmBiCBmh3eFjt8YGgUInaNKmI+tX6T+NXUgP9OihWF2sUV0DAnICxsYqD5\nQDRx+ZzHgAABvmjzlTQaenioPUq4Gmxx4OUdd3WNMq7S3G2XxT5lH8/KnjbY\ndMavf2Vnn3DE/DLDB6qYW2UnDUsHLC2umHZ7ks78E4f71Rf3KqLdYF1T4+nP\nyZU5VWOuOhR9sX/KRbmWHScUuPr3zonloaa3tqdnzlTMadWuRTdLqbk8bOHf\n7wAv\r\n=9YKa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDd7WUOZ9o5kXKboFF04FYTvuUEEBH5Dq0GqEGWmxptBwIgPf23eniguAJTd1Z0SRy+HxNk6x2qCar5tQlcI70hb1o="}]},"maintainers":[{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hooks-lib_0.0.3_1540542285699_0.8225169946919015"},"_hasShrinkwrap":false},"0.0.4":{"name":"react-hooks-lib","version":"0.0.4","main":"dist/react-hooks-lib.js","umd:main":"dist/react-hooks-lib.umd.js","module":"dist/react-hooks-lib.m.js","source":"src/index.js","license":"MIT","scripts":{"example":"parcel ./example/index.html --out-dir exampleDist","build":"microbundle -o dist/ --sourcemap false --compress false","dev":"microbundle watch -o dist/ --sourcemap false --compress false"},"keywords":["react-hooks","hooks","react","utils"],"devDependencies":{"babel-eslint":"^10.0.1","eslint":"^5.7.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"next","microbundle":"^0.6.0","parcel-bundler":"^1.10.3","react":"^16.7.0-alpha.0","react-dom":"^16.7.0-alpha.0"},"peerDependencies":{"react":"^16.7.0-alpha.0"},"gitHead":"2325d8496282921b49d0c4b7b59bb14e38d4164f","description":"A set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).","_id":"react-hooks-lib@0.0.4","_npmVersion":"5.6.0","_nodeVersion":"9.11.2","_npmUser":{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"},"dist":{"integrity":"sha512-JG30M/m68IkBAqqjH6wDr5n/UftnAOUVSYG2xOURHRMgy5BD/DZ7tjCQzhaR06roTALEei1pithpxtRIswNsXA==","shasum":"c6fe697d192d9d448ea074bd90f81bb258400169","tarball":"https://registry.npmjs.org/react-hooks-lib/-/react-hooks-lib-0.0.4.tgz","fileCount":17,"unpackedSize":250551,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb0uqQCRA9TVsSAnZWagAAKagP/09ysuQaOOjbmy00kSow\nURdEV20EbmZVG1vBouJY4+jncLd791ewVAvckitbjN965K7laV1XH2CQhXav\n6KWGnzq66ppA2IvBHDlh60Z5bnNkCAyxdwRDZf3YvVNCqQpswtwBC4Sjsb8G\nY1DjEIWP4DvGB35YtUM4X9pmUMT7qibwEh+F5trL91XW4tLQ/cPrVIpfrbef\n4RJzavCECiE2JXqAKhu+xcOOMR+v0RlRMeyg+zQuuOuu69zeiiINiLo/t9Qt\n6xdNDYNI2UrEXbh14CFd+NLeKNMk0ki1eVNsvKEPYjvnOtwPTItV7eL1m3f4\nfHJFd71K80uDcKexNc4WIvCJwGgx5qVpDZRWVNcUlL+jzFyc4pb7pgUDLELA\n5QwX3hOdfe1IYS9OE7zB7wmEJgHX+kZYecQ6rvMjU0sU9U4efEIkXqXFwItE\nH0+ukVBs5qnH28qhxS//sHbYmERwK4ZJmJBYpEzJNGL8Ctna+dQDDU5N9e0M\nih4X7l8bV7BPpl/JrdBCn84nWYKas6QWqJxtcgVLalEj5RnZ3WMNGPwkiSuq\nP6eOeS4hmhPrlwkPDYAK+8P8vbw+Sa0MF85RIEDaKD6CWLp662PjTtAi1T5m\n/4axBfkVfqT2UUyHGQgx4QaEdrWEkJbkdWvbudEilu+0+DKXueOusp6Bz9CB\nAN3P\r\n=Paxi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHLMl73rEc4KUR3QHkPHIbiR0XKLV2h6pq4TfAWfHOICAiAOORmmWD/IKb5duILM11ePrVBR5OTd7/ISRBvip4iIOA=="}]},"maintainers":[{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hooks-lib_0.0.4_1540549263760_0.6876882143185457"},"_hasShrinkwrap":false},"0.0.5":{"name":"react-hooks-lib","version":"0.0.5","main":"dist/react-hooks-lib.js","umd:main":"dist/react-hooks-lib.umd.js","module":"dist/react-hooks-lib.m.js","source":"src/index.js","license":"MIT","scripts":{"example":"parcel ./example/index.html --out-dir exampleDist","build":"microbundle -o dist/ --sourcemap false --compress false","dev":"microbundle watch -o dist/ --sourcemap false --compress false"},"keywords":["react-hooks","hooks","react","utils"],"devDependencies":{"babel-eslint":"^10.0.1","eslint":"^5.7.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"next","microbundle":"^0.6.0","parcel-bundler":"^1.10.3","react":"^16.7.0-alpha.0","react-dom":"^16.7.0-alpha.0"},"peerDependencies":{"react":"^16.7.0-alpha.0"},"gitHead":"c4239034d4e3500f25620f5d223248ffd2a1b8cb","description":"A set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).","_id":"react-hooks-lib@0.0.5","_npmVersion":"5.6.0","_nodeVersion":"9.11.2","_npmUser":{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"},"dist":{"integrity":"sha512-phgD6tFtfm9iUxEdW4iaUXLmu3SJMYlB737DjYGNgQlmkMcvAq8Ny4t6nk0Nu8MnQHEvRTTtbb6LLjfqAP1RHw==","shasum":"88a62b33a6669d2490c341bb62f472af6c7db9aa","tarball":"https://registry.npmjs.org/react-hooks-lib/-/react-hooks-lib-0.0.5.tgz","fileCount":21,"unpackedSize":272246,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb1B0WCRA9TVsSAnZWagAALtsP/j4DdnFucwpaU529tYjM\nBMIi/GbifWVCrgOPpmHCHn53Jr8QrqTy0DiwWum+qkc2IP5Czo9dojRjaUVS\n6aUwVW4fU9LCd09cVI/3pRhXKPerNaFy9Movc3Qw99N8Z0rejA8xN5KN3E3m\nILhU/kuuQu4ExSJ6nMhM1/D1v4qUHwHH1yUGgFXZlOPjwobspun2Xa2HYRAO\nIQIfiKgH07MKBtHKsKyUJ8CUq7cw1y9ikCUWJvrcmGwbNWGIDuXZDztlY2tH\nB4VK09MHdQAUXPblj+hkt/Zqeeo/CtKVP2Djn7qee8234sblA/Rt//khHYJL\nG+ZyngLbhUoXIfVcrtIPmekuxn2SDsiodp9yY6/kwMu6p337R2uLwyJuPrBQ\nxeVfOi2Ks8ZVp4sdMpboZnp+79pSl6zqHrqm8zl0BG+JQ6l2I2XpNwYPx/S6\n52d8Fq0Bm+QxSuDVXrjWiXPNpXN+S3mwaYDypsExcJLV/UwQR27JKF2mQloM\nceRnjxwRQ+5dztuhOEoj+mxujntwzl9ev9XS9m8Vh21ZJaoJHbfMiruBipXV\n71zICtksaLVyEPPpRrRcLK4QbF6gIeIddEzcKEbcKYx0nqSmElOPUuLWZWp2\nMVyR/JkccLFKQKDSf+JbYZiJJba1wRf5bud9ASTqLNtfq1+xOXUvxamYaL6w\nLbqc\r\n=yLeC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHtgnmabf5PwpR0IgD+JoDApKTcR8+YBvRt1S6oAf5wRAiAWnWejubzmHFVwSPAHM5f8xjFtEoUrsEAuB36jCwsIZw=="}]},"maintainers":[{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hooks-lib_0.0.5_1540627733592_0.5080603226652023"},"_hasShrinkwrap":false},"0.0.6":{"name":"react-hooks-lib","version":"0.0.6","main":"dist/react-hooks-lib.js","umd:main":"dist/react-hooks-lib.umd.js","module":"dist/react-hooks-lib.m.js","source":"src/index.js","license":"MIT","scripts":{"example":"parcel ./example/index.html --out-dir exampleDist","build":"microbundle -o dist/ --sourcemap false --compress false","dev":"microbundle watch -o dist/ --sourcemap false --compress false"},"keywords":["react-hooks","hooks","react","utils"],"devDependencies":{"babel-eslint":"^10.0.1","eslint":"^5.7.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"next","microbundle":"^0.6.0","parcel-bundler":"^1.10.3","react":"^16.7.0-alpha.0","react-dom":"^16.7.0-alpha.0"},"peerDependencies":{"react":"^16.7.0-alpha.0"},"gitHead":"f178edb4a24c1baa8f2196d3f765e454f8bf7355","description":"A set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).","_id":"react-hooks-lib@0.0.6","_npmVersion":"5.6.0","_nodeVersion":"9.11.2","_npmUser":{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"},"dist":{"integrity":"sha512-IMKmVylfDqGoCQ17jwIh280m7nmIDa3lYsDKngNmj59gHMhLFCkQ2Wlr4Ft6b8L3joVCl3Bc3Uhl7DJwUtjbTg==","shasum":"e4cb793218750f3290916033509cb8a8cffa4e8e","tarball":"https://registry.npmjs.org/react-hooks-lib/-/react-hooks-lib-0.0.6.tgz","fileCount":22,"unpackedSize":248751,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb1WoDCRA9TVsSAnZWagAAW9AP/2IqfmmMGI0BIgRlYrIm\nab8WouqXbgzvZALvmlcs/6HiO5Rfuu9c81ROC9pGkcgNdLJYRTu+NloOvp4d\n8nAWIJNAxSc0eVHCUZrUe1Q+YoVksSe9p2op1go1ABWONv26MmvpWUtPUb4c\nZuZfLw32ia3Kbe41yfhlvuRr2lZZcnSJbWar8tbca+05w/zTs/2ycslamcAc\nQI6CALatN17bBTQNrIlIV2Qqufry1nzU/js//lBQjZU+eeTg1+laGERgrQmW\nx8oTLfmIo5Vipk0yqroLlWA7zcuEqmLDxeeOWM4V+iCdoPF6kusdB+EYeuim\nxzUOlwok21gmMNcaJBRv9BvBCWxeY1oTOqlPVZ5UVMAcGQQADwB1kZX5aY0/\nng3N4iprqXuPoiqOgyxXndGk36cWrcezE+PDSWwt32st+K8nBZRvWbHitrO8\n/X2tA6kJx+arW0FIAp5AKFQORdn+ERDXsRvO6KeXkjxQ9C8zdwKH0z4qAC+X\noANEygqzNQ2RkGGIR4fTtSpAm38D2+Qw/oyEq0IG2NJZ4xMz1GhtzctX0egT\nDmPgJY0/CIauQ6PnZ5kV3ZBZ+h7W/3PvVVBM2BdZzLCVdW+muhkunOL4x4qV\nJ0vfOFKuTiH6ihxBmM18tSO3GgDc10F3VsscGbscnoDYMurifHsKQPrMn+NI\nPv+B\r\n=30re\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3lb2cnRPq8QktG2iayFE3HsXIF8JeRSvH8j0tyRrPdQIhAKK99rA4kVO11knCO3lTQeds/nlLBSkTBbqSg3mz8weZ"}]},"maintainers":[{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hooks-lib_0.0.6_1540712961903_0.6037935882552881"},"_hasShrinkwrap":false},"0.0.7":{"name":"react-hooks-lib","version":"0.0.7","main":"dist/react-hooks-lib.js","umd:main":"dist/react-hooks-lib.umd.js","module":"dist/react-hooks-lib.m.js","source":"src/index.js","license":"MIT","scripts":{"example":"parcel ./example/index.html --out-dir exampleDist","build":"microbundle -o dist/ --sourcemap false --compress false","dev":"microbundle watch -o dist/ --sourcemap false --compress false"},"keywords":["react-hooks","hooks","react","utils"],"devDependencies":{"babel-eslint":"^10.0.1","eslint":"^5.7.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"next","microbundle":"^0.6.0","parcel-bundler":"^1.10.3","react":"^16.7.0-alpha.0","react-dom":"^16.7.0-alpha.0"},"peerDependencies":{"react":"^16.7.0-alpha.0"},"gitHead":"96fb6b671a843f07779951d9f35af91d8218f5e3","description":"A set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).","_id":"react-hooks-lib@0.0.7","_npmVersion":"5.6.0","_nodeVersion":"9.11.2","_npmUser":{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"},"dist":{"integrity":"sha512-Ni5h+sGusXAlMJtAmTs7U7xAkk19mz5rWO0vG2aZwhqpoac8/t2BDrzN8ZGqEeMTyrPgp2zYD4WvEve5XJ9Z4g==","shasum":"8f99759b97e0bad4e83b12cd8f04a2218f0db066","tarball":"https://registry.npmjs.org/react-hooks-lib/-/react-hooks-lib-0.0.7.tgz","fileCount":24,"unpackedSize":292060,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb1elyCRA9TVsSAnZWagAAGbsP/Aq8s5c/gZNZ9JUR/o/z\nFwQOuGY/ZK48sU7fU8Aq+prVqOERA9neboLk0KS4F7zl/5vpWRYScAcYnzpR\nvujrghQPLdrFY3h8c6UGUa+63C910ipcsaw6Wwwf60/vaC5aZ3IbLjMFlPHw\n9JXSQ5E+n1HCOIVmfzT88dMbXaC1rojIVYew49lYO30Gy61WlUDKXqqoPT/N\nVRGRCbpkxazaiQcwflauvtHKXYV2T8ph3e2DvfODrpyp8CBIzJDtfql0thvM\nzmohEXiJfqY8NuwQgtGQVMjmX98945m6KcLy0n0ed7EnvI2s8wt+Y0g+9ru6\nXh7rTCCZ9iERMsTTh27WE3rP018beptACrlcbbPlPZI4gkNFPemA49wYED0x\nb/S+Y4/vZ2T8A0odyLrREUQzUbzy1IRYb6cTc4TWHpM8PuirnI+k4Cz+e8Bj\nQmOsU1614xsAmP1m5FSPg24ekOavlwkGEQ6bT2iFF4lDzKHkCJYv8QN8LKp3\nX9y9PyZ4jC+3MKBGsd8L8wzl5DkzLHtSjIpGmSK3hq9q46IYGf+rUI2LPxyN\nuHbTS+jjPCY5IYienBYXOO8AHJ9zaVsfKOZWLgbdkwlaPwsmCCB2LqswcWF1\nwSUZUy1IxVf7BK15vkf/JaJt4WkQa+rDIn+gIUf0bYSzC5iZ8coiXiYd61ah\n86io\r\n=PFAT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHfWMf43WOPeua8CbV79oDC4oblsopoDDxtMf8nFQGlwAiEAs2fXsxz10n8gAWZ/HK7jYkbVRHDIydlB1iZnsEoIQYE="}]},"maintainers":[{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hooks-lib_0.0.7_1540745585738_0.5420347971173234"},"_hasShrinkwrap":false},"0.0.8":{"name":"react-hooks-lib","version":"0.0.8","main":"dist/react-hooks-lib.js","umd:main":"dist/react-hooks-lib.umd.js","module":"dist/react-hooks-lib.m.js","source":"src/index.js","license":"MIT","scripts":{"example":"parcel ./example/index.html --out-dir exampleDist","build":"microbundle -o dist/ --sourcemap false --compress false","dev":"microbundle watch -o dist/ --sourcemap false --compress false"},"keywords":["react-hooks","hooks","react","utils"],"devDependencies":{"babel-eslint":"^10.0.1","eslint":"^5.7.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"next","microbundle":"^0.6.0","parcel-bundler":"^1.10.3","react":"^16.7.0-alpha.0","react-dom":"^16.7.0-alpha.0"},"peerDependencies":{"react":"^16.7.0-alpha.0"},"gitHead":"92ce7ab7a0d5a47e833682b87b711ccb54c2ae02","description":"A set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).","_id":"react-hooks-lib@0.0.8","_npmVersion":"5.6.0","_nodeVersion":"9.11.2","_npmUser":{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"},"dist":{"integrity":"sha512-QefCP03hL5AWkOLm1KcxHVVpmIpb/HDwxvLMEW6m6onAyyfE8Bhs6cHPybwe+FL7wXNZGs0cisIYJqNSrzThXg==","shasum":"a89198cec7d8dc0cdd5d1e8bb3ebcd8fbfa780be","tarball":"https://registry.npmjs.org/react-hooks-lib/-/react-hooks-lib-0.0.8.tgz","fileCount":27,"unpackedSize":312531,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb1uq+CRA9TVsSAnZWagAAY74P/3XJTzHMQJklKooHRUxT\nvGid8XnNWODH2SG4xLMAMQXNWwUv916NMzuLEerAhh1ym4rallP2rvllqbof\nDVnplquRvW73CfBHXe7/zq04cE7Dnyj/qMp/3Z9przZ9vEtuTcFPaBaNgJvg\nf/DPN7PMjBIS55Nf9wuT8xtdujYJEhsTpYRQuUENMnjNvNsZxv8A37AXt9Xy\nh59wF1Nam9KnLlwIOmBT1SExW5X+/mb3oTubrk7oj8FQCzb+wMEnHwb6237b\nd2mIUT+C9zbra4KMtyYOZjRrcT+gcGW76CsQ7tl1KSemWCxDmc3DrDDMXdK/\n3fT9oQW+oFd7YGw4d8slq3Wufi+BP6lha5vf/FlSUTQw/eO2YBkuU1z39d1g\nCGesYSGb+9cAzLcvJwRec9ox8l5gQu7kBbiCAIPT84mWr58EmrjArcxwptpN\nfdHuL0f4xQUybF2BioieeoYIfdbnVRUKJvH+0XjpkC0REpgsuOG95+7fzFgb\nU0S1XEOKoHpKVYj61ouUVm1LyUtqb6Vy5AjvrBMILjeTIibtirYgMtbT6F0j\no4LuCIX4cjCsaW6jGqlriXcDc1243E5IHYtJkl9uRO8Q4kvKayORR9C6HBZv\nMG1r3dKAqpKceK2ka0Cr/Gs9qkjlUt7Ufc5alRNGZJOq2zc6Rb8AW0bnhkzI\nYGW/\r\n=RtpP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDGiRWR/N5O5dnYOj4kCmiIE/EBZ9rwF6t99jCjP+B+pQIgBSKyzIIrC4h/bvOOGYaAYkBXu7nGpRmOItsxo1/S26M="}]},"maintainers":[{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hooks-lib_0.0.8_1540811453449_0.9302940429068121"},"_hasShrinkwrap":false},"0.0.9":{"name":"react-hooks-lib","version":"0.0.9","main":"dist/react-hooks-lib.js","umd:main":"dist/react-hooks-lib.umd.js","module":"dist/react-hooks-lib.m.js","source":"src/index.js","license":"MIT","scripts":{"example":"parcel ./example/index.html --out-dir exampleDist","build":"microbundle -o dist/ --sourcemap false --compress false","dev":"microbundle watch -o dist/ --sourcemap false --compress false"},"keywords":["react-hooks","hooks","react","utils"],"devDependencies":{"babel-eslint":"^10.0.1","eslint":"^5.7.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"next","microbundle":"^0.6.0","parcel-bundler":"^1.10.3","react":"^16.7.0-alpha.0","react-dom":"^16.7.0-alpha.0"},"peerDependencies":{"react":"^16.7.0-alpha.0"},"gitHead":"15a6ffa86e70677b4e336a71dff18d46ae62bdb0","description":"A set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).","_id":"react-hooks-lib@0.0.9","_npmVersion":"5.6.0","_nodeVersion":"9.4.0","_npmUser":{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"},"dist":{"integrity":"sha512-8aZjzjMorz+WvDL11uMuz70oKA8MDYjHXV2Jq43Howdz3G8LpjvlIpiiA8imJOaYbiEkBOAc1ZC6mzsvu1fVcQ==","shasum":"0693a97f72e07eb0ca31222bdd30dfee7e7d087a","tarball":"https://registry.npmjs.org/react-hooks-lib/-/react-hooks-lib-0.0.9.tgz","fileCount":28,"unpackedSize":318598,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcIHqqCRA9TVsSAnZWagAAyp8P/iRjNMGo6eOGOt55kBnd\nWNF0V4fcL36vVYnhI0uuAD/yHfZFGPaUiM6LfLJ+SkJudBDnkDrmk9k5tEfa\nI5FGlbfCssNeUdjAIj1AgwPbjoe9mPAO/3gzWruUem3eEnOIOj3k5K1m2je/\ngigJ3hV5dSvoqyUGNT7TRFvgePb1utxRuLL2nb32syF5fgStu2PUqZ+nevqN\nVNpjva6mt4s+eVqy2tFzmuXK1HZIoNB9YUSaq/oaRPt2UTxpMpBd6rHfg0SM\nW6ZVDkYvsW0OUKtURu8BXswadeIXBWxKSi6Whefaz59x66gHkL3GkiiIP7qb\nfKn7zVPKtrazMo/qYxr1ax52JOjNM6J/ADbmkjkbGjgtnRNTXlfdD8j8vuUZ\nwu1Vji5yJP1jhOxTf98m3aFILjCVXvHKT8Ah2Zhv3zEBUGYGOl3fKQXCCGOS\n8Fk/9ssxJ21htxYmczvTZLKY10sMIB6+nDfdyg7iQrL4nLg07Xgf7DHkDXvD\nLOA3wvi+n5dqhYC42Y7DjZVYmOgfFPNagp2ZDDFBrCpO0qNUXtKh5wRCx+H2\nW8avQiCeJiPpXIwNU6yezz7yK7esacRbct0PD5CLtrBzbhRx71iqp5lxnek/\nXvYqR+2LhL+46LbZuZE+ZJTESUM4kB0o2G2Ow1ZeBQWFwH07UkSxsfO3Ks5V\nKu+q\r\n=2uJR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEzktUasaCeHGVhRjFS7GyYnVGtf0NQ8kdorpM0ictQ+AiEAsZ/UtltnzaqtYS04e98/i2RTU9PolsQvxJgrb11SsUM="}]},"maintainers":[{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hooks-lib_0.0.9_1545632426213_0.29347237115937297"},"_hasShrinkwrap":false},"0.0.10":{"name":"react-hooks-lib","version":"0.0.10","main":"dist/react-hooks-lib.js","umd:main":"dist/react-hooks-lib.umd.js","module":"dist/react-hooks-lib.m.js","source":"src/index.js","license":"MIT","scripts":{"example":"parcel ./example/index.html --out-dir exampleDist","build":"microbundle -o dist/ --sourcemap false --compress false","dev":"microbundle watch -o dist/ --sourcemap false --compress false","test":"jest --coverage --config=jest.config.js","report-coverage":"cat ./coverage/lcov.info | coveralls"},"keywords":["react-hooks","hooks","react","utils"],"devDependencies":{"@babel/core":"^7.2.2","@babel/polyfill":"^7.2.5","@babel/preset-env":"^7.2.3","@babel/preset-react":"^7.0.0","@types/jest":"^23.3.10","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^23.6.0","coveralls":"^3.0.2","eslint":"^5.7.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"next","jest":"^23.6.0","jest-dom":"^3.0.0","microbundle":"^0.6.0","parcel-bundler":"^1.10.3","react":"16.7.0-alpha.2","react-dom":"16.7.0-alpha.2","react-testing-library":"^5.4.2","regenerator-runtime":"^0.13.1"},"peerDependencies":{"react":"^16.7.0-alpha.2"},"gitHead":"435f21ddabf1206e756a97358244ee334c616b98","description":"A set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).","_id":"react-hooks-lib@0.0.10","_npmVersion":"5.6.0","_nodeVersion":"9.11.2","_npmUser":{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"},"dist":{"integrity":"sha512-6+Qi9H07//yR9P2fIgKgfRyps7TKX7Dy94WhAoH4udDMfnnF+VzlSg331+RKRH7CE95P+HaoAHHKV8tir8a1Ow==","shasum":"b9e6a7386b1669e0ea99c2e3d5469d0557c19d26","tarball":"https://registry.npmjs.org/react-hooks-lib/-/react-hooks-lib-0.0.10.tgz","fileCount":37,"unpackedSize":475514,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcLXpmCRA9TVsSAnZWagAAiW4QAKReeGOS3Yy8yeuGAxaH\nkJDhxk6H5iXM1A57sQavnilAF3F9f564rR+bahrVEU6PC/tKNCvzVgQh6sXw\npqRm/qvXRBO3ydGL0WLHp8TWz/5dfm7Ub6fswyNvqkM7kQX8ISUNdLjrkflK\nqtLR5Q0KfEfkvS92OftE/RmiT9NWqoemNH8pnQQk0aD+Cv6xJ5GfmePDnwvK\niN47WaRRItKrDbEEWuK5YzzO9+MznfZ91z3JRCl9geblrj/pLGuF4m61lQCW\nZYwDzUaj7cVJbWGRAnTx5wWKIJXHGzsScMfd1Fh6MSM3SGvcbuIVcWRmaLjP\n6K2e5hrFyUMJ0ZE3/ZY+IHlIFQTP1i5wgOnlsdiannyXvGOJzUS8lv+kJk5+\nxATfphn7UzmW2fdzVxvO/+84EoWY1Gh8BaYkyRgIw/x8JzOnbhHpB021jqXv\nkubqVHlPnIn8+E09tt+yYrAuyWlaCyAd1Poyh+f/SYACOGZkPlSy/NZCPgnZ\nkoFHURCZ6PsoXFsjXJDPPa0Wol9Eiwts6QBxWGTbjV/WZzAOjXTIQX3XRsEB\nkCSMWeeMS7M45vocKSPOg06BcVw+Ssmea5pbCOFrz9f9PL7/yXrwK5MB/yAN\nwzVfyNlDk1JtXv2LJQc/nU3V08JKjxvF0Cb+zBCeJBX6eK1uLKfNMdnPt/Ol\n548K\r\n=uaKQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICrLjAWnxO2KiLTY7xpkn5CG+SS+4pz6XpPvCoU7essgAiAueD2QWXJnSfCPrp7ZEEezeXtrnUVJxMBEmRoDGqDh9w=="}]},"maintainers":[{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hooks-lib_0.0.10_1546484325661_0.504294057164737"},"_hasShrinkwrap":false},"0.0.11":{"name":"react-hooks-lib","version":"0.0.11","main":"dist/react-hooks-lib.js","umd:main":"dist/react-hooks-lib.umd.js","module":"dist/react-hooks-lib.m.js","source":"src/index.js","license":"MIT","scripts":{"example":"parcel ./example/index.html --out-dir exampleDist","build":"microbundle -o dist/ --sourcemap false --compress false","dev":"microbundle watch -o dist/ --sourcemap false --compress false","test":"jest --coverage --config=jest.config.js","report-coverage":"cat ./coverage/lcov.info | coveralls"},"keywords":["react-hooks","hooks","react","utils"],"devDependencies":{"@babel/core":"^7.2.2","@babel/polyfill":"^7.2.5","@babel/preset-env":"^7.2.3","@babel/preset-react":"^7.0.0","@types/jest":"^23.3.10","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^23.6.0","coveralls":"^3.0.2","eslint":"^5.7.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"next","jest":"^23.6.0","jest-dom":"^3.0.0","microbundle":"^0.6.0","parcel-bundler":"^1.10.3","react":"16.7.0-alpha.2","react-dom":"16.7.0-alpha.2","react-testing-library":"^5.4.2","regenerator-runtime":"^0.13.1"},"peerDependencies":{"react":"^16.7.0-alpha.2"},"gitHead":"b02a3163d10d7ebcced42c0a4407d580a3e64da5","description":"A set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).","_id":"react-hooks-lib@0.0.11","_npmVersion":"5.6.0","_nodeVersion":"9.11.2","_npmUser":{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"},"dist":{"integrity":"sha512-iunDQi3oVU5InVhexjMPZvrCU2qSct0Z4YmSYw+zr97BEb8BVyyHxWgMgQ510CjLqTVuPZuYF6r2BG4oAs8N2Q==","shasum":"5f6e4acad8cc45ebe4aebf97befdb552c076fd2a","tarball":"https://registry.npmjs.org/react-hooks-lib/-/react-hooks-lib-0.0.11.tgz","fileCount":39,"unpackedSize":482493,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcPHWcCRA9TVsSAnZWagAAOvoQAIrn0NguCfaRVhV4i3Xn\npLDdXJ6sGXxWQrggncjKacIzJzidism8hFtHRJW7GxAa+7iQd9jpW2XMRZO6\nwD5MoZD/HiQSGh5LqaoPzWD5aRT9pDGCH7fZ/8H0Tc/wWEPjMFu0XBKvUCG6\nwpCDlKrv7U7rZjzQeeZl+tB/2NSTfIpinFHnfcCw2lBsHvY5UtZCGXePYfUi\nBikYcjK0IOcXgrJZif4InhmnLN9qIBLstqvlGeZZRnpxGGs+3SwmDJ2iiaVv\nDm76xGhTfaiDD7k8rbccKXJ1hnNgWzRk7p6wXaP1wqmkSKv7eYMvn+a3pAeC\n+842YUy/NiAlhWt970CZ7OsKvZkCLhA9CKUAxCMQ2N3jkpI2wZXZ0nAJb1nT\nA7v/RcuXMtw4g9L9gVDGZMFgAHv8MVY0SeLR8dLEbd2EMB9GD9j1nGdF8IpD\n6/dCb+VPEpksYWR+fEFykjBH2Yxw0M2O1a/2j6oDXn5UIA76WNF94r5ZnvIs\nu1jfL2ULaBKa3fcfBX5SY8hr/RB0uo1F2qIKfWnTPe8UnwA5joTSKOKRLpN7\ndXjK9l5K37SB47O9+XsoMTVTs3CN5c0LfK/5ozsvFlfCvUqEThWY25pCPEbk\nwhH7fQXrHamsHShqahgHAA9+8S4oF0UkDOWTgSJ+ngF5ApScm3QfdBXNRoZ+\ni2dG\r\n=b/Bg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGwzzfeAb6E6hl4lPvst/GB2CIS/1AgTHgJBdE2tpon8AiEAojir8n0XCr9yMaT1bM3tYWs0cRtjNubQfmRyYKNlMmg="}]},"maintainers":[{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hooks-lib_0.0.11_1547466140066_0.3299713037014007"},"_hasShrinkwrap":false},"0.0.12":{"name":"react-hooks-lib","version":"0.0.12","main":"dist/react-hooks-lib.js","umd:main":"dist/react-hooks-lib.umd.js","module":"dist/react-hooks-lib.m.js","source":"src/index.js","license":"MIT","scripts":{"example":"parcel ./example/index.html --out-dir exampleDist","build":"microbundle -o dist/ --sourcemap false --compress false","dev":"microbundle watch -o dist/ --sourcemap false --compress false","test":"jest --coverage --config=jest.config.js","report-coverage":"cat ./coverage/lcov.info | coveralls"},"keywords":["react-hooks","hooks","react","utils"],"devDependencies":{"@babel/core":"^7.2.2","@babel/polyfill":"^7.2.5","@babel/preset-env":"^7.2.3","@babel/preset-react":"^7.0.0","@types/jest":"^23.3.10","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^23.6.0","coveralls":"^3.0.2","eslint":"^5.7.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"next","jest":"^23.6.0","jest-dom":"^3.0.0","microbundle":"^0.6.0","parcel-bundler":"^1.10.3","react":"16.7.0-alpha.2","react-dom":"16.7.0-alpha.2","react-testing-library":"^5.4.2","regenerator-runtime":"^0.13.1"},"peerDependencies":{"react":"^16.7.0-alpha.2"},"gitHead":"22152af31b81fea43cc45b17920e7e1de78ac42f","description":"A set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).","_id":"react-hooks-lib@0.0.12","_npmVersion":"5.6.0","_nodeVersion":"9.11.2","_npmUser":{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"},"dist":{"integrity":"sha512-gr6CgYFIOSC+GjMV7+/u8WjhQ+TO1cZTwlRjxrmfDVeGwuJ4FRxqpsoBln8mUJUujmQrnQJLIUgJcONpufT5WQ==","shasum":"e21e5712f305174aa9cc5a8b9fa19173e96210c9","tarball":"https://registry.npmjs.org/react-hooks-lib/-/react-hooks-lib-0.0.12.tgz","fileCount":39,"unpackedSize":484581,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcQAGHCRA9TVsSAnZWagAAFqAP/2xvL7lhRViXaX8BXCuK\nK5KEQql5Clk/u+s9RjnyxbkWXEdwdJPPF7F1P4CLNuVmMZ7ZKBhYOxTEIxwC\n50yiS8k1GkjHyXKvGC+VFrWUzASf+o96HQmrqzkAOteY96/JyVm5K5rQqKja\nAwrYX/mD8GRZiXsHkZM+z3iv79Lb5e8Kv6jUolq1XuUoU7CzKLyG+iMySe2d\nqXies8B0/vZ9jnvStzNYALpAoCJXSv9trhA7pEqHJulEZnmgOm3SAWvAlvY0\nBXm/f+Ku4aISWGTOXXckdbUguXk8AWrfhgXQ5Uo2mQVcvoQXk7KeUdwHaZ9P\ntl0mBG5tUtHUyNpkGgXmMeZiy+YsB6Io8JH/7fok+Egh1FHkMDPcZvhL72p3\n7LISGNaJ/fTPCjc07KKkSLlER8h7g5lhCBD0xPzUg3o2o6cBFZ+dw1g0kXns\nLSdPG6oPK04RK3pGS71IqAmSfgKnDyieFDADGC5Bce2/IuofDRODO6OrIz8x\npR/VZgS+dSHGh92Dx7DAg1gNZ7elMvhqSdwWq0mespDuTyYgq0OuMpp/Nfar\nhge3Pw3hxefOGHGR6YdZ2LUThRnv7LiTFA8o20xrVCcksJkQaiHATBRZdbcA\nxLoSl9sU2eYYn4R7Q0cye264pjNa0OfL/yL/WX/IBfc7cODDvfUPMaEy3hHh\nkm6j\r\n=zG08\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDfrpoFgWFa09AhGXFbVQtN1rL3BtBW6hccgNRQBoV9PAiEA9WSiTyy31NIAqzpLsjFel44yMMjoE9wy+UKE175IXIk="}]},"maintainers":[{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hooks-lib_0.0.12_1547698566031_0.8449826603103616"},"_hasShrinkwrap":false},"0.0.13":{"name":"react-hooks-lib","version":"0.0.13","main":"dist/react-hooks-lib.js","umd:main":"dist/react-hooks-lib.umd.js","module":"dist/react-hooks-lib.m.js","source":"src/index.js","license":"MIT","scripts":{"example":"parcel ./example/index.html --out-dir exampleDist","build":"microbundle -o dist/ --sourcemap false --compress false","dev":"microbundle watch -o dist/ --sourcemap false --compress false","test":"jest --coverage --config=jest.config.js","report-coverage":"cat ./coverage/lcov.info | coveralls"},"keywords":["react-hooks","hooks","react","utils"],"devDependencies":{"@babel/core":"^7.2.2","@babel/polyfill":"^7.2.5","@babel/preset-env":"^7.2.3","@babel/preset-react":"^7.0.0","@types/jest":"^23.3.10","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^23.6.0","coveralls":"^3.0.2","eslint":"^5.7.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"next","jest":"^23.6.0","jest-dom":"^3.0.0","microbundle":"^0.6.0","parcel-bundler":"^1.10.3","react":"16.7.0-alpha.2","react-dom":"16.7.0-alpha.2","react-testing-library":"^5.4.2","regenerator-runtime":"^0.13.1"},"peerDependencies":{"react":"^16.7.0-alpha.2"},"gitHead":"252f27b72ea0f2edd5d0ec30e8ccf03d72f131dd","description":"A set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).","_id":"react-hooks-lib@0.0.13","_npmVersion":"5.6.0","_nodeVersion":"9.11.2","_npmUser":{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"},"dist":{"integrity":"sha512-cCpCI9dsdxdUo1jiLtdBU9QFFIBOOax+5cPqSQssy2+a0WkxiaO90f9mJXlETUQ2HWXJotoNuGE88/RlOkJwqQ==","shasum":"de6ad8365e140b051d740f569b7c6cc5500b519b","tarball":"https://registry.npmjs.org/react-hooks-lib/-/react-hooks-lib-0.0.13.tgz","fileCount":39,"unpackedSize":485706,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcQDBuCRA9TVsSAnZWagAAMVQP/jIGXSIb7WFdtrxh3LK2\nhM/b88UG2h1j9wru1DsWTRzP+sFydBW7KnGabCOu2Ycn998Clk/HeouNUVmw\nNfI+zJ3Tt2d6CC5EAA2IbO8fX3mbOUvz3G/NGkDukK5mkf03ieDbuRKl/q0C\nQucTgnHXPIjjKXBFTTb0iQMMeo8ShdIiE+RROHnwvnTA79CkZ66VAQW3viTO\n54J5o2MuDSSiA++UPs47wprPTIMbg1g3LWLVvMnLUITPbqQsLwje88RIXoGq\naaG0odMSvMcwukOjsQcD5PYLG80OhshlegfSiYODZPBdpK7Baf6tVTDE7dOt\n6b7Vb4XIGA1Pnu6BqV163JBj0qDAHCHsI3jGzrUAiaew7k9AxtvSbh9QH6lB\nRm27WoPlyUxndjqfBeEisAvlGlnrGglFj0wOsm6cg4WjEcZHSoAISkrQWfUw\ntHSJDn4tx5gh+fnRKacj7XnDzXhJkKZJbOw66dls5ZO0kBRBuaUg119GcMHY\nEymORFVwG8efP3sIuMhL7aaNu8tKt5Kta1JoXWU7ZX2wqCjVluEO40pxzQzx\nScCwPqETWpYTbWsfUgkHqxH+K6tdJAqJ8Zpk6hkgbC0xDeDutbIHFEc0EYPz\n7f7N6AlUBjGEc+lADZAtG/7dOUZmzEWpKZPhSPZE2YVjipCTJDyKKaQHmT7p\naLKL\r\n=3XjC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDESi3n6AO/dUggMok4+ydothsngHcVLpbaH7ZH8xF3TQIgXcBWejhanuM5/hM3DO/uYswk2U3moogBkgoHZsuxsLE="}]},"maintainers":[{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hooks-lib_0.0.13_1547710573411_0.26322911859880427"},"_hasShrinkwrap":false},"0.0.14":{"name":"react-hooks-lib","version":"0.0.14","main":"dist/react-hooks-lib.js","umd:main":"dist/react-hooks-lib.umd.js","module":"dist/react-hooks-lib.m.js","source":"src/index.js","license":"MIT","scripts":{"example":"parcel ./example/index.html --out-dir exampleDist","build":"microbundle -o dist/ --sourcemap false --compress false","dev":"microbundle watch -o dist/ --sourcemap false --compress false","test":"jest --coverage --config=jest.config.js","report-coverage":"cat ./coverage/lcov.info | coveralls"},"keywords":["react-hooks","hooks","react","utils"],"devDependencies":{"@babel/core":"^7.2.2","@babel/polyfill":"^7.2.5","@babel/preset-env":"^7.2.3","@babel/preset-react":"^7.0.0","@types/jest":"^23.3.10","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^23.6.0","coveralls":"^3.0.2","eslint":"^5.7.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"next","jest":"^23.6.0","jest-dom":"^3.0.0","microbundle":"^0.6.0","parcel-bundler":"^1.10.3","react":"16.7.0-alpha.2","react-dom":"16.7.0-alpha.2","react-testing-library":"^5.4.2","regenerator-runtime":"^0.13.1"},"peerDependencies":{"react":"^16.7.0-alpha.2"},"gitHead":"d246b158426059283b0234c7776c1d5e61ebcfcc","description":"A set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).","_id":"react-hooks-lib@0.0.14","_npmVersion":"5.6.0","_nodeVersion":"9.11.2","_npmUser":{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"},"dist":{"integrity":"sha512-PI0hQRR4B6av0Pg34xaV7lRccI2+03B3zG3PcU8/a1G4zVyRcDVMFkDcBdPKMS8kFuKAilCjEJDjqOycQILuAw==","shasum":"28dae6ddafabe856ef1d7ce9dfd10eb10e4dafa9","tarball":"https://registry.npmjs.org/react-hooks-lib/-/react-hooks-lib-0.0.14.tgz","fileCount":39,"unpackedSize":485710,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcQEr8CRA9TVsSAnZWagAAswAP/iP6G00o3F30vgJvKPYg\n/DCJyJHguDQ+Q150lWRNTnt4rqGRxFQAres5IzCr3kUxIC7Vo/0h4pr5a2tN\nDcvbsvAqCT8PlfdTOsKdR9IaQ2qz44FCeE2V6uclELV3Ef4w19rEpFXso6Tg\nEh6sd0SB8P65Mk+RScAEBgwoEKVh0E/5V5dRiWAwcfbDE8QzrRuVRcnU4dXG\nIe4Nw7HdAtpifykTjgRxxSan96wCs2IeS5O+9Y6H4/WfXItFdk2AV1UPgtHT\nQNJj56xh7hUY9eSQ53HKwlwMhpOzx0tmxQVWlxcHQt6ilYtP1QgnV2WHa8BX\nEk4Yuz+Q3+YAZKT+tZfr8VkzkkOT+yzLh4XocrenBt+vxqbXAZp2hHRn2pWa\nkPNtTo7QECC1PS8Q8V9AP040dQj/6DP8xPFH6YOdOeUv/zdbwS8iprnUS+vd\ngMr+NZaYPBdMmTN9TPCa0yRt5OzKhbgsCM3P16uGfV4wpM9vL80KSH7h9Xew\nqfLa58SaVN+OBC36ao9lVWC5bi26hmWE/ZZ+SAtf7TPtB4wp2R96HuSA9wMc\nTvgUzItaQwHm9pk9B0c6LCFwywTjViQrfKVaacXR6R1WdPxMwa90h8qXz8RX\nAQbpKAlCSFxrcnsUNTw6Uzl3rYLPwgBAt+A+Rrt9vLon/4nCpZMMI7h0EQVr\npeKl\r\n=DDg5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEjg7V/pIV8mbUbHbK78pUjkbbu0qf1MAz3KIQwxq+94AiBr17idROBZQH4Lweou1/pY3+GxmBCAG8KwtRZ1KXAKRw=="}]},"maintainers":[{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hooks-lib_0.0.14_1547717371577_0.26642209121946836"},"_hasShrinkwrap":false},"0.0.15":{"name":"react-hooks-lib","version":"0.0.15","main":"dist/react-hooks-lib.js","umd:main":"dist/react-hooks-lib.umd.js","module":"dist/react-hooks-lib.m.js","source":"src/index.js","license":"MIT","scripts":{"example":"parcel ./example/index.html --out-dir exampleDist","build":"microbundle -o dist/ --sourcemap false --compress false","dev":"microbundle watch -o dist/ --sourcemap false --compress false","test":"jest --coverage --config=jest.config.js","report-coverage":"cat ./coverage/lcov.info | coveralls"},"keywords":["react-hooks","hooks","react","utils"],"devDependencies":{"@babel/core":"^7.2.2","@babel/polyfill":"^7.2.5","@babel/preset-env":"^7.2.3","@babel/preset-react":"^7.0.0","@types/jest":"^23.3.10","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^23.6.0","coveralls":"^3.0.2","eslint":"^5.7.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"next","jest":"^23.6.0","jest-dom":"^3.0.0","microbundle":"^0.6.0","parcel-bundler":"^1.10.3","react":"16.7.0-alpha.2","react-dom":"16.7.0-alpha.2","react-testing-library":"^5.4.2","regenerator-runtime":"^0.13.1"},"peerDependencies":{"react":"^16.7.0-alpha.2"},"gitHead":"92e883a8c0b2d4c9649b10684568d56c9f8cf442","description":"A set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).","_id":"react-hooks-lib@0.0.15","_npmVersion":"5.6.0","_nodeVersion":"9.11.2","_npmUser":{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"},"dist":{"integrity":"sha512-u75n5FTd9bxM4ypANtgMeX7ZRcyCHUnOcZhTPrCpmxWx1fkg+OgtS4Vm3AQJJIHKAgOzPOGX+lL28iEs0I9Clg==","shasum":"9e722567ba3f454ec3b9fe42ece6589ba29efde9","tarball":"https://registry.npmjs.org/react-hooks-lib/-/react-hooks-lib-0.0.15.tgz","fileCount":39,"unpackedSize":487104,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcQFHeCRA9TVsSAnZWagAAiKIP/RBSTcKqJ0WNyHdoiyl4\n/7IoeLVkK164fRMSJ6lOOybEekc/9tRMpnnyBFsTsKx6qN7oYfCKZw5+Dde1\nqwBwLfJFwN8ngrxL5Dbst0qcBOuhLiVF2nJjygsjq40h69iubkTcy+eA35UV\nvdFMk5BOxRrw0FP3cYFnqUSROENQ9aQVkylRRrxyMVSvsCvyMjOWHoHJXIyb\nwfdLDmmFeI+PFgRQpi5Gh+vaUfyHHfKkV9Lhhwxj2e4vEf3Hk5qkOlN80u9S\neG2nvcXNNiKXjnchKbKXrrq8U6LRAmNd//ajfu3iXStNjRlhSsHPnk8C8LzF\ny55JLw6DbAeOY+r7Rs5uwpU21tmlHu6JJxGz2YmzJdtzoDAWyAQ2VEb/6gwa\nWNyNI/gxRxRXlymzuz+VAPYVoOGOt3ruhK3+UcRenFfUCB7Uyxajwz0KNZra\nvS1CauxDNzzZIv0ZSxflftyrM/QE8iX3MJWONsxB/a96Ovw+8RBUreGPqgNY\nzb50zueIPb26WYVAHeD09WeAE7VcGHJ4CiZex76eNURMuFaJGyn0ii+uIrGH\nyyKMBhUUKU6BX+kdw1CL58TFgBwjIwZFjNn9bGsQWR2Hx8FfHhtWq5oc3UF9\nEb7nLRJicYX01hObfsKE9r2nAb0rBosNv8vq+B5dtW8wNw3Tp9I7DkQNiILJ\n0f3B\r\n=h7kf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDKYplBxq7zwsZzytGnTTSTT27hl3GMxI5dOsp3XgXbRQIgR3qF8o7PoEb6wGVQGSPaZ0vGjdDIoRNkWWw6msEf8ss="}]},"maintainers":[{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hooks-lib_0.0.15_1547719134031_0.9315932398543816"},"_hasShrinkwrap":false},"0.0.16":{"name":"react-hooks-lib","version":"0.0.16","main":"dist/react-hooks-lib.js","umd:main":"dist/react-hooks-lib.umd.js","module":"dist/react-hooks-lib.m.js","source":"src/index.js","license":"MIT","scripts":{"example":"parcel ./example/index.html --out-dir exampleDist","build":"microbundle -o dist/ --sourcemap false --compress false","dev":"microbundle watch -o dist/ --sourcemap false --compress false","test":"jest --coverage --config=jest.config.js","report-coverage":"cat ./coverage/lcov.info | coveralls"},"keywords":["react-hooks","hooks","react","utils"],"devDependencies":{"@babel/core":"^7.2.2","@babel/polyfill":"^7.2.5","@babel/preset-env":"^7.2.3","@babel/preset-react":"^7.0.0","@types/jest":"^23.3.10","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^23.6.0","coveralls":"^3.0.2","eslint":"^5.7.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"next","jest":"^23.6.0","jest-dom":"^3.0.0","microbundle":"^0.6.0","parcel-bundler":"^1.10.3","react":"16.7.0-alpha.2","react-dom":"16.7.0-alpha.2","react-testing-library":"^5.4.2","regenerator-runtime":"^0.13.1"},"peerDependencies":{"react":"^16.7.0-alpha.2"},"gitHead":"a1d88fd4534d71f037b341bc5a8c3bdf4e0d25ee","description":"A set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).","_id":"react-hooks-lib@0.0.16","_npmVersion":"5.6.0","_nodeVersion":"9.11.2","_npmUser":{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"},"dist":{"integrity":"sha512-pPdxeMZu8RbkRvIziT/UA6tXnXo3gfdexaXEB+1QUHGfYY/wsZA0pPJNRdeZafNVAM9ljw2VWRcszHQ1vX1QdA==","shasum":"dc88968068f3449b4020ad099dc2f727ecb70d27","tarball":"https://registry.npmjs.org/react-hooks-lib/-/react-hooks-lib-0.0.16.tgz","fileCount":39,"unpackedSize":488523,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcSS2VCRA9TVsSAnZWagAA8ZMQAIiswwTgja2oxsbrOvI0\n99i2MzsiFN02WdPslXkJfj+TAB3/qIeSJjQptyJft8QdWQrnJos1axBsj30y\nD/RydSM4jljmr2mVRRXAgAepi1ZPf+meRLW7HaBBQ6sluTPvKqWJfWFW9tW3\nUSgg9h8BCsML1gxfGvZaTOlvaWaHlw8KXVyg9uaZn6s7Vs3vDaflhAKvwJK6\n4jgLRymQHzOvWK3tq1K5QW7D/zHYuzJYAGXTvoNIUhfN/KSaQZi/qoV9FE8U\n82uTZVj5NNsFCYXmtjvzOkoocKS2AGaQ2sPk5L0x/o/q51oKd2lZwqgOjEg6\n2KG4DnUT9ortsj62NbovbdSTzSF3whDLIixf2XJ5M/baCO7KJThayRgmgy/P\nv0tyvqNDlznhZzZK7UW9xNQ+4Dy++TVTpsqgdvIbhSgUEBFBZPIXSWT1sX44\nL7VV2pMgto9XfSHdeLtTTAGkLe1OcNxSHWj9lKyOglWNzi+A9B39hNYSWTff\n2pwILqyUyHzEtfJ7hmXdDC7aeAuw+ujlPGxQrut9+YsGeBpHXx8ZXIWDwTaA\n8ZqVQaK/WxR6B+ThCKSvbsvXGTVspEcuhkqPahG451iSwGVuBo7+tcztEQzE\nz9pKMvbWXrOm+DSbxkCOF7OuUc6zOux/PMBbndQq5z/oLgA/UYp4OknipQVx\nn7op\r\n=FzzJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCxInwYOhCzbHuaIBuhGb8/40ZcvLbLPWBmAOaXwYFG3gIhAMR+qL9kU2OuQQFKX7jgP9sLDDoBQnVWuQSEuGDcF/bZ"}]},"maintainers":[{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hooks-lib_0.0.16_1548299668326_0.13030276023093368"},"_hasShrinkwrap":false},"0.0.18":{"name":"react-hooks-lib","version":"0.0.18","main":"dist/react-hooks-lib.js","umd:main":"dist/react-hooks-lib.umd.js","module":"dist/react-hooks-lib.m.js","source":"src/index.js","license":"MIT","scripts":{"example":"parcel ./example/index.html --out-dir exampleDist","build":"microbundle -o dist/ --sourcemap false --compress false","dev":"microbundle watch -o dist/ --sourcemap false --compress false","test":"jest --coverage --config=jest.config.js","report-coverage":"cat ./coverage/lcov.info | coveralls"},"keywords":["react-hooks","hooks","react","utils"],"devDependencies":{"@babel/core":"^7.2.2","@babel/polyfill":"^7.2.5","@babel/preset-env":"^7.2.3","@babel/preset-react":"^7.0.0","@types/jest":"^23.3.10","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^23.6.0","coveralls":"^3.0.2","eslint":"^5.7.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"next","jest":"^23.6.0","jest-dom":"^3.0.0","microbundle":"^0.6.0","parcel-bundler":"^1.10.3","react":"^16.8.2","react-dom":"^16.8.2","react-hooks-testing-library":"^0.5.0","react-test-renderer":"^16.8.6","react-testing-library":"^5.9.0","regenerator-runtime":"^0.13.1"},"peerDependencies":{"react":"^16.8.0"},"gitHead":"602f5c7e120a8d9c87a9af513fd4632a1197a0f7","description":"A set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).","_id":"react-hooks-lib@0.0.18","_nodeVersion":"10.15.3","_npmVersion":"6.7.0","dist":{"integrity":"sha512-N0F1jH2UCnz0EXw+Uq8Fjz1ln7YLV31ChdHMUZZ/CNy4/9Oh5nYVTd58vj6nDfJiurB+22GdyPKvmnLlf7Tw7A==","shasum":"4b646ba503fcb1cb40febe97e43a356dc6a5c38c","tarball":"https://registry.npmjs.org/react-hooks-lib/-/react-hooks-lib-0.0.18.tgz","fileCount":41,"unpackedSize":506437,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc2rV2CRA9TVsSAnZWagAA8qkQAIBBMs36YKyyp8JH3PFh\nq5iphvOTADRvg+ABuZkxIN0SV98FK/8cNZgdpe6sC31aIJgKu3kNfxtKZjoJ\nMkcHUaFOHaA1GWwJ/KGFhYxhx2UGtIu8KXcP5qC1xTLpcIk/N+5KtMJV2DCs\nDaMjckAgs4bUMjPX5jMZ7csHNK+3NPDjk7EawlTcM9jHooBlvoBoYCYpfjz3\nCxCK52sRtx4hGeeEuQ+kwsdRjbr4o8xxDRi1EbjtcjWHkDumx4PBUGOxbHyu\nxjeYBRXUaMDpWHRATfUhnRCU/zO590V8QJwIqIKyevgWagH8h3BPJWsihZ4p\nEf8ADYssKFqy4eVoaIF4wojfFxC+FomVAE3tt1xR5mH/q2kjvM7GlVu2pMeP\nkKim+m+p2rkgcWeQdglkX0FG5aUUuXn8b/sDi/sTbwpJ0hrHTSFgGSDvJUwv\nlLHS8QoJ5VMr5S9XpgxWHxMFFLtm4mBdSWtVumj02/+5mbGeQyaRwYqGHtLJ\ncGp3wFR0jppehtfsWfV9VZa4jY8Thv8o5S4opuvv+khN9lC7MXToPh48A8kF\nAhpz6az30c2/SmDdN6EkmpnV5VVOgVEZC6jjs2LHslVgOo0PTUIDcmH0e27r\n5PSsTsBuukaz7qYcq6apfbT9VfZuxRlA5iKsQztYCcRx+0ECsNYgCCTKN8d6\ntq2Y\r\n=vlhB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICS7eZG5KxJirW2Xj76Ipe2yhLagcMm1E5DFz9ZjZSQCAiAILk4Py2VHQS1X1Y2HDiE5nQpyeautZGAVsZjrA0UQqg=="}]},"maintainers":[{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"}],"_npmUser":{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hooks-lib_0.0.18_1557837174325_0.9971083996503427"},"_hasShrinkwrap":false},"0.0.19":{"name":"react-hooks-lib","version":"0.0.19","main":"dist/react-hooks-lib.js","umd:main":"dist/react-hooks-lib.umd.js","module":"dist/react-hooks-lib.m.js","source":"src/index.js","license":"MIT","scripts":{"example":"parcel ./example/index.html --out-dir exampleDist","build":"microbundle -o dist/ --sourcemap false --no-compress","dev":"microbundle watch -o dist/ --sourcemap false --no-compress","test":"jest --coverage --config=jest.config.js","report-coverage":"cat ./coverage/lcov.info | coveralls","storybook":"start-storybook -p 6006","build-storybook":"build-storybook","deploy-storybook":"storybook-to-ghpages"},"keywords":["react-hooks","hooks","react","utils"],"resolutions":{"@babel/core":"^7.5.4"},"devDependencies":{"@babel/core":"^7.5.4","@babel/plugin-proposal-object-rest-spread":"^7.5.4","@babel/polyfill":"^7.2.5","@babel/preset-env":"^7.2.3","@babel/preset-react":"^7.0.0","@storybook/addon-actions":"^5.1.9","@storybook/addon-links":"^5.1.9","@storybook/addons":"^5.1.9","@storybook/react":"^5.1.9","@storybook/storybook-deployer":"^2.8.1","@types/jest":"^23.3.10","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^23.6.0","babel-loader":"^8.0.6","coveralls":"^3.0.2","eslint":"^5.7.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"next","jest":"^23.6.0","jest-dom":"^3.0.0","microbundle":"^0.11.0","parcel-bundler":"^1.10.3","react":"^16.8.2","react-dom":"^16.8.2","react-hooks-testing-library":"^0.5.0","react-test-renderer":"^16.8.6","react-testing-library":"^5.9.0","regenerator-runtime":"^0.13.1","storybook-addon-react-live-edit":"^2.0.4"},"peerDependencies":{"react":"^16.8.0"},"dependencies":{},"gitHead":"a92e454e8b852cc52adfb9ffc6401d42d7175917","description":"A set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).","_id":"react-hooks-lib@0.0.19","_nodeVersion":"11.13.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-5jABisSpTcZi9GMMYBQU1EcdElDZpbjlzFSYrQeJwTWucijdbzB4O4zyusDRhYoW15E+x0c5XtKOvN8ewzM+jQ==","shasum":"58f3cf3b4f656e566c8cc2daa062618893456f9d","tarball":"https://registry.npmjs.org/react-hooks-lib/-/react-hooks-lib-0.0.19.tgz","fileCount":48,"unpackedSize":668230,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdKzZeCRA9TVsSAnZWagAA65sP/ivvmmLv/w+wbDENN/Ej\noewvTF7wY4qPuDgCC5GB3prGpbGbLhmZeZXU6PlKFAfXcfOOWNR9UwGNnhLx\nqnEJ4/w9lZ6jakcH3ObZivyeapGoAs+GKcSKW2znZolfgg4kccjNGQ6c9JQr\nDJBr3i99C7VsthY5jtNSwa1L7oESLLcU71bZuqvWKly2EwEMXhbAfIdW6gxf\n6KkjSAYix9L6jlmD5i2Sk/tPzev9xjlhn8tnE1pTgf4HM0wY2S53vspgvroh\nGIFRYrPQaeD1K4/NYEC9jyUt/U8+qNOrnikh7KFAAGcID5O964+0NVqlYK8O\n49Y0/6Du5niKUoaYxFg49zDkzJ3xc0ZoTYbnf0uOMxzH7kDAx6xkyTyp8kSx\nrOPIrflvqPP3YhiiB9QgAH83bgh+zkNWhDCr/mvJsNCDDwFSiHavqtkYbNBV\naI4Fg1mdqx5i2W1/ad8TWo+fHtauVLwrtMUrKZWB09DgCSWPqbnGKfa7DQ5g\nD3Lwpeh9mtzlCGeokCaNgtyFkutislJOOO9PFOlfEP6YMQqLXxd0bmLSeaVW\ni7aD3GjRYSsoIg/Py1TqhGoOWcP0zEa5LKvorKEX3VCkG0hnnWvdWilrVlh6\nPkTycQbedu8CoVg/+qwm8VqobDOQTwYTRMOYlfodWs+EUstP0tiieYOJfRdi\nNa4X\r\n=gCsu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDo/yw1itP/kFY3R19J4tnECou0l1zrMNjOYcXnfIUSfAiEAgCqSek+aB7v48VW+uPNzTjKnLJd5hM0FPx0QmfJjNrE="}]},"maintainers":[{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"}],"_npmUser":{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hooks-lib_0.0.19_1563113053409_0.5050123110955222"},"_hasShrinkwrap":false},"0.0.20":{"name":"react-hooks-lib","version":"0.0.20","main":"dist/react-hooks-lib.js","umd:main":"dist/react-hooks-lib.umd.js","module":"dist/react-hooks-lib.m.js","source":"src/index.js","license":"MIT","scripts":{"example":"parcel ./example/index.html --out-dir exampleDist","build":"microbundle -o dist/ --sourcemap false --no-compress","dev":"microbundle watch -o dist/ --sourcemap false --no-compress","test":"jest --coverage --config=jest.config.js","report-coverage":"cat ./coverage/lcov.info | coveralls","storybook":"start-storybook -p 6006","build-storybook":"build-storybook","deploy-storybook":"storybook-to-ghpages"},"keywords":["react-hooks","hooks","react","utils"],"resolutions":{"@babel/core":"^7.5.4"},"devDependencies":{"@babel/core":"^7.5.4","@babel/plugin-proposal-object-rest-spread":"^7.5.4","@babel/polyfill":"^7.2.5","@babel/preset-env":"^7.2.3","@babel/preset-react":"^7.0.0","@storybook/addon-actions":"^5.1.9","@storybook/addon-links":"^5.1.9","@storybook/addons":"^5.1.9","@storybook/react":"^5.1.9","@storybook/storybook-deployer":"^2.8.1","@testing-library/react-hooks":"^1.1.0","@types/jest":"^23.3.10","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^23.6.0","babel-loader":"^8.0.6","coveralls":"^3.0.2","eslint":"^5.7.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"^1.6.1","jest":"^23.6.0","jest-dom":"^3.0.0","microbundle":"^0.11.0","parcel-bundler":"^1.10.3","react":"^16.8.2","react-dom":"^16.8.2","react-test-renderer":"^16.8.6","react-testing-library":"^5.9.0","regenerator-runtime":"^0.13.1","storybook-addon-react-live-edit":"^2.0.4"},"peerDependencies":{"react":"^16.8.0"},"dependencies":{},"gitHead":"6c6f731f8008e861fb4411c84f23f0ba18cca2d3","description":"A set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).","_id":"react-hooks-lib@0.0.20","_nodeVersion":"11.13.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-SeTOp23ADtWu/mi4TSHawAKZl0oq7M4JJBifgxUAtG4CtopQOW+fceutA0TyRR1NqSM0wo1bAdXNSIInsAbzqw==","shasum":"885938665dd342daa452a94465f66ab03fad7386","tarball":"https://registry.npmjs.org/react-hooks-lib/-/react-hooks-lib-0.0.20.tgz","fileCount":48,"unpackedSize":665296,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdTBHqCRA9TVsSAnZWagAAw1sP/1SILcqXXOTV9CAnTZ5j\n1S54z8YisYvvQ0EJtmf8GUH4/5axVOtgbVjONXL7I9CP5piSsoFchD+sezdj\n2YnyPC96XQ3TIwsccXn4rxeGaUqxlCmww1AVGvxuU/qyG029Q+yGDxXe0ngC\nlGbzLW9OzCww4gfzSw7clIYYgBiiCPhGiBcUZQp3F8BIumniGAwo5/NlORHG\nOouxwDTZjra5tB9VxNzr/5Ty8w6iFFukCyXeioHX2fGX5itJgRoVZtgVqHFF\n81E/xaLx0FBSTWCFbwt+TGQGqQn+s/SH4OcoDNiCnCIgiOwWapQLjhu6+9VI\n0Dd2PXSjfR1Fg6ZQgAg+q6vmiHpv92roiUI5KEZDbo7uSQPO4R/z9Mn2a0OX\njZCyAIRb/pKITY6CRTlrDN6d889uEN26V+GhpC+refl62kF7vckjv3F0eKfh\nakU2FmUZczwuWiUCQTN4nzBIxtdMFNDWbxfV+Zidfh4lRiJyysaIGVbp/dxU\ntCmLO0JOng61jgByFrZp3SL/7LjMaoOKJ88lMiYTWFogClpcstaCkI5IvQNy\nXhpCrxswRqm4Rtl5XkYTSwDvjlNGUnRNGXKIBkPjh/dYCcbBBtA9a2HjvqAJ\n0HbGlFT9UuKanUvIGNoIKixmmJVTJCe91EOMo20x9Q5wej/1/+j9SnmH9BUX\nO6F3\r\n=UoOo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEQ91Cxtj6bJsxFv9Ej+twksVzYj5U3zq6lJ5rgNBFtcAiEAzOy7rdcKSHa2ft1H8Ljpyu76hxvtB2gTAGbCFUm0O18="}]},"maintainers":[{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"}],"_npmUser":{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hooks-lib_0.0.20_1565266410140_0.09898160387865818"},"_hasShrinkwrap":false},"0.1.0":{"name":"react-hooks-lib","version":"0.1.0","main":"dist/react-hooks-lib.js","umd:main":"dist/react-hooks-lib.umd.js","module":"dist/react-hooks-lib.m.js","source":"src/index.js","license":"MIT","scripts":{"build":"microbundle -o dist/ --sourcemap false --no-compress","dev":"microbundle watch -o dist/ --sourcemap false --no-compress","test":"jest --coverage --config=jest.config.js","report-coverage":"cat ./coverage/lcov.info | coveralls","storybook":"start-storybook -p 6006 --ci","build-storybook":"build-storybook","deploy-storybook":"storybook-to-ghpages","semantic-release":"semantic-release"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"husky":{"hooks":{"pre-push":"yarn test","prepare-commit-msg":"exec < /dev/tty && git cz --hook || true"}},"keywords":["react-hooks","hooks","react","utils"],"resolutions":{"@babel/core":"^7.5.4"},"devDependencies":{"@babel/core":"^7.5.4","@babel/plugin-proposal-object-rest-spread":"^7.5.4","@babel/polyfill":"^7.2.5","@babel/preset-env":"^7.2.3","@babel/preset-react":"^7.0.0","@semantic-release/changelog":"^3.0.4","@semantic-release/git":"^7.0.16","@storybook/addon-actions":"^5.1.9","@storybook/addon-links":"^5.1.9","@storybook/addons":"^5.1.9","@storybook/react":"^5.1.9","@storybook/storybook-deployer":"^2.8.1","@testing-library/react-hooks":"^1.1.0","@types/jest":"^23.3.10","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^23.6.0","babel-loader":"^8.0.6","commitizen":"^4.0.3","coveralls":"^3.0.2","eslint":"^5.7.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"^1.6.1","husky":"^3.0.3","jest":"^23.6.0","jest-dom":"^3.0.0","microbundle":"^0.11.0","parcel-bundler":"^1.10.3","react":"^16.8.2","react-dom":"^16.8.2","react-test-renderer":"^16.8.6","react-testing-library":"^5.9.0","regenerator-runtime":"^0.13.1","semantic-release":"^15.13.19","storybook-addon-react-live-edit":"^2.0.4"},"peerDependencies":{"react":"^16.8.0"},"dependencies":{"lodash.isequal":"^4.5.0","shallowequal":"^1.1.0"},"repository":{"type":"git","url":"git+https://github.com/beizhedenglong/react-hooks-lib.git"},"gitHead":"7c9abe77da52fc6d4b39859e3ef44403d6fd50d6","description":"A set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).","bugs":{"url":"https://github.com/beizhedenglong/react-hooks-lib/issues"},"homepage":"https://github.com/beizhedenglong/react-hooks-lib#readme","_id":"react-hooks-lib@0.1.0","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-3NPnGYhk8KqmzT9GsaUdkl4hXdi7cgn0aUL1t5ot8TMhB7iZS14AT/15mv8q8/5ZyHuTgD5XOZaEz8fI6Sc1ew==","shasum":"8b3278a4a3ebc826743992475f85fb7a4dd8e103","tarball":"https://registry.npmjs.org/react-hooks-lib/-/react-hooks-lib-0.1.0.tgz","fileCount":56,"unpackedSize":1420905,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdrav5CRA9TVsSAnZWagAAArsQAKQZyL1vLf76r1+kkfG8\ne5uQwLlheDtTNShPgWtB63wEmihE9LbQ085CL6mC46cNo/3RAKyehq0PG1ls\nwLNLf0GFGtqbrrilUTUoMZjcEUztJtA1Grq2TeOED+12ret77jDugDQiVKkz\nNZ8LWYF7woqV3oemZ2M9vJ133/NU3dNnA1RjZipbFWIrrbER1TzLr0lUrMch\nkVfTUyB5rBrJ4VdwIdb+ZDhhysEyPbEile4EFQbdXeznaf7ZQKvJeyzpkgwb\nA1oRId0WHMXVNlZak7nVo7FLq/9ap4XvkU/xX/loihHZZcQdYIYh9E6gTFlz\nCCGm9ere/zfQDew4zGL9LCIa4H/EDY8iHnB1bMWq88K5p+GY9dhlax8IOLkd\nqbu01HUfb1djCJwRSmz4N9GFc/cJF9knUTma+kxhsC70nkqXoSlqx4ACG9xW\nknB0xQe2TEZQcMcXkuh3TRXxQB8LHidlsY2RLiYJAZlAuME0HNTPM2GHdOYH\nh/3VohF3oFQ3WuWNebPtDZaOZ4LoxOx9FuL35mZ9kjQXIkgdBi/jVXg52cDn\n0U873DOUTjZT1MsfL2756pEswuhhChlcDdaraj4z/H7+1ubmyV2h97Efb6m8\nmZ392sWiQU5zQ1bgHXBU86f8W5v2v//gcMimaXPPUvZKqifPm8DOWfNmx7mS\nnquT\r\n=xva0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfn4Fw9kBTuhARkQl6RH5fPQJ3jGlE3XuSyK1osTLbtQIhAPI2hwf5T2DU/qAnA48ls25sKkwnT7PbVQfuJNzisxeE"}]},"maintainers":[{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"}],"_npmUser":{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hooks-lib_0.1.0_1571662839882_0.17953429989911962"},"_hasShrinkwrap":false},"0.1.1":{"name":"react-hooks-lib","version":"0.1.1","main":"dist/react-hooks-lib.js","umd:main":"dist/react-hooks-lib.umd.js","module":"dist/react-hooks-lib.m.js","source":"src/index.js","license":"MIT","scripts":{"build":"microbundle -o dist/ --sourcemap false --no-compress --jsx React.createElement","dev":"microbundle watch -o dist/ --sourcemap false --no-compress --jsx React.createElement","test":"jest --coverage --config=jest.config.js","report-coverage":"cat ./coverage/lcov.info | coveralls","storybook":"start-storybook -p 6006 --ci","build-storybook":"build-storybook","deploy-storybook":"storybook-to-ghpages","semantic-release":"semantic-release"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"husky":{"hooks":{"pre-push":"yarn test","prepare-commit-msg":"exec < /dev/tty && git cz --hook || true"}},"keywords":["react-hooks","hooks","react","utils"],"resolutions":{"@babel/core":"^7.5.4"},"devDependencies":{"@babel/core":"^7.5.4","@babel/plugin-proposal-object-rest-spread":"^7.5.4","@babel/polyfill":"^7.2.5","@babel/preset-env":"^7.2.3","@babel/preset-react":"^7.0.0","@semantic-release/changelog":"^3.0.4","@semantic-release/git":"^7.0.16","@storybook/addon-actions":"^5.1.9","@storybook/addon-links":"^5.1.9","@storybook/addons":"^5.1.9","@storybook/react":"^5.1.9","@storybook/storybook-deployer":"^2.8.1","@testing-library/react-hooks":"^1.1.0","@types/jest":"^23.3.10","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^23.6.0","babel-loader":"^8.0.6","commitizen":"^4.0.3","coveralls":"^3.0.2","eslint":"^5.7.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"^1.6.1","husky":"^3.0.3","jest":"^23.6.0","jest-dom":"^3.0.0","microbundle":"^0.11.0","parcel-bundler":"^1.10.3","react":"^16.8.2","react-dom":"^16.8.2","react-test-renderer":"^16.8.6","react-testing-library":"^5.9.0","regenerator-runtime":"^0.13.1","semantic-release":"^15.13.19","storybook-addon-react-live-edit":"^2.0.4"},"peerDependencies":{"react":"^16.8.0"},"dependencies":{"lodash.isequal":"^4.5.0","shallowequal":"^1.1.0"},"repository":{"type":"git","url":"git+https://github.com/beizhedenglong/react-hooks-lib.git"},"readme":"# React Hooks Lib &middot; ![](https://img.shields.io/github/license/beizhedenglong/react-hooks-lib.svg) [![Build Status](https://travis-ci.org/beizhedenglong/react-hooks-lib.svg?branch=master)](https://travis-ci.org/beizhedenglong/react-hooks-lib) [![Coverage Status](https://coveralls.io/repos/github/beizhedenglong/react-hooks-lib/badge.svg?branch=master&service=github)](https://coveralls.io/github/beizhedenglong/react-hooks-lib?branch=master)\n\nA set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).\n\n>Hooks are a new addition in React 16.8. They let you use state and other React features without writing a class.\n\n## Installation\n`npm i react-hooks-lib --save`\n\n## Examples\nVisit [storybook](https://beizhedenglong.github.io/react-hooks-lib)\n\n## Hooks\n\n| Name                                                     | Arguments                          | Returns                                                      |\n| -------------------------------------------------------- | ---------------------------------- | ------------------------------------------------------------ |\n| <h6>Lifecycles</h6>                                      |                                    |                                                              |\n| [`useDidMount`](#usedidmountf)                           | f                                  | -                                                            |\n| [`useWillUnmount`](#usewillunmountf)                     | f                                  | -                                                            |\n| [`useDidUpdate`](#usedidupdatef-options)                 | f, conditions                      | -                                                            |\n| <h6>State</h6>                                           |                                    |                                                              |\n| [`createContextState`](#createContextStateInitial)       | initial                            | { ContextProvider, ContextConsumer,  set, useContextState }  |\n| [`createGlobalState`](#createGlobalStateInitial)         | initial                            | { GlobalProvider, GlobalConsumer, set, useGlobalState }      |\n| [`useMergeState`](#usemergestateinitial)                 | initial                            | { state, set }                                               |\n| [`useStateCallback`](#useStateCallbackInitial-f)         | initial, f                         | { state, set }                                               |\n| [`useUndo`](#useUndoInitial)                             | initial                            | { past, present, future, set, undo, redo }                   |\n| [`useCounter`](#useCounterInitial)                       | initial                            | { count, set, reset, inc, dec }                              |\n| [`useToggle`](#useToggleInitial)                         | initial                            | { on, set, reset, toggle }                                   |\n| [`useList`](#useListInitial)                             | initial                            | { list, set, reset, push, sort, filter }                     |\n| [`useMap`](#useMapInitial)                               | initial                            | { values, set, reset, clear, get, has, del }                 |\n| <h6>Effect</h6>                                      |                                    |                                                              |\n| `useShallowEqualEffect`                                  | f, deps                            | -                                                            |\n| `useDeepEqualEffect`                                     | f, deps                            | -                                                            |\n| <h6>Network</h6>                                         |                                    |                                                              |\n| [`useFetch`](#useFetchInitialUrl-initialOptions-onMount) | initialUrl, initialOptions, config | { loading, data, error, fetch, setUrl, setOptions, setData } |\n| [`useOnlineStatus`](#useonlinestatus)                    |                                    |                                                              |\n| <h6>Feedback</h6>                                        |                                    |                                                              |\n| [`useHover`](#useHover)                                  | -                                  | { hovered, bind }                                            |\n| [`useActive`](#useActive)                                | -                                  | { active, bind }                                             |\n| [`useFocus`](#useFocus)                                  | -                                  | { focused, bind }                                            |\n| [`useTouch`](#useTouch)                                  | -                                  | { touched, bind }                                            |\n| <h6>Data Entry</h6>                                      |                                    |                                                              |\n| [`useField`](#useFieldInitial)                           | initial                            | { value, set, reset, bind }                                  |\n\n\n## API\n\n### `useDidMount(f)`\nSimilar to `componentDidMount` in React class component. \n#### Arguments\n- `f: () => void`: f is  called when component did mount.\n```js\nimport { useDidMount } from 'react-hooks-lib'\n\nconst MyComponent = () => {\n  useDidMount(() => {\n    console.log('didMount')\n  })\n}\n```\n\n### `useWillUnmount(f)`\nClose to the `componentWillUnmount` in React class component.\n#### Arguments\n- `f: () => void`: f is called when component will unmount.\n```js\nimport { useWillUnmount } from 'react-hooks-lib'\n\nconst MyComponent = () => {\n  useWillUnmount(() => {\n    console.log('willUnmount')\n  })\n}\n```\n\n### `useDidUpdate(f, options?)`\nSimilar to `componentDidUpdate`, it only runs on updates.\n#### Arguments\n- `f: () => Function | void`: f is called on every updates. Like `useEffect`, f can return a clean-up function.\n- `conditions?: Array<any>`: Optional array for conditionally firing an effect, same as the second argument passed to `useEffect`.\n```js\nimport { useDidUpdate, useCounter } from 'react-hooks-lib'\n\nconst MyComponent = () => {\n  const { count, inc } = useCounter(0)\n  useDidUpdate(() => {\n    console.log('DidUpdate')\n  })\n  return (\n    <div>\n      {`count: ${count}`}\n      <button onClick={() => inc(1)}>+1</button>\n    </div>\n  )\n}\n```\n### `createContextState(initial?)`\n\n### `createGlobalState(initial?)`\n\n### `useMergeState(initial?)`\n#### Arguments\n- `initial?: Object`: Initial state object, default is `{}`.\n#### Returns\n- `state: Object`: Current state object.\n- `set: ((Object) => Object) | Object`: Like `setState` in React class component, merge the old and new state together.\n```js\nimport { useMergeState } from 'react-hooks-lib'\n\nconst MergeState = () => {\n  const { state, set } = useMergeState({ name: 'Victor', age: 1 })\n  return (\n    <div>\n      <h3>useMergeState</h3>\n      <div>\n        {`state: ${JSON.stringify(state)}`}\n        <button onClick={() => set(({ age }) => ({ age: age + 1 }))}>age+1</button>\n      </div>\n    </div>\n  )\n}\n```\n\n### `useStateCallback(initial, f?)`\n\n### `useUndo(initial)`\n\n### `useCounter(initial)`\n```js\nimport { useCounter } from 'react-hooks-lib'\n\nconst Counter = () => {\n  const {\n    count, inc, dec, reset,\n  } = useCounter(1)\n  return (\n    <div>\n      {count}\n      <button onClick={() => inc(1)}>+1</button>\n      <button onClick={() => dec(1)}>-1</button>\n      <button onClick={reset}>reset</button>\n    </div>\n  )\n}\n\n```\n### `useToggle(initial)`\n```js\nimport { useToggle } from 'react-hooks-lib'\n\nconst Toggle = () => {\n  const { on, toggle, reset } = useToggle(false)\n  return (\n    <div>\n      {String(on)}\n      <button onClick={toggle}>toggle</button>\n      <button onClick={reset}>reset</button>\n    </div>\n  )\n}\n```\n\n### `useList(initial)`\n```js\nimport { useList } from 'react-hooks-lib'\nconst List = () => {\n  const { list, sort, filter } = useList([1, 4, 2, 3, 4, 2, 6, 8, 3, 4])\n  return (\n    <div>\n      list:\n      {JSON.stringify(list)}\n      <button onClick={() => sort((x, y) => x - y)}>sort</button>\n      <button onClick={() => filter(x => x >= 4)}> greater than or equal to 4</button>\n    </div>\n  )\n}\n```\n\n### `useMap(initial)`\n\n### `useFetch(initialUrl, initialOptions?, onMount?)`\n```js\nimport { useField, useFetch } from 'react-hooks-lib'\n\nconst Fetch = () => {\n  const getUrl = text => `https://api.github.com/search/repositories?q=${text}`\n  const { value, bind } = useField('react')\n  const { data, loading, setUrl } = useFetch(getUrl('react'))\n  return (\n    <div>\n      <h3>useFetch</h3>\n      <input type=\"text\" value={value} {...bind} />\n      <button onClick={() => {\n        setUrl(getUrl(value))\n      }}\n      >\n        search\n      </button>\n      {\n        loading\n          ? <div>Loading...</div>\n          : (<span>{`total_count: ${data.total_count}`}</span>)\n      }\n    </div>\n  )\n}\n```\n\n### `useOnlineStatus()`\n\n### `useHover()`\n\n``` js\nimport { useHover } from 'react-hooks-lib'\n\nconst Hover = () => {\n  const { hovered, bind } = useHover()\n  return (\n    <div>\n      <div {...bind}>\n        hovered:\n        {String(hovered)}\n      </div>\n    </div>\n  )\n}\n```\n\n### `useActive()`\n\n### `useFocus()`\n\n### `useTouch()`\n\n### `useField(initial)`\n```js\n  import {useField} from 'react-hooks-lib'\n\n  const Input = () => {\n    const { value, bind } = useField('Type Here...')\n\n    return (\n      <div>\n        input text:\n        {value}\n        <input type=\"text\" {...bind} />\n      </div>\n    )\n  }\n\n  const Select = () => {\n    const { value, bind } = useField('apple')\n    return (\n      <div>\n        selected:\n        {value}\n        <select {...bind}>\n          <option value=\"apple\">apple</option>\n          <option value=\"orange\">orange</option>\n        </select>\n      </div>\n    )\n  }\n```\n","readmeFilename":"README.md","gitHead":"d8e78a66fbd832f03c96c77f74f80d0c4c5915b5","description":"A set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).","bugs":{"url":"https://github.com/beizhedenglong/react-hooks-lib/issues"},"homepage":"https://github.com/beizhedenglong/react-hooks-lib#readme","_id":"react-hooks-lib@0.1.1","_nodeVersion":"12.12.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-sLn8db8hwYpXQwx1KRqh0ipmDc+aKyODTfebWNNYpHtA4HNB3ma/AhcP6m756wZAgOLCLWwve6xaix5Xrq4gkg==","shasum":"9698d94a9eba11c242784069c27668f612057e46","tarball":"https://registry.npmjs.org/react-hooks-lib/-/react-hooks-lib-0.1.1.tgz","fileCount":52,"unpackedSize":101306,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHBq3CRA9TVsSAnZWagAAsQIP/0HEvpfowjT5M+QGxtu4\nMmFpXnE18EiW2jvWupP8jiYuHU0AACFaWx01h5z4yxFlPbda8zm64twiENF2\n6gWjWVuLq/BwTdb/NxjH46O+0HsdLBXTkBGAr3yzuDe9M1cfIIdhA0RdtwQs\nAlAtmsQP4Lz6rIzRtZMWy2ZIoEBQd1NdKof13yJGrpv5S7aLsThSx/3FaMew\nigwFn7feTs+d092iyNRjSYdIwlIQSwiMik6QVWe6Y1KS8Jau6qsqHFcuRK+B\nSCFIVuYpMIjViu9YCL6lOVW6f5QoK6ey+EV5pz0Qiqc4+e/57+8GO2Z5wCFz\nSFa1ifKcpGtamOp2uhQOhEGnRE2kEKg3yVzbbYE/bodEVKLG0/SdFo8uZLy1\nFV2qAImCxpezCqooWqlEQDA0Ubv5YIeKTr0F1aZOQQcPM1bsFyS8EfI6yTwU\nCPtjW3+pQtSk+tod/+P0NB5sJunbdgkExVCFZrh4S3QQ2Vqu8VCbngEQHJmO\nOU9SoiEF8z3axZIpuOYMnlCyLA0zbccl0RULTf6E+Ek7iKn4RAdC9TzjrswC\nw/PWrjJdUnXmzkGBgV7EBLLBnhyR38fQYX+Ju4bNGMzqoRM7yCNilSiIW6RW\n9kntGsby7FLM5v8a3OeclYKqqC07TZ+GwBDWHtWZRrPQRhyfQjf6h97mR1iI\n0Tpm\r\n=FT7A\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1JMAEURYbsoHHRG136EjBD3JArKMWiiEl+305mpcAnAIhALayUStVn8lgyHuAIZozJff5Qa1fEZZqJ6TgyCTqEeSi"}]},"maintainers":[{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"}],"_npmUser":{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hooks-lib_0.1.1_1578900150916_0.5933199709044992"},"_hasShrinkwrap":false},"0.1.2":{"name":"react-hooks-lib","version":"0.1.2","main":"dist/react-hooks-lib.js","umd:main":"dist/react-hooks-lib.umd.js","module":"dist/react-hooks-lib.m.js","source":"src/index.js","license":"MIT","scripts":{"build":"microbundle -o dist/ --sourcemap false --no-compress --jsx react","dev":"microbundle watch -o dist/ --sourcemap false --no-compress --jsx react","test":"jest --coverage --config=jest.config.js","report-coverage":"cat ./coverage/lcov.info | coveralls","storybook":"start-storybook -p 6006 --ci","build-storybook":"build-storybook","deploy-storybook":"storybook-to-ghpages","semantic-release":"semantic-release"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"husky":{"hooks":{"pre-push":"yarn test","prepare-commit-msg":"exec < /dev/tty && git cz --hook || true"}},"keywords":["react-hooks","hooks","react","utils"],"resolutions":{"@babel/core":"^7.5.4"},"devDependencies":{"@babel/core":"^7.5.4","@babel/plugin-proposal-object-rest-spread":"^7.5.4","@babel/polyfill":"^7.2.5","@babel/preset-env":"^7.2.3","@babel/preset-react":"^7.0.0","@semantic-release/changelog":"^3.0.4","@semantic-release/git":"^7.0.16","@storybook/addon-actions":"^5.1.9","@storybook/addon-links":"^5.1.9","@storybook/addons":"^5.1.9","@storybook/react":"^5.1.9","@storybook/storybook-deployer":"^2.8.1","@testing-library/react-hooks":"^1.1.0","@types/jest":"^23.3.10","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^23.6.0","babel-loader":"^8.0.6","commitizen":"^4.0.3","coveralls":"^3.0.2","eslint":"^5.7.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"^1.6.1","husky":"^3.0.3","jest":"^23.6.0","jest-dom":"^3.0.0","microbundle":"^0.11.0","parcel-bundler":"^1.10.3","react":"^16.8.2","react-dom":"^16.8.2","react-test-renderer":"^16.8.6","react-testing-library":"^5.9.0","regenerator-runtime":"^0.13.1","semantic-release":"^15.13.19","storybook-addon-react-live-edit":"^2.0.4"},"peerDependencies":{"react":"^16.8.0"},"dependencies":{"lodash.isequal":"^4.5.0","shallowequal":"^1.1.0"},"repository":{"type":"git","url":"git+https://github.com/beizhedenglong/react-hooks-lib.git"},"readme":"# React Hooks Lib &middot; ![](https://img.shields.io/github/license/beizhedenglong/react-hooks-lib.svg) [![Build Status](https://travis-ci.org/beizhedenglong/react-hooks-lib.svg?branch=master)](https://travis-ci.org/beizhedenglong/react-hooks-lib) [![Coverage Status](https://coveralls.io/repos/github/beizhedenglong/react-hooks-lib/badge.svg?branch=master&service=github)](https://coveralls.io/github/beizhedenglong/react-hooks-lib?branch=master)\n\nA set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).\n\n>Hooks are a new addition in React 16.8. They let you use state and other React features without writing a class.\n\n## Installation\n`npm i react-hooks-lib --save`\n\n## Examples\nVisit [storybook](https://beizhedenglong.github.io/react-hooks-lib)\n\n## Hooks\n\n| Name                                                     | Arguments                          | Returns                                                      |\n| -------------------------------------------------------- | ---------------------------------- | ------------------------------------------------------------ |\n| <h6>Lifecycles</h6>                                      |                                    |                                                              |\n| [`useDidMount`](#usedidmountf)                           | f                                  | -                                                            |\n| [`useWillUnmount`](#usewillunmountf)                     | f                                  | -                                                            |\n| [`useDidUpdate`](#usedidupdatef-options)                 | f, conditions                      | -                                                            |\n| <h6>State</h6>                                           |                                    |                                                              |\n| [`createContextState`](#createContextStateInitial)       | initial                            | { ContextProvider, ContextConsumer,  set, useContextState }  |\n| [`createGlobalState`](#createGlobalStateInitial)         | initial                            | { GlobalProvider, GlobalConsumer, set, useGlobalState }      |\n| [`useMergeState`](#usemergestateinitial)                 | initial                            | { state, set }                                               |\n| [`useStateCallback`](#useStateCallbackInitial-f)         | initial, f                         | { state, set }                                               |\n| [`useUndo`](#useUndoInitial)                             | initial                            | { past, present, future, set, undo, redo }                   |\n| [`useCounter`](#useCounterInitial)                       | initial                            | { count, set, reset, inc, dec }                              |\n| [`useToggle`](#useToggleInitial)                         | initial                            | { on, set, reset, toggle }                                   |\n| [`useList`](#useListInitial)                             | initial                            | { list, set, reset, push, sort, filter }                     |\n| [`useMap`](#useMapInitial)                               | initial                            | { values, set, reset, clear, get, has, del }                 |\n| <h6>Effect</h6>                                      |                                    |                                                              |\n| `useShallowEqualEffect`                                  | f, deps                            | -                                                            |\n| `useDeepEqualEffect`                                     | f, deps                            | -                                                            |\n| <h6>Network</h6>                                         |                                    |                                                              |\n| [`useFetch`](#useFetchInitialUrl-initialOptions-onMount) | initialUrl, initialOptions, config | { loading, data, error, fetch, setUrl, setOptions, setData } |\n| [`useOnlineStatus`](#useonlinestatus)                    |                                    |                                                              |\n| <h6>Feedback</h6>                                        |                                    |                                                              |\n| [`useHover`](#useHover)                                  | -                                  | { hovered, bind }                                            |\n| [`useActive`](#useActive)                                | -                                  | { active, bind }                                             |\n| [`useFocus`](#useFocus)                                  | -                                  | { focused, bind }                                            |\n| [`useTouch`](#useTouch)                                  | -                                  | { touched, bind }                                            |\n| <h6>Data Entry</h6>                                      |                                    |                                                              |\n| [`useField`](#useFieldInitial)                           | initial                            | { value, set, reset, bind }                                  |\n\n\n## API\n\n### `useDidMount(f)`\nSimilar to `componentDidMount` in React class component. \n#### Arguments\n- `f: () => void`: f is  called when component did mount.\n```js\nimport { useDidMount } from 'react-hooks-lib'\n\nconst MyComponent = () => {\n  useDidMount(() => {\n    console.log('didMount')\n  })\n}\n```\n\n### `useWillUnmount(f)`\nClose to the `componentWillUnmount` in React class component.\n#### Arguments\n- `f: () => void`: f is called when component will unmount.\n```js\nimport { useWillUnmount } from 'react-hooks-lib'\n\nconst MyComponent = () => {\n  useWillUnmount(() => {\n    console.log('willUnmount')\n  })\n}\n```\n\n### `useDidUpdate(f, options?)`\nSimilar to `componentDidUpdate`, it only runs on updates.\n#### Arguments\n- `f: () => Function | void`: f is called on every updates. Like `useEffect`, f can return a clean-up function.\n- `conditions?: Array<any>`: Optional array for conditionally firing an effect, same as the second argument passed to `useEffect`.\n```js\nimport { useDidUpdate, useCounter } from 'react-hooks-lib'\n\nconst MyComponent = () => {\n  const { count, inc } = useCounter(0)\n  useDidUpdate(() => {\n    console.log('DidUpdate')\n  })\n  return (\n    <div>\n      {`count: ${count}`}\n      <button onClick={() => inc(1)}>+1</button>\n    </div>\n  )\n}\n```\n### `createContextState(initial?)`\n\n### `createGlobalState(initial?)`\n\n### `useMergeState(initial?)`\n#### Arguments\n- `initial?: Object`: Initial state object, default is `{}`.\n#### Returns\n- `state: Object`: Current state object.\n- `set: ((Object) => Object) | Object`: Like `setState` in React class component, merge the old and new state together.\n```js\nimport { useMergeState } from 'react-hooks-lib'\n\nconst MergeState = () => {\n  const { state, set } = useMergeState({ name: 'Victor', age: 1 })\n  return (\n    <div>\n      <h3>useMergeState</h3>\n      <div>\n        {`state: ${JSON.stringify(state)}`}\n        <button onClick={() => set(({ age }) => ({ age: age + 1 }))}>age+1</button>\n      </div>\n    </div>\n  )\n}\n```\n\n### `useStateCallback(initial, f?)`\n\n### `useUndo(initial)`\n\n### `useCounter(initial)`\n```js\nimport { useCounter } from 'react-hooks-lib'\n\nconst Counter = () => {\n  const {\n    count, inc, dec, reset,\n  } = useCounter(1)\n  return (\n    <div>\n      {count}\n      <button onClick={() => inc(1)}>+1</button>\n      <button onClick={() => dec(1)}>-1</button>\n      <button onClick={reset}>reset</button>\n    </div>\n  )\n}\n\n```\n### `useToggle(initial)`\n```js\nimport { useToggle } from 'react-hooks-lib'\n\nconst Toggle = () => {\n  const { on, toggle, reset } = useToggle(false)\n  return (\n    <div>\n      {String(on)}\n      <button onClick={toggle}>toggle</button>\n      <button onClick={reset}>reset</button>\n    </div>\n  )\n}\n```\n\n### `useList(initial)`\n```js\nimport { useList } from 'react-hooks-lib'\nconst List = () => {\n  const { list, sort, filter } = useList([1, 4, 2, 3, 4, 2, 6, 8, 3, 4])\n  return (\n    <div>\n      list:\n      {JSON.stringify(list)}\n      <button onClick={() => sort((x, y) => x - y)}>sort</button>\n      <button onClick={() => filter(x => x >= 4)}> greater than or equal to 4</button>\n    </div>\n  )\n}\n```\n\n### `useMap(initial)`\n\n### `useFetch(initialUrl, initialOptions?, onMount?)`\n```js\nimport { useField, useFetch } from 'react-hooks-lib'\n\nconst Fetch = () => {\n  const getUrl = text => `https://api.github.com/search/repositories?q=${text}`\n  const { value, bind } = useField('react')\n  const { data, loading, setUrl } = useFetch(getUrl('react'))\n  return (\n    <div>\n      <h3>useFetch</h3>\n      <input type=\"text\" value={value} {...bind} />\n      <button onClick={() => {\n        setUrl(getUrl(value))\n      }}\n      >\n        search\n      </button>\n      {\n        loading\n          ? <div>Loading...</div>\n          : (<span>{`total_count: ${data.total_count}`}</span>)\n      }\n    </div>\n  )\n}\n```\n\n### `useOnlineStatus()`\n\n### `useHover()`\n\n``` js\nimport { useHover } from 'react-hooks-lib'\n\nconst Hover = () => {\n  const { hovered, bind } = useHover()\n  return (\n    <div>\n      <div {...bind}>\n        hovered:\n        {String(hovered)}\n      </div>\n    </div>\n  )\n}\n```\n\n### `useActive()`\n\n### `useFocus()`\n\n### `useTouch()`\n\n### `useField(initial)`\n```js\n  import {useField} from 'react-hooks-lib'\n\n  const Input = () => {\n    const { value, bind } = useField('Type Here...')\n\n    return (\n      <div>\n        input text:\n        {value}\n        <input type=\"text\" {...bind} />\n      </div>\n    )\n  }\n\n  const Select = () => {\n    const { value, bind } = useField('apple')\n    return (\n      <div>\n        selected:\n        {value}\n        <select {...bind}>\n          <option value=\"apple\">apple</option>\n          <option value=\"orange\">orange</option>\n        </select>\n      </div>\n    )\n  }\n```\n","readmeFilename":"README.md","gitHead":"d8e78a66fbd832f03c96c77f74f80d0c4c5915b5","description":"A set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).","bugs":{"url":"https://github.com/beizhedenglong/react-hooks-lib/issues"},"homepage":"https://github.com/beizhedenglong/react-hooks-lib#readme","_id":"react-hooks-lib@0.1.2","_nodeVersion":"12.14.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-hfb/ewAk5AhP07iYHHOvHnoDDz0fFpNtSjPOqhor7Zuz+zlMqJlBeTIx+FKwML5QIEx06Cwya1ashD3RSnagEg==","shasum":"4cec031619b0bb357b7736ac861277829d846e2b","tarball":"https://registry.npmjs.org/react-hooks-lib/-/react-hooks-lib-0.1.2.tgz","fileCount":52,"unpackedSize":101331,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeX8PwCRA9TVsSAnZWagAAz2EP/jJj0wXbydKInP9/lPe1\n4nZoAxUACIODXbwfd+HAS4iKdHEp1rvp07JX6og9wpCJWTPSldWWoEUMRBEL\n0mGrMKwexEwThxgyfPAnas57vKGXrQjpfOVZV90YAlQmKoiW5RfY3+ZXXI6V\nqhyi1zEqAjKfj1REUsvURk4ZoDKPT4GE8jh298098T5C8pPq7g1GUcIL9kcM\n59I1b4zzF6zpLUfRaLmPgjkEC6sGv0nsXn2REVO44zt6B3sZBRYrN5Kbjvgo\n+gjiRrMYLTlqHFM1KHpOKQPBU5qgyW7XtX+mPRyXlRppmVVdQBixghUhzMPO\n9NHkb8AZ/1yK73LbgtefS5QQFxwuxRPrWm/rPvZv1aKBVlBpxEYkngfeGU7O\nOlZTLb68AX2+Hiq6iyuYWPWMzbAUEZfYBgl1FRGLseiBICqsD1FY3FQTFlB4\n1E1eKXOQZEsp79QepG5/wklv3bIRwcyhuMdJG8DklRpjBUlcUbYIHHI0Dw7R\no7o1Mh3qcaHok58wlubd//HlRL9n7x2WNUlbONbbVzgct8uxFNQ3DVBFsSQ2\nip9RZdWWVGQa3Vr68Yh1w7DoLLH6vHyfTe5D7T76OG/yne5qvDfz0cXWGNmh\nSSOwFpmnVswQcj0Y+o59waAwNer47y6hWl/V8y7DnqvhlP+XGqCIL2PkvBdS\nzD12\r\n=3es1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAZpGefqKzCrvF16UDBCB4VmHnZdP5sptFU0kTiMYCXrAiBYOhzgVPITkN42q3yHS8b7a49c8IblWI1XJhqtPsUQ4Q=="}]},"maintainers":[{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"}],"_npmUser":{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hooks-lib_0.1.2_1583334384303_0.992334017067301"},"_hasShrinkwrap":false},"0.1.3":{"name":"react-hooks-lib","version":"0.1.3","main":"dist/react-hooks-lib.js","umd:main":"dist/react-hooks-lib.umd.js","module":"dist/react-hooks-lib.m.js","source":"src/index.js","license":"MIT","scripts":{"build":"microbundle -o dist/ --sourcemap false --no-compress --jsx React.createElement","dev":"microbundle watch -o dist/ --sourcemap false --no-compress --jsx React.createElement","test":"jest --coverage --config=jest.config.js","report-coverage":"cat ./coverage/lcov.info | coveralls","storybook":"start-storybook -p 6006 --ci","build-storybook":"build-storybook","deploy-storybook":"storybook-to-ghpages","semantic-release":"semantic-release"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"husky":{"hooks":{"pre-push":"yarn test","prepare-commit-msg":"exec < /dev/tty && git cz --hook || true"}},"keywords":["react-hooks","hooks","react","utils"],"resolutions":{"@babel/core":"^7.5.4"},"devDependencies":{"@babel/core":"^7.5.4","@babel/plugin-proposal-object-rest-spread":"^7.5.4","@babel/polyfill":"^7.2.5","@babel/preset-env":"^7.2.3","@babel/preset-react":"^7.0.0","@semantic-release/changelog":"^3.0.4","@semantic-release/git":"^7.0.16","@storybook/addon-actions":"^5.1.9","@storybook/addon-links":"^5.1.9","@storybook/addons":"^5.1.9","@storybook/react":"^5.1.9","@storybook/storybook-deployer":"^2.8.1","@testing-library/react-hooks":"^1.1.0","@types/jest":"^23.3.10","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^23.6.0","babel-loader":"^8.0.6","commitizen":"^4.0.3","coveralls":"^3.0.2","eslint":"^5.7.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"^1.6.1","husky":"^3.0.3","jest":"^23.6.0","jest-dom":"^3.0.0","microbundle":"^0.11.0","parcel-bundler":"^1.10.3","react":"^16.8.2","react-dom":"^16.8.2","react-test-renderer":"^16.8.6","react-testing-library":"^5.9.0","regenerator-runtime":"^0.13.1","semantic-release":"^15.13.19","storybook-addon-react-live-edit":"^2.0.4"},"peerDependencies":{"react":"^16.8.0"},"dependencies":{"lodash.isequal":"^4.5.0","shallowequal":"^1.1.0"},"repository":{"type":"git","url":"git+https://github.com/beizhedenglong/react-hooks-lib.git"},"readme":"# React Hooks Lib &middot; ![](https://img.shields.io/github/license/beizhedenglong/react-hooks-lib.svg) [![Build Status](https://travis-ci.org/beizhedenglong/react-hooks-lib.svg?branch=master)](https://travis-ci.org/beizhedenglong/react-hooks-lib) [![Coverage Status](https://coveralls.io/repos/github/beizhedenglong/react-hooks-lib/badge.svg?branch=master&service=github)](https://coveralls.io/github/beizhedenglong/react-hooks-lib?branch=master)\n\nA set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).\n\n>Hooks are a new addition in React 16.8. They let you use state and other React features without writing a class.\n\n## Installation\n`npm i react-hooks-lib --save`\n\n## Examples\nVisit [storybook](https://beizhedenglong.github.io/react-hooks-lib)\n\n## Hooks\n\n| Name                                                     | Arguments                          | Returns                                                      |\n| -------------------------------------------------------- | ---------------------------------- | ------------------------------------------------------------ |\n| <h6>Lifecycles</h6>                                      |                                    |                                                              |\n| [`useDidMount`](#usedidmountf)                           | f                                  | -                                                            |\n| [`useWillUnmount`](#usewillunmountf)                     | f                                  | -                                                            |\n| [`useDidUpdate`](#usedidupdatef-options)                 | f, conditions                      | -                                                            |\n| <h6>State</h6>                                           |                                    |                                                              |\n| [`createContextState`](#createContextStateInitial)       | initial                            | { ContextProvider, ContextConsumer,  set, useContextState }  |\n| [`createGlobalState`](#createGlobalStateInitial)         | initial                            | { GlobalProvider, GlobalConsumer, set, useGlobalState }      |\n| [`useMergeState`](#usemergestateinitial)                 | initial                            | { state, set }                                               |\n| [`useStateCallback`](#useStateCallbackInitial-f)         | initial, f                         | { state, set }                                               |\n| [`useUndo`](#useUndoInitial)                             | initial                            | { past, present, future, set, undo, redo }                   |\n| [`useCounter`](#useCounterInitial)                       | initial                            | { count, set, reset, inc, dec }                              |\n| [`useToggle`](#useToggleInitial)                         | initial                            | { on, set, reset, toggle }                                   |\n| [`useList`](#useListInitial)                             | initial                            | { list, set, reset, push, sort, filter }                     |\n| [`useMap`](#useMapInitial)                               | initial                            | { values, set, reset, clear, get, has, del }                 |\n| <h6>Effect</h6>                                      |                                    |                                                              |\n| `useShallowEqualEffect`                                  | f, deps                            | -                                                            |\n| `useDeepEqualEffect`                                     | f, deps                            | -                                                            |\n| <h6>Network</h6>                                         |                                    |                                                              |\n| [`useFetch`](#useFetchInitialUrl-initialOptions-onMount) | initialUrl, initialOptions, config | { loading, data, error, fetch, setUrl, setOptions, setData } |\n| [`useOnlineStatus`](#useonlinestatus)                    |                                    |                                                              |\n| <h6>Feedback</h6>                                        |                                    |                                                              |\n| [`useHover`](#useHover)                                  | -                                  | { hovered, bind }                                            |\n| [`useActive`](#useActive)                                | -                                  | { active, bind }                                             |\n| [`useFocus`](#useFocus)                                  | -                                  | { focused, bind }                                            |\n| [`useTouch`](#useTouch)                                  | -                                  | { touched, bind }                                            |\n| <h6>Data Entry</h6>                                      |                                    |                                                              |\n| [`useField`](#useFieldInitial)                           | initial                            | { value, set, reset, bind }                                  |\n\n\n## API\n\n### `useDidMount(f)`\nSimilar to `componentDidMount` in React class component. \n#### Arguments\n- `f: () => void`: f is  called when component did mount.\n```js\nimport { useDidMount } from 'react-hooks-lib'\n\nconst MyComponent = () => {\n  useDidMount(() => {\n    console.log('didMount')\n  })\n}\n```\n\n### `useWillUnmount(f)`\nClose to the `componentWillUnmount` in React class component.\n#### Arguments\n- `f: () => void`: f is called when component will unmount.\n```js\nimport { useWillUnmount } from 'react-hooks-lib'\n\nconst MyComponent = () => {\n  useWillUnmount(() => {\n    console.log('willUnmount')\n  })\n}\n```\n\n### `useDidUpdate(f, options?)`\nSimilar to `componentDidUpdate`, it only runs on updates.\n#### Arguments\n- `f: () => Function | void`: f is called on every updates. Like `useEffect`, f can return a clean-up function.\n- `conditions?: Array<any>`: Optional array for conditionally firing an effect, same as the second argument passed to `useEffect`.\n```js\nimport { useDidUpdate, useCounter } from 'react-hooks-lib'\n\nconst MyComponent = () => {\n  const { count, inc } = useCounter(0)\n  useDidUpdate(() => {\n    console.log('DidUpdate')\n  })\n  return (\n    <div>\n      {`count: ${count}`}\n      <button onClick={() => inc(1)}>+1</button>\n    </div>\n  )\n}\n```\n### `createContextState(initial?)`\n\n### `createGlobalState(initial?)`\n\n### `useMergeState(initial?)`\n#### Arguments\n- `initial?: Object`: Initial state object, default is `{}`.\n#### Returns\n- `state: Object`: Current state object.\n- `set: ((Object) => Object) | Object`: Like `setState` in React class component, merge the old and new state together.\n```js\nimport { useMergeState } from 'react-hooks-lib'\n\nconst MergeState = () => {\n  const { state, set } = useMergeState({ name: 'Victor', age: 1 })\n  return (\n    <div>\n      <h3>useMergeState</h3>\n      <div>\n        {`state: ${JSON.stringify(state)}`}\n        <button onClick={() => set(({ age }) => ({ age: age + 1 }))}>age+1</button>\n      </div>\n    </div>\n  )\n}\n```\n\n### `useStateCallback(initial, f?)`\n\n### `useUndo(initial)`\n\n### `useCounter(initial)`\n```js\nimport { useCounter } from 'react-hooks-lib'\n\nconst Counter = () => {\n  const {\n    count, inc, dec, reset,\n  } = useCounter(1)\n  return (\n    <div>\n      {count}\n      <button onClick={() => inc(1)}>+1</button>\n      <button onClick={() => dec(1)}>-1</button>\n      <button onClick={reset}>reset</button>\n    </div>\n  )\n}\n\n```\n### `useToggle(initial)`\n```js\nimport { useToggle } from 'react-hooks-lib'\n\nconst Toggle = () => {\n  const { on, toggle, reset } = useToggle(false)\n  return (\n    <div>\n      {String(on)}\n      <button onClick={toggle}>toggle</button>\n      <button onClick={reset}>reset</button>\n    </div>\n  )\n}\n```\n\n### `useList(initial)`\n```js\nimport { useList } from 'react-hooks-lib'\nconst List = () => {\n  const { list, sort, filter } = useList([1, 4, 2, 3, 4, 2, 6, 8, 3, 4])\n  return (\n    <div>\n      list:\n      {JSON.stringify(list)}\n      <button onClick={() => sort((x, y) => x - y)}>sort</button>\n      <button onClick={() => filter(x => x >= 4)}> greater than or equal to 4</button>\n    </div>\n  )\n}\n```\n\n### `useMap(initial)`\n\n### `useFetch(initialUrl, initialOptions?, onMount?)`\n```js\nimport { useField, useFetch } from 'react-hooks-lib'\n\nconst Fetch = () => {\n  const getUrl = text => `https://api.github.com/search/repositories?q=${text}`\n  const { value, bind } = useField('react')\n  const { data, loading, setUrl } = useFetch(getUrl('react'))\n  return (\n    <div>\n      <h3>useFetch</h3>\n      <input type=\"text\" value={value} {...bind} />\n      <button onClick={() => {\n        setUrl(getUrl(value))\n      }}\n      >\n        search\n      </button>\n      {\n        loading\n          ? <div>Loading...</div>\n          : (<span>{`total_count: ${data.total_count}`}</span>)\n      }\n    </div>\n  )\n}\n```\n\n### `useOnlineStatus()`\n\n### `useHover()`\n\n``` js\nimport { useHover } from 'react-hooks-lib'\n\nconst Hover = () => {\n  const { hovered, bind } = useHover()\n  return (\n    <div>\n      <div {...bind}>\n        hovered:\n        {String(hovered)}\n      </div>\n    </div>\n  )\n}\n```\n\n### `useActive()`\n\n### `useFocus()`\n\n### `useTouch()`\n\n### `useField(initial)`\n```js\n  import {useField} from 'react-hooks-lib'\n\n  const Input = () => {\n    const { value, bind } = useField('Type Here...')\n\n    return (\n      <div>\n        input text:\n        {value}\n        <input type=\"text\" {...bind} />\n      </div>\n    )\n  }\n\n  const Select = () => {\n    const { value, bind } = useField('apple')\n    return (\n      <div>\n        selected:\n        {value}\n        <select {...bind}>\n          <option value=\"apple\">apple</option>\n          <option value=\"orange\">orange</option>\n        </select>\n      </div>\n    )\n  }\n```\n","readmeFilename":"README.md","gitHead":"d8e78a66fbd832f03c96c77f74f80d0c4c5915b5","description":"A set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).","bugs":{"url":"https://github.com/beizhedenglong/react-hooks-lib/issues"},"homepage":"https://github.com/beizhedenglong/react-hooks-lib#readme","_id":"react-hooks-lib@0.1.3","_nodeVersion":"12.14.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-vhJxr8/U1Akt7kdxbhPayx/v76yteS9mn0gWD6LYUQXQ8amtNgm9yWIlENeWlrvdHIDUVwitM8i97V0YfzBzkw==","shasum":"2c7cfe88195fd80b30338b804154710487ab22f7","tarball":"https://registry.npmjs.org/react-hooks-lib/-/react-hooks-lib-0.1.3.tgz","fileCount":52,"unpackedSize":101359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeX8TjCRA9TVsSAnZWagAAgWcP/0xK5gCnqIzJNCiov4Gc\nWWZ6mJC0TQcN9yeYTXihF+uFprErJkcPWllp7eLevvdd3jHA44DLfUPTtFde\nbzYFE8Laptpl6Z5CfJ9XQDmffIDvGw7xleFQOW6uC++MFt6OVea+zxjGumo7\n3o5RTi19pBELERG4tm0OrbEnemPpPgt3AlGtEp1mgffX4ftKcQMwmVLrb5ap\nFjpO8qiYjO2yRz4Df/A1qFhOTU3Gbh8yQei7dJq7vJyr7KSQxiAIiMYweAjV\nHWqQEM2PHQzYNa4Crgw14a60dETGPQ1aAJfCn80PoBNYL7hsFkgCP3cryEBM\nzpFSw8HfeE43Pe1c3eV5t78mmuIiRrCIbTonc2ySx76sBkU7Qn8e30fpkLDR\nYMlvYPKiT3koLmXe27GNuXLBkQK94NKDFbiTbj7LXsAnOT7MKQGOW99WsgRM\nroI0m4QZoooyz0IMOlcrz149PX66+mMPbccpC+usTLA689k0dix4Q7BNSKq5\nG1EwLHeYfSAWGvq9unXfhgf7JAmUu5TorgCwVO7y+lI6PhNsMbFHGkqCjNBf\nhQEpBfrD8TwrOlag2bkJ3TDsobh5sJn/Y6cBl0OCgJ+AMBcfo9/77XPuIIgP\nAEPsu7GSiUul19FwufVDPiXWeNQHqEEEwmXKGP6AoyFIx2qokiN19ga7Dcff\n7CGj\r\n=rVYU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGJ9yB1rR/romFg9lRaT8dDLiMV5KYTCFWERKkIsMnJuAiEAhQSMLfj2QFFgbgj4bZ9KCH6qnp82JMi4r+7Fsv8HjmQ="}]},"maintainers":[{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"}],"_npmUser":{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hooks-lib_0.1.3_1583334627483_0.36411055696682126"},"_hasShrinkwrap":false},"0.1.4":{"name":"react-hooks-lib","version":"0.1.4","main":"dist/react-hooks-lib.js","umd:main":"dist/react-hooks-lib.umd.js","module":"dist/react-hooks-lib.m.js","source":"src/index.js","license":"MIT","scripts":{"build":"microbundle -o dist/ --sourcemap false --no-compress --jsx React.createElement","dev":"microbundle watch -o dist/ --sourcemap false --no-compress --jsx React.createElement","test":"jest --coverage --config=jest.config.js","report-coverage":"cat ./coverage/lcov.info | coveralls","storybook":"start-storybook -p 6006 --ci","build-storybook":"build-storybook","deploy-storybook":"storybook-to-ghpages","semantic-release":"semantic-release"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"husky":{"hooks":{"pre-push":"yarn test","prepare-commit-msg":"exec < /dev/tty && git cz --hook || true"}},"keywords":["react-hooks","hooks","react","utils"],"resolutions":{"@babel/core":"^7.5.4"},"devDependencies":{"@babel/core":"^7.5.4","@babel/plugin-proposal-object-rest-spread":"^7.5.4","@babel/polyfill":"^7.2.5","@babel/preset-env":"^7.2.3","@babel/preset-react":"^7.0.0","@semantic-release/changelog":"^3.0.4","@semantic-release/git":"^7.0.16","@storybook/addon-actions":"^5.1.9","@storybook/addon-links":"^5.1.9","@storybook/addons":"^5.1.9","@storybook/react":"^5.1.9","@storybook/storybook-deployer":"^2.8.1","@testing-library/react-hooks":"^1.1.0","@types/jest":"^23.3.10","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^23.6.0","babel-loader":"^8.0.6","commitizen":"^4.0.3","coveralls":"^3.0.2","eslint":"^5.7.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"^1.6.1","husky":"^3.0.3","jest":"^23.6.0","jest-dom":"^3.0.0","microbundle":"^0.11.0","parcel-bundler":"^1.10.3","react":"^16.8.2","react-dom":"^16.8.2","react-test-renderer":"^16.8.6","react-testing-library":"^5.9.0","regenerator-runtime":"^0.13.1","semantic-release":"^15.13.19","storybook-addon-react-live-edit":"^2.0.4"},"peerDependencies":{"react":"^16.8.0"},"dependencies":{"lodash.isequal":"^4.5.0","shallowequal":"^1.1.0"},"repository":{"type":"git","url":"git+https://github.com/beizhedenglong/react-hooks-lib.git"},"readme":"# React Hooks Lib &middot; ![](https://img.shields.io/github/license/beizhedenglong/react-hooks-lib.svg) [![Build Status](https://travis-ci.org/beizhedenglong/react-hooks-lib.svg?branch=master)](https://travis-ci.org/beizhedenglong/react-hooks-lib) [![Coverage Status](https://coveralls.io/repos/github/beizhedenglong/react-hooks-lib/badge.svg?branch=master&service=github)](https://coveralls.io/github/beizhedenglong/react-hooks-lib?branch=master)\n\nA set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).\n\n>Hooks are a new addition in React 16.8. They let you use state and other React features without writing a class.\n\n## Installation\n`npm i react-hooks-lib --save`\n\n## Examples\nVisit [storybook](https://beizhedenglong.github.io/react-hooks-lib)\n\n## Hooks\n\n| Name                                                     | Arguments                          | Returns                                                      |\n| -------------------------------------------------------- | ---------------------------------- | ------------------------------------------------------------ |\n| <h6>Lifecycles</h6>                                      |                                    |                                                              |\n| [`useDidMount`](#usedidmountf)                           | f                                  | -                                                            |\n| [`useWillUnmount`](#usewillunmountf)                     | f                                  | -                                                            |\n| [`useDidUpdate`](#usedidupdatef-options)                 | f, conditions                      | -                                                            |\n| <h6>State</h6>                                           |                                    |                                                              |\n| [`createContextState`](#createContextStateInitial)       | initial                            | { ContextProvider, ContextConsumer,  set, useContextState }  |\n| [`createGlobalState`](#createGlobalStateInitial)         | initial                            | { GlobalProvider, GlobalConsumer, set, useGlobalState }      |\n| [`useMergeState`](#usemergestateinitial)                 | initial                            | { state, set }                                               |\n| [`useStateCallback`](#useStateCallbackInitial-f)         | initial, f                         | { state, set }                                               |\n| [`useUndo`](#useUndoInitial)                             | initial                            | { past, present, future, set, undo, redo }                   |\n| [`useCounter`](#useCounterInitial)                       | initial                            | { count, set, reset, inc, dec }                              |\n| [`useToggle`](#useToggleInitial)                         | initial                            | { on, set, reset, toggle }                                   |\n| [`useList`](#useListInitial)                             | initial                            | { list, set, reset, push, sort, filter }                     |\n| [`useMap`](#useMapInitial)                               | initial                            | { values, set, reset, clear, get, has, del }                 |\n| <h6>Effect</h6>                                      |                                    |                                                              |\n| `useShallowEqualEffect`                                  | f, deps                            | -                                                            |\n| `useDeepEqualEffect`                                     | f, deps                            | -                                                            |\n| <h6>Network</h6>                                         |                                    |                                                              |\n| [`useFetch`](#useFetchInitialUrl-initialOptions-onMount) | initialUrl, initialOptions, config | { loading, data, error, fetch, setUrl, setOptions, setData } |\n| [`useOnlineStatus`](#useonlinestatus)                    |                                    |                                                              |\n| <h6>Feedback</h6>                                        |                                    |                                                              |\n| [`useHover`](#useHover)                                  | -                                  | { hovered, bind }                                            |\n| [`useActive`](#useActive)                                | -                                  | { active, bind }                                             |\n| [`useFocus`](#useFocus)                                  | -                                  | { focused, bind }                                            |\n| [`useTouch`](#useTouch)                                  | -                                  | { touched, bind }                                            |\n| <h6>Data Entry</h6>                                      |                                    |                                                              |\n| [`useField`](#useFieldInitial)                           | initial                            | { value, set, reset, bind }                                  |\n\n\n## API\n\n### `useDidMount(f)`\nSimilar to `componentDidMount` in React class component. \n#### Arguments\n- `f: () => void`: f is  called when component did mount.\n```js\nimport { useDidMount } from 'react-hooks-lib'\n\nconst MyComponent = () => {\n  useDidMount(() => {\n    console.log('didMount')\n  })\n}\n```\n\n### `useWillUnmount(f)`\nClose to the `componentWillUnmount` in React class component.\n#### Arguments\n- `f: () => void`: f is called when component will unmount.\n```js\nimport { useWillUnmount } from 'react-hooks-lib'\n\nconst MyComponent = () => {\n  useWillUnmount(() => {\n    console.log('willUnmount')\n  })\n}\n```\n\n### `useDidUpdate(f, options?)`\nSimilar to `componentDidUpdate`, it only runs on updates.\n#### Arguments\n- `f: () => Function | void`: f is called on every updates. Like `useEffect`, f can return a clean-up function.\n- `conditions?: Array<any>`: Optional array for conditionally firing an effect, same as the second argument passed to `useEffect`.\n```js\nimport { useDidUpdate, useCounter } from 'react-hooks-lib'\n\nconst MyComponent = () => {\n  const { count, inc } = useCounter(0)\n  useDidUpdate(() => {\n    console.log('DidUpdate')\n  })\n  return (\n    <div>\n      {`count: ${count}`}\n      <button onClick={() => inc(1)}>+1</button>\n    </div>\n  )\n}\n```\n### `createContextState(initial?)`\n\n### `createGlobalState(initial?)`\n\n### `useMergeState(initial?)`\n#### Arguments\n- `initial?: Object`: Initial state object, default is `{}`.\n#### Returns\n- `state: Object`: Current state object.\n- `set: ((Object) => Object) | Object`: Like `setState` in React class component, merge the old and new state together.\n```js\nimport { useMergeState } from 'react-hooks-lib'\n\nconst MergeState = () => {\n  const { state, set } = useMergeState({ name: 'Victor', age: 1 })\n  return (\n    <div>\n      <h3>useMergeState</h3>\n      <div>\n        {`state: ${JSON.stringify(state)}`}\n        <button onClick={() => set(({ age }) => ({ age: age + 1 }))}>age+1</button>\n      </div>\n    </div>\n  )\n}\n```\n\n### `useStateCallback(initial, f?)`\n\n### `useUndo(initial)`\n\n### `useCounter(initial)`\n```js\nimport { useCounter } from 'react-hooks-lib'\n\nconst Counter = () => {\n  const {\n    count, inc, dec, reset,\n  } = useCounter(1)\n  return (\n    <div>\n      {count}\n      <button onClick={() => inc(1)}>+1</button>\n      <button onClick={() => dec(1)}>-1</button>\n      <button onClick={reset}>reset</button>\n    </div>\n  )\n}\n\n```\n### `useToggle(initial)`\n```js\nimport { useToggle } from 'react-hooks-lib'\n\nconst Toggle = () => {\n  const { on, toggle, reset } = useToggle(false)\n  return (\n    <div>\n      {String(on)}\n      <button onClick={toggle}>toggle</button>\n      <button onClick={reset}>reset</button>\n    </div>\n  )\n}\n```\n\n### `useList(initial)`\n```js\nimport { useList } from 'react-hooks-lib'\nconst List = () => {\n  const { list, sort, filter } = useList([1, 4, 2, 3, 4, 2, 6, 8, 3, 4])\n  return (\n    <div>\n      list:\n      {JSON.stringify(list)}\n      <button onClick={() => sort((x, y) => x - y)}>sort</button>\n      <button onClick={() => filter(x => x >= 4)}> greater than or equal to 4</button>\n    </div>\n  )\n}\n```\n\n### `useMap(initial)`\n\n### `useFetch(initialUrl, initialOptions?, onMount?)`\n```js\nimport { useField, useFetch } from 'react-hooks-lib'\n\nconst Fetch = () => {\n  const getUrl = text => `https://api.github.com/search/repositories?q=${text}`\n  const { value, bind } = useField('react')\n  const { data, loading, setUrl } = useFetch(getUrl('react'))\n  return (\n    <div>\n      <h3>useFetch</h3>\n      <input type=\"text\" value={value} {...bind} />\n      <button onClick={() => {\n        setUrl(getUrl(value))\n      }}\n      >\n        search\n      </button>\n      {\n        loading\n          ? <div>Loading...</div>\n          : (<span>{`total_count: ${data.total_count}`}</span>)\n      }\n    </div>\n  )\n}\n```\n\n### `useOnlineStatus()`\n\n### `useHover()`\n\n``` js\nimport { useHover } from 'react-hooks-lib'\n\nconst Hover = () => {\n  const { hovered, bind } = useHover()\n  return (\n    <div>\n      <div {...bind}>\n        hovered:\n        {String(hovered)}\n      </div>\n    </div>\n  )\n}\n```\n\n### `useActive()`\n\n### `useFocus()`\n\n### `useTouch()`\n\n### `useField(initial)`\n```js\n  import {useField} from 'react-hooks-lib'\n\n  const Input = () => {\n    const { value, bind } = useField('Type Here...')\n\n    return (\n      <div>\n        input text:\n        {value}\n        <input type=\"text\" {...bind} />\n      </div>\n    )\n  }\n\n  const Select = () => {\n    const { value, bind } = useField('apple')\n    return (\n      <div>\n        selected:\n        {value}\n        <select {...bind}>\n          <option value=\"apple\">apple</option>\n          <option value=\"orange\">orange</option>\n        </select>\n      </div>\n    )\n  }\n```\n","readmeFilename":"README.md","gitHead":"d8e78a66fbd832f03c96c77f74f80d0c4c5915b5","description":"A set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).","bugs":{"url":"https://github.com/beizhedenglong/react-hooks-lib/issues"},"homepage":"https://github.com/beizhedenglong/react-hooks-lib#readme","_id":"react-hooks-lib@0.1.4","_nodeVersion":"12.14.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-cXAAw/RmINSYnihPprjonx7lAOfJD3tX6pO2k27yMFk6yDnxdHlw3N1XHr9emN+YRhJo/XSLeBVJCJYAkBEURA==","shasum":"41b7934896da44c1fc102c09d2d397afbe63e13e","tarball":"https://registry.npmjs.org/react-hooks-lib/-/react-hooks-lib-0.1.4.tgz","fileCount":52,"unpackedSize":101306,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeX8UzCRA9TVsSAnZWagAADLgQAJFipzl6j1qOazPKJ5OJ\nkqPmoPnfHgInW8Bl3DO+EtwJRrdRVegl9CTu03Ypag2PMZGe74J0FGX1Dxa/\nBVtP6q4jgFIsvsQBMtOF/WSEUPVqLUbVml8c9ag/OxDSZXGJxUuJIQ4jbhYQ\nzsAG2DMd/3tQfsZ2/zMktwBBNpS5iWgPeAwrZAa3VmRTuMP1EXwwBM8NfB+s\n7qSMWPqZO+HjXmV0etVibreMgNmkEZdCSUIqia1zArJLwo1efq5bhU6FfkcP\npuq2gYt9RdmJgZco4oOHi20AP7iBU/mE/7Pw45PQrFybs968KTrj4SIoEq1q\nNjfXfkzSJfEZyseYT7ZLIovB39RmTwD5ILG4ttHDLshcUGiwzvtGgoxpsOzc\nz4KWLeXYSNfXCuokfXTrv/9i7cSNNlWtpAiBWxsGOhEGLywmhwYvxn6wotSo\nOZnFqMu/HLMUzwGCibtz1WVROLTZLjZBgTfAwPN3ckRxmbJNMG+f9MGlhtK9\n3mpQafmeGtBP3xjYjGYH4nJrb3ZbXRGZ2B8LGdyqzRZzIBBseafVeB4SXuf/\nNmjfGoVleK+I5KnhsbR2a/vK856ma00Cyf10FbKQjVJblFWRGpCpNdlSC7xz\n4hvMxslogXzB6gPhYhPXLgdVrRfoo0yuTf6cStbpz6pbaiK9nmOiwACUJ1bi\nHu1P\r\n=4E1U\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCzTTutBhc+7KoCmcMR75etUkIMW4t/NGzzL3Vh6Nc6pwIgEuM1uLezWvNcueYNL1LcfXFPDGLzEPFqHy48Uvcm1qQ="}]},"maintainers":[{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"}],"_npmUser":{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hooks-lib_0.1.4_1583334706596_0.24344159297418488"},"_hasShrinkwrap":false},"0.1.5":{"name":"react-hooks-lib","version":"0.1.5","main":"dist/react-hooks-lib.js","umd:main":"dist/react-hooks-lib.umd.js","module":"dist/react-hooks-lib.m.js","source":"src/index.js","license":"MIT","scripts":{"build":"microbundle -o dist/ --sourcemap false --no-compress --jsx React.createElement","dev":"microbundle watch -o dist/ --sourcemap false --no-compress --jsx React.createElement","test":"jest --coverage --config=jest.config.js","report-coverage":"cat ./coverage/lcov.info | coveralls","storybook":"start-storybook -p 6006 --ci","build-storybook":"build-storybook","deploy-storybook":"storybook-to-ghpages","semantic-release":"semantic-release"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"husky":{"hooks":{"pre-push":"yarn test","prepare-commit-msg":"exec < /dev/tty && git cz --hook || true"}},"keywords":["react-hooks","hooks","react","utils"],"resolutions":{"@babel/core":"^7.5.4"},"devDependencies":{"@babel/core":"^7.5.4","@babel/plugin-proposal-object-rest-spread":"^7.5.4","@babel/polyfill":"^7.2.5","@babel/preset-env":"^7.2.3","@babel/preset-react":"^7.0.0","@semantic-release/changelog":"^3.0.4","@semantic-release/git":"^7.0.16","@storybook/addon-actions":"^5.1.9","@storybook/addon-links":"^5.1.9","@storybook/addons":"^5.1.9","@storybook/react":"^5.1.9","@storybook/storybook-deployer":"^2.8.1","@testing-library/react-hooks":"^1.1.0","@types/jest":"^23.3.10","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^23.6.0","babel-loader":"^8.0.6","commitizen":"^4.0.3","coveralls":"^3.0.2","eslint":"^5.7.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"^1.6.1","husky":"^3.0.3","jest":"^23.6.0","jest-dom":"^3.0.0","microbundle":"^0.11.0","parcel-bundler":"^1.10.3","react":"^16.8.2","react-dom":"^16.8.2","react-test-renderer":"^16.8.6","react-testing-library":"^5.9.0","regenerator-runtime":"^0.13.1","semantic-release":"^15.13.19","storybook-addon-react-live-edit":"^2.0.4"},"peerDependencies":{"react":"^16.8.0"},"dependencies":{"lodash.isequal":"^4.5.0","shallowequal":"^1.1.0"},"repository":{"type":"git","url":"git+https://github.com/beizhedenglong/react-hooks-lib.git"},"gitHead":"76451cdea4ed737fe393286ba177d7f8768596d1","description":"A set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).","bugs":{"url":"https://github.com/beizhedenglong/react-hooks-lib/issues"},"homepage":"https://github.com/beizhedenglong/react-hooks-lib#readme","_id":"react-hooks-lib@0.1.5","_nodeVersion":"12.14.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-+ALJNRCWbX/emZWj/bDXYwN6h+8+SWbUmFJWjwdcAM5boQ7cDXTwL/syctcSTPpyMh4oE+p97rruGbOVFgq/+Q==","shasum":"819c595770c88f4c1cc9040a6f70dda9cb69a72c","tarball":"https://registry.npmjs.org/react-hooks-lib/-/react-hooks-lib-0.1.5.tgz","fileCount":52,"unpackedSize":101561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeX+unCRA9TVsSAnZWagAAXAsP/3HtMzjdHj3y50E5+N2l\nLVsOGULECYZCxOmiFnu3buec068qGbOyaFKZUVT5MKZCsFofsLJ4fZTX7hKM\np5ByMXVhZ3YbCaUlQxfbY2quTlgL4C3CsxbOn2mDeOTL2Jbd62mXEVyREFKK\nRrq1V0igetWXpcrit6E2v/qMdkwJrmkL4qrfnEJf+mXxitvkbeYYZxc6cIcu\nq0NhW6g8owByldIvbWdLqkPraV8gyhEaaoTkBbhf3MKRX8Kt343a+/SGFrCK\nrJ8LggF4ipJeVtkn1QD1mM01LiB6WRQsKf3Wvn1FYi8hP9DPkPt6yxU9S0rI\n78ujCcSpGP9KCVfUk6PJ3v1/TcguJQHbiY9ROV3MR8HQcAgSUERep77tXfnA\nZ1ctdkxinJ6277Iv6/nVDEF2ncXjyTmQfk4YwMwFVBQ7bU43N3reEeiyEC66\ntelUlsKljGzTewpZiKgBexanpm1u4pzvrO5Ph22xP9F6xgI9Ie2Md3mGd8R8\n/CeqVOZF1IYpFeDqTmD2oV585mXLhI3qrB/GpVd5q0sCY/LycpHoHodb6zTO\nYDMgLdjNo+pNxOFxdoetRxoKuH1O71ieAY95lb7R1SQUD9RCsxhA/1HjMki3\nSLh6QdDmdtPeJt5elAjA4WBouybUwe8cmtR9MgcJshByxWG0CXHEB8IfxmSd\noYeW\r\n=Ed9p\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCCjA5blcSuRtB+bQCAO3tt4xoZYgWe8+XsEuYkFIwpLgIgYUJ9BxkK004fjEM1vh8hct5/ltNKGKkU4wUgsWb/ajI="}]},"maintainers":[{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"}],"_npmUser":{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hooks-lib_0.1.5_1583344545763_0.929482585291618"},"_hasShrinkwrap":false},"0.2.0":{"name":"react-hooks-lib","version":"0.2.0","main":"dist/react-hooks-lib.js","umd:main":"dist/react-hooks-lib.umd.js","module":"dist/react-hooks-lib.m.js","source":"src/index.js","license":"MIT","scripts":{"build":"microbundle -o dist/ --sourcemap false --no-compress --jsx React.createElement","dev":"microbundle watch -o dist/ --sourcemap false --no-compress --jsx React.createElement","test":"jest --coverage --config=jest.config.js","report-coverage":"cat ./coverage/lcov.info | coveralls","storybook":"start-storybook -p 6006 --ci","build-storybook":"build-storybook","deploy-storybook":"storybook-to-ghpages","semantic-release":"semantic-release"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"husky":{"hooks":{"pre-push":"yarn test","prepare-commit-msg":"exec < /dev/tty && git cz --hook || true"}},"keywords":["react-hooks","hooks","react","utils"],"resolutions":{"@babel/core":"^7.5.4"},"devDependencies":{"@babel/core":"^7.5.4","@babel/plugin-proposal-object-rest-spread":"^7.5.4","@babel/polyfill":"^7.2.5","@babel/preset-env":"^7.2.3","@babel/preset-react":"^7.0.0","@semantic-release/changelog":"^3.0.4","@semantic-release/git":"^7.0.16","@storybook/addon-actions":"^5.1.9","@storybook/addon-links":"^5.1.9","@storybook/addons":"^5.1.9","@storybook/react":"^5.1.9","@storybook/storybook-deployer":"^2.8.1","@testing-library/react-hooks":"^1.1.0","@types/jest":"^23.3.10","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^23.6.0","babel-loader":"^8.0.6","commitizen":"^4.0.3","coveralls":"^3.0.2","eslint":"^5.7.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"^1.6.1","husky":"^3.0.3","jest":"^23.6.0","jest-dom":"^3.0.0","microbundle":"^0.11.0","parcel-bundler":"^1.12.4","react":"^16.8.2","react-dom":"^16.8.2","react-test-renderer":"^16.8.6","react-testing-library":"^5.9.0","regenerator-runtime":"^0.13.1","semantic-release":"^15.13.19","storybook-addon-react-live-edit":"^2.0.4"},"peerDependencies":{"react":"^16.8.0"},"dependencies":{"lodash.isequal":"^4.5.0","shallowequal":"^1.1.0"},"repository":{"type":"git","url":"git+https://github.com/beizhedenglong/react-hooks-lib.git"},"gitHead":"201fa36d1171c699c0f50a1bc210fb4b416cabc4","description":"A set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).","bugs":{"url":"https://github.com/beizhedenglong/react-hooks-lib/issues"},"homepage":"https://github.com/beizhedenglong/react-hooks-lib#readme","_id":"react-hooks-lib@0.2.0","_nodeVersion":"14.3.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-6LgzfkJIMvEP+dfCFl0HNhZhfgFV2D42OZXQ5vanDfPO9zfxuCbFl1Ql/ZvCBK6pi7Ar5ykCAlTrDIEvq29qoQ==","shasum":"5274cd63301e9a014060d518ddc56b5c75073f31","tarball":"https://registry.npmjs.org/react-hooks-lib/-/react-hooks-lib-0.2.0.tgz","fileCount":56,"unpackedSize":1424743,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezKhqCRA9TVsSAnZWagAANt4P/RBGY4ISfI8J1c/519d1\n8Kr8oheS4kkiS5O9IJiQgTPEGcYK0wCq3J2WZ/bLOc4+NzKF7bjfqTXtuXPM\nZNl5iiUyE911GMpGCjAtQReX/5xWDgu/nLaogDyQv7GYrMuBiDA/sWylgVrz\ncB8G8/wHpbNXJtmiZv4OuileU6RvXYthFczxmulPayI8cnEgwRWoJXQrsLwI\nnb1nR2m4hk6RQ4mdtrukv39quBEoPNBFSWN/TMLwQKqDkjRJvrl8E2/yooYt\nCms4g7xU1jvGj+q7x8/p1e7WM6a9whsXBiecIy8ZXGjiS39QKN1NMQ4gGiJy\nJcJDKlxh+0pPsoKWKnj2dabd7/17tyLAZfgmGbgOzUg/hNF+vfW1+dgX2glt\nEtbmR5UKLE3sUq711FGGMIHMvVsuq3ddfhqRS7/CccZqJA/M9gt6YC0mlTDI\nNKTuBMYZRCaePJcMAo9dclZJDnKGpS2Fx8vE/s6swDVqSN/idSa37OO6CIW+\nzF71SvN/IVCSsl/HwxxxSI1YtWTgWcZ8+kzANz6PO2RB4bKqQ5AYBp7H9a/O\n8ikodDM87eMdaZJgYAXW1zQ3uwu54+xTUn3W6rOfUHNibDyovl+oPR8HL4px\n7D1u/taUYfeBoCpLCw8Bn0wtlFqbPFVUjy2X5T6etoJRk+kVJpkyf415SMbu\nq9rd\r\n=hWEP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1z6Dk8R7gkoBeLbldlZZqzC1o+D0Cn78Toto6jXu4yQIhAKZIvMIDWfHcy4dow8dF+SOL1uk81ANOOetAcY9jZBOX"}]},"maintainers":[{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"}],"_npmUser":{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hooks-lib_0.2.0_1590470761769_0.9693456584203137"},"_hasShrinkwrap":false},"0.3.0":{"name":"react-hooks-lib","version":"0.3.0","main":"dist/react-hooks-lib.js","umd:main":"dist/react-hooks-lib.umd.js","module":"dist/react-hooks-lib.m.js","source":"src/index.js","license":"MIT","scripts":{"build":"microbundle -o dist/ --sourcemap false --no-compress --jsx React.createElement","dev":"microbundle watch -o dist/ --sourcemap false --no-compress --jsx React.createElement","test":"jest --coverage --config=jest.config.js","report-coverage":"cat ./coverage/lcov.info | coveralls","storybook":"start-storybook -p 6006 --ci","build-storybook":"build-storybook","deploy-storybook":"storybook-to-ghpages","semantic-release":"semantic-release"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"husky":{"hooks":{"pre-push":"yarn test","prepare-commit-msg":"exec < /dev/tty && git cz --hook || true"}},"keywords":["react-hooks","hooks","react","utils"],"resolutions":{"@babel/core":"^7.5.4"},"devDependencies":{"@babel/core":"^7.5.4","@babel/plugin-proposal-object-rest-spread":"^7.5.4","@babel/polyfill":"^7.2.5","@babel/preset-env":"^7.2.3","@babel/preset-react":"^7.0.0","@semantic-release/changelog":"^3.0.4","@semantic-release/git":"^7.0.16","@storybook/addon-actions":"^5.1.9","@storybook/addon-links":"^5.1.9","@storybook/addons":"^5.1.9","@storybook/react":"^5.1.9","@storybook/storybook-deployer":"^2.8.1","@testing-library/react-hooks":"^3.4.1","@types/jest":"^23.3.10","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^23.6.0","babel-loader":"^8.0.6","commitizen":"^4.0.3","coveralls":"^3.0.2","eslint":"^5.7.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"^1.6.1","husky":"^3.0.3","jest":"^23.6.0","jest-dom":"^3.0.0","microbundle":"^0.11.0","parcel-bundler":"^1.12.4","react":"^16.8.2","react-dom":"^16.8.2","react-test-renderer":"^16.8.6","react-testing-library":"^5.9.0","regenerator-runtime":"^0.13.1","semantic-release":"^15.13.19","storybook-addon-react-live-edit":"^2.0.4"},"peerDependencies":{"react":"^16.8.0"},"dependencies":{"lodash.isequal":"^4.5.0","shallowequal":"^1.1.0"},"repository":{"type":"git","url":"git+https://github.com/beizhedenglong/react-hooks-lib.git"},"gitHead":"e77af08081406e4ce9026dbb355b3f950e133db5","description":"A set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).","bugs":{"url":"https://github.com/beizhedenglong/react-hooks-lib/issues"},"homepage":"https://github.com/beizhedenglong/react-hooks-lib#readme","_id":"react-hooks-lib@0.3.0","_nodeVersion":"14.10.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-+EI3LL3aRire5/A/aS+3//bVjIbNlVZsRmjuV5gHTywFVU4A0VwPgiaIygJRKxSi5VS+N42UpSL1rKGXvUWthg==","shasum":"ea18c536c75333c36cdbe89787fef2dc5e0f39fd","tarball":"https://registry.npmjs.org/react-hooks-lib/-/react-hooks-lib-0.3.0.tgz","fileCount":59,"unpackedSize":2720790,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfXhZcCRA9TVsSAnZWagAACjoP/AsKDsZbF6NQeq+RJCQI\n521aktQdLnThZxxDGKYzNpX81g9I99iJvYItMjqcjUYK3X0lrz4ARl/R4XcK\nHMogqZXJP4c+y3T73LEgJ4KNN3BXTf67FMhTMoamwFIRr/VUCHOWEHTEagTN\nzRMpMftv9AhlnjHo6NiRsaY0FzP9Xfc/o63pdHrGPrQBim3YpiIlyvEp7Ow6\nfANEw/y+74fSAnDsSuv/gPVki/7iuvd0araFFt1YQsulNUGIqwcuc5vthfbm\ny1tbxngzzVL+k2GuWxFXzHIH1LyPILaY+JleoCF7c9zmU3IYigBVEkR8b/aY\nTLqr3LgadhMrfpXF+nrYRxYR8fzryPod0GNW6DTcIpJUoVl730Bw/HMNUA+8\nmyXt1Jx4k6w29Fw14meizFDngS5hHJoL5UMGCz6NFIoA9Vv23t4hDpUZm6bp\nwIZocLsWhsgH/yHm+gWRqJCYtGAc3iJrHglso5KR0Oj+LZ7uLCVyXQ1YvjCV\njPBopuXKjw7Va63M5AmhUC3N62us4Y2ylXLMBTuzXTkx+d0GN9fIXvNw40s4\ndLP0m4FcO4iy6IkDrxvU2p/6BYxxRTeEs+bzFdFG8lLNBgfBhqLeHkBpH+ko\n5hTGVKRtVSeOS1hplDJDiy1o7pEGdQTCe/VOKsihnx5xW2O2h5U/RdUJ/LWb\nLiar\r\n=uv/9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF81Mo3ddmr7h+86tLfYiHRJpzq0wbJNyGzkZ6j9CSKTAiEA/S2lcxoc8zd9BloTncHyqUdYq9CCcDEwt4HdDVCEBjA="}]},"maintainers":[{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"}],"_npmUser":{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hooks-lib_0.3.0_1600001627780_0.6721492733619963"},"_hasShrinkwrap":false},"0.4.0":{"name":"react-hooks-lib","version":"0.4.0","main":"dist/react-hooks-lib.js","umd:main":"dist/react-hooks-lib.umd.js","module":"dist/react-hooks-lib.m.js","source":"src/index.js","license":"MIT","scripts":{"build":"microbundle -o dist/ --sourcemap false --no-compress --jsx React.createElement","dev":"microbundle watch -o dist/ --sourcemap false --no-compress --jsx React.createElement","test":"jest --coverage --config=jest.config.js","report-coverage":"cat ./coverage/lcov.info | coveralls","storybook":"start-storybook -p 6006 --ci","build-storybook":"build-storybook","deploy-storybook":"storybook-to-ghpages","semantic-release":"semantic-release"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"husky":{"hooks":{"pre-push":"yarn test","prepare-commit-msg":"exec < /dev/tty && git cz --hook || true"}},"keywords":["react-hooks","hooks","react","utils"],"resolutions":{"@babel/core":"^7.5.4"},"devDependencies":{"@babel/core":"^7.12.10","@babel/node":"^7.12.10","@babel/plugin-proposal-object-rest-spread":"^7.5.4","@babel/polyfill":"^7.2.5","@babel/preset-env":"^7.2.3","@babel/preset-react":"^7.0.0","@semantic-release/changelog":"^3.0.4","@semantic-release/git":"^7.0.16","@storybook/addon-actions":"^5.1.9","@storybook/addon-links":"^5.1.9","@storybook/addons":"^5.1.9","@storybook/react":"^5.1.9","@storybook/storybook-deployer":"^2.8.1","@testing-library/react-hooks":"^3.4.1","@types/jest":"^23.3.10","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^23.6.0","babel-loader":"^8.0.6","commitizen":"^4.0.3","coveralls":"^3.0.2","eslint":"^5.7.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"^1.6.1","husky":"^3.0.3","jest":"^23.6.0","jest-dom":"^3.0.0","microbundle":"^0.11.0","parcel-bundler":"^1.12.4","react":"^16.8.2","react-dom":"^16.8.2","react-test-renderer":"^16.8.6","react-testing-library":"^5.9.0","regenerator-runtime":"^0.13.1","semantic-release":"^15.13.19","storybook-addon-react-live-edit":"^2.0.4"},"peerDependencies":{"react":"^16.8.0"},"dependencies":{"lodash.isequal":"^4.5.0","shallowequal":"^1.1.0"},"repository":{"type":"git","url":"git+https://github.com/beizhedenglong/react-hooks-lib.git"},"gitHead":"409b05438d7782db06538414e2858871f7529a7a","description":"A set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).","bugs":{"url":"https://github.com/beizhedenglong/react-hooks-lib/issues"},"homepage":"https://github.com/beizhedenglong/react-hooks-lib#readme","_id":"react-hooks-lib@0.4.0","_nodeVersion":"15.5.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-OBW7lgjVDNZSva9ET6QtvHtETDGBEbZg5zPSjcdGr+JBuJO62RaBQt6vdzFmVtguw5vNRiNk1iwCjo+yBZqrqw==","shasum":"afcc79b1ebf88db4316e014914957bdca9ba1ad3","tarball":"https://registry.npmjs.org/react-hooks-lib/-/react-hooks-lib-0.4.0.tgz","fileCount":62,"unpackedSize":2732859,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf+S0VCRA9TVsSAnZWagAA3QMP/1dqB2I5Bev7XtSgnM2p\nUiVHOwGpyW9R3Urcs5MAoZ6/DlhmydLZpnYP6OhASBbpHjcXvFO2vN8Na04G\n13A/ZvWJXkcrW8txSH9wRiL5xbQt9qfQ+1QnKrx0WL6Y/c7L1r5tDLxrnUvV\nhVkDGFKzHj9+CYr8hJKOjpGRvN5UwEpjR9dbMvXpKHqR+sFjgK0VJlR4TsZn\n0Ft9tZT46wYLWF4/XSrFH7BTTaM/vYRr69eWYRoq2dbmEWnmMcF4Dm0VKhPS\nlDS8D7PoNfD0Dojz1+1vlJVJ0tgMTFatdxdnux1plSgaSb/8TCugG8EpOyJt\ncrVVyuU8BYZEaFk9PNbMpDLVUGoSplvZKdejSPpMOK47miVx/+20m+iQKPUO\nwhcj4J3B8mCDrsUb4PHk8cBeh01dOafOB3glm2p/V34aJv4Z0jwKMjNEbpiU\nIuwVCWzT/GbQoJmFqCk5ANgvl4Ql64XKdiH5DfluBUbS/MB0JT85AkqYNweo\nU2/rhI9K+YbXiyW2E3gPkIQVvUdHY0zB5kkV6Ym42BBIjk1WwBAn8curKRN/\nm4rgfw3XIy+GBXGCXt7AlkTBWQNofFZVfO0JrpHSAnh/wGE1VG6+7+T9/8C1\nyaelkxyh7LgoAQ1E8i7QRYK2/Uu7P7PhdUzY5LC6CQLPrX6i7jkXMMkjNJSW\nZr1O\r\n=V1XE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBTMr7FOlcDO/+IvaE4U8fOE++P+hUGssn1YRd8dxSnwAiEArEKnbyvO+KbUywuXKBZB2PW/Fn5nMPWFVs6tLyFPAHc="}]},"_npmUser":{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"},"directories":{},"maintainers":[{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hooks-lib_0.4.0_1610165524899_0.16382026274774586"},"_hasShrinkwrap":false},"0.5.0":{"name":"react-hooks-lib","version":"0.5.0","main":"dist/react-hooks-lib.js","umd:main":"dist/react-hooks-lib.umd.js","module":"dist/react-hooks-lib.m.js","source":"src/index.js","license":"MIT","scripts":{"build":"microbundle -o dist/ --sourcemap false --no-compress --jsx React.createElement","dev":"microbundle watch -o dist/ --sourcemap false --no-compress --jsx React.createElement","test":"jest --coverage --config=jest.config.js","report-coverage":"cat ./coverage/lcov.info | coveralls","storybook":"start-storybook -p 6006 --ci","build-storybook":"build-storybook","deploy-storybook":"storybook-to-ghpages","semantic-release":"semantic-release"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"husky":{"hooks":{"pre-push":"yarn test","prepare-commit-msg":"exec < /dev/tty && git cz --hook || true"}},"keywords":["react-hooks","hooks","react","utils"],"resolutions":{"@babel/core":"^7.5.4"},"devDependencies":{"@babel/core":"^7.12.10","@babel/node":"^7.12.10","@babel/plugin-proposal-object-rest-spread":"^7.5.4","@babel/polyfill":"^7.2.5","@babel/preset-env":"^7.2.3","@babel/preset-react":"^7.0.0","@semantic-release/changelog":"^3.0.4","@semantic-release/git":"^7.0.16","@storybook/addon-actions":"^5.1.9","@storybook/addon-links":"^5.1.9","@storybook/addons":"^5.1.9","@storybook/react":"^5.1.9","@storybook/storybook-deployer":"^2.8.1","@testing-library/react-hooks":"^3.4.1","@types/jest":"^23.3.10","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^23.6.0","babel-loader":"^8.0.6","commitizen":"^4.0.3","coveralls":"^3.0.2","eslint":"^5.7.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"^1.6.1","husky":"^3.0.3","jest":"^23.6.0","jest-dom":"^3.0.0","microbundle":"^0.11.0","parcel-bundler":"^1.12.4","react":"^16.8.2","react-dom":"^16.8.2","react-test-renderer":"^16.8.6","react-testing-library":"^5.9.0","regenerator-runtime":"^0.13.1","semantic-release":"^15.13.19","storybook-addon-react-live-edit":"^2.0.4"},"peerDependencies":{"react":"^16.8.0"},"dependencies":{"lodash.isequal":"^4.5.0","shallowequal":"^1.1.0"},"repository":{"type":"git","url":"git+https://github.com/beizhedenglong/react-hooks-lib.git"},"gitHead":"4abf5fbd21e5153b1fd0e2b5099b7b98eb71ee8f","description":"A set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).","bugs":{"url":"https://github.com/beizhedenglong/react-hooks-lib/issues"},"homepage":"https://github.com/beizhedenglong/react-hooks-lib#readme","_id":"react-hooks-lib@0.5.0","_nodeVersion":"15.6.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Nh3ZDHEZE/KW5jBjEbdkq5HbWYi89x4rHEm5TY928SX4e3tpCFP5YDWxi9V1CZ/1KkC+xx+LM9zgA4fYVT2iZw==","shasum":"b0a4359a5f507a953540519d21aaa227b4eae242","tarball":"https://registry.npmjs.org/react-hooks-lib/-/react-hooks-lib-0.5.0.tgz","fileCount":63,"unpackedSize":2735509,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgDaWBCRA9TVsSAnZWagAAF5EP/3ru1kwFz52HiIo3+wts\nwPv7F0ynnwhonDe7ImPUKTqBbDksvKPVyXh/EB4J5QSswq9ALD8nuYanmkoR\nLYZ1dqNMbusPIna9YZbQOLNwRh/MbhDg6+y/KAxG2TZuAtcL2dgDG+6wotyV\nyauLUnNllpm7GDQf8r9++ubkhZCLhIx/i0nQYVRKSCnq4493Jp5in9g8YiRf\ntUrfSCSC5pOetRudxlZPxgdupeTW5lqWU8yX4dw0FhJkFo+y0VVX4j9xDgDy\nM5qOVoEyN6Gl8GcGAQRPbXujmRz14TMAWT3psX8OkQNFnJ+LJow5Dy7dPnCq\n+JJ7lFtwd6A27o2HSTSakZKlycsT0LmlHkUbK4RP3WgqCMOVtm/Is9+/yK1U\n+ivddK/YDCFA90H6hHLL3+4FC7kNTrtFnW+IA7yKw5W1Vrarb2S+R6vJR5tU\ny5a7fwUTA7JdRUxNk/LNk5frBi5V/gpfEfsGuVBI5UCdWx97eCAhPCOkuiPX\nOmasEJsynFHRKwuPD1qB+lX+kJRPNRXbkwQMzrsC3Wo+FZODi1LeLxqis5W+\nxbWfe53iYPkcce9KWmKmT4lwfhU5iSEC/yDqVbtv7yrrncwyCAWw30pxyPyI\ncGbW+NRu+wAB3BTfgH/LrGxHCx9TdI7tkP+UqOjfhP0ZlSr303HcZB7OuGqu\nYof7\r\n=fzA9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDLRS48xuWJinIZzUE4NXdfKcG/ygBQMQeYAi516CZodwIhALqcgKM7IQHKLmr5ZVBPdqvYKyMD+EFB+Dq9xmmTmdQ1"}]},"_npmUser":{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"},"directories":{},"maintainers":[{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hooks-lib_0.5.0_1611507072231_0.288595011526682"},"_hasShrinkwrap":false},"0.6.0":{"name":"react-hooks-lib","version":"0.6.0","main":"dist/react-hooks-lib.js","umd:main":"dist/react-hooks-lib.umd.js","module":"dist/react-hooks-lib.m.js","source":"src/index.js","license":"MIT","scripts":{"build":"microbundle -o dist/ --sourcemap false --no-compress --jsx React.createElement","dev":"microbundle watch -o dist/ --sourcemap false --no-compress --jsx React.createElement","test":"jest --coverage --config=jest.config.js","report-coverage":"cat ./coverage/lcov.info | coveralls","storybook":"start-storybook -p 6006 --ci","build-storybook":"build-storybook","deploy-storybook":"storybook-to-ghpages","semantic-release":"semantic-release"},"config":{"commitizen":{"path":"cz-conventional-changelog"}},"husky":{"hooks":{"pre-push":"yarn test","prepare-commit-msg":"exec < /dev/tty && git cz --hook || true"}},"keywords":["react-hooks","hooks","react","utils"],"resolutions":{"@babel/core":"^7.5.4"},"devDependencies":{"@babel/core":"^7.12.10","@babel/node":"^7.12.10","@babel/plugin-proposal-object-rest-spread":"^7.5.4","@babel/polyfill":"^7.2.5","@babel/preset-env":"^7.2.3","@babel/preset-react":"^7.0.0","@semantic-release/changelog":"^3.0.4","@semantic-release/git":"^7.0.16","@storybook/addon-actions":"^5.1.9","@storybook/addon-links":"^5.1.9","@storybook/addons":"^5.1.9","@storybook/react":"^5.1.9","@storybook/storybook-deployer":"^2.8.1","@testing-library/dom":"^8.1.0","@testing-library/react":"^12.0.0","@testing-library/react-hooks":"^7.0.1","@testing-library/user-event":"^13.2.1","@types/jest":"^23.3.10","babel-core":"^7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^23.6.0","babel-loader":"^8.0.6","commitizen":"^4.0.3","coveralls":"^3.0.2","eslint":"^5.7.0","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-react":"^7.11.1","eslint-plugin-react-hooks":"^1.6.1","husky":"^3.0.3","jest":"^23.6.0","jest-dom":"^3.0.0","microbundle":"^0.11.0","parcel-bundler":"^1.12.5","react":"^16.8.2","react-dom":"^16.8.2","react-test-renderer":"^16.8.6","react-testing-library":"^5.9.0","regenerator-runtime":"^0.13.1","semantic-release":"^15.13.19","storybook-addon-react-live-edit":"^2.0.4"},"peerDependencies":{"react":"^16.8.0"},"dependencies":{"lodash.isequal":"^4.5.0","shallowequal":"^1.1.0"},"repository":{"type":"git","url":"git+https://github.com/beizhedenglong/react-hooks-lib.git"},"gitHead":"65662ea59869a933935ba637c3b1d0bbf67efb05","description":"A set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).","bugs":{"url":"https://github.com/beizhedenglong/react-hooks-lib/issues"},"homepage":"https://github.com/beizhedenglong/react-hooks-lib#readme","_id":"react-hooks-lib@0.6.0","_nodeVersion":"14.17.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-kOlJ0NxiZ+gFPf7DwBtW9yoxC6ZsCRfUFtarGRwUWvaAaFAc+5zJ8vy+pCLViwt222J0jas6PCZHOJgAhw3bMg==","shasum":"5a799205319cd48c9b3367f5beae309ac96acebf","tarball":"https://registry.npmjs.org/react-hooks-lib/-/react-hooks-lib-0.6.0.tgz","fileCount":68,"unpackedSize":3204354,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDO5wCRA9TVsSAnZWagAAXVYP/jl4ZQF7267nzu9hP+xV\nfj7dMtPYR8hUIAs0BMGbjb2YFllqPON1QQT3OCVOzikMpRsXubU8uzmzxqJc\n5N2ercvl29BgOoAFk5fTXcCukPA8nCkAIvQn3DCaR/7duIgIIdiA096b8Svw\n/9FVmBBSntnqrVnQDYOziErhJLDx2bar1ZlL5M3tGUcWmeuTetCe2C5mV9lq\ntURDwycOM82z4mThG0qmlwGw99UFtUhYFq30TvK2xjaHFAKbjcjyFCLegOP4\n2snd+LgPGPQPy9ik87wOzLfdrFoGKS7WMD9RqxgupIETDdQC93+L0vyyWBZp\nwkOKSYhC3TBAJUs6wOCYz7PepXQ08uvL2JnJZxF75vc/8twlHLmm+OS22DiR\nAsNARMafi31holLcmAN1ov9A5P62ndl8UX2pFo7P5Ce5cCIVFMPMJRbz7YP7\nP3FPaYbZldoZmLOnThAMDJerSv4rDDqFmSfK/UEZs4n3FiVnOU6bZYiLcx7s\nBRNtfb2sxO6e3zpGa3OB1fcwQ1nHgPywesMIjrLLF73oTIVA1kj9EjDmvnjQ\n+dJ+QIQV0siraXKoCJl+PP0IOnEbPlWkalRb5fXqTWPcMIV+GLmuEaW185Fl\n98/EQCgSoTa++M3aNASw5dkHX+QScK3BSvX2v8HwY9VgAgsuEQCvbeJtT6bi\nXTot\r\n=PFAs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCrDsvyRt2C++REsJJPoaxaY9IQDz3Q91/R/9fS6PNicAIhAIzC95tZSBoIOAfcSsMOKXM2RDYRn7K9HYn5TDwKC7l8"}]},"_npmUser":{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"},"directories":{},"maintainers":[{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-hooks-lib_0.6.0_1628237423964_0.8828806246629546"},"_hasShrinkwrap":false}},"time":{"created":"2018-10-26T05:54:46.414Z","0.0.1":"2018-10-26T05:54:46.595Z","modified":"2022-05-14T12:15:05.111Z","0.0.2":"2018-10-26T06:21:13.819Z","0.0.3":"2018-10-26T08:24:45.901Z","0.0.4":"2018-10-26T10:21:03.936Z","0.0.5":"2018-10-27T08:08:53.740Z","0.0.6":"2018-10-28T07:49:22.209Z","0.0.7":"2018-10-28T16:53:06.007Z","0.0.8":"2018-10-29T11:10:53.560Z","0.0.9":"2018-12-24T06:20:26.367Z","0.0.10":"2019-01-03T02:58:45.802Z","0.0.11":"2019-01-14T11:42:20.314Z","0.0.12":"2019-01-17T04:16:06.277Z","0.0.13":"2019-01-17T07:36:13.577Z","0.0.14":"2019-01-17T09:29:31.677Z","0.0.15":"2019-01-17T09:58:54.179Z","0.0.16":"2019-01-24T03:14:28.415Z","0.0.18":"2019-05-14T12:32:54.482Z","0.0.19":"2019-07-14T14:04:13.614Z","0.0.20":"2019-08-08T12:13:30.310Z","0.1.0":"2019-10-21T13:00:40.187Z","0.1.1-beta":"2020-01-13T07:18:53.217Z","0.1.1":"2020-01-13T07:22:31.061Z","0.1.2":"2020-03-04T15:06:24.493Z","0.1.3":"2020-03-04T15:10:27.597Z","0.1.4":"2020-03-04T15:11:46.818Z","0.1.5":"2020-03-04T17:55:46.173Z","0.2.0":"2020-05-26T05:26:01.921Z","0.3.0":"2020-09-13T12:53:47.991Z","0.4.0":"2021-01-09T04:12:05.136Z","0.5.0":"2021-01-24T16:51:12.458Z","0.6.0":"2021-08-06T08:10:24.160Z"},"maintainers":[{"name":"beizhedenglong","email":"wang_shaojie@icloud.com"}],"description":"A set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).","license":"MIT","readme":"# React Hooks Lib &middot; ![](https://img.shields.io/github/license/beizhedenglong/react-hooks-lib.svg) [![Build Status](https://travis-ci.org/beizhedenglong/react-hooks-lib.svg?branch=master)](https://travis-ci.org/beizhedenglong/react-hooks-lib) [![Coverage Status](https://coveralls.io/repos/github/beizhedenglong/react-hooks-lib/badge.svg?branch=master&service=github)](https://coveralls.io/github/beizhedenglong/react-hooks-lib?branch=master)\n\nA set of reusable [React Hooks](https://reactjs.org/docs/hooks-reference.html#usestate).\n\n>Hooks are a new addition in React 16.8. They let you use state and other React features without writing a class.\n\n## Installation\n`npm i react-hooks-lib --save`\n\n## Examples\nVisit [storybook](https://beizhedenglong.github.io/react-hooks-lib)\n\n## Hooks\n\n| Name                                                     | Arguments                          | Returns                                                         |\n| -------------------------------------------------------- | ---------------------------------- | --------------------------------------------------------------- |\n| <h6>Lifecycles</h6>                                      |                                    |                                                                 |\n| [`useDidMount`](#usedidmountf)                           | f                                  | -                                                               |\n| [`useWillUnmount`](#usewillunmountf)                     | f                                  | -                                                               |\n| [`useDidUpdate`](#usedidupdatef-options)                 | f, conditions                      | -                                                               |\n| <h6>State</h6>                                           |                                    |                                                                 |\n| [`createContextState`](#createContextStateInitial)       | initial                            | { ContextProvider, ContextConsumer,  set, useSelector, useSet } |\n| [`createGlobalState`](#createGlobalStateInitial)         | initial                            | { GlobalProvider, GlobalConsumer, set, useSelector, useSet }    |\n| [`useMergeState`](#usemergestateinitial)                 | initial                            | { state, set }                                                  |\n| [`useNestedState`](#usenestedstate)                      | initial                            | { state, get, set }                                             |\n| `useBind`                                                | Please visit storybook             | Please visit storybook                                          |\n| `useNestedBind`                                          | Please visit storybook             | Please visit storybook                                          |\n| [`useStateCallback`](#useStateCallbackInitial-f)         | initial, f                         | { state, set }                                                  |\n| [`useUndo`](#useUndoInitial)                             | initial                            | { past, present, future, set, undo, redo }                      |\n| [`useCounter`](#useCounterInitial)                       | initial                            | { count, set, reset, inc, dec }                                 |\n| [`useToggle`](#useToggleInitial)                         | initial                            | { on, set, reset, toggle }                                      |\n| [`useList`](#useListInitial)                             | initial                            | { list, set, reset, push, sort, filter }                        |\n| [`useMap`](#useMapInitial)                               | initial                            | { values, set, reset, clear, get, has, del }                    |\n| <h6>Effect</h6>                                          |                                    |                                                                 |\n| `useShallowEqualEffect`                                  | f, deps                            | -                                                               |\n| `useDeepEqualEffect`                                     | f, deps                            | -                                                               |\n| <h6>Network</h6>                                         |                                    |                                                                 |\n| [`useFetch`](#useFetchInitialUrl-initialOptions-onMount) | initialUrl, initialOptions, config | { loading, data, error, fetch, setUrl, setOptions, setData }    |\n| [`useOnlineStatus`](#useonlinestatus)                    |                                    |                                                                 |\n| <h6>Feedback</h6>                                        |                                    |                                                                 |\n| [`useHover`](#useHover)                                  | -                                  | { hovered, bind }                                               |\n| [`useActive`](#useActive)                                | -                                  | { active, bind }                                                |\n| [`useFocus`](#useFocus)                                  | -                                  | { focused, bind }                                               |\n| [`useTouch`](#useTouch)                                  | -                                  | { touched, bind }                                               |\n| <h6>Data Entry</h6>                                      |                                    |                                                                 |\n| [`useField`](#useFieldInitial)                           | initial                            | { value, set, reset, bind }                                     |\n| <h6>Async</h6>                                           |                                    |                                                                 |\n| `useAsync`                                               | f                                  | { f, loading }                                                  |\n\n\n## API\n\n### `useDidMount(f)`\nSimilar to `componentDidMount` in React class component. \n#### Arguments\n- `f: () => void`: f is  called when component did mount.\n```js\nimport { useDidMount } from 'react-hooks-lib'\n\nconst MyComponent = () => {\n  useDidMount(() => {\n    console.log('didMount')\n  })\n}\n```\n\n### `useWillUnmount(f)`\nClose to the `componentWillUnmount` in React class component.\n#### Arguments\n- `f: () => void`: f is called when component will unmount.\n```js\nimport { useWillUnmount } from 'react-hooks-lib'\n\nconst MyComponent = () => {\n  useWillUnmount(() => {\n    console.log('willUnmount')\n  })\n}\n```\n\n### `useDidUpdate(f, options?)`\nSimilar to `componentDidUpdate`, it only runs on updates.\n#### Arguments\n- `f: () => Function | void`: f is called on every updates. Like `useEffect`, f can return a clean-up function.\n- `conditions?: Array<any>`: Optional array for conditionally firing an effect, same as the second argument passed to `useEffect`.\n```js\nimport { useDidUpdate, useCounter } from 'react-hooks-lib'\n\nconst MyComponent = () => {\n  const { count, inc } = useCounter(0)\n  useDidUpdate(() => {\n    console.log('DidUpdate')\n  })\n  return (\n    <div>\n      {`count: ${count}`}\n      <button onClick={() => inc(1)}>+1</button>\n    </div>\n  )\n}\n```\n### `createContextState(initial?)`\n\n### `createGlobalState(initial?)`\n\n### `useMergeState(initial?)`\n#### Arguments\n- `initial?: Object`: Initial state object, default is `{}`.\n#### Returns\n- `state: Object`: Current state object.\n- `set: ((Object) => Object) | Object`: Like `setState` in React class component, merge the old and new state together.\n```js\nimport { useMergeState } from 'react-hooks-lib'\n\nconst MergeState = () => {\n  const { state, set } = useMergeState({ name: 'Victor', age: 1 })\n  return (\n    <div>\n      <h3>useMergeState</h3>\n      <div>\n        {`state: ${JSON.stringify(state)}`}\n        <button onClick={() => set(({ age }) => ({ age: age + 1 }))}>age+1</button>\n      </div>\n    </div>\n  )\n}\n```\n### `useNestedState`\n#### Arguments\n- `initial?`: Initial state, default is `undefined`.\n#### Returns\n- `state`: Current state.\n- `get(pathString, defaultValue)`: Get value form state at a specific `pathString`. eg: `get(\"a.b.c\")`/`get(\"\" | undefined)`, if `pathString` is empty,it will return the state object.\n- `set: (pathString, newValue | prevValue => newValue)`: Set value at a specific `pathString`. eg: `set(\"a.b.c\", prev => prev + 1)`/`set(\"\" | undefined, {})`. if `pathString` is empty,it will set the entire state object.\n\n### `useStateCallback(initial, f?)`\n\n### `useUndo(initial)`\n\n### `useCounter(initial)`\n```js\nimport { useCounter } from 'react-hooks-lib'\n\nconst Counter = () => {\n  const {\n    count, inc, dec, reset,\n  } = useCounter(1)\n  return (\n    <div>\n      {count}\n      <button onClick={() => inc(1)}>+1</button>\n      <button onClick={() => dec(1)}>-1</button>\n      <button onClick={reset}>reset</button>\n    </div>\n  )\n}\n\n```\n### `useToggle(initial)`\n```js\nimport { useToggle } from 'react-hooks-lib'\n\nconst Toggle = () => {\n  const { on, toggle, reset } = useToggle(false)\n  return (\n    <div>\n      {String(on)}\n      <button onClick={toggle}>toggle</button>\n      <button onClick={reset}>reset</button>\n    </div>\n  )\n}\n```\n\n### `useList(initial)`\n```js\nimport { useList } from 'react-hooks-lib'\nconst List = () => {\n  const { list, sort, filter } = useList([1, 4, 2, 3, 4, 2, 6, 8, 3, 4])\n  return (\n    <div>\n      list:\n      {JSON.stringify(list)}\n      <button onClick={() => sort((x, y) => x - y)}>sort</button>\n      <button onClick={() => filter(x => x >= 4)}> greater than or equal to 4</button>\n    </div>\n  )\n}\n```\n\n### `useMap(initial)`\n\n### `useFetch(initialUrl, initialOptions?, onMount?)`\n```js\nimport { useField, useFetch } from 'react-hooks-lib'\n\nconst Fetch = () => {\n  const getUrl = text => `https://api.github.com/search/repositories?q=${text}`\n  const { value, bind } = useField('react')\n  const { data, loading, setUrl } = useFetch(getUrl('react'))\n  return (\n    <div>\n      <h3>useFetch</h3>\n      <input type=\"text\" value={value} {...bind} />\n      <button onClick={() => {\n        setUrl(getUrl(value))\n      }}\n      >\n        search\n      </button>\n      {\n        loading\n          ? <div>Loading...</div>\n          : (<span>{`total_count: ${data.total_count}`}</span>)\n      }\n    </div>\n  )\n}\n```\n\n### `useOnlineStatus()`\n\n### `useHover()`\n\n``` js\nimport { useHover } from 'react-hooks-lib'\n\nconst Hover = () => {\n  const { hovered, bind } = useHover()\n  return (\n    <div>\n      <div {...bind}>\n        hovered:\n        {String(hovered)}\n      </div>\n    </div>\n  )\n}\n```\n\n### `useActive()`\n\n### `useFocus()`\n\n### `useTouch()`\n\n### `useField(initial)`\n```js\n  import {useField} from 'react-hooks-lib'\n\n  const Input = () => {\n    const { value, bind } = useField('Type Here...')\n\n    return (\n      <div>\n        input text:\n        {value}\n        <input type=\"text\" {...bind} />\n      </div>\n    )\n  }\n\n  const Select = () => {\n    const { value, bind } = useField('apple')\n    return (\n      <div>\n        selected:\n        {value}\n        <select {...bind}>\n          <option value=\"apple\">apple</option>\n          <option value=\"orange\">orange</option>\n        </select>\n      </div>\n    )\n  }\n```\n","readmeFilename":"README.md","keywords":["react-hooks","hooks","react","utils"],"homepage":"https://github.com/beizhedenglong/react-hooks-lib#readme","repository":{"type":"git","url":"git+https://github.com/beizhedenglong/react-hooks-lib.git"},"bugs":{"url":"https://github.com/beizhedenglong/react-hooks-lib/issues"}}