{"_id":"tiny-context","_rev":"36-481ffa5416a6dea4a614ab94fb7ca5cb","name":"tiny-context","dist-tags":{"latest":"1.8.2","next":"1.8.1","trial":"1.6.0-trial.2"},"versions":{"0.1.0":{"name":"tiny-context","description":"A tiny library for context using react-hooks.","keywords":["tiny-context","react","hooks","context"],"version":"0.1.0","license":"MIT","author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"main":"dist/tiny-context.js","types":"dist/tiny-context.d.ts","repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"homepage":"https://github.com/benishouga/tiny-context","scripts":{"start":"webpack-dev-server --hot --watch-content-base --content-base docs/ --open ","test":"cross-env NODE_ENV=test jest --coverage","compile":"tsc","build":"webpack --mode=development","format":"prettier --write \"./src/**/*.*\" \"./test/**/*.*\" \"./**/*.json\"","clean":"rimraf ./dist"},"peerDependencies":{"react":"^16.8"},"devDependencies":{"@testing-library/react":"^9.4.0","@types/jest":"^24.9.0","@types/react":"^16.9.17","@types/react-dom":"^16.9.4","cross-env":"^6.0.3","jest":"^25.1.0","prettier":"^1.19.1","react":"^16.8","react-dom":"^16.8","rimraf":"^3.0.0","ts-jest":"^24.3.0","ts-loader":"^6.2.1","typescript":"^3.7.5","webpack":"^4.41.5","webpack-cli":"^3.3.10","webpack-dev-server":"^3.10.1"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"gitHead":"1072d54db53d3f09319c2271365d95a57b9b5783","_id":"tiny-context@0.1.0","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-jvs4UgaquUXYyFJqL4x06vU+qtyDfWcyowuiK9CrgKuNJ81UZPr1d1gUStfvuIieM5XHlOLdxtIJ2F6RJnOB/A==","shasum":"77bd83d1948a23da0fb45f28ab3e951c4ddfb6b1","tarball":"https://registry.npmjs.org/tiny-context/-/tiny-context-0.1.0.tgz","fileCount":4,"unpackedSize":10243,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeKzkGCRA9TVsSAnZWagAAeOUP/ieuMvJQKRzZJzcyBAAg\nEc5d+zSECgTJx5JFgcdoP/p/ugmwccWx63NKzxRcVcC+hVhu6qKBVuaOQCrJ\nroRavWYUWplmbcmGbLUoYe5wXA+R6l2R/xP9n1Ksp/72GHlDjz8rLNvZGDFY\nU6WTdNRwKPEBmT9MN3rzTwi8xLIqDCtpnEcAw57EtXqI89uSJjnZUGapaXQ3\nnUtKR7Swk0aCqTz02q2HsXCsyCFfeImbdyv2Fs3wDTTZYhdRwRq4GhdEYtZI\ncOD+tz7zeJaCHEnhqpFfTDCFIyXnGKcBrr2d7mFPTCooD6DpBIqb1Mi+oUeJ\nulw83iT956bV8355HrbgndvXGO2+U0/81DmM1ccwkFBhcOYodL6nArLUegiy\nIY3MN4oFidY0xS6zB8SEIpZ5yebLO+q18pjjsRzDLjI4VMY0vyfHdHyjKtrR\nolSjJInp2CyPflV3QHjgeHgnkvIIVXkGdNFNx8AsvPzx6uvsEq7zDsl8p9QB\nb/m/FoZ/kLEW8WVN0enLUHNNT9lydtY7WG9uAPvMpQ8emMLfO4zfx9qmo9iv\nqXUNINE28mLzjXnhQGUyf9BFJ3tPa3yor+zAjSgY14uTXYPijNRxL37OWXaE\n3+/YUuuBJr7GayXOYJMuYqLw+dn7fekOIFug9ygte/Zk5UQhWdIAOd83nq+W\npUMP\r\n=57kV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDsh9MCIRUw6iTN+6bFnEvFSUnGjKuTyOlteF31LIDU8AiA5qM4d5OmiOqHJiHdQrHUyyhufMWIv4q9uCznC5eOj/A=="}]},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"_npmUser":{"name":"benishouga","email":"benishouga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-context_0.1.0_1579890949788_0.8482995147178922"},"_hasShrinkwrap":false},"0.1.1":{"name":"tiny-context","description":"A tiny library for context using react-hooks.","keywords":["tiny-context","react","hooks","context"],"version":"0.1.1","license":"MIT","author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"main":"dist/tiny-context.js","types":"dist/tiny-context.d.ts","repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"homepage":"https://github.com/benishouga/tiny-context","scripts":{"start":"webpack-dev-server --hot --watch-content-base --content-base docs/ --open ","test":"cross-env NODE_ENV=test jest --coverage","compile":"tsc","build":"webpack --mode=development","format":"prettier --write \"./src/**/*.*\" \"./test/**/*.*\" \"./**/*.json\"","clean":"rimraf ./dist"},"peerDependencies":{"react":"^16.8"},"devDependencies":{"@testing-library/react":"^9.4.0","@types/jest":"^24.9.0","@types/react":"^16.9.17","@types/react-dom":"^16.9.4","cross-env":"^6.0.3","jest":"^25.1.0","prettier":"^1.19.1","react":"^16.8","react-dom":"^16.8","rimraf":"^3.0.0","ts-jest":"^24.3.0","ts-loader":"^6.2.1","typescript":"^3.7.5","webpack":"^4.41.5","webpack-cli":"^3.3.10","webpack-dev-server":"^3.10.1"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"gitHead":"fc78ec08dfa515896fa65d5b268ba6ddfdc24a29","_id":"tiny-context@0.1.1","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-5wyvgm3V2lnzP0XLasolPqG4mNj/3UACT22cGi4ouhU9lgf+kFdjnIfHZ2yc0caaydN4gyvlXD4GzTo+G7yJRg==","shasum":"e3c81f1c9146c05551d482a6a10ed671b3f032f9","tarball":"https://registry.npmjs.org/tiny-context/-/tiny-context-0.1.1.tgz","fileCount":5,"unpackedSize":11837,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeLltsCRA9TVsSAnZWagAA0OEP/R5KwXEWP1x0AQGIRoia\nDPMK4NgT4UckT2ZqJkb1GkkhCquC8jAsl1xLVUNtNeLeEQYEsBeH/aAq2W4d\n1NSIMq6AHHp7nMGlng7jUruHi2JkT0E4EY5J8GsUTUruOtSdQYt5P+ZauKO7\ndy6IB4V5w6duPCKmMHDoby5vaTdJtUEGm5JipskjDDOXWTzxYM1qJ/C8iJDF\n5RFuoVW/fSVv5SARNO5VuhJTIPRvMcLGhr1/OtQpT7SkTig2iPg2TqbLwi7s\n+kXRuNi8jjuvcUDJlQmCeNPw57J3ir4U2A8EyyVQIQ7DYxgtvUGuDvS5zA+T\nBp0GFZwVAQEhj6imYyzVNSZz6xdVc29UcHyb7E0YgKXKW7L0QpSWVNMb27/+\nYM6uB+rqsTVFIpAQFrG1LSZgScOTJBxb4458mXMV19L5+12/FTnRUUL6zJZK\ntekT9JC+9WusH8U6HTX1r0/ZEQ3PoAhPeqUe7to/DVyfZHspwWs1zTWQr4R0\nrl1qJCSwygbV9wu261F6Ef6s1Ke59WdDcC06IlFIeu7iZ+cHh5GmevjHbwwU\ndWNegzBT76jif27AMtnuiag9nv3fjNgr2c/zhcDd6Vs1diEV7HLyMxNLjFi6\n8bBomdDEKNu8wtaTGW0N/vLxlIGB9k6RuxrnPy5tjPzWcCRdcVdu4bkOZKb9\nDJYY\r\n=C1dn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC3jweFmIy/JufqYvCZPHC7FRPybjZ7tMGVHCXD9c8O0AiBAFOh+7Jl9a0QkqyBzKrY/zeZasLqaK99ECprx3JJDPw=="}]},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"_npmUser":{"name":"benishouga","email":"benishouga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-context_0.1.1_1580096363857_0.7245207438800556"},"_hasShrinkwrap":false},"0.1.2":{"name":"tiny-context","description":"A tiny library for context using react-hooks.","keywords":["tiny-context","react","hooks","context"],"version":"0.1.2","license":"MIT","author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"main":"dist/tiny-context.js","types":"dist/tiny-context.d.ts","repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"homepage":"https://github.com/benishouga/tiny-context","scripts":{"start":"webpack-dev-server --hot --watch-content-base --content-base docs/ --open ","test":"cross-env NODE_ENV=test jest --coverage","compile":"tsc","build":"webpack --mode=development","format":"prettier --write \"./src/**/*.*\" \"./test/**/*.*\" \"./**/*.json\"","clean":"rimraf ./dist"},"peerDependencies":{"react":"^16.8"},"devDependencies":{"@testing-library/react":"^9.4.0","@types/jest":"^24.9.0","@types/react":"^16.9.17","@types/react-dom":"^16.9.4","cross-env":"^6.0.3","jest":"^25.1.0","prettier":"^1.19.1","react":"^16.8","react-dom":"^16.8","rimraf":"^3.0.0","ts-jest":"^24.3.0","ts-loader":"^6.2.1","typescript":"^3.7.5","webpack":"^4.41.5","webpack-cli":"^3.3.10","webpack-dev-server":"^3.10.1"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"gitHead":"730b723ae63db357df7ef04e218f07d3f72748ca","_id":"tiny-context@0.1.2","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-StjOESVJpvzFtou4f3WBOFyVznCdIfVWsvv1bmN+HPH8snkiFnfWXl71wrHPMLo6gkPLf/wC9Cv+rIjxRuYkRA==","shasum":"d1e37035ee555a084812d6cd51a9b1ea76f4be40","tarball":"https://registry.npmjs.org/tiny-context/-/tiny-context-0.1.2.tgz","fileCount":5,"unpackedSize":11837,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeLl6oCRA9TVsSAnZWagAABPUP/2V5h4prfwAR0kZsOqiL\n7ulYZyPTL/4ZhWx3kCRS+p9MWS1PloPcVjVdu0R6rrJ9ycRHu61viDIVhqep\nBXZ0R41eeNPUkWvlvBkx50q+MBNgxQGK29imkPTlIaJmqNG6s16LCOtZqUNI\nUYkjY0ypdUPKH1C9g9e8Yj07+/S+X9wH3DKCLkla8WB48SKJuxx/qPetrF5+\newPywJ4REIs4hnV7eahJbYjr8S9IB6OX/eXCHubho+uSV11vRUYEpD8dmWhO\ncIHbE5hWVo2npALFGUgr8wR7XO4V1Dzq4yoiiutpeAQkQEVB2Cw4w62aeUXi\nQjEB9fzu1qFQWDKHcVZef/unanImfmhCc8Ile1HUQ6j9xygWdAffxc+BHDGa\npJKkrjYGfUQUOC9g+NuvyduLc34/V/1z391ipcADUuakcBSwvVlcG142Fy5G\n8yvrFw/87OS0d5fLbgQ9WrKiyh2mr9Y1nN9Xj/olEft55Z//nWkgDL+a0wvY\nPTlbLQ4vIBPLiNMFJBt6HGZWRCwizkjHDSC1Dd2hDUdzf7X23SjgVbOPiEZV\nMoPyn9KZhhV5nCZ2r2pUSDLGutjj0vXF2Ll8NUzTquXm1dZHlILhvQmkrQX3\ndwimPh2nFOd6oGlMf3q+ZMqoZjvtJ60XNZG00a5IyJ5slnvKgUgupI88V1NE\nSkt7\r\n=MGOX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDi8mmMtsuWKaIYaSHH2WFCQnnunY7Nffk1Nwir4LaIGAIhAKUJZjUKlz7yTDYNuxSjpleunwi5D7gF/hsvdNeGkUA6"}]},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"_npmUser":{"name":"benishouga","email":"benishouga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-context_0.1.2_1580097191917_0.31982955172147864"},"_hasShrinkwrap":false},"0.2.0":{"name":"tiny-context","description":"A tiny library for context using react-hooks.","keywords":["tiny-context","react","hooks","context"],"version":"0.2.0","license":"MIT","author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"main":"dist/tiny-context.js","types":"dist/tiny-context.d.ts","repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"homepage":"https://github.com/benishouga/tiny-context","scripts":{"start":"webpack-dev-server --hot --watch-content-base --content-base docs/ --open ","test":"cross-env NODE_ENV=test jest --coverage","compile":"tsc","build":"webpack --mode=development","format":"prettier --write \"./src/**/*.*\" \"./test/**/*.*\" \"./**/*.json\"","clean":"rimraf ./dist"},"peerDependencies":{"react":"^16.8"},"devDependencies":{"@testing-library/react":"^9.4.0","@types/jest":"^24.9.0","@types/react":"^16.9.17","@types/react-dom":"^16.9.4","cross-env":"^6.0.3","jest":"^25.1.0","prettier":"^1.19.1","react":"^16.8","react-dom":"^16.8","rimraf":"^3.0.0","ts-jest":"^24.3.0","ts-loader":"^6.2.1","typescript":"^3.7.5","webpack":"^4.41.5","webpack-cli":"^3.3.10","webpack-dev-server":"^3.10.1"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"gitHead":"b9d879a85f3652b645da2a84cf8ddf81d6aa6de4","_id":"tiny-context@0.2.0","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-GPLTnkJRLMiq+dHFVn0jKsJq6TjLbI+1ZF+Oil85GMKzOHlG8+ZODrtjkIJzY5ko9dqDnj0rPd2ajEQ705yigA==","shasum":"85c024f42b6dd5ca1775cff87fc3835015455ef3","tarball":"https://registry.npmjs.org/tiny-context/-/tiny-context-0.2.0.tgz","fileCount":5,"unpackedSize":12393,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeOFomCRA9TVsSAnZWagAAl9sP/3UrikHdHFUZ4C+fmmEM\nqhQVYNUJOmL5GPooJa7RlYMsHEWocAMrdqVpPbPbFssrno8ZJsyypuTSNgvU\nhnSgYNyV3h9sQ0JahX8tj9f947kdhRFuSHfoPVg00WYBF/z/Pw7y1i5szJOF\nFEQza0goOELy2dDgI+gX+UGCWnx7JU3Wt+Cy+44zGuBJQeJ2qDt947zEswbJ\nOXHROdUS20gVm/o+lU1duXsRoT2AFzSEuL0vw5Mmu9wU3kwiRoZ3NiHn7HcH\nGjFG0a1j2oYL6lWo54m2pU+6zXZqVKtoHSk2Ysn23kZ3K+J4MVmGJIUdQ/rk\ndC1H3M8UV+c4XmdY5SMl/eNflbruauVMDknHCLayGqP/pnuUY0gCyPpveBTj\nglqnJsLooAJbAsl9GapMDDaA9Ymq2lIqRhpWGpIKCbcWHUVMwir7IAmSSRDM\nqpjxr06WKPV4/4pSHJ48ea4wHONBcm9rw1LaMjWdWk3lbUK9TNH9mjEjZI+m\no5Q74rT1KvurqvUkKohihVYbsky+nGj3tqx2brbNw1tfW87HzdXl9ESayuul\nSmfBgrMzJKfqLf9G+poX7uNw5ZweVl4BaG4LM/Afx/Wj7Cz+J6eNQ/zgTo1B\nI9Odr5uVVWIweydU5+cLcHT/jRfCiQ8XZEGp5io2Hck4+JBGAETXFIVjc9nf\n67Gv\r\n=kDPN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDJ/UovlqUCUQCPNk6L2UdKLQEaLnoJF8tjzcBge0LhqQIhANcIOISwcupTojxSBMczLzV1gwKq57JpCZxrnnd9Jsc8"}]},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"_npmUser":{"name":"benishouga","email":"benishouga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-context_0.2.0_1580751398396_0.24122863274745177"},"_hasShrinkwrap":false},"0.2.1":{"name":"tiny-context","description":"A tiny library for context using react-hooks.","keywords":["tiny-context","react","hooks","context"],"version":"0.2.1","license":"MIT","author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"main":"dist/tiny-context.js","types":"dist/tiny-context.d.ts","repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"homepage":"https://github.com/benishouga/tiny-context","scripts":{"start":"webpack-dev-server --hot --watch-content-base --content-base docs/ --open ","test":"cross-env NODE_ENV=test jest --coverage","compile":"tsc","build":"webpack --mode=development","format":"prettier --write \"./src/**/*.*\" \"./test/**/*.*\" \"./**/*.json\"","clean":"rimraf ./dist"},"peerDependencies":{"react":"^16.8"},"devDependencies":{"@testing-library/jest-dom":"^5.1.1","@testing-library/react":"^9.4.0","@types/jest":"^24.9.0","@types/react":"^16.9.17","@types/react-dom":"^16.9.4","cross-env":"^6.0.3","jest":"^25.1.0","prettier":"^1.19.1","react":"^16.8","react-dom":"^16.8","rimraf":"^3.0.0","ts-jest":"^24.3.0","ts-loader":"^6.2.1","typescript":"^3.7.5","webpack":"^4.41.5","webpack-cli":"^3.3.10","webpack-dev-server":"^3.10.1"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"gitHead":"fde25028651d253aafa2bdeb493bfbe6b0e23aa1","_id":"tiny-context@0.2.1","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-zhi1dGpWLl/Jh/FwTr/saQJvT9Fp+wxHxODowzkQASdlC1NMqXrczrbojUFm1apHlDWFlMNyJczXEEPNxCk3Ng==","shasum":"ab610be11cd62026361dc52a64631b308071d42d","tarball":"https://registry.npmjs.org/tiny-context/-/tiny-context-0.2.1.tgz","fileCount":5,"unpackedSize":12520,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeOVm/CRA9TVsSAnZWagAAs6UP/0RrEBlyiApemOShAS99\nGQYB2SzEWS9xeQtbZouGwCownVsWkA5SAEtFhsGFt5RsakwPSEikosjH8DZO\nWIfWmc6J/6Tv3ksz3xR9/sIpfyndQY80gSwU5u5fcaVQQchavMGPOP2rgdRY\nZj6CerheSpj3yKd2U0+aloGvRA+0w9T6iTKSawuig2ZDwP3tvvAn3k1BUA8G\n5PqRbChpbkBcmxEMTY4YPhS+Re5bzj2ZYOSwe8NMtO9iePti/0lcH8HifbvG\nWNpSD4+2SGo2uLG0k0a+yJPNZ798keOHg53bA+4QLSyx0tYHvn/Py7YT2xzf\ntYXheCR7bfqREWtpGsTooFJcNnNcSqOKKo85gwM1E5WycKicZXrVsgBcm70f\nVjQdoIqW+EGxsZyVfj+1LT83YLxa8ddg7tfLKgqlw6NvlSM3amYhkAV6pAcx\nSOHl8D4kpkhGfQ92GS2heq4GQ9gRxRx35W0FdGaUQ8wPaQcfjn+6mvOryRbk\ndu39jXxukmjbSWA7tPw1dNKBMYfhEwYJ62wG/DuQzevzkEE+i07JUmhkgEI3\nledXssV4gb2jDjivXrvdT7iUbLAER3FFWuk+RyHTQ8E+EJ6AkoNL0GyYh5eW\nSb1IvhexlwCMAUZIFzIuRzMzcMN9I0IDjeIvV3xbCX0JakcZNhvKITF0hURV\nRcyJ\r\n=JvDB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDsmiN+sHB9m6zw75F8MzmBj9VOVCodBkr/AKJ1shMf0AIgZFbrPdt47hreQAb3Lgonm6UmQ5RqcuRhEYqPaa274lQ="}]},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"_npmUser":{"name":"benishouga","email":"benishouga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-context_0.2.1_1580816830715_0.7460866252052596"},"_hasShrinkwrap":false},"0.3.0":{"name":"tiny-context","description":"A tiny library for context using react-hooks.","keywords":["tiny-context","react","hooks","context"],"version":"0.3.0","license":"MIT","author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"main":"dist/tiny-context.js","types":"dist/tiny-context.d.ts","repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"homepage":"https://github.com/benishouga/tiny-context","scripts":{"start":"webpack-dev-server --hot --watch-content-base --content-base docs/ --open ","test":"cross-env NODE_ENV=test jest --coverage","compile":"tsc","build":"webpack --mode=development","format":"prettier --write \"./src/**/*.*\" \"./test/**/*.*\" \"./**/*.json\"","clean":"rimraf ./dist"},"peerDependencies":{"react":"^16.8"},"devDependencies":{"@testing-library/jest-dom":"^5.1.1","@testing-library/react":"^9.4.0","@types/jest":"^24.9.0","@types/react":"^16.9.17","@types/react-dom":"^16.9.4","cross-env":"^6.0.3","jest":"^25.1.0","prettier":"^1.19.1","react":"^16.8","react-dom":"^16.8","rimraf":"^3.0.0","ts-jest":"^24.3.0","ts-loader":"^6.2.1","typescript":"^3.7.5","webpack":"^4.41.5","webpack-cli":"^3.3.10","webpack-dev-server":"^3.10.1"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"gitHead":"dca60e359d3df5a319c4bbd814990278e1403536","_id":"tiny-context@0.3.0","_nodeVersion":"12.15.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-EjK2k9dmxQSY6VbnitAETWoaSHdpZUAI1FJepoSqICT9mK2byBCzYlHpD7pW4OeE2Fcy4572pW5HoR6zChp0XA==","shasum":"1366b88d6677d270a61ad3bb0fdc698785c0eae6","tarball":"https://registry.npmjs.org/tiny-context/-/tiny-context-0.3.0.tgz","fileCount":5,"unpackedSize":13679,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJePCaHCRA9TVsSAnZWagAAbCEP+gNQLVuBStaAYFg2In52\npV9ddQD5eXVI/Un4GtRXKNeqLN+1Q8IhcD/5Oicq4yKYUah3ROh49G+v1dez\n33fDf9iAxY8xKqqfhQnDn0I4fsAaPX7Oud1o2h5WtRS6fepGLFyvUQLKNB7U\noXQQ/8GUkTrcVdR/z2ofGOH5x/F+I8AYtskQ+sOtZo9uJeuZPc3sjt4Md/lf\nDhydXXkcnlbA+tD2qqpz5hzQBbtroxUDQuV+ZZjBjS8oitRCsiT4INtSLqIr\nYalFE/RQ803UrJEXOWyTHt0CxD8RvK0hxkdFmtFQIZye9pT03qeONA1iXaLB\nfjsDujpFRzHanRCnz6hM2f6SLF7/Va546S9/znBIidhuCNaDAkBJcrJVRSU7\nuYs6l74YNF/mBm3V+Gz7SQkSMYT/XbBpQOmQDQiOwfyJrn5ZV0tsTEIhM05W\nIPoWJpbyNXDU6QkIoKiitNJWxjisFxnaCO/YOPZ+ykQeLJ8SlpxGLmhC/EdL\nIBXvOW2SjvtA4ZBvf7mgTuZZg2h6UCGpXk8S0McDYz0Uh2pFF4vA7+Hq/faa\nkW819r283yai9nks8i7GIeXoTP7Il37V4Y16HCGGB4RaJN1GSqogXGTBYHfj\ntvLeRWNPdFY/oTHwChRtzE1j5McNoDQLDJvvMagaM5DgIE0cPIDK9BiITdD6\n2MYd\r\n=z9pi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDC+XXm2l3fTzb7qhzsnX+BZwdpHfUC6jf3ubGwCWZA6wIhAND+Da+b/50GK+7Wtcsp6GnLcn3EaW5967BxKatg+50/"}]},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"_npmUser":{"name":"benishouga","email":"benishouga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-context_0.3.0_1581000326698_0.7422393861106236"},"_hasShrinkwrap":false},"0.3.1":{"name":"tiny-context","description":"A tiny library for context using react-hooks.","keywords":["tiny-context","react","hooks","context"],"version":"0.3.1","license":"MIT","author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"main":"dist/tiny-context.js","types":"dist/tiny-context.d.ts","repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"homepage":"https://github.com/benishouga/tiny-context","scripts":{"start":"webpack-dev-server --hot --watch-content-base --content-base docs/ --open ","test":"cross-env NODE_ENV=test jest --coverage","compile":"tsc","build":"webpack --mode=development","format":"prettier --write \"./src/**/*.*\" \"./test/**/*.*\" \"./**/*.json\"","clean":"rimraf ./dist"},"peerDependencies":{"react":"^16.8"},"devDependencies":{"@testing-library/jest-dom":"^5.1.1","@testing-library/react":"^9.4.0","@types/jest":"^25.1.1","@types/react":"^16.9.19","@types/react-dom":"^16.9.5","@types/react-syntax-highlighter":"^11.0.4","cross-env":"^7.0.0","jest":"^25.1.0","prettier":"^1.19.1","raw-loader":"^4.0.0","react":"^16.8","react-dom":"^16.8","react-syntax-highlighter":"^12.2.1","rimraf":"^3.0.1","ts-jest":"^25.2.0","ts-loader":"^6.2.1","typescript":"^3.7.5","webpack":"^4.41.5","webpack-cli":"^3.3.10","webpack-dev-server":"^3.10.3"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"gitHead":"5f0f5f52ef90447eab567a3708d6147ccd9ccc5d","_id":"tiny-context@0.3.1","_nodeVersion":"12.15.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-+FqNV6Bjq48jvyJsMCo0ZmBY8jcKZt89K+LUQq5JaOpLJvmooaj6HfN3/GW69VJNInoVkjebwgkUjuFpHgqK4Q==","shasum":"c4d78e650653d63bb92f3833657e68fd9bcb52aa","tarball":"https://registry.npmjs.org/tiny-context/-/tiny-context-0.3.1.tgz","fileCount":5,"unpackedSize":13816,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJePUDYCRA9TVsSAnZWagAAhZ4P/2DTaDYGObbUJBNCBcWq\nCJjkFA9F/Ddx+0+LHeUFB8jfe67e858dlW5KpPri0wDejPw0P23q2T5uPG16\nku8f0T2xDhxqChrABBJTCgCZJK14PT83bI7dFwnUKVSC+3cOKqhCPyBPE+Y+\n2ttgrmR4pOTyen91ZZKH/d+R8IX2olu4i7K2rW/yUZXgmfQxFe5enpycSTyM\nkkZhsdDqcnAu/SGw5tzLmUJbNdd1Qq26ml9Aglwn+VlJP3BiQ17QO7OiaFR6\nBciublQjIgHwpDAkG690C2HoiVxRxFjw3S9HKfU1TLbjzZkz7Vh/1YMDBewD\ntoHjOnHkVix3ekfXgyL/6wbxIZ4F2jmyheCa2j5h8iHfiZaXOrEoXRVG5nPk\nB9A+csswsUayOqX1BVApdUMGNLhygYDoK84TEQBKzvmEkLSP6H0vSMuq0rW4\nVBXmiFE7jQh3GVFCgIbic7CNLOTGnMEFcDvZK0F93CFPvS/wRSrInjwNEL33\nXsdFrWYxSXYoX3biuP6fuxnTje/+K87nAgXrk694SbhKRnc/byX7LcEtSSJj\nafq3eooaB/qYcUuYOQRGQKAOF5fPgfckGcMUIsISIpI+y/4kJp/LkH+m65Z1\ntJl85LEAnjpP3TXPtMpLNrgnWsXTPZ3eGwGR0fyfKcpvDprqtN65cSVhvsJj\nxhem\r\n=mm+t\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC0kBKaMkRWLOlI8NfDJqGQ275l6PWmBpFurcGVVNqcqAIhAIajnVsDSq4/RQ3W7vrQwF8UMOwYuliOtSxKdSCa92NK"}]},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"_npmUser":{"name":"benishouga","email":"benishouga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-context_0.3.1_1581072599798_0.16088872820253464"},"_hasShrinkwrap":false},"0.3.2":{"name":"tiny-context","description":"A tiny library for context using react-hooks.","keywords":["tiny-context","react","hooks","context"],"version":"0.3.2","license":"MIT","author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"main":"dist/tiny-context.js","types":"dist/tiny-context.d.ts","repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"homepage":"https://github.com/benishouga/tiny-context","scripts":{"start":"webpack-dev-server --hot --watch-content-base --content-base docs/ --open ","test":"cross-env NODE_ENV=test jest --coverage","compile":"tsc","build":"webpack --mode=development","format":"prettier --write \"./src/**/*.*\" \"./test/**/*.*\" \"./**/*.json\"","clean":"rimraf ./dist"},"peerDependencies":{"react":"^16.8"},"devDependencies":{"@testing-library/jest-dom":"^5.1.1","@testing-library/react":"^9.4.0","@types/jest":"^25.1.1","@types/react":"^16.9.19","@types/react-dom":"^16.9.5","@types/react-syntax-highlighter":"^11.0.4","cross-env":"^7.0.0","jest":"^25.1.0","prettier":"^1.19.1","raw-loader":"^4.0.0","react":"^16.8","react-dom":"^16.8","react-syntax-highlighter":"^12.2.1","rimraf":"^3.0.1","ts-jest":"^25.2.0","ts-loader":"^6.2.1","typescript":"^3.7.5","webpack":"^4.41.5","webpack-cli":"^3.3.10","webpack-dev-server":"^3.10.3"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"gitHead":"4c4371493765e151004e3659ca0741bc460161f7","_id":"tiny-context@0.3.2","_nodeVersion":"12.15.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-B038I1M/KzOT8rRvKjIXZ5lrEC/H/rZY1zbmRjB6Yjcp1OIKCsIl0RUweBCLt8KSJBs8js7t3sN0J9J4C/odaw==","shasum":"d8728e22515ea9933981b29ce4d11dc6945f0f4f","tarball":"https://registry.npmjs.org/tiny-context/-/tiny-context-0.3.2.tgz","fileCount":5,"unpackedSize":13777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJePWhgCRA9TVsSAnZWagAAZWkP/03Nrx3VN/rlU3Zv7g86\ntfEJkTj7RrZKnnBIgWGGSqszb4LrEkUTQHvkhl/T0fPU+yE3m5KH58qlNxn/\nfkgRWUC+lcL5Wzlc7Gtb32VgwADFOmh3f4W6sqpPTTpALDCHM/SErJkop+E/\n93LSjZPU9Ho2RgCqM1794IMMaOaOU9ACzg7QfWSj1RWy+uidUedjDXs3y4k0\n/XI808urJsyUyE4WRmRADk+/eqt05Urz22EbWynQNaf8c4S1jK0v27d9VKjv\nyv3GwPnzfvkbR08GYpIs5Ho+LwMzDq40SSmxKhlVw/A05IX0Nt5uXR36y2cO\ntDpeOFDwggPHElZFr/Aa2/HgPNQJBbAT+uFViFwf2U6g+os0Ig69/tNtQVdZ\npkrCvgriBVBIDRFPAz0/APwFxahM/q9UijUVsd2v92FYlXwzMPl7bPFZtJhj\n5JL1ISBUe8eA4k0Af2hgqukciCeBC4U0ryW3ZaQy14JtfG8KFsLbzBtxG/Ka\nSCJTBtin0+Uuj8Ya2hBvOMGu21VusIl1/FAnMm0JsDMCc7KTJ5Xmi1frcu04\nRNA4KlVJeuJZrjZXtL3sSLD+Ry16Zju3836XWvDWZGfuyWnW9gl+tu8RMOGQ\nNcHMKplcTbRDIZUCeCAIEsl53/XURPSK8bAXAjzfs8hjnLfz13MPfcDc2ISw\nOpDe\r\n=BBYH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBMzH2Jb6vQda6RGIKB3/0tR0kNFJHz8St9ba9j76O+YAiEAw0NDXY56WqKvSgcLOw5ZCTqJhit6iozCciHnlOnQDu0="}]},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"_npmUser":{"name":"benishouga","email":"benishouga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-context_0.3.2_1581082719889_0.5460296825861148"},"_hasShrinkwrap":false},"0.3.3":{"name":"tiny-context","description":"A tiny library for context using react-hooks.","keywords":["tiny-context","react","hooks","context"],"version":"0.3.3","license":"MIT","author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"main":"dist/tiny-context.js","types":"dist/tiny-context.d.ts","repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"homepage":"https://github.com/benishouga/tiny-context","scripts":{"start":"webpack-dev-server --hot --watch-content-base --content-base docs/ --open ","test":"cross-env NODE_ENV=test jest --coverage","compile":"tsc","build":"webpack --mode=development","format":"prettier --write \"./src/**/*.*\" \"./test/**/*.*\" \"./**/*.json\"","clean":"rimraf ./dist"},"peerDependencies":{"react":"^16.8"},"devDependencies":{"@testing-library/jest-dom":"^5.1.1","@testing-library/react":"^9.4.0","@types/jest":"^25.1.1","@types/react":"^16.9.19","@types/react-dom":"^16.9.5","@types/react-syntax-highlighter":"^11.0.4","cross-env":"^7.0.0","jest":"^25.1.0","prettier":"^1.19.1","raw-loader":"^4.0.0","react":"^16.8","react-dom":"^16.8","react-syntax-highlighter":"^12.2.1","rimraf":"^3.0.1","ts-jest":"^25.2.0","ts-loader":"^6.2.1","typescript":"^3.7.5","webpack":"^4.41.5","webpack-cli":"^3.3.10","webpack-dev-server":"^3.10.3"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"gitHead":"9c31ef35359f709ac8ae5be0db1b8dd6add3e486","_id":"tiny-context@0.3.3","_nodeVersion":"12.15.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-qYAtLQCiLhOcCBtCzw/l6rCQWBcuV7pksuzWvJeVduU6D5Vnd3+APVxLcsdYeMZlco8M7776djO9fYZMxqAxeA==","shasum":"03a21cfe18a5aabaa5e7aede3b3e10c03c40485e","tarball":"https://registry.npmjs.org/tiny-context/-/tiny-context-0.3.3.tgz","fileCount":5,"unpackedSize":14984,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJePmcuCRA9TVsSAnZWagAAFp4P/1Lh1uwBR9YbyT2oZxAr\nH/ciHm+86L91l73F+vwYtFJlMvV+6hdWP+H13xXo3DaDpMs7TBSrYDX/eyQy\nPVR9gXDFVBJa2QIWApDoGoIp2+t7cC9+LEAunPhvjx4P7M3gBYYBsQSw5jjS\nOU0mbVilzowlev2PJQD6PtWwXeFCUjPQp3Q6/w0QMRmNRzkTEiQYCijl4tTs\neMaKOb94sgTo9weNpKSkx0KQSaTdx34mZpFl43pEuzKoC9lMKDUVvmT/qlWr\naMIp0ore/C4irTIFVaEm5rExJuIxxdZnO3bvgMLUJa1BxSh7gOf+JJ7Ab4rf\nKqoxsr8n03nYjS1REwkoUzviF65ZpCP+SOKKOn9QJeMCb5xjMKEfeqYDwod8\n5zGPROaNie6KA8X/zYybjfxVvegjEJKAV6vzWZlFQqg9N3v2e7eoygNC3TeQ\nr2LwmlGWiMTrqYlEe+vypQQZGMwJteJDWjTdSghG5Y6fO1Ex7Tt+9yRHo5iX\nEuZX83NzhTe4EIruwUYxrdVKsLVRpwgReT8bREhGlbtjb82NRO1M+AjFvXg+\n494hX4hY13DIyl+RNyqWuH72ShQZ0uZLAMb/quzEln6Br7SNZIhYx/ZU36rv\nmucR1KAe1QNZ6degD1XgIAVp+RmeTcJfSH8RTWtJ9OhRQYEekW3elhvTxXJC\nTTgf\r\n=7aS7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID8bUnLAVxJXy0soH0b2EjljBFlVgeRryPp9gtCVLuK2AiEAieVcRPD4eivcSR5QCHp/Fc4mp0BKpp/+/1bpVq2NgdE="}]},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"_npmUser":{"name":"benishouga","email":"benishouga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-context_0.3.3_1581147949842_0.6126147779979743"},"_hasShrinkwrap":false},"0.4.0":{"name":"tiny-context","description":"A tiny library for context using react-hooks.","keywords":["tiny-context","react","hooks","context"],"version":"0.4.0","license":"MIT","author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"main":"dist/tiny-context.js","types":"dist/tiny-context.d.ts","repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"homepage":"https://github.com/benishouga/tiny-context","scripts":{"start":"webpack-dev-server --hot --watch-content-base --content-base docs/ --open ","test":"cross-env NODE_ENV=test jest --coverage","compile":"tsc","build":"webpack --mode=development","format":"prettier --write \"./src/**/*.*\" \"./test/**/*.*\" \"./**/*.json\"","clean":"rimraf ./dist"},"peerDependencies":{"react":"^16.8"},"devDependencies":{"@testing-library/jest-dom":"^5.1.1","@testing-library/react":"^9.4.0","@types/jest":"^25.1.1","@types/react":"^16.9.19","@types/react-dom":"^16.9.5","@types/react-syntax-highlighter":"^11.0.4","cross-env":"^7.0.0","jest":"^25.1.0","prettier":"^1.19.1","raw-loader":"^4.0.0","react":"^16.8","react-dom":"^16.8","react-syntax-highlighter":"^12.2.1","rimraf":"^3.0.1","ts-jest":"^25.2.0","ts-loader":"^6.2.1","typescript":"^3.7.5","webpack":"^4.41.5","webpack-cli":"^3.3.10","webpack-dev-server":"^3.10.3"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"gitHead":"fcdacecb3b778c6ba0352c5179af97a4007f7789","_id":"tiny-context@0.4.0","_nodeVersion":"12.15.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-nyXvZ1e66VtMn5aQr15UQ2OGLhmtclJcawmOeLoiqBVDbjq1ktRIwV+fnQrXYfHy7XdBVQ46MH7VkzjKHype8A==","shasum":"8f5c978a584ee5bc2fd5c503ddb6bbab774fdf8d","tarball":"https://registry.npmjs.org/tiny-context/-/tiny-context-0.4.0.tgz","fileCount":5,"unpackedSize":16250,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeQXxJCRA9TVsSAnZWagAAJT4QAI0Vtotgy4lwRMv4DL4C\nxPGrzs9i5XfxRFTjqOVcroErKQ7FTOhQ2okoIT0USuC8joRXIFAgf/pkKwhf\nnQgZOAT7kehSLasCQqEWVBmWNsbiXgoDCx7w36F1DgW21H9IHTqthpzpQjga\nYeo3QKx5vZIglPEX6cmfvPOG6iuet1bTq3lFbbk957LY444Kq1eVfA/+H6L7\necJFSa+GHAIpAoLx+P1gXTF6gNsb7C+KW++bPQjZe+4nklnlqI2mml7qdiGK\n19rnrpZkytaRyJS8QEJAufr9af06/9q7daM/z25wwyuFZl2W4OdNf5a2jUll\nginUKKBHckmJX65I7dLHEG27VeqNpqCuyAgnc5oPd8y7SU61qF6kZghhOkyo\n47S5liGgZEwX92v4aKDvWL5LcQcRzl4evpoZF8XDCmFYSHK24OGeWtUpSnJJ\n4OKXclR/QQ1cJ1z5fHR48a7wLG9q9bk4Q+5vuhuFb9Z5HzcoDXuAa2I9ElVq\nCGCjAIF0p7Dn+WA0wHt0q6qUosmIsTPfe4q6ZaPrySDpwJgyVSVGmJa3HGJa\nwXN9Rc3+TqTPrvYm8QxI9dgMy73iphSjpMlrZrt4hjBYByyNRN/1bWfRjVxr\nhJpS17PD5zJrWF1PbAm+wIlt5vdwWuhiP/DIqKWBeuuboE+huyQblGeDiSK0\nNDDr\r\n=pBEJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFBR4enumz+ZIKQpcdBwuo2EnVmp32NmeVGIVVabNPDeAiEA6o5BLzb/HkmLtDo4S5PQuILiT2WMivb4832p7Q6akCI="}]},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"_npmUser":{"name":"benishouga","email":"benishouga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-context_0.4.0_1581349960592_0.6011977455656639"},"_hasShrinkwrap":false},"1.0.0":{"name":"tiny-context","description":"A tiny library for context using react-hooks.","keywords":["tiny-context","react","hooks","context"],"version":"1.0.0","license":"MIT","author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"main":"dist/tiny-context.js","types":"dist/tiny-context.d.ts","repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"homepage":"https://github.com/benishouga/tiny-context","scripts":{"start":"webpack-dev-server --hot --watch-content-base --content-base docs/ --open ","test":"cross-env NODE_ENV=test jest --coverage","compile":"tsc","build":"webpack --mode=development","format":"prettier --write \"./src/**/*.*\" \"./test/**/*.*\" \"./**/*.json\"","clean":"rimraf ./dist"},"peerDependencies":{"react":"^16.8"},"devDependencies":{"@testing-library/jest-dom":"^5.1.1","@testing-library/react":"^9.4.0","@types/jest":"^25.1.1","@types/react":"^16.9.19","@types/react-dom":"^16.9.5","@types/react-syntax-highlighter":"^11.0.4","cross-env":"^7.0.0","jest":"^25.1.0","prettier":"^1.19.1","raw-loader":"^4.0.0","react":"^16.8","react-dom":"^16.8","react-syntax-highlighter":"^12.2.1","rimraf":"^3.0.1","ts-jest":"^25.2.0","ts-loader":"^6.2.1","typescript":"^3.7.5","webpack":"^4.41.5","webpack-cli":"^3.3.10","webpack-dev-server":"^3.10.3"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"readme":"# tiny-context\n\n![GITHUB-BADGE](https://github.com/benishouga/tiny-context/workflows/Node.js%20CI/badge.svg)\n\nThis library for Context API of React Hooks. Easily create a context with a state and an action to update it.\n\n## Installation\n\n```\nnpm install tiny-context\n```\n\n## Concept\n\nThis library wraps the React Context API and supports creating contexts with `{ state: { ... }, actions: { ... } }`.\n\n- Easy to understand.\n- Easy to implement with less code.\n- Easy to create async action and generator action.\n- Easy to test.\n- TypeScript friendry.\n\n## Steps to use\n\n1. Define `State`.\n   ```ts\n   type CounterState = { count: number };\n   ```\n2. Define `actions` that takes `State` as the first argument and returns `State`. `actions` can also be created on a [class-base](https://benishouga.github.io/tiny-context/).\n   ```ts\n   const actions = {\n     increment: (state: CounterState, amount: number) => ({ ...state, count: state.count + amount })\n   };\n   ```\n3. Create `Provider` and `useContext` from `actions`. Specify the `State` and `actions` for the type argument.\n   ```ts\n   const { Provider, useContext } = createTinyContext<CounterState, typeof actions>(actions);\n   ```\n   (option) If you use the `actions` method, you only need to specify `State` type argument.\n   ```ts\n   const { Provider, useContext } = createTinyContext<CounterState>().actions({\n     increment: (state, amount: number) => ({ ...state, count: state.count + amount })\n   });\n   ```\n4. Can be used like the Context API :)\n\n   ```tsx\n   const Buttons = () => {\n     const {\n       actions: { increment }\n     } = useContext();\n     return <button onClick={increment}>+</button>;\n   };\n\n   const Display = () => {\n     const {\n       state: { count }\n     } = useContext();\n     return <span>{count}</span>;\n   };\n\n   const CounterApp = () => (\n     <Provider value={{ count: 0 }}>\n       <Buttons />\n       <Display />\n     </Provider>\n   );\n   ```\n\n## Examples\n\nClass-based actions, Async action, Generator action and Todo App examples.<br>\nhttps://benishouga.github.io/tiny-context/\n\n## API\n\n### createTinyContext\n\nCreate Provider and useContext from Actions implementations. Actions implementation methods require the first argument to be `State` and the return value to be `State` (or `Partial<State>`, [`Promise`, `Generator`](https://benishouga.github.io/tiny-context/)).\n\nSpecify the `State` and the `Actions` interface for the type argument.\n\n```ts\nimport { createTinyContext, ExternalActions } from 'tiny-context';\n\ntype CounterState = { count: number; };\nclass CounterActions {\n  increment: (state: CounterState, amount: number) => ({ ...state, count: state.count + amount })\n  decrement: (state: CounterState, amount: number) => ({ ...state, count: state.count - amount })\n}\nconst { Provider, useContext } = createTinyContext<CounterState, CounterActions>(new CounterActions());\n\n// If use the `actions` method\nconst { Provider, useContext } = createTinyContext<CounterState>().actions(new CounterActions());\n```\n\n`Provider` is same as [`Provider of React`](https://reactjs.org/docs/context.html#contextprovider).\n\nSupply an initial value for `value`.\n\n```tsx\nconst SomeApp = () => (\n  <Provider value={{ count: 0 }}>\n    <SomeConsumer />\n  </Provider>\n);\n```\n\n`useContext` is hooks used on a consumer. Not need arguments. You will get an object with a State and a function that calls the Actions defined earlier.\n\nFunction arguments are inherited from the second and subsequent arguments of the previously defined Action. The return value is a uniform `Promise<void>`.\n\n```tsx\nconst SomeConsumer = () => {\n  const {\n    state: {...},\n    actions: {...}\n  } = useContext();\n\n};\n```\n\n## Limitation\n\n- Any action in the same context is executed sequentially.\n  - If you want to process in parallel like incremental search, control it out of context.\n- Not support to cancel a action in processing.\n\n## Contributions\n\nI make heavy use of Google Translate. Please tell me if my English is wrong :)\n\n## Lisence\n\nMIT License\n","readmeFilename":"README.md","gitHead":"fcb77bcdd747dfbb0c8ea927df0480dade7aa4dc","_id":"tiny-context@1.0.0","_nodeVersion":"12.15.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-WEULAoFwMSaa+WS6GdEsyOHbczerItsfMzze2WQXWjVH71wUyXyOlFSBRZM+5YLhOeU0SaY/ytkEr7cm3bYcJg==","shasum":"7d6e3607f55ce2acec256ee5ee1d36216a193967","tarball":"https://registry.npmjs.org/tiny-context/-/tiny-context-1.0.0.tgz","fileCount":5,"unpackedSize":16337,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeRCKKCRA9TVsSAnZWagAAXdsP/A/3FnQq8MC4wIjgNaWk\nDMuZS1SnqIojhppHbrS7jTMNQo77BTXEj+q5d/j6Vo/PGkoSNMtShXvmM9vF\nwnqGpulITQHOPKqZ3PF1uIvQEA5q46ZyIKXpdjhOskn5rv/v0iMJYnHOT5Vu\ndC5OkQZphuqtdCOONd0DYudJBhj9OUP+yhRSMc8WF3hXVb5bwvrCrZUxqmUo\nOrubhG3a0u2SYVK5f5OF/bmQ1bKs9Lp4Oaz6cEhkQR58JRrIy/9h4MwU6WrE\n4GdUvqTEbngKqYvbnwTXdtE++pOkOunMXRbGJJQR7drklN+EVU0/RWqGdtH7\nNcnAi2xWXWNOma1XzVkzUalbbgWnCAWzpf4M/pzMDYlg9t+HrbRfefndy+sa\nC2GR18WBtWktcnz36BrG1Io35FviZjcTCLMctWlOsVmusxwIK5lTFJZyP/E8\nRw+siMnSSjRxT2lRE1FTVDRA8rQgwMS8GeOH96VowEDYXtm5hjz8XHN9U0Ge\nKSxwBUfUQ20l8EAkgbo8NdF0nDYLjf1KMeNdVWYi1t7d0U8BtQWKgYxHzZts\nbysFgjlunBv9yP1ZhbL69cwHwjPbt2p/nlX7x7zly2wHY6PlE+U+ZP4Qx7Ia\nRZYdysPocZUgv91KE9+RG/cav1169CK2Ie3NSIC8VxyeAwEF2h6IgFGp65nA\ngl/k\r\n=bJXD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC5pI6SMrOVOJ7LHFEEBbsp2OhOecvFoj4ERBTVVgaj4AiBZTT3uEOnCByoUp0ctD8Whjn1xpH+uRDUuk4/sC2QxVw=="}]},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"_npmUser":{"name":"benishouga","email":"benishouga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-context_1.0.0_1581523594101_0.34262374593472167"},"_hasShrinkwrap":false},"1.1.0":{"name":"tiny-context","description":"A tiny library for context using react-hooks.","keywords":["tiny-context","react","hooks","context"],"version":"1.1.0","license":"MIT","author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"main":"dist/tiny-context.js","types":"dist/tiny-context.d.ts","repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"homepage":"https://github.com/benishouga/tiny-context","scripts":{"start":"webpack-dev-server --hot --watch-content-base --content-base docs/ --open ","test":"cross-env NODE_ENV=test jest --coverage","compile":"tsc","build":"webpack --mode=development","format":"prettier --write \"./src/**/*.*\" \"./test/**/*.*\" \"./**/*.json\"","clean":"rimraf ./dist"},"peerDependencies":{"react":"^16.8"},"devDependencies":{"@testing-library/jest-dom":"^5.1.1","@testing-library/react":"^9.4.0","@types/jest":"^25.1.1","@types/react":"^16.9.19","@types/react-dom":"^16.9.5","@types/react-syntax-highlighter":"^11.0.4","cross-env":"^7.0.0","jest":"^25.1.0","prettier":"^1.19.1","raw-loader":"^4.0.0","react":"^16.8","react-dom":"^16.8","react-syntax-highlighter":"^12.2.1","rimraf":"^3.0.1","ts-jest":"^25.2.0","ts-loader":"^6.2.1","typescript":"^3.7.5","webpack":"^4.41.5","webpack-cli":"^3.3.10","webpack-dev-server":"^3.10.3"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"readme":"# tiny-context\n\n![GITHUB-BADGE](https://github.com/benishouga/tiny-context/workflows/Node.js%20CI/badge.svg)\n\nThis library for Context API of React Hooks. Easily create a context with a state and an action to update it.\n\n## Installation\n\n```\nnpm install tiny-context\n```\n\n## Concept\n\nThis library wraps the React Context API and supports creating contexts with `{ state: { ... }, actions: { ... } }`.\n\n- Easy to implement with less code.\n- Easy to understand. (like React Context API with Hooks)\n- Easy to create async action and async generator action. (I think it's like redux-saga.)\n- Easy to test. (Only test a stateless implementation.)\n- TypeScript friendry. (Check by type whenever possible.)\n\n## Steps to use\n\n1. Define `State`.\n   ```ts\n   type CounterState = { count: number };\n   ```\n2. Define `actions` that takes `State` as the first argument and returns `State`. `actions` can also be created on a [class-base](https://benishouga.github.io/tiny-context/).\n   ```ts\n   const actions = {\n     increment: (state: CounterState, amount: number) => ({ ...state, count: state.count + amount })\n   };\n   ```\n3. Call `createTinyContext` to create `Provider` and `useContext` from `actions`. Specify the `State` and `actions` for the type argument.\n   ```ts\n   const { Provider, useContext } = createTinyContext<CounterState, typeof actions>(actions);\n   ```\n   (option) If you use the `actions` method, you only need to specify `State` type argument.\n   ```ts\n   const { Provider, useContext } = createTinyContext<CounterState>().actions(actions);\n   ```\n4. Can be used like the React Context API :)\n\n   ```tsx\n   const Buttons = () => {\n     const {\n       actions: { increment }\n     } = useContext();\n     return <button onClick={() => increment(1)}>+</button>;\n   };\n\n   const Display = () => {\n     const {\n       state: { count }\n     } = useContext();\n     return <span>{count}</span>;\n   };\n\n   const CounterApp = () => (\n     <Provider value={{ count: 0 }}>\n       <Buttons />\n       <Display />\n     </Provider>\n   );\n   ```\n\n## Examples\n\nClass-based actions, Async action, Async generator action and Todo App examples.<br>\nhttps://benishouga.github.io/tiny-context/\n\n## API\n\n### createTinyContext\n\nCreate Provider and useContext from Actions implementations. Actions implementation methods require the first argument to be `State` and the return value to be `State` (or [`Promise`, `Async Generator`](https://benishouga.github.io/tiny-context/)).\n\nSpecify the `State` and the `Actions` interface for the type argument.\n\n```ts\nimport { createTinyContext, ExternalActions } from 'tiny-context';\n\ntype CounterState = { count: number; };\nclass CounterActions {\n  increment: (state: CounterState, amount: number) => ({ ...state, count: state.count + amount })\n  decrement: (state: CounterState, amount: number) => ({ ...state, count: state.count - amount })\n}\nconst { Provider, useContext } = createTinyContext<CounterState, CounterActions>(new CounterActions());\n```\n\nIf use the `actions` method.\n\n```ts\nconst { Provider, useContext } = createTinyContext<CounterState>().actions(new CounterActions());\n```\n\n`Provider` is same as [`Provider of React`](https://reactjs.org/docs/context.html#contextprovider).\n\nSupply an initial value for `value`.\n\n```tsx\nconst SomeApp = () => (\n  <Provider value={{ count: 0 }}>\n    <SomeConsumer />\n  </Provider>\n);\n```\n\n`useContext` is hooks used on a consumer. Not need arguments. You will get an object with a State and a function that calls the Actions defined earlier.\n\nFunction arguments are inherited from the second and subsequent arguments of the previously defined Action. The return value is a uniform `Promise<void>`.\n\n```tsx\nconst SomeConsumer = () => {\n  const {\n    state: {...},\n    actions: {...}\n  } = useContext();\n\n};\n```\n\n## Limitation\n\n- Any action in the same context is executed sequentially.\n  - If you want to process in parallel like incremental search, control it out of context.\n- Not support to cancel a action in processing.\n\n## Contributions\n\nI make heavy use of Google Translate. Please tell me if my English is wrong :)\n\n## Lisence\n\nMIT License\n","readmeFilename":"README.md","gitHead":"d65c5e5f2a4dbe8582ae299264db03cd7e01f2c7","_id":"tiny-context@1.1.0","_nodeVersion":"12.15.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-0vswTs2+DR8osKeFtG+mMMsYnwqTSU2iow2J85WWKmlllJI5F/AsRkmoY4mcB/sYMSkLo22haL67qwtuBKYK5A==","shasum":"168cad16f2b61b6ddb876dded79fdafee1a2dde8","tarball":"https://registry.npmjs.org/tiny-context/-/tiny-context-1.1.0.tgz","fileCount":5,"unpackedSize":16411,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeRShECRA9TVsSAnZWagAASEcQAIxUUvWOs2U3+BjYTG9G\nMtQsCxtgbchvhJWWU8igyXnlubajztl/H+eVPqFVsYfwrgTwOyQ61Grh13rA\nbjmEb+flK7CcwqbH/LkL9POBYDu7SXe+TxikxiI8Fp0jycL/I+OHXw80j3r8\nT4n0l5y/8+pe0gVPP5b2G+H4OGxWqgn6drs20T32b3ipg/n6y+Mo55hcXuFM\ntppvEr0wvUc1oHT7mYuJcIPMrcUQDWiYJ4+w3LTo1CIWQg4hJ9Cz+dH92Wok\nwA76MUxnqFG7ZXSbfAJUG0GMYb+lZ14utpox++/QCJbVdusgHbzEMZjmChDO\n1MYdCd13Qr/2/QTIhmPiXrJ1FfqtIL0k+f0tGm8fdz/Ue7Yze3DtdeDluYHq\n4YIwizMrJh0jSt0NOjPWcJC3jBu3pg7VIZfccYvlL+X15ZUyX/q4SPIcBu1O\n7vKvwdRp2qva8+E5+JOvHvc1F6MTHQE1xh7wJSRH8/bK1aeYWXNn2/jAVuai\n9QXrz669qYF10waObXAeJ3z/XNkadGbBCP2TaWKnw0KIbOAPQVG2s2Qm3hsc\nydrfRGSi34TApig9+G6hxrxOBqb0NakhTNStc9WTadnjplCM6SvuDB9w1fTX\nOqBR73AMJEvaQ7yIDECFtYO9PD3kztA1Q6u/oYqFsyDENght9zClyRaYhyMC\ndse7\r\n=2tRs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCX99Tr7kEIeScRilwCDZSbRy6s5QY/rqK5uNVIAKpQ6wIgdGx2XZj6VkxKS875TNGqODQMj31uIJQ7euxFant4BMY="}]},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"_npmUser":{"name":"benishouga","email":"benishouga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-context_1.1.0_1581590596189_0.7416808606522689"},"_hasShrinkwrap":false},"1.1.1":{"name":"tiny-context","description":"A tiny library for context using react-hooks.","keywords":["tiny-context","react","hooks","context","store"],"version":"1.1.1","license":"MIT","author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"main":"dist/tiny-context.js","types":"dist/tiny-context.d.ts","repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"homepage":"https://github.com/benishouga/tiny-context","scripts":{"start":"webpack-dev-server --hot --watch-content-base --content-base docs/ --open ","test":"cross-env NODE_ENV=test jest --coverage","compile":"tsc","build":"webpack --mode=development","format":"prettier --write \"./src/**/*.*\" \"./test/**/*.*\" \"./**/*.json\"","clean":"rimraf ./dist"},"peerDependencies":{"react":"^16.8"},"devDependencies":{"@testing-library/jest-dom":"^5.1.1","@testing-library/react":"^9.4.0","@types/jest":"^25.1.1","@types/react":"^16.9.19","@types/react-dom":"^16.9.5","@types/react-syntax-highlighter":"^11.0.4","cross-env":"^7.0.0","jest":"^25.1.0","prettier":"^1.19.1","raw-loader":"^4.0.0","react":"^16.8","react-dom":"^16.8","react-syntax-highlighter":"^12.2.1","rimraf":"^3.0.1","ts-jest":"^25.2.0","ts-loader":"^6.2.1","typescript":"^3.7.5","webpack":"^4.41.5","webpack-cli":"^3.3.10","webpack-dev-server":"^3.10.3"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"gitHead":"23413cfad22677b99546f2db564c2449b8875e36","_id":"tiny-context@1.1.1","_nodeVersion":"12.16.0","_npmVersion":"6.13.7","dist":{"integrity":"sha512-yjPK/MFyiCtMJymcALNIuXpefMztmS/hF2AoDyodSNnxGs7gT0FA/t3464aeJuCu+S1siD5ds7eGaalClrE8eA==","shasum":"59ae65877a2db39ef2c5dacb2e41d304caf7d08d","tarball":"https://registry.npmjs.org/tiny-context/-/tiny-context-1.1.1.tgz","fileCount":5,"unpackedSize":16397,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeRniGCRA9TVsSAnZWagAA+XEQAJsHI1BVHy90xce9w5ez\nf0IPjPI2iA3cVML9vfaCH8b26EEL8mnSV6/oKYDUBYpswuK79+Ln5XKcSEj8\new3KlZi3WpVkjPEeUrzqdYoal0H2ds+kdpbCedRkpmt8s0yFkzXLkDMVUOlX\nDyXMO7VfelAEtaINX577opNo/wirErvQqmAI+TZWcbt/azdDg47LtxM/vhY/\ntWRHHieLfmXTRS1qEv4FF2FZ0FN3A5YAJ+sDnCL3QXWFL4ASlbMCVOd2Hi9s\ngrNZdBpZiW3iNK+PixNMS8R/VFuTE1kHoqJYCLlp+h7I1naYIfUSDRvursQE\nCRL4G8m6cj9htchxdkR65a204bno1OldCE4AKrW0Z7jLu9j3WeccZ99qPRE4\n1G6VHipaR7bscYCYHaaGEE8+nJk1jBFXEZhJw4xgPYhXxweOtKkbNe6zvsyF\nEAJeO0bInFV4MaRuS2GnzUsva/3/BNnx1sYl8j/KnN4fv19pJYJq6wJENylm\nnwZgxxteKCVdZqkUd26GVAkt3rAuNlriw6RHWTYP5HzF5QHkR7x8EJLcWXYZ\nwj9qQgEEgnrLPSbLhqE1+jgFLEu1Fe2r9oBV0WAx288da+NGzGBDRX5NjD0t\nexUXo4YHgDxeOxA1KLHQ1htulps0Gf4Ri87oZNVfG90xvOkO6BkrdHKz4oG1\n9/FA\r\n=+nGr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEdoJ4QcY1rBTIUx1xn36LlZbYhDE78nNu5Jsjnq0OgBAiEAs1Ir6T47DJM155vJBHHT+KaGurxJamMBaePt6dRvJB4="}]},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"_npmUser":{"name":"benishouga","email":"benishouga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-context_1.1.1_1581676678193_0.4759844982187684"},"_hasShrinkwrap":false},"1.2.0-trial.0":{"name":"tiny-context","description":"A tiny library for context using react-hooks.","keywords":["tiny-context","react","hooks","context","store"],"version":"1.2.0-trial.0","license":"MIT","author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"main":"lib/tiny-context.js","unpkg":"umd/tiny-context.js","module":"es/tiny-context.js","types":"lib/tiny-context.d.ts","repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"homepage":"https://github.com/benishouga/tiny-context","scripts":{"start":"webpack-dev-server --hot --watch-content-base --content-base docs/ --open ","test":"cross-env NODE_ENV=test jest --coverage","compile":"rollup -c","build":"webpack --mode=development","format":"prettier --write \"./src/**/*.*\" \"./test/**/*.*\" \"./**/*.json\"","clean":"rimraf coverage es lib umd","prepare":"npm run clean && npm run compile"},"peerDependencies":{"react":"^16.8"},"devDependencies":{"@testing-library/jest-dom":"5.1.1","@testing-library/react":"9.4.0","@types/jest":"25.1.2","@types/react":"16.9.19","@types/react-dom":"16.9.5","@types/react-syntax-highlighter":"11.0.4","cross-env":"7.0.0","jest":"25.1.0","prettier":"1.19.1","raw-loader":"4.0.0","react":"16.12.0","react-dom":"16.12.0","react-syntax-highlighter":"12.2.1","rimraf":"3.0.1","rollup":"^1.31.1","rollup-plugin-terser":"^5.2.0","rollup-plugin-typescript2":"^0.26.0","ts-jest":"25.2.0","ts-loader":"6.2.1","typescript":"^3.7.5","webpack":"4.41.5","webpack-cli":"3.3.10","webpack-dev-server":"3.10.3"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"readme":"# tiny-context\n\n![GITHUB-BADGE](https://github.com/benishouga/tiny-context/workflows/Node.js%20CI/badge.svg)\n\nThis library for Context API of React Hooks. Easily create a context with a state and an action to update it.\n\n## Installation\n\nRequires React 16.8.3 or later.\n\n```\nnpm install tiny-context\n```\n\n## Concept\n\nThis library wraps the React Context API and supports creating contexts with `{ state: { ... }, actions: { ... } }`.\n\n- Easy to implement with less code.\n- Easy to understand. (like React Context API with Hooks)\n- Easy to create async action and async generator action. (I think it's like redux-saga.)\n- Easy to test. (Only test a stateless implementation.)\n- TypeScript friendry. (Strict type checking.)\n\n## Steps to use\n\n1. Define `State`.\n   ```ts\n   type CounterState = { count: number };\n   ```\n2. Define `actions` that takes `State` as the first argument and returns `State`. `actions` can also be created on a [class-base](https://benishouga.github.io/tiny-context/).\n   ```ts\n   const actions = {\n     increment: (state: CounterState, amount: number) => ({ ...state, count: state.count + amount })\n   };\n   ```\n3. Call `createTinyContext` to create `Provider` and `useContext` from `actions`. Specify the `State` and `actions` for the type argument.\n   ```ts\n   const { Provider, useContext } = createTinyContext<CounterState, typeof actions>(actions);\n   ```\n   (option) If you use the `actions` method, you only need to specify `State` type argument.\n   ```ts\n   const { Provider, useContext } = createTinyContext<CounterState>().actions(actions);\n   ```\n4. Can be used like the React Context API :)\n\n   ```tsx\n   const Buttons = () => {\n     const {\n       actions: { increment }\n     } = useContext();\n     return <button onClick={() => increment(1)}>+</button>;\n   };\n\n   const Display = () => {\n     const {\n       state: { count }\n     } = useContext();\n     return <span>{count}</span>;\n   };\n\n   const CounterApp = () => (\n     <Provider value={{ count: 0 }}>\n       <Buttons />\n       <Display />\n     </Provider>\n   );\n   ```\n\n## Examples\n\nClass-based actions, Async action, Async generator action and Todo App examples.<br>\nhttps://benishouga.github.io/tiny-context/\n\n## API\n\n### createTinyContext\n\nCreate Provider and useContext from Actions implementations. Actions implementation methods require the first argument to be `State` and the return value to be `State` (or [`Promise`, `Async Generator`](https://benishouga.github.io/tiny-context/)).\n\nSpecify the `State` and the `Actions` interface for the type argument.\n\n```ts\nimport { createTinyContext } from 'tiny-context';\n\ntype CounterState = { count: number; };\nclass CounterActions {\n  increment: (state: CounterState, amount: number) => ({ ...state, count: state.count + amount })\n  decrement: (state: CounterState, amount: number) => ({ ...state, count: state.count - amount })\n}\nconst { Provider, useContext } = createTinyContext<CounterState, CounterActions>(new CounterActions());\n```\n\nIf the `actions` method is used, the type argument of `Actions` can be omitted.\n\n```ts\nconst { Provider, useContext } = createTinyContext<CounterState>().actions(new CounterActions());\n```\n\n`Provider` is same as [`Provider of React`](https://reactjs.org/docs/context.html#contextprovider).\n\nSupply an initial value for `value`.\n\n```tsx\nconst SomeApp = () => (\n  <Provider value={{ count: 0 }}>\n    <SomeConsumer />\n  </Provider>\n);\n```\n\n`useContext` is hooks used on a consumer. Not need arguments. You will get an object with a State and a function that calls the Actions defined earlier.\n\nFunction arguments are inherited from the second and subsequent arguments of the previously defined Action. The return value is a uniform `Promise<void>`.\n\n```tsx\nconst SomeConsumer = () => {\n  const {\n    state: {...},\n    actions: {...}\n  } = useContext();\n\n};\n```\n\n## Limitation\n\n- Any action in the same context is executed sequentially.\n  - If you want to process in parallel like incremental search, control it out of context.\n- Not support to cancel a action in processing.\n\n## Contributions\n\nI make heavy use of Google Translate. Please tell me if my English is wrong :)\n\n## Lisence\n\nMIT License\n","readmeFilename":"README.md","gitHead":"85c50648ce514d4009c7a95234c7d8a009cea477","_id":"tiny-context@1.2.0-trial.0","_nodeVersion":"12.16.0","_npmVersion":"6.13.7","dist":{"integrity":"sha512-7te+quG+IseeUvMTfpnVO0js15dnbWQ8FPCRu1Gw8Nybj7gVDDHQs6AHVFntPJPo4ufHayQ5HWzdXzaK7Cfzmg==","shasum":"dcab9834997c0fd3e78b3b206ab8932db407cd4f","tarball":"https://registry.npmjs.org/tiny-context/-/tiny-context-1.2.0-trial.0.tgz","fileCount":8,"unpackedSize":44285,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeSTxFCRA9TVsSAnZWagAAn6AP/18gWEyBrqy3KTOKSOsK\nyYiefajWDOsptvva/fefeXyYNiquphvehXCnZY70eWoZXySZvFQBbY+eWLJq\nFHup1lXgxiZgD0cMpdDLIuhzPpPNUJB8fDgEUf18mweekbZssz7IVEEKl0Ps\npvG9MDjw1yYYLnRSsfvLWWLtyTttiOkIMlW0u+yBAgO0PLDu37zsoeQuaEty\nl6biyYmsR4g/LMRnw3EG8QdIxVvzrEPKXP7aBeqIGaqi1NkB3HDVgJg9YkwE\nphE6J9YFOGt2a5Ut5yERxxiHhV00xnavmEeF5jomt+FbgreMjWxJzyaqmN2H\ncCAboOunfn5tzp+JMeKmmZ+DGkTT6hb6Maz89YRtneO/Q7n0VpAI/xRfXZLm\nNw7jVW81yjf2zg9or3IGAni9rUoM3nzq9brMWUihzMwXgjYbcC/hZfQBKKFp\n4JLuSHRfRGFC7HNi4JPuLEBP3aG/qx5xSKMaII+KzZwhbD/LNeNqM+7NZe3h\nPDiWd81I761NKpFt63nSdDn/Y05dS0tlCoRhvXuoRdLJQxQ4hZj6DNiuKbFT\nEQk/tn0iNi3YqNv5JmPdPn7TDUFdlX/L0rFktaHbst3pBA2Z68ekfZz+u7g9\n7x0EWShZ0+bv/1uCrvWHsm5nQ+j11lpjMrw4jVC1akv9WiDywLAJNZu6C0aC\nvJpK\r\n=RO2h\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCL+HuJ9iv39EbX1e4Cr2Xv3e61SElx8vywkSWdvy3XJAIgRV3+6JkFKB4TVzQ2l/J/jRCyFWLVXCOlUxoihoebLlM="}]},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"_npmUser":{"name":"benishouga","email":"benishouga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-context_1.2.0-trial.0_1581857860525_0.5066777127454178"},"_hasShrinkwrap":false},"1.2.0-trial.1":{"name":"tiny-context","description":"A tiny library for context using react-hooks.","keywords":["tiny-context","react","hooks","context","store"],"version":"1.2.0-trial.1","license":"MIT","author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"main":"lib/tiny-context.js","unpkg":"umd/tiny-context.js","module":"es/tiny-context.js","types":"lib/tiny-context.d.ts","repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"homepage":"https://github.com/benishouga/tiny-context","scripts":{"start":"webpack-dev-server --hot --watch-content-base --content-base docs/ --open ","test":"cross-env NODE_ENV=test jest --coverage","compile":"rollup -c","build":"webpack --mode=development","format":"prettier --write \"./src/**/*.*\" \"./test/**/*.*\" \"./**/*.json\"","clean":"rimraf coverage es lib umd","prepare":"npm run clean && npm run compile"},"peerDependencies":{"react":"^16.8"},"devDependencies":{"@testing-library/jest-dom":"5.1.1","@testing-library/react":"9.4.0","@types/jest":"25.1.2","@types/react":"16.9.19","@types/react-dom":"16.9.5","@types/react-syntax-highlighter":"11.0.4","cross-env":"7.0.0","jest":"25.1.0","prettier":"1.19.1","raw-loader":"4.0.0","react":"16.12.0","react-dom":"16.12.0","react-syntax-highlighter":"12.2.1","rimraf":"3.0.1","rollup":"^1.31.1","rollup-plugin-terser":"^5.2.0","rollup-plugin-typescript2":"^0.26.0","ts-jest":"25.2.0","ts-loader":"6.2.1","typescript":"^3.7.5","webpack":"4.41.5","webpack-cli":"3.3.10","webpack-dev-server":"3.10.3"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"readme":"# tiny-context\n\n![GITHUB-BADGE](https://github.com/benishouga/tiny-context/workflows/Node.js%20CI/badge.svg)\n\nThis library for Context API of React Hooks. Easily create a context with a state and an action to update it.\n\n## Installation\n\nRequires React 16.8.3 or later.\n\n```\nnpm install tiny-context\n```\n\n## Concept\n\nThis library wraps the React Context API and supports creating contexts with `{ state: { ... }, actions: { ... } }`.\n\n- Easy to implement with less code.\n- Easy to understand. (like React Context API with Hooks)\n- Easy to create async action and async generator action. (I think it's like redux-saga.)\n- Easy to test. (Only test a stateless implementation.)\n- TypeScript friendry. (Strict type checking.)\n\n## Steps to use\n\n1. Define `State`.\n   ```ts\n   type CounterState = { count: number };\n   ```\n2. Define `actions` that takes `State` as the first argument and returns `State`. `actions` can also be created on a [class-base](https://benishouga.github.io/tiny-context/).\n   ```ts\n   const actions = {\n     increment: (state: CounterState, amount: number) => ({ ...state, count: state.count + amount })\n   };\n   ```\n3. Call `createTinyContext` to create `Provider` and `useContext` from `actions`. Specify the `State` and `actions` for the type argument.\n   ```ts\n   const { Provider, useContext } = createTinyContext<CounterState, typeof actions>(actions);\n   ```\n   (option) If you use the `actions` method, you only need to specify `State` type argument.\n   ```ts\n   const { Provider, useContext } = createTinyContext<CounterState>().actions(actions);\n   ```\n4. Can be used like the React Context API :)\n\n   ```tsx\n   const Buttons = () => {\n     const {\n       actions: { increment }\n     } = useContext();\n     return <button onClick={() => increment(1)}>+</button>;\n   };\n\n   const Display = () => {\n     const {\n       state: { count }\n     } = useContext();\n     return <span>{count}</span>;\n   };\n\n   const CounterApp = () => (\n     <Provider value={{ count: 0 }}>\n       <Buttons />\n       <Display />\n     </Provider>\n   );\n   ```\n\n## Examples\n\nClass-based actions, Async action, Async generator action and Todo App examples.<br>\nhttps://benishouga.github.io/tiny-context/\n\n## API\n\n### createTinyContext\n\nCreate Provider and useContext from Actions implementations. Actions implementation methods require the first argument to be `State` and the return value to be `State` (or [`Promise`, `Async Generator`](https://benishouga.github.io/tiny-context/)).\n\nSpecify the `State` and the `Actions` interface for the type argument.\n\n```ts\nimport { createTinyContext } from 'tiny-context';\n\ntype CounterState = { count: number; };\nclass CounterActions {\n  increment: (state: CounterState, amount: number) => ({ ...state, count: state.count + amount })\n  decrement: (state: CounterState, amount: number) => ({ ...state, count: state.count - amount })\n}\nconst { Provider, useContext } = createTinyContext<CounterState, CounterActions>(new CounterActions());\n```\n\nIf the `actions` method is used, the type argument of `Actions` can be omitted.\n\n```ts\nconst { Provider, useContext } = createTinyContext<CounterState>().actions(new CounterActions());\n```\n\n`Provider` is same as [`Provider of React`](https://reactjs.org/docs/context.html#contextprovider).\n\nSupply an initial value for `value`.\n\n```tsx\nconst SomeApp = () => (\n  <Provider value={{ count: 0 }}>\n    <SomeConsumer />\n  </Provider>\n);\n```\n\n`useContext` is hooks used on a consumer. Not need arguments. You will get an object with a State and a function that calls the Actions defined earlier.\n\nFunction arguments are inherited from the second and subsequent arguments of the previously defined Action. The return value is a uniform `Promise<void>`.\n\n```tsx\nconst SomeConsumer = () => {\n  const {\n    state: {...},\n    actions: {...}\n  } = useContext();\n\n};\n```\n\n## Limitation\n\n- Any action in the same context is executed sequentially.\n  - If you want to process in parallel like incremental search, control it out of context.\n- Not support to cancel a action in processing.\n\n## Contributions\n\nI make heavy use of Google Translate. Please tell me if my English is wrong :)\n\n## Lisence\n\nMIT License\n","readmeFilename":"README.md","gitHead":"480033c391938fdb5f3131dfa2b2f2dbfa642363","_id":"tiny-context@1.2.0-trial.1","_nodeVersion":"12.16.0","_npmVersion":"6.13.7","dist":{"integrity":"sha512-lLZ87LikHyQtwqxQIxOdZ9RrLUNN93WeoCrYLcY79nDcVD2NYNZb+55taOX2KkURAA60u1swJ9XYu0WhBiMfDQ==","shasum":"81c26c8a38d47819e4e14516cbb8e62c4f695562","tarball":"https://registry.npmjs.org/tiny-context/-/tiny-context-1.2.0-trial.1.tgz","fileCount":9,"unpackedSize":45577,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeST5JCRA9TVsSAnZWagAAIioQAKGMII2zXw0kZzGWLqmw\nrOS9ZdG322aAkQyQra+ajlgSMGbcPnj0R5IOV9LQKJSg9vOjhBnQ2rqQeyD7\nAJLnugKtZ7UI8cWWAfOcsiBnsqfWk7aEsAXcf3X59/1gGB5OerrFmtOTqQt5\nGFyVjBLFlUIfX1xBZ+1iQ1EigB14biMFrYtr4UPOPghZmAv8WuiiKbUkRucf\nFBRa/b9qbqSYqrmcLr4bSMo162Xoi7LdZ/C6V36KzDK3flpIYNL/EVC8pd5W\nxTYUUnwjpOCeUXKGNv5LWVDXaABS5gQjFE8NMXtZvP8IUbqxLr2ExTtLK+88\nXW8Zsh6qAFKUDqG7XMpGbxXKPXM4ETskQW5lSm62NyXnQdQw0/YbIFev6zBZ\npiX/wl2RFMI0xSGDr7+WMV36n8/KlfDlVrgujXyG47II15+Z2Izanr3Q1egw\n3IQxOjAhO9EVba4tF9KJvd09chyFPor784YQ8/E4JQRAZDQHL2iyEdYJcWNy\nNRhovs/IOcr2Dn7Bc1DOwd0k8Yk6tf02nN7JPaB+af8qAyLFMGeQM9TxRMgz\n4kFA9OejD1Oc9fxtQnHXJKfjFdrlOiU0mbbnZhW0bSE6jttSs2L04XhsrY1b\nKoXU+E5vx36VA/puE9yEhM3HrGtgEVedvUlALRbvO9wBWcIeJ/DVvQ7zHCNj\nRrqF\r\n=Oi9F\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHnfIrXeeVSLrQgWzLoRD7rCMLA0wpj9OpDo4LuFd+njAiAr5vYex1cbhVYqmWZNINb/5Rv6c6khqyaLmhxjr5LI6Q=="}]},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"_npmUser":{"name":"benishouga","email":"benishouga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-context_1.2.0-trial.1_1581858377142_0.081060456244342"},"_hasShrinkwrap":false},"1.2.0":{"name":"tiny-context","description":"A tiny library for context using react-hooks.","keywords":["tiny-context","react","hooks","context","store"],"version":"1.2.0","license":"MIT","author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"main":"lib/tiny-context.js","unpkg":"umd/tiny-context.js","module":"es/tiny-context.js","types":"lib/tiny-context.d.ts","repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"homepage":"https://github.com/benishouga/tiny-context","scripts":{"start":"webpack-dev-server --hot --watch-content-base --content-base docs/ --open ","test":"cross-env NODE_ENV=test jest --coverage","compile":"rollup -c","build":"webpack --mode=development","format":"prettier --write \"./src/**/*.*\" \"./test/**/*.*\" \"./**/*.json\"","clean":"rimraf coverage es lib umd","prepare":"npm run clean && npm run compile"},"peerDependencies":{"react":"^16.8"},"devDependencies":{"@testing-library/jest-dom":"5.1.1","@testing-library/react":"9.4.0","@types/jest":"25.1.2","@types/react":"16.9.19","@types/react-dom":"16.9.5","@types/react-syntax-highlighter":"11.0.4","cross-env":"7.0.0","jest":"25.1.0","prettier":"1.19.1","raw-loader":"4.0.0","react":"16.12.0","react-dom":"16.12.0","react-syntax-highlighter":"12.2.1","rimraf":"3.0.1","rollup":"^1.31.1","rollup-plugin-terser":"^5.2.0","rollup-plugin-typescript2":"^0.26.0","ts-jest":"25.2.0","ts-loader":"6.2.1","typescript":"^3.7.5","webpack":"4.41.5","webpack-cli":"3.3.10","webpack-dev-server":"3.10.3"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"gitHead":"d02b95db675f21c2e8375cccd9a057a97683ef0a","_id":"tiny-context@1.2.0","_nodeVersion":"12.16.0","_npmVersion":"6.13.7","dist":{"integrity":"sha512-yxs+R0ro7q+/o1qCV/yT5vTfXkDEmNeQN3olna4v+PFaScG3S69WdgePa5SJ/goZELEDpIVvSq07/3eJT0l8hg==","shasum":"4060de987c6f93e2e7febd877d7698d64833bc32","tarball":"https://registry.npmjs.org/tiny-context/-/tiny-context-1.2.0.tgz","fileCount":9,"unpackedSize":45569,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeST+VCRA9TVsSAnZWagAAezIP/1LhXyDRLDkIaGbMlWpy\nyl86GDXFP4z40aahNIHgmsF8+c9jO0F4dmgUNCT/+wevhLwj8GqrrQYHQitw\nToD2HKyTiDBqjHz2Eb50yoxcl3kHY+AMocL+aXBBOTpF+q54ncwrbGBp/zwA\nHwcRfrZBQrLfkxM7CQSaMk+iBWvIXUSZwXUH3d8I5uh5+RSELkdihjHtgnxu\nynBLyF2Nn/mgR2JX6A0JH0aCZRfFHMg237ke5jO49dPBMspLLZ04sQkGxgD+\nlORXtYYvM2llAHhq9JjYLcHwkyk2kpt6BtFR6YmnWdjf1pudK191JKL8FHHZ\nFyBBdIQmYy/mcFDIU3ciCiSU6tf3MRTNpR/T50AgoU3ctAE2Bc9PxTi+itPb\naKJcJ0ZJ5fl/2HHVOf9NBz0dTyOGW0JCK/xUHv7tcFGcM7ZqCguen+46P6RI\n+UE/DLq3oEFstl0Pb+sUnv2248JtGMEfAwbbXGomSj69kYN8VMlCIIqtwMGk\nBHffnVj6lD2ArQiHMG/hThhzsNAEKTH1DCWxVhP72QoJKk0DMjHjcQWcu8xt\nBfSS2B7H37fHBTJtGJ9jLU24kw/eJDycpIl8xVRUL/ZM3x/ib6KU3EyKBt5c\nHtcXtBp9+YsVLNHh5iwF8QqWyjxK2723MUD3QXEsMsxtdtYyvV244e+jYEgi\nSUoh\r\n=OdQe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGgT/zJE5tuPCWEkgwi2DGGmbpHiNm9rU5r7m27Z/ij+AiEA/AIu8GlipkeOKjOz5fdveZVLb0lHoFKr+OU+ULPtNd4="}]},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"_npmUser":{"name":"benishouga","email":"benishouga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-context_1.2.0_1581858708611_0.056746772496518716"},"_hasShrinkwrap":false},"1.2.1":{"name":"tiny-context","description":"A tiny library for context using react-hooks.","keywords":["tiny-context","react","hooks","context","store"],"version":"1.2.1","license":"MIT","author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"main":"lib/tiny-context.js","unpkg":"umd/tiny-context.js","module":"es/tiny-context.js","types":"lib/tiny-context.d.ts","repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"homepage":"https://github.com/benishouga/tiny-context","scripts":{"start":"webpack-dev-server --hot --watch-content-base --content-base docs/ --open ","test":"cross-env NODE_ENV=test jest --coverage","compile":"rollup -c","build":"webpack --mode=development","format":"prettier --write \"./src/**/*.*\" \"./test/**/*.*\" \"./**/*.json\"","clean":"rimraf coverage es lib umd","prepare":"npm run clean && npm run compile"},"peerDependencies":{"react":"^16.8"},"devDependencies":{"@testing-library/jest-dom":"5.1.1","@testing-library/react":"9.4.0","@types/jest":"25.1.2","@types/react":"16.9.19","@types/react-dom":"16.9.5","@types/react-syntax-highlighter":"11.0.4","cross-env":"7.0.0","jest":"25.1.0","prettier":"1.19.1","raw-loader":"4.0.0","react":"16.12.0","react-dom":"16.12.0","react-syntax-highlighter":"12.2.1","rimraf":"3.0.2","rollup":"^1.31.1","rollup-plugin-terser":"^5.2.0","rollup-plugin-typescript2":"^0.26.0","ts-jest":"25.2.0","ts-loader":"6.2.1","typescript":"3.7.5","webpack":"4.41.6","webpack-cli":"3.3.11","webpack-dev-server":"3.10.3"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"gitHead":"913ee15818204a920635acbc6d8455ea096f71b1","_id":"tiny-context@1.2.1","_nodeVersion":"12.16.0","_npmVersion":"6.13.7","dist":{"integrity":"sha512-XbQbMctTiFiq3pOeOWGUUzTP4zsHrtJRwP1Z2hYZGk6ULSw55NPZzAtNqukp2USLPgUukNtdJ1Z6P2690WsG+A==","shasum":"ec8014875b065e52ab63d6fe499528a410a38434","tarball":"https://registry.npmjs.org/tiny-context/-/tiny-context-1.2.1.tgz","fileCount":9,"unpackedSize":45568,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeSUCgCRA9TVsSAnZWagAA8OUP/jQ+77Qy5Ts3MN5iV2/8\nXU3d6hyyzfbixx0TuZKarEKQJkX4oZgAsUNge7FWPVZn+SH/HGqHAMx85SCo\nMvPyl6mxLV432BCEqpMZMsns7Cf7Wz1C1O1/dpP4jSJ25rrWEIt+YMo3uJE4\ne0pHlyQbBE7hBJSP9WDRB8HKkMgnfukf7ihmdT13QOvmW2yDz1Et00UeBB82\np276jDKWBKULcnhvlXDphkNFjbz+m3r1uChl0a/xofJXWCG5IBMYyKBCTokj\ncyCatEkQff9H+lOAUDKceipR/nzHjcB8l3ShCa8z9blSdcPC8VM8WOcW1/JN\nuTgkP1Q+6alvvIusi1hnEkDbT5PI3HOM9mwniPA6d6D6LEtvon5juGj1/4rO\nn4i8cPiIo0J+5JcPmAGs5lh7b9mbXq+UzU5C/0JaeMilrQQgMH5y+ay/oumw\nQzUS2jcMs7xanRIlkSr/iXlXbsWbQOQhgue30QBkcfmBGmh/eewuT4ZBTnQP\ncTLkRUKaBRW+DQGkXcetYWhd0ggsOyGC/iftluirvpQbu4y/zdYx0Kr6MCp3\nJ5OH28FPa/tutPp1kH7YT2+L5oIkGH6KVAz8NpeJB95hCov17aoDQ1Dfd1NO\nt1+eOdSc9C1d9/67RB8BL/OZfJV7iUHa4nAn9criMNl2P+jYotFkscLqCRua\n79hW\r\n=xRe9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDHMGSil+HrkGuwrNELWYqjre+v8gUA+j2cJfzsE+9v5wIhANSR9bzHjvvb6WPDnDFb6pi/TBDhN3HituBhbUKDmMar"}]},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"_npmUser":{"name":"benishouga","email":"benishouga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-context_1.2.1_1581858975989_0.34746868139254383"},"_hasShrinkwrap":false},"1.3.0":{"name":"tiny-context","description":"A tiny library for context using react-hooks.","keywords":["tiny-context","react","hooks","context","store"],"version":"1.3.0","license":"MIT","author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"main":"lib/tiny-context.js","unpkg":"umd/tiny-context.js","module":"es/tiny-context.js","types":"lib/tiny-context.d.ts","repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"homepage":"https://github.com/benishouga/tiny-context","scripts":{"clean":"rimraf coverage es lib umd","prepare":"npm run clean && npm run compile && npm run lint && npm run test && npm run build","compile":"tsc --noEmit","lint":"eslint --ext=tsx src test","build":"rollup -c","start":"webpack-dev-server --hot --watch-content-base --content-base docs/ --open ","docs":"webpack --mode=development","test":"cross-env NODE_ENV=test jest --coverage","format":"prettier --write \"./src/**/*.*\" \"./test/**/*.*\" \"./**/*.json\""},"peerDependencies":{"react":"^16.8"},"devDependencies":{"@testing-library/jest-dom":"5.1.1","@testing-library/react":"9.4.0","@types/jest":"25.1.2","@types/react":"16.9.20","@types/react-dom":"16.9.5","@types/react-syntax-highlighter":"11.0.4","@typescript-eslint/eslint-plugin":"^2.20.0","@typescript-eslint/parser":"^2.20.0","cross-env":"7.0.0","eslint":"^6.8.0","eslint-config-prettier":"^6.10.0","eslint-plugin-import":"^2.20.1","eslint-plugin-jest":"^23.7.0","eslint-plugin-react":"^7.18.3","eslint-plugin-react-hooks":"^2.4.0","jest":"25.1.0","prettier":"1.19.1","raw-loader":"4.0.0","react":"16.12.0","react-dom":"16.12.0","react-syntax-highlighter":"12.2.1","rimraf":"3.0.2","rollup":"1.31.1","rollup-plugin-terser":"5.2.0","rollup-plugin-typescript2":"0.26.0","ts-jest":"25.2.0","ts-loader":"6.2.1","typescript":"3.7.5","webpack":"4.41.6","webpack-cli":"3.3.11","webpack-dev-server":"3.10.3"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"gitHead":"4881be42e3cb5058f194e281e8f3680242b67c96","_id":"tiny-context@1.3.0","_nodeVersion":"12.16.0","_npmVersion":"6.13.7","dist":{"integrity":"sha512-cJmrsxc6yn2UNA+ixWniYQzcRyoDCouBdL6O1iAvhuR2P/W/Tg/aokpxArEuxlVUlR3h1RgS9Ymno9uCQITo9Q==","shasum":"f532a35716ed5720a5a682280b62446dcd96a5c0","tarball":"https://registry.npmjs.org/tiny-context/-/tiny-context-1.3.0.tgz","fileCount":9,"unpackedSize":46923,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeS8/FCRA9TVsSAnZWagAAiAAP/jfUZaF7zRHQTu7eQDZn\nNwin7mS/R29h424cEVz0L/ut6LeVfbX3udNsWTda+40ulV77wWNNC/4H18Kz\n0bB0SicPnLmP+xiEX5ys1UbT/3jrcv8avifFSo2NrlLkts65lgw81izomPW1\n/SmcBIpMcKvxzsRFD4zJvo8mrzkvesDXczFpBNeajtvP3TBpDCUgfM0+bCsh\nFtMrrtKY0q/wCxP4lG5Nb7xdFTbEC6e1Dgg599nzVqrA0mnx12Jc+DRx1G0q\nU+Y0/jkAdYFxnHLA1e03s9Dk+ZIPewMCESMbJCtA7TkG18h2b9E3x+dFfWwY\n088f9NS3ZQm14LXsXTHjVKqAw2x7FGyqp4dLPaf41LMiN2M+01z6heWnEg9i\n0j27HshlFRGo6DS+qn8CZxvhr1BJ6Mhwdv/EuBhbZS/wtb3JWMPB2k3RrIgn\nJCxdp5I3Y84wN2QpcpQqf4pcRnUqE/m5mADGbWrBvDeyOEfunGDmjH1VZWNQ\n4qH+1e8XKFbGp8oaY6BsPa+/TlwUrUIsA3kVCXI1ZAa/t+xwDSl+JmfBIYCS\nLzPK48LrpoLwTnJbsayTLpHjvCq5rF0mAB9nOhwpOP7mabzpe67gUOJDuGSd\nkfuu94ZFA9zaoOv2x5q7suO5ppCGrEG6Sm26c8ZWeqbwc5a2tDXNWyIC4KLT\nCBTh\r\n=PQkv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFxSNY+J2NmixGje5Opqq1FJ6IfG8goajitOLFut3MpWAiEAn8yf//ikdvFWK/TKFfR39auq1qK+z4BVYsD5IBKPsgI="}]},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"_npmUser":{"name":"benishouga","email":"benishouga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-context_1.3.0_1582026692669_0.8867544773950333"},"_hasShrinkwrap":false},"1.4.0":{"name":"tiny-context","description":"A tiny library for context using react-hooks.","keywords":["tiny-context","react","hooks","context","store"],"version":"1.4.0","license":"MIT","author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"main":"lib/tiny-context.js","unpkg":"umd/tiny-context.js","module":"es/tiny-context.js","types":"lib/tiny-context.d.ts","repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"homepage":"https://github.com/benishouga/tiny-context","scripts":{"clean":"rimraf coverage es lib umd","prepare":"npm run clean && npm run compile && npm run lint && npm run test && npm run build","compile":"tsc --noEmit","lint":"eslint --ext=tsx src test","build":"rollup -c","start":"webpack-dev-server --hot --watch-content-base --content-base docs/ --open ","docs":"webpack --mode=development","test":"cross-env NODE_ENV=test jest --coverage","format":"prettier --write \"./src/**/*.*\" \"./test/**/*.*\" \"./**/*.json\""},"peerDependencies":{"react":"^16.8"},"devDependencies":{"@testing-library/jest-dom":"5.1.1","@testing-library/react":"9.4.0","@types/jest":"25.1.2","@types/react":"16.9.20","@types/react-dom":"16.9.5","@types/react-syntax-highlighter":"11.0.4","@typescript-eslint/eslint-plugin":"2.20.0","@typescript-eslint/parser":"2.20.0","cross-env":"7.0.0","eslint":"6.8.0","eslint-config-prettier":"6.10.0","eslint-plugin-import":"2.20.1","eslint-plugin-jest":"23.7.0","eslint-plugin-react":"7.18.3","eslint-plugin-react-hooks":"2.4.0","jest":"25.1.0","prettier":"1.19.1","raw-loader":"4.0.0","react":"16.12.0","react-dom":"16.12.0","react-syntax-highlighter":"12.2.1","rimraf":"3.0.2","rollup":"1.31.1","rollup-plugin-terser":"5.2.0","rollup-plugin-typescript2":"0.26.0","ts-jest":"25.2.0","ts-loader":"6.2.1","typescript":"3.7.5","webpack":"4.41.6","webpack-cli":"3.3.11","webpack-dev-server":"3.10.3"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"gitHead":"05296ccd1c73571b13a89b80980162757315fd8d","_id":"tiny-context@1.4.0","_nodeVersion":"12.16.0","_npmVersion":"6.13.7","dist":{"integrity":"sha512-SkvwUdjTw9ToVhUO8qcnswDwGb50YmUbsOQHUbxOYTfgn/VdlnzF0t3+BRKW5fWzrvo1e4RfFdSSmseLjUgirw==","shasum":"02609a9fd76cb2264fab435fd67d4abc0282e0cd","tarball":"https://registry.npmjs.org/tiny-context/-/tiny-context-1.4.0.tgz","fileCount":9,"unpackedSize":49492,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeTWMQCRA9TVsSAnZWagAAdbUQAIa3crEW1j/AbZXrzgD/\nV+r7ZjXvtqqqEIiMOwfXJO/G2qq8IovPjguVbwvRHXK1Dr0TNCe9otHJuMQJ\n8t7jjmoWusdurskRA9Ak/TEEic6FoHVsYiOBUCS21RuCggGrAtrocScBiV07\nxeekV3p4eEjuBo1/kMk7NZDuXF3EtMxx1sd/2gE3GJtCQwfb3v8Wz0zvGSL2\nOdHybru/VGwF0z13+6My1t3dHFSD2kGr93UeamY1LdmuIjvD7/WPolyWzqDV\nPLT6fhlHSWn8VBfH2U4Z1bnqM1NXQ62jL4tRonAtt9W2YgHGLU0Ch3hbX9LV\nuJT7L5tfy+ykNhABKc5SsfAvfk2ipqc/eol2SVdWHBxAq9XEEu54TSkvcgZs\ntHP0d1uLDRv19FZNaI2yRkCNBEa2jFYlBSBXMBv/BIsW8Pwasw6J0s1Tk1hf\nOjDVexP+VZPPYLVZQfiBS/MvX6Amh3zMbOHw63yoxlHRoJHxRdO0Wx9CHh9l\n95x6Hrdo4/A87ipy/UncY/zAtJA+L2GIW4qw73pWZCMje8hEhUzx9LpicZdm\nLf5szp+Xt2kZrLLeQt0QqfkfxJT49auLhbdlLEiRzRgbEFiqNGcLA+Kpsx1H\nFLiNvBCQeNvrOS9qjq1wdwWYTigTwt3H1lNbLljBEkEWjZSpJn4E6GfVqpv0\nu9zy\r\n=Hbco\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDKq/jEWSUizqWcGSEuEqwptqCESvUxK++vHF0OGxLWsQIgaDCUODcfcxMLtYRA2pkVm1c7DFx8l6VgJm7Hxw/mWSU="}]},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"_npmUser":{"name":"benishouga","email":"benishouga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-context_1.4.0_1582129936319_0.645650919621908"},"_hasShrinkwrap":false},"1.5.0":{"name":"tiny-context","description":"A tiny library for context using react-hooks.","keywords":["tiny-context","react","hooks","context","store"],"version":"1.5.0","license":"MIT","author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"main":"lib/tiny-context.js","unpkg":"umd/tiny-context.js","module":"es/tiny-context.js","types":"lib/tiny-context.d.ts","repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"homepage":"https://github.com/benishouga/tiny-context","scripts":{"clean":"rimraf coverage es lib umd","prepare":"npm run clean && npm run compile && npm run lint && npm run test && npm run build","compile":"tsc --noEmit","lint":"eslint --ext=tsx src test","build":"rollup -c","start":"webpack-dev-server --hot --watch-content-base --content-base docs/ --open ","docs":"webpack --mode=development","test":"cross-env NODE_ENV=test jest --coverage","format":"prettier --write \"./src/**/*.*\" \"./test/**/*.*\" \"./**/*.json\""},"peerDependencies":{"react":"^16.8"},"devDependencies":{"@testing-library/jest-dom":"5.1.1","@testing-library/react":"9.4.0","@types/jest":"25.1.3","@types/react":"16.9.21","@types/react-dom":"16.9.5","@types/react-syntax-highlighter":"11.0.4","@typescript-eslint/eslint-plugin":"2.20.0","@typescript-eslint/parser":"2.20.0","cross-env":"7.0.0","eslint":"6.8.0","eslint-config-prettier":"6.10.0","eslint-plugin-import":"2.20.1","eslint-plugin-jest":"23.7.0","eslint-plugin-react":"7.18.3","eslint-plugin-react-hooks":"2.4.0","jest":"25.1.0","prettier":"1.19.1","raw-loader":"4.0.0","react":"16.12.0","react-dom":"16.12.0","react-syntax-highlighter":"12.2.1","rimraf":"3.0.2","rollup":"1.31.1","rollup-plugin-terser":"5.2.0","rollup-plugin-typescript2":"0.26.0","ts-jest":"25.2.1","ts-loader":"6.2.1","typescript":"3.7.5","webpack":"4.41.6","webpack-cli":"3.3.11","webpack-dev-server":"3.10.3"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"gitHead":"7c83b191c032cc6bb67731cd8eabb7b53c6a0b0e","_id":"tiny-context@1.5.0","_nodeVersion":"12.16.0","_npmVersion":"6.13.7","dist":{"integrity":"sha512-4xGrU2hCawSykMLJ8TJhyZzG7nxYXtGNWvHfOfWZGpGvSasnaZx0fvsWhuoejGP1QGxaOol9oGQjYp3WPxmCJA==","shasum":"e27259f9998851cce4c2b66ce0766c8248257a42","tarball":"https://registry.npmjs.org/tiny-context/-/tiny-context-1.5.0.tgz","fileCount":9,"unpackedSize":48148,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeTpISCRA9TVsSAnZWagAASGAP/3lU4N39Vo7itUVSVfjd\n0KQrG/Y8H0ULw+oWZU4+N+UNN6PYpbM5QQKJP4pH84sczSik8b72AUZPyTby\nQV3DQKAoXam2livxbJHNnZ+cZEF34R43dtHfXtCe05liYRbFrd5BVwX8+wJz\nemf7rufiTMXL/EnJbR+q4PKUAdPDIL1oRrzTV8an4yecMUGRt3dtxyzuDyCZ\nXWj59oEbnunmegyFKU5EkafX409xFIvlZg+tTP1QslkEXvKN8BUuTIuNvYsn\nSP7LaH++rNGHbxZlnpDHgGKrXDdMzuJHcw5WU7BxIBi5Fg9fAG+kciCdfOO1\nuW4UoNHYn/I9lvFZW0vHug9tstpqwdacl+/laDaKFjbWHhBJNjGSPHcofeal\n5Nea4TgJ/yPYAY8oehrZ62l6tidz52dCcoDOXFCobTmaQkPMZA0MHfACcem3\nazbqO4ye+7UDOxkavHyA33GkPzLcInX71e+Yox/jqHqT7Vo1iDPD7D7wRRm6\nBxy3v7YqL+XsyixU6GXnw3rsBmaR68JNi6BO1yp3wvt0AxZRuhmE3d5XLlAY\nIvXc/kZ/JgMPkiCVJZ1KvUVAF0SWx1Gswh6o4HoyeCiLfLAInR3LmTyUOwPI\nM3B02qKCEVWzTll4aNIhLDCm/K/PherFiazwi6pqPovxpdDVQZPYZ0mWKAA2\nWwBf\r\n=4xkc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEscGhGGlXV+UAPMpJssyj4ZWtMi4ERU6xVpcAfmh+PtAiEAi/L5ytf2SZ422OaccsMoKCh8RQA4RX3Cqgg6NGLLwyw="}]},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"_npmUser":{"name":"benishouga","email":"benishouga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-context_1.5.0_1582207505582_0.8536229460722367"},"_hasShrinkwrap":false},"1.5.1":{"name":"tiny-context","description":"A tiny library for context using react-hooks.","keywords":["tiny-context","react","hooks","context","store"],"version":"1.5.1","license":"MIT","author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"main":"lib/tiny-context.js","unpkg":"umd/tiny-context.js","module":"es/tiny-context.js","types":"lib/tiny-context.d.ts","repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"homepage":"https://github.com/benishouga/tiny-context","scripts":{"clean":"rimraf coverage es lib umd","prepare":"npm run clean && npm run compile && npm run lint && npm run test && npm run build","compile":"tsc --noEmit","lint":"eslint --ext=tsx src test","build":"rollup -c","start":"webpack-dev-server --hot --watch-content-base --content-base docs/ --open ","docs":"webpack --mode=development","test":"cross-env NODE_ENV=test jest --coverage","format":"prettier --write \"./src/**/*.*\" \"./test/**/*.*\" \"./**/*.json\""},"peerDependencies":{"react":"^16.8"},"devDependencies":{"@testing-library/jest-dom":"5.1.1","@testing-library/react":"9.4.1","@types/jest":"25.1.3","@types/react":"16.9.22","@types/react-dom":"16.9.5","@types/react-syntax-highlighter":"11.0.4","@typescript-eslint/eslint-plugin":"2.20.0","@typescript-eslint/parser":"2.20.0","cross-env":"7.0.0","eslint":"6.8.0","eslint-config-prettier":"6.10.0","eslint-plugin-import":"2.20.1","eslint-plugin-jest":"23.8.0","eslint-plugin-react":"7.18.3","eslint-plugin-react-hooks":"2.4.0","jest":"25.1.0","prettier":"1.19.1","raw-loader":"4.0.0","react":"16.12.0","react-dom":"16.12.0","react-syntax-highlighter":"12.2.1","rimraf":"3.0.2","rollup":"1.31.1","rollup-plugin-terser":"5.2.0","rollup-plugin-typescript2":"0.26.0","ts-jest":"25.2.1","ts-loader":"6.2.1","typescript":"3.8.2","webpack":"4.41.6","webpack-cli":"3.3.11","webpack-dev-server":"3.10.3"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"coverageThreshold":{"global":{"statements":100,"branches":100,"functions":100,"lines":100}}},"gitHead":"e0c3c8d6aba933f28b72d4dc97a067fddb96bf76","_id":"tiny-context@1.5.1","_nodeVersion":"12.16.0","_npmVersion":"6.13.7","dist":{"integrity":"sha512-8v+2dF50xqIUJXaeNhdQpjQOr7bBbOIupegm3+voeOxmeqyefF8Y3fsosZfsDjnJlO7kwJRNAO+6vu5xrK8qKg==","shasum":"f1cef66f7ad9762fb9ad871d7f6c5639d4581a9d","tarball":"https://registry.npmjs.org/tiny-context/-/tiny-context-1.5.1.tgz","fileCount":9,"unpackedSize":48307,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeU4MJCRA9TVsSAnZWagAAkxUP/2lcJjkX0K6073LSUg6p\n4ka5b7ijfiPlIPyOa16kvedo4sn6wf3QXymzOuqIP4FuXZShnxXSqv1kTNZ4\nBg7DkOUAdLId8kOf3VVAUAFQQCSpj62YUxQYfCw7U36rMZBx0QvCN/jbmm8X\no3igXSDlEgN9yl/6RtKPIfM83fxzFD7aDC0nWpdFgIoFclu2e04j+EC0OKPE\n2GFA2DO1t5uwmdTKi4mZLqv7hySMtXiCX2YYzECDJ1iwo3lnCG7nzpwnDPDo\ncBIs/kNtVaYueRmbtl/3Bt/fdX/KsjUG+eY2dLYnWARpB8RsecI4lE3wx7Ku\nLcmaLVLrQO7RRolRgu63B2sPFuN02RyysWwWiKMylUW7hqpDiwmhT4uE93PP\n1ECUvFe0Ho0jQoScLm0RsRYZ7H/cB1mkxFmPXnqfqaOZGesvfK2YSyq2xWf+\njRtEDX1q8VKWYkfa2rR0IxMcshVpYunaEgu33yID1SKQ7eOnfs1ZmRn+pIq4\nURndxoRbJcGtREA/gszPJENzSoJDVH2+c4WEGwgsAjvn0bmqeKFMJJqG7qTR\nhhxgKdFngxetbOhZomiPv27/+C5iwLrtTM5CO1GYcyxzXCQeryBeNEUfte3d\nqupgXUiGWAcupOfQ6b2Hfv8PhDIK8GSUYUOBO94oSPwi4/VnjsvLaaBBnvfR\nbfue\r\n=aXyk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCHDljZZOeHglhNIqb+PuViYmteBqXE5rryhh2Rsh4R1wIhAJButNls22onqCO9tOJ8MyRq9T+tsb/ueLILoWoOhETR"}]},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"_npmUser":{"name":"benishouga","email":"benishouga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-context_1.5.1_1582531337100_0.9100373075442123"},"_hasShrinkwrap":false},"1.6.0-trial.0":{"name":"tiny-context","description":"A tiny library for context using react-hooks.","keywords":["tiny-context","react","hooks","context","store","state"],"version":"1.6.0-trial.0","license":"MIT","author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"main":"lib/tiny-context.js","unpkg":"umd/tiny-context.js","module":"es/tiny-context.js","types":"lib/index.d.ts","repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"homepage":"https://github.com/benishouga/tiny-context","scripts":{"clean":"rimraf coverage es lib umd docs/**/*.js","prepare":"npm run clean && npm run compile && npm run lint && npm run test && npm run build && npm run docs","compile":"tsc --noEmit","lint":"eslint --ext=tsx src test","build":"rollup -c","start":"webpack-dev-server --hot --watch-content-base --content-base docs/ --open ","docs":"webpack --mode=production","test":"cross-env NODE_ENV=test jest --coverage","format":"prettier --write \"./src/**/*.*\" \"./test/**/*.*\" \"./**/*.json\""},"peerDependencies":{"react":"^16.8"},"devDependencies":{"@testing-library/jest-dom":"5.1.1","@testing-library/react":"9.4.1","@types/jest":"25.1.3","@types/react":"16.9.23","@types/react-dom":"16.9.5","@types/react-syntax-highlighter":"11.0.4","@typescript-eslint/eslint-plugin":"2.21.0","@typescript-eslint/parser":"2.21.0","cross-env":"7.0.0","eslint":"6.8.0","eslint-config-prettier":"6.10.0","eslint-plugin-import":"2.20.1","eslint-plugin-jest":"23.8.0","eslint-plugin-react":"7.18.3","eslint-plugin-react-hooks":"2.5.0","jest":"25.1.0","prettier":"1.19.1","raw-loader":"4.0.0","react":"16.13.0","react-dom":"16.13.0","react-syntax-highlighter":"12.2.1","rimraf":"3.0.2","rollup":"1.31.1","rollup-plugin-terser":"5.2.0","rollup-plugin-typescript2":"0.26.0","ts-jest":"25.2.1","ts-loader":"6.2.1","typescript":"3.8.2","webpack":"4.41.6","webpack-cli":"3.3.11","webpack-dev-server":"3.10.3"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"coverageThreshold":{"global":{"statements":100,"branches":100,"functions":100,"lines":100}}},"readme":"# tiny-context\n\n![GITHUB-BADGE](https://github.com/benishouga/tiny-context/workflows/Node.js%20CI/badge.svg)\n\nThis library for Context API of React Hooks. Easily create a context with a state and an action to update it.\n\n## Installation\n\nRequires React 16.8.3 or later.\n\n```\nnpm install tiny-context\n```\n\n## Concept\n\nThis library wraps the React Context API and supports creating contexts with `{ state: { ... }, actions: { ... } }`.\n\n- Easy to implement with less code.\n- Easy to understand. (like React Context API with Hooks)\n- Easy to create async action and async generator action. (I think it's like redux-saga.)\n- Easy to test. (Only test a stateless implementation.)\n- TypeScript friendry. (Strict type checking.)\n\n## Steps to use\n\n1. Define `State`.\n   ```ts\n   type CounterState = { count: number };\n   ```\n2. Define `actions` that takes `State` as the first argument and returns `State`. `actions` can also be created on a [class-base](https://benishouga.github.io/tiny-context/).\n   ```ts\n   const actions = {\n     increment: (state: CounterState, amount: number) => ({ ...state, count: state.count + amount })\n   };\n   ```\n3. Call `createTinyContext` to create `Provider` and `useContext` from `actions`. Specify the `State` and `actions` for the type argument.\n   ```ts\n   const { Provider, useContext } = createTinyContext<CounterState, typeof actions>(actions);\n   ```\n   (option) If you use the `actions` method, you only need to specify `State` type argument.\n   ```ts\n   const { Provider, useContext } = createTinyContext<CounterState>().actions(actions);\n   ```\n4. Can be used like the React Context API :)\n\n   ```tsx\n   const Buttons = () => {\n     const {\n       actions: { increment }\n     } = useContext();\n     return <button onClick={() => increment(1)}>+</button>;\n   };\n\n   const Display = () => {\n     const {\n       state: { count }\n     } = useContext();\n     return <span>{count}</span>;\n   };\n\n   const CounterApp = () => (\n     <Provider value={{ count: 0 }}>\n       <Buttons />\n       <Display />\n     </Provider>\n   );\n   ```\n\n## Examples\n\nClass-based actions, Async action, Async generator action, abortable request, and Todo App examples.<br>\nhttps://benishouga.github.io/tiny-context/\n\n## API\n\n### createTinyContext\n\nCreate Provider and useContext from Actions implementations. Actions implementation methods require the first argument to be `State` and the return value to be `State` (or [`Promise`, `Async Generator`](https://benishouga.github.io/tiny-context/)).\n\nSpecify the `State` and the `Actions` interface for the type argument.\n\n```ts\nimport { createTinyContext } from 'tiny-context';\n\ntype CounterState = { count: number; };\nclass CounterActions {\n  increment: (state: CounterState, amount: number) => ({ ...state, count: state.count + amount })\n  decrement: (state: CounterState, amount: number) => ({ ...state, count: state.count - amount })\n}\nconst { Provider, useContext } = createTinyContext<CounterState, CounterActions>(new CounterActions());\n```\n\nIf the `actions` method is used, the type argument of `Actions` can be omitted.\n\n```ts\nconst { Provider, useContext } = createTinyContext<CounterState>().actions(new CounterActions());\n```\n\n`Provider` is same as [`Provider of React`](https://reactjs.org/docs/context.html#contextprovider).\n\nSupply an initial value for `value`.\n\n```tsx\nconst SomeApp = () => (\n  <Provider value={{ count: 0 }}>\n    <SomeConsumer />\n  </Provider>\n);\n```\n\n`useContext` is hooks used on a consumer. Not need arguments. You will get an object with a State and a function that calls the Actions defined earlier.\n\nFunction arguments are inherited from the second and subsequent arguments of the previously defined Action. The return value is a uniform `Promise<void>`.\n\n```tsx\nconst SomeConsumer = () => {\n  const {\n    state: {...},\n    actions: {...}\n  } = useContext();\n\n};\n```\n\n## Limitation\n\n- Any action in the same context is executed sequentially.\n  - When processing in parallel, process them together outside the context or within the context.\n\n## Contributions\n\nI make heavy use of Google Translate. Please tell me if my English is wrong :)\n\n## Lisence\n\nMIT License\n","readmeFilename":"README.md","gitHead":"8e3a9a4eef6a0a4871e01fb9acd762f0d373e65b","_id":"tiny-context@1.6.0-trial.0","_nodeVersion":"12.16.0","_npmVersion":"6.14.0","dist":{"integrity":"sha512-JkIri9U2tEjCAYsdklTSg8nus4ijOxI6J4OAyrA8MyAROqWwJuj7yVAUVVId4t1TY92HwmbgtGp1ZpGyGM7MOA==","shasum":"755af225248362dce5415e16457c9b918641eaa8","tarball":"https://registry.npmjs.org/tiny-context/-/tiny-context-1.6.0-trial.0.tgz","fileCount":11,"unpackedSize":49419,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeV5Y0CRA9TVsSAnZWagAA49QP/33qQXoCymiIZEzjyI6m\nZmRmmPfTTGSIWkkKHU+5N0CysLBbjRLbki6KpjGZ+78aV9ifgTg5C+8UOiY+\ncymXgYtVpwJ87equspiOgH+mYAXa5DymNGLBRm8Ab3OkZN97vILpGDnXuq+i\nUHIe75OJTQJnO7/gTfk/HtesU6eefsqIlklr/QvBFxF1DZ6eqI7xoWKCbOBB\nXaf1xEE9y1ZBSYaZz12cECO9mfhw/127cpdHzbRiNC1Xs5GtMX8RqAlfVFiH\ncFjQuWe+3X/QrNQZLe1MDju0bCWq9UXQTozHvDPW/EtIRwXM6rTNVE+TgZK8\n5WefxQaGw5wXVbEVf2+AntUkHo8RhDsMn0lZFpbUpwQxpyPKgl7y70chnCmj\nHNAc+hrzBpaXJ7Vg19IFXYbxT067uD/VQQeivKkIzTRbPCAhtMRI+eE9J0NI\ntGR3GzaPOz0lSz7DNsGqle1pRXrnUSnM8QSi40XhiThd5qu5TltWGcflYJp9\nBwyuuPK1LbKYlr7uwYwyghm+ERm4sQRhdwvgeMUr14FsiLNOQFhUPRzf7TCl\nZuHR7DFHN1N9T4sz+a8HTn5s4+xJSJjay6vLX3smXyK2uraRE8HcGQjTH0tj\nEg0i1+CFEVBbkwD8YfOa0UI0xFZy+m27Pp+2NZRDuctK+YtALL6DWvjsjHDj\nwA5S\r\n=LSJI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDlT7Y4oVXoRVuC14I0wBmHgwdbuvQI/V5FrgKIA34mSwIhAL4AZ9wn7E6+fAhbFN4PgrdHKLyivIH+dsf4mhsdwHPj"}]},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"_npmUser":{"name":"benishouga","email":"benishouga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-context_1.6.0-trial.0_1582798388342_0.8438002297400946"},"_hasShrinkwrap":false},"1.6.0-trial.2":{"name":"tiny-context","description":"A tiny library for context using react-hooks.","keywords":["tiny-context","react","hooks","context","store","state"],"version":"1.6.0-trial.2","license":"MIT","author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"main":"lib/tiny-context.js","unpkg":"umd/tiny-context.js","module":"es/tiny-context.js","types":"lib/tiny-context.d.ts","repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"homepage":"https://github.com/benishouga/tiny-context","scripts":{"clean":"rimraf coverage es lib umd docs/**/*.js","prepare":"npm run clean && npm run compile && npm run lint && npm run test && npm run build && npm run docs","compile":"tsc --noEmit","lint":"eslint --ext=tsx src test","build":"rollup -c","start":"webpack-dev-server --hot --watch-content-base --content-base docs/ --open ","docs":"webpack --mode=production","test":"cross-env NODE_ENV=test jest --coverage","format":"prettier --write \"./src/**/*.*\" \"./test/**/*.*\" \"./**/*.json\""},"peerDependencies":{"react":"^16.8"},"devDependencies":{"@testing-library/jest-dom":"5.1.1","@testing-library/react":"9.4.1","@types/jest":"25.1.3","@types/react":"16.9.23","@types/react-dom":"16.9.5","@types/react-syntax-highlighter":"11.0.4","@typescript-eslint/eslint-plugin":"2.21.0","@typescript-eslint/parser":"2.21.0","cross-env":"7.0.0","eslint":"6.8.0","eslint-config-prettier":"6.10.0","eslint-plugin-import":"2.20.1","eslint-plugin-jest":"23.8.0","eslint-plugin-react":"7.18.3","eslint-plugin-react-hooks":"2.5.0","jest":"25.1.0","prettier":"1.19.1","raw-loader":"4.0.0","react":"16.13.0","react-dom":"16.13.0","react-syntax-highlighter":"12.2.1","rimraf":"3.0.2","rollup":"1.31.1","rollup-plugin-terser":"5.2.0","rollup-plugin-typescript2":"0.26.0","ts-jest":"25.2.1","ts-loader":"6.2.1","typescript":"3.8.2","webpack":"4.41.6","webpack-cli":"3.3.11","webpack-dev-server":"3.10.3"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"coverageThreshold":{"global":{"statements":100,"branches":100,"functions":100,"lines":100}}},"readme":"# tiny-context\n\n![GITHUB-BADGE](https://github.com/benishouga/tiny-context/workflows/Node.js%20CI/badge.svg)\n\nThis library for Context API of React Hooks. Easily create a context with a state and an action to update it.\n\n## Installation\n\nRequires React 16.8.3 or later.\n\n```\nnpm install tiny-context\n```\n\n## Concept\n\nThis library wraps the React Context API and supports creating contexts with `{ state: { ... }, actions: { ... } }`.\n\n- Easy to implement with less code.\n- Easy to understand. (like React Context API with Hooks)\n- Easy to create async action and async generator action. (I think it's like redux-saga.)\n- Easy to test. (Only test a stateless implementation.)\n- TypeScript friendry. (Strict type checking.)\n\n## Steps to use\n\n1. Define `State`.\n   ```ts\n   type CounterState = { count: number };\n   ```\n2. Define `actions` that takes `State` as the first argument and returns `State`. `actions` can also be created on a [class-base](https://benishouga.github.io/tiny-context/).\n   ```ts\n   const actions = {\n     increment: (state: CounterState, amount: number) => ({ ...state, count: state.count + amount })\n   };\n   ```\n3. Call `createTinyContext` to create `Provider` and `useContext` from `actions`. Specify the `State` and `actions` for the type argument.\n   ```ts\n   const { Provider, useContext } = createTinyContext<CounterState, typeof actions>(actions);\n   ```\n   (option) If you use the `actions` method, you only need to specify `State` type argument.\n   ```ts\n   const { Provider, useContext } = createTinyContext<CounterState>().actions(actions);\n   ```\n4. Can be used like the React Context API :)\n\n   ```tsx\n   const Buttons = () => {\n     const {\n       actions: { increment }\n     } = useContext();\n     return <button onClick={() => increment(1)}>+</button>;\n   };\n\n   const Display = () => {\n     const {\n       state: { count }\n     } = useContext();\n     return <span>{count}</span>;\n   };\n\n   const CounterApp = () => (\n     <Provider value={{ count: 0 }}>\n       <Buttons />\n       <Display />\n     </Provider>\n   );\n   ```\n\n## Examples\n\nClass-based actions, Async action, Async generator action, abortable request, and Todo App examples.<br>\nhttps://benishouga.github.io/tiny-context/\n\n## API\n\n### createTinyContext\n\nCreate Provider and useContext from Actions implementations. Actions implementation methods require the first argument to be `State` and the return value to be `State` (or [`Promise`, `Async Generator`](https://benishouga.github.io/tiny-context/)).\n\nSpecify the `State` and the `Actions` interface for the type argument.\n\n```ts\nimport { createTinyContext } from 'tiny-context';\n\ntype CounterState = { count: number; };\nclass CounterActions {\n  increment: (state: CounterState, amount: number) => ({ ...state, count: state.count + amount })\n  decrement: (state: CounterState, amount: number) => ({ ...state, count: state.count - amount })\n}\nconst { Provider, useContext } = createTinyContext<CounterState, CounterActions>(new CounterActions());\n```\n\nIf the `actions` method is used, the type argument of `Actions` can be omitted.\n\n```ts\nconst { Provider, useContext } = createTinyContext<CounterState>().actions(new CounterActions());\n```\n\n`Provider` is same as [`Provider of React`](https://reactjs.org/docs/context.html#contextprovider).\n\nSupply an initial value for `value`.\n\n```tsx\nconst SomeApp = () => (\n  <Provider value={{ count: 0 }}>\n    <SomeConsumer />\n  </Provider>\n);\n```\n\n`useContext` is hooks used on a consumer. Not need arguments. You will get an object with a State and a function that calls the Actions defined earlier.\n\nFunction arguments are inherited from the second and subsequent arguments of the previously defined Action. The return value is a uniform `Promise<void>`.\n\n```tsx\nconst SomeConsumer = () => {\n  const {\n    state: {...},\n    actions: {...}\n  } = useContext();\n\n};\n```\n\n## Limitation\n\n- Any action in the same context is executed sequentially.\n  - When processing in parallel, process them together outside the context or within the context.\n\n## Contributions\n\nI make heavy use of Google Translate. Please tell me if my English is wrong :)\n\n## Lisence\n\nMIT License\n","readmeFilename":"README.md","gitHead":"b8864c21f1856665c03738811f40726c488f9e5c","_id":"tiny-context@1.6.0-trial.2","_nodeVersion":"12.16.0","_npmVersion":"6.14.0","dist":{"integrity":"sha512-oX/G2611E1jbQ9yuBXYFoRI+G8BWRvZLuJ3w9qlnubr32X5lb9/we9VUsZI93hdi4gPHbek24gI76X5Nnsl6dQ==","shasum":"75178151185f11d38ba1d8ea25b6506189f2abe8","tarball":"https://registry.npmjs.org/tiny-context/-/tiny-context-1.6.0-trial.2.tgz","fileCount":10,"unpackedSize":49315,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeV5jBCRA9TVsSAnZWagAAZKsP/07X0eVI9aBGQuiL8QrE\nSJ1q/07anzFwQj5D6ZfeCmpyId4Go7i5S472Fs2+J0UnhO8WsB7x+3O8RcFE\nLNLdUnbYB09rNbU2t+Ri54EJtZeWnNxwC7RxG2hzqkizhmAMeH6IpFMqn1aK\nP2aHVzrrep3fOnOU2LoIRdny1iEqQ4VuQqRqdjkGpIpTPbDJEF8Oc+52Bzzw\nS9QBKOUKwDJCii/EuBDsMLN9cWK/+VjA0IuIsVHl+EHAvT6uIKB6c8Mobomw\n5mGpedvlzS2uMyWn7Xw6uav4F3Td2G3nUO7RABOUSk3vnTFeRIgYfJytNALu\nz9QtUyZzrGnFqWD4IpQ2eaBecDe39nrRfvRe8T58XG3SVCRdqvRM8MHh8uUq\nPtTGYHWUGgaVdoLvXcjrzdiNMgYcKtDIt60LIEJuqlxhX3flRdYNIYaB2Uai\nowM6PyBM4Wrl0pUKk7HWtNfw2laABG38SPkQlBMJrIyztJHcqCmvlP5LL71b\nr5Km42xL70oKU57TLkYGJ/wVmBb7sizHU3bfDO9lgKFgqeP6Ak8HnRWJ0XMc\ns8FdM7XzMCtN/i1UiOAKZICC8s0w8UuOP0J6ePxkeUAwRishxTXJXG7YEjpN\nWhtMmaWKm+Ilz31zWpuEBSeefy070/gxMUoX3ecW3iUzcmH5SbI3tOuWD3to\nExS8\r\n=Y0S6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBFEboNnKyk3h/ZODeDAqb+4NkS7lWOdLFgp3TEFhFBIAiEAicC+E6eoCb9HpP6oSHnbizPc9DzOF8IQLFavztX/MpQ="}]},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"_npmUser":{"name":"benishouga","email":"benishouga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-context_1.6.0-trial.2_1582799041093_0.20566012136917622"},"_hasShrinkwrap":false},"1.6.0":{"name":"tiny-context","description":"A tiny library for context using react-hooks.","keywords":["tiny-context","react","hooks","context","store","state"],"version":"1.6.0","license":"MIT","author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"main":"lib/tiny-context.js","unpkg":"umd/tiny-context.js","module":"es/tiny-context.js","types":"lib/tiny-context.d.ts","repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"homepage":"https://github.com/benishouga/tiny-context","scripts":{"clean":"rimraf coverage es lib umd docs/**/*.js","prepare":"npm run clean && npm run compile && npm run lint && npm run test && npm run build && npm run docs","compile":"tsc --noEmit","lint":"eslint --ext=tsx src test","build":"rollup -c","start":"webpack-dev-server --hot --watch-content-base --content-base docs/ --open ","docs":"webpack --mode=production","test":"cross-env NODE_ENV=test jest --coverage","format":"prettier --write \"./src/**/*.*\" \"./test/**/*.*\" \"./**/*.json\""},"peerDependencies":{"react":"^16.8"},"devDependencies":{"@testing-library/jest-dom":"5.1.1","@testing-library/react":"9.4.1","@types/jest":"25.1.3","@types/react":"16.9.23","@types/react-dom":"16.9.5","@types/react-syntax-highlighter":"11.0.4","@typescript-eslint/eslint-plugin":"2.21.0","@typescript-eslint/parser":"2.21.0","cross-env":"7.0.0","eslint":"6.8.0","eslint-config-prettier":"6.10.0","eslint-plugin-import":"2.20.1","eslint-plugin-jest":"23.8.0","eslint-plugin-react":"7.18.3","eslint-plugin-react-hooks":"2.5.0","jest":"25.1.0","prettier":"1.19.1","raw-loader":"4.0.0","react":"16.13.0","react-dom":"16.13.0","react-syntax-highlighter":"12.2.1","rimraf":"3.0.2","rollup":"1.31.1","rollup-plugin-terser":"5.2.0","rollup-plugin-typescript2":"0.26.0","ts-jest":"25.2.1","ts-loader":"6.2.1","typescript":"3.8.2","webpack":"4.41.6","webpack-cli":"3.3.11","webpack-dev-server":"3.10.3"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"coverageThreshold":{"global":{"statements":100,"branches":100,"functions":100,"lines":100}}},"gitHead":"47d453cbc032c5b56188f0c951a27a3c1786aac7","_id":"tiny-context@1.6.0","_nodeVersion":"12.16.0","_npmVersion":"6.14.0","dist":{"integrity":"sha512-+rlgLBx6r0+PIoqn2EW5KtIwN0hZuVOD+4NsXSklcgboO61KlEL7e/XkJCdeMO0EAqmkvwR0Q1I54vCfkXCeDw==","shasum":"0285c0a704c3cce74c2ac301b4b6bfdfc550aa45","tarball":"https://registry.npmjs.org/tiny-context/-/tiny-context-1.6.0.tgz","fileCount":10,"unpackedSize":49307,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeV5nBCRA9TVsSAnZWagAAAdMQAKKRqbPfTh6aTcRXL7WM\nF+3Nq9aIbgVa1Mjf3HyuutzvHV31EScmLw2hpypyrR1DNwOzzLGP37NMgq0v\nNiULw2nLYNYD8ZJrf/z5TS+uSyAGV4+k2V8EdcGf8IwPvNHgfX2zJlqBNpOi\n9Nt+gdEq3BhDKRf5DwYWUNei4BaQpgK6UM86ULZqQRulpdB8mvKmLYAVgnzE\nQgeAGhZjm+lUxtTGBQHZqr6JppXx6AlpDfhdcWys49xrfqaYLLD8muVLQJFc\nRHQEOVYsaDdc0bMzs4RgWsQm4gOBQ9OKbEYXN3WbRlLeaQw/TmZzy3gVRfUT\nPZyxcAWWRHegz4SEVRL9Xpci+jAjw6uh93EgoOmxd62eXxntmTPOP8t5eZXu\nytpyHDKdp0KmfxTHX2rbt8C91P/xvRlyUbXiF1lid6M+miQXCYneai9a+TUg\njrdNAI4ALuGdawXHkB6dhvdriY+iLC4KI9LLG9MyuM2JFP0zXY1BU/Kxthjn\n+2Atny5jAqoJRKm28gLJcWOkxCP9s/Hn0PI8/h01xqW27XUfhu470Zw4oPR+\nwsvNMjksM1Qph2YjtiZ/36x//BzgpUZOv8i57rTxOTjWvz77xkGArzwC59CU\niy6tFz4gq/iENGP0duXQOnMlCSUXmWd8I8WPNNbli0UWYWFcmP6hhKI8fI4B\nlM42\r\n=EsFh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA2bAUX7snBzpF9y4JhL2dsKA7ApkiwqzI95ubXUHqpZAiEA83R7Dq7fR9tgAq1ZXrPQ2fHQVBiCZsFdm+6iL1lmIhg="}]},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"_npmUser":{"name":"benishouga","email":"benishouga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-context_1.6.0_1582799296703_0.9165035140423432"},"_hasShrinkwrap":false},"1.6.1":{"name":"tiny-context","description":"A tiny library for context using react-hooks.","keywords":["tiny-context","react","hooks","context","store","state"],"version":"1.6.1","license":"MIT","author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"main":"lib/tiny-context.js","unpkg":"umd/tiny-context.js","module":"es/tiny-context.js","types":"lib/tiny-context.d.ts","repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"homepage":"https://github.com/benishouga/tiny-context","scripts":{"clean":"rimraf coverage es lib umd docs/**/*.js","prepare":"npm run clean && npm run compile && npm run lint && npm run test && npm run build && npm run docs","compile":"tsc --noEmit","lint":"eslint --ext=tsx src test","build":"rollup -c","start":"webpack-dev-server --hot --watch-content-base --content-base docs/ --open ","docs":"webpack --mode=production","test":"cross-env NODE_ENV=test jest --coverage","format":"prettier --write \"./src/**/*.*\" \"./test/**/*.*\" \"./**/*.json\""},"peerDependencies":{"react":"^16.8"},"devDependencies":{"@testing-library/jest-dom":"5.1.1","@testing-library/react":"9.4.1","@types/jest":"25.1.3","@types/react":"16.9.23","@types/react-dom":"16.9.5","@types/react-syntax-highlighter":"11.0.4","@typescript-eslint/eslint-plugin":"2.21.0","@typescript-eslint/parser":"2.21.0","cross-env":"7.0.0","eslint":"6.8.0","eslint-config-prettier":"6.10.0","eslint-plugin-import":"2.20.1","eslint-plugin-jest":"23.8.0","eslint-plugin-react":"7.18.3","eslint-plugin-react-hooks":"2.5.0","jest":"25.1.0","prettier":"1.19.1","raw-loader":"4.0.0","react":"16.13.0","react-dom":"16.13.0","react-syntax-highlighter":"12.2.1","rimraf":"3.0.2","rollup":"1.31.1","rollup-plugin-terser":"5.2.0","rollup-plugin-typescript2":"0.26.0","ts-jest":"25.2.1","ts-loader":"6.2.1","typescript":"3.8.2","webpack":"4.41.6","webpack-cli":"3.3.11","webpack-dev-server":"3.10.3"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"coverageThreshold":{"global":{"statements":100,"branches":100,"functions":100,"lines":100}}},"gitHead":"feae9e25e33cea1148c96b739dedd44e18dfb850","_id":"tiny-context@1.6.1","_nodeVersion":"12.16.0","_npmVersion":"6.14.0","dist":{"integrity":"sha512-OMH5ceMhaXHzzplgOezd+l3PlDEE97wDhnwNFnAXVnr1GdXsUbnu3b2XhZ3bI9ZGji86L3dcL9mh021e0CnuxA==","shasum":"0c9fc0605090bfae50518a7a8480c41bf0276ed5","tarball":"https://registry.npmjs.org/tiny-context/-/tiny-context-1.6.1.tgz","fileCount":10,"unpackedSize":55027,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeV609CRA9TVsSAnZWagAAiPoP/3/jis/hGzbN3glo+zvd\n0hffJYH/4AlFBj0z+IHWc0Ipe0lyvkvGwzhcQRgbZxnc4ySSoUG8kUEgOCia\n97IOLw95QCwxlLeaq53gyjC5AIGPMbjq8uhbzLyRnXdnWzw1E5NO5zbIUboU\n1zb3cCqA/g7KOsRGg76ZvojcVqs+4JovqNNiioCFI6NbyITJOYZojgA+mXaG\njG1PxEilA+k9usf44vcjC73qForfvLZ5ps4AF1cLsC0C/1rq0uksuC61RTh/\nxvk2vMw3Y7spINvkMzXsXABy2JhqnTfe3hiFu2IyDIVJRo+FgixhbLSAsnJL\nPxkXHzw00En6023TEz8iaNa9v5GWcs3NNRASwTcXj2N1q8wet7EorvvwU9eb\nSVdvOxDoJFo7CO3ekDYRK2rGd5lFHPzmQIHLmvnKGlGqbJrJpFy7DjC/auns\n4xxpjQoXWVzUJkZLrVRdkvfIdg/RT+8mUa/BZgoTDENMWmMJdGdHaqPhCIBH\nywQ+bQGTHVgGTdzIqg+NdkN1XREGc5bMSi8TXZ/lxepMZ2Mue9TvFpL+m2wz\nizmGrxqDStVgmVtilK5qICffseN4zrxdbnA8J5nuYf/WTIxmSplPxw8Tf+lC\nP5eMEOF0C51rFB3FVvLWfORt2LcZbUW3kcimOgQqNMUufT4MylfqINLR7cwI\ndRna\r\n=PGa7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+9a2SaP2apBH69A5xA3Z5MTjwf19CaZFpuZFZRybyHgIhAMMYZk5T34A5fF9rEjG3TiyeVBy5N18H8lwknVevAkoX"}]},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"_npmUser":{"name":"benishouga","email":"benishouga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-context_1.6.1_1582804284619_0.8013239304103106"},"_hasShrinkwrap":false},"1.7.0":{"name":"tiny-context","description":"A tiny library for context using react-hooks.","keywords":["tiny-context","react","hooks","context","store","state"],"version":"1.7.0","license":"MIT","author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"main":"lib/tiny-context.js","unpkg":"umd/tiny-context.js","module":"es/tiny-context.js","types":"lib/tiny-context.d.ts","repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"homepage":"https://github.com/benishouga/tiny-context","scripts":{"clean":"rimraf coverage es lib umd docs/**/*.js","prepare":"npm run clean && npm run compile && npm run lint && npm run test && npm run build && npm run docs","compile":"tsc --noEmit","lint":"eslint --ext=tsx src test","build":"rollup -c","start":"webpack-dev-server --hot --watch-content-base --content-base docs/ --open ","docs":"webpack --mode=production","test":"cross-env NODE_ENV=test jest --coverage","format":"prettier --write \"./src/**/*.*\" \"./test/**/*.*\" \"./**/*.json\""},"peerDependencies":{"react":"^16.8"},"devDependencies":{"@testing-library/jest-dom":"5.1.1","@testing-library/react":"9.5.0","@types/jest":"25.1.3","@types/react":"16.9.23","@types/react-dom":"16.9.5","@types/react-syntax-highlighter":"11.0.4","@typescript-eslint/eslint-plugin":"2.22.0","@typescript-eslint/parser":"2.22.0","cross-env":"7.0.2","eslint":"6.8.0","eslint-config-prettier":"6.10.0","eslint-plugin-import":"2.20.1","eslint-plugin-jest":"23.8.2","eslint-plugin-react":"7.18.3","eslint-plugin-react-hooks":"2.5.0","jest":"25.1.0","prettier":"1.19.1","raw-loader":"4.0.0","react":"16.13.0","react-dom":"16.13.0","react-syntax-highlighter":"12.2.1","rimraf":"3.0.2","rollup":"2.0.0","rollup-plugin-terser":"5.2.0","rollup-plugin-typescript2":"0.26.0","ts-jest":"25.2.1","ts-loader":"6.2.1","typescript":"3.8.3","webpack":"4.42.0","webpack-cli":"3.3.11","webpack-dev-server":"3.10.3"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"coverageThreshold":{"global":{"statements":100,"branches":100,"functions":100,"lines":100}}},"gitHead":"ac8825259fa15358b49bdd890e2f1e19931fb9e0","_id":"tiny-context@1.7.0","_nodeVersion":"12.16.0","_npmVersion":"6.14.0","dist":{"integrity":"sha512-TwLKJuR+k7l7DqroesteAo833XkPnhqz0FVhdBw7Nm2iYN7pMCNLfRAHdSmtnMKrLumgDAUdvfP9+zJAxJJf1g==","shasum":"2a44590cb45795eaf7adc5b63c9d374f3642a7e3","tarball":"https://registry.npmjs.org/tiny-context/-/tiny-context-1.7.0.tgz","fileCount":10,"unpackedSize":55026,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeYpX5CRA9TVsSAnZWagAAIzAP/01ozaZ5998HSyZ0bkFo\nH8VCjilygTpdwoIeDA+0JnPaEe3MkojRe35k2HDiK8BDq1jVUxmsTen5C8mk\nFStKKbNab/srXvA6JUeIkyfbNODIb1RqmN3vfyqb3/ZGvQKaw92pZiprYa6Q\n2l4F+scfbCxyNTc+RgGltV6pVCPrWOBieTP0as065+kF3i5UQ3NFqvw/Q+6Q\nK4YG7xFWIuUuA6pV/Zp44V9wWRsm1ilbHPIDaGvXeqnk51ykbV8ySMv9umy/\nf18IycOYLL6MOQSM4ME1QV0x6qfH7qnplGyVBgh3TbrTT6kIlfNxwQqYyaCl\n6zJbc3r4+eb1hncxGNWINXKsFN6jrWoZItqnfUa+9n/raAQOhmrOW4XVZ07z\nwsBHTyx+xKSt1Wdb/TJtcmZVs1advEsP5gxZkNtxOuyLmC+QRbXMCvGCpr63\n4QFDlbG3Xp/w+vFZy3sasNQykb37aaLi2dHBYZaDCIQhpwSObYMvlSOQCcAY\ntT9FBNA+LWbY5twSft5muFGSGOrkZVG/fm/LS2+DDroyj5BTNRms0DqPtlqN\n+u1KPbhJtQ2H+o2oE2MYIWFQR7yZYZ49VXuJhohSLj4i0gUPeq3TRO/tiY/0\n7VmpmQnGhM3vS+hqGjbLi68kzcwLBrwwK4+lXpVSBnsBcST3Kp2D6jCMGLfJ\nPDSP\r\n=LBm5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFBbe2hde8HFXwwRoq65FKRXaD4xO7YfYQfyUKn/E2PsAiEAxO+b8AcUh939AMPnuJueWtqGn2v+t/tTx79F0mM+lVY="}]},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"_npmUser":{"name":"benishouga","email":"benishouga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-context_1.7.0_1583519224497_0.20356811107556805"},"_hasShrinkwrap":false},"1.7.1":{"name":"tiny-context","description":"A tiny library for context using react-hooks.","keywords":["tiny-context","react","hooks","context","store","state"],"version":"1.7.1","license":"MIT","author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"main":"lib/tiny-context.js","unpkg":"umd/tiny-context.js","module":"es/tiny-context.js","types":"lib/tiny-context.d.ts","repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"homepage":"https://github.com/benishouga/tiny-context","scripts":{"clean":"rimraf coverage es lib umd docs/**/*.js","prepare":"npm run clean && npm run compile && npm run lint && npm run test && npm run build && npm run docs","compile":"tsc --noEmit","lint":"eslint --ext=tsx src test","build":"rollup -c","start":"webpack-dev-server --hot --watch-content-base --content-base docs/ --open ","docs":"webpack --mode=production","test":"cross-env NODE_ENV=test jest --coverage","format":"prettier --write \"./src/**/*.*\" \"./test/**/*.*\" \"./**/*.json\""},"peerDependencies":{"react":"^16.8"},"devDependencies":{"@testing-library/jest-dom":"5.1.1","@testing-library/react":"10.0.1","@types/jest":"25.1.4","@types/react":"16.9.25","@types/react-dom":"16.9.5","@types/react-syntax-highlighter":"11.0.4","@typescript-eslint/eslint-plugin":"2.25.0","@typescript-eslint/parser":"2.25.0","cross-env":"7.0.2","eslint":"6.8.0","eslint-config-prettier":"6.10.1","eslint-plugin-import":"2.20.1","eslint-plugin-jest":"23.8.2","eslint-plugin-react":"7.19.0","eslint-plugin-react-hooks":"2.5.1","jest":"25.1.0","prettier":"2.0.2","raw-loader":"4.0.0","react":"16.13.1","react-dom":"16.13.1","react-syntax-highlighter":"12.2.1","rimraf":"3.0.2","rollup":"2.0.6","rollup-plugin-terser":"5.3.0","rollup-plugin-typescript2":"0.26.0","ts-jest":"25.2.1","ts-loader":"6.2.2","typescript":"3.8.3","webpack":"4.42.1","webpack-cli":"3.3.11","webpack-dev-server":"3.10.3"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"coverageThreshold":{"global":{"statements":100,"branches":100,"functions":100,"lines":100}}},"gitHead":"03304e93d312ac4082cf8b00b664ac71282e0cb5","_id":"tiny-context@1.7.1","_nodeVersion":"12.16.0","_npmVersion":"6.14.2","dist":{"integrity":"sha512-uovlXuMVH85ryI/sC9fs6q46JrY86mS2oHMzowijKDhknuLvqMsIK6vmZCseCekNqK4W6HF58+c31+7XhjeSCw==","shasum":"73068270930c001ec5a3ceaa9db6dfc25e72f567","tarball":"https://registry.npmjs.org/tiny-context/-/tiny-context-1.7.1.tgz","fileCount":10,"unpackedSize":55026,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeej+MCRA9TVsSAnZWagAA1yAP/3BLdekP5defRmMc5Fjb\nWgB4zkvrG0yL+9azz1yxAQ5pO/CnvRiQtfahPpvfU7EG+KfOUheM438k41lE\nv/p9UfqBdpIS5SDsNXpNTTb9pQRHY7VWjHwZFW1MTEGnxaedF09rdPALtLr2\nBFRuEVpoXo0GstiqKKsI7OBtAF5qZbWD9jccFLeU8WCMpa8S3cUTmbiydPa5\ni/BV4Hq1KKKymuUdYyYMzY/E+6ZR3AZ25XZ+9g8ngh2TzKX2hm2AzqRkUWkm\n7C9DNgbUAVh4txKW9ASjYUk5ZESct2B/nBw/aIeghH6Kz1EZa4FLCP0MktOv\n4mury+iNRjY6cfJvSJDjyygSNMBN2L5rrGelZMPr3rbOEDy8jW4kBEJF6OwI\n2DB5SgS9cxb9C9bsVBKE3BosqJesK+5hJC2NMMLXwZmg94FX3aacvi6XLPEl\n26bTy/liBGc49zLnKL4CFnU+bmU7RrRJEkoUFxVG88qZwNVrrYuno+jL9wgA\nfBUYJmlfqxY1gl0vG9R+jFh2StgJh91nHmHV1zrJGhFA2yffLQpsr1JrjwXo\nux5+/ScoC9juPGQA0hGjdTP1O60/v6SDnJiO7dULjQu99uoCnkem0DSMlh20\nfq5lLOuxrJ3vFONlR+nWgMzGLrC1lR8osNioKq6Q/U6kicDcRBY9wnGsbhn8\nLZVZ\r\n=h89I\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCMapSGaQUA/xj664bcrHO81ex/1r5N/tBD/el9HbQqNwIgdHZv+SuCP1RLA0f5oKPVt1QUJ7y4optBmR9H3vgQioM="}]},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"_npmUser":{"name":"benishouga","email":"benishouga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-context_1.7.1_1585069964147_0.5416039089138052"},"_hasShrinkwrap":false},"1.7.2":{"name":"tiny-context","description":"A tiny library for context using react-hooks.","keywords":["tiny-context","react","hooks","context","store","state"],"version":"1.7.2","license":"MIT","author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"main":"lib/tiny-context.js","unpkg":"umd/tiny-context.js","module":"es/tiny-context.js","types":"lib/tiny-context.d.ts","repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"homepage":"https://github.com/benishouga/tiny-context","scripts":{"clean":"rimraf coverage es lib umd docs/**/*.js","prepare":"npm run clean && npm run compile && npm run lint && npm run test && npm run build && npm run docs","compile":"tsc --noEmit","lint":"eslint --ext=tsx src test","build":"rollup -c","start":"webpack-dev-server --hot --watch-content-base --content-base docs/ --open ","docs":"webpack --mode=production","test":"cross-env NODE_ENV=test jest --coverage","format":"prettier --write \"./src/**/*.*\" \"./test/**/*.*\" \"./**/*.json\""},"peerDependencies":{"react":"^16.8"},"devDependencies":{"@testing-library/jest-dom":"5.1.1","@testing-library/react":"10.0.1","@types/jest":"25.1.4","@types/react":"16.9.25","@types/react-dom":"16.9.5","@types/react-syntax-highlighter":"11.0.4","@typescript-eslint/eslint-plugin":"2.25.0","@typescript-eslint/parser":"2.25.0","cross-env":"7.0.2","eslint":"6.8.0","eslint-config-prettier":"6.10.1","eslint-plugin-import":"2.20.1","eslint-plugin-jest":"23.8.2","eslint-plugin-react":"7.19.0","eslint-plugin-react-hooks":"2.5.1","jest":"25.1.0","prettier":"2.0.2","raw-loader":"4.0.0","react":"16.13.1","react-dom":"16.13.1","react-syntax-highlighter":"12.2.1","rimraf":"3.0.2","rollup":"^2.2.0","rollup-plugin-terser":"5.3.0","rollup-plugin-typescript2":"0.26.0","ts-jest":"25.2.1","ts-loader":"6.2.2","typescript":"3.8.3","webpack":"4.42.1","webpack-cli":"3.3.11","webpack-dev-server":"3.10.3"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"coverageThreshold":{"global":{"statements":100,"branches":100,"functions":100,"lines":100}}},"readme":"# tiny-context\n\n![GITHUB-BADGE](https://github.com/benishouga/tiny-context/workflows/Node.js%20CI/badge.svg)\n\nThis library for Context API of React Hooks. Easily create a context with a state and an action to update it.\n\n## Installation\n\nRequires React 16.8.3 or later.\n\n```\nnpm install tiny-context\n```\n\n## Concept\n\nThis library wraps the React Context API and supports creating contexts with `{ state: { ... }, actions: { ... } }`.\n\n- Easy to implement with less code.\n- Easy to understand. (like React Context API with Hooks)\n- Easy to create async action and async generator action. (I think it's like redux-saga.)\n- Easy to test. (Only test a stateless implementation.)\n- TypeScript friendry. (Strict type checking.)\n\n## Steps to use\n\n1. Define `State`.\n   ```ts\n   type CounterState = { count: number };\n   ```\n2. Define `actions` that takes `State` as the first argument and returns `State`. `actions` can also be created on a [class-base](https://benishouga.github.io/tiny-context/).\n   ```ts\n   const actions = {\n     increment: (state: CounterState, amount: number) => ({ ...state, count: state.count + amount })\n   };\n   ```\n3. Call `createTinyContext` to create `Provider` and `useContext` from `actions`. Specify the `State` and `actions` for the type argument.\n   ```ts\n   const { Provider, useContext } = createTinyContext<CounterState, typeof actions>(actions);\n   ```\n   (option) If you use the `actions` method, you only need to specify `State` type argument.\n   ```ts\n   const { Provider, useContext } = createTinyContext<CounterState>().actions(actions);\n   ```\n4. Can be used like the React Context API :)\n\n   ```tsx\n   const Buttons = () => {\n     const {\n       actions: { increment }\n     } = useContext();\n     return <button onClick={() => increment(1)}>+</button>;\n   };\n\n   const Display = () => {\n     const {\n       state: { count }\n     } = useContext();\n     return <span>{count}</span>;\n   };\n\n   const CounterApp = () => (\n     <Provider value={{ count: 0 }}>\n       <Buttons />\n       <Display />\n     </Provider>\n   );\n   ```\n\n## Examples\n\nClass-based actions, Async action, Async generator action, abortable request, and Todo App examples.<br>\nhttps://benishouga.github.io/tiny-context/\n\n## API\n\n### createTinyContext\n\nCreate Provider and useContext from Actions implementations. Actions implementation methods require the first argument to be `State` and the return value to be `State` (or [`Promise`, `Async Generator`](https://benishouga.github.io/tiny-context/)).\n\nSpecify the `State` and the `Actions` interface for the type argument.\n\n```ts\nimport { createTinyContext } from 'tiny-context';\n\ntype CounterState = { count: number; };\nclass CounterActions {\n  increment: (state: CounterState, amount: number) => ({ ...state, count: state.count + amount })\n  decrement: (state: CounterState, amount: number) => ({ ...state, count: state.count - amount })\n}\nconst { Provider, useContext } = createTinyContext<CounterState, CounterActions>(new CounterActions());\n```\n\nIf the `actions` method is used, the type argument of `Actions` can be omitted.\n\n```ts\nconst { Provider, useContext } = createTinyContext<CounterState>().actions(new CounterActions());\n```\n\n`Provider` is same as [`Provider of React`](https://reactjs.org/docs/context.html#contextprovider).\n\nSupply an initial value for `value`.\n\n```tsx\nconst SomeApp = () => (\n  <Provider value={{ count: 0 }}>\n    <SomeConsumer />\n  </Provider>\n);\n```\n\n`useContext` is hooks used on a consumer. Not need arguments. You will get an object of `{ state: {...}, acitons: {...} }`.\n\nFunction arguments are inherited from the second and subsequent arguments of the previously defined Action. The return value is a uniform `Promise<void>`.\n\n```tsx\nconst SomeConsumer = () => {\n  const {\n    state: {...},\n    actions: {...}\n  } = useContext();\n\n};\n```\n\n### class Store<S, A>\n\nClass for managing the `State`. ([`createTinyContext`](https://github.com/benishouga/tiny-context#createTinyContext) uses this.)\n\nGiven a `State` and `Actions` to change `State`, `Actions` are sequenced to prevent invalid `State`.\n\n- **S** `State` to managed.\n- **A** `Actions` to change `State`. `Actions` implementation methods require the first argument to be `State` and the return value to be `State` (or [`Promise`, `Async Generator`](https://benishouga.github.io/tiny-context/)).\n\n#### constructor(state, impl)\n\n- **state** Initial `State`.\n- **impl** `Actions` to change `State`.\n\n```ts\ntype State = { count: number };\nconst store = new Store(\n  { count: 0 },\n  { increment: (state: State, amount: number) => ({ count: state.count + amount }) }\n);\nconst { increment } = store.actions;\nawait increment(1);\nconst { count } = store.state;\nconsole.log(count); // => 1\n```\n\n#### readonly state\n\nCurrent `State`.\n\n#### readonly actions\n\n`Actions` to change `State`.\n\nFunction arguments are inherited from the second and subsequent arguments of the previously defined Action. The return value is a uniform `Promise<void>`.\n\n#### onChanged(listener)\n\nAdds a change listener.\n\n## Limitation\n\n- Any action in the same context is executed sequentially.\n  - When processing in parallel, process them together outside the context or within the context.\n\n## Contributions\n\nI make heavy use of Google Translate. Please tell me if my English is wrong :)\n\n## Lisence\n\nMIT License\n","readmeFilename":"README.md","gitHead":"14e7295a0178a5f0db025691bd4de6258456a707","_id":"tiny-context@1.7.2","_nodeVersion":"12.16.0","_npmVersion":"6.14.2","dist":{"integrity":"sha512-ttj2/2LwnzeukYiYfaX+PDlF0Y44xk82xdR60errMJT/DyKzwSqr8oon9i0i88rA2M3kfGB8k0jmr6tFfDbtSA==","shasum":"68d9384f21c99e75e21e4a54b9cc024907dc5199","tarball":"https://registry.npmjs.org/tiny-context/-/tiny-context-1.7.2.tgz","fileCount":10,"unpackedSize":54799,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeekPYCRA9TVsSAnZWagAA7qIP/2onrEZ4YIqn26Q4xTPF\nK/HabkAl2cc9CQCRy0+oqVtNf70Yv8yRIMPenTDy3IsbzBT1ehZAgPhbr7Pk\nx8rwZ/VfCBV4rWk7zFjSNZU8X3Fea36NpCxCCsHC7iF/a6Mms1Oe/tXruu+e\n5AFU+sT0dpkyoSZg/DHDKPavO+653AgUTPF3Qk0Q0s4omgcX1wdb/hJa7Y3T\npuAZEM5+IsAabvg4zV5sPtG43jzBL4CBw2vajigi75E3lYB1oedXI3bR6Gf+\nrgi/snYAzn5ObWAOknqyrO4celsiq3BUPGj55Y1qpdVyad6oo9kdOWA6JIXH\nOkgIczfBCKo+j4skozSN+JvbLX1V1hBhHVlxW2aXnZrxHK2nIw+lfY4T0kp5\nXFhhY6NXVfWkFwc2oRikHeL8KDzOh5iqhqudZtmzp7239ZQ5dqJ4fVgGeOnh\nd0qND36UaLuk+6Pv6YV6aDndASPYg64NICK4hu6IVDJRJwWP+JsOsh41w24i\nsm4RQuqQigpnXHoaiaFHBHn/pm1MXXGIobsTPUReo5c0CrRKDr764yVMBmwC\npI1QzHDc+fQoI7WdTSeNOT5zBiBC/AvpacDP+92u8TuGPnX2kij4bYwwgDo5\nL/MM4Pnfu4GidJPriWSGTbp2YCcbQitv2DrPhJ4UP1gQbaDjfZt5obzM0zLJ\n3n4l\r\n=tupC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH9FUPr7YUMot6v47yJzspuuVILBptYYtpxGDLhvtYvgAiEA7Z8Al6eUy/KCOE6RfW06kJy8hZf2SKvTGhr8+YnLtHI="}]},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"_npmUser":{"name":"benishouga","email":"benishouga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-context_1.7.2_1585071063732_0.8715528274421838"},"_hasShrinkwrap":false},"1.8.0":{"name":"tiny-context","description":"A tiny library for context using react-hooks.","keywords":["tiny-context","react","hooks","context","store","state"],"version":"1.8.0","license":"MIT","author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"main":"lib/tiny-context.js","unpkg":"umd/tiny-context.js","module":"es/tiny-context.js","types":"lib/tiny-context.d.ts","repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"homepage":"https://github.com/benishouga/tiny-context","scripts":{"clean":"rimraf coverage es lib umd docs/**/*.js","prepare":"npm run clean && npm run compile && npm run lint && npm run test && npm run build && npm run docs","compile":"tsc --noEmit","lint":"eslint --ext=tsx src test","build":"rollup -c","start":"webpack-dev-server --hot --watch-content-base --content-base docs/ --open ","docs":"webpack --mode=production","test":"cross-env NODE_ENV=test jest --coverage","format":"prettier --write \"./src/**/*.*\" \"./test/**/*.*\" \"./**/*.json\""},"peerDependencies":{"react":"^16.8"},"devDependencies":{"@testing-library/jest-dom":"5.1.1","@testing-library/react":"10.0.1","@types/jest":"25.1.4","@types/react":"16.9.25","@types/react-dom":"16.9.5","@types/react-syntax-highlighter":"11.0.4","@typescript-eslint/eslint-plugin":"2.25.0","@typescript-eslint/parser":"2.25.0","cross-env":"7.0.2","eslint":"6.8.0","eslint-config-prettier":"6.10.1","eslint-plugin-import":"2.20.1","eslint-plugin-jest":"23.8.2","eslint-plugin-react":"7.19.0","eslint-plugin-react-hooks":"2.5.1","jest":"25.1.0","prettier":"2.0.2","raw-loader":"4.0.0","react":"16.13.1","react-dom":"16.13.1","react-syntax-highlighter":"12.2.1","rimraf":"3.0.2","rollup":"^2.2.0","rollup-plugin-terser":"5.3.0","rollup-plugin-typescript2":"0.26.0","ts-jest":"25.2.1","ts-loader":"6.2.2","typescript":"3.8.3","webpack":"4.42.1","webpack-cli":"3.3.11","webpack-dev-server":"3.10.3"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"coverageThreshold":{"global":{"statements":100,"branches":100,"functions":100,"lines":100}}},"gitHead":"596d421520826ec8139ab5b4aa8be278ec929534","_id":"tiny-context@1.8.0","_nodeVersion":"12.16.0","_npmVersion":"6.14.2","dist":{"integrity":"sha512-ncWtQA4P0MdX91hapn0rAmrP9XZQed/2LA0x996+azMtIueUSWTmXVKw8l7tWnlw2APLC2ruvs6e5dHeH9rGAQ==","shasum":"a7f3cd966ebcf9fba9d1ae7f8269258de6bb52db","tarball":"https://registry.npmjs.org/tiny-context/-/tiny-context-1.8.0.tgz","fileCount":10,"unpackedSize":55127,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeekecCRA9TVsSAnZWagAAVQ0P/iDa4lFeKIjUlIcQsGMN\nHbfqTFbUxkPUAW/fcuHiYYhxYxMPfEzMV+cmUyeIze9zZavml4JsdQCI3FeV\nZRgDEpJ0UNyfZLKlQoUpuvbeVg4ZG3UF1ORDGEIAQ48tEqJljF60DD1e21O8\n5njrGQRf6+TJ2C79FDlGG251mYotJRLVLKG1lQ02AY1qm0cHavJfxL5nBw8K\nwU1lO2SBU70UcB4Ymw+EdWmsdTDqBud0IyMQt8H+1D1+zMHvHQCwnDv2UISc\nUpQsgcWmR2uk45ALuRRVMZzD3kYbZQmWoFxCtA8+6V7m2sJncvFOS0s11NRN\ncFczirYkAG/bEkMAE7r64Jdr46gtEhz5rylJfbo0YIjjj25lSl/DW5+SdCG8\n6U2HAKMNxPwBJIqFff3s0yaMACYDhe27gzGAa/WD30SFDRM4ZFqiJjCe6xer\nRzctJkfQlnFlmugKrazmL1ynyrbyNNnaklcf7AGPQ2NT8Q1yU/RDeHWUGvKo\nVUCRuWZwCp/TI1azzSrd3IrYDZbAaWCQLdyAesl+xUSU6Khepgssc/Qbxfub\n+LcgM3yxx1oh2qkUNF3udIvaAn9Hd3RuFbQwyx/6v1EbkJQhYPtdbhO76/ok\nQoWJSc/frMA0VQR5jjrai6r9QRRo2Yv2BQyvsYb8HKhFFdLR+CDNLrY90nAP\nKg9m\r\n=P0yR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDiUXkTvjtZ8Q5uu2cp187cuvxzT2ytOzjRbUbS8t1xPAiBoXUBjUE8xJHAUkTFbZce1ya0gg2OuXI/nOjKdvc/oBg=="}]},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"_npmUser":{"name":"benishouga","email":"benishouga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-context_1.8.0_1585072027011_0.2931473011201926"},"_hasShrinkwrap":false},"1.8.1":{"name":"tiny-context","description":"A tiny library for context using react-hooks.","keywords":["tiny-context","react","hooks","context","store","state"],"version":"1.8.1","license":"MIT","author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"main":"lib/tiny-context.js","unpkg":"umd/tiny-context.js","module":"es/tiny-context.js","types":"lib/tiny-context.d.ts","repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"homepage":"https://github.com/benishouga/tiny-context","scripts":{"clean":"rimraf coverage es lib umd docs/**/*.js","prepare":"npm run clean && npm run compile && npm run lint && npm run test && npm run build && npm run docs","compile":"tsc --noEmit","lint":"eslint --ext=tsx src test","build":"rollup -c","start":"webpack-dev-server --hot --watch-content-base --content-base docs/ --open ","docs":"webpack --mode=production","test":"cross-env NODE_ENV=test jest --coverage","format":"prettier --write \"./src/**/*.*\" \"./test/**/*.*\" \"./**/*.json\""},"peerDependencies":{"react":"^16.8"},"devDependencies":{"@testing-library/jest-dom":"5.1.1","@testing-library/react":"10.0.1","@types/jest":"25.1.4","@types/react":"16.9.25","@types/react-dom":"16.9.5","@types/react-syntax-highlighter":"11.0.4","@typescript-eslint/eslint-plugin":"2.25.0","@typescript-eslint/parser":"2.25.0","cross-env":"7.0.2","eslint":"6.8.0","eslint-config-prettier":"6.10.1","eslint-plugin-import":"2.20.1","eslint-plugin-jest":"23.8.2","eslint-plugin-react":"7.19.0","eslint-plugin-react-hooks":"2.5.1","jest":"25.1.0","prettier":"2.0.2","raw-loader":"4.0.0","react":"16.13.1","react-dom":"16.13.1","react-syntax-highlighter":"12.2.1","rimraf":"3.0.2","rollup":"2.2.0","rollup-plugin-terser":"5.3.0","rollup-plugin-typescript2":"0.26.0","ts-jest":"25.2.1","ts-loader":"6.2.2","typescript":"3.8.3","webpack":"4.42.1","webpack-cli":"3.3.11","webpack-dev-server":"3.10.3"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"coverageThreshold":{"global":{"statements":100,"branches":100,"functions":100,"lines":100}}},"readme":"# tiny-context\n\n![GITHUB-BADGE](https://github.com/benishouga/tiny-context/workflows/Node.js%20CI/badge.svg)\n\nThis library for Context API of React Hooks. Easily create a context with a state and an action to update it.\n\n## Installation\n\nRequires React 16.8.3 or later.\n\n```\nnpm install tiny-context\n```\n\n## Concept\n\nThis library wraps the React Context API and supports creating contexts with `{ state: { ... }, actions: { ... } }`.\n\n- Easy to implement with less code.\n- Easy to understand. (like React Context API with Hooks)\n- Easy to create async action and async generator action. (I think it's like redux-saga.)\n- Easy to test. (Only test a stateless implementation.)\n- TypeScript friendry. (Strict type checking.)\n\n## Steps to use\n\n1. Define `State`.\n   ```ts\n   type CounterState = { count: number };\n   ```\n2. Define `actions` that takes `State` as the first argument and returns `State`. `actions` can also be created on a [class-base](https://benishouga.github.io/tiny-context/).\n   ```ts\n   const actions = {\n     increment: (state: CounterState, amount: number) => ({ ...state, count: state.count + amount }),\n   };\n   ```\n3. Call `createTinyContext` to create `Provider` and `useContext` from `actions`. Specify the `State` and `actions` for the type argument.\n   ```ts\n   const { Provider, useContext } = createTinyContext<CounterState, typeof actions>(actions);\n   ```\n   (option) If you use the `actions` method, you only need to specify `State` type argument.\n   ```ts\n   const { Provider, useContext } = createTinyContext<CounterState>().actions(actions);\n   ```\n4. Can be used like the React Context API :)\n\n   ```tsx\n   const Buttons = () => {\n     const {\n       actions: { increment },\n     } = useContext();\n     return <button onClick={() => increment(1)}>+</button>;\n   };\n\n   const Display = () => {\n     const {\n       state: { count },\n     } = useContext();\n     return <span>{count}</span>;\n   };\n\n   const CounterApp = () => (\n     <Provider value={{ count: 0 }}>\n       <Buttons />\n       <Display />\n     </Provider>\n   );\n   ```\n\n## Examples\n\nClass-based actions, Async action, Async generator action, abortable request, and Todo App examples.<br>\nhttps://benishouga.github.io/tiny-context/\n\n## API\n\n### createTinyContext\n\nCreate Provider and useContext from Actions implementations. Actions implementation methods require the first argument to be `State` and the return value to be `State` (or [`Promise`, `Async Generator`](https://benishouga.github.io/tiny-context/)).\n\nSpecify the `State` and the `Actions` interface for the type argument.\n\n```ts\nimport { createTinyContext } from 'tiny-context';\n\ntype CounterState = { count: number; };\nclass CounterActions {\n  increment: (state: CounterState, amount: number) => ({ ...state, count: state.count + amount })\n  decrement: (state: CounterState, amount: number) => ({ ...state, count: state.count - amount })\n}\nconst { Provider, useContext } = createTinyContext<CounterState, CounterActions>(new CounterActions());\n```\n\nIf the `actions` method is used, the type argument of `Actions` can be omitted.\n\n```ts\nconst { Provider, useContext } = createTinyContext<CounterState>().actions(new CounterActions());\n```\n\n`Provider` is same as [`Provider of React`](https://reactjs.org/docs/context.html#contextprovider).\n\nSupply an initial value for `value`.\n\n```tsx\nconst SomeApp = () => (\n  <Provider value={{ count: 0 }}>\n    <SomeConsumer />\n  </Provider>\n);\n```\n\n`useContext` is hooks used on a consumer. Not need arguments. You will get an object of `{ state: {...}, acitons: {...} }`.\n\nFunction arguments are inherited from the second and subsequent arguments of the previously defined Action. The return value is a uniform `Promise<State>`.\n\n```tsx\nconst SomeConsumer = () => {\n  const {\n    state: {...},\n    actions: {...}\n  } = useContext();\n\n};\n```\n\n### class Store<S, A>\n\nClass for managing the `State`. ([`createTinyContext`](https://github.com/benishouga/tiny-context#createTinyContext) uses this.)\n\nGiven a `State` and `Actions` to change `State`, `Actions` are sequenced to prevent invalid `State`.\n\n- **S** `State` to managed.\n- **A** `Actions` to change `State`. `Actions` implementation methods require the first argument to be `State` and the return value to be `State` (or [`Promise`, `Async Generator`](https://benishouga.github.io/tiny-context/)).\n\n#### constructor(state, impl)\n\n- **state** Initial `State`.\n- **impl** `Actions` to change `State`.\n\n```ts\ntype State = { count: number };\nconst store = new Store(\n  { count: 0 },\n  { increment: (state: State, amount: number) => ({ count: state.count + amount }) }\n);\nconst { increment } = store.actions;\nawait increment(1);\nconst { count } = store.state;\nconsole.log(count); // => 1\n```\n\n#### readonly state\n\nCurrent `State`.\n\n#### readonly actions\n\n`Actions` to change `State`.\n\nFunction arguments are inherited from the second and subsequent arguments of the previously defined Action. The return value is a uniform `Promise<State>`.\n\n#### onChanged(listener)\n\nAdds a change listener.\n\n## Limitation\n\n- Any action in the same context is executed sequentially.\n  - When processing in parallel, process them together outside the context or within the context.\n\n## Contributions\n\nI make heavy use of Google Translate. Please tell me if my English is wrong :)\n\n## Lisence\n\nMIT License\n","readmeFilename":"README.md","gitHead":"38b15553f6931dc54a78cf6adf771d50a0debad0","_id":"tiny-context@1.8.1","_nodeVersion":"12.16.0","_npmVersion":"6.14.2","dist":{"integrity":"sha512-zXFjUaHxcR99O3BP02sIl2d2GGbMyQ8WHarqfYH5YQdgQdojSOo8eWXJ1dBn9jkah+PrEaDmEIrtFBtiUFbIOA==","shasum":"e375067295c3e98535407837f62991e57fe2b0ee","tarball":"https://registry.npmjs.org/tiny-context/-/tiny-context-1.8.1.tgz","fileCount":10,"unpackedSize":55358,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeek0sCRA9TVsSAnZWagAA7vEP/jdok89Nm9HzaBmKoe38\nPWjkyn0kg0f3aRgcSopv4ac5TGjkt5YX8ty2Z5AqvDefNPu4TDxEEjayjRu0\nc+Gc4SyUZ7a0Pna8kIUIQoj6XzTguxzkLNQKnYst1tyRxYoIgIGr5GD0uaej\nONL2aJHL7/fj8ZRJPJgrPPurpiZKZr7Pwv+3GLphU0VoTecdai6frfPzt/fz\nR+ga3N2hTG91HDzb0yh/W4Wuai/XJnrMxyBapT2XKIPsAdHVA4STCwhksc3e\nZeScK9BtuB/Mj1Bj1I46V38KYcK8urtGhG5aK5xwuZpa6KTLweN+U3zSGlJ8\nm5LTPRV9Mj3o/R7e0v7p6E8FBUZ+PdzwZHdbLM0wUkqWwglQVVOInGX3x/Is\nps0bIBW65E6481P3FlKS5cxPAvL9SrGZ8RvflfBl0UmMNYhpPhZA/GhjE8JH\nAu/DV+TglAZou14LKYI6fSWGmdjXvQ2ajX1KFV2MqlxadvEYK7q6SavSeZhv\nWUKIcjg2U7RkwRG70/Dste1WqxbUCo0d4AU7AP1aHK1BKYysxxOahtwRUPu4\nygP1QDhVweGwbRZzahZg1aMTx+md3PjujEAWk9x91RuEQl+2CT/KyM9fiiPX\nC44e54fZ02uksSRz6N979OsDLnq2Ug1+cidPrIo4Pnz6xbs68AhAZaKuoL5N\nxdsq\r\n=AkAE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHmRrNPNFYKIMGsS2jdvhNURi1kZk4aa9U/MZ4mVNNWzAiAd/dvjyuHNKw+6NWs4y9tS4ralLKGhUlQdCbkQ1P+Ufg=="}]},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"_npmUser":{"name":"benishouga","email":"benishouga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-context_1.8.1_1585073452075_0.42401485351928914"},"_hasShrinkwrap":false},"1.8.2":{"name":"tiny-context","description":"A tiny library for context using react-hooks.","keywords":["tiny-context","react","hooks","context","store","state"],"version":"1.8.2","license":"MIT","author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"main":"lib/tiny-context.js","unpkg":"umd/tiny-context.js","module":"es/tiny-context.js","types":"lib/tiny-context.d.ts","repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"homepage":"https://github.com/benishouga/tiny-context","scripts":{"clean":"rimraf coverage es lib umd docs/**/*.js","prepare":"npm run clean && npm run compile && npm run lint && npm run test && npm run build && npm run docs","compile":"tsc --noEmit","lint":"eslint --ext=ts,tsx src test","build":"rollup -c","start":"webpack-dev-server --hot --watch-content-base --content-base docs/ --open ","docs":"webpack --mode=production","test":"cross-env NODE_ENV=test jest --coverage","format":"prettier --write \"./src/**/*.*\" \"./test/**/*.*\" \"./**/*.json\""},"peerDependencies":{"react":"^16.8"},"devDependencies":{"@testing-library/jest-dom":"5.7.0","@testing-library/react":"10.0.4","@types/jest":"25.2.2","@types/react":"16.9.35","@types/react-dom":"16.9.8","@types/react-syntax-highlighter":"11.0.4","@typescript-eslint/eslint-plugin":"2.33.0","@typescript-eslint/parser":"2.33.0","cross-env":"7.0.2","eslint":"7.0.0","eslint-config-prettier":"6.11.0","eslint-plugin-import":"2.20.2","eslint-plugin-jest":"23.11.0","eslint-plugin-react":"7.20.0","eslint-plugin-react-hooks":"4.0.2","jest":"26.0.1","prettier":"2.0.5","raw-loader":"4.0.1","react":"16.13.1","react-dom":"16.13.1","react-syntax-highlighter":"12.2.1","rimraf":"3.0.2","rollup":"2.10.2","rollup-plugin-terser":"5.3.0","rollup-plugin-typescript2":"0.27.1","ts-jest":"26.0.0","ts-loader":"7.0.4","typescript":"3.9.2","webpack":"4.43.0","webpack-cli":"3.3.11","webpack-dev-server":"3.11.0"},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"},"coverageThreshold":{"global":{"statements":100,"branches":100,"functions":100,"lines":100}}},"gitHead":"dadb1fa490c74bdcf6e8bc62dbe7c8ae677fdc44","_id":"tiny-context@1.8.2","_nodeVersion":"12.16.0","_npmVersion":"6.14.2","dist":{"integrity":"sha512-mqay9eIxKmpMvbvOBdx/8xdNiRCslDIIPGz7msx7gouTxcpt+daIPB+LfF3wIV3Cfy5dskvheVFzGvTLzLDl4Q==","shasum":"8fbf6e9aa9448889ce6c3b1ce03c40c3535482b9","tarball":"https://registry.npmjs.org/tiny-context/-/tiny-context-1.8.2.tgz","fileCount":10,"unpackedSize":55652,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJewFGgCRA9TVsSAnZWagAA/DEP/01KVou+QXI2fHq0f1dV\nhqbeoPimCk6iL3YKYZf7S0XVrZFogDyUC3SprOMb0xUbf5XrGloBIgTQMCwt\n2X2SyZami0pnPj4E52FxxTOkX+b7ISGgYwW3CUd7Q0Zie+NfGt/gwDfL2xcm\nmD5ziZ9oFKZ0+rAieE0cC3BDH1qMtNcgKjQPrZbqlR3+JRXSYqxsVisOziHs\nvkk9AhHdMGX6buXU997kUmZv+APpv1CMon6VLuFxxa92/EpJpFXnbp2WcE4c\nleiZpsouSTzZe7zUHPeG0e5fdPPABiko+hZCijOjv3OUqzpDpTlMPx0JiHC/\nDyt/XYfvBT2KLqJGy41sDymUfapmNNonX/lu4Ed2zKVV2Ahqi3dtcM12ySbu\n/cpiNke3a/3DPDUq75+EtoISyMeHsscpV2fNoxrMR6k5rHeJTpBPyjH4VeWf\nQjaaKV45GPE9njF7s0DXkA1aiarmdmnBFwGR+CRe1EtcRqxd09ERQzsoUQT4\nIKKajc2b7MCRuLe6qHBlluvm4vKqkNNz9E92qLtwXNeG07vz/F8SU8Zxkyr9\nB7Sp4+v/NlU4kwVbiQ1UwIp509NALcIOSUSS7saIZNcsRcoWHOa/agToZTS7\nPneZKC9n0dXrTqP2Dt/WLSThLev6Cc3o/o/cL23F9sve92VeFEG3fYoPZLP1\nuCfl\r\n=W++S\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICb4dLZaSd0efCDa1gGG+bDm6es83ujgb8vU0B487pXhAiEA5gOW3zTlXCiKJ78ng2rO1WgOnErr367JsYG3iAwroyo="}]},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"_npmUser":{"name":"benishouga","email":"benishouga@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tiny-context_1.8.2_1589662111916_0.30778868021644645"},"_hasShrinkwrap":false}},"time":{"created":"2020-01-24T18:35:49.787Z","0.1.0":"2020-01-24T18:35:49.912Z","modified":"2022-05-21T21:42:04.673Z","0.1.1":"2020-01-27T03:39:24.089Z","0.1.2":"2020-01-27T03:53:12.304Z","0.2.0":"2020-02-03T17:36:38.526Z","0.2.1":"2020-02-04T11:47:10.799Z","0.3.0":"2020-02-06T14:45:26.795Z","0.3.1":"2020-02-07T10:50:00.025Z","0.3.2":"2020-02-07T13:38:40.008Z","0.3.3":"2020-02-08T07:45:49.947Z","0.4.0":"2020-02-10T15:52:40.694Z","1.0.0":"2020-02-12T16:06:34.292Z","1.1.0":"2020-02-13T10:43:16.380Z","1.1.1":"2020-02-14T10:37:58.296Z","1.2.0-trial.0":"2020-02-16T12:57:40.716Z","1.2.0-trial.1":"2020-02-16T13:06:17.273Z","1.2.0":"2020-02-16T13:11:48.775Z","1.2.1":"2020-02-16T13:16:16.174Z","1.3.0":"2020-02-18T11:51:32.855Z","1.4.0":"2020-02-19T16:32:16.415Z","1.5.0":"2020-02-20T14:05:05.748Z","1.5.1":"2020-02-24T08:02:17.284Z","1.6.0-trial.0":"2020-02-27T10:13:08.501Z","1.6.0-trial.2":"2020-02-27T10:24:01.225Z","1.6.0":"2020-02-27T10:28:16.841Z","1.6.1":"2020-02-27T11:51:24.900Z","1.7.0":"2020-03-06T18:27:04.624Z","1.7.1":"2020-03-24T17:12:44.348Z","1.7.2":"2020-03-24T17:31:04.126Z","1.8.0":"2020-03-24T17:47:07.131Z","1.8.1":"2020-03-24T18:10:52.239Z","1.8.2":"2020-05-16T20:48:32.061Z"},"maintainers":[{"name":"benishouga","email":"benishouga@gmail.com"}],"description":"A tiny library for context using react-hooks.","homepage":"https://github.com/benishouga/tiny-context","keywords":["tiny-context","react","hooks","context","store","state"],"repository":{"type":"git","url":"git+https://github.com/benishouga/tiny-context.git"},"author":{"name":"Akito Moriki","email":"benishouga@gmail.com","url":"https://github.com/benishouga/"},"bugs":{"url":"https://github.com/benishouga/tiny-context/issues"},"license":"MIT","readme":"# tiny-context\n\n![GITHUB-BADGE](https://github.com/benishouga/tiny-context/workflows/Node.js%20CI/badge.svg)\n\nThis library for Context API of React Hooks. Easily create a context with a state and an action to update it.\n\n## Installation\n\nRequires React 16.8.3 or later.\n\n```\nnpm install tiny-context\n```\n\n## Concept\n\nThis library wraps the React Context API and supports creating contexts with `{ state: { ... }, actions: { ... } }`.\n\n- Easy to implement with less code.\n- Easy to understand. (like React Context API with Hooks)\n- Easy to create async action and async generator action. (I think it's like redux-saga.)\n- Easy to test. (Only test a stateless implementation.)\n- TypeScript friendry. (Strict type checking.)\n\n## Steps to use\n\n1. Define `State`.\n   ```ts\n   type CounterState = { count: number };\n   ```\n2. Define `actions` that takes `State` as the first argument and returns `State`. `actions` can also be created on a [class-base](https://benishouga.github.io/tiny-context/).\n   ```ts\n   const actions = {\n     increment: (state: CounterState, amount: number) => ({ ...state, count: state.count + amount }),\n   };\n   ```\n3. Call `createTinyContext` to create `Provider` and `useContext` from `actions`. Specify the `State` and `actions` for the type argument.\n   ```ts\n   const { Provider, useContext } = createTinyContext<CounterState, typeof actions>(actions);\n   ```\n   (option) If you use the `actions` method, you only need to specify `State` type argument.\n   ```ts\n   const { Provider, useContext } = createTinyContext<CounterState>().actions(actions);\n   ```\n4. Can be used like the React Context API :)\n\n   ```tsx\n   const Buttons = () => {\n     const {\n       actions: { increment },\n     } = useContext();\n     return <button onClick={() => increment(1)}>+</button>;\n   };\n\n   const Display = () => {\n     const {\n       state: { count },\n     } = useContext();\n     return <span>{count}</span>;\n   };\n\n   const CounterApp = () => (\n     <Provider value={{ count: 0 }}>\n       <Buttons />\n       <Display />\n     </Provider>\n   );\n   ```\n\n## Examples\n\nClass-based actions, Async action, Async generator action, abortable request, and Todo App examples.<br>\nhttps://benishouga.github.io/tiny-context/\n\n## API\n\n### createTinyContext\n\nCreate Provider and useContext from Actions implementations. Actions implementation methods require the first argument to be `State` and the return value to be `State` (or [`Promise`, `Async Generator`](https://benishouga.github.io/tiny-context/)).\n\nSpecify the `State` and the `Actions` interface for the type argument.\n\n```ts\nimport { createTinyContext } from 'tiny-context';\n\ntype CounterState = { count: number; };\nclass CounterActions {\n  increment: (state: CounterState, amount: number) => ({ ...state, count: state.count + amount })\n  decrement: (state: CounterState, amount: number) => ({ ...state, count: state.count - amount })\n}\nconst { Provider, useContext } = createTinyContext<CounterState, CounterActions>(new CounterActions());\n```\n\nIf the `actions` method is used, the type argument of `Actions` can be omitted.\n\n```ts\nconst { Provider, useContext } = createTinyContext<CounterState>().actions(new CounterActions());\n```\n\n`Provider` is same as [`Provider of React`](https://reactjs.org/docs/context.html#contextprovider).\n\nSupply an initial value for `value`.\n\n```tsx\nconst SomeApp = () => (\n  <Provider value={{ count: 0 }}>\n    <SomeConsumer />\n  </Provider>\n);\n```\n\n`useContext` is hooks used on a consumer. Not need arguments. You will get an object of `{ state: {...}, acitons: {...} }`.\n\nFunction arguments are inherited from the second and subsequent arguments of the previously defined Action. The return value is a uniform `Promise<State>`.\n\n```tsx\nconst SomeConsumer = () => {\n  const {\n    state: {...},\n    actions: {...}\n  } = useContext();\n\n};\n```\n\n### class Store<S, A>\n\nClass for managing the `State`. ([`createTinyContext`](https://github.com/benishouga/tiny-context#createTinyContext) uses this.)\n\nGiven a `State` and `Actions` to change `State`, `Actions` are sequenced to prevent invalid `State`.\n\n- **S** `State` to managed.\n- **A** `Actions` to change `State`. `Actions` implementation methods require the first argument to be `State` and the return value to be `State` (or [`Promise`, `Async Generator`](https://benishouga.github.io/tiny-context/)).\n\n#### constructor(state, impl)\n\n- **state** Initial `State`.\n- **impl** `Actions` to change `State`.\n\n```ts\ntype State = { count: number };\nconst store = new Store(\n  { count: 0 },\n  { increment: (state: State, amount: number) => ({ count: state.count + amount }) }\n);\nconst { increment } = store.actions;\nawait increment(1);\nconst { count } = store.state;\nconsole.log(count); // => 1\n```\n\n#### readonly state\n\nCurrent `State`.\n\n#### readonly actions\n\n`Actions` to change `State`.\n\nFunction arguments are inherited from the second and subsequent arguments of the previously defined Action. The return value is a uniform `Promise<State>`.\n\n#### onChanged(listener)\n\nAdds a change listener.\n\n## Limitation\n\n- Any action in the same context is executed sequentially.\n  - When processing in parallel, process them together outside the context or within the context.\n\n## Contributions\n\nI make heavy use of Google Translate. Please tell me if my English is wrong :)\n\n## Lisence\n\nMIT License\n","readmeFilename":"README.md"}