{"_id":"vue-composable","_rev":"94-10833e23d4aa642ad4c14ae067b99570","name":"vue-composable","dist-tags":{"latest":"1.0.0-beta.24","next":"1.0.0-alpha.37"},"versions":{"0.1.0":{"name":"vue-composable","version":"0.1.0","description":"Vue composition-api composable components","main":"index.js","author":{"name":"pikax","email":"carlos@hypermob.co.uk"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"module":"dist/vue-composable.es.js","typings":"dist/index.d.ts","private":false,"scripts":{"prebuild":"rimraf dist","build":"rollup -c rollup.config.js","start":"rollup -c rollup.config.js -w","test":"jest --coverage","test:watch":"jest --coverage --watch","test:prod":"npm run lint && npm run test -- --no-cache"},"bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable/blob/master/readme.md","peerDependencies":{"@vue/composition-api":"^0.3.2","vue":"^2.6.10"},"devDependencies":{"@types/jest":"^24.0.19","@types/node":"^12.11.5","@vue/composition-api":"^0.3.2","coveralls":"^3.0.7","jest":"^24.9.0","jest-junit":"^9.0.0","lodash.camelcase":"^4.3.0","rimraf":"^3.0.0","rollup":"^1.25.2","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-json":"^4.0.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","rollup-plugin-sourcemaps":"^0.4.2","rollup-plugin-terser":"^5.1.2","rollup-plugin-typescript2":"^0.24.3","ts-jest":"^24.1.0","typescript":"^3.6.4","vue":"^2.6.10"},"gitHead":"41a6d44bcf8c4e1e7980614cec4acb19c9f83856","_id":"vue-composable@0.1.0","_npmVersion":"6.4.1","_nodeVersion":"8.16.1","_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"dist":{"integrity":"sha512-PQz9M07gI9N63EFnXTDEwoNPOQUGkudLLUoaG5mPPNNjpEpDm6kggdh9JI6+FHzHaTfCc0rJXAioPcXWwh3WcA==","shasum":"cc66f69ce42f5c13d84fe0352c6bd7bce3dfc2fc","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-0.1.0.tgz","fileCount":26,"unpackedSize":100283,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdsFj9CRA9TVsSAnZWagAAh1QP/0GzHb8jkaWMAQxsmPeY\nbtmgzLejqp2Tj81PbcWRXmwNuYtTL82STtrznHsNgHwiCNUqGNi3jRJX5Cwa\nd4VgfFLvgmw1HBv9rN4xUTozk7+dLNbCT655ptyExJDlKQHJxdNsYIHr2tQV\nEz7VT1l7rjbmLLJGyM7itOqkfGC0o+kyCIiw5NsBC1ggIwywTiUIs3AABTmP\nAipf100KBIXgKFfUs7JaJ/e9Og6AtsYniAFjr06xozZQ5GusjF6cusHU+IAY\n/+zwuFYyF+TdgtJ37b8quw7b+FUi7+3PYvPlY1oPIIrEgm36iOIaG6FPjJIx\nPsT6wxUceZfHGrqTkWFbDv5WxjoP5mFxXLZzq9uguXJoLAYkmQoPDNH3popT\nLk9R+EfxgKMhUZNEEZC+LRRHkWWHuICFULp09aK9eXodD+8Ebbo/4rSp8uaV\n24nxm9vmHoz2uf8AUTBg9/wosxsh2eGmIgTn3k9rkKg3j3XCzXR+yyE2wz95\nbfRnCCNGQtASJzTsWhFFW0OBTYoTOO8fiSBa3v+CMMjjVR4MTV5oC0s5Sjn3\nvDQkrPvSCjkS9ldirYPrLfSLWvOz8rmO4hBFR0gXnq4Ul5Csa10qgrU8TJX3\niPEwv/AOgNj2YUo35nTuUUlnPfhP6Rm6FBGUDuXi7tvhfz3iMvH9kKLENNIE\nxIHA\r\n=Grby\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDAckRwYwck76iJdRAgWLsE1GwEjbtTg7nrbugSodQfaAiAkyT07XeRLQUsJBw3dZKDBL52XVAZwDWlRz6UIT3Lb1A=="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_0.1.0_1571838204579_0.6945060593746955"},"_hasShrinkwrap":false},"0.2.0":{"name":"vue-composable","version":"0.2.0","description":"Vue composition-api composable components","main":"index.js","author":{"name":"pikax","email":"carlos@hypermob.co.uk"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"module":"dist/vue-composable.es.js","typings":"dist/index.d.ts","private":false,"scripts":{"prebuild":"rimraf dist","build":"rollup -c rollup.config.js","start":"rollup -c rollup.config.js -w","test":"jest --coverage","test:watch":"jest --coverage --watch","test:prod":"npm run lint && npm run test -- --no-cache","docs:dev":"vuepress dev docs","docs:build":"vuepress build docs"},"bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable/blob/master/readme.md","peerDependencies":{"@vue/composition-api":"^0.3.2","vue":"^2.6.10"},"devDependencies":{"@types/jest":"^24.0.19","@types/node":"^12.11.5","@vue/composition-api":"^0.3.2","@vuepress/plugin-back-to-top":"^1.2.0","@vuepress/plugin-pwa":"^1.2.0","axios":"^0.19.0","coveralls":"^3.0.7","jest":"^24.9.0","jest-junit":"^9.0.0","jest-websocket-mock":"^1.5.1","lodash.camelcase":"^4.3.0","mock-socket":"^9.0.2","rimraf":"^3.0.0","rollup":"^1.25.2","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-json":"^4.0.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","rollup-plugin-sourcemaps":"^0.4.2","rollup-plugin-terser":"^5.1.2","rollup-plugin-typescript2":"^0.25.1","ts-jest":"^24.1.0","typescript":"^3.6.4","vue":"^2.6.10","vuepress":"^1.2.0"},"gitHead":"f177b2f27fe43d49ff7c721b8586b6f526998634","_id":"vue-composable@0.2.0","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-3lI8mcEuTVZcw8bqLlxlQ5hNj1F4n/YaGGTf/7GCdFGsNBUxINO1HZYDi6KKLJCoV/8rDzoBHgi+LuVXKCW57w==","shasum":"5fb6a8db1d1bd09d6dd44e09f0f67d7943bccac0","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-0.2.0.tgz","fileCount":25,"unpackedSize":104498,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdvm8fCRA9TVsSAnZWagAAoWwP/168I8yRaIt4CL+nppTZ\nR2F6uDABw3xoLtvdLqfB7nZ5qxCCsShtKOAhLUKu58BqPqO1gDtVvwyzIFvv\no6A1rs0m90glcyMfUoK5N/YAUMzQdZqAJgvyoT7JrDBq7zgN7TphZ8dmEmvX\nSskMRV25SM/xbg6Y+YOpl+3xWxvTBt1BXCAss5onH7Uuyxetw0ozP/tk8UBv\nAM2HVjVIqDPfeyqzuikire/rS5tZC6Htqjn+QPo4MjuwWr6RMiWbMJaxu/8v\nd2X69vuS5sQXHxxI4SgIVhdDQXxZn4JYvNoy1GPj+LkUnhhr5FPv43REeion\nqDuujpHng/vvqxb9PM43QDcLkGrdKGNLvDfGEBlUdE0HEzYn92RNR+9uyWHu\nMgUmwtp7nQQFlj4qREsPybc9hldxtWvc9Bk27wxnjriZBTrAv6hpetuxgfOk\nKzSUli0+wv8FxdogEDqOvaVXyn0jWmGDd7+F/ptvOdQ2qfB/W+qt6dWwEnD3\n13QQq825nJRzaJe4uBeJj05CjkkGLJVxcf0DpIrTIS36bZPuEg3+Vkuixw3K\nANYIJ4erYODakxCzTgKIUJNKwebPYAGx9CgEw7vhU7AwTkN4Pdre9QGnwUZ2\nSZHnfwlOvUxbPub/+UYm9gpco6QLY/iE2f+yF83k2ALpCNsn2dhCL2/8O9Ut\n7mMa\r\n=pH4G\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICPa3Ar2MUm1WSDSBEp9Q6lFKJv5ZJj8WiEpgZxmy560AiEA70eKccNXSpVmRlb9axzwWhL7ZZQsBwfAFzufGi/WJJM="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_0.2.0_1572761375039_0.07671084042064757"},"_hasShrinkwrap":false},"0.2.1":{"name":"vue-composable","version":"0.2.1","description":"Vue composition-api composable components","main":"index.js","author":{"name":"pikax","email":"carlos@hypermob.co.uk"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"module":"dist/vue-composable.es.js","typings":"dist/index.d.ts","private":false,"scripts":{"prebuild":"rimraf dist","build":"rollup -c rollup.config.js","start":"rollup -c rollup.config.js -w","test":"jest --coverage","test:watch":"jest --coverage --watch","test:prod":"npm run lint && npm run test -- --no-cache","docs:dev":"vuepress dev docs","docs:build":"vuepress build docs"},"bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable/blob/master/readme.md","peerDependencies":{"@vue/composition-api":"^0.3.2","axios":"^0.19.0","vue":"^2.6.10"},"devDependencies":{"@types/jest":"^24.0.19","@types/node":"^12.11.5","@vue/composition-api":"^0.3.2","@vuepress/plugin-back-to-top":"^1.2.0","@vuepress/plugin-pwa":"^1.2.0","axios":"^0.19.0","coveralls":"^3.0.7","jest":"^24.9.0","jest-junit":"^10.0.0","jest-websocket-mock":"^2.0.0","lodash.camelcase":"^4.3.0","mock-socket":"^9.0.2","rimraf":"^3.0.0","rollup":"^1.25.2","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-json":"^4.0.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","rollup-plugin-sourcemaps":"^0.4.2","rollup-plugin-terser":"^5.1.2","rollup-plugin-typescript2":"^0.25.1","ts-jest":"^24.1.0","typescript":"^3.6.4","vue":"^2.6.10","vuepress":"^1.2.0"},"licenseText":"MIT License\n\nCopyright (c) 2019 Carlos Rodrigues\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","_id":"vue-composable@0.2.1","dist":{"shasum":"862433bb1051946b6dc5bbe8edef39598dfd5c79","integrity":"sha512-7C/rgCgdHgS/lgRRYd27Hx2NhOSUdHwMDohZs8YUJhJiCy+ks12oPW5+Jrps2yrZ/UCv5b5kfYprMaS5s/XhWQ==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-0.2.1.tgz","fileCount":31,"unpackedSize":102274,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd79eVCRA9TVsSAnZWagAA0P4P/3SnfbuO581wzAiRdkS2\nD/oeSUaPZITrCAJiUFvVD0GXzE+k6i+Jhl5ftjOtk8EYGZ5VoQD9+5xE02x5\nGzw7F4IZnn/kC3m43KOhsagHbPyKTx62IyiejhyeXkGwAOUhWH8O78/E9D8j\npqXwSOMbUExdQjkkDQ7MKKoUwOYQgcxaBGVnhb02F5VInCtniVlO1qWk27Cp\nyghSNPmcFkEhztiIvGMFlGCVkjq4yqA2guDbzJp8RCF/00Y2M8LcYihzd3A5\nzAuQJ/16KLEjrZSkiagVucxgrNmfl+0eXpoF0LsbAMagHgLmoztw7EhHkmXV\nbBG3NBVALMxqvUPgo2Jj6tTd+MkjrhROAktTWk/qc8+9WVEynb2ampDxMld8\n/kg3sWhZ0u8kaL0aCfaTFKYV5UlTYTRQjynq54qvUzx9jIXMlmwnsep9g2C6\nXIQQgwmYTsWQHr0Ml5m+xChNdhRWq8ALAXrxWsa4ExFSVtQptzz7wRWwBRV3\nZl/Fg43IXyq/67ywq1Zn+IsTcb1yKM6fkt8WyJWXuzkOliljNQ4DMv3Nny/c\nDV/myrpUysU9jmYpupB3pqEdHXrlbXyJP9gmiGvAg2KMXaLDDf6BIY+MsrPD\n8VYiXxKU4+/cwEE5/gZV6tNOcbePdRDFj5n7fHG5JYFZpYzeGB1COhvKqbwO\nSqzn\r\n=3gLX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCqsMJDBn4eeblbA1azrS2bV4ZY26kR2SPLrAGLARX6SAIgD+otx6IT7/KgI7goGJwkY9bHoCtNC2C5uQ/GvwcIcic="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_0.2.1_1575999380674_0.5553196252529522"},"_hasShrinkwrap":false},"0.2.2":{"name":"vue-composable","version":"0.2.2","description":"Vue composition-api composable components","main":"index.js","author":{"name":"pikax","email":"carlos@hypermob.co.uk"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"module":"dist/vue-composable.es.js","typings":"dist/index.d.ts","private":false,"scripts":{"prebuild":"rimraf dist","build":"rollup -c rollup.config.js","start":"rollup -c rollup.config.js -w","test":"jest --coverage","test:watch":"jest --coverage --watch","test:prod":"npm run lint && npm run test -- --no-cache","docs:dev":"vuepress dev docs","docs:build":"vuepress build docs"},"bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable/blob/master/readme.md","peerDependencies":{"@vue/composition-api":"^0.3.2","axios":"^0.19.0","vue":"^2.6.10"},"devDependencies":{"@types/jest":"^24.0.19","@types/node":"^12.11.5","@vue/composition-api":"^0.3.2","@vuepress/plugin-back-to-top":"^1.2.0","@vuepress/plugin-pwa":"^1.2.0","axios":"^0.19.0","coveralls":"^3.0.7","jest":"^24.9.0","jest-junit":"^10.0.0","jest-websocket-mock":"^2.0.0","lodash.camelcase":"^4.3.0","mock-socket":"^9.0.2","rimraf":"^3.0.0","rollup":"^1.25.2","rollup-plugin-commonjs":"^10.1.0","rollup-plugin-json":"^4.0.0","rollup-plugin-node-resolve":"^5.2.0","rollup-plugin-replace":"^2.2.0","rollup-plugin-sourcemaps":"^0.4.2","rollup-plugin-terser":"^5.1.2","rollup-plugin-typescript2":"^0.25.1","ts-jest":"^24.1.0","typescript":"^3.6.4","vue":"^2.6.10","vuepress":"^1.2.0"},"gitHead":"5e09201f5d4f45ce0bfa1af06963b8646772ff62","_id":"vue-composable@0.2.2","_nodeVersion":"12.13.0","_npmVersion":"6.12.0","dist":{"integrity":"sha512-dKZfTjvGaExiW+aQvFYl0F+zzTzi0m0FLltsb3FdoSeQni0Od7luxS4lDQlGLvhJ/EzzoW0zTnOueDjwlJFznA==","shasum":"6d930a117167ddfab6f5245cc243b702ec547a12","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-0.2.2.tgz","fileCount":25,"unpackedSize":105590,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd79fqCRA9TVsSAnZWagAA0KAP/ioZT1oXVE5p4NTXUeep\ndFIchBU3JNWQloliMtiiyHLpY/JvVqRbT3KTeOoCClyPcPPlAeRwaec8HAXp\nhiZAbJOz/Ta+Pdcmiez6gFd+/YG1brY5nXrR4z3/3qumzz110RGqT76RxEYo\nc3ZOkihAYKBRYlAIbi6jm8MwnVQ0D+xAfUo/ePayeDr91rjmZFG/hn2UM2E9\n38IFpOpbKTwfC8KxWgOwsjkN3Nmgz7nN2+Nxu+FGPyiHbK0zETWRZ62nvesV\n3ey4FllTxlepTFP6+uTHn2brP36t/hmuf+nSQkdP11K3+Mm8clVlJ0+oVzR9\nb+njzs9Kx+RZ3qHH6A5G78e1WZ5lo/P73zE5EOv6j2ChhvBTrgePbkNIw0lN\n4n9Owr+tXxpOw0e5jid9ZCsG7QxtapiYDPaKv7tr+L78nBDtdREk83IYHuo/\nQS/EbcuwI9E+jqjFIj6M2vzTUSfqTEBHT5pT+N0NIDjgbksm+Fe8xtfg0/r/\nJxYRoeF8cqtej2cAjPH05vV2H+xiYj+MqrhsIzBEhWrMITZnMHQxDuUmoBMd\nYfMHHcie5SF4boRDMIfpJ4eoz1dW3fLx6fOW0l/9E2FgV6DRc3P3ba7/u/Q4\nETMzC1zdxchtx///7f9qFycphINyC0GmcnmJohMRu5ZZpoInJWbtU8EY4JVb\na8Yy\r\n=uoog\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEEMmDRk1FlKuJJmzHOY9785DRWHpCXlG9bqKHqVt0J9AiBtJqMLPMnfLhTlctftVfyYRslXzf48+JSLrSSYV9QmgA=="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_0.2.2_1575999466297_0.6562664096698869"},"_hasShrinkwrap":false},"1.0.0-dev.0":{"name":"vue-composable","version":"1.0.0-dev.0","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":100,"name":"vueComposable","formats":["esm-bundler","cjs","global","esm"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable","dependencies":{"@vue-composable/core":"^1.0.0-dev.0","@vue-composable/web":"^1.0.0-dev.0","@vue/composition-api":"^0.3.4","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-dev.0","dist":{"shasum":"460f4ea8625acde25b6659966abc71ed7b47c0c0","integrity":"sha512-uHXDU3yQn9t8izU6oRmJctEmB8dPzw3xIFQrv4T4i2IpfNyLZ3qv4AebZCHhjelzsUtRSDvIrNTdqoCgKAo/Ig==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.0.tgz","fileCount":12,"unpackedSize":31258,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd9KuuCRA9TVsSAnZWagAA5kMP/iwMUYjDOKdhjKToc2yw\nK/lH7r7v6XibIfOFs5xXUP7QcX1xByxdxJTVr1dO2B2ut3ZDS0m8LdvCSKp1\nBbkmN7xKNXtRppLqsToiKUkYpRGu1JnT/YmlUEEmh38hch2SiUqtIxjoZ4Sn\nOB1Uea+pnfnHwe21+N57ry6pvp9VuIdwKbhaFTe42U2uSc5FecQB+jMQ01uZ\nguha4OzNNBSXktmiiPU4AkR2J7qZFMpA6NqDOgxPE/3MH5X1E2wrhdzKs/RI\nO2FVQk/L02yNk1bZiVT0fYB538iIQ9YPy6CWuO9eymcW5bTLhUHeiqqKU1ri\nMxoPEPk46QhKE1oao/WE3yQlTWqVIQDcicbtlA9ovRiZRirlcbJYuWoOEUYl\n2drNyqqnsmRj7bsTGZpX+Nadz9l5tDeAR1MQsGZQA64Fi4wQBmb0c3MvSzgJ\nimUnMh2D2cK4L5qmTSpqQMVcrmyKRRt3aQj5ngjuY8LcFoBwWPMra2GuYt+C\nwXdzD6KvSUHfGLpVpOZY1a9C6ILsPHq0W4dcgq1lbIQ4ki2J1tPS8W6BFf4Y\nfoGhJb6fKGJWiNd6cihxOJpA0cEhCcqzilVvYObI2sRLv0Lch/DqeLaWaftE\neD1yyEcSlZBSPqEspPMN5PC3QZtyI6S/OOx+9vRXbKtJ4UtnMu7odmNhSeJ+\nGkJG\r\n=LNmy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDIXA/o9CCmsRKkkqIGCLVEcuB2Pyn7g60/J0ASnGHkVAiEA7uXG7K7dIRu3KtDdFMFMii+DtQ7z4x/X6CW92DATSdQ="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.0_1576315821767_0.08261690566883395"},"_hasShrinkwrap":false},"1.0.0-dev.1":{"name":"vue-composable","version":"1.0.0-dev.1","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":100,"name":"vueComposable","formats":["esm-bundler","cjs","global","esm"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable","dependencies":{"@vue-composable/core":"^1.0.0-dev.0","@vue-composable/web":"^1.0.0-dev.0","@vue/composition-api":"^0.3.4","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-dev.1","dist":{"shasum":"3b29eb31be4804b956d6e139f5ecff143a880f3d","integrity":"sha512-5umzTKAX0RdKFFddDQiPzwGGrN4U1oxIGt8g33FO7gsOLG6gkG8xKI0H6nJfHq34dPKHtYsgbaDZfMD99kJgzQ==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.1.tgz","fileCount":12,"unpackedSize":31258,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd9LFiCRA9TVsSAnZWagAAMHIP/2CwH1H//nR4oER8pvOt\nXYCLaZtDpWPWEMnBFO6IEftNZU9RydWYgtcYCNbrSGgMYHde4q5CGQpXkS7M\ngjvihDaqcvBwweJm2FoKSjwbveUx+01kKKW5hVR4ND6ghFtkKjdEhEYnX4+7\naGOdrywngNdEcsFfXx3SSfE+aIPmG2Say2IVBemy+nxhVuyrah/irC8mQ1b0\nLDowu61UsykfznuJ4RPjeSAqaA78AXuyAaE5EvsPdooJ75eXvlBoy/uY+ago\n6+3AJmyguk05ii2rAbTkxnf2twXfwA+YnYIQmun3u+NUZl5QzaK/XLGAliZI\nEi31Mke96xCLnUQj1imT1zk0xm2u2Ua7zebkASoxkAYzbfJTn9Z03RxnB7+/\nXvslMlorgoNSE6OPbTQA7JdKFZEzUQF+52hhbnsg36QWd6M3SjldQNe/6SBt\nhXxLIX7zEUHrLUB1bbmXEJp/s4v8bCxv09IXI+Gr7oS3j7xM3iW/PDNrX9F9\nuprEa/6P4p8aJd9RQW985gSM45xfYMMttLM/GP93zrmdhSqTjTcODwXXECd4\niAod9CocnRpabXHrYCRT0fXf6vy189BUGU80MqW1gW4kil1Gau4IoTKDStoY\n8lZBtuXnU21d0mAxs2/G5vVsgaSpPcpmvqhcSxqh5/wLxWdllMKrGnKJwTt4\nXDu5\r\n=wfpI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCplprvjOXvJhf9PLv8bFz+zER3HHjuZgRpNXWSx3w8IwIgB6BMg3IdqDEKKknRQjazHvjMC867pOGsJ/l3z8jzLL0="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.1_1576317282308_0.2562240701758216"},"_hasShrinkwrap":false},"1.0.0-dev.2":{"name":"vue-composable","version":"1.0.0-dev.2","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":100,"name":"vueComposable","formats":["esm-bundler","cjs","global","esm"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable","peerDependencies":{"@vue-composable/core":"^1.0.0-dev.2","@vue-composable/web":"^1.0.0-dev.2","@vue/composition-api":"^0.3.4","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-dev.2","dist":{"shasum":"7f16a111a4ff65c3191f384fb57e32cbafeaceb1","integrity":"sha512-8tl6aGRSZe8UJLCEyMA+ms36ZbCtHTA+yGSr83Nw93g9A2h62RJ+cCFOOU4G8h6JW0XaGDUbzw/TB1zdYIQFeA==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.2.tgz","fileCount":13,"unpackedSize":43259,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeB048CRA9TVsSAnZWagAA0YAP/084lVx2Y6pKYGU05FAG\n2Qr4zT+GbQ/iox6XCUetazt+BwXFiVanMeK9a2IZBHJrZ9YlsMkOBdjuHetm\ngOqHTcup2N8+62Nzy67dL/GMvqhPYSwAIL45uXTFYNgMsQi0pRBblR0XA674\n6bcdP52il0ydRKG4w/2jiuEkwioSH9qDiRp3QjOrWtnodwoBUpeb0VUG9hzT\nNwe8d3mB//WFWKxSwtMyNpwDXVkRxH4y34WXrJYm36nrmoDlwmsquzFmO+TJ\nB/PqeW20rXlWnja78Zj0yjZ43nnsaZInfo0B6cdrraUHlebYhKODO6l8+Wbf\nktDwvj4Dcv1tydu1Iz38O5YmoB+s+IWwJgIXCMIvwTxeD7/ECyGzRvyUFf6Z\nwothtcOt/rkWjLx+6oChzVgLJqgbx/ocEYJgE1U428fu08XC98R6EUZPNBrA\nS3OD8Tp9LjHYX7cYWigO+J4AbRTSRDNZKrLfw/cH1re0PgM8+EO7IvNUr8PR\nJiAGh1q/H3HtB2VAvC2obM3Jm19rNs62F1i3+uTr4WFIJ9RbXZpMQ7alDJe/\npAMuFaObADcRWwIge6TNOvdU9Mlz1z9Rtj7Gyb1JQGFwy6d8WUvX2NxR+2Gd\n+/10e0Y4nMxr4SbbIMMbH1bzjlUeTJO8oyHDzOcb6oJQm70yl/8BF5ZmpO2n\n06wq\r\n=p/Wl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcmCOHMy08rjcnJjDpu8Fmc90CK9fRmk81BJvFUSYwEwIhANsez1AVPkK0+tasIYg9C1B8o1lXIkxRpgwiYMGFgnHr"}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.2_1577537084325_0.2141633845209785"},"_hasShrinkwrap":false},"1.0.0-alpha.0":{"name":"vue-composable","version":"1.0.0-alpha.0","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":100,"name":"vueComposable","formats":["esm-bundler","cjs","global","esm"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable","dependencies":{"@vue-composable/core":"^1.0.0-dev.2","@vue-composable/web":"^1.0.0-dev.2"},"peerDependencies":{"@vue/runtime-core":"^3.0.0-alpha.0"},"readmeFilename":"README.md","readme":"# vue-composable\n\n[![CircleCI](https://circleci.com/gh/pikax/vue-composable.svg?style=svg)](https://circleci.com/gh/pikax/vue-composable)\n[![Coverage Status](https://coveralls.io/repos/github/pikax/vue-composable/badge.svg?branch=master)](https://coveralls.io/github/pikax/vue-composable?branch=master)\n[![npm version](https://badge.fury.io/js/vue-composable.svg)](https://badge.fury.io/js/vue-composable)\n\n# Vue 3\n\nThis version is `alpha` with support for the vue3 ([vue-next](https://github.com/vuejs/vue-next))\n\n> Check webpack [vue3 example](https://github.com/pikax/vue-composable/tree/vue3/examples/vue-next-webpack-preview-master)\n\n## Introduction\n\n`vue-composable` is out-of-box ready to use the brand new [Vue 3](https://github.com/vuejs/vue-next) [composition-api](https://vue-composition-api-rfc.netlify.com/) generic components.\n\n100% typescript based composable components and full type support out-of-box.\n\n## Installing\n\n```bash\n# install with yarn\nyarn add @vue/composition-api vue-composable\n\n# install with npm\nnpm install @vue/composition-api vue-composable\n```\n\n## Documentation\n> NOTE documentation might be slightly wrong, because it was built for the v2\n\nCheck our [documentation](https://pikax.me/vue-composable/)\n\n### Event\n\n- [Event](https://pikax.me/vue-composable/composable/event/event) - Attach event listener to a DOM element\n- [Mouse Move](https://pikax.me/vue-composable/composable/event/onMoveMove) - Attach `mousemove` listener to a DOM element\n- [Resize](https://pikax.me/vue-composable/composable/event/onResize) - Attach `resize` listener to a DOM element\n- [Scroll](https://pikax.me/vue-composable/composable/event/onScroll) - Attach `scroll` listener to a DOM element\n\n### MISC\n\n- [localStorage](https://pikax.me/vue-composable/composable/misc/localStorage) - Reactive access to a `localStorage`\n- [matchMedia](https://pikax.me/vue-composable/composable/misc/matchMedia) - Reactive `matchMedia`\n- [breakpoint](https://pikax.me/vue-composable/composable/misc/breakpoint) - reactive `breakpoints` based on `window.innerWidth`\n\n### Pagination\n\n- [Pagination](https://pikax.me/vue-composable/composable/pagination/pagination) - Generic reactive pagination controls\n- [Array Pagination](https://pikax.me/vue-composable/composable/pagination/arrayPagination) - Array pagination\n\n### Promise\n\n- [Promise](https://pikax.me/vue-composable/composable/promise/promise) - `Promise` reactive resolve and reject\n- [Cancellable Promise](https://pikax.me/vue-composable/composable/promise/cancellablePromise) - Allow to cancel promises\n- [Retry](https://pikax.me/vue-composable/composable/promise/retry) - Provides functionality to retry `promise`\n\n### Web\n\n- [Fetch](https://pikax.me/vue-composable/composable/web/fetch) - reactive `fetch` wrapper\n- [WebSocket](https://pikax.me/vue-composable/composable/web/webSocket) - reactive `WebSocket` wrapper\n- [IntersectionObserver](https://pikax.me/vue-composable/composable/web/intersectionObserver) - reactive `IntersectionObserver`\n\n### External\n\n> New packages needed\n\n- [Axios](https://pikax.me/vue-composable/composable/external/axios) - [@vue-composable/axios](https://www.npmjs.com/package/@vue-composable/axios) reactive `axios` wrapper client\n\n## Examples\n\nCheck out the [examples folder](examples) or start hacking on [codesandbox](https://codesandbox.io/s/vue-composable-examples-yuusf).\n\n[![Edit Vue Composable Examples](https://codesandbox.io/static/img/play-codesandbox.svg)](https://codesandbox.io/s/vue-template-yuusf?fontsize=14)\n\n### NOTE\n\nCurrently only works with [composition-api](https://github.com/vuejs/composition-api), when [Vue3](https://github.com/vuejs/vue-next) gets release I will update to use the new reactive system (using [@vue/reactivity](https://github.com/vuejs/vue-next/tree/master/packages/reactivity))\n\n## Usage\n\n```vue\n<template>\n  <div>\n    <p>page {{ currentPage }} of {{ lastPage }}</p>\n    <p>\n      <button @click=\"prev\">prev</button>\n      <button @click=\"next\">next</button>\n    </p>\n    <ul>\n      <li v-for=\"n in result\" :key=\"n\">\n        {{ n }}\n      </li>\n    </ul>\n  </div>\n</template>\n\n<script>\nimport { useArrayPagination } from \"vue-composable\";\n\nexport default {\n  setup() {\n    const array = new Array(1000).fill(0).map((_, i) => i);\n    const { result, next, prev, currentPage, lastPage } = useArrayPagination(\n      array,\n      {\n        pageSize: 3\n      }\n    );\n\n    return { result, next, prev, currentPage, lastPage };\n  }\n};\n</script>\n```\n\n## Contributing\n\n1. Fork it!\n2. Create your feature branch: `git checkout -b feat/new-composable`\n3. Commit your changes: `git commit -am 'feat(composable): add a new composable'`\n4. Push to the branch: `git push origin feat/new-composable`\n5. Submit a pull request\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n","_id":"vue-composable@1.0.0-alpha.0","dist":{"shasum":"41023d742955211250924436337330e0b5e17d5a","integrity":"sha512-WIivnd49x63bOIc7hx3a42mmJIgmA1mZj1ue6G41SXUsIxmHTba31a16mAgDl74to1OXT/4+Nsdv5082b10oXQ==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-alpha.0.tgz","fileCount":13,"unpackedSize":74952,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFEQiCRA9TVsSAnZWagAAXJIP/A8juhpbB6os+51DOxOR\nip1/SvWMem9gbp7a2/xJwGes08cyk0EWb8hSK5IK1b/jHJgWzGgSbw85Tocw\nSf0SNYLT5FJtYZe5ajWypzuE8qu3K9RrYOfW2wTBL4IWCFyFdPTPdCI6NgDI\n83AbSlmuD/E3YPma5WbNZYG6WKL5c7H0gS1Y9u4U4YaGTijXvu0/JsKabD4U\nL3dLGx4beFIZjBx4F3vYGaCJRo56ETR1O9B/RIm1+2Rzv8AVcJ1gFUvLEevX\nS+C2GwbLXrbAwTXSeZAe2R2GJH1T78Vyr2avVMJJhpJwG2utyx8l8yk88nCE\nBFN+7LlJn6Y+Xx+xBDlTgfSeeiYkjuxBCnq08k+JdAqirubtJ4BqT2NJfgoS\n8+d1b/pBkSHqX27TiTh9a3X/GdKYWvlbTU17Qu3iHUrUNTovNKUfP1cJjmy3\nJdWm8TktrPxYEfRnLwVRfguqORvvQLfEifO0enhOh5i6DYF4KjPL/DJqTbNw\nhtv9bkTsJBJFnH6TEXV3Jej8QGFwJ6BvM8MbbrgbweXsct8DtFHMf3VrPZ4J\nfvKwxDgHGEb2PH7YMxMxvv30NVPbY3rDIeySjvux3mim73eQ392PRdG++0eZ\ncLawrlYL5Sf2W8wKtRbNItWCpskQsLzP2Gbr1j2F+zSvmAIo5tefJLPeWt0r\nlpkl\r\n=48ih\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICwJgERTMd+poLcFl/Eo2ieojX/pYQAy0CftYyCZK0p7AiAtI0I8XuvGoyZv+P2lXc+GWSDUIgKLQgKQH7ZBg1o2FA=="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-alpha.0_1578386466416_0.17139126591052323"},"_hasShrinkwrap":false},"1.0.0-alpha.1":{"name":"vue-composable","version":"1.0.0-alpha.1","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":100,"name":"vueComposable","formats":["esm-bundler","cjs","global","esm"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable","dependencies":{"@vue-composable/core":"^1.0.0-alpha.1","@vue-composable/web":"^1.0.0-alpha.1"},"peerDependencies":{"@vue/runtime-core":"^3.0.0-alpha.0"},"readmeFilename":"README.md","readme":"# vue-composable\n\n[![CircleCI](https://circleci.com/gh/pikax/vue-composable.svg?style=svg)](https://circleci.com/gh/pikax/vue-composable)\n[![Coverage Status](https://coveralls.io/repos/github/pikax/vue-composable/badge.svg?branch=master)](https://coveralls.io/github/pikax/vue-composable?branch=master)\n[![npm version](https://badge.fury.io/js/vue-composable.svg)](https://badge.fury.io/js/vue-composable)\n\n# Vue 3\n\nThis version is `alpha` with support for the vue3 ([vue-next](https://github.com/vuejs/vue-next))\n\n> Check webpack [vue3 example](https://github.com/pikax/vue-composable/tree/vue3/examples/vue-next-webpack-preview-master) or [CodeSandbox](https://codesandbox.io/s/vue-composable-next-6m5et)\n\n## Introduction\n\n`vue-composable` is out-of-box ready to use the brand new [Vue 3](https://github.com/vuejs/vue-next) [composition-api](https://vue-composition-api-rfc.netlify.com/) generic components.\n\n100% typescript based composable components and full type support out-of-box.\n\n## Installing\n\n```bash\n# install with yarn\nyarn add @vue/composition-api vue-composable\n\n# install with npm\nnpm install @vue/composition-api vue-composable\n```\n\n## Documentation\n> NOTE documentation might be slightly wrong, because it was built for the v2\n\nCheck our [documentation](https://pikax.me/vue-composable/)\n\n### Event\n\n- [Event](https://pikax.me/vue-composable/composable/event/event) - Attach event listener to a DOM element\n- [Mouse Move](https://pikax.me/vue-composable/composable/event/onMoveMove) - Attach `mousemove` listener to a DOM element\n- [Resize](https://pikax.me/vue-composable/composable/event/onResize) - Attach `resize` listener to a DOM element\n- [Scroll](https://pikax.me/vue-composable/composable/event/onScroll) - Attach `scroll` listener to a DOM element\n\n### MISC\n\n- [localStorage](https://pikax.me/vue-composable/composable/misc/localStorage) - Reactive access to a `localStorage`\n- [matchMedia](https://pikax.me/vue-composable/composable/misc/matchMedia) - Reactive `matchMedia`\n- [breakpoint](https://pikax.me/vue-composable/composable/misc/breakpoint) - reactive `breakpoints` based on `window.innerWidth`\n\n### Pagination\n\n- [Pagination](https://pikax.me/vue-composable/composable/pagination/pagination) - Generic reactive pagination controls\n- [Array Pagination](https://pikax.me/vue-composable/composable/pagination/arrayPagination) - Array pagination\n\n### Promise\n\n- [Promise](https://pikax.me/vue-composable/composable/promise/promise) - `Promise` reactive resolve and reject\n- [Cancellable Promise](https://pikax.me/vue-composable/composable/promise/cancellablePromise) - Allow to cancel promises\n- [Retry](https://pikax.me/vue-composable/composable/promise/retry) - Provides functionality to retry `promise`\n\n### Web\n\n- [Fetch](https://pikax.me/vue-composable/composable/web/fetch) - reactive `fetch` wrapper\n- [WebSocket](https://pikax.me/vue-composable/composable/web/webSocket) - reactive `WebSocket` wrapper\n- [IntersectionObserver](https://pikax.me/vue-composable/composable/web/intersectionObserver) - reactive `IntersectionObserver`\n\n### External\n\n> New packages needed\n\n- [Axios](https://pikax.me/vue-composable/composable/external/axios) - [@vue-composable/axios](https://www.npmjs.com/package/@vue-composable/axios) reactive `axios` wrapper client\n\n## Examples\n\nCheck out the [examples folder](examples) or start hacking on [codesandbox](https://codesandbox.io/s/vue-composable-examples-yuusf).\n\n[![Edit Vue Composable Examples](https://codesandbox.io/static/img/play-codesandbox.svg)](https://codesandbox.io/s/vue-template-yuusf?fontsize=14)\n\n### NOTE\n\nCurrently only works with [composition-api](https://github.com/vuejs/composition-api), when [Vue3](https://github.com/vuejs/vue-next) gets release I will update to use the new reactive system (using [@vue/reactivity](https://github.com/vuejs/vue-next/tree/master/packages/reactivity))\n\n## Usage\n\n```vue\n<template>\n  <div>\n    <p>page {{ currentPage }} of {{ lastPage }}</p>\n    <p>\n      <button @click=\"prev\">prev</button>\n      <button @click=\"next\">next</button>\n    </p>\n    <ul>\n      <li v-for=\"n in result\" :key=\"n\">\n        {{ n }}\n      </li>\n    </ul>\n  </div>\n</template>\n\n<script>\nimport { useArrayPagination } from \"vue-composable\";\n\nexport default {\n  setup() {\n    const array = new Array(1000).fill(0).map((_, i) => i);\n    const { result, next, prev, currentPage, lastPage } = useArrayPagination(\n      array,\n      {\n        pageSize: 3\n      }\n    );\n\n    return { result, next, prev, currentPage, lastPage };\n  }\n};\n</script>\n```\n\n## Contributing\n\n1. Fork it!\n2. Create your feature branch: `git checkout -b feat/new-composable`\n3. Commit your changes: `git commit -am 'feat(composable): add a new composable'`\n4. Push to the branch: `git push origin feat/new-composable`\n5. Submit a pull request\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n","_id":"vue-composable@1.0.0-alpha.1","dist":{"shasum":"852e768f4318175ce4097ae0c5111746f20f17c3","integrity":"sha512-bpy60NMD5945qJE5qtEHXSOVuan5g2/sLzSFSJMqsVrt8XDbcpUSvXHEz/IlVVSRf1hMvzAfPR4g1t5yYfaloQ==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-alpha.1.tgz","fileCount":13,"unpackedSize":75025,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFEY+CRA9TVsSAnZWagAATUQQAJqCqlBgaOqUOKzEY68O\n1+LAPNt4gpaS9jLmgnt6lt0fLGXb0lcCtvUXWzs8Uvgr8hgLR2WsFO7mpWwS\n63mv5ZBtsvoqHuEBa7JCFMs1bk+3b7HAmXdfFtgqxl7M790wAhYmhUCZeBaE\nQ7k9sRqRpAwB+KtFj2qVM7kQIK7m45FsJMpNi8wiVyG8G3kA9yrrwDk2FpmD\nIR6bmL2V3LHxLAuPFfLpBxEpd0dXYD3qDvle2Cg6TfPbPAvgLi7WwTtDxi1Z\nqk7ip4EJgzmcpIY6afC03mYIWfCTlP4Ma3qVW1ZL92VH8JAtTdzlaRsxiXUJ\nRaY1quKFnqxtaNNFPL40mmO2X4eIHMMfhHpHhKkEphR4egpDDCRAmjgX/xuV\ni8gYjgR85QQ/CDQ76EFf6eCJmritxml+I89CaBpAs7cKdU/s0f42CMPr3kDH\nMYdVv+2BpkxWItGL2cFzBFxEoJhG43e+lDWVdaNmJYnzqzwduMzZB52R2eJq\nqZBxl0AHp6M4fL6KDMBe1mef9dUq16zZCRkLgiBXlPJYD71BJHSFecJG+adW\nqeue1aiDlpOYR8lhJ+kxCPw8ztN+DEJ7v7QByd5y6ZD0r/gFdkK8gp26MRjv\n7Uhg+4J4El7zt1ZtsiLy7x2GHax25hqOk6M9zR2PwzOxD1jo2/8A1+A6C9ed\nzmEN\r\n=p0+b\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHoEJ+vI7vjUcNOTkirZfhY0onA+oBaDpLPwZlPnNx9vAiAO7iMSSSpg03gy5Y/1grptvSV+j8/l0bVK+D3MAKy9+w=="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-alpha.1_1578387005258_0.6212402133487454"},"_hasShrinkwrap":false},"1.0.0-alpha.2":{"name":"vue-composable","version":"1.0.0-alpha.2","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":100,"name":"vueComposable","formats":["esm-bundler","cjs","global","esm"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable","dependencies":{"@vue-composable/core":"1.0.0-alpha.","@vue-composable/web":"1.0.0-alpha.1"},"peerDependencies":{"@vue/runtime-core":"^3.0.0-alpha.0"},"readmeFilename":"README.md","readme":"# vue-composable\n\n[![CircleCI](https://circleci.com/gh/pikax/vue-composable.svg?style=svg)](https://circleci.com/gh/pikax/vue-composable)\n[![Coverage Status](https://coveralls.io/repos/github/pikax/vue-composable/badge.svg?branch=master)](https://coveralls.io/github/pikax/vue-composable?branch=master)\n[![npm version](https://badge.fury.io/js/vue-composable.svg)](https://badge.fury.io/js/vue-composable)\n\n# Vue 3\n\nThis version is `alpha` with support for the vue3 ([vue-next](https://github.com/vuejs/vue-next))\n\n> Check webpack [vue3 example](https://github.com/pikax/vue-composable/tree/vue3/examples/vue-next-webpack-preview-master) or [CodeSandbox](https://codesandbox.io/s/vue-composable-next-6m5et)\n\n## Introduction\n\n`vue-composable` is out-of-box ready to use the brand new [Vue 3](https://github.com/vuejs/vue-next) [composition-api](https://vue-composition-api-rfc.netlify.com/) generic components.\n\n100% typescript based composable components and full type support out-of-box.\n\n## Installing\n\n```bash\n# install with yarn\nyarn add @vue/composition-api vue-composable\n\n# install with npm\nnpm install @vue/composition-api vue-composable\n```\n\n## Documentation\n> NOTE documentation might be slightly wrong, because it was built for the v2\n\nCheck our [documentation](https://pikax.me/vue-composable/)\n\n### Event\n\n- [Event](https://pikax.me/vue-composable/composable/event/event) - Attach event listener to a DOM element\n- [Mouse Move](https://pikax.me/vue-composable/composable/event/onMoveMove) - Attach `mousemove` listener to a DOM element\n- [Resize](https://pikax.me/vue-composable/composable/event/onResize) - Attach `resize` listener to a DOM element\n- [Scroll](https://pikax.me/vue-composable/composable/event/onScroll) - Attach `scroll` listener to a DOM element\n\n### MISC\n\n- [localStorage](https://pikax.me/vue-composable/composable/misc/localStorage) - Reactive access to a `localStorage`\n- [matchMedia](https://pikax.me/vue-composable/composable/misc/matchMedia) - Reactive `matchMedia`\n- [breakpoint](https://pikax.me/vue-composable/composable/misc/breakpoint) - reactive `breakpoints` based on `window.innerWidth`\n\n### Pagination\n\n- [Pagination](https://pikax.me/vue-composable/composable/pagination/pagination) - Generic reactive pagination controls\n- [Array Pagination](https://pikax.me/vue-composable/composable/pagination/arrayPagination) - Array pagination\n\n### Promise\n\n- [Promise](https://pikax.me/vue-composable/composable/promise/promise) - `Promise` reactive resolve and reject\n- [Cancellable Promise](https://pikax.me/vue-composable/composable/promise/cancellablePromise) - Allow to cancel promises\n- [Retry](https://pikax.me/vue-composable/composable/promise/retry) - Provides functionality to retry `promise`\n\n### Web\n\n- [Fetch](https://pikax.me/vue-composable/composable/web/fetch) - reactive `fetch` wrapper\n- [WebSocket](https://pikax.me/vue-composable/composable/web/webSocket) - reactive `WebSocket` wrapper\n- [IntersectionObserver](https://pikax.me/vue-composable/composable/web/intersectionObserver) - reactive `IntersectionObserver`\n\n### External\n\n> New packages needed\n\n- [Axios](https://pikax.me/vue-composable/composable/external/axios) - [@vue-composable/axios](https://www.npmjs.com/package/@vue-composable/axios) reactive `axios` wrapper client\n\n## Examples\n\nCheck out the [examples folder](examples) or start hacking on [codesandbox](https://codesandbox.io/s/vue-composable-examples-yuusf).\n\n[![Edit Vue Composable Examples](https://codesandbox.io/static/img/play-codesandbox.svg)](https://codesandbox.io/s/vue-template-yuusf?fontsize=14)\n\n### NOTE\n\nCurrently only works with [composition-api](https://github.com/vuejs/composition-api), when [Vue3](https://github.com/vuejs/vue-next) gets release I will update to use the new reactive system (using [@vue/reactivity](https://github.com/vuejs/vue-next/tree/master/packages/reactivity))\n\n## Usage\n\n```vue\n<template>\n  <div>\n    <p>page {{ currentPage }} of {{ lastPage }}</p>\n    <p>\n      <button @click=\"prev\">prev</button>\n      <button @click=\"next\">next</button>\n    </p>\n    <ul>\n      <li v-for=\"n in result\" :key=\"n\">\n        {{ n }}\n      </li>\n    </ul>\n  </div>\n</template>\n\n<script>\nimport { useArrayPagination } from \"vue-composable\";\n\nexport default {\n  setup() {\n    const array = new Array(1000).fill(0).map((_, i) => i);\n    const { result, next, prev, currentPage, lastPage } = useArrayPagination(\n      array,\n      {\n        pageSize: 3\n      }\n    );\n\n    return { result, next, prev, currentPage, lastPage };\n  }\n};\n</script>\n```\n\n## Contributing\n\n1. Fork it!\n2. Create your feature branch: `git checkout -b feat/new-composable`\n3. Commit your changes: `git commit -am 'feat(composable): add a new composable'`\n4. Push to the branch: `git push origin feat/new-composable`\n5. Submit a pull request\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n","_id":"vue-composable@1.0.0-alpha.2","dist":{"shasum":"f6844b19088fa545ecf2cf8d2ff10526be7980a9","integrity":"sha512-V1WcqZ6oALz472+/sEc1s7UGjiDkxFaAJx4SlLBW8SLVVz0XxLR0bfFi/5M1u9rwoMyDQdrJiIcf1Yb9bsRezg==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-alpha.2.tgz","fileCount":13,"unpackedSize":75022,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFEgFCRA9TVsSAnZWagAAes0QAIGEwcQbjC29U8DZAYmJ\ncJ7XKEJpUfffABmwF9+eXvd/e6dNpanfbko6k1i+mHOgFVDrkFeAhAI3mdn5\nQfXxTkJvkwYPU7mXvRYtvLjbAwlQxsxQsqt/douEukL8SmMGT6kpzEgArV38\ngPd1aS15I38InOciNcr4h+dpK4nBoALtNvz8dShRDobQ/7Ih8xYhvcw7NrT4\nCTkIdj7V3Y7dQC7ZTT2tfQSkMVpuVTm0qjDEk/cAbvacq+39/GEy3CENCaSY\np49yKXIFZbngfbnCQNZZXsWpmxIUV8Tozw1Z57lGVediHaaEpzGyxvaEygOJ\nF/Q86kwdj+eNRwqrR8O1K5lU/z5PiScvXD9SB+16k9wyf77g3Q4hluJU7ebY\nYGVDpF82o7Vtzxk+EP2GrL6QTKaCflOhh7S4nJab+LPQI2nIlNV5p+VuiruB\nZFR+AeAR4k0wkSYlxRSGgS96poYZwKYmOKZRbFU837uwtxGtAo8LDySwRnUt\n/D8Xf2lLkI+FQoiSsCoZvN60XJsL8+RlFREUtM+CrqYaFC0FhqCPTgPdsqOk\nkpIXaGb7LkJZnd/i27Au89DMRswRWlOVDkdLn8x48cMI/UkBUObzxQVoY0kT\nV9Y9ibUM23CbfbTFvNLaxBvUUu0263+AUgMRIwR5GMlwJTviUEV/dqrBLZGu\nP+64\r\n=Kn2q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDRkhgXh21o9WHCN8DH4T/phXzh8cV8hspNIHdZt3B8SQIgDltWjcX4V1TZgPNiz+J4R2N2qDqk2wbjH3Sz/QfIA4k="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-alpha.2_1578387460545_0.42056678551568916"},"_hasShrinkwrap":false},"1.0.0-alpha.3":{"name":"vue-composable","version":"1.0.0-alpha.3","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":100,"name":"vueComposable","formats":["esm-bundler","cjs","global","esm"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable","dependencies":{"@vue-composable/core":"1.0.0-alpha.1","@vue-composable/web":"1.0.0-alpha.1"},"peerDependencies":{"@vue/runtime-core":"^3.0.0-alpha.0"},"readmeFilename":"README.md","readme":"# vue-composable\n\n[![CircleCI](https://circleci.com/gh/pikax/vue-composable.svg?style=svg)](https://circleci.com/gh/pikax/vue-composable)\n[![Coverage Status](https://coveralls.io/repos/github/pikax/vue-composable/badge.svg?branch=master)](https://coveralls.io/github/pikax/vue-composable?branch=master)\n[![npm version](https://badge.fury.io/js/vue-composable.svg)](https://badge.fury.io/js/vue-composable)\n\n# Vue 3\n\nThis version is `alpha` with support for the vue3 ([vue-next](https://github.com/vuejs/vue-next))\n\n> Check webpack [vue3 example](https://github.com/pikax/vue-composable/tree/vue3/examples/vue-next-webpack-preview-master) or [CodeSandbox](https://codesandbox.io/s/vue-composable-next-6m5et)\n\n## Introduction\n\n`vue-composable` is out-of-box ready to use the brand new [Vue 3](https://github.com/vuejs/vue-next) [composition-api](https://vue-composition-api-rfc.netlify.com/) generic components.\n\n100% typescript based composable components and full type support out-of-box.\n\n## Installing\n\n```bash\n# install with yarn\nyarn add @vue/composition-api vue-composable\n\n# install with npm\nnpm install @vue/composition-api vue-composable\n```\n\n## Documentation\n> NOTE documentation might be slightly wrong, because it was built for the v2\n\nCheck our [documentation](https://pikax.me/vue-composable/)\n\n### Event\n\n- [Event](https://pikax.me/vue-composable/composable/event/event) - Attach event listener to a DOM element\n- [Mouse Move](https://pikax.me/vue-composable/composable/event/onMoveMove) - Attach `mousemove` listener to a DOM element\n- [Resize](https://pikax.me/vue-composable/composable/event/onResize) - Attach `resize` listener to a DOM element\n- [Scroll](https://pikax.me/vue-composable/composable/event/onScroll) - Attach `scroll` listener to a DOM element\n\n### MISC\n\n- [localStorage](https://pikax.me/vue-composable/composable/misc/localStorage) - Reactive access to a `localStorage`\n- [matchMedia](https://pikax.me/vue-composable/composable/misc/matchMedia) - Reactive `matchMedia`\n- [breakpoint](https://pikax.me/vue-composable/composable/misc/breakpoint) - reactive `breakpoints` based on `window.innerWidth`\n\n### Pagination\n\n- [Pagination](https://pikax.me/vue-composable/composable/pagination/pagination) - Generic reactive pagination controls\n- [Array Pagination](https://pikax.me/vue-composable/composable/pagination/arrayPagination) - Array pagination\n\n### Promise\n\n- [Promise](https://pikax.me/vue-composable/composable/promise/promise) - `Promise` reactive resolve and reject\n- [Cancellable Promise](https://pikax.me/vue-composable/composable/promise/cancellablePromise) - Allow to cancel promises\n- [Retry](https://pikax.me/vue-composable/composable/promise/retry) - Provides functionality to retry `promise`\n\n### Web\n\n- [Fetch](https://pikax.me/vue-composable/composable/web/fetch) - reactive `fetch` wrapper\n- [WebSocket](https://pikax.me/vue-composable/composable/web/webSocket) - reactive `WebSocket` wrapper\n- [IntersectionObserver](https://pikax.me/vue-composable/composable/web/intersectionObserver) - reactive `IntersectionObserver`\n\n### External\n\n> New packages needed\n\n- [Axios](https://pikax.me/vue-composable/composable/external/axios) - [@vue-composable/axios](https://www.npmjs.com/package/@vue-composable/axios) reactive `axios` wrapper client\n\n## Examples\n\nCheck out the [examples folder](examples) or start hacking on [codesandbox](https://codesandbox.io/s/vue-composable-examples-yuusf).\n\n[![Edit Vue Composable Examples](https://codesandbox.io/static/img/play-codesandbox.svg)](https://codesandbox.io/s/vue-template-yuusf?fontsize=14)\n\n### NOTE\n\nCurrently only works with [composition-api](https://github.com/vuejs/composition-api), when [Vue3](https://github.com/vuejs/vue-next) gets release I will update to use the new reactive system (using [@vue/reactivity](https://github.com/vuejs/vue-next/tree/master/packages/reactivity))\n\n## Usage\n\n```vue\n<template>\n  <div>\n    <p>page {{ currentPage }} of {{ lastPage }}</p>\n    <p>\n      <button @click=\"prev\">prev</button>\n      <button @click=\"next\">next</button>\n    </p>\n    <ul>\n      <li v-for=\"n in result\" :key=\"n\">\n        {{ n }}\n      </li>\n    </ul>\n  </div>\n</template>\n\n<script>\nimport { useArrayPagination } from \"vue-composable\";\n\nexport default {\n  setup() {\n    const array = new Array(1000).fill(0).map((_, i) => i);\n    const { result, next, prev, currentPage, lastPage } = useArrayPagination(\n      array,\n      {\n        pageSize: 3\n      }\n    );\n\n    return { result, next, prev, currentPage, lastPage };\n  }\n};\n</script>\n```\n\n## Contributing\n\n1. Fork it!\n2. Create your feature branch: `git checkout -b feat/new-composable`\n3. Commit your changes: `git commit -am 'feat(composable): add a new composable'`\n4. Push to the branch: `git push origin feat/new-composable`\n5. Submit a pull request\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n","_id":"vue-composable@1.0.0-alpha.3","dist":{"shasum":"488880c0df7172122dc6d648e50ea4c5d433c7f2","integrity":"sha512-V6pyqGLVGhoNcE83yIuxaddTRNjbI1MUz57WAtaTtaZW9EX/HM5qC4EmNfRnXlL0BfrP5SwD73420mzvTFlnGA==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-alpha.3.tgz","fileCount":13,"unpackedSize":75023,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFEiMCRA9TVsSAnZWagAAYvoP/021HTJ3c72oB555DkNX\nvAk6YWSzYYc5Om2Xuc9TkJNcVB8tlIPpJHjxc5Beq0pAdU5lFmGe596lQbWO\nFBHSIkjuHH9PBXMaxjzm3nC3b0QjCf1kdLfD5whcrYGflm0lC+OmAD9+E5fw\nKZgXJ/4s9nXbmBcAhyE8j4EYy6PQYbPKf2Mg3wIvhJk878RET7wbEZMx5KOK\nDAv4Upca8aYEXbdFKXnJQ5oYMAD9RTGWpp6d5B1w8qVdn+vAGcZtOyvmZtd6\nWhn4cQRb/A80Lv91NnVMUDf/I5ga9NzHhihLP7sNx4fymHopze2iUcJ7zHGt\nzWqPXFFKNr8jThyzMw0WgydsXRaI/UvG9Gbncg6ev0K2PydxOX2uljVliU9H\nHE6by0R11sx0uejW+60KjkI/DjWtHC0gbFL5w6pWAY5L9xdXyzlWqUVN0jlk\n5lLFAAYWx+F6s47SnnXIdsukAQ7yq2ABpb9DkLh1gZn4E7xP6C3LCTp0J/oC\ngFQ6xfwKJeB/P9lgJwC/6mRP7E7MYzvqv/PiUm800yyy+oAW97xPgqMcysas\njOp2wcDi4V1eiDm0kqgMmtcEe3lmZzPCfylVATiHVCgMehm9eTUVeb1M0YX8\ncREsLpu3aPoqnoReCZJ0YVAhzhvEwsSKCbboSdK6srNBy24VQB7+L7FOdGbx\nM2y8\r\n=mnCl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCeKbAOVApzAGdUCwfA54d9BaRqJ9LRAfYsS7TDOyZpKgIhAOFSLVkX0PUDazHYhU3DLY6fBL1mAcCdHmDQhLED6+Ef"}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-alpha.3_1578387596135_0.09174953523415619"},"_hasShrinkwrap":false},"1.0.0-alpha.4":{"name":"vue-composable","version":"1.0.0-alpha.4","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":100,"name":"vueComposable","formats":["esm-bundler","cjs","global","esm"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable","dependencies":{"@vue-composable/core":"1.0.0-alpha.4","@vue-composable/web":"1.0.0-alpha.4"},"peerDependencies":{"@vue/runtime-core":"^3.0.0-alpha.0"},"readmeFilename":"README.md","readme":"# vue-composable\n\n[![CircleCI](https://circleci.com/gh/pikax/vue-composable.svg?style=svg)](https://circleci.com/gh/pikax/vue-composable)\n[![Coverage Status](https://coveralls.io/repos/github/pikax/vue-composable/badge.svg?branch=master)](https://coveralls.io/github/pikax/vue-composable?branch=master)\n[![npm version](https://badge.fury.io/js/vue-composable.svg)](https://badge.fury.io/js/vue-composable)\n\n# Vue 3\n\nThis version is `alpha` with support for the vue3 ([vue-next](https://github.com/vuejs/vue-next))\n\n> Check webpack [vue3 example](https://github.com/pikax/vue-composable/tree/vue3/examples/vue-next-webpack-preview-master) or [CodeSandbox](https://codesandbox.io/s/vue-composable-next-6m5et)\n\n## Introduction\n\n`vue-composable` is out-of-box ready to use the brand new [Vue 3](https://github.com/vuejs/vue-next) [composition-api](https://vue-composition-api-rfc.netlify.com/) generic components.\n\n100% typescript based composable components and full type support out-of-box.\n\n## Installing\n\n```bash\n# install with yarn\nyarn add @vue/composition-api vue-composable\n\n# install with npm\nnpm install @vue/composition-api vue-composable\n```\n\n## Documentation\n> NOTE documentation might be slightly wrong, because it was built for the v2\n\nCheck our [documentation](https://pikax.me/vue-composable/)\n\n### Event\n\n- [Event](https://pikax.me/vue-composable/composable/event/event) - Attach event listener to a DOM element\n- [Mouse Move](https://pikax.me/vue-composable/composable/event/onMoveMove) - Attach `mousemove` listener to a DOM element\n- [Resize](https://pikax.me/vue-composable/composable/event/onResize) - Attach `resize` listener to a DOM element\n- [Scroll](https://pikax.me/vue-composable/composable/event/onScroll) - Attach `scroll` listener to a DOM element\n\n### MISC\n\n- [localStorage](https://pikax.me/vue-composable/composable/misc/localStorage) - Reactive access to a `localStorage`\n- [matchMedia](https://pikax.me/vue-composable/composable/misc/matchMedia) - Reactive `matchMedia`\n- [breakpoint](https://pikax.me/vue-composable/composable/misc/breakpoint) - reactive `breakpoints` based on `window.innerWidth`\n\n### Pagination\n\n- [Pagination](https://pikax.me/vue-composable/composable/pagination/pagination) - Generic reactive pagination controls\n- [Array Pagination](https://pikax.me/vue-composable/composable/pagination/arrayPagination) - Array pagination\n\n### Promise\n\n- [Promise](https://pikax.me/vue-composable/composable/promise/promise) - `Promise` reactive resolve and reject\n- [Cancellable Promise](https://pikax.me/vue-composable/composable/promise/cancellablePromise) - Allow to cancel promises\n- [Retry](https://pikax.me/vue-composable/composable/promise/retry) - Provides functionality to retry `promise`\n\n### Web\n\n- [Fetch](https://pikax.me/vue-composable/composable/web/fetch) - reactive `fetch` wrapper\n- [WebSocket](https://pikax.me/vue-composable/composable/web/webSocket) - reactive `WebSocket` wrapper\n- [IntersectionObserver](https://pikax.me/vue-composable/composable/web/intersectionObserver) - reactive `IntersectionObserver`\n\n### External\n\n> New packages needed\n\n- [Axios](https://pikax.me/vue-composable/composable/external/axios) - [@vue-composable/axios](https://www.npmjs.com/package/@vue-composable/axios) reactive `axios` wrapper client\n\n## Examples\n\nCheck out the [examples folder](examples) or start hacking on [codesandbox](https://codesandbox.io/s/vue-composable-examples-yuusf).\n\n[![Edit Vue Composable Examples](https://codesandbox.io/static/img/play-codesandbox.svg)](https://codesandbox.io/s/vue-template-yuusf?fontsize=14)\n\n### NOTE\n\nCurrently only works with [composition-api](https://github.com/vuejs/composition-api), when [Vue3](https://github.com/vuejs/vue-next) gets release I will update to use the new reactive system (using [@vue/reactivity](https://github.com/vuejs/vue-next/tree/master/packages/reactivity))\n\n## Usage\n\n```vue\n<template>\n  <div>\n    <p>page {{ currentPage }} of {{ lastPage }}</p>\n    <p>\n      <button @click=\"prev\">prev</button>\n      <button @click=\"next\">next</button>\n    </p>\n    <ul>\n      <li v-for=\"n in result\" :key=\"n\">\n        {{ n }}\n      </li>\n    </ul>\n  </div>\n</template>\n\n<script>\nimport { useArrayPagination } from \"vue-composable\";\n\nexport default {\n  setup() {\n    const array = new Array(1000).fill(0).map((_, i) => i);\n    const { result, next, prev, currentPage, lastPage } = useArrayPagination(\n      array,\n      {\n        pageSize: 3\n      }\n    );\n\n    return { result, next, prev, currentPage, lastPage };\n  }\n};\n</script>\n```\n\n## Contributing\n\n1. Fork it!\n2. Create your feature branch: `git checkout -b feat/new-composable`\n3. Commit your changes: `git commit -am 'feat(composable): add a new composable'`\n4. Push to the branch: `git push origin feat/new-composable`\n5. Submit a pull request\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n","_id":"vue-composable@1.0.0-alpha.4","dist":{"shasum":"8e1969d54d518bb72295d2a578dcbe75d418c172","integrity":"sha512-xzwy0jand8ffHIawUKOBI7LGd+adrwyLoIn+5Gfw8FuLnZqclvnRUMf/nQVTwhn7x1Nco6+jUPX0wCzGi8z7IQ==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-alpha.4.tgz","fileCount":13,"unpackedSize":75023,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFEqNCRA9TVsSAnZWagAAHkIP/2I41QPXQCxX6Y4EdZMc\n73wWmcWMSd8gyPRktNABFmniKiDTgnTSCmm3uUBkcrEPGRfnUQXNeS/3iJmH\nLLwFkCT/cj8isPm1kCLs5V2HoQSlDzxa92F1F1X3kG7CSfYFvd5C9vqmV0Hl\nPeqVc7qMUX/5ARaj9uzZABVO1huk8IOY1MaKtpffijO1rdDwDtY5Yht4Gx5H\nDFH74VnTuB3SWL7NG1g0qRVHcdJdCjRBzhp7JHWIbFDIKuTPemzTyA3OfG0C\nY413qi4p1J3JV5Fpmfj3rO95VXV6hJ+r1tvzW6m3HwldaHrFkmhEw55eY4g+\nHe4fWj/ohtsC/xgWf9zKsjho/0slx5Ym7pXicgYtsG3yRR8iQCJBcIyswZNz\n0RK1h4doM7N9ftIu/eGYE+DL9WV4u8v6NLtiFhbEizgHBH4iE2IosGWy8ddq\nxZ1hzP7x4uIe6XV4fJ3pTiABzfNjSF09iACrvl/nL/00NEaJjjO9HiGdFjDE\nCJgATDhnoR3UXtIZAwwprbGFCIdUEGZRdE2Tvur+BfeeLMPHP/MXk+uxfYs6\nXup1nI+RSSHGwSxLKcjJLN6zHrJ7BhIZiMEvCvWRnqJVK1ZpH39EShHM6TL3\nOnOvcuK6ZRKZWJ7QKqPjuoOZUEFuHgenvovO8MoyeAgVMRGGOQwYOg0ATJDe\nZoBM\r\n=3nmm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCJSQQB6gVSrEptdYFKMSRibyo3DJjlalhC3tCcvTM3HAIgV2XWXu7mZMcHl0aGu35jHmFoaQaJnwQ1aQ2vYULunuo="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-alpha.4_1578388109436_0.8154832639295742"},"_hasShrinkwrap":false},"1.0.0-alpha.5":{"name":"vue-composable","version":"1.0.0-alpha.5","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":100,"name":"vueComposable","formats":["esm-bundler","cjs","global","esm"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable","dependencies":{"@vue-composable/core":"1.0.0-alpha.5","@vue-composable/web":"1.0.0-alpha.5"},"peerDependencies":{"@vue/runtime-core":"^3.0.0-alpha.1"},"readmeFilename":"README.md","readme":"# vue-composable\n\n[![CircleCI](https://circleci.com/gh/pikax/vue-composable.svg?style=svg)](https://circleci.com/gh/pikax/vue-composable)\n[![Coverage Status](https://coveralls.io/repos/github/pikax/vue-composable/badge.svg?branch=master)](https://coveralls.io/github/pikax/vue-composable?branch=master)\n[![npm version](https://badge.fury.io/js/vue-composable.svg)](https://badge.fury.io/js/vue-composable)\n\n# Vue 3\n\nThis version is `alpha` with support for the vue3 ([vue-next](https://github.com/vuejs/vue-next))\n\n> Check webpack [vue3 example](https://github.com/pikax/vue-composable/tree/vue3/examples/vue-next-webpack-preview-master) or [CodeSandbox](https://codesandbox.io/s/vue-composable-next-6m5et)\n\n## Introduction\n\n`vue-composable` is out-of-box ready to use the brand new [Vue 3](https://github.com/vuejs/vue-next) [composition-api](https://vue-composition-api-rfc.netlify.com/) generic components.\n\n100% typescript based composable components and full type support out-of-box.\n\n## Installing\n\n```bash\n# install with yarn\nyarn add @vue/composition-api vue-composable\n\n# install with npm\nnpm install @vue/composition-api vue-composable\n```\n\n## Documentation\n> NOTE documentation might be slightly wrong, because it was built for the v2\n\nCheck our [documentation](https://pikax.me/vue-composable/)\n\n### Event\n\n- [Event](https://pikax.me/vue-composable/composable/event/event) - Attach event listener to a DOM element\n- [Mouse Move](https://pikax.me/vue-composable/composable/event/onMoveMove) - Attach `mousemove` listener to a DOM element\n- [Resize](https://pikax.me/vue-composable/composable/event/onResize) - Attach `resize` listener to a DOM element\n- [Scroll](https://pikax.me/vue-composable/composable/event/onScroll) - Attach `scroll` listener to a DOM element\n\n### MISC\n\n- [localStorage](https://pikax.me/vue-composable/composable/misc/localStorage) - Reactive access to a `localStorage`\n- [matchMedia](https://pikax.me/vue-composable/composable/misc/matchMedia) - Reactive `matchMedia`\n- [breakpoint](https://pikax.me/vue-composable/composable/misc/breakpoint) - reactive `breakpoints` based on `window.innerWidth`\n\n### Pagination\n\n- [Pagination](https://pikax.me/vue-composable/composable/pagination/pagination) - Generic reactive pagination controls\n- [Array Pagination](https://pikax.me/vue-composable/composable/pagination/arrayPagination) - Array pagination\n\n### Promise\n\n- [Promise](https://pikax.me/vue-composable/composable/promise/promise) - `Promise` reactive resolve and reject\n- [Cancellable Promise](https://pikax.me/vue-composable/composable/promise/cancellablePromise) - Allow to cancel promises\n- [Retry](https://pikax.me/vue-composable/composable/promise/retry) - Provides functionality to retry `promise`\n\n### Web\n\n- [Fetch](https://pikax.me/vue-composable/composable/web/fetch) - reactive `fetch` wrapper\n- [WebSocket](https://pikax.me/vue-composable/composable/web/webSocket) - reactive `WebSocket` wrapper\n- [IntersectionObserver](https://pikax.me/vue-composable/composable/web/intersectionObserver) - reactive `IntersectionObserver`\n\n### External\n\n> New packages needed\n\n- [Axios](https://pikax.me/vue-composable/composable/external/axios) - [@vue-composable/axios](https://www.npmjs.com/package/@vue-composable/axios) reactive `axios` wrapper client\n\n## Examples\n\nCheck out the [examples folder](examples) or start hacking on [codesandbox](https://codesandbox.io/s/vue-composable-examples-yuusf).\n\n[![Edit Vue Composable Examples](https://codesandbox.io/static/img/play-codesandbox.svg)](https://codesandbox.io/s/vue-template-yuusf?fontsize=14)\n\n### NOTE\n\nCurrently only works with [composition-api](https://github.com/vuejs/composition-api), when [Vue3](https://github.com/vuejs/vue-next) gets release I will update to use the new reactive system (using [@vue/reactivity](https://github.com/vuejs/vue-next/tree/master/packages/reactivity))\n\n## Usage\n\n```vue\n<template>\n  <div>\n    <p>page {{ currentPage }} of {{ lastPage }}</p>\n    <p>\n      <button @click=\"prev\">prev</button>\n      <button @click=\"next\">next</button>\n    </p>\n    <ul>\n      <li v-for=\"n in result\" :key=\"n\">\n        {{ n }}\n      </li>\n    </ul>\n  </div>\n</template>\n\n<script>\nimport { useArrayPagination } from \"vue-composable\";\n\nexport default {\n  setup() {\n    const array = new Array(1000).fill(0).map((_, i) => i);\n    const { result, next, prev, currentPage, lastPage } = useArrayPagination(\n      array,\n      {\n        pageSize: 3\n      }\n    );\n\n    return { result, next, prev, currentPage, lastPage };\n  }\n};\n</script>\n```\n\n## Contributing\n\n1. Fork it!\n2. Create your feature branch: `git checkout -b feat/new-composable`\n3. Commit your changes: `git commit -am 'feat(composable): add a new composable'`\n4. Push to the branch: `git push origin feat/new-composable`\n5. Submit a pull request\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n","_id":"vue-composable@1.0.0-alpha.5","dist":{"shasum":"7cf621614f771c82c1dc60a5655594876c98d996","integrity":"sha512-iR6/m2y2U0zmxk6G6cirK0yNvC5QZOHuoqyNEelzv3muvfgyzcWBtpHZn+gK4e4b0Ne+A5fuVcmWiRnlyG6LcQ==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-alpha.5.tgz","fileCount":13,"unpackedSize":75023,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFGfICRA9TVsSAnZWagAAomwP/3etdWF+CrAPKQeW0sK+\nMumwbNukYnaPj+DRTTWfv03yAt/Q+rCjs7ZS55ZDujW2qk0Kjo2Nu54nl/+t\nEFNkDYz6iumTTws0JGm4BlDiAYO/IyyFZeYS1exd6eCeHok9KXXGJs11njkd\nbxaX9XS59+lfRI+LWgEWzf0RReHFZ83fyxo1WK9JWQBDNHa26jYFP//qK8xz\nEBCsNQCgINysEFqtM4SzclkbsEQHP2owlHMFQYmnuixJXrcclR5MoaMJRouW\nAbsARGu8rwdOKs/4iN8gVkImV0rur5atcQfrTndq4z4FdeKoJ3YxVx9AfoYT\ngW6VxU5LOrStrSYPaEv4sMmu2HLY+2QZ2ELLraMHn44A0S4t6l522rIu3oXB\nv6CGt94Al8k2QH52M+E/hJNuUIPPpzYfChFz5WSAheT0P3A5y0IChs8EEITn\nWuFrkB7zdPgl3R37MKuhOn9LJjRwbQnJy3dCtPw4qu6uOx9CMBXVwvgVyi/r\n/SECi27sJ6V/SdydDH9KfvKFaFkfpcRBbYH9kesOiIEfLcbDIoJ9yLEbk6kL\nfxEoarvNue87TBekXlEihHixl+wyjgKgzTzfSgWpQBXkLeB8dJmVdZ/Rp3Od\n0vSi+Q9LfefAoxiRabV0Vu+/ZXYNJwIZgRXL6ze43umHcowHqCzoku9YrDWW\nX70y\r\n=8lZq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCnv8WGb3RnB2wpH/QNz+J8Cl0W8ZxRW+dm0nfE2nafEwIgN6sfZS2geYH6e+NCBIJvWKVToUcd0RbnVw0QV3axbeE="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-alpha.5_1578395591785_0.83329502361203"},"_hasShrinkwrap":false},"1.0.0-dev.3":{"name":"vue-composable","version":"1.0.0-dev.3","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":100,"name":"vueComposable","formats":["esm-bundler","cjs","global","esm"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable","dependencies":{"@vue-composable/core":"1.0.0-dev.3","@vue-composable/web":"1.0.0-dev.3","@vue/composition-api":"^0.3.4","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-dev.3","dist":{"shasum":"87a89f5433087afb438e0b2a11662fdbfb2c79be","integrity":"sha512-plNdQ6EYp0oixLB3seGwKo8KwFh1oAHPXfKyZ9UH4WWN6xxZ06OBw+IGLDHiCYsJCOsQ+DHqBtwcnbjbTidxvA==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.3.tgz","fileCount":13,"unpackedSize":75752,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFuNoCRA9TVsSAnZWagAACI4P/1aiSUXNkzgVZCIaMuUr\nVWuWb+A23xIhkEVLiu7o3O0USOKw5ANApUdQKbUutOKabBGkUXfK7K3xz02I\n+Yw2Hs3HesvMMYzvK7pFD2hRW5SZRf70WKTPsZ4n8OjhiEcRDmvyBb6rdA8t\n3FysYDtxv7CikwK18GVhkiro0MsM08RR6HVeM2EI2WC1tuPw3p1/ldjU+Sca\nbzj6r8wwXfCU1+FJ/rruIpmKTDMPGNntMJfM3bNLN7e2UL5qGPGwT8BRKPvl\njCyZ2INQ0MFxvYoQ5fGGiv2EdUuVyIPOsdJOsZR44TN3MkxYLC3k9DgyCjou\not07yKOMiEs4VyCrVg+z2ho7k61xiSv86kfwQJ6ZaSyBQPMgkoXto+JTuJby\nd2x1nHWppt+21ysEID5+MRtjFHs1qhrBpOA+fcXCrSam6nmn0kFGeaFFmomp\nKGN06S81S0yStnElPbqHy/LbcZZXOiRbQ6xdPosO/2EQ8ULDAkXCXfiQh5Us\nLhFEmEA5YqBCasQoN1l5o53ceYFjCqFBOaXOPDVEITC+PpnY5NAP0pwezx5Q\nfq+HVvcqI8hXYAGXIIqwlN2MEkV/W1pYX4fzyJOKqVl+CinokHVk09YrwaYg\nu26V0ZnWsWefGgf4Efjm25mmIShfo2vhZ4NYuK5wDOtreKrYQa+cjgRf3YTA\n4ieO\r\n=Uce3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC4PtujI1b2pLDAw/PjtdVqJw5dVU47BBsjm4n+DP7vlAiAN+U4AG/Bbj1SGjjt2D0iP/AUyzhDqDtRrfiOKyEMG+w=="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.3_1578558312210_0.7109320509664556"},"_hasShrinkwrap":false},"1.0.0-dev.4":{"name":"vue-composable","version":"1.0.0-dev.4","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":100,"name":"vueComposable","formats":["esm-bundler","cjs","global","esm"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable","dependencies":{"@vue-composable/core":"1.0.0-dev.4","@vue-composable/web":"1.0.0-dev.4","@vue/composition-api":"^0.3.4","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-dev.4","dist":{"shasum":"7e098f4906064b2d23c979dfe8808224c225c4c0","integrity":"sha512-cp1Okq2CsuHunJoTWZQC4Zgd3WrEzfDLIDcEQmfAN8HPb0zf3UimGAqjcUEA31Guuw9b5Ppk30A9HeH2jNn/FQ==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.4.tgz","fileCount":13,"unpackedSize":80498,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHE4iCRA9TVsSAnZWagAAuYoP/09+1GCUsZ7hjArXiuw/\nMAGCTQdPqWPlxUtfOZYH2G41N//vtQmo2gZyYU80XwxgSv4L6hwdzQBp4r4e\nHQ2rRImpt1p3vcuQF1MMYlP2bB32f+n0GF1hoi4R2bFB98FoIB4NIar40Zoy\neWKzyBkveO33XBrNupOxQXQBXPhK2dnkDzbQP2ZpS8VXHcLqBaYP0mJp2JaZ\nJl9xTv7GL3Cn62d97lhyW5acnI5HZil+4SpFhwulmHrJUOkfgKR+2f8RzKLY\nHwK5bqywy/e6HAa1kaxYAvKjLX9cBm7sTMd81Wss84r8JAzg5ENKvNb7sDsY\nVDXwsYxzrudnKct/eUc/0pc8IhCOigC3f9kHGCRQcxJ8jV0esKSh3tCNljIH\nHFlBCKrv43AuPRqZBwZW4IQRnAYgGGx8SwETXNLPyAijyFUM8+irP0JdkpVc\n3ft9pupYBAUp6yfYBOG1uqU0ZLKKfjPdytQOPBtJOUSHw7g0P9TtXqriwkCt\nmsshZgCJyEknrosWvUeFEdQAcf4pjVmT8Y7SudTaS85aRmd+8GbOG5ddBQfi\n4HvJXm5tIV60j1cto70UIZHWZlKKL6qu3qj9BF7dYfEanLsVPlnthNTAWSyQ\nBNgn44Gvssb2IseK+5I8J3XS8E242IbqZrGvydAsqhMtCdguUy61KBJLhMfD\naxjC\r\n=Wojg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHgf7UA/xYRZjigb11LdwqQfWREnGLM9d7C8Qn+0ZYlUAiAEtLgiwlkJ6gmcBZO7r41zjgE1G+x1h91R8TKjyTryFg=="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.4_1578913314149_0.4635840035092833"},"_hasShrinkwrap":false},"1.0.0-dev.6":{"name":"vue-composable","version":"1.0.0-dev.6","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":100,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable","dependencies":{"@vue-composable/core":"1.0.0-dev.6","@vue-composable/web":"1.0.0-dev.6","@vue/composition-api":"^0.3.4","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-dev.6","dist":{"shasum":"af16d78ebb55f46c7cf029a843f2ff2918c379d5","integrity":"sha512-lfttFYhG5eVEDi+FKxgrPBUfrQtexYPKyc5lFjxCBRZYbP+b1fhbApv2yDvR9JFlyZk9/OR78ZWydBbuQRJwiA==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.6.tgz","fileCount":11,"unpackedSize":59448,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJKApCRA9TVsSAnZWagAArX8P/izNoMso0NpSnekFjmiP\niNW2P2LSkuEGNRZEqDeCqR+LwJX1/polXsVHPkW3lzGKBAvpAoSEAMhMbxsA\nNAGhkOGHct4abtHjKNJnz1LR7YEsKeXn1vyyvKpGC32986lhfOQC45kNm9SU\nCnjsi8z4MHJUBv7DN9XB+8l56kHONPC8kX93X4xVvw4eTOqPLmGRo4Ramhgk\ncJt+55b+R9il9s838fV3+yNZZnFl/h8G7cOjCt+RFEU/xgerNcwbFlgdUzLX\nyaDcMWSkTKl1JaP7j0N9kMSIxrq7JI3ANXbdYFCSwj1BxlwJ9fC2hFENKMX3\nl3wIWWhOjzcbAY2uKAbBPs/3QVDlrvm9i3CsIC4EgM8KAivTuluiyBqPUCJm\nsPDVEzs9oCUD67Ec/UWbPMY0N9fbyzrTWjhnMpXKRwCwj0aCvPQYft6WyU6u\nreHcLQ0plZp3rIcrP/fHNMmUt8GFPHfEAT14JSso+dXkvYon9sQZ9SYz7QeB\n4qr7mF3NZqs5Gh0CKF+crGk+Zn5+fxFBkVCC39gcKaUhrftxX4CBCQ45GuXe\nleZ3EL28Kd+caFp54jmfb0zTi7albWCBxUfAf33mYtMDNyLpJmAEQ89crPnU\nbOpodheewUnCqx3LRkm4vIZddlvEZgrBr564J5whz2nAhN7NWlXITDBv9+/q\nG1/H\r\n=R4xH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3MSN7TRSNfacQGUzeU8RQK48TLMGYFcHB43gOKxPrggIhAProaO9QJ1OJIy8ipVOWNwgtoEW4YKk8t9kFjLKS7SmV"}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.6_1579458600929_0.6384856980296176"},"_hasShrinkwrap":false},"1.0.0-dev.7":{"name":"vue-composable","version":"1.0.0-dev.7","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":100,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable","dependencies":{"@vue-composable/core":"1.0.0-dev.7","@vue-composable/web":"1.0.0-dev.7","@vue/composition-api":"^0.3.4","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-dev.7","dist":{"shasum":"e32b88596e572ed9a19f51479de1dea1abca3557","integrity":"sha512-izC+5Yu0FoXuSXP2S6A69HEsLK0vzSw7XzmTT1qQl9wN1JoKk5qP+ul2tP9Du+fHPbj0mitdYQWV5hmFbBK5IQ==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.7.tgz","fileCount":11,"unpackedSize":59896,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJKG9CRA9TVsSAnZWagAAizsP/jt/BGUf0z572D6ORjxO\nwMRmh0JY8UnRac+orpZz2IaE8YlmLXyTWgygraNdLN+whHF5Gvr6VQvNyKA4\ni9KWSvbopmCo1T6/FLd5WCCxQzzBjaR9h0BpZsz1qTSX6HuML+eLnGuvJMSt\nC2tSpYf/yMAe9qotEswzkUAs4C6CUxy4IlFr9QImvJr5raKEu/OsWLdAGwfR\nm/Afxirttdw+Rru4gfEKgzJg4mZt60pDf77XatQZ2xrlLZEwAPW9ZiKcI8sU\nb4xFofs5yemiU6NbgX9YleM/eh+GeDzDliJhv9UXYZJ3nQnRoXWiZF6vs8KV\n9MXMUKWqoL9Dou8lF2J2xrnH8lLJwsu3ymbTM3vq/hnj+i7mjTMEMplYZA64\nboSS6rxWixP/ubn6zDm++9xhNTov8Pg68p9bZnZ9eJGdPG/Yam+8IaNxs7ug\nU8gM3zkg/MONmW+JJChqeSNL2QSk/WwN/9yY8nCYGf2xh4riglC/Y/QQ1Nw3\nQ8gkp/ifxVW+6oOrf9OfmuwwAD2L3bqZQDagH8dCfUTawxnMwrybkDswdsbY\nmtd+XOGWM8qGb71PweST59CsHnA/VZHkrJlhLAeiGav2hS+fO5A5/FWMQxzV\nm2ShUpHWsIrXrCIQ3l11+hJJEyAq1JSf0HYHZsHcjTyrsSWDRXBPmJ+V/ou2\nao3g\r\n=wJts\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCwi0F3p5wb/1pBJJyk/yjEScr9yLaNRINzeydqMMSEZAIhAMhcA27XCGbb7zSLEKLxzd3Pz4iaO5ztUt2Xn7Prj+KE"}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.7_1579459004781_0.3381485241783637"},"_hasShrinkwrap":false},"1.0.0-alpha.7":{"name":"vue-composable","version":"1.0.0-alpha.7","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":100,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable","dependencies":{"@vue-composable/core":"1.0.0-alpha.7","@vue-composable/web":"1.0.0-alpha.7","@vue/runtime-core":"^3.0.0-alpha.2"},"readmeFilename":"README.md","readme":"# vue-composable\n\n[![CircleCI](https://circleci.com/gh/pikax/vue-composable.svg?style=svg)](https://circleci.com/gh/pikax/vue-composable)\n[![Coverage Status](https://coveralls.io/repos/github/pikax/vue-composable/badge.svg?branch=master)](https://coveralls.io/github/pikax/vue-composable?branch=master)\n[![npm version](https://badge.fury.io/js/vue-composable.svg)](https://badge.fury.io/js/vue-composable)\n\n# Vue 3\n\nThis version is `alpha` with support for the vue3 ([vue-next](https://github.com/vuejs/vue-next))\n\n> Check webpack [vue3 example](https://github.com/pikax/vue-composable/tree/vue3/examples/vue-next-webpack-preview-master) or [CodeSandbox](https://codesandbox.io/s/vue-composable-next-6m5et)\n\n## Introduction\n\n`vue-composable` is out-of-box ready to use the brand new [Vue 3](https://github.com/vuejs/vue-next) [composition-api](https://vue-composition-api-rfc.netlify.com/) generic components.\n\n100% typescript based composable components and full type support out-of-box.\n\nThis library aim is to be one stop shop for many real-world composable functions, with aggressive tree-shaking to keep it light on your end code ([12kb gzip](https://app.circleci.com/jobs/github/pikax/vue-composable/318/parallel-runs/0/steps/0-105)).\n\n[vue-composable](https://www.npmjs.com/package/vue-composable) is composed by two package [@vue-composable/core](./packages/core) and [@vue-composable/web](./packages/web).\n\n- [@vue-composable/core](./packages/core): contains helpers composables, such as Promise and Pagination.\n- [@vue-composable/web](./packages/web): contains [Web API](https://developer.mozilla.org/en-US/docs/Web/API) implementations\n\n## Installing\n\n```bash\n# install with yarn\nyarn add @vue/composition-api vue-composable\n\n# install with npm\nnpm install @vue/composition-api vue-composable\n```\n\n## Documentation\n> NOTE documentation might be slightly wrong, because it was built for the v2\n\nCheck our [documentation](https://pikax.me/vue-composable/)\n\n### Event\n\n- [Event](https://pikax.me/vue-composable/composable/event/event) - Attach event listener to a DOM element\n- [Mouse Move](https://pikax.me/vue-composable/composable/event/onMoveMove) - Attach `mousemove` listener to a DOM element\n- [Resize](https://pikax.me/vue-composable/composable/event/onResize) - Attach `resize` listener to a DOM element\n- [Scroll](https://pikax.me/vue-composable/composable/event/onScroll) - Attach `scroll` listener to a DOM element\n\n### MISC\n\n- [matchMedia](https://pikax.me/vue-composable/composable/misc/matchMedia) - Reactive `matchMedia`\n- [breakpoint](https://pikax.me/vue-composable/composable/misc/breakpoint) - reactive `breakpoints` based on `window.innerWidth`\n\n### Storage\n\n- [WebStorage](https://pikax.me/vue-composable/composable/storage/webStorage) - Reactive access to `Storage API`, `useLocalStorage` and `useSessionStorage` use this\n- [storage](https://pikax.me/vue-composable/composable/storage/storage) - uses `localStorage` or on safari private it uses `sessionStorage`\n- [localStorage](https://pikax.me/vue-composable/composable/storage/localStorage) - Reactive access to a `localStorage`\n- [sessionStorage](https://pikax.me/vue-composable/composable/storage/sessionStorage) - Reactive access to a `sessionStorage`\n\n### Pagination\n\n- [Pagination](https://pikax.me/vue-composable/composable/pagination/pagination) - Generic reactive pagination controls\n- [Array Pagination](https://pikax.me/vue-composable/composable/pagination/arrayPagination) - Array pagination\n\n### Promise\n\n- [Promise](https://pikax.me/vue-composable/composable/promise/promise) - `Promise` reactive resolve and reject\n- [Cancellable Promise](https://pikax.me/vue-composable/composable/promise/cancellablePromise) - Allow to cancel promises\n- [Retry](https://pikax.me/vue-composable/composable/promise/retry) - Provides functionality to retry `promise`\n\n### Web\n\n- [Fetch](https://pikax.me/vue-composable/composable/web/fetch) - reactive `fetch` wrapper\n- [WebSocket](https://pikax.me/vue-composable/composable/web/webSocket) - reactive `WebSocket` wrapper\n- [IntersectionObserver](https://pikax.me/vue-composable/composable/web/intersectionObserver) - reactive `IntersectionObserver`\n- [NetworkInformation](https://pikax.me/vue-composable/composable/web/networkInformation) - reactive `NetworkInformation` wrapper\n- [Online](<[composable/web](https://pikax.me/vue-composable/composable/web)/online>) - reactive `navigator.onLine` wrapper\n- [PageVisibility](https://pikax.me/vue-composable/composable/web/pageVisibility) - reactive `Page Visibility API`\n- [Language](https://pikax.me/vue-composable/composable/web/language) - reactive `NavigatorLanguage`\n\n### External\n\n> New packages needed\n\n- [Axios](https://pikax.me/vue-composable/composable/external/axios) - [@vue-composable/axios](https://www.npmjs.com/package/@vue-composable/axios) reactive `axios` wrapper client\n\n## Examples\n\nCheck out the [examples folder](examples) or start hacking on [codesandbox](https://codesandbox.io/s/vue-composable-examples-yuusf).\n\n[![Edit Vue Composable Examples](https://codesandbox.io/static/img/play-codesandbox.svg)](https://codesandbox.io/s/vue-template-yuusf?fontsize=14)\n\n### NOTE\n\nCurrently only works with [composition-api](https://github.com/vuejs/composition-api), when [Vue3](https://github.com/vuejs/vue-next) gets release I will update to use the new reactive system (using [@vue/reactivity](https://github.com/vuejs/vue-next/tree/master/packages/reactivity))\n\nFor [vue-next](https://github.com/vuejs/vue-next) support please check [@next](https://www.npmjs.com/package/vue-composable/v/next)\n\n## Usage\n\n```vue\n<template>\n  <div>\n    <p>page {{ currentPage }} of {{ lastPage }}</p>\n    <p>\n      <button @click=\"prev\">prev</button>\n      <button @click=\"next\">next</button>\n    </p>\n    <ul>\n      <li v-for=\"n in result\" :key=\"n\">\n        {{ n }}\n      </li>\n    </ul>\n  </div>\n</template>\n\n<script>\nimport { useArrayPagination } from \"vue-composable\";\n\nexport default {\n  setup() {\n    const array = new Array(1000).fill(0).map((_, i) => i);\n    const { result, next, prev, currentPage, lastPage } = useArrayPagination(\n      array,\n      {\n        pageSize: 3\n      }\n    );\n\n    return { result, next, prev, currentPage, lastPage };\n  }\n};\n</script>\n```\n\n## Contributing\n\nYou can contribute raising issues and by helping out with code.\n\nTests and Documentation are the most important things for me, because good documentation is really useful!\n\nI really appreciate some tweaks or changes on how the documentation is displayed and how to make it easier to read.\n\n> I really need an logo for this project, if you have a good idea for a logo, please enter in contact with me, you can find me on the `Vue discord : @pikax`\n\n### New composable\n\n1. Fork it!\n2. Create your feature branch: `git checkout -b feat/new-composable`\n3. Commit your changes: `git commit -am 'feat(composable): add a new composable'`\n4. Push to the branch: `git push origin feat/new-composable`\n5. Submit a pull request\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n","_id":"vue-composable@1.0.0-alpha.7","dist":{"shasum":"c885d8f2454943cbaad81793563fd3a30bd96531","integrity":"sha512-TFPug5nD3mEz3vckrtk3WAn5U13DcRsQgql7Ji4Q84uNypNTmkFzn4ef4B7rfTbnMY2M1s1wPpihnqH00Qf+lg==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-alpha.7.tgz","fileCount":11,"unpackedSize":46228,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJK7jCRA9TVsSAnZWagAAB8MQAIYsUoZ0Il3jwpSfQkSv\nJmfB9au7usT8cqRmP/+ViL+nrOZZI+8hlH/tFDoWHvAuFEWhyCEbz2ha1cim\nDD68t/kqm9lQiF20qMcTiRBMtkm1EQRvutboHSiun9CMR6IKijZ996He1+64\nL2/G1u2nyqc3lhUT1NVZq2ZSFIIdWNAJmxLivijzu/66I3NLPNPhADlzW5Bd\n36IOAfP1APUthne4UlGplpLaLd0yulIFO0pFSkYBfZ2pDR0zE+Cn5dVFZejB\nMiu9lCNnVTfxoNxO4D+bfpjRpC6qB+mqrJgx/kF6WsuzGRGpf1EkwiOjkB0l\nCS6O4ND9oTkt91XDL6py+QPtCBLHT6vcrG2bK8+EEb+oSLLfsyrf5ygWliTe\nmpeFrMiVYhW9Nf9I1cGMtTDr9MCh9vaQfNWIrA0+n4aaDmEOVU8abnQvTb1v\npLRTZ+PDI2I5c6X9nM19msw011LBvY7HnRi7I5pNs/oRhIAP1PZAlnwJNRU8\nBc3fV1wsGTMgB+8LThJyt8+ZUCPOuYjMpOs+EX6arDp8TT4sYZJdAZQE9emL\nkpvzLiD3g9TBGj75GESj23CVJSHgW7b6J+ra6nS/HEF8XCeImfifUeT926sY\noMgz6Ut9F8DCmSRRZ5sfWB94i2uNPxofaSbm2fnmMt7xK+bRcuUjY8RJPe9k\nc9rZ\r\n=gFrh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCmSQqobdNpd15yvmIyfINHktX1vRHtsXc5HWbpF69VJAIgBdxpy6AQLXWwIsv0vDSpcqeLruiHxwFsl99RR6T54VI="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-alpha.7_1579462370658_0.2732577387522246"},"_hasShrinkwrap":false},"1.0.0-dev.8":{"name":"vue-composable","version":"1.0.0-dev.8","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":100,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable","peerDependencies":{"@vue/composition-api":"^0.3.4"},"devDependencies":{"vue":"^2.6.10"},"dependencies":{"@vue-composable/core":"1.0.0-dev.8","@vue-composable/web":"1.0.0-dev.8"},"_id":"vue-composable@1.0.0-dev.8","dist":{"shasum":"526f28bcf684944af712cac79a26964b10d14f3d","integrity":"sha512-IAQVVLtGeJ/Ha72xttrpHgIizh4oDlVSL+sUzk/r0P8NzAVnFEgaF58T7IZzasuapEMfvvXDVbg8K1oFraZ/Ag==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.8.tgz","fileCount":11,"unpackedSize":75448,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeOZ47CRA9TVsSAnZWagAArR8P/3fN98YwlavfoQN3Ake5\n8xU41kaM7L23DeIL1CkDnxY3+2XlKeEiAsJ/VeSfhYgsZcTJHPAn8DSc3Jzy\noRUvqL+zoVmeHmk+A+6Trnf6WlS2Bz8Pfl4i335HEerCPOmWRl3/1CDF11bg\nHIwAMZVTWNbEF3uUr6fbH929Os1PJspNnclBxSJksjz3Q0LjYsFCu1fhIKY6\nkCNO2czM5yQqzs3ftfLg8FNNG/hx/GFFORqqVTw0/YsahoRH6sdgwa3BoR0K\nrHT0cN7jTaqHsz8j2DEa66yCZR8bOVnZwb9gdFCZ8jHxAU1mliZ3T1OnqUWm\n3NLrXxsobf/4fnbu2PEs/uKr37m3gU6suHFE6Z6uO6BrfcxXcNDEEjJCzqG3\n9hBkDiqQ0RK2Z/JNC3zbwEQSsqQbMZwpmLh8RM5zHY1hHGL6O5aE7tI2MBpg\neqjgq1I8RlceeQ5Nd3wJUWtDv3ax1SC6eTeozLe3gUpqurzY+UDwnxsgZDwU\ni1WoR9xTqTlVfEA5wjCvv/UaAqHivXEA+OWs2E5hYlPfZpIwmia5TeFgYaaa\nvOgQtmx7sYRHQtGa76iWMK7jwjZ6q9pTO/90Q5AMI1y0nnv56b4fKqr3RoTp\nCJ6xFcfCx0qwlkgY5RN+u7rX8og9R8Ab5R8ja64YHcnysVU181eUAEhWnPuA\nCrXO\r\n=2ciO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGsfQDFNLxR9Dq7D2rwWycUYJ/WuC8FuwFLG2LhnEtmCAiEArm85caDYXpR5pnl0Tdm+uhSYBUeiDJ5TL891i2wnrjg="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.8_1580834362935_0.6698699309558249"},"_hasShrinkwrap":false},"1.0.0-alpha.8":{"name":"vue-composable","version":"1.0.0-alpha.8","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":100,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable","dependencies":{"@vue-composable/core":"1.0.0-alpha.8","@vue-composable/web":"1.0.0-alpha.8"},"peerDependencies":{"@vue/runtime-core":"^3.0.0-alpha.4"},"readmeFilename":"README.md","readme":"# vue-composable\n\n<!-- [![CircleCI](https://circleci.com/gh/pikax/vue-composable.svg?style=svg)](https://circleci.com/gh/pikax/vue-composable) -->\n[![Coverage Status](https://coveralls.io/repos/github/pikax/vue-composable/badge.svg?branch=vue3)](https://coveralls.io/github/pikax/vue-composable?branch=vue3)\n<!-- [![npm version](https://badge.fury.io/js/vue-composable.svg)](https://badge.fury.io/js/vue-composable) -->\n[![bundle size](https://badgen.net/bundlephobia/minzip/vue-composable@next)](https://bundlephobia.com/result?p=vue-composable@next)\n\n# Vue 3\n\nThis version is `alpha` with support for the vue3 ([vue-next](https://github.com/vuejs/vue-next))\n\n> Check webpack [vue3 example](https://github.com/pikax/vue-composable/tree/vue3/examples/vue-next-webpack-preview-master) or [CodeSandbox](https://codesandbox.io/s/vue-composable-next-6m5et)\n\n## Introduction\n\n`vue-composable` is out-of-box ready to use the brand new [Vue 3](https://github.com/vuejs/vue-next) [composition-api](https://vue-composition-api-rfc.netlify.com/) generic components.\n\n100% typescript based composable components and full type support out-of-box.\n\nThis library aim is to be one stop shop for many real-world composable functions, with aggressive tree-shaking to keep it light on your end code.\n\n[vue-composable](https://www.npmjs.com/package/vue-composable) is composed by two package [@vue-composable/core](./packages/core) and [@vue-composable/web](./packages/web).\n\n- [@vue-composable/core](./packages/core): contains helpers composables, such as Promise and Pagination.\n- [@vue-composable/web](./packages/web): contains [Web API](https://developer.mozilla.org/en-US/docs/Web/API) implementations\n\n## Installing\n\n```bash\n# install with yarn\nyarn add @vue/composition-api vue-composable\n\n# install with npm\nnpm install @vue/composition-api vue-composable\n```\n\n## Documentation\n> NOTE documentation might be slightly wrong, because it was built for the v2\n\nCheck our [documentation](https://pikax.me/vue-composable/)\n\n### Event\n\n- [Event](https://pikax.me/vue-composable/composable/event/event) - Attach event listener to a DOM element\n- [Mouse Move](https://pikax.me/vue-composable/composable/event/onMoveMove) - Attach `mousemove` listener to a DOM element\n- [Resize](https://pikax.me/vue-composable/composable/event/onResize) - Attach `resize` listener to a DOM element\n- [Scroll](https://pikax.me/vue-composable/composable/event/onScroll) - Attach `scroll` listener to a DOM element\n\n### Date\n\n- [useNow][now] : Return reactive custom timer with specified refresh rate\n- [useDateNow][date-now] : Returns reactive `Date.now()` with custom refresh rate\n- [usePerformanceNow][performance-now] : Returns reactive `performance.now()` with custom refresh rate\n\n### MISC\n\n- [matchMedia](https://pikax.me/vue-composable/composable/misc/matchMedia) - Reactive `matchMedia`\n- [breakpoint](https://pikax.me/vue-composable/composable/misc/breakpoint) - reactive `breakpoints` based on `window.innerWidth`\n- [sharedRef](https://pikax.me/vue-composable/composable/misc/sharedRef) - cross-tab reactive `ref`\n\n### Storage\n\n- [WebStorage](https://pikax.me/vue-composable/composable/storage/webStorage) - Reactive access to `Storage API`, `useLocalStorage` and `useSessionStorage` use this\n- [storage](https://pikax.me/vue-composable/composable/storage/storage) - uses `localStorage` or on safari private it uses `sessionStorage`\n- [localStorage](https://pikax.me/vue-composable/composable/storage/localStorage) - Reactive access to a `localStorage`\n- [sessionStorage](https://pikax.me/vue-composable/composable/storage/sessionStorage) - Reactive access to a `sessionStorage`\n\n### Pagination\n\n- [Pagination](https://pikax.me/vue-composable/composable/pagination/pagination) - Generic reactive pagination controls\n- [Array Pagination](https://pikax.me/vue-composable/composable/pagination/arrayPagination) - Array pagination\n\n### Promise\n\n- [Promise](https://pikax.me/vue-composable/composable/promise/promise) - `Promise` reactive resolve and reject\n- [Cancellable Promise](https://pikax.me/vue-composable/composable/promise/cancellablePromise) - Allow to cancel promises\n- [Retry](https://pikax.me/vue-composable/composable/promise/retry) - Provides functionality to retry `promise`\n\n### Web\n\n- [Fetch](https://pikax.me/vue-composable/composable/web/fetch) - reactive `fetch` wrapper\n- [WebSocket](https://pikax.me/vue-composable/composable/web/webSocket) - reactive `WebSocket` wrapper\n- [IntersectionObserver](https://pikax.me/vue-composable/composable/web/intersectionObserver) - reactive `IntersectionObserver`\n- [NetworkInformation](https://pikax.me/vue-composable/composable/web/networkInformation) - reactive `NetworkInformation` wrapper\n- [Online](<[composable/web](https://pikax.me/vue-composable/composable/web)/online>) - reactive `navigator.onLine` wrapper\n- [PageVisibility](https://pikax.me/vue-composable/composable/web/pageVisibility) - reactive `Page Visibility API`\n- [Language](https://pikax.me/vue-composable/composable/web/language) - reactive `NavigatorLanguage`\n- [BroadcastChannel](https://pikax.me/vue-composable/composable/web/broadcastChannel) - reactive `BroadcastChannel API`\n- [Geolocation API](https://pikax.me/vue-composable/composable/web/geolocation)\n\n### External\n\n> New packages needed\n\n- [Axios](https://pikax.me/vue-composable/composable/external/axios) - [@vue-composable/axios](https://www.npmjs.com/package/@vue-composable/axios) reactive `axios` wrapper client\n\n## Examples\n\nCheck out the [examples folder](examples) or start hacking on [codesandbox](https://codesandbox.io/s/vue-composable-examples-yuusf).\n\n[![Edit Vue Composable Examples](https://codesandbox.io/static/img/play-codesandbox.svg)](https://codesandbox.io/s/vue-template-yuusf?fontsize=14)\n\n### NOTE\n\nCurrently only works with [composition-api](https://github.com/vuejs/composition-api), when [Vue3](https://github.com/vuejs/vue-next) gets release I will update to use the new reactive system (using [@vue/reactivity](https://github.com/vuejs/vue-next/tree/master/packages/reactivity))\n\nFor [vue-next](https://github.com/vuejs/vue-next) support please check [@next](https://www.npmjs.com/package/vue-composable/v/next)\n\n## Usage\n\n```vue\n<template>\n  <div>\n    <p>page {{ currentPage }} of {{ lastPage }}</p>\n    <p>\n      <button @click=\"prev\">prev</button>\n      <button @click=\"next\">next</button>\n    </p>\n    <ul>\n      <li v-for=\"n in result\" :key=\"n\">\n        {{ n }}\n      </li>\n    </ul>\n  </div>\n</template>\n\n<script>\nimport { useArrayPagination } from \"vue-composable\";\n\nexport default {\n  setup() {\n    const array = new Array(1000).fill(0).map((_, i) => i);\n    const { result, next, prev, currentPage, lastPage } = useArrayPagination(\n      array,\n      {\n        pageSize: 3\n      }\n    );\n\n    return { result, next, prev, currentPage, lastPage };\n  }\n};\n</script>\n```\n\n## Contributing\n\nYou can contribute raising issues and by helping out with code.\n\nTests and Documentation are the most important things for me, because good documentation is really useful!\n\nI really appreciate some tweaks or changes on how the documentation is displayed and how to make it easier to read.\n\n> I really need an logo for this project, if you have a good idea for a logo, please enter in contact with me, you can find me on the `Vue discord : @pikax`\n\n### New composable\n\n1. Fork it!\n2. Create your feature branch: `git checkout -b feat/new-composable`\n3. Commit your changes: `git commit -am 'feat(composable): add a new composable'`\n4. Push to the branch: `git push origin feat/new-composable`\n5. Submit a pull request\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n\n[now]: https://pikax.me/vue-composable/composable/date/now\n[date-now]: https://pikax.me/vue-composable/composable/date/dateNow\n[performance-now]: https://pikax.me/vue-composable/composable/date/performanceNow\n[pagination]: https://pikax.me/vue-composable/composable/pagination/pagination\n[array-pagination]: https://pikax.me/vue-composable/composable/pagination/arrayPagination\n[promise]: https://pikax.me/vue-composable/composable/promise/promise\n[retry]: https://pikax.me/vue-composable/composable/promise/retry\n[cancellable-promise]: https://pikax.me/vue-composable/composable/promise/cancellablePromise\n[debounce]: https://github.com/pikax/vue-composable\n","_id":"vue-composable@1.0.0-alpha.8","dist":{"shasum":"053074a50ee74784244d9a68ed28b0056cab2bd5","integrity":"sha512-2a7noeRdKAGctH7RpAPOo0cX5Ik+ayzQBrWyUnxwP7C/sKdHPHhFChT04z50uaRxH7YLtiEuaWLgQHjq2gFowA==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-alpha.8.tgz","fileCount":11,"unpackedSize":75417,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeOa4/CRA9TVsSAnZWagAA5boP/0sa1c2O/s2Xtz5cZ388\nSMmLxad8KaN1fGtxHawxP2j4wm1KsjJo6aQ/tTfOtvnp1dibUXKX3ZGzFU3K\nK7sUkiX5fCiLIqgUZb09Ak3PPtZp9/jD4L9M0AzCqGDmaCOmdJkeVUz7eX2C\nyxnAohy9zw3RVgsvM8NO298A59gMBLgYiEruy6gMYRdwUYPswUUhvPiQQDzW\nPTVCQhzP9fwHDzLOeyX79q9TNDocXfdUDUw6rhz2o1dgAQftitXBSHxXoEJs\n79bwMahl6a4tOzI5X7+SSWok5mrTAj2n/PxFNWo/GSKZUc3exrwpMiDEeZ8+\njNIXnzAM6Y1QNwcQWo0lvz/sIOQOPLEMB3hWilyminFcra4ORsN1HlDJT/jQ\nR4k9t0/mIL8P5N4lJ7I6OD28SzgisBuACHraaar9RW8dgFsJ+mKpiSRbCubh\nl4gN0UcjZjvj1SRSOF6eXvNJDZO1vkAOmsQSXtZWfuuSkCTxNHisyF4Wx4Yv\nX7yQ8sj+xNlqVp9etYPCmRA6TuyICBbP9zCs22I6n+H34bunLzlc6uAXo4Ut\nLzoryQul6xQvskYaSrb9g0uV4Nvm37O3nxM6ccbUg8POLuBa//ti+QiSRoTD\n1pKCRTXWp/TLGeASez3Yg4zjhH1tpuBZISsOLNPYZewJ1xCODNSc1i+sPOMV\nqzfR\r\n=FJCP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG9ptXZ5mqPOZLd6Mtu1pmmwuXU9uvJ3J7wz0dI7GlVCAiBH41/V/Ljcfel/1y6oWhUJL1FJhAFLJAyUOK2KHDTYhw=="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-alpha.8_1580838462636_0.8106547811455949"},"_hasShrinkwrap":false},"1.0.0-dev.9":{"name":"vue-composable","version":"1.0.0-dev.9","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":100,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable","peerDependencies":{"@vue/composition-api":"^0.3.4"},"devDependencies":{"vue":"^2.6.10"},"dependencies":{"@vue-composable/core":"1.0.0-dev.9","@vue-composable/web":"1.0.0-dev.9"},"_id":"vue-composable@1.0.0-dev.9","dist":{"shasum":"a35e04e099a56d0d32bed2c39057b5eb70468584","integrity":"sha512-IHd5kVVDbeJSW8MMgaHLEPmASzk8FTRtaQ/GMYgaLfmA2kG/3gRRmXmaW6JOdTJVbJl3pCO90xiqYmO6WfAoQw==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.9.tgz","fileCount":11,"unpackedSize":78789,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJePaZ4CRA9TVsSAnZWagAAO7wP/3fM823010wn6cBbJjzB\n01eYDCErUpU6+JOB3W5Eoxi1LP28VIwgV01hUdFBN6RCfXpuHb1qqj0HyNWw\nNlUiocUZWe/VwykAQfkTgqiVOuBUmWpqEyvb+xqgbrgspWiOCpOVu06xoEn9\nZVeNe70mDU56nUtUtEURzvDgZN/UwDELCO/gt7KvmvO/dR5cMOdz/jDQsD+e\nAGAwUlu8BDFMB+T+57p5vI46bU4Pf5fQE5jMoeUvDgoMoUi8lbM86sQ8wxFX\nOE2I7+kYoBYojWmcqOWrubgPzejEiLNeXM6BBqtEFn1P8Ce+7Hwd58pwdjGt\nqPFO3Ej9yQNpFEUxpKDJEPkf1iRTMrTgMS50mIumw3kexP29VQwBtcBVMANY\nzpAGj6BkL6htKSRgYiXrL8g1UrcwJQblItHPfs18ReV/6K9/cwnrVE1BilyG\n3s4HIuRW736Ksw5mSgRPgfU4SCdNnhYCTy6lSuvfJ38HC0pQgMZ3Rg8pp5VU\neTzJdEoaxr9xSWhtT0KSYXf+QuWhuNE35amAaQLb+hp5rCrbLQLY5vwpELsW\nJC5oXQxjKuFbkF62IjnHEpWzIXMbLlgezX2EROJ2sMo4P8hcAFzzLM1qMp/F\nkXjb4Ivxj5DkUEeaS2pfuqRIRQIslQzJxj0Gfvtb1VXV/9OwSFOPCplEyn2i\nC0JU\r\n=AMUX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDJv8r21MI4n/PpWXYTSD4S51o1esXO0UjmRQGfVkneRAiAwPJNCsmVJwr6S7yXDJRW2Cs8poXpdxhdbDakNiiOldQ=="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.9_1581098615811_0.9964265505075574"},"_hasShrinkwrap":false},"1.0.0-dev.10":{"name":"vue-composable","version":"1.0.0-dev.10","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":100,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable","peerDependencies":{"@vue/composition-api":"^0.3.4"},"devDependencies":{"vue":"^2.6.10"},"dependencies":{"@vue-composable/core":"1.0.0-dev.10","@vue-composable/web":"1.0.0-dev.10"},"_id":"vue-composable@1.0.0-dev.10","dist":{"shasum":"39e151a1a8db08ae98813539271800507303da8e","integrity":"sha512-Bwta1ITWTjrh+pGNqYYx8EALCu3L+kc/piIef2gI6biPYQP7emT60eVn8KtEDbQHZbRPIcPSYOp672wzKu2WQQ==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.10.tgz","fileCount":11,"unpackedSize":92865,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeUjjeCRA9TVsSAnZWagAAqUQP/2WtDhhLcbrnEdJia7d6\nzkcOtu3IM7Hq/Yz8UT8A4qb/Af8UG0cn+RFAiwIiccHemGV8hFFiEHLl7tgC\nVZ3LyEZ8vZ1z5IKfEv3cGIygOX9zywyx4Bpui6RsMeHBIKzbXy39sVL2Ukvl\ngG4rbQPh15qjfVAVp9Vfnle++BbKfZ8Z/2QaHAHNeah/RQmfV5Yq/VOE/W5i\n0vYW6Arh+Cp2xY7eIXjIuMDPsSeeswHITMhshsbZ22UaGA9oYu68QXrGnfuJ\nrSFRDIqqial61WEzVjPP3raxi2FTQJd4neLTN93NAEO5a+MR8zd6y+0pBScI\n33kP5M4RR00zRe98SHKeZNsrxuhNUq9sHt/xQcjlUeL2ASkTrAX2Lf0mASVh\nHEjo6Y3HmZh+3kbVUTe04siwzzcech7czzpHUcaUfNpDCo5YIMMzHglA7i0u\ngwN3as4768zA2MY9OustFNK1874oNiSTcSyImGq1hvf63vndjjiFC0d0vobZ\nyNGg1c3d5tfwwgv1rghSn/X248xW4ARJ127B5gW2Ha75/61gBnmvXrgxW6VG\n0iZG8spVsjW//UrEufRle5kP6myFjoRVnIiHRTTCgi1+yX/sMsz/zLhyqu2/\nNsJonP8UQGcNFWLxS35K7Ew6yyDnTXl/hnAAUiq5BtF2x8Oolbm9ad1/W9vN\n7B7Y\r\n=abEy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDVuSUCeBTzuWqTnBeNqfp5xnsrcdFC5ElHGgqTHL92IwIhANdsQpoO5pZEuEdjuiJY2MADB63iT/CJQXPOTgnfipl4"}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.10_1582446814296_0.16637249875469018"},"_hasShrinkwrap":false},"1.0.0-dev.11":{"name":"vue-composable","version":"1.0.0-dev.11","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":100,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable","sideEffects":false,"peerDependencies":{"@vue/composition-api":"^0.3.4"},"devDependencies":{"vue":"^2.6.10"},"dependencies":{"@vue-composable/core":"1.0.0-dev.11","@vue-composable/web":"1.0.0-dev.11"},"_id":"vue-composable@1.0.0-dev.11","dist":{"shasum":"307774cc4ed494ef2863bfff3d6c7fd78d8925cf","integrity":"sha512-QOx5EPZ0TuYW5cpzGyXgFnRX9yktxmAz5eUTg2GbkjEUlrb5QM+woIFOlQ4W9PpHzCABdT4u09NopciTZYZi3g==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.11.tgz","fileCount":11,"unpackedSize":100867,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeU73vCRA9TVsSAnZWagAAJ6QQAJWQHnH1vzhGvz3nrojS\n3sM8DLwC9WsO0zEwJjW+8mgdFLNNBIHvpByXa6YrkH9qS2FqBOEFJ15QJvOR\n47EhSTPsllT8ye+zcYT7hie4iVhcRj3vV6GA9P5bHA6PJwc65NtaxM2pCY//\nATRsT95nXoIpc6YC9yQOUuYNNNAJkgBeFl0WmNfHDQO34gcB3gbA1HEE1FSa\nFUlZNDCOLrfDnBA9BNAA1gRbLkAv0OtdDvmrPYLNr+5apLx2HhbOITE2K+3I\n2QNHc/xsU+hFoVd3jAYRgFMI0uKvO0cBWi/b8P/NBtHrSbCv6cSQJ0gp97nt\nGS391x4PhY0bv1pNxRgcyYQplY/wY8pJ5l1PgH4Wu22Tu21jGJMXp32uxf+n\nh5rtH4EFin0zdqjXVE8a1E/Goi3vSnukCdPTTnaMXJRXvrrBC4vJqAz5nUh4\nJFX3T/+k9/QvNGHtVDT3FSb7xjY0/fmobx7OUIRnBKRN3qs4hxCbdH5sDf1F\nrM6S5VGnCRnoPnZ04Nty+ZwdyRsqCm32bwxHqEAA15UbHASCnHAiDONALxke\nNhN6/iuFsEDPaO0lFh7vcuHg0fg/WZ8DIesSIu+8PDKRZG+MUpPKIj7fIKNS\nmXgcRoGdwTNSNgC4IWD7arJndjjTtLVdt3o0L81Mdd8VFgSa5PDCtBGsBA3d\n6Btx\r\n=bHjN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAProcopZsXswusHpDAMQ4ap0QajiBip3BfUfCjrcbZTAiA33fVuYS8UKDg/TKQR07mvd2uBIlkSgMAemdb1QTT7zA=="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.11_1582546415398_0.28493347214635456"},"_hasShrinkwrap":false},"1.0.0-dev.12":{"name":"vue-composable","version":"1.0.0-dev.12","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":100,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable","sideEffects":false,"peerDependencies":{"@vue/composition-api":"^0.3.4"},"devDependencies":{"vue":"^2.6.10"},"dependencies":{"@vue-composable/core":"1.0.0-dev.12","@vue-composable/web":"1.0.0-dev.12"},"_id":"vue-composable@1.0.0-dev.12","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-nqEbj+boYvL0sLMEeNFzcebgDkCPhszGhjQVraRiKWmTLv3IUaSACaBxHgKxlYO59oSk7V8TLIrV3Tk5gZ804Q==","shasum":"1e6520b285aead9452405bd2ebbe2d584c13e912","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.12.tgz","fileCount":9,"unpackedSize":102879,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeWEfBCRA9TVsSAnZWagAAQREP/1XfMkeqN96DExyZ6spE\nsy6kz3CdViz5WhP+KB69V4IdKiPTyM8/Fak010QEdSJ/EF08c/qkdUQ36zRm\noEwYlKCKu4bgrG2ZnvT+ldEWIODhMJH7wagJoMu9UcQAUHhUIOsk7ykcDiQ8\n8JC31S96+e41lJnapXSq+XI8ids9kO4+PHCxc5zIamrqVhDreuZaTGVZVfVl\n97x57JqhsSbLmyFzzm1gRpHRmRrK7IH5pJY2pCEGwJRqNUS/pWotok75S3fP\nxes04jo32i/3yNGuW7XYj+dL93sNHseCmQgJDOMSSP+ViewH1uMYlGU1ktFE\ng1pSOQCssjj7ClLWRRE+vXIyfWC3wyupcpW/d6APUz1ocXCMlPj15VkM3szp\nRTwwGeTob7Q84mv5az15ShFSn2YQAfEBIEXFdeYmziNF3CngnI+1rU2Tpo3I\nEcO4CrvPVDDNc41NXs2ZrHhhgjJodETm+MsM7wpvjbHUQtwbOsXnutgsek83\nbLDMAVaFqdlG0iMpLR7QWU5x1dWPKuqj6pD5eyvXRoDUX3rgxNeaTai4NW5T\n2SIyr+URw/8PZzxNrRC7o40VuMCJXJD96owELGUx4SHjMtREmL/c7cmUJTN/\n2hz7Ckpv6AjlmboYz6GL4mTjlQcvFVYDXqEzwbRhSYuTRMIyG6OVXhQEiF3y\nADRP\r\n=FpPC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDwMDaNN+r0i30wPUgTHS49fqCswOdrVnfHXQNlGccNPQIhAJab6A+cB1yvQrdNQcOqUfpBbHkLKiVqjeNX7p3vIkiv"}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.12_1582843841112_0.5329458289046043"},"_hasShrinkwrap":false},"1.0.0-dev.13":{"name":"vue-composable","version":"1.0.0-dev.13","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":100,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable","sideEffects":false,"peerDependencies":{"@vue/composition-api":"^0.4.0"},"devDependencies":{"vue":"^2.6.10"},"dependencies":{"@vue-composable/core":"1.0.0-dev.13","@vue-composable/web":"1.0.0-dev.13"},"_id":"vue-composable@1.0.0-dev.13","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-f3s+EXba6ubq4Rbpe5kFVTuwE8XFTzZ5e+60Sb4SWjwFVJ7AbPGwDq5NY3/IZMu0QIRCqHtjyWq2Y9mpTh1RjQ==","shasum":"94cbc7b9dbbf83da0e04f78db9b2c2fc1da5e3b7","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.13.tgz","fileCount":9,"unpackedSize":103119,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeWFMrCRA9TVsSAnZWagAABVwP/iJ8tdv1ZvpEVUu6Z9GF\nB5c4OCmsGTIajOZxxJPh2znk+e6kOx7U1yZaNEdiGgsYfNReQgnwZ9jiwhES\n2v2L6ee7un58lUore5w2fhGcsxxYBkfPKJ1Bci12YVezCZRrTkSaWMZ4n5Jw\n7si3LJ/rZg44Yfq26Z0Ak1yUNqQlGVHp65/Jdl7HrgKrqxbKdV+mORFa9FXB\nFaHsWgNusLRRa+jkori/6neefnwi7ssADx65aAcmwGjquxQ2c2gC62OM5ULV\noVoDKQ25Ad+aOL1f46klcberOtghI32Z4u8jvjoYFh1afwE1L9L3ehuHAtCz\nqztyJlAs/KVy0DDbGi5Kz5I21OgdX8ZNUDwm2JC/VuGhr2HTzxJCc+/oj1rP\nmR6WbYrEjsXQO5+wQbST9hONVRe4WeKrzQbwH3uaO/6iA8Fa/dkbkYRI6zna\n7udOnGfJcZrLY0FimBOOTK80mZjHGjv7DwqM9oUtezQRjsuVSz87UfJRBvUH\naUojckJp8lWqwghxu/eLuUzaPPbejF2tDk+e0hNt3IpfkK5A7Wd80uqhg3tc\nrEsBj1vrOam6t3Qrb0j70lAkxRSof/vC7CJcMPBmRf8A8VdyPnJP3Xm4G29c\ntQx8tRuiTJQjOcCXnoOkdQHPOuJcTQSD2sBhS3FF6J92ND9rTIw3yFT/XQ5v\nqw1p\r\n=xccA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCUYa9EHlDzGJ+fLYM+Mkjo9/c+9aKuGE/umsmyAnVLhQIhAMhRTJGZ9v6Eqixpvx+zMfoEkjo66SL8vFfbjV3bN45W"}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.13_1582846763547_0.4291709514762878"},"_hasShrinkwrap":false},"1.0.0-dev.14":{"name":"vue-composable","version":"1.0.0-dev.14","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":100,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable","sideEffects":false,"peerDependencies":{"@vue/composition-api":"^0.4.0"},"devDependencies":{"vue":"^2.6.10"},"dependencies":{"@vue-composable/core":"1.0.0-dev.14","@vue-composable/web":"1.0.0-dev.14"},"_id":"vue-composable@1.0.0-dev.14","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-hzgjfDD8bQ1BwbN9hOZ/+4QNKF+sKXiywAJgPfAcI7Mkr2BipnCINPFFP9ppuH3DCAz27u3s7ZBUjgyw4coZTw==","shasum":"c42fc66e999fccf51e5e28584dc6c1fe1f72487e","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.14.tgz","fileCount":9,"unpackedSize":109755,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeYOMLCRA9TVsSAnZWagAAb2YP/06R5moWnRX3fBrdnP+D\nytP1to5zY0r303SSC9caCz04bYZtg5QREtKUrGmQDbJi1uyso8EdBzIzXP0A\npt7TxDTABHj+lzlDS06QCrcqU7qlnlHhGiXV6RMX8CP+1itVpmT2K+700kTR\nV73P9A0LRhKPedkcavTcth2u89AFMdOZQUL6juM79gWGmGPCUD1nBRLcR27J\n22CeIenlSZ0NV+oNjgvCKj0oJ5g2SYXA2Zzm/bzRyZRXjPRKGdJ0mZ2LcUiI\nYF7NAgOF/73SCnzv4vKXXkG9MejM/sBMUAu+XItDnHpj6meMQ28Y7B6XaRRF\nWUuAZwTFdJ9eoV5avcm6/owbF/EoxKnQw00SxMffcnEhwo+u7i5tpMEuH00s\nB71SpP9mwODblahaLlZuD/qPDif9y5H/Aw9VYIHJ/ZDIweifUgrLyIjXuw0i\n//ukw47tKAHJN/6gVh4IFwQLXYn02fEgfuhz81rq84BZYF8Ybs9iQUbHG8S7\nQh3AJzaq7BKH2mX24riQPEwBoOhloqowQTH/iTnWCONsmtrvDBgiwzEIRiYH\nx4z8O/Ylf5tBR5xjQrsO7kqq0HwAwcPDN+higTDcdVkS9zZxO/VzoQEsrFvX\n2vMP7hBkZ49aOgx9f+ZVayL3OETeK94pbUWmjPYUHZCNo0Q1JGyjVshINziZ\nIXHJ\r\n=10bS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCpOnyy9H+fBEUeF3JcMtU13DLug1DBjBbT/1Cat4KclwIgLHf1r1RmYvcgXlUW1mIPlaWHPFuaGJV6JgnLO8XSTO8="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.14_1583407883373_0.6218321462974656"},"_hasShrinkwrap":false},"1.0.0-dev.15":{"name":"vue-composable","version":"1.0.0-dev.15","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":100,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable","sideEffects":false,"peerDependencies":{"@vue/composition-api":"^0.4.0"},"devDependencies":{"vue":"^2.6.10"},"dependencies":{"@vue-composable/core":"1.0.0-dev.15","@vue-composable/web":"1.0.0-dev.15"},"_id":"vue-composable@1.0.0-dev.15","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-qFHcmWhOLG+xHjls83hgCbihS73g/k7lHd4CviMmvt1AZRK5IayYrrUszvGv41WEm+OXjnE302kqscDbdaBv7g==","shasum":"f0139812956e05503f46c3d549886ad290dda912","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.15.tgz","fileCount":9,"unpackedSize":110474,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZoxMCRA9TVsSAnZWagAAyVsQAJizSsN9uTg5lU8mf84f\n6BMfaq2V2Zyl0XAiYUnJzwt6K6p6UfacQOWUYsMp8ZPF/ZSCaDVafwLP5RL+\nPi4VeKS29q7Ci21sU68sY+Imkoqb5Zu30Tp32QYRY1oPFXyI7MUuYGxv8SFI\nVRewL56yilqMgzmg3lsRGKMMGR8kzFQEYeIOJQMdSJRNzl6QrWMpAilU5H1/\n26kCvt6vzFZ4a+HxXHAK2JnuU59CxaVqSReDxbiMX+8Wm9A31elbpvDGEdOU\nHPgbojguRApoylTeLv47Ho9Nn0AC4kmEJXwWCHKcd9YWrqKH5rvXuYENew2z\n+QjOEqSRZe9HwjFlW0ERBP/31dbjWMmQEeLZzZkbd1h2rFwdhn7sAPnykR/S\noCOxri7i0uHlfK2IZioeZCtDkRVQDsZ/WVTflm8WH1aOAW8bRS+qOPAz0oCk\n2up4jC0h7D7yd+SonPU1ffZR5MsjQVXoGFK0Txe2b9VPupfBFP8QWXMyrfDc\n44iHvg1JP23VdVDFUV3q7kwli7cfSOiLrx5S6ochGbPEP4h9PrNjIFVrJ/B9\nN7n8vbw2604HXeYcoNtjqRQGNFRZU6xaRcYJjVJ1DoGGVfq5BNMhrEPHdy0I\ngpj1orw4trgmKLlgEif+/35DcS9V5wYBihLsivHRuQJ49qOxnJyd1rwGVh4W\nQn9k\r\n=7U0/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFaduh1TTMwa+4FOX5p0+dERNKphVghZ8OEK8wcPWewEAiAndp+QKd6ME9119LS4EmWlBLZ4h7zvIiy1pam4p66KKA=="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.15_1583778892352_0.3104790576053489"},"_hasShrinkwrap":false},"1.0.0-dev.16":{"name":"vue-composable","version":"1.0.0-dev.16","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":100,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable","sideEffects":false,"peerDependencies":{"@vue/composition-api":"^0.4.0"},"devDependencies":{"vue":"^2.6.10"},"dependencies":{"@vue-composable/core":"1.0.0-dev.16","@vue-composable/web":"1.0.0-dev.16"},"_id":"vue-composable@1.0.0-dev.16","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-IbzRN9i07l9/5LqwBsJTWlIEGvLDjkb0O7ZdNADZOPn+AJcsW6qIY81o6DjVpJcltfzWKGEMIxH9DGTO+KE2Og==","shasum":"9ed9b15e790fffaacf2b3774afc7d033ff4aa381","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.16.tgz","fileCount":9,"unpackedSize":111274,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJefmb5CRA9TVsSAnZWagAAtKgP/3JrwVZlSZThlez6NBVS\nh6IB3ukPoIb1qLy0tw2rqbFHDZcxLDLqcBXIxdfctUd8XPny6kkpGBs8axzR\nM/Je/MzxtzcHyLpijtQoTjMY/qdgZsIDPodamnsrfcp2KeJZyxiM31ixRKmW\ntke6urj8pzm2gK+Ese65HrhK7renB1wZJJQbWRzdmrHQN/B1iIfhJ/lvzCK0\nRxykiNU3pQlx5lWgufPbzCyp4evG9vNhC4fMwXG3g6EFAbYeX32mr9JhbQYf\nXrl1niTbIlGJndMHmz8z6RIQmKvds1IAdB3GfaHeJjcQQ2pIojdK4h+JJDS5\nnfx0VziZ6fnBx2IFvelRVQ8XG3Q3hz9mmBF9bOG2hGa5z0Rb8c8hA3r1AxXT\nqabu+iKN6OtWHR856Y3NVGUcBpEqWOFpeZdgt5CZ4az5uThjJMFELE0ZTyQe\nZ74L68XaKfwM5EfOoI2H93nSEEM2J5EDZt4igJmsTsj2WFyVjOBQ0+C9Owcc\nvxNdUtON7MQhlOhPEF82L5i21+XDq/8GA4Ts8j4ezM6mzHZVd3MALSBZrI6l\nycMUQH5jmOJh2oVVN+nwNmcSuro66U6VEVFuSyEyU3gXq1F1oqhPmraN8Ip2\nk3PBPbmqxOQvflwQsbv1C6+kJ+FtU/1Z4f4zp4l7fLcBkkv3bhGLRdwdK2hk\nHv+4\r\n=CoK+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCV5iSvIZxC0kE3z52XIY3e1XgCFW4ob5WmL6R9UJosZwIhAJc1VUlpNHOU1SABSGqYoW0sbuNZeEwolZInSs5C6qAD"}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.16_1585342200564_0.04688571766059502"},"_hasShrinkwrap":false},"1.0.0-dev.17":{"name":"vue-composable","version":"1.0.0-dev.17","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":100,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable","sideEffects":false,"peerDependencies":{"@vue/composition-api":"^0.5.0"},"devDependencies":{"vue":"^2.6.10"},"dependencies":{"@vue-composable/core":"1.0.0-dev.17","@vue-composable/web":"1.0.0-dev.17"},"_id":"vue-composable@1.0.0-dev.17","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-PGg2JTKnh+Te6g8xg37iN0tyZcT0/+5r/AZijeRK4pqEsjrcD/gG5xDX7mEe9MzsnFTwPWWO3bK0do6pntvvqg==","shasum":"0d27c017890c047369ea8682f978f1b66783e019","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.17.tgz","fileCount":9,"unpackedSize":115221,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeia7PCRA9TVsSAnZWagAAPPsP/2jqu7kuxOQ6F9IOdYQv\ncKlzsvzcVK5sMxl4+cBJMs3+bquko7u/4TRpwP09mEhNxkTMzGR3EF+ME8if\npqVHogHY+PYUoYAb2g1yIzpbGhwjrR3JWPWXdFF1zAauRea2i0dFmkNzxbxo\nhA1a/YA3szyq/Pb4NwdJb/+ncQRQFf4DwHIbpBKVGittw/DdaPxYdVkIA+Gn\n2ovC+9Xb1VDGO6U/tFnbe7NMXdLfX77gFzQF3QzJ70M4AbK5O2Guutv286w9\nQL0KqmE2N2jNVE1T+5GIU0W1XhAzdgjm4zPVMqpnR9qSaTrpdMivqxIIb2hA\n57p/sLGzHtTG8Z4B9L753qrX0s1vNjOpsxmlNS/8pxg0rQohw2f6bBH5aiHF\nAir+EYRjxEStIg5sf3ALseDb0g6jldQhcm9RRem944dBF5P6eleVtobKFgxs\nDaG7FbtzBp+mkKoo8Q0UnwPRK6lXw8LmOg4uYT8Tjr6GaZUgmf6YGh3vc4/x\nvxPxp0N6VFu9n3lu+FbcT2A9bv9rLHz/2LA1aOuIf4w6eEVfUPTIirdLxSPo\nV1PGmlNzmb14dLaJJVNEXTIt9RRzVElXWXFSQiMMGi4IC8ouSkvrcdHud5qt\nDbi61MigVCibPrj5MU5nn1iqew7E79fEYQS0aRf/HQc3XwZ+cON7+Dsx7KIO\nioWz\r\n=CXQf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGn8NUr6cIYtBzRfpH0j4u4kU+FpkGJ5yOyssAu8UJEhAiEA2LzRgM+Ir34lvT8vqObbUO1Zo0owDvY4wDfNaferrb8="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.17_1586081487151_0.6171838833826016"},"_hasShrinkwrap":false},"1.0.0-dev.18":{"name":"vue-composable","version":"1.0.0-dev.18","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":100,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable","sideEffects":false,"peerDependencies":{"@vue/composition-api":"^0.5.0","vue":"^2.6.10"},"devDependencies":{"vue":"^2.6.10"},"dependencies":{"@vue-composable/core":"1.0.0-dev.18","@vue-composable/web":"1.0.0-dev.18"},"_id":"vue-composable@1.0.0-dev.18","_nodeVersion":"13.11.0","_npmVersion":"6.13.7","dist":{"integrity":"sha512-A1l8su1GHZ3u7kghIs9sIBptm6d2KdgzHiIi7jTEuftstgPF44eZkFxoly84ZwhEhSRN5gsKJQaFVkd9o1I0bg==","shasum":"6ec858f0d9cbbf0b848bd9a21efc7a712ccdc9f3","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.18.tgz","fileCount":9,"unpackedSize":123227,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJei5MtCRA9TVsSAnZWagAAeMEQAJHqrytQYEzvezXDt0I4\nAI1susT8FJYBA2oJIsFd0/33CvTUzfAsHst0o+jEj05OzwLcO39TsnMc2+rx\nk/pq5K65HYuURt1C88Q87+yokRoV+zk4pyeimviMjzzghhvRpM+KsRHHICM+\nwNf6wWAqjqaf6bjFfCNUh6kZjXdcNFce+LQcQJviv/lY7XyoyoPUfy3RMauS\n3TJNIx67aH+eB+of/7+aR942UN0IwYtUydU2NB2M6Jx8c9QHHGo4hS5t8dU8\nwSBlX9dnVjwQabUgfNxqOeb9d3KtlCvJ8xiX7bLFMeK2ul0wCyNJ4tfHTOaM\nh1RvU25DaYNp1I2FHKxtZR23VZw83IcG7WstJX3pHuifgWqpIwTe8w3izGV0\nBhu88oyhJc5w297DsUSz2dIBDAj1bBfS1Y4YKvnYgTOjFsVtVaxvVj+qPOyj\nwnzUyrHhSX1HUNyeJrx7UP3dsNl9s+i35TuwKNryyK1sTYO2TK0nM6OzWSvv\nH1z3+Kr4feXLP2xRHm0ZKKNCPKEDTuZyH9yVw9upeYfVefDR3/Y2X+D0MNgy\ni6oSeJsJ2i81Ia0+wL4Xwg+Qd7KfgOIl+mL+pmVZBam1FOjyXo+2LVdvIFD0\nCOrCMNscU+DTg6/xqDn9hxUvEaEsEkniqQFspNjkAtPTf0iCDX6gjvWc00fu\n5LT+\r\n=ZT6Z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE5g6aAxxdY9Peqiy5Uu1SmB1q2oqjTtVWtnNJWI995FAiAxefRHbonBGlvJhQbtRJfv7hOt6wF7ZmoYRxPi1dUI+A=="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.18_1586205484936_0.45882334239138256"},"_hasShrinkwrap":false},"1.0.0-dev.20":{"name":"vue-composable","version":"1.0.0-dev.20","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":100,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable","sideEffects":false,"peerDependencies":{"@vue/composition-api":"^0.5.0","vue":"^2.6.10"},"devDependencies":{"vue":"^2.6.10"},"dependencies":{"@vue-composable/core":"1.0.0-dev.20","@vue-composable/web":"1.0.0-dev.20"},"_id":"vue-composable@1.0.0-dev.20","_nodeVersion":"13.11.0","_npmVersion":"6.13.7","dist":{"integrity":"sha512-Ejy90Tb/sjOAKpoGzoZ496FevBwWBEOjUf/qG8EsNGGCq2bn9y8smT5BbgCpOejLCmoFtTOoHrSQJSJufe6xnA==","shasum":"4db6ab15d52644f2ef2ae31c966e12008b72db62","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.20.tgz","fileCount":9,"unpackedSize":123239,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJei5rRCRA9TVsSAnZWagAAeysQAJmtKQs8cCdAGGNBjGAu\nkbzSeRLjVT/7L7ruIcEl++X4HhcHs1oNEOUg2Y+uByvpczqe/JpL5e1lHNxk\nDirZPqZV9JpFYhHdOPWJLdkkxa5kyIAInIMTdr/txeIxJdC+8sPhI8G1JAk6\nrWI877VTPuCwRAl+UleCu/dfEL4j+CW3sBhbBBNEFSEED9GsabAVdIUQT2ZM\nvpCE3By4OF9MOcKf1r0FW9ecPRyDHinpiubcs6DPNpQMuG33XBOkUaUNfNP/\nMZMqH5IAJ+uub2FBWbRjcpQlkcq7O9yTSO2AvmY9H37BNjopakZ/X2d46A54\nORhRsD9jodtNRalYbvOt+mVV8mfQbNIwF2OfT2gqfhr4c+t5/BM3+QC+oyKu\nJu3h2CcIqYvjgtxlaf3y3u8zuQwjd2xiU7a7sOCFQcXO2zynor3EoMFzuQBP\nXGhoTxN6VmM4eUUJkHEHxUNZqr+NawOCRloF9NV4CHA2/ExoHvm1pgKQQFWj\nNb4grOQsrL7vunzx6riFFC/pCE5l0Xo37qd0UlI62Lun2u4oNM9eTyJTeGOI\nsCGrQr4XxLUOo6ysoT0zwjiBgng7+CLs61StzUtcoWpCVpYZMOhbu2a52f0x\n6cTvb/1DteKQw6cnjqkHmeSRSsMa/DXWxpdmikXCyFXFx6lI0Zd/6nsHy574\nTN36\r\n=2O2N\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCrXYELL8+2DSwj4OCmoUbLasNeAhTr4Df0HefIO/u1QQIhANcQE3xUiRscG6JAXc59rG8MAfuR2KOxV7LOitpUjHWM"}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.20_1586207440858_0.12756447974495733"},"_hasShrinkwrap":false},"1.0.0-dev.21":{"name":"vue-composable","version":"1.0.0-dev.21","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":100,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://github.com/pikax/vue-composable","sideEffects":false,"peerDependencies":{"@vue/composition-api":"^0.5.0","vue":"^2.6.10"},"devDependencies":{"vue":"^2.6.10"},"dependencies":{"@vue-composable/core":"1.0.0-dev.21","@vue-composable/web":"1.0.0-dev.21"},"_id":"vue-composable@1.0.0-dev.21","_nodeVersion":"13.11.0","_npmVersion":"6.13.7","dist":{"integrity":"sha512-Uv1Dd1y3O398l89l8L03voDHdIIwKDvcPH3YTmsOwZapEfhY93JFbppnUCLMBYry58zmGBpZLkQggqL37f/ohA==","shasum":"2d426d60ca9613b8a7882f9213f548d2ded10c79","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.21.tgz","fileCount":9,"unpackedSize":127944,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJelGodCRA9TVsSAnZWagAAymAP/37V4DUTr4suXudgJfJb\nWGvyGZGQnsN7YCRKv86I7cl6UZxWYGH7v2BUNOLTOGzxBmHLYT+XcLxqhRAQ\nwPL7ObhKBePhU2D3Oyz8C+SCmWMB4+0PGl7ahLRxR95wp5JXWnV0vj41zFal\nLvSFaHA/O0rWGL4SAJMvlmkHCM3f4Nrnxs2NfoggBud6FML8Zn7fStbIRVd4\nM6jALnh3LF6JjAxEm99R1nE4uaIJpzSeEbiMvwDyA46iKotSNbz+z9w1Efd5\nIXxp2KroYH+Ium7M5YLrn351nehRO4ie+yDHTfU5xuK9BBggqJK1EYe/6tnN\nbZeX6ADhZvdBPCsba59gJvBHs+Vdw0RzOjUr7SQ8hTM0iSNS2eonUIV05tfS\nc6zQPD/ZFdolt9k0NhG5W9eu2xwsMvrTzUNIdg9geq3H9uIDmjGTmadCS7mj\ndLbbv00RnwMEZTAMf4G/XpDXQFOxzYT02iZqkYoOC8HcxuExtG29b3WRV0GG\nwNlzkcqJOb8UoUeEydKeU9p6HV4ftH4pxj9cm0Zh13FGLS7PicfKWSlvdD7L\nks5DNGAqUkoZA3UTfk1sjEFkqa1mzG4fpXMxZWx6jzn9NSrEOSdPAS75Zgdj\n5HnB06PdSSmNCJx65T5q8l42ynXRQWk/iioFK09LXfOe/NwpzY7AwUIn9yDq\nkLJb\r\n=6VbV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCNPUEcQBwx7E5Pnnj2oFzkCh7/nYvvTSAmhQwCXmKF5gIhAMI7UwSRIAx7mqZzMyKatRMTCsWBf3dkliAaePK2O2aC"}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.21_1586784796815_0.6414155639836636"},"_hasShrinkwrap":false},"1.0.0-dev.22":{"name":"vue-composable","version":"1.0.0-dev.22","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"peerDependencies":{"@vue/runtime-core":"^3.0.0-beta.1"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-beta.1"},"peerDependencies2":{"@vue/composition-api":"^0.5.0","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-dev.22","dist":{"shasum":"40a98ea7a4e39c68c7fc95f5e6b035b3b08d53f3","integrity":"sha512-8JdPJafxrf9R8dkxALZyBm586Jhu/oSVKEvNCk1n21zEdinxoMPmN80I12ok1Sy+xBP4lgvjSR3xPsGOpuyaeg==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.22.tgz","fileCount":11,"unpackedSize":442171,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenCy8CRA9TVsSAnZWagAAR4IP/jkIxPayO0fxm+I68EhS\nW1NYS9khXKONL9tizXEWne2Cg2sZNcXOxi8JBA+Rzq1MrKP1LEt1LegVcNQJ\nPFgvNNiUE78AsTnyxIphdNA6LFREIT3HVgY1jTyk287QPXAgkJwMIrD40Bb7\nOJRfT8y/sx11M0JQ4ztBPPdu6cEgQFobC1KK67PlI3J2C6bnuWgcwD4BeQmn\n/WXUAYNE8x4ZYCQVScqvtVyl4+6cRh6gxAHMDFJiBGdOtRaYxnqjDVWDUDdQ\noBAPeG/kJO0t9rToZjqwI9tuDKxWMNF8wzresTT9lHAxIhQAOb0Mbv0sZj0x\nsfyMZp66tw9jATRpasNnBs1u3OBbdJqesZZfjV/lg2NM07/iV7zfnZxFq/1R\nn9U3uNt+6+s6tY4DboMbvlUpOv9llUf4b0d4LrMb+jpw5hFiF0/oKd27Ynxv\nO/FcH6Gr5UM1YtJQ6UeobwPZYN6uFTqqEg0f0GbPZ64ivY8aNFp8S4jAhrHq\nbU43OVtntMlV/nfZPwuUlOtfWrPCXyOnzYs3pzFAm7Sl5f+3UDlPLEqkV03+\nVbpeyGOLjOaMl4ODc+Wl0ufTqwxNCkbFcXsH5TRr8t9XVTqhXUrDO98g80yE\nGBEmPSPC1ft0hxemJF32VOlGcvH+1cLpyfce2JRHmje8iNCMEnQmhR/I6Yxa\ntbw7\r\n=uRMg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTVfjsSJIsxn1CYQSnMgYV7bgG8IV6HcM+KtN9219HmAIhAIu5ZZwRtLuhdmI59txCq0pmL5p99pYHx8vpUmvXxFVj"}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.22_1587293372390_0.5013709866356773"},"_hasShrinkwrap":false},"1.0.0-dev.23":{"name":"vue-composable","version":"1.0.0-dev.23","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"peerDependencies":{"@vue/runtime-core":"^3.0.0-beta.1"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-beta.1"},"peerDependencies2":{"@vue/composition-api":"^0.5.0","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-dev.23","dist":{"shasum":"5cde03a133b10694f825588b3627515aaea169ce","integrity":"sha512-1NlSP4kEURsNFcd1/HgY9XGznF7OY9Xd2PgJAu8lOYBunX6wE/UEqijnyAUn5Qdtvtloulw87JlWMqg1ujAdKQ==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.23.tgz","fileCount":11,"unpackedSize":442171,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenC8SCRA9TVsSAnZWagAAesYP/1YTQqNmMl4+seK/DVSo\n1ENpV+W6kwco9p38vYLavicvBGOcBpBXuhS51+0lPp1apn7ytPcctsB9q47H\nA/EYzs02rY9pAerOYGiGsRlEREN5JjishwalpM24BXTGh4iUrqlpxkUhZUcv\ndW7ErDTl/jSkHnGiELIj5Lmx9jeSgm0BvNKXDJCXRic0fmLkIjQMFxSxh2/n\nmUPoaDy+XidxgxdpVehAjpsxrLyprNCDVHIRoWS6bNz1CVcl1imqFDkeQdp0\nK7XmCw4++WF+64cfnOWqWaStBm5K+bQZP77+3dTAazrtyMweZYUHbReYQv6H\n56yVTRALcL4MERhBBIm00OZeGcYHqa3o769Y5fSMynAvF2ihLUoQVnBu9wsZ\nyGBVvj6eSr1r4sfksCOASiGQ2UGntEn4RxAvwPcA6k1u0/RTTx/ascUBMw32\nl0+y23W19VTJYbJXpS5D7T/TdzRI/tSbrF5ZUhzDgxXHXFiSvRxHj7idftRt\nPy9pHlnNTU0+QLrXdm1v4N4TplhvhhJ2TR9TOURyyZeoIXvZGlhYlFPNjZkb\nkYBWwRLAnX34nWjQUuH1oWiytd5b3qI5aJbUO+Bdi89RddXMNOd/UoYfOmEW\nrlUbBwa2wWOgPB44+rcmToedY3Rp6UiijoP/ilK5W7YwstLKwC6GQogo7uBo\nwTGd\r\n=70Sx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDJFwF5Sp+cracA9O5VnhvhSMCGu+6O7cHIH6at5EIfOAIgbkRPwPAfRBv52meLYCOxYANJdVhxVhcHDAna0MR58GQ="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.23_1587293969921_0.9527143065853041"},"_hasShrinkwrap":false},"1.0.0-alpha.23":{"name":"vue-composable","version":"1.0.0-alpha.23","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"peerDependencies":{"@vue/runtime-core":"^3.0.0-beta.1"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-beta.1"},"peerDependencies2":{"@vue/composition-api":"^0.5.0","vue":"^2.6.10"},"readmeFilename":"README.md","readme":"# vue-composable\n\n<p align=\"center\"><a href=\"https://pikax.me/vue-composable/\" target=\"_blank\" rel=\"noopener noreferrer\"><img width=\"250\" src=\"https://pikax.me/vue-composable/assets/logo.svg\" alt=\"vue-composable logo\"></a></p>\n\n<!-- [![CircleCI](https://circleci.com/gh/pikax/vue-composable.svg?style=svg)](https://circleci.com/gh/pikax/vue-composable) -->\n\n[![Coverage Status](https://coveralls.io/repos/github/pikax/vue-composable/badge.svg?branch=vue3)](https://coveralls.io/github/pikax/vue-composable?branch=vue3)\n\n<!-- [![npm version](https://badge.fury.io/js/vue-composable.svg)](https://badge.fury.io/js/vue-composable) -->\n\n[![bundle size](https://badgen.net/bundlephobia/minzip/vue-composable@next)](https://bundlephobia.com/result?p=vue-composable@next)\n\n# Vue 3\n\nThis version is `alpha` with support for the vue3 ([vue-next](https://github.com/vuejs/vue-next))\n\n> Check webpack [vue3 example](https://github.com/pikax/vue-composable/tree/vue3/examples/vue-next-webpack-preview-master) or [CodeSandbox](https://codesandbox.io/s/vue-composable-next-6m5et)\n\n## Introduction\n\n`vue-composable` is out-of-box ready to use the brand new [Vue 3](https://github.com/vuejs/vue-next) [composition-api](https://vue-composition-api-rfc.netlify.com/) generic components.\n\n100% typescript based composable components and full type support out-of-box.\n\nThis library aim is to be one stop shop for many real-world composable functions, with aggressive tree-shaking to keep it light on your end code.\n\n[vue-composable](https://www.npmjs.com/package/vue-composable) is composed by two package [@vue-composable/core](./packages/core) and [@vue-composable/web](./packages/web).\n\n- [@vue-composable/core](./packages/core): contains helpers composables, such as Promise and Pagination.\n- [@vue-composable/web](./packages/web): contains [Web API](https://developer.mozilla.org/en-US/docs/Web/API) implementations\n\n## Installing\n\n```bash\n# install with yarn\nyarn add @vue/runtime-core vue-composable\n\n# install with npm\nnpm install @vue/runtime-core vue-composable\n```\n\n## Documentation\n\n> NOTE documentation might be slightly wrong, because it was built for the v2\n\nCheck our [documentation](https://pikax.me/vue-composable/)\n\n### Event\n\n- [Event](https://pikax.me/vue-composable/composable/event/event) - Attach event listener to a DOM element\n- [Mouse Move](https://pikax.me/vue-composable/composable/event/onMoveMove) - Attach `mousemove` listener to a DOM element\n- [Resize](https://pikax.me/vue-composable/composable/event/onResize) - Attach `resize` listener to a DOM element\n- [Scroll](https://pikax.me/vue-composable/composable/event/onScroll) - Attach `scroll` listener to a DOM element\n\n### Date\n\n- [useNow][now] : Return reactive custom timer with specified refresh rate\n- [useDateNow][date-now] : Returns reactive `Date.now()` with custom refresh rate\n- [usePerformanceNow][performance-now] : Returns reactive `performance.now()` with custom refresh rate\n\n### Format\n\n- [format](https://pikax.me/vue-composable/composable/format/format) - Reactive string format\n- [path](https://pikax.me/vue-composable/composable/format/path) - Retrieve object value based on string path\n\n### Breakpoint\n\n- [MatchMedia](https://pikax.me/vue-composable/composable/breakpoint/matchMedia) - reactive `MatchMedia`\n- [Breakpoint](https://pikax.me/vue-composable/composable/breakpoint/breakpoint) - reactive `breakpoints` based on `window.innerWidth`\n- [Chrome](https://pikax.me/vue-composable/composable/breakpoint/breakpointChrome) - reactive chrome breakpoints\n- [TailwindCSS](https://pikax.me/vue-composable/composable/breakpoint/breakpointTailwindCSS) - reactive TailwindCSS breakpoints\n\n### MISC\n\n- [sharedRef](https://pikax.me/vue-composable/composable/misc/sharedRef) - cross-tab reactive `ref`\n\n### Storage\n\n- [WebStorage](https://pikax.me/vue-composable/composable/storage/webStorage) - Reactive access to `Storage API`, `useLocalStorage` and `useSessionStorage` use this\n- [storage](https://pikax.me/vue-composable/composable/storage/storage) - uses `localStorage` or on safari private it uses `sessionStorage`\n- [localStorage](https://pikax.me/vue-composable/composable/storage/localStorage) - Reactive access to a `localStorage`\n- [sessionStorage](https://pikax.me/vue-composable/composable/storage/sessionStorage) - Reactive access to a `sessionStorage`\n\n### Pagination\n\n- [Pagination](https://pikax.me/vue-composable/composable/pagination/pagination) - Generic reactive pagination controls\n- [Array Pagination](https://pikax.me/vue-composable/composable/pagination/arrayPagination) - Array pagination\n\n### Validation\n\n- [Validation](https://pikax.me/vue-composable/composable/validation/validation) - model based validation inspired by [vuelidate](https://vuelidate.js.org/)\n\n### i18n\n\n- [i18n](https://pikax.me/vue-composable/composable/i18n/i18n) - Simple i18n implementation with API inspired by [vue-i18n](https://github.com/kazupon/vue-i18n)\n\n### Intl\n\n- [numberFormat](https://pikax.me/vue-composable/composable/Intl/numberFormat) - Intl.NumberFormat\n- [currencyFormat](https://pikax.me/vue-composable/composable/Intl/currencyFormat) - CurrencyFormat with Intl.NumberFormat\n\n### Promise\n\n- [Promise](https://pikax.me/vue-composable/composable/promise/promise) - `Promise` reactive resolve and reject\n- [Cancellable Promise](https://pikax.me/vue-composable/composable/promise/cancellablePromise) - Allow to cancel promises\n- [Retry](https://pikax.me/vue-composable/composable/promise/retry) - Provides functionality to retry `promise`\n\n### Web\n\n- [Fetch](https://pikax.me/vue-composable/composable/web/fetch) - reactive `fetch` wrapper\n- [WebSocket](https://pikax.me/vue-composable/composable/web/webSocket) - reactive `WebSocket` wrapper\n- [IntersectionObserver](https://pikax.me/vue-composable/composable/web/intersectionObserver) - reactive `IntersectionObserver`\n- [NetworkInformation](https://pikax.me/vue-composable/composable/web/networkInformation) - reactive `NetworkInformation` wrapper\n- [Online](<[composable/web](https://pikax.me/vue-composable/composable/web)/online>) - reactive `navigator.onLine` wrapper\n- [PageVisibility](https://pikax.me/vue-composable/composable/web/pageVisibility) - reactive `Page Visibility API`\n- [Language](https://pikax.me/vue-composable/composable/web/language) - reactive `NavigatorLanguage`\n- [BroadcastChannel](https://pikax.me/vue-composable/composable/web/broadcastChannel) - reactive `BroadcastChannel API`\n- [Geolocation API](https://pikax.me/vue-composable/composable/web/geolocation)\n- [CSS variables](https://pikax.me/vue-composable/composable/web/cssVariables) - reactive `CSS variables`\n\n### External\n\n> New packages needed\n\n- [Axios](https://pikax.me/vue-composable/composable/external/axios) - [@vue-composable/axios](https://www.npmjs.com/package/@vue-composable/axios) reactive `axios` wrapper client\n\n## Examples\n\nCheck out the [examples folder](examples) or start hacking on [codesandbox](https://codesandbox.io/s/vue-composable-examples-yuusf).\n\n[![Edit Vue Composable Examples](https://codesandbox.io/static/img/play-codesandbox.svg)](https://codesandbox.io/s/vue-template-yuusf?fontsize=14)\n\n### NOTE\n\nCurrently only works with [composition-api](https://github.com/vuejs/composition-api), when [Vue3](https://github.com/vuejs/vue-next) gets release I will update to use the new reactive system (using [@vue/reactivity](https://github.com/vuejs/vue-next/tree/master/packages/reactivity))\n\nFor [vue-next](https://github.com/vuejs/vue-next) support please check [@next](https://www.npmjs.com/package/vue-composable/v/next)\n\n## Usage\n\n```vue\n<template>\n  <div>\n    <p>page {{ currentPage }} of {{ lastPage }}</p>\n    <p>\n      <button @click=\"prev\">prev</button>\n      <button @click=\"next\">next</button>\n    </p>\n    <ul>\n      <li v-for=\"n in result\" :key=\"n\">\n        {{ n }}\n      </li>\n    </ul>\n  </div>\n</template>\n\n<script>\nimport { useArrayPagination } from \"vue-composable\";\n\nexport default {\n  setup() {\n    const array = new Array(1000).fill(0).map((_, i) => i);\n    const { result, next, prev, currentPage, lastPage } = useArrayPagination(\n      array,\n      {\n        pageSize: 3\n      }\n    );\n\n    return { result, next, prev, currentPage, lastPage };\n  }\n};\n</script>\n```\n\n## Contributing\n\nYou can contribute raising issues and by helping out with code.\n\nTests and Documentation are the most important things for me, because good documentation is really useful!\n\nI really appreciate some tweaks or changes on how the documentation is displayed and how to make it easier to read.\n\n> I really need an logo for this project, if you have a good idea for a logo, please enter in contact with me, you can find me on the `Vue discord : @pikax`\n\n### New composable\n\n1. Fork it!\n2. Create your feature branch: `git checkout -b feat/new-composable`\n3. Commit your changes: `git commit -am 'feat(composable): add a new composable'`\n4. Push to the branch: `git push origin feat/new-composable`\n5. Submit a pull request\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n\n[now]: https://pikax.me/vue-composable/composable/date/now\n[date-now]: https://pikax.me/vue-composable/composable/date/dateNow\n[performance-now]: https://pikax.me/vue-composable/composable/date/performanceNow\n[pagination]: https://pikax.me/vue-composable/composable/pagination/pagination\n[array-pagination]: https://pikax.me/vue-composable/composable/pagination/arrayPagination\n[promise]: https://pikax.me/vue-composable/composable/promise/promise\n[retry]: https://pikax.me/vue-composable/composable/promise/retry\n[cancellable-promise]: https://pikax.me/vue-composable/composable/promise/cancellablePromise\n[debounce]: https://github.com/pikax/vue-composable\n","_id":"vue-composable@1.0.0-alpha.23","dist":{"shasum":"c6d4e67e892670e6cdcfe883b8be46967f4b2116","integrity":"sha512-yi3o47F9jyMK7MWvgxI3A7/7yZuna9zGVCgiWEfdjt2k7ea6DoQzmgDVDNgk0alyhYM76NYcOAy+6wQbCBidSA==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-alpha.23.tgz","fileCount":11,"unpackedSize":452810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenC8zCRA9TVsSAnZWagAArfgQAI9a1j1xn1Nks9B8VeOo\nDjLT793v4R1I55cPviyYgdCYaobpHdymSu/vTGVgE+IApH7G8W3CPoeZXtQh\nEkVQAKNch1gV3QYPizWe0/bog4YwZ4XE9y+ofgHo09+uIDl2buMTaDqJPIWf\n18ZxWSD5rxj+l9uCkOXzPG1qqYnrlDz8csP8/AO9QGnSo0D+NQch0f1E/Xcf\n2b8UAn1u8ves8X8NgPV3b13ARGgzG3kV9IJEziDEW2SfUXmBz2CQUPzrMFob\nDQDkcA++GOHDmhJ/GZjkOso3Q18F0iJXpVcE0vRhn3fWCORIXZ1Y4oBff0vY\n6gc/30w+97lLroo1g0aABz7sptkD9X3zXJovA4jlDwD50lL1UmhePu/otZCQ\n8XUmCO7E31pY26zI3MSAJ4E8hkOghd4S+E9sg6JXQvIHgrTh2Kb354mhyq2N\nLjEnrKpCUiZpwpaPtb3z9k7pTYeSCcwD9jaLZf2885NtWxdvRzmGdrjyMdIq\nNINtXCiDfUAEAis1bO0qgyyWnOYdZQAZXCL5WuTjHFUYYwWATVTN5dbTXZNz\nsH7aQWbPdAjFj4A2s5nUwSk7lmdvXnU/3hjZrm7aaWZo/p+E0YWHB8PAqZYJ\n4wBrRJph9h6K/qyYSDzsksGSLcGGv/U6rNHLc91tr0z3cMtJNbPFBEQZ91ry\ncvwb\r\n=etaW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCgpufigEJczfC1KoY+JerrGKCRtay3iHzRACWKkmhv8gIgP1i+8MKOZD9k7jcvyb7oG2diEnUXDz8LBfhGtva8+tk="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-alpha.23_1587294002846_0.09403320969304363"},"_hasShrinkwrap":false},"1.0.0-dev.24":{"name":"vue-composable","version":"1.0.0-dev.24","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"peerDependencies":{"@vue/runtime-core":"^3.0.0-beta.1"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-beta.1"},"peerDependencies2":{"@vue/composition-api":"^0.5.0","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-dev.24","dist":{"shasum":"dd0aa51abc539175bc3e8b69d7dc5a5fd53fe46a","integrity":"sha512-OA6e/9OrmNQDK+qT5WyPUs07Xo1kitLq723bG5lWp8Dc7RTBeLa/2iJkFyKZkWb1hHmitsH88B/SEa7JbPeBNQ==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.24.tgz","fileCount":11,"unpackedSize":441823,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenXAXCRA9TVsSAnZWagAAe5AP/3bhFMcemd9jxem3Fupk\ngtKHmr0woNrV6JR3IWhbhCjxGwfyS1SoL/dHiVTtsjchiDlirg6/MDUIle2U\nfVzC4k6fiVFOZl1XrnC+GSU/s3frLeRjUSzk3mqzu0wzR1yq08zVUnCewdoY\nGKxQsrJmopl5053FmOx4xzNyo2fxygsTlRhIHPVmfTvmHb8V8fv8y4E6I/Rt\niaG1FmXnbTFv7GkNAxKFY7gEuxGWhDIgkEy0bciR2GK4x7FD5xXUjcIB9mi+\ngWuzB+sabIRBJaGOFOSt4QvZyRVZEu2GsaEP3VmcrXKR2x7Rxu/AVcFcAqTY\n6qntymE7owVbxgMArZbRGkYSVvDb41mIayWPxwnmdqi8hEZhL8V2YAvSv2Qh\na1Xtbfr+z2uVJs2UFmk8UFICgZaJG9+1cR16iPXzsXk9D1Hjx8kmVtfSSpAr\nTM2dop+/GXRpzBMjJROWqgYOymZA7L3C6VLSuH1rtuwrDPVZBfwrXkTLF0vp\n2hFNl5FS/jZWKF7xcW3NSoRuFVHiOO0MbG3CtSOERByHovYlmzgfXndvW5XB\n1f70GWuQHMEWZjtUlzAfftll+3JUHjvBYRu6t8w/vLFXXY12feCmPltkfsRH\n/P2563Ok75r8YQSERWsAfKpuJQCkzvrhbImxVPdmIba2OoVDB0WAtKbauIf9\nfAdz\r\n=X5pT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLXeYK0E3Z5CBJe6XajlNFnGQZnJ4ZP4sp+FnQbicsfgIhALLrniTecuTPe05Z2ICtSz1e/30VHqvve7pS3k3sHZ3U"}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.24_1587376150372_0.6024848776116698"},"_hasShrinkwrap":false},"1.0.0-alpha.25":{"name":"vue-composable","version":"1.0.0-alpha.25","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"peerDependencies":{"@vue/runtime-core":"^3.0.0-beta.1"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-beta.1"},"peerDependencies2":{"@vue/composition-api":"^0.5.0","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-alpha.25","dist":{"shasum":"993a31206afb0062bcce0bf8d990ecbbff245623","integrity":"sha512-rvC32XMA1sMKOlohaE7CpYGkxzKWUSb28xZzNmE2oaDI/6HqnY+T1d2wh3dMwbJKfMbycHV88aF4IMCQDnykcw==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-alpha.25.tgz","fileCount":11,"unpackedSize":452910,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenXHhCRA9TVsSAnZWagAA5YkP/ApNIHJeg1PMf6OrFW1t\n+v9B7TAoV+rFUxk6cq24RRwJQ0kdCRpMY41xq5KhcpWXkSiJPXujUpj3aPTK\n7BiAGX0U6EeCHnQwjw0Ptuu9GrHkKBXS2RnWG4YAbP/wjp07a0BbxYL1ywM3\n5GfcedATQVAvtBSc2TAA6qBfYVtizW9k/Cx3+P7o2gHbPx4rO0r0pNeKNahm\n3+8vbAZInyJRT1cH0n1trYdxzT2qfKGH1XH5iBetjsgCj/F8y2oEDs+/A4BB\nVTgSwtY3fhrx4f/viQ1K0sMpJkWsT7s6egkRv45266Gqa8efyz4WTwbE3GKz\ncxejWaJiIPQtU6v9D09n0SpOoQ+2URb6QJHKDsb+UsUUdDwgZtKIOaGxSx4P\ngB5x1D2igEAKNru42MS3idlG0DUDg9tdxsDYRshmZV77e+OLp/10dRlLrk2d\ny7u6tIBJn4GCht0LO31leVoQvn0/1B8fglrkAWyFS4bjZmITuaUTwiX0qnf3\nC15WdXjjCJzlrYkeF0mU82CHqCGIB/lQJR4uLLAF8bcJL4YyospS2aXm7Fbp\ntdv9Q1rjJX0MssAe8UzR2GgBnuWm0PdX4N7RuF9HWTV4Gic8yqheUNkPXFvf\n0IlK/GbMG7OcmgT0UPK4p5BXrVjHLmO+18PzzzQuRFjZAbXc82O2ZoIXFdEB\ncK61\r\n=CJhm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAxTFfq5yA31Sn7r0PEi61KrMgr9hPN6C3tDIuzuiaubAiEA8oZxb0qSs7amuVCUjPylm8Qc1lifqiyDtS9866sie/k="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-alpha.25_1587376608453_0.9122310671311236"},"_hasShrinkwrap":false},"1.0.0-alpha.26":{"name":"vue-composable","version":"1.0.0-alpha.26","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"peerDependencies":{"@vue/runtime-core":"^3.0.0-beta.1"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-beta.1"},"peerDependencies2":{"@vue/composition-api":"^0.5.0","vue":"^2.6.10"},"readmeFilename":"README.md","readme":"# vue-composable\n\n<p align=\"center\"><a href=\"https://pikax.me/vue-composable/\" target=\"_blank\" rel=\"noopener noreferrer\"><img width=\"250\" src=\"https://pikax.me/vue-composable/assets/logo.svg\" alt=\"vue-composable logo\"></a></p>\n\n<!-- [![CircleCI](https://circleci.com/gh/pikax/vue-composable.svg?style=svg)](https://circleci.com/gh/pikax/vue-composable) -->\n\n[![Coverage Status](https://coveralls.io/repos/github/pikax/vue-composable/badge.svg?branch=vue3)](https://coveralls.io/github/pikax/vue-composable?branch=vue3)\n\n<!-- [![npm version](https://badge.fury.io/js/vue-composable.svg)](https://badge.fury.io/js/vue-composable) -->\n\n[![bundle size](https://badgen.net/bundlephobia/minzip/vue-composable@next)](https://bundlephobia.com/result?p=vue-composable@next)\n\n# Vue 3\n\nThis version is `alpha` with support for the vue3 ([vue-next](https://github.com/vuejs/vue-next))\n\n> Check webpack [vue3 example](https://github.com/pikax/vue-composable/tree/vue3/examples/vue-next-webpack-preview-master) or [CodeSandbox](https://codesandbox.io/s/vue-composable-next-6m5et)\n\n## Introduction\n\n`vue-composable` is out-of-box ready to use the brand new [Vue 3](https://github.com/vuejs/vue-next) [composition-api](https://vue-composition-api-rfc.netlify.com/) generic components.\n\n100% typescript based composable components and full type support out-of-box.\n\nThis library aim is to be one stop shop for many real-world composable functions, with aggressive tree-shaking to keep it light on your end code.\n\n[vue-composable](https://www.npmjs.com/package/vue-composable) is composed by two package [@vue-composable/core](./packages/core) and [@vue-composable/web](./packages/web).\n\n- [@vue-composable/core](./packages/core): contains helpers composables, such as Promise and Pagination.\n- [@vue-composable/web](./packages/web): contains [Web API](https://developer.mozilla.org/en-US/docs/Web/API) implementations\n\n## Installing\n\n```bash\n# install with yarn\nyarn add @vue/runtime-core vue-composable\n\n# install with npm\nnpm install @vue/runtime-core vue-composable\n```\n\n## Documentation\n\n> NOTE documentation might be slightly wrong, because it was built for the v2\n\nCheck our [documentation](https://pikax.me/vue-composable/)\n\n### Event\n\n- [Event](https://pikax.me/vue-composable/composable/event/event) - Attach event listener to a DOM element\n- [Mouse Move](https://pikax.me/vue-composable/composable/event/onMoveMove) - Attach `mousemove` listener to a DOM element\n- [Resize](https://pikax.me/vue-composable/composable/event/onResize) - Attach `resize` listener to a DOM element\n- [Scroll](https://pikax.me/vue-composable/composable/event/onScroll) - Attach `scroll` listener to a DOM element\n\n### Date\n\n- [useNow][now] : Return reactive custom timer with specified refresh rate\n- [useDateNow][date-now] : Returns reactive `Date.now()` with custom refresh rate\n- [usePerformanceNow][performance-now] : Returns reactive `performance.now()` with custom refresh rate\n\n### Format\n\n- [format](https://pikax.me/vue-composable/composable/format/format) - Reactive string format\n- [path](https://pikax.me/vue-composable/composable/format/path) - Retrieve object value based on string path\n\n### Breakpoint\n\n- [MatchMedia](https://pikax.me/vue-composable/composable/breakpoint/matchMedia) - reactive `MatchMedia`\n- [Breakpoint](https://pikax.me/vue-composable/composable/breakpoint/breakpoint) - reactive `breakpoints` based on `window.innerWidth`\n- [Chrome](https://pikax.me/vue-composable/composable/breakpoint/breakpointChrome) - reactive chrome breakpoints\n- [TailwindCSS](https://pikax.me/vue-composable/composable/breakpoint/breakpointTailwindCSS) - reactive TailwindCSS breakpoints\n\n### MISC\n\n- [sharedRef](https://pikax.me/vue-composable/composable/misc/sharedRef) - cross-tab reactive `ref`\n\n### Storage\n\n- [WebStorage](https://pikax.me/vue-composable/composable/storage/webStorage) - Reactive access to `Storage API`, `useLocalStorage` and `useSessionStorage` use this\n- [storage](https://pikax.me/vue-composable/composable/storage/storage) - uses `localStorage` or on safari private it uses `sessionStorage`\n- [localStorage](https://pikax.me/vue-composable/composable/storage/localStorage) - Reactive access to a `localStorage`\n- [sessionStorage](https://pikax.me/vue-composable/composable/storage/sessionStorage) - Reactive access to a `sessionStorage`\n\n### Pagination\n\n- [Pagination](https://pikax.me/vue-composable/composable/pagination/pagination) - Generic reactive pagination controls\n- [Array Pagination](https://pikax.me/vue-composable/composable/pagination/arrayPagination) - Array pagination\n\n### Validation\n\n- [Validation](https://pikax.me/vue-composable/composable/validation/validation) - model based validation inspired by [vuelidate](https://vuelidate.js.org/)\n\n### i18n\n\n- [i18n](https://pikax.me/vue-composable/composable/i18n/i18n) - Simple i18n implementation with API inspired by [vue-i18n](https://github.com/kazupon/vue-i18n)\n\n### Intl\n\n- [numberFormat](https://pikax.me/vue-composable/composable/Intl/numberFormat) - Intl.NumberFormat\n- [currencyFormat](https://pikax.me/vue-composable/composable/Intl/currencyFormat) - CurrencyFormat with Intl.NumberFormat\n\n### Promise\n\n- [Promise](https://pikax.me/vue-composable/composable/promise/promise) - `Promise` reactive resolve and reject\n- [Cancellable Promise](https://pikax.me/vue-composable/composable/promise/cancellablePromise) - Allow to cancel promises\n- [Retry](https://pikax.me/vue-composable/composable/promise/retry) - Provides functionality to retry `promise`\n\n### Web\n\n- [Fetch](https://pikax.me/vue-composable/composable/web/fetch) - reactive `fetch` wrapper\n- [WebSocket](https://pikax.me/vue-composable/composable/web/webSocket) - reactive `WebSocket` wrapper\n- [IntersectionObserver](https://pikax.me/vue-composable/composable/web/intersectionObserver) - reactive `IntersectionObserver`\n- [NetworkInformation](https://pikax.me/vue-composable/composable/web/networkInformation) - reactive `NetworkInformation` wrapper\n- [Online](<[composable/web](https://pikax.me/vue-composable/composable/web)/online>) - reactive `navigator.onLine` wrapper\n- [PageVisibility](https://pikax.me/vue-composable/composable/web/pageVisibility) - reactive `Page Visibility API`\n- [Language](https://pikax.me/vue-composable/composable/web/language) - reactive `NavigatorLanguage`\n- [BroadcastChannel](https://pikax.me/vue-composable/composable/web/broadcastChannel) - reactive `BroadcastChannel API`\n- [Geolocation API](https://pikax.me/vue-composable/composable/web/geolocation)\n- [CSS variables](https://pikax.me/vue-composable/composable/web/cssVariables) - reactive `CSS variables`\n\n### External\n\n> New packages needed\n\n- [Axios](https://pikax.me/vue-composable/composable/external/axios) - [@vue-composable/axios](https://www.npmjs.com/package/@vue-composable/axios) reactive `axios` wrapper client\n\n## Examples\n\nCheck out the [examples folder](examples) or start hacking on [codesandbox](https://codesandbox.io/s/vue-composable-examples-yuusf).\n\n[![Edit Vue Composable Examples](https://codesandbox.io/static/img/play-codesandbox.svg)](https://codesandbox.io/s/vue-template-yuusf?fontsize=14)\n\n### NOTE\n\nCurrently only works with [composition-api](https://github.com/vuejs/composition-api), when [Vue3](https://github.com/vuejs/vue-next) gets release I will update to use the new reactive system (using [@vue/reactivity](https://github.com/vuejs/vue-next/tree/master/packages/reactivity))\n\nFor [vue-next](https://github.com/vuejs/vue-next) support please check [@next](https://www.npmjs.com/package/vue-composable/v/next)\n\n## Usage\n\n```vue\n<template>\n  <div>\n    <p>page {{ currentPage }} of {{ lastPage }}</p>\n    <p>\n      <button @click=\"prev\">prev</button>\n      <button @click=\"next\">next</button>\n    </p>\n    <ul>\n      <li v-for=\"n in result\" :key=\"n\">\n        {{ n }}\n      </li>\n    </ul>\n  </div>\n</template>\n\n<script>\nimport { useArrayPagination } from \"vue-composable\";\n\nexport default {\n  setup() {\n    const array = new Array(1000).fill(0).map((_, i) => i);\n    const { result, next, prev, currentPage, lastPage } = useArrayPagination(\n      array,\n      {\n        pageSize: 3\n      }\n    );\n\n    return { result, next, prev, currentPage, lastPage };\n  }\n};\n</script>\n```\n\n## Contributing\n\nYou can contribute raising issues and by helping out with code.\n\nTests and Documentation are the most important things for me, because good documentation is really useful!\n\nI really appreciate some tweaks or changes on how the documentation is displayed and how to make it easier to read.\n\n> I really need an logo for this project, if you have a good idea for a logo, please enter in contact with me, you can find me on the `Vue discord : @pikax`\n\n### New composable\n\n1. Fork it!\n2. Create your feature branch: `git checkout -b feat/new-composable`\n3. Commit your changes: `git commit -am 'feat(composable): add a new composable'`\n4. Push to the branch: `git push origin feat/new-composable`\n5. Submit a pull request\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n\n[now]: https://pikax.me/vue-composable/composable/date/now\n[date-now]: https://pikax.me/vue-composable/composable/date/dateNow\n[performance-now]: https://pikax.me/vue-composable/composable/date/performanceNow\n[pagination]: https://pikax.me/vue-composable/composable/pagination/pagination\n[array-pagination]: https://pikax.me/vue-composable/composable/pagination/arrayPagination\n[promise]: https://pikax.me/vue-composable/composable/promise/promise\n[retry]: https://pikax.me/vue-composable/composable/promise/retry\n[cancellable-promise]: https://pikax.me/vue-composable/composable/promise/cancellablePromise\n[debounce]: https://github.com/pikax/vue-composable\n","_id":"vue-composable@1.0.0-alpha.26","dist":{"shasum":"a3dbc17c3f5806b3d32ec37566fa401beceb6833","integrity":"sha512-V+kY+3q+qBTuLZGOwF5fzG+UL+qBkjR7oaUu1wNxbpB71alP0PWU9uW/hHMo3H2YKjrnF6nvf593fANIHwUqYg==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-alpha.26.tgz","fileCount":11,"unpackedSize":452910,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenXPECRA9TVsSAnZWagAA7nwP/0KL3JFoQ6RNIoRlSe3C\nKLtZrvlbj1czxQfdxVgHWBVnUAfpd0gg0WrVoOYJxpim312WUDV8/gk00rla\nn8n0zeibailBepXDVcsw7E6LA+BvmEpRfi5jAz9F6EmN54mB7kgjO3hofSUJ\nyrxwuy71KXNZvdCakyFjEE/5uTJTurkCkbIaQGmM7w2lIETuag5SVtt1w6oT\nPVL/6LRjZ6nVqfaZkq+OQnM6fh/5vq3GktabbJAqGllD0vLfunyMyO/hXH2i\ni4DHwuVwUUrOPpd+jsACfh7IWLcBEwb0aPsvsO+iy0cL5MyODfJ4mXQkMPKa\n3wykQUMqZFqK8lm//GwxW+LbucXPpsrZJWv5yj7M9LByk3V6jeg14Z0cy1/D\nPkMLaFJT5d/ylJQe/uTkcahOA3Rqjz+IZxjj7Nw016zdN/466SdmbCzDpCwd\nDLtFRFpbip4Gd6sPfAMDDlZqcVYAvo56DEPY8ykp95D4Ju7FmN8RJ6jS7U8N\ndXj0U/Zh10J6ZjOp4VC8cpUBEfgYTIjKCjgKZZ+FdfN4lSBCAD/XE0yRI3t7\nphth3pohND8OfLaMLTDRk1z9vyZ1ofdKbiZkqEr/fOAOdoEXgRAnjaSGwvF8\nEZaSlEczYCfz7j+Hw63OHmnd7t/zIt/V6IytRcAuDNCC+MYVSUee9t4IpSsv\nt5oJ\r\n=SgUo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDLHjJgFW7BuhOhxIrjaOkeG4OYKX+3RNzX4PM/2+dleQIgXagc+c+ykBlYz0RvNb21rMAqXJT6WBDD4jjBzMIgXN4="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-alpha.26_1587377092002_0.5540455719709978"},"_hasShrinkwrap":false},"1.0.0-dev.26":{"name":"vue-composable","version":"1.0.0-dev.26","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"peerDependencies":{"@vue/runtime-core":"^3.0.0-beta.1"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-beta.1"},"peerDependencies2":{"@vue/composition-api":"^0.5.0","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-dev.26","dist":{"shasum":"57b1b69590b5c1336519d409503d47cec67eda38","integrity":"sha512-UMUxlEzUrJ0BYVxQ7A0ncsw9nG24Nect4guuubPPAEQgzIK3c+EpZcpsKWCrf9L0XQdQwCWgVJumxkcDvhJb3g==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.26.tgz","fileCount":11,"unpackedSize":441823,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenXUoCRA9TVsSAnZWagAAbawP/2u+w65Kfhh9i9ehozAU\n3Q63Q07ZaBXAvTNPw1NOOOOOU5jLYvIkcgERUoZoO4ew4203R+S2IDR9V+2y\nx0VdRBN6xaLi2Mv2NVFwhpqRv9SMf5OQSLHZTDVBfb/9k9EWNJp5At+J3OQF\nv+8Qnpy5yaxUGvMXWikuHOiYtar4qrd2U4uryqIhaamj1H3Hp2Qons84iw1U\nvL92ldQJXHJXBD4IDp7P0UwdWbQYa9i0hWUHWttOCGCxdf9cOFvN2h93MQqI\n1Dc6BGOkKwDOTK5lCLRTelxTToxUbgyoKFYhMK6rHBRTHDx+exkuD+P4e/v7\nYDZ36hBsGi2fMxQkm2f/7qFyiDKqDo3CmhBVRewvqxcevBNGKrLkolMc4pLd\nw7JlTFYiGp/4LoaUAxdCJbyIwCJQP/D3y7KK1wHL4msbPcFkN8PigWxsG+Pe\nDb5h4u+atv+gn4aJccl4v5uTwIRktK2G0eGKBHSqzC2VnBiupHGBiDRs9eTF\n5QOCOyfXuNLJYYzwBz9YqqoONgRk4P0qp4FKP4/KfHs2wu9abkF+nFGw51xm\nXHQBleo8Mkc/Pa/o1+8icYF5HyceRHiQ4Wita2aPSoW7+aGQbKVo3jK7Fs0U\nS26E8c3JqqVb9uEo89NqFKq4ouWNHc87/02MlAK180xNAbEl/cpyXS6i2loI\n8/A4\r\n=K8T3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGtqgTxvCDZ4uz8WzIOFgR1CHGGvUwR/qamZjbogpvoIAiAC4wW0YV5Y5wAFrEwi3duxqVkrzCKvoB5O7hTCdWPoAA=="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.26_1587377447590_0.16821150858776313"},"_hasShrinkwrap":false},"1.0.0-dev.27":{"name":"vue-composable","version":"1.0.0-dev.27","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"peerDependencies":{"@vue/composition-api":"^0.5.0","vue":"^2.6.10"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-beta.1"},"peerDependencies2":{"@vue/composition-api":"^0.5.0","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-dev.27","dist":{"shasum":"32ca510d448ad4b728bd3c26c6bf7904232a219b","integrity":"sha512-wSWzyNZ6gHee/LM+VlTOSfUZIhqxMzpxKGgy/YkZQ4U+b79KO+d3jnsAHUSshtumXhlh1fkI4qdu0bQO7NBayg==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.27.tgz","fileCount":11,"unpackedSize":441841,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenZLYCRA9TVsSAnZWagAAPcsQAJcJqLpipkJ+ZERWi0XA\n/70c6bgU/p4VIAGnPSZ91ZfQ2K5+Cs3aMuDUsyuavSbWXwfrRcMagY55Rg+O\n+QsV6cqd0PTKwqlu0hO8Xu+DEc5rr9ziNG/uIVddNsrCYfdjI0twALLqT8y3\nq6LZrxzbCK4GSgwEdGNu9bPgyX0pv1SPhY/+3PI8YPXrvnKVTL2mekEPIlMv\nu2gy3CNODyubsZR4/WMU0KIVw2zJI/hx5+Q02ldtp5rYC0TZBD34RjHeOwsJ\n3P69qAe2S+1E1RqmU65dEq7S2Gdizs9mhK9pKYbNizsiR/VAGEoS3wiu4jBu\nYXKmset0nnnqjsqULJHGs/ScvlDKBmSs7quxmSL2el2sBAIxQhHrCjMaMr/V\n6qR2jNZicnW8i/E77AREBsGBREx3aAI07rUohBByGz8aJJgCgSuMtYf7vOnd\nPuWXNfpiEPYzFm35jWolwCgVUrkY6yTk4QKYHtA8YZwEcYkqCLb2jyjI2U9h\n3ZtojI/iazPev52nwE/kUm5TwRxInmvMLmVAJAiwt74YITUHovVgIo3KFCrh\ny5iHAx+IvDeExPrxhjw285J/yOIfwKNA8b/mJZUEowACFhPsq9q+rohBLPcO\nJC5a4GmK/kOzoRzjheGPX7dpA0Win2iZitHzhmGEKWoGib6W1GhSG25Qg7Tr\nD9FR\r\n=2KkT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD0aluBzPD9e041cfUkZUajSKBr8NYyPrBHtOdudjCywAIgQChNVypGwuvWT2NQQjjjuxMB0qVZTHRepiY3eZGs3rw="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.27_1587385048546_0.2425269486551871"},"_hasShrinkwrap":false},"1.0.0-alpha.27":{"name":"vue-composable","version":"1.0.0-alpha.27","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"peerDependencies":{"@vue/runtime-core":"^3.0.0-beta.1"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-beta.1"},"peerDependencies2":{"@vue/composition-api":"^0.5.0","vue":"^2.6.10"},"readmeFilename":"README.md","readme":"# vue-composable\n\n<p align=\"center\"><a href=\"https://pikax.me/vue-composable/\" target=\"_blank\" rel=\"noopener noreferrer\"><img width=\"250\" src=\"https://pikax.me/vue-composable/assets/logo.svg\" alt=\"vue-composable logo\"></a></p>\n\n<!-- [![CircleCI](https://circleci.com/gh/pikax/vue-composable.svg?style=svg)](https://circleci.com/gh/pikax/vue-composable) -->\n\n[![Coverage Status](https://coveralls.io/repos/github/pikax/vue-composable/badge.svg?branch=vue3)](https://coveralls.io/github/pikax/vue-composable?branch=vue3)\n\n<!-- [![npm version](https://badge.fury.io/js/vue-composable.svg)](https://badge.fury.io/js/vue-composable) -->\n\n[![bundle size](https://badgen.net/bundlephobia/minzip/vue-composable@next)](https://bundlephobia.com/result?p=vue-composable@next)\n\n# Vue 3\n\nThis version is `alpha` with support for the vue3 ([vue-next](https://github.com/vuejs/vue-next))\n\n> Check webpack [vue3 example](https://github.com/pikax/vue-composable/tree/vue3/examples/vue-next-webpack-preview-master) or [CodeSandbox](https://codesandbox.io/s/vue-composable-next-6m5et)\n\n## Introduction\n\n`vue-composable` is out-of-box ready to use the brand new [Vue 3](https://github.com/vuejs/vue-next) [composition-api](https://vue-composition-api-rfc.netlify.com/) generic components.\n\n100% typescript based composable components and full type support out-of-box.\n\nThis library aim is to be one stop shop for many real-world composable functions, with aggressive tree-shaking to keep it light on your end code.\n\n[vue-composable](https://www.npmjs.com/package/vue-composable) is composed by two package [@vue-composable/core](./packages/core) and [@vue-composable/web](./packages/web).\n\n- [@vue-composable/core](./packages/core): contains helpers composables, such as Promise and Pagination.\n- [@vue-composable/web](./packages/web): contains [Web API](https://developer.mozilla.org/en-US/docs/Web/API) implementations\n\n## Installing\n\n```bash\n# install with yarn\nyarn add @vue/runtime-core vue-composable\n\n# install with npm\nnpm install @vue/runtime-core vue-composable\n```\n\n## Documentation\n\n> NOTE documentation might be slightly wrong, because it was built for the v2\n\nCheck our [documentation](https://pikax.me/vue-composable/)\n\n### Event\n\n- [Event](https://pikax.me/vue-composable/composable/event/event) - Attach event listener to a DOM element\n- [Mouse Move](https://pikax.me/vue-composable/composable/event/onMoveMove) - Attach `mousemove` listener to a DOM element\n- [Resize](https://pikax.me/vue-composable/composable/event/onResize) - Attach `resize` listener to a DOM element\n- [Scroll](https://pikax.me/vue-composable/composable/event/onScroll) - Attach `scroll` listener to a DOM element\n\n### Date\n\n- [useNow][now] : Return reactive custom timer with specified refresh rate\n- [useDateNow][date-now] : Returns reactive `Date.now()` with custom refresh rate\n- [usePerformanceNow][performance-now] : Returns reactive `performance.now()` with custom refresh rate\n\n### Format\n\n- [format](https://pikax.me/vue-composable/composable/format/format) - Reactive string format\n- [path](https://pikax.me/vue-composable/composable/format/path) - Retrieve object value based on string path\n\n### Breakpoint\n\n- [MatchMedia](https://pikax.me/vue-composable/composable/breakpoint/matchMedia) - reactive `MatchMedia`\n- [Breakpoint](https://pikax.me/vue-composable/composable/breakpoint/breakpoint) - reactive `breakpoints` based on `window.innerWidth`\n- [Chrome](https://pikax.me/vue-composable/composable/breakpoint/breakpointChrome) - reactive chrome breakpoints\n- [TailwindCSS](https://pikax.me/vue-composable/composable/breakpoint/breakpointTailwindCSS) - reactive TailwindCSS breakpoints\n\n### MISC\n\n- [sharedRef](https://pikax.me/vue-composable/composable/misc/sharedRef) - cross-tab reactive `ref`\n\n### Storage\n\n- [WebStorage](https://pikax.me/vue-composable/composable/storage/webStorage) - Reactive access to `Storage API`, `useLocalStorage` and `useSessionStorage` use this\n- [storage](https://pikax.me/vue-composable/composable/storage/storage) - uses `localStorage` or on safari private it uses `sessionStorage`\n- [localStorage](https://pikax.me/vue-composable/composable/storage/localStorage) - Reactive access to a `localStorage`\n- [sessionStorage](https://pikax.me/vue-composable/composable/storage/sessionStorage) - Reactive access to a `sessionStorage`\n\n### Pagination\n\n- [Pagination](https://pikax.me/vue-composable/composable/pagination/pagination) - Generic reactive pagination controls\n- [Array Pagination](https://pikax.me/vue-composable/composable/pagination/arrayPagination) - Array pagination\n\n### Validation\n\n- [Validation](https://pikax.me/vue-composable/composable/validation/validation) - model based validation inspired by [vuelidate](https://vuelidate.js.org/)\n\n### i18n\n\n- [i18n](https://pikax.me/vue-composable/composable/i18n/i18n) - Simple i18n implementation with API inspired by [vue-i18n](https://github.com/kazupon/vue-i18n)\n\n### Intl\n\n- [numberFormat](https://pikax.me/vue-composable/composable/Intl/numberFormat) - Intl.NumberFormat\n- [currencyFormat](https://pikax.me/vue-composable/composable/Intl/currencyFormat) - CurrencyFormat with Intl.NumberFormat\n\n### Promise\n\n- [Promise](https://pikax.me/vue-composable/composable/promise/promise) - `Promise` reactive resolve and reject\n- [Cancellable Promise](https://pikax.me/vue-composable/composable/promise/cancellablePromise) - Allow to cancel promises\n- [Retry](https://pikax.me/vue-composable/composable/promise/retry) - Provides functionality to retry `promise`\n\n### Web\n\n- [Fetch](https://pikax.me/vue-composable/composable/web/fetch) - reactive `fetch` wrapper\n- [WebSocket](https://pikax.me/vue-composable/composable/web/webSocket) - reactive `WebSocket` wrapper\n- [IntersectionObserver](https://pikax.me/vue-composable/composable/web/intersectionObserver) - reactive `IntersectionObserver`\n- [NetworkInformation](https://pikax.me/vue-composable/composable/web/networkInformation) - reactive `NetworkInformation` wrapper\n- [Online](<[composable/web](https://pikax.me/vue-composable/composable/web)/online>) - reactive `navigator.onLine` wrapper\n- [PageVisibility](https://pikax.me/vue-composable/composable/web/pageVisibility) - reactive `Page Visibility API`\n- [Language](https://pikax.me/vue-composable/composable/web/language) - reactive `NavigatorLanguage`\n- [BroadcastChannel](https://pikax.me/vue-composable/composable/web/broadcastChannel) - reactive `BroadcastChannel API`\n- [Geolocation API](https://pikax.me/vue-composable/composable/web/geolocation)\n- [CSS variables](https://pikax.me/vue-composable/composable/web/cssVariables) - reactive `CSS variables`\n\n### External\n\n> New packages needed\n\n- [Axios](https://pikax.me/vue-composable/composable/external/axios) - [@vue-composable/axios](https://www.npmjs.com/package/@vue-composable/axios) reactive `axios` wrapper client\n\n## Examples\n\nCheck out the [examples folder](examples) or start hacking on [codesandbox](https://codesandbox.io/s/vue-composable-examples-yuusf).\n\n[![Edit Vue Composable Examples](https://codesandbox.io/static/img/play-codesandbox.svg)](https://codesandbox.io/s/vue-template-yuusf?fontsize=14)\n\n### NOTE\n\nCurrently only works with [composition-api](https://github.com/vuejs/composition-api), when [Vue3](https://github.com/vuejs/vue-next) gets release I will update to use the new reactive system (using [@vue/reactivity](https://github.com/vuejs/vue-next/tree/master/packages/reactivity))\n\nFor [vue-next](https://github.com/vuejs/vue-next) support please check [@next](https://www.npmjs.com/package/vue-composable/v/next)\n\n## Usage\n\n```vue\n<template>\n  <div>\n    <p>page {{ currentPage }} of {{ lastPage }}</p>\n    <p>\n      <button @click=\"prev\">prev</button>\n      <button @click=\"next\">next</button>\n    </p>\n    <ul>\n      <li v-for=\"n in result\" :key=\"n\">\n        {{ n }}\n      </li>\n    </ul>\n  </div>\n</template>\n\n<script>\nimport { useArrayPagination } from \"vue-composable\";\n\nexport default {\n  setup() {\n    const array = new Array(1000).fill(0).map((_, i) => i);\n    const { result, next, prev, currentPage, lastPage } = useArrayPagination(\n      array,\n      {\n        pageSize: 3\n      }\n    );\n\n    return { result, next, prev, currentPage, lastPage };\n  }\n};\n</script>\n```\n\n## Contributing\n\nYou can contribute raising issues and by helping out with code.\n\nTests and Documentation are the most important things for me, because good documentation is really useful!\n\nI really appreciate some tweaks or changes on how the documentation is displayed and how to make it easier to read.\n\n> I really need an logo for this project, if you have a good idea for a logo, please enter in contact with me, you can find me on the `Vue discord : @pikax`\n\n### New composable\n\n1. Fork it!\n2. Create your feature branch: `git checkout -b feat/new-composable`\n3. Commit your changes: `git commit -am 'feat(composable): add a new composable'`\n4. Push to the branch: `git push origin feat/new-composable`\n5. Submit a pull request\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n\n[now]: https://pikax.me/vue-composable/composable/date/now\n[date-now]: https://pikax.me/vue-composable/composable/date/dateNow\n[performance-now]: https://pikax.me/vue-composable/composable/date/performanceNow\n[pagination]: https://pikax.me/vue-composable/composable/pagination/pagination\n[array-pagination]: https://pikax.me/vue-composable/composable/pagination/arrayPagination\n[promise]: https://pikax.me/vue-composable/composable/promise/promise\n[retry]: https://pikax.me/vue-composable/composable/promise/retry\n[cancellable-promise]: https://pikax.me/vue-composable/composable/promise/cancellablePromise\n[debounce]: https://github.com/pikax/vue-composable\n","_id":"vue-composable@1.0.0-alpha.27","dist":{"shasum":"3ceda188d0f53945c72cba3408b44ecb605796f2","integrity":"sha512-hA89jc2wnwGpGO9Q/C6qCi3t018Y22UeK1MfioAVzvLlHuDOPj2sNxEDcgpROMHQ9A3VR9YaMWwiqO2KAvEoYg==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-alpha.27.tgz","fileCount":11,"unpackedSize":452910,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenZMFCRA9TVsSAnZWagAA17kQAJIfzZzFXlN37T6m82sQ\nrxa++t6stfkKMXwehHLLLfhl6d7bCP6tFZKzmjE/31jIMgw39S6iY6IE3yJ6\nopIqJvLNm8TshNOCyWHg1yGZpVHwKntejGo+Vi3+FQri+2sOeDRVEmi5JLjj\nwKEFfO4xo4moRECsDiERJEUaOFdWxSv/+vwcNIXhncEbsajA4aHv3l8yMFw2\ngKHz0S6kbqLwYqtOdSlJaMiKG8kBVcFG3S6Rba7s6ClBK6KOC/l6XPlvTQV1\ndkZq/neAoKhXq4J63CqhsS2QXDZ8MhuLQEu16Dy5Hi3AUHQBI2szmmuHz2Ne\nklW1MlSaC8JjG8bR+njtc5svycgFUcnAG3u5DBFdI5nUe5og/FuwFAr6tfYn\nzO8ZJ9Hl1tgLl3q/LBJEUvippsIXrCTwqFphxi3wG8V8wXNVThnd1UBdIk8H\nP65f4FSgRKKnnNwfh8ATcvBesu7F5q8DtK8kqavJNyW6DgilCiDKJGZ4OaF7\nPX+Nif9AzOHQMkijpxqZ8G0UoUU723kocCXtGfROhRGYnwx/S4VTL/8joeyO\nN2QGMtXJEh2ryKA14ie4CHgrhZcn2ztgoNmx65pqHN6/EtcnfIzkeQwfX4bU\nHboYdOiANcaYpOkOFhqw0ewuJIobr8Kaz17dN5Dr4JRMsWZtMH+XZIT0adUk\ncEdV\r\n=gQn8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCZbEwd26JqIJiHbrdZGw8zS3JmCxZVblaOYBGC2AYhyQIgY5MxCbHXHzR5VtpJQ6eqEjoSi8LouDhty2w/Og1QnQ8="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-alpha.27_1587385093504_0.7806237507911307"},"_hasShrinkwrap":false},"1.0.0-dev.28":{"name":"vue-composable","version":"1.0.0-dev.28","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"peerDependencies":{"@vue/composition-api":"^0.5.0","vue":"^2.6.10"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-beta.1"},"peerDependencies2":{"@vue/composition-api":"^0.5.0","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-dev.28","dist":{"shasum":"d60aabf6444edf496f44e3d79c7b7af87395c1cb","integrity":"sha512-HqIPnZcfS1LxKMouQIJ768SAUo7YYCNnD5Nqq2jDV+eosXlDX0Y3XPHWuoxH9KlaVPPOjM177+PDks5GdDqRUg==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.28.tgz","fileCount":11,"unpackedSize":441841,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenZPaCRA9TVsSAnZWagAAl2UP/2POxo3WFswCiwnpD49Q\nLd4+dhTuEjBbGAG/S9FQuY4AXgtC7cvrqBpCgdrDZ/qmno/kyyQh8d8gl8PY\nN64cMrDXVCoWdAmNroHs61QvJqKCzEq+B09S1akteOQ7GKnlGjC4hScZZh2F\nKdQP2Df+jIoAtVtmweYhwbh4DX9DmLgHJhClZcK3Uvtq5vRRr/I7BNXlepEM\nSNc1gRqb3QxVCw4qL0e/L2lxBaDn4kPtcgztPg3VdBc+ENQYdIX6l4QgR/55\n5I5/GN9Fz5cJhIjNUkGC5e8FG9Bnpl34jg9FXGzsisX5uEf/O2YZuOxE8xSZ\nmrjZmvWafryy1Yn/LzkFCh3/j6kkVX1Fe2ee/30xcyY4sbjQ95yRIVx6nljK\ng1DNwBlwwxiiZOc/CAR8dZD/OgXs1avtmcoAZOLlYCjReOsPwTltCb3aZnKB\njL1aHRMf09HCSYIWruiG/+uKV/ve/lD5Wz5Nz3LO8siygK9USQgY+GOC4lN2\n2YiZM3PLM5Cy0hNWiKNBj2seMbMu40umuB8u64gJTmfRZhswl5b30O81fmbI\nyly5YIosNEJ0LnZodebvXYcn45S3wE3FLkauFZ/1lT7fmfEKb/aKEeMozk8R\nufyWghBhRf9o2ZWHCUE4aJNslD7KZwnudmpyqK2r6e6KH8WpySNyftF5JPqJ\n36de\r\n=Q8g2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG1isy/WZ8K5jt6/67Pn2X6r18DCkvTxWbQezAJi4cc8AiEAiimtmTHYOpfMnPN123Fm8fgHoMBhHVj1Y2C3ynamqxM="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.28_1587385306037_0.17803728607540092"},"_hasShrinkwrap":false},"1.0.0-alpha.28":{"name":"vue-composable","version":"1.0.0-alpha.28","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"peerDependencies":{"@vue/runtime-core":"^3.0.0-beta.1"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-beta.1"},"peerDependencies2":{"@vue/composition-api":"^0.5.0","vue":"^2.6.10"},"readmeFilename":"README.md","readme":"# vue-composable\n\n<p align=\"center\"><a href=\"https://pikax.me/vue-composable/\" target=\"_blank\" rel=\"noopener noreferrer\"><img width=\"250\" src=\"https://pikax.me/vue-composable/assets/logo.svg\" alt=\"vue-composable logo\"></a></p>\n\n<!-- [![CircleCI](https://circleci.com/gh/pikax/vue-composable.svg?style=svg)](https://circleci.com/gh/pikax/vue-composable) -->\n\n[![Coverage Status](https://coveralls.io/repos/github/pikax/vue-composable/badge.svg?branch=vue3)](https://coveralls.io/github/pikax/vue-composable?branch=vue3)\n\n<!-- [![npm version](https://badge.fury.io/js/vue-composable.svg)](https://badge.fury.io/js/vue-composable) -->\n\n[![bundle size](https://badgen.net/bundlephobia/minzip/vue-composable@next)](https://bundlephobia.com/result?p=vue-composable@next)\n\n# Vue 3\n\nThis version is `alpha` with support for the vue3 ([vue-next](https://github.com/vuejs/vue-next))\n\n> Check webpack [vue3 example](https://github.com/pikax/vue-composable/tree/vue3/examples/vue-next-webpack-preview-master) or [CodeSandbox](https://codesandbox.io/s/vue-composable-next-6m5et)\n\n## Introduction\n\n`vue-composable` is out-of-box ready to use the brand new [Vue 3](https://github.com/vuejs/vue-next) [composition-api](https://vue-composition-api-rfc.netlify.com/) generic components.\n\n100% typescript based composable components and full type support out-of-box.\n\nThis library aim is to be one stop shop for many real-world composable functions, with aggressive tree-shaking to keep it light on your end code.\n\n[vue-composable](https://www.npmjs.com/package/vue-composable) is composed by two package [@vue-composable/core](./packages/core) and [@vue-composable/web](./packages/web).\n\n- [@vue-composable/core](./packages/core): contains helpers composables, such as Promise and Pagination.\n- [@vue-composable/web](./packages/web): contains [Web API](https://developer.mozilla.org/en-US/docs/Web/API) implementations\n\n## Installing\n\n```bash\n# install with yarn\nyarn add @vue/runtime-core vue-composable\n\n# install with npm\nnpm install @vue/runtime-core vue-composable\n```\n\n## Documentation\n\n> NOTE documentation might be slightly wrong, because it was built for the v2\n\nCheck our [documentation](https://pikax.me/vue-composable/)\n\n### Event\n\n- [Event](https://pikax.me/vue-composable/composable/event/event) - Attach event listener to a DOM element\n- [Mouse Move](https://pikax.me/vue-composable/composable/event/onMoveMove) - Attach `mousemove` listener to a DOM element\n- [Resize](https://pikax.me/vue-composable/composable/event/onResize) - Attach `resize` listener to a DOM element\n- [Scroll](https://pikax.me/vue-composable/composable/event/onScroll) - Attach `scroll` listener to a DOM element\n\n### Date\n\n- [useNow][now] : Return reactive custom timer with specified refresh rate\n- [useDateNow][date-now] : Returns reactive `Date.now()` with custom refresh rate\n- [usePerformanceNow][performance-now] : Returns reactive `performance.now()` with custom refresh rate\n\n### Format\n\n- [format](https://pikax.me/vue-composable/composable/format/format) - Reactive string format\n- [path](https://pikax.me/vue-composable/composable/format/path) - Retrieve object value based on string path\n\n### Breakpoint\n\n- [MatchMedia](https://pikax.me/vue-composable/composable/breakpoint/matchMedia) - reactive `MatchMedia`\n- [Breakpoint](https://pikax.me/vue-composable/composable/breakpoint/breakpoint) - reactive `breakpoints` based on `window.innerWidth`\n- [Chrome](https://pikax.me/vue-composable/composable/breakpoint/breakpointChrome) - reactive chrome breakpoints\n- [TailwindCSS](https://pikax.me/vue-composable/composable/breakpoint/breakpointTailwindCSS) - reactive TailwindCSS breakpoints\n\n### MISC\n\n- [sharedRef](https://pikax.me/vue-composable/composable/misc/sharedRef) - cross-tab reactive `ref`\n\n### Storage\n\n- [WebStorage](https://pikax.me/vue-composable/composable/storage/webStorage) - Reactive access to `Storage API`, `useLocalStorage` and `useSessionStorage` use this\n- [storage](https://pikax.me/vue-composable/composable/storage/storage) - uses `localStorage` or on safari private it uses `sessionStorage`\n- [localStorage](https://pikax.me/vue-composable/composable/storage/localStorage) - Reactive access to a `localStorage`\n- [sessionStorage](https://pikax.me/vue-composable/composable/storage/sessionStorage) - Reactive access to a `sessionStorage`\n\n### Pagination\n\n- [Pagination](https://pikax.me/vue-composable/composable/pagination/pagination) - Generic reactive pagination controls\n- [Array Pagination](https://pikax.me/vue-composable/composable/pagination/arrayPagination) - Array pagination\n\n### Validation\n\n- [Validation](https://pikax.me/vue-composable/composable/validation/validation) - model based validation inspired by [vuelidate](https://vuelidate.js.org/)\n\n### i18n\n\n- [i18n](https://pikax.me/vue-composable/composable/i18n/i18n) - Simple i18n implementation with API inspired by [vue-i18n](https://github.com/kazupon/vue-i18n)\n\n### Intl\n\n- [numberFormat](https://pikax.me/vue-composable/composable/Intl/numberFormat) - Intl.NumberFormat\n- [currencyFormat](https://pikax.me/vue-composable/composable/Intl/currencyFormat) - CurrencyFormat with Intl.NumberFormat\n\n### Promise\n\n- [Promise](https://pikax.me/vue-composable/composable/promise/promise) - `Promise` reactive resolve and reject\n- [Cancellable Promise](https://pikax.me/vue-composable/composable/promise/cancellablePromise) - Allow to cancel promises\n- [Retry](https://pikax.me/vue-composable/composable/promise/retry) - Provides functionality to retry `promise`\n\n### Web\n\n- [Fetch](https://pikax.me/vue-composable/composable/web/fetch) - reactive `fetch` wrapper\n- [WebSocket](https://pikax.me/vue-composable/composable/web/webSocket) - reactive `WebSocket` wrapper\n- [IntersectionObserver](https://pikax.me/vue-composable/composable/web/intersectionObserver) - reactive `IntersectionObserver`\n- [NetworkInformation](https://pikax.me/vue-composable/composable/web/networkInformation) - reactive `NetworkInformation` wrapper\n- [Online](<[composable/web](https://pikax.me/vue-composable/composable/web)/online>) - reactive `navigator.onLine` wrapper\n- [PageVisibility](https://pikax.me/vue-composable/composable/web/pageVisibility) - reactive `Page Visibility API`\n- [Language](https://pikax.me/vue-composable/composable/web/language) - reactive `NavigatorLanguage`\n- [BroadcastChannel](https://pikax.me/vue-composable/composable/web/broadcastChannel) - reactive `BroadcastChannel API`\n- [Geolocation API](https://pikax.me/vue-composable/composable/web/geolocation)\n- [CSS variables](https://pikax.me/vue-composable/composable/web/cssVariables) - reactive `CSS variables`\n\n### External\n\n> New packages needed\n\n- [Axios](https://pikax.me/vue-composable/composable/external/axios) - [@vue-composable/axios](https://www.npmjs.com/package/@vue-composable/axios) reactive `axios` wrapper client\n\n## Examples\n\nCheck out the [examples folder](examples) or start hacking on [codesandbox](https://codesandbox.io/s/vue-composable-examples-yuusf).\n\n[![Edit Vue Composable Examples](https://codesandbox.io/static/img/play-codesandbox.svg)](https://codesandbox.io/s/vue-template-yuusf?fontsize=14)\n\n### NOTE\n\nCurrently only works with [composition-api](https://github.com/vuejs/composition-api), when [Vue3](https://github.com/vuejs/vue-next) gets release I will update to use the new reactive system (using [@vue/reactivity](https://github.com/vuejs/vue-next/tree/master/packages/reactivity))\n\nFor [vue-next](https://github.com/vuejs/vue-next) support please check [@next](https://www.npmjs.com/package/vue-composable/v/next)\n\n## Usage\n\n```vue\n<template>\n  <div>\n    <p>page {{ currentPage }} of {{ lastPage }}</p>\n    <p>\n      <button @click=\"prev\">prev</button>\n      <button @click=\"next\">next</button>\n    </p>\n    <ul>\n      <li v-for=\"n in result\" :key=\"n\">\n        {{ n }}\n      </li>\n    </ul>\n  </div>\n</template>\n\n<script>\nimport { useArrayPagination } from \"vue-composable\";\n\nexport default {\n  setup() {\n    const array = new Array(1000).fill(0).map((_, i) => i);\n    const { result, next, prev, currentPage, lastPage } = useArrayPagination(\n      array,\n      {\n        pageSize: 3\n      }\n    );\n\n    return { result, next, prev, currentPage, lastPage };\n  }\n};\n</script>\n```\n\n## Contributing\n\nYou can contribute raising issues and by helping out with code.\n\nTests and Documentation are the most important things for me, because good documentation is really useful!\n\nI really appreciate some tweaks or changes on how the documentation is displayed and how to make it easier to read.\n\n> I really need an logo for this project, if you have a good idea for a logo, please enter in contact with me, you can find me on the `Vue discord : @pikax`\n\n### New composable\n\n1. Fork it!\n2. Create your feature branch: `git checkout -b feat/new-composable`\n3. Commit your changes: `git commit -am 'feat(composable): add a new composable'`\n4. Push to the branch: `git push origin feat/new-composable`\n5. Submit a pull request\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n\n[now]: https://pikax.me/vue-composable/composable/date/now\n[date-now]: https://pikax.me/vue-composable/composable/date/dateNow\n[performance-now]: https://pikax.me/vue-composable/composable/date/performanceNow\n[pagination]: https://pikax.me/vue-composable/composable/pagination/pagination\n[array-pagination]: https://pikax.me/vue-composable/composable/pagination/arrayPagination\n[promise]: https://pikax.me/vue-composable/composable/promise/promise\n[retry]: https://pikax.me/vue-composable/composable/promise/retry\n[cancellable-promise]: https://pikax.me/vue-composable/composable/promise/cancellablePromise\n[debounce]: https://github.com/pikax/vue-composable\n","_id":"vue-composable@1.0.0-alpha.28","dist":{"shasum":"55749173a644658410b79e5cf4454836bd9ee40a","integrity":"sha512-ABEGCCD7IxriXFPbRXZlI6nR53ZIhYV1l+LMhvTOIExStgDo963mCj46xdZhBs01jAsyQ96nAIiJ7f5aSQ/Piw==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-alpha.28.tgz","fileCount":11,"unpackedSize":452910,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenZQJCRA9TVsSAnZWagAAvQwP/i21lO1BmL+PmKdkiStI\nSwJiLAkMTQnpxHvuIc2x0sNlwMTIxAYnjUQ1nw49KrlLNG8Nou3RzySqQ5PQ\nvB5QlBlcatxmQ998JsQN/diyXN52qhe6uZFkTSx1RQuaccy22zGM/XfFfb+n\nZ071AA5sAE+oj4Fw2GAgdVZUFdldJDeF9jiFj+UTbxeUdGFzktoP6KjXRV3C\n+PQDv0rzG4yKhQ9AqmsY3OBL2a7WxVInqoVJe7SQS8fu1aciRFrufJ5DSl04\nRvi4Z/hCOuLdleVO/pxfNEN4i8F7OEQBEp02t/GD6ZOvVhUefjD62wqbvDjq\naI3vkdJlgpA1yUmoh7K2N8BPdMv08REJKHRekIUB1erhSWerQL+YyAH1tGaF\nmGPQ8LTjdaMr1HUnxvNa4byo/AbMRjppEsexNQoX5mD3Mc5I5XWMVxVy7MOY\nlCmF9B6h2sShjIcClF+swSQFZ3YWa8q0mt9Sl4vQTCcwBDTNx896oMJL5qOe\nR92GODNLfAnS4Gy140PYSuFLQQ7N8FrydpVWhpCK+4813WJxRMYr9nrymXR8\nPO7Msact66WVdgUfP06NAPn9eYBw7pQ/iqoD41tRzUrMYVfw74Tg0qqy20Or\nPFPVdOr4MOOe+kxkpLoSkgpOU9tPVZKYcSSdjj8BjBHjmDQc4roA03slxGFf\nM3z5\r\n=UKLC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE0AhoSrfqQ2G8iVQVq6bVbv9NzcHm+viwbXv+vo5lbmAiEAuFndOZG7B5tinrQw2QOqaS8rb92TfQWlooQiM8qVK04="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-alpha.28_1587385352736_0.8955072290623203"},"_hasShrinkwrap":false},"1.0.0-dev.29":{"name":"vue-composable","version":"1.0.0-dev.29","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"peerDependencies":{"@vue/composition-api":"^0.5.0","vue":"^2.6.10"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-beta.1"},"peerDependencies2":{"@vue/composition-api":"^0.5.0","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-dev.29","dist":{"shasum":"42b42a6888ae97e3fce7cf75ebc00020ebac2f98","integrity":"sha512-f7T4coJgSJRkAevKHWYdykoJ4hP7JjDZ4O2IPXqA8LIuGiwCFt59Uo8F3vbldE/f6HX8QiG9l6HvgKWT4IRipA==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.29.tgz","fileCount":11,"unpackedSize":447466,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJen0SaCRA9TVsSAnZWagAAwhUP/2/zQTZQKsV641IVFTdj\nwpzFO51oTSqWIooY2mhebON4OHE21TlwcWe8LIckhqm1Cjte1pYshglqRffl\nTY0dnG4S5v6Ji9m8zEqHUfN8doPl3Ksj/5gajaupHmqcLRVYshCvBiLSVrED\nQtJGUtoYmSgd5UmAFVjduiIW4lx1eRCKefK/YrzxtiGmvY3sdvrTFVJvPLtE\nluxtJXCyVqVN7d0eO9GJZ8RqWXWyTjx6pSqJQwzW7HgBRW1iFR0WzBPkwAZT\nF+YHedA2Z17Snvzd5ePKZlDPaG5bDF2pO/Ucg0+twnFnFo0o5ZkRy+cMPGrX\nycb0HH/ZdopC6kKoe/7tmUDdfLKsBjC8yynsYj2OOcSQ0peqLkyHutyIKmNi\nnJ8U6h6dQVlw3QhjK7bbvX7OEhj9TM3rOUIisk7KxujfoxLIHdvRSpg5Pjux\nx/mNeBaaPZ/8w9tudv1H8bwyLqMZF8ynNS6VJ7qoOASReYbiKX+J7zsrQ93K\nQfNBsfpGVlX+mg2ss52zjN/6XAuxK9xhy4XmDf0xv7TsLmD+KD5pl8K88Kmw\n5KZNMjAOmW5m7MTRVVTZGzlKPALNCdLOqPzNrjSXgHFg+Vkyg8Mb3OcBdaCn\n2eVrhezq2sSPSQtgeiT2jfv4ntipbB7kcXPbrTk2Ssp+N0mVLThzAUtknJIx\n+oSU\r\n=9Djc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCVV/vPmkVS5ebexusGv+DABDsD8XLAXcMHoV82y1Mi5gIhAL69PyQYChODJzI8UgleBoV4fq5EAzOisyGV8CxmsYd0"}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.29_1587496090072_0.5821430656278943"},"_hasShrinkwrap":false},"1.0.0-alpha.29":{"name":"vue-composable","version":"1.0.0-alpha.29","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"peerDependencies":{"@vue/runtime-core":"^3.0.0-beta.1"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-beta.1"},"peerDependencies2":{"@vue/composition-api":"^0.5.0","vue":"^2.6.10"},"readmeFilename":"README.md","readme":"# vue-composable\n\n<p align=\"center\"><a href=\"https://pikax.me/vue-composable/\" target=\"_blank\" rel=\"noopener noreferrer\"><img width=\"250\" src=\"https://pikax.me/vue-composable/assets/logo.svg\" alt=\"vue-composable logo\"></a></p>\n\n[![CircleCI](https://circleci.com/gh/pikax/vue-composable.svg?style=svg)](https://circleci.com/gh/pikax/vue-composable)\n[![Coverage Status](https://coveralls.io/repos/github/pikax/vue-composable/badge.svg?branch=master)](https://coveralls.io/github/pikax/vue-composable?branch=master)\n[![npm version](https://badge.fury.io/js/vue-composable.svg)](https://badge.fury.io/js/vue-composable)\n[![bundle size](https://badgen.net/bundlephobia/minzip/vue-composable)](https://bundlephobia.com/result?p=vue-composable@next)\n\n## Introduction\n\n`vue-composable` is out-of-box ready to use [composition-api](https://github.com/vuejs/composition-api) generic components.\n\n100% typescript based composable components and full type support out-of-box.\n\nBuilt for [vue-next](https://github.com/vuejs/vue-next) and [composition-api](https://github.com/vuejs/composition-api)\n\nThis library aim is to be one stop shop for many real-world composable functions, with aggressive tree-shaking to keep it light on your end code.\n\n# Vue 3\n\n[Vue3](https://github.com/vuejs/vue-next) aka [vue-next](https://github.com/vuejs/vue-next) is supported on the [@next](https://www.npmjs.com/package/vue-composable/v/next)\n\n## Installing\n\n```bash\n# @vue/composition-api\n\n# install with yarn\nyarn add @vue/composition-api vue-composable\n\n# install with npm\nnpm install @vue/composition-api vue-composable\n\n\n# vue-next / vue@3.0.0-beta\n\n# install with yarn\nyarn add vue-composable@next\n\n# install with npm\nnpm install vue-composable@next\n```\n\n## Documentation\n\nCheck our [documentation](https://pikax.me/vue-composable/)\n\n### Composable\n\n### Event\n\n- [Event](https://pikax.me/vue-composable/composable/event/event) - Attach event listener to a DOM element\n- [Mouse Move](https://pikax.me/vue-composable/composable/event/onMouseMove) - Attach `mousemove` listener to a DOM element\n- [Resize](https://pikax.me/vue-composable/composable/event/onResize) - Attach `resize` listener to a DOM element\n- [Scroll](https://pikax.me/vue-composable/composable/event/onScroll) - Attach `scroll` listener to a DOM element\n\n### Date\n\n- [useNow](https://pikax.me/vue-composable/composable/date/now) : Return reactive custom timer with specified refresh rate\n- [useDateNow](https://pikax.me/vue-composable/composable/date/dateNow) : Returns reactive `Date.now()` with custom refresh rate\n- [usePerformanceNow](https://pikax.me/vue-composable/composable/date/performanceNow) : Returns reactive `performance.now()` with custom refresh rate\n\n### Format\n\n- [format](https://pikax.me/vue-composable/composable/format/format) - Reactive string format\n- [path](https://pikax.me/vue-composable/composable/format/path) - Retrieve object value based on string path\n\n### Breakpoint\n\n- [MatchMedia](https://pikax.me/vue-composable/composable/breakpoint/matchMedia) - reactive `MatchMedia`\n- [Breakpoint](https://pikax.me/vue-composable/composable/breakpoint/breakpoint) - reactive `breakpoints` based on `window.innerWidth`\n- [Chrome](https://pikax.me/vue-composable/composable/breakpoint/breakpointChrome) - reactive chrome breakpoints\n- [TailwindCSS](https://pikax.me/vue-composable/composable/breakpoint/breakpointTailwindCSS) - reactive TailwindCSS breakpoints\n\n### MISC\n\n- [sharedRef](https://pikax.me/vue-composable/composable/misc/sharedRef) - cross-tab reactive `ref`\n\n### Storage\n\n- [WebStorage](https://pikax.me/vue-composable/composable/storage/webStorage) - Reactive access to `Storage API`, `useLocalStorage` and `useSessionStorage` use this\n- [storage](https://pikax.me/vue-composable/composable/storage/storage) - uses `localStorage` or on safari private it uses `sessionStorage`\n- [localStorage](https://pikax.me/vue-composable/composable/storage/localStorage) - Reactive access to a `localStorage`\n- [sessionStorage](https://pikax.me/vue-composable/composable/storage/sessionStorage) - Reactive access to a `sessionStorage`\n\n### Pagination\n\n- [Pagination](https://pikax.me/vue-composable/composable/pagination/pagination) - Generic reactive pagination controls\n- [Array Pagination](https://pikax.me/vue-composable/composable/pagination/arrayPagination) - Array pagination\n\n### Validation\n\n- [Validation](https://pikax.me/vue-composable/composable/validation/validation) - model based validation inspired by [vuelidate](https://vuelidate.js.org/)\n\n### i18n\n\n- [i18n](https://pikax.me/vue-composable/composable/i18n/i18n) - Simple i18n implementation with API inspired by [vue-i18n](https://github.com/kazupon/vue-i18n)\n\n### Intl\n\n- [numberFormat](https://pikax.me/vue-composable/composable/Intl/numberFormat) - Intl.NumberFormat\n- [currencyFormat](https://pikax.me/vue-composable/composable/Intl/currencyFormat) - CurrencyFormat with Intl.NumberFormat\n\n### Promise\n\n- [Promise](https://pikax.me/vue-composable/composable/promise/promise) - `Promise` reactive resolve and reject\n- [promiseLazy](https://pikax.me/vue-composable/composable/promise/promiseLazy) - Sugar for [usePromise](https://pikax.me/vue-composable/composable/promise/promise) `lazy:true`\n- [Cancellable Promise](https://pikax.me/vue-composable/composable/promise/cancellablePromise) - Allow to cancel promises\n- [Retry](https://pikax.me/vue-composable/composable/promise/retry) - Provides functionality to retry `promise`\n\n### Web\n\n- [Fetch](https://pikax.me/vue-composable/composable/web/fetch) - reactive `fetch` wrapper\n- [WebSocket](https://pikax.me/vue-composable/composable/web/webSocket) - reactive `WebSocket` wrapper\n- [IntersectionObserver](https://pikax.me/vue-composable/composable/web/intersectionObserver) - reactive `IntersectionObserver`\n- [NetworkInformation](https://pikax.me/vue-composable/composable/web/networkInformation) - reactive `NetworkInformation` wrapper\n- [Online](<[composable/web](https://pikax.me/vue-composable/composable/web)/online>) - reactive `navigator.onLine` wrapper\n- [PageVisibility](https://pikax.me/vue-composable/composable/web/pageVisibility) - reactive `Page Visibility API`\n- [Language](https://pikax.me/vue-composable/composable/web/language) - reactive `NavigatorLanguage`\n- [BroadcastChannel](https://pikax.me/vue-composable/composable/web/broadcastChannel) - reactive `BroadcastChannel API`\n- [Geolocation API](https://pikax.me/vue-composable/composable/web/geolocation)\n- [CSS variables](https://pikax.me/vue-composable/composable/web/cssVariables) - reactive `CSS variables`\n- [Worker](https://pikax.me/vue-composable/composable/web/worker) - `Web Worker API`\n- [WorkerFunction](https://pikax.me/vue-composable/composable/web/workerFunction) - Webworker Function, offload a function to webworker\n- [share](https://pikax.me/vue-composable/composable/web/share) - WebShare API\n\n### External\n\n> New packages needed\n\n- [Axios](https://pikax.me/vue-composable/composable/external/axios) - [@vue-composable/axios](https://www.npmjs.com/package/@vue-composable/axios) reactive `axios` wrapper client\n- [makeAxios](https://pikax.me/vue-composable/composable/external/makeAxios) - [@vue-composable/makeAxios](https://www.npmjs.com/package/@vue-composable/makeAxios) wrap your `axios` instance\n\n## Information\n\nThis is a monorepo project, please check [packages](packages/)\n\n## Contributing\n\nYou can contribute raising issues and by helping out with code.\n\nTests and Documentation are the most important things for me, because good documentation is really useful!\n\nI really appreciate some tweaks or changes on how the documentation is displayed and how to make it easier to read.\n\n> I really need an logo for this project, if you have a good idea for a logo, please enter in contact with me, you can find me on the `Vue discord : @pikax\n\nTwitter: [@pikax_dev](https://twitter.com/pikax_dev)\n\n## Build\n\n```bash\n# install packages\nyarn\n\n# build and test for v2\nyarn build --version=2\nyarn test:vue2\n\n# build and test for v3\nyarn build\nyarn test\n```\n\n### New composable\n\n1. Fork it!\n2. Create your feature branch: `git checkout -b feat/new-composable`\n3. Commit your changes: `git commit -am 'feat(composable): add a new composable'`\n4. Push to the branch: `git push origin feat/new-composable`\n5. Submit a pull request\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n\n[now]: https://pikax.me/vue-composable/composable/date/now\n[date-now]: https://pikax.me/vue-composable/composable/date/dateNow\n[performance-now]: https://pikax.me/vue-composable/composable/date/performanceNow\n[pagination]: https://pikax.me/vue-composable/composable/pagination/pagination\n[array-pagination]: https://pikax.me/vue-composable/composable/pagination/arrayPagination\n[promise]: https://pikax.me/vue-composable/composable/promise/promise\n[retry]: https://pikax.me/vue-composable/composable/promise/retry\n[cancellable-promise]: https://pikax.me/vue-composable/composable/promise/cancellablePromise\n[debounce]: https://github.com/pikax/vue-composable\n","_id":"vue-composable@1.0.0-alpha.29","dist":{"shasum":"5b53c3e7ef277e5ccf4bb5d6f76c74ecd47c88a4","integrity":"sha512-rUYiKdLo/RqITOzcqFY/yIXixr7KpBNglN/wsvQ87haGCuWxpa1eZaWvxLwgmdPUTKKd/jeS9OBaxXpCmRwVvw==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-alpha.29.tgz","fileCount":11,"unpackedSize":458517,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJen0TaCRA9TVsSAnZWagAA5wUP/3MTk/qtLk1ho2IxLK5B\nGBIV6o3TwV1vyKi69GLKB9n0s4/lsvNihR2LvodI8WQHG8NHQ/vdoHPdoJ0b\nIdxKlqdpeYz8rpdFx/TCH3TjzLu8jo+9rrRcHravnGYYE+tN9sQ39zoTEhxR\n5HPTZ2SOAlk9o3VjK8wAwc7tXegZJpwVY3d71uawu45+8Rg9mgpkrUDdgDiE\ncc9/QdQj1577fFJWgWSkGrD6xTVpvPK5malv7iyySMsTiMG+w4ZwIO5hVOZz\ntrFvnjBC+OjUiQVN6hs9y3efnWzuC6YEpGDL0gjSYU36Fki71BzkukCBsTXo\nU5n86RIjnolp95YI4ABMTvdZ49Y4ue/D9lfUlx8pUExK7CGuCu38FXhdqvNY\n92buw3t0FVRT8A5NDuUusAi7h3yZNgbzJ5W+IYvs1PX9lAQw2dvWvfYDTSw9\nvOoB1NmXSsPxjiTQPEXdeTDXgN746BF93JCM35HeC/GEOYTkmxKhIstFPlWJ\nYif/XTPTANTUuaA8TX9JTUWzl8VHMZ7dVkSkQ0m0OUYj6bDSN3XJY3jf+hW2\nnxUOpMg0yJxffnbC7D/IsMjasqlyazjAjjKblLSS3rgjP785HYWZKR3O6mk7\niDCZM7nKM/YspWZRmTeidp/6/p0NqvEhR1m/j7GcScwA2EjYc6sGahLcNcAb\n7kwD\r\n=iP4t\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD1kHtbpatWYLDibj5ZlzniNZ4QSZyue/p/U7iU4QP9eAIhAOrDkH0ODNnkgc+6nnnvvmLZh8o1X+GUHWlKnKXzhZ8N"}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-alpha.29_1587496154315_0.9373705466804607"},"_hasShrinkwrap":false},"1.0.0-dev.31":{"name":"vue-composable","version":"1.0.0-dev.31","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"peerDependencies":{"@vue/runtime-core":"^3.0.0-beta.1"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-beta.1"},"peerDependencies2":{"@vue/composition-api":"^0.5.0","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-dev.31","dist":{"shasum":"589472c248317a5cb710c5ee99d7cdcea79061da","integrity":"sha512-w0FisIWvspavk7W86vyfzWMG9mf36qwrmMUdpx1yk7/0YlKPRgKtxixOSO17mef0zSF5oO3mTxqLMdsnWHZS0Q==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.31.tgz","fileCount":11,"unpackedSize":447347,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJen//eCRA9TVsSAnZWagAAYgUP/0HkjecaZjuXBv+g/j7a\nCeA7h9xHCBudZzGsECEZ+pGd/2bO/b3V1JdtA9hHdi/CJHHzhf5MpGx8rvgr\nwbCHURQswYVchCKHOXnTEzWR7GSSh5VX7EjegjoI7TDVmDV4daaKzTs7Z8WE\nSM9FVMPLfJ/SQcYwxlCUUmM2Fg62rlE2v9XiOeD6QGZBo9bnMecsrqRABM9v\n8eM54VbkQcjR780Pdf9Vna5DYR7yhATaM6+7vi34URNn09MFfeD6P9C6WZ5Z\n1ihDpYn4n7pRIOfjl9aqgm/TXIdVlPJqAvGRsd8utAiwBf4uYPJtt6tKQZc/\nC52mGrf8YVvtuF45r3tc1H2Itnxf1IFVbymfXjRB/pw/qVMf6Vi+BY20Xf7m\nHFG9biYVZD5M7GCsU39qaHuQex/nHsv+lWUfCI5VHHiy+gMI6c5kh0LIe39Q\nLsSKML7r5upYFg7IpGbR0Ojrt9q4G0HK8zRZGsGEAlPQfoecd3mK3sQh6pcB\nrePKrUKwZmy1gmPr5Q4rajggiVF2QDCuSdJsRsMrl05FxjcrARGZvlKB3hO1\nWgLi9D25WKQBYznZBYZp48NqZxYP758bJUHrzaqiBetTml2AyM/1Lw6lhSlq\nNCcVFwsg8p5PBYtpvtFLT0sJMwJTs2VbjjNwVA1Nqn748f8481VtA32EV98Z\nRUsV\r\n=3OTP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHzsge9kr9mhQBJRNq6++dODMMjQYYwz0WRoNkeRtYcwIgA5OzlIh6fXBQ8QoX2H4x2aq2gEpV4tskw45AKrDereU="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.31_1587544030546_0.9601198724240949"},"_hasShrinkwrap":false},"1.0.0-alpha.31":{"name":"vue-composable","version":"1.0.0-alpha.31","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"peerDependencies":{"@vue/runtime-core":"^3.0.0-beta.1"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-beta.1"},"peerDependencies2":{"@vue/composition-api":"^0.5.0","vue":"^2.6.10"},"readmeFilename":"README.md","readme":"# vue-composable\n\n<p align=\"center\"><a href=\"https://pikax.me/vue-composable/\" target=\"_blank\" rel=\"noopener noreferrer\"><img width=\"250\" src=\"https://pikax.me/vue-composable/assets/logo.svg\" alt=\"vue-composable logo\"></a></p>\n\n[![CircleCI](https://circleci.com/gh/pikax/vue-composable.svg?style=svg)](https://circleci.com/gh/pikax/vue-composable)\n[![Coverage Status](https://coveralls.io/repos/github/pikax/vue-composable/badge.svg?branch=master)](https://coveralls.io/github/pikax/vue-composable?branch=master)\n[![npm version](https://badge.fury.io/js/vue-composable.svg)](https://badge.fury.io/js/vue-composable)\n[![bundle size](https://badgen.net/bundlephobia/minzip/vue-composable)](https://bundlephobia.com/result?p=vue-composable@next)\n\n## Introduction\n\n`vue-composable` is out-of-box ready to use [composition-api](https://github.com/vuejs/composition-api) generic components.\n\n100% typescript based composable components and full type support out-of-box.\n\nBuilt for [vue-next](https://github.com/vuejs/vue-next) and [composition-api](https://github.com/vuejs/composition-api)\n\nThis library aim is to be one stop shop for many real-world composable functions, with aggressive tree-shaking to keep it light on your end code.\n\n# Vue 3\n\n[Vue3](https://github.com/vuejs/vue-next) aka [vue-next](https://github.com/vuejs/vue-next) is supported on the [@next](https://www.npmjs.com/package/vue-composable/v/next)\n\n## Installing\n\n```bash\n# @vue/composition-api\n\n# install with yarn\nyarn add @vue/composition-api vue-composable\n\n# install with npm\nnpm install @vue/composition-api vue-composable\n\n\n# vue-next / vue@3.0.0-beta\n\n# install with yarn\nyarn add vue-composable@next\n\n# install with npm\nnpm install vue-composable@next\n```\n\n## Documentation\n\nCheck our [documentation](https://pikax.me/vue-composable/)\n\n### Composable\n\n### Event\n\n- [Event](https://pikax.me/vue-composable/composable/event/event) - Attach event listener to a DOM element\n- [Mouse Move](https://pikax.me/vue-composable/composable/event/onMouseMove) - Attach `mousemove` listener to a DOM element\n- [Resize](https://pikax.me/vue-composable/composable/event/onResize) - Attach `resize` listener to a DOM element\n- [Scroll](https://pikax.me/vue-composable/composable/event/onScroll) - Attach `scroll` listener to a DOM element\n\n### Date\n\n- [useNow](https://pikax.me/vue-composable/composable/date/now) : Return reactive custom timer with specified refresh rate\n- [useDateNow](https://pikax.me/vue-composable/composable/date/dateNow) : Returns reactive `Date.now()` with custom refresh rate\n- [usePerformanceNow](https://pikax.me/vue-composable/composable/date/performanceNow) : Returns reactive `performance.now()` with custom refresh rate\n\n### Format\n\n- [format](https://pikax.me/vue-composable/composable/format/format) - Reactive string format\n- [path](https://pikax.me/vue-composable/composable/format/path) - Retrieve object value based on string path\n\n### Breakpoint\n\n- [MatchMedia](https://pikax.me/vue-composable/composable/breakpoint/matchMedia) - reactive `MatchMedia`\n- [Breakpoint](https://pikax.me/vue-composable/composable/breakpoint/breakpoint) - reactive `breakpoints` based on `window.innerWidth`\n- [Chrome](https://pikax.me/vue-composable/composable/breakpoint/breakpointChrome) - reactive chrome breakpoints\n- [TailwindCSS](https://pikax.me/vue-composable/composable/breakpoint/breakpointTailwindCSS) - reactive TailwindCSS breakpoints\n\n### MISC\n\n- [sharedRef](https://pikax.me/vue-composable/composable/misc/sharedRef) - cross-tab reactive `ref`\n\n### Storage\n\n- [WebStorage](https://pikax.me/vue-composable/composable/storage/webStorage) - Reactive access to `Storage API`, `useLocalStorage` and `useSessionStorage` use this\n- [storage](https://pikax.me/vue-composable/composable/storage/storage) - uses `localStorage` or on safari private it uses `sessionStorage`\n- [localStorage](https://pikax.me/vue-composable/composable/storage/localStorage) - Reactive access to a `localStorage`\n- [sessionStorage](https://pikax.me/vue-composable/composable/storage/sessionStorage) - Reactive access to a `sessionStorage`\n\n### Pagination\n\n- [Pagination](https://pikax.me/vue-composable/composable/pagination/pagination) - Generic reactive pagination controls\n- [Array Pagination](https://pikax.me/vue-composable/composable/pagination/arrayPagination) - Array pagination\n\n### Validation\n\n- [Validation](https://pikax.me/vue-composable/composable/validation/validation) - model based validation inspired by [vuelidate](https://vuelidate.js.org/)\n\n### i18n\n\n- [i18n](https://pikax.me/vue-composable/composable/i18n/i18n) - Simple i18n implementation with API inspired by [vue-i18n](https://github.com/kazupon/vue-i18n)\n\n### Intl\n\n- [numberFormat](https://pikax.me/vue-composable/composable/Intl/numberFormat) - Intl.NumberFormat\n- [currencyFormat](https://pikax.me/vue-composable/composable/Intl/currencyFormat) - CurrencyFormat with Intl.NumberFormat\n\n### Promise\n\n- [Promise](https://pikax.me/vue-composable/composable/promise/promise) - `Promise` reactive resolve and reject\n- [promiseLazy](https://pikax.me/vue-composable/composable/promise/promiseLazy) - Sugar for [usePromise](https://pikax.me/vue-composable/composable/promise/promise) `lazy:true`\n- [Cancellable Promise](https://pikax.me/vue-composable/composable/promise/cancellablePromise) - Allow to cancel promises\n- [Retry](https://pikax.me/vue-composable/composable/promise/retry) - Provides functionality to retry `promise`\n\n### Web\n\n- [Fetch](https://pikax.me/vue-composable/composable/web/fetch) - reactive `fetch` wrapper\n- [WebSocket](https://pikax.me/vue-composable/composable/web/webSocket) - reactive `WebSocket` wrapper\n- [IntersectionObserver](https://pikax.me/vue-composable/composable/web/intersectionObserver) - reactive `IntersectionObserver`\n- [NetworkInformation](https://pikax.me/vue-composable/composable/web/networkInformation) - reactive `NetworkInformation` wrapper\n- [Online](<[composable/web](https://pikax.me/vue-composable/composable/web)/online>) - reactive `navigator.onLine` wrapper\n- [PageVisibility](https://pikax.me/vue-composable/composable/web/pageVisibility) - reactive `Page Visibility API`\n- [Language](https://pikax.me/vue-composable/composable/web/language) - reactive `NavigatorLanguage`\n- [BroadcastChannel](https://pikax.me/vue-composable/composable/web/broadcastChannel) - reactive `BroadcastChannel API`\n- [Geolocation API](https://pikax.me/vue-composable/composable/web/geolocation)\n- [CSS variables](https://pikax.me/vue-composable/composable/web/cssVariables) - reactive `CSS variables`\n- [Worker](https://pikax.me/vue-composable/composable/web/worker) - `Web Worker API`\n- [WorkerFunction](https://pikax.me/vue-composable/composable/web/workerFunction) - Webworker Function, offload a function to webworker\n- [share](https://pikax.me/vue-composable/composable/web/share) - WebShare API\n\n### External\n\n> New packages needed\n\n- [Axios](https://pikax.me/vue-composable/composable/external/axios) - [@vue-composable/axios](https://www.npmjs.com/package/@vue-composable/axios) reactive `axios` wrapper client\n- [makeAxios](https://pikax.me/vue-composable/composable/external/makeAxios) - [@vue-composable/makeAxios](https://www.npmjs.com/package/@vue-composable/makeAxios) wrap your `axios` instance\n\n## Information\n\nThis is a monorepo project, please check [packages](packages/)\n\n## Contributing\n\nYou can contribute raising issues and by helping out with code.\n\nTests and Documentation are the most important things for me, because good documentation is really useful!\n\nI really appreciate some tweaks or changes on how the documentation is displayed and how to make it easier to read.\n\n> I really need an logo for this project, if you have a good idea for a logo, please enter in contact with me, you can find me on the `Vue discord : @pikax\n\nTwitter: [@pikax_dev](https://twitter.com/pikax_dev)\n\n## Build\n\n```bash\n# install packages\nyarn\n\n# build and test for v2\nyarn build --version=2\nyarn test:vue2\n\n# build and test for v3\nyarn build\nyarn test\n```\n\n### New composable\n\n1. Fork it!\n2. Create your feature branch: `git checkout -b feat/new-composable`\n3. Commit your changes: `git commit -am 'feat(composable): add a new composable'`\n4. Push to the branch: `git push origin feat/new-composable`\n5. Submit a pull request\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n\n[now]: https://pikax.me/vue-composable/composable/date/now\n[date-now]: https://pikax.me/vue-composable/composable/date/dateNow\n[performance-now]: https://pikax.me/vue-composable/composable/date/performanceNow\n[pagination]: https://pikax.me/vue-composable/composable/pagination/pagination\n[array-pagination]: https://pikax.me/vue-composable/composable/pagination/arrayPagination\n[promise]: https://pikax.me/vue-composable/composable/promise/promise\n[retry]: https://pikax.me/vue-composable/composable/promise/retry\n[cancellable-promise]: https://pikax.me/vue-composable/composable/promise/cancellablePromise\n[debounce]: https://github.com/pikax/vue-composable\n","_id":"vue-composable@1.0.0-alpha.31","dist":{"shasum":"39000e4ad4cf695ea982a18db65a522d5ad146d7","integrity":"sha512-WyMqP1Ekk7TzAWQW2AN/GA6tGyT2s34uAdtyO1HSOz3Idx7/0wiIxz/CQxmBlgVg1pO+pCQYd4ycaguui237Gw==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-alpha.31.tgz","fileCount":11,"unpackedSize":457383,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJen//6CRA9TVsSAnZWagAAELMP/1IL2etNuzUFIyaJ7X9Y\nfi5jjkdiURSGExBj8FzhpM2wOvEmGa7GXzXNmCi9C/KrLAPTv7ucRa8rMW/j\nOdhmYFDlhOkVMIu/lvVUtqdXak0+ReTHK/9J2bi3rn+5Wa6OgF+2LSfNJMJT\nrmmmBXuOcgF9eWls7Acr5ds0zs/f+f5LNw5zllJnjMGV89qGTpEsRy9avyAr\nkXXzkJhGGmknxDQ73U8rv/0DyK7PCQ+CYbGSwI/X0yY1oJvDtyp7xnqTscis\nPfpQbBSLCsKNZ7UpDqty4jr0rfAw7GuO1jrk+ML/V/tvCcBY5N8egOldRfrw\ndh01FQ34kMtl6CL7c96yi3/Thfhpv7pVUaqt4gZ/ExLcfWZ/GC4Tbgt0akLa\nfdQrr+c+1Ok0BjUepbb+tRWIE3qKPzxYykWR/9mafLPkH/2GbeIQxsirLow+\nZR1zn3HExrAYg5Me0TMoRE+t0zzYmkYmgzkK5X9oepC0+haCSVrIXYcJEOpF\n9hWHT8lGuljKIRg/u7hezeOBZ1czB+ZZ+UMG+TiHJ/YB3099ADvQn7aDazMm\n1cflrDABENeVHVSNUrZKy1JlLKI8fSeMUQ//mpPZ4CwHBV1wVK8ylHj4mvKn\njbziH6z5JqwmPv+JTeCRdMSAxYksR8Fqhu54wa8TBEEbgH7gdkhk6lY1Nfkk\nkt4w\r\n=7D7R\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCdBWePPQvqfBtzLmzXuWmoTteh0K4TEsU42wOoxOHT1gIhAP2csDrxTIk61nv6ZRJxuD/eBibWlsa+CBH4R2YZCp+I"}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-alpha.31_1587544058153_0.3295693162130544"},"_hasShrinkwrap":false},"1.0.0-dev.32":{"name":"vue-composable","version":"1.0.0-dev.32","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"peerDependencies":{"@vue/runtime-core":"^3.0.0-beta.1"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-beta.1"},"peerDependencies2":{"@vue/composition-api":"^0.5.0","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-dev.32","dist":{"shasum":"5e1b98b9c1fe7aeb161e5212c62783b265c1e258","integrity":"sha512-pqxbEZuxp1MlYH7XuyPhQa9uNbEcKo9GFiLtUVSJ1njgHx5tJFdBwbV/MUVEwaDL+scvHc4kd8Fyaq1+a5ziBQ==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.32.tgz","fileCount":11,"unpackedSize":447658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoB3UCRA9TVsSAnZWagAAsmwP/jxmTULQfEalY/S3ikQN\n0YF25ahs/p28UKL8wQO9IVjpAXVaNY6eB7gvKDq+0Se+4nihFoJDJvl4fOfx\nzGbmaL5Iyf/PizyLJiL5LOWUXWAFjs2+DXbXeMapcuEvhG5HgQHm2TIZqyeD\nPyV6bRnu3I223LWOr9OVo2XOSi8j7g/u9f4xne8/ouBjBBZBHU0r+IxadAag\nQoNZOsxwVbtWlcmanIQQNibDESui4Eb1nU9CWJqNmXpKV+De8FQq0swZx6QY\n+N7PF3b1ezu3MEtkCc5Flgh7iaEFAZ1u/f7ULFO0mw6l0EO9nleBpl7POHu1\nzvuCbsiTLYZ+sAGW2DqN61gvFH5Doc9spiTWR/RbbIPtU5Fzr6f7mxOcTeK6\nYacOuXHAtGHax+aU8CJCxMCwYjzePG40QkFH/QkA6x1iPD7neJDtaN2jR0eg\nhaC7ArnHKloeHHjUXokldDasgRLXlVXrXY5TFxAbA+SZ+b0yp/1osGtrqQVQ\nJCom/iN5Mag1AyFTeMSWL2ezBceuT3aVTW/Zcka1/51z0669/In8rQAc4q+Y\ncN0J7PVIhZ5Od76P4U5RTghFgmyT6563QbUiAZ7NjdUnZvK/uI/MJ6H7JBdG\npbsnci+E0BlgkGzY9CvI1KodmfeYnHC/jRWwkdFCQF7u1iJ6ANRQsQ4E7918\nYlGm\r\n=4kJG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDX0623QgXdbtB516rMiAATxlI7nlqeVBwZozY74s2dTQIhAPpgB1H7adwQaKO6+X6Ma9p+3ms2R6+S/dAunS3DaNyA"}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.32_1587551699847_0.9411639940801095"},"_hasShrinkwrap":false},"1.0.0-alpha.32":{"name":"vue-composable","version":"1.0.0-alpha.32","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"peerDependencies":{"@vue/runtime-core":"^3.0.0-beta.1"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-beta.1"},"peerDependencies2":{"@vue/composition-api":"^0.5.0","vue":"^2.6.10"},"readmeFilename":"README.md","readme":"# vue-composable\n\n<p align=\"center\"><a href=\"https://pikax.me/vue-composable/\" target=\"_blank\" rel=\"noopener noreferrer\"><img width=\"250\" src=\"https://pikax.me/vue-composable/assets/logo.svg\" alt=\"vue-composable logo\"></a></p>\n\n[![CircleCI](https://circleci.com/gh/pikax/vue-composable.svg?style=svg)](https://circleci.com/gh/pikax/vue-composable)\n[![Coverage Status](https://coveralls.io/repos/github/pikax/vue-composable/badge.svg?branch=master)](https://coveralls.io/github/pikax/vue-composable?branch=master)\n[![npm version](https://badge.fury.io/js/vue-composable.svg)](https://badge.fury.io/js/vue-composable)\n[![bundle size](https://badgen.net/bundlephobia/minzip/vue-composable)](https://bundlephobia.com/result?p=vue-composable@next)\n\n## Introduction\n\n`vue-composable` is out-of-box ready to use [composition-api](https://github.com/vuejs/composition-api) generic components.\n\n100% typescript based composable components and full type support out-of-box.\n\nBuilt for [vue-next](https://github.com/vuejs/vue-next) and [composition-api](https://github.com/vuejs/composition-api)\n\nThis library aim is to be one stop shop for many real-world composable functions, with aggressive tree-shaking to keep it light on your end code.\n\n# Vue 3\n\n[Vue3](https://github.com/vuejs/vue-next) aka [vue-next](https://github.com/vuejs/vue-next) is supported on the [@next](https://www.npmjs.com/package/vue-composable/v/next)\n\n## Installing\n\n```bash\n# @vue/composition-api\n\n# install with yarn\nyarn add @vue/composition-api vue-composable\n\n# install with npm\nnpm install @vue/composition-api vue-composable\n\n\n# vue-next / vue@3.0.0-beta\n\n# install with yarn\nyarn add vue-composable@next\n\n# install with npm\nnpm install vue-composable@next\n```\n\n## Documentation\n\nCheck our [documentation](https://pikax.me/vue-composable/)\n\n### Composable\n\n### Event\n\n- [Event](https://pikax.me/vue-composable/composable/event/event) - Attach event listener to a DOM element\n- [Mouse Move](https://pikax.me/vue-composable/composable/event/onMouseMove) - Attach `mousemove` listener to a DOM element\n- [Resize](https://pikax.me/vue-composable/composable/event/onResize) - Attach `resize` listener to a DOM element\n- [Scroll](https://pikax.me/vue-composable/composable/event/onScroll) - Attach `scroll` listener to a DOM element\n\n### Date\n\n- [useNow](https://pikax.me/vue-composable/composable/date/now) : Return reactive custom timer with specified refresh rate\n- [useDateNow](https://pikax.me/vue-composable/composable/date/dateNow) : Returns reactive `Date.now()` with custom refresh rate\n- [usePerformanceNow](https://pikax.me/vue-composable/composable/date/performanceNow) : Returns reactive `performance.now()` with custom refresh rate\n\n### Format\n\n- [format](https://pikax.me/vue-composable/composable/format/format) - Reactive string format\n- [path](https://pikax.me/vue-composable/composable/format/path) - Retrieve object value based on string path\n\n### Breakpoint\n\n- [MatchMedia](https://pikax.me/vue-composable/composable/breakpoint/matchMedia) - reactive `MatchMedia`\n- [Breakpoint](https://pikax.me/vue-composable/composable/breakpoint/breakpoint) - reactive `breakpoints` based on `window.innerWidth`\n- [Chrome](https://pikax.me/vue-composable/composable/breakpoint/breakpointChrome) - reactive chrome breakpoints\n- [TailwindCSS](https://pikax.me/vue-composable/composable/breakpoint/breakpointTailwindCSS) - reactive TailwindCSS breakpoints\n\n### MISC\n\n- [sharedRef](https://pikax.me/vue-composable/composable/misc/sharedRef) - cross-tab reactive `ref`\n\n### Storage\n\n- [WebStorage](https://pikax.me/vue-composable/composable/storage/webStorage) - Reactive access to `Storage API`, `useLocalStorage` and `useSessionStorage` use this\n- [storage](https://pikax.me/vue-composable/composable/storage/storage) - uses `localStorage` or on safari private it uses `sessionStorage`\n- [localStorage](https://pikax.me/vue-composable/composable/storage/localStorage) - Reactive access to a `localStorage`\n- [sessionStorage](https://pikax.me/vue-composable/composable/storage/sessionStorage) - Reactive access to a `sessionStorage`\n\n### Pagination\n\n- [Pagination](https://pikax.me/vue-composable/composable/pagination/pagination) - Generic reactive pagination controls\n- [Array Pagination](https://pikax.me/vue-composable/composable/pagination/arrayPagination) - Array pagination\n\n### Validation\n\n- [Validation](https://pikax.me/vue-composable/composable/validation/validation) - model based validation inspired by [vuelidate](https://vuelidate.js.org/)\n\n### i18n\n\n- [i18n](https://pikax.me/vue-composable/composable/i18n/i18n) - Simple i18n implementation with API inspired by [vue-i18n](https://github.com/kazupon/vue-i18n)\n\n### Intl\n\n- [numberFormat](https://pikax.me/vue-composable/composable/Intl/numberFormat) - Intl.NumberFormat\n- [currencyFormat](https://pikax.me/vue-composable/composable/Intl/currencyFormat) - CurrencyFormat with Intl.NumberFormat\n\n### Promise\n\n- [Promise](https://pikax.me/vue-composable/composable/promise/promise) - `Promise` reactive resolve and reject\n- [promiseLazy](https://pikax.me/vue-composable/composable/promise/promiseLazy) - Sugar for [usePromise](https://pikax.me/vue-composable/composable/promise/promise) `lazy:true`\n- [Cancellable Promise](https://pikax.me/vue-composable/composable/promise/cancellablePromise) - Allow to cancel promises\n- [Retry](https://pikax.me/vue-composable/composable/promise/retry) - Provides functionality to retry `promise`\n\n### Web\n\n- [Fetch](https://pikax.me/vue-composable/composable/web/fetch) - reactive `fetch` wrapper\n- [WebSocket](https://pikax.me/vue-composable/composable/web/webSocket) - reactive `WebSocket` wrapper\n- [IntersectionObserver](https://pikax.me/vue-composable/composable/web/intersectionObserver) - reactive `IntersectionObserver`\n- [NetworkInformation](https://pikax.me/vue-composable/composable/web/networkInformation) - reactive `NetworkInformation` wrapper\n- [Online](<[composable/web](https://pikax.me/vue-composable/composable/web)/online>) - reactive `navigator.onLine` wrapper\n- [PageVisibility](https://pikax.me/vue-composable/composable/web/pageVisibility) - reactive `Page Visibility API`\n- [Language](https://pikax.me/vue-composable/composable/web/language) - reactive `NavigatorLanguage`\n- [BroadcastChannel](https://pikax.me/vue-composable/composable/web/broadcastChannel) - reactive `BroadcastChannel API`\n- [Geolocation API](https://pikax.me/vue-composable/composable/web/geolocation)\n- [CSS variables](https://pikax.me/vue-composable/composable/web/cssVariables) - reactive `CSS variables`\n- [Worker](https://pikax.me/vue-composable/composable/web/worker) - `Web Worker API`\n- [WorkerFunction](https://pikax.me/vue-composable/composable/web/workerFunction) - Webworker Function, offload a function to webworker\n- [share](https://pikax.me/vue-composable/composable/web/share) - WebShare API\n\n### External\n\n> New packages needed\n\n- [Axios](https://pikax.me/vue-composable/composable/external/axios) - [@vue-composable/axios](https://www.npmjs.com/package/@vue-composable/axios) reactive `axios` wrapper client\n- [makeAxios](https://pikax.me/vue-composable/composable/external/makeAxios) - [@vue-composable/makeAxios](https://www.npmjs.com/package/@vue-composable/makeAxios) wrap your `axios` instance\n\n## Information\n\nThis is a monorepo project, please check [packages](packages/)\n\n## Contributing\n\nYou can contribute raising issues and by helping out with code.\n\nTests and Documentation are the most important things for me, because good documentation is really useful!\n\nI really appreciate some tweaks or changes on how the documentation is displayed and how to make it easier to read.\n\n> I really need an logo for this project, if you have a good idea for a logo, please enter in contact with me, you can find me on the `Vue discord : @pikax\n\nTwitter: [@pikax_dev](https://twitter.com/pikax_dev)\n\n## Build\n\n```bash\n# install packages\nyarn\n\n# build and test for v2\nyarn build --version=2\nyarn test:vue2\n\n# build and test for v3\nyarn build\nyarn test\n```\n\n### New composable\n\n1. Fork it!\n2. Create your feature branch: `git checkout -b feat/new-composable`\n3. Commit your changes: `git commit -am 'feat(composable): add a new composable'`\n4. Push to the branch: `git push origin feat/new-composable`\n5. Submit a pull request\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n\n[now]: https://pikax.me/vue-composable/composable/date/now\n[date-now]: https://pikax.me/vue-composable/composable/date/dateNow\n[performance-now]: https://pikax.me/vue-composable/composable/date/performanceNow\n[pagination]: https://pikax.me/vue-composable/composable/pagination/pagination\n[array-pagination]: https://pikax.me/vue-composable/composable/pagination/arrayPagination\n[promise]: https://pikax.me/vue-composable/composable/promise/promise\n[retry]: https://pikax.me/vue-composable/composable/promise/retry\n[cancellable-promise]: https://pikax.me/vue-composable/composable/promise/cancellablePromise\n[debounce]: https://github.com/pikax/vue-composable\n","_id":"vue-composable@1.0.0-alpha.32","dist":{"shasum":"cd9c75aacf29bc0e1ac9d779f17bd9fa7a3e493c","integrity":"sha512-tLMihNpEBiK/F1R9pE5YPVlj6wkSlnVupvER5xrwUgMek0Uj8eNWCH6pF8VYnnXywWiZROB+vSvPCR7fYpyuHg==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-alpha.32.tgz","fileCount":11,"unpackedSize":457694,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoB4FCRA9TVsSAnZWagAAt4wQAJFd9nUhdgNvXmXQfLzW\n0C1r0XUesgCNjBL+HNcnZ0qH81dJEwz/V2cQsnwhImvaJAiuYii2SfAjlmGe\nXwYPRODXET0xOmcL5S+U1FH4ZcXvHFDkS6ZSOktgiDjDYNouCALr9Y9pkAY9\nfNzsjBKtukaHzpW3DSZyVx9jw4+dTZVMo2vZwdu4MXtwN/sNopIacb5MPQlm\n/xHOhvMJVTounGP45NCk2rV7RUVsG4cqn18U7bwYQi5buVOHTsC/CgrfVXcH\nqRIERAVgjJJ+2mRpD11iKZH6adsqz4NFaMUdTR/S5k26um35eyLTLAUhYf+1\n90zyPg0LtW8Q21IFHmDaF7WUJbjOXq5SOiRZKzelrkfm8U6GPtvGLX9mvt3b\n9gQ+xQODjaEtCj0zmebUL0ypJ2rQFTJivSZ7dNHVeUkfXQpRGIzXLAuc+rom\nZRwYNoMgsWnRWHo9+cVu3MMa1s3PLFGoqpAQkHQbpiX0i9fxCbn1CKlVAvN5\nO5KeFlwH7vf+Go8y8Zk/ASPwD/KfHQOjAa2m3sCXyqEEDI99Cgy3lB6FCS31\njvphCwQuZSeOcJ0pCrZ0u8RLq2HhDCf2oFU+DKY8loUA3QWwwXaqD/xXDmYq\nwTK9Ye3hOE6KSe6tIH8fd/j7TpG5SL2FjGx55Wy959RUa0SiUYUOk/36sAoK\nvlAq\r\n=8PSD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCPwMX2c/jcEt9oKD1an7PF3r5ft7PDRieIX/qudjqVQQIhAPEDG6ESopIYE/V7f5bXf3nwOb57FMMkA0impYPXzR93"}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-alpha.32_1587551749334_0.8058012135977073"},"_hasShrinkwrap":false},"1.0.0-dev.33":{"name":"vue-composable","version":"1.0.0-dev.33","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"peerDependencies":{"@vue/runtime-core":"^3.0.0-beta.14"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-beta.14"},"peerDependencies2":{"@vue/composition-api":"^0.5.0","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-dev.33","dist":{"shasum":"8425ce59202012ca3181671586b2b69404a0c8b5","integrity":"sha512-ivXEG/oJBsazT6q87g3Oc2hLHe3rD8j5c8njf+2whMcjGEfDT0OV1A1GfTKUJ0mnxK006bt7E9MqHyL2RRBlaw==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.33.tgz","fileCount":11,"unpackedSize":454961,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe02W6CRA9TVsSAnZWagAAxIAQAJT9ydjbXVpqkwZn33WA\nYk81S56PR+C9Lnr+MSGJEeR71AmVk2cANwR4ufcsGck6As91uSkD/Pl7268l\nra1w2cQe1PteRBIiR0418jVEKdkqCj970Py6H1Fofn0hUH1GWr6W2hVcVBq3\nx682X/Lz1bw7QmigUZSnuug+fZLuHZEp1C1E+z+c8X8aw33AV8FpmKp46Bvj\n8gxEEUE9aeKhbvXnbzm0qKrI2HzVBHarJdg5Dv/ZGiY6LAEVxwQclt9SVxro\nIfSYa+k3KIxCpCR7dhWzMz+ac/01UJZa4Ac/fKpeCdQT3sJ3TfbtQcYKU7rZ\nmqF6lq7UYFHEeiTdPrZw+2gulWrNWPuSA/GOahDRQfgPbJJQ1pnArLYTyCoB\nVgAH8wCLTWWRL0nDUS76kL/hchPB9jwNHEF2ZgAHLpkHRSnIV72NU65XHeqA\n2n1LGTA3W7xK9Y+/eWD7RZjfjTu+myLUoL761M3x4DBkb9WjRYfmIxN6DH4a\nUKeH0s5vnaY9Vasx1xDWM81Nqbp8lA1OdD6KISKayiATygHO4Tt7VcolEFWk\nFjs/+PJkHNDIptJzr167Jy6IWk+rWfZJoRSHXkJ75zHjhUdo6LvQBg3KDa93\n7mupb/Q3HPMK+TQ/n4oQwHahLpL978nnbifjsLd5qiCyBO7Poxq0tblmPsSt\n7yJ7\r\n=2VI/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCGyHFM3TdZd9fs1CDrmg1PyBLpalclcvyW0G9fMeiKHgIgAQqQv6xAadKSM0/JXtRfLpzvUoONQuQQ/JGsjKlKDC8="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.33_1590912442317_0.5221258720081632"},"_hasShrinkwrap":false},"1.0.0-alpha.33":{"name":"vue-composable","version":"1.0.0-alpha.33","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"peerDependencies":{"@vue/runtime-core":"^3.0.0-beta.14"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-beta.14"},"peerDependencies2":{"@vue/composition-api":"^0.5.0","vue":"^2.6.10"},"readmeFilename":"README.md","readme":"# vue-composable\n\n<p align=\"center\"><a href=\"https://pikax.me/vue-composable/\" target=\"_blank\" rel=\"noopener noreferrer\"><img width=\"250\" src=\"https://pikax.me/vue-composable/assets/logo.svg\" alt=\"vue-composable logo\"></a></p>\n\n[![CircleCI](https://circleci.com/gh/pikax/vue-composable.svg?style=svg)](https://circleci.com/gh/pikax/vue-composable)\n[![Coverage Status](https://coveralls.io/repos/github/pikax/vue-composable/badge.svg?branch=master)](https://coveralls.io/github/pikax/vue-composable?branch=master)\n[![npm version](https://badge.fury.io/js/vue-composable.svg)](https://badge.fury.io/js/vue-composable)\n[![bundle size](https://badgen.net/bundlephobia/minzip/vue-composable)](https://bundlephobia.com/result?p=vue-composable@next)\n\n## Introduction\n\n`vue-composable` is out-of-box ready to use [composition-api](https://github.com/vuejs/composition-api) generic components.\n\n100% typescript based composable components and full type support out-of-box.\n\nBuilt for [vue-next](https://github.com/vuejs/vue-next) and [composition-api](https://github.com/vuejs/composition-api)\n\nThis library aim is to be one stop shop for many real-world composable functions, with aggressive tree-shaking to keep it light on your end code.\n\n# Vue 3\n\n[Vue3](https://github.com/vuejs/vue-next) aka [vue-next](https://github.com/vuejs/vue-next) is supported on the [@next](https://www.npmjs.com/package/vue-composable/v/next)\n\n## Installing\n\n```bash\n# @vue/composition-api\n\n# install with yarn\nyarn add @vue/composition-api vue-composable\n\n# install with npm\nnpm install @vue/composition-api vue-composable\n\n\n# vue-next / vue@3.0.0-beta\n\n# install with yarn\nyarn add vue-composable@next\n\n# install with npm\nnpm install vue-composable@next\n```\n\n## Documentation\n\nCheck our [documentation](https://pikax.me/vue-composable/)\n\n### Composable\n\n### Event\n\n- [Event](https://pikax.me/vue-composable/composable/event/event) - Attach event listener to a DOM element\n- [Mouse Move](https://pikax.me/vue-composable/composable/event/onMouseMove) - Attach `mousemove` listener to a DOM element\n- [Resize](https://pikax.me/vue-composable/composable/event/onResize) - Attach `resize` listener to a DOM element\n- [Scroll](https://pikax.me/vue-composable/composable/event/onScroll) - Attach `scroll` listener to a DOM element\n\n### Date\n\n- [useNow](https://pikax.me/vue-composable/composable/date/now) : Return reactive custom timer with specified refresh rate\n- [useDateNow](https://pikax.me/vue-composable/composable/date/dateNow) : Returns reactive `Date.now()` with custom refresh rate\n- [usePerformanceNow](https://pikax.me/vue-composable/composable/date/performanceNow) : Returns reactive `performance.now()` with custom refresh rate\n\n### Format\n\n- [format](https://pikax.me/vue-composable/composable/format/format) - Reactive string format\n- [path](https://pikax.me/vue-composable/composable/format/path) - Retrieve object value based on string path\n\n### Breakpoint\n\n- [MatchMedia](https://pikax.me/vue-composable/composable/breakpoint/matchMedia) - reactive `MatchMedia`\n- [Breakpoint](https://pikax.me/vue-composable/composable/breakpoint/breakpoint) - reactive `breakpoints` based on `window.innerWidth`\n- [Chrome](https://pikax.me/vue-composable/composable/breakpoint/breakpointChrome) - reactive chrome breakpoints\n- [TailwindCSS](https://pikax.me/vue-composable/composable/breakpoint/breakpointTailwindCSS) - reactive TailwindCSS breakpoints\n\n### MISC\n\n- [sharedRef](https://pikax.me/vue-composable/composable/misc/sharedRef) - cross-tab reactive `ref`\n\n### Storage\n\n- [WebStorage](https://pikax.me/vue-composable/composable/storage/webStorage) - Reactive access to `Storage API`, `useLocalStorage` and `useSessionStorage` use this\n- [storage](https://pikax.me/vue-composable/composable/storage/storage) - uses `localStorage` or on safari private it uses `sessionStorage`\n- [localStorage](https://pikax.me/vue-composable/composable/storage/localStorage) - Reactive access to a `localStorage`\n- [sessionStorage](https://pikax.me/vue-composable/composable/storage/sessionStorage) - Reactive access to a `sessionStorage`\n\n### Pagination\n\n- [Pagination](https://pikax.me/vue-composable/composable/pagination/pagination) - Generic reactive pagination controls\n- [Array Pagination](https://pikax.me/vue-composable/composable/pagination/arrayPagination) - Array pagination\n\n### Validation\n\n- [Validation](https://pikax.me/vue-composable/composable/validation/validation) - model based validation inspired by [vuelidate](https://vuelidate.js.org/)\n\n### i18n\n\n- [i18n](https://pikax.me/vue-composable/composable/i18n/i18n) - Simple i18n implementation with API inspired by [vue-i18n](https://github.com/kazupon/vue-i18n)\n\n### Intl\n\n- [numberFormat](https://pikax.me/vue-composable/composable/Intl/numberFormat) - Intl.NumberFormat\n- [currencyFormat](https://pikax.me/vue-composable/composable/Intl/currencyFormat) - CurrencyFormat with Intl.NumberFormat\n\n### Promise\n\n- [Promise](https://pikax.me/vue-composable/composable/promise/promise) - `Promise` reactive resolve and reject\n- [promiseLazy](https://pikax.me/vue-composable/composable/promise/promiseLazy) - Sugar for [usePromise](https://pikax.me/vue-composable/composable/promise/promise) `lazy:true`\n- [Cancellable Promise](https://pikax.me/vue-composable/composable/promise/cancellablePromise) - Allow to cancel promises\n- [Retry](https://pikax.me/vue-composable/composable/promise/retry) - Provides functionality to retry `promise`\n\n### Meta\n\n- [Title](https://pikax.me/vue-composable/composable/meta/title) - reactive `document.title`\n\n### Web\n\n- [Fetch](https://pikax.me/vue-composable/composable/web/fetch) - reactive `fetch` wrapper\n- [WebSocket](https://pikax.me/vue-composable/composable/web/webSocket) - reactive `WebSocket` wrapper\n- [IntersectionObserver](https://pikax.me/vue-composable/composable/web/intersectionObserver) - reactive `IntersectionObserver`\n- [NetworkInformation](https://pikax.me/vue-composable/composable/web/networkInformation) - reactive `NetworkInformation` wrapper\n- [Online](<[composable/web](https://pikax.me/vue-composable/composable/web)/online>) - reactive `navigator.onLine` wrapper\n- [PageVisibility](https://pikax.me/vue-composable/composable/web/pageVisibility) - reactive `Page Visibility API`\n- [Language](https://pikax.me/vue-composable/composable/web/language) - reactive `NavigatorLanguage`\n- [BroadcastChannel](https://pikax.me/vue-composable/composable/web/broadcastChannel) - reactive `BroadcastChannel API`\n- [Geolocation API](https://pikax.me/vue-composable/composable/web/geolocation)\n- [CSS variables](https://pikax.me/vue-composable/composable/web/cssVariables) - reactive `CSS variables`\n- [Worker](https://pikax.me/vue-composable/composable/web/worker) - `Web Worker API`\n- [WorkerFunction](https://pikax.me/vue-composable/composable/web/workerFunction) - Webworker Function, offload a function to webworker\n- [share](https://pikax.me/vue-composable/composable/web/share) - WebShare API\n\n### External\n\n> New packages needed\n\n- [Axios](https://pikax.me/vue-composable/composable/external/axios) - [@vue-composable/axios](https://www.npmjs.com/package/@vue-composable/axios) reactive `axios` wrapper client\n- [makeAxios](https://pikax.me/vue-composable/composable/external/makeAxios) - [@vue-composable/makeAxios](https://www.npmjs.com/package/@vue-composable/makeAxios) wrap your `axios` instance\n\n## Information\n\nThis is a monorepo project, please check [packages](packages/)\n\n## Contributing\n\nYou can contribute raising issues and by helping out with code.\n\nTests and Documentation are the most important things for me, because good documentation is really useful!\n\nI really appreciate some tweaks or changes on how the documentation is displayed and how to make it easier to read.\n\n> I really need an logo for this project, if you have a good idea for a logo, please enter in contact with me, you can find me on the `Vue discord : @pikax\n\nTwitter: [@pikax_dev](https://twitter.com/pikax_dev)\n\n## Build\n\n```bash\n# install packages\nyarn\n\n# build and test for v2\nyarn build --version=2\nyarn test:vue2\n\n# build and test for v3\nyarn build\nyarn test\n```\n\n### New composable\n\n1. Fork it!\n2. Create your feature branch: `git checkout -b feat/new-composable`\n3. Commit your changes: `git commit -am 'feat(composable): add a new composable'`\n4. Push to the branch: `git push origin feat/new-composable`\n5. Submit a pull request\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n\n[now]: https://pikax.me/vue-composable/composable/date/now\n[date-now]: https://pikax.me/vue-composable/composable/date/dateNow\n[performance-now]: https://pikax.me/vue-composable/composable/date/performanceNow\n[pagination]: https://pikax.me/vue-composable/composable/pagination/pagination\n[array-pagination]: https://pikax.me/vue-composable/composable/pagination/arrayPagination\n[promise]: https://pikax.me/vue-composable/composable/promise/promise\n[retry]: https://pikax.me/vue-composable/composable/promise/retry\n[cancellable-promise]: https://pikax.me/vue-composable/composable/promise/cancellablePromise\n[debounce]: https://github.com/pikax/vue-composable\n","_id":"vue-composable@1.0.0-alpha.33","dist":{"shasum":"9e96a3c9468c7c911931fa9cb1287097b255c0e2","integrity":"sha512-8JD/9t7KHih/dqc+jWjlclH//CkhNgWlrHF+zYUS0yCx7XmwLit8i2T6VU23qz4Ju6VnakSWQnG633ddW5X7jA==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-alpha.33.tgz","fileCount":11,"unpackedSize":452051,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe02XdCRA9TVsSAnZWagAAnMsQAIUrDDqNkmscMsGzh3b3\nkPEA6UhLQZVukcuMes0iGUASxrVG+w+N56DuCOtdNlVCPiZKBZJhnHJt1yeG\nCQtWDDDei/8STqeBnOQ07clJdJCgF3uQpK6aUzn7babASpjIRXeOocM/fOfI\nlHufnXXjfusfQd8Ym0HB8osltGpwm2xlNILudQ5q/4sBLjoXmij+Fzn8dJns\n2bTGaYWNTJhdA/FaVae1chzjXrbYJaUlK3YzSf53jYe0/fIfDfOLqcqe/def\n4ExgUdTAxCQupuLY1yaiSEBMJf8506mRzEEbzCmOkE9BYzajBs0BMXIGtVzn\nvCKQe00/dFv0NbAG+Jk2om5w/dys8U1iqJjV2yYMkEq2EaRR1SsIPKIhRYb4\nG28xJDLP8m4z3D5h1GfNIb/bxmyAMbB3Cb0VnhFm33qPfHhcFLAXza7KvgD9\nH3UW4MvWSbo6K8oGkxKorEKezCzPgJ6+Cqsm41UQ3dWSXYvu4n0AZA8UQqVk\n+Wl5U0xhPKtfUDkHMn/GuaRq7aS+A0cKUUTD6ctrAcLUOK6aSPUxWLh7pQ75\nJaKTYXstQbdcad58aki7iWGTmZ7Haf2WbYfttYLxp+MyTik7RzNLZj5BTOZD\nHYiCwZNw+zVlAI5FurSS31AFx1AnkXwgqhoLNW4k/aOgdBs+fAFtV+CEaisL\n0T2k\r\n=cxrS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD4ykpKYZwN4DCmVFa/qolwTSiEOR3vITnEN9y/vpPQ8QIhAKYICwcrMAgcZafM8XNq7SdvAghoMCH6xkiDXh/XwDO4"}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-alpha.33_1590912476295_0.9493432592878819"},"_hasShrinkwrap":false},"1.0.0-dev.34":{"name":"vue-composable","version":"1.0.0-dev.34","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"peerDependencies":{"@vue/runtime-core":"^3.0.0-beta.14"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-beta.14"},"peerDependencies2":{"@vue/composition-api":"^0.5.0","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-dev.34","dist":{"shasum":"f1c2e17f560be1f9646c80075ee0cb94a5a04129","integrity":"sha512-UR2CuB1CEgyEomL6rXPuNlgzg6zr3EYjd30DWog8ouiFJAKDFdWdu70gTOYRWk9FRdUjqHOdEzcpX13R2H8AVA==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.34.tgz","fileCount":11,"unpackedSize":461724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe18KWCRA9TVsSAnZWagAAQrEP/0WFbCQi96XSwfSWr5CP\nytwo5gdnP6ax+aT4wAnfvD1X8qIKR5zifycsyfOjH0N5RyUCpIzqDGwPmoAS\nEXPRFqQ4i4hxOO7bPOccZkYSOKmF7Q7p/iRp5Rl0a77RORbCKapRF4uEwb6t\njFUolOee6EUgMe6SptShT9caT30EDX81X1qncSGOw2TTxaH/20qvcOg5uN6B\nKDpOoORF5kB7pZ2qRqeclL7QaiMndcSH786IwqGudJsj36cFaQtdF2t4rFk6\nvZQwdjzzVBCt2FKZc6qmcJjI/C4eOOyHWc77sCj4cjNLjqZUMb/zzYm6p3F+\nhQVU5HH0R0bfANuu765uWOT89V2SMmLw6wzBDX8OVD9RSEZP3voQhSHmOwxu\n+krnQKM58HamUTYb42ua+3r6nEPI9f+ihWQ+tycki3MVM9EyEA6NxUsgMam3\nMk3oYX3R5A24P9wh9MkEr8mmMY0n+Uk4cxs/7Jd9woCWbUsXvk8zhEHb18ON\nLoBOpm9DdDIa7DFWxQSjWapm9JDsHESosL4y6lKfAZJ8BeAlZef4ZKtXxsr6\ngB9p7V8ZL8LVucpV/FKB3GxC/JchJzkc5dXLor1VGpoKhrHD3EgI1cnsUYeu\nI9FRlgHKH0OjetyeJGkda9dWQHP/NG9mFrNYGB4Wrj0kfXvh9lzlcoiviRS7\nsQ82\r\n=dtIB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDK9xtEhCpFcIWJxj0QD36MsF+2tzfkh5VNaI22j3t2FAiAiGD3LPXRbUr9NJYnlj+fpKvrwTX+/brIiJfYPAJid7g=="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.34_1591198357800_0.5525236191443934"},"_hasShrinkwrap":false},"1.0.0-alpha.34":{"name":"vue-composable","version":"1.0.0-alpha.34","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"peerDependencies":{"@vue/runtime-core":"^3.0.0-beta.14"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-beta.14"},"peerDependencies2":{"@vue/composition-api":"^0.5.0","vue":"^2.6.10"},"readmeFilename":"README.md","readme":"# vue-composable\n\n<p align=\"center\"><a href=\"https://pikax.me/vue-composable/\" target=\"_blank\" rel=\"noopener noreferrer\"><img width=\"250\" src=\"https://pikax.me/vue-composable/assets/logo.svg\" alt=\"vue-composable logo\"></a></p>\n\n[![CircleCI](https://circleci.com/gh/pikax/vue-composable.svg?style=svg)](https://circleci.com/gh/pikax/vue-composable)\n[![Coverage Status](https://coveralls.io/repos/github/pikax/vue-composable/badge.svg?branch=master)](https://coveralls.io/github/pikax/vue-composable?branch=master)\n[![npm version](https://badge.fury.io/js/vue-composable.svg)](https://badge.fury.io/js/vue-composable)\n[![bundle size](https://badgen.net/bundlephobia/minzip/vue-composable)](https://bundlephobia.com/result?p=vue-composable@next)\n\n## Introduction\n\n`vue-composable` is out-of-box ready to use [composition-api](https://github.com/vuejs/composition-api) generic components.\n\n100% typescript based composable components and full type support out-of-box.\n\nBuilt for [vue-next](https://github.com/vuejs/vue-next) and [composition-api](https://github.com/vuejs/composition-api)\n\nThis library aim is to be one stop shop for many real-world composable functions, with aggressive tree-shaking to keep it light on your end code.\n\n# Vue 3\n\n[Vue3](https://github.com/vuejs/vue-next) aka [vue-next](https://github.com/vuejs/vue-next) is supported on the [@next](https://www.npmjs.com/package/vue-composable/v/next)\n\n## Installing\n\n```bash\n# @vue/composition-api\n\n# install with yarn\nyarn add @vue/composition-api vue-composable\n\n# install with npm\nnpm install @vue/composition-api vue-composable\n\n\n# vue-next / vue@3.0.0-beta\n\n# install with yarn\nyarn add vue-composable@next\n\n# install with npm\nnpm install vue-composable@next\n```\n\n## Documentation\n\nCheck our [documentation](https://pikax.me/vue-composable/)\n\n### Composable\n\n### Event\n\n- [Event](https://pikax.me/vue-composable/composable/event/event) - Attach event listener to a DOM element\n- [Mouse Move](https://pikax.me/vue-composable/composable/event/onMouseMove) - Attach `mousemove` listener to a DOM element\n- [Resize](https://pikax.me/vue-composable/composable/event/onResize) - Attach `resize` listener to a DOM element\n- [Scroll](https://pikax.me/vue-composable/composable/event/onScroll) - Attach `scroll` listener to a DOM element\n\n### Date\n\n- [useNow](https://pikax.me/vue-composable/composable/date/now) : Return reactive custom timer with specified refresh rate\n- [useDateNow](https://pikax.me/vue-composable/composable/date/dateNow) : Returns reactive `Date.now()` with custom refresh rate\n- [usePerformanceNow](https://pikax.me/vue-composable/composable/date/performanceNow) : Returns reactive `performance.now()` with custom refresh rate\n\n### Format\n\n- [format](https://pikax.me/vue-composable/composable/format/format) - Reactive string format\n- [path](https://pikax.me/vue-composable/composable/format/path) - Retrieve object value based on string path\n\n### Breakpoint\n\n- [MatchMedia](https://pikax.me/vue-composable/composable/breakpoint/matchMedia) - reactive `MatchMedia`\n- [Breakpoint](https://pikax.me/vue-composable/composable/breakpoint/breakpoint) - reactive `breakpoints` based on `window.innerWidth`\n- [Chrome](https://pikax.me/vue-composable/composable/breakpoint/breakpointChrome) - reactive chrome breakpoints\n- [TailwindCSS](https://pikax.me/vue-composable/composable/breakpoint/breakpointTailwindCSS) - reactive TailwindCSS breakpoints\n\n### MISC\n\n- [sharedRef](https://pikax.me/vue-composable/composable/misc/sharedRef) - cross-tab reactive `ref`\n- [VModel](https://pikax.me/vue-composable/composable/meta/vmodel) - helper to wrap model update into a `ref` `[vue3 only]`\n- [injectFactory](https://pikax.me/vue-composable/composable/misc/injectFactory) - same as [inject](https://vue-composition-api-rfc.netlify.app/api.html#dependency-injection) but allows you to have a factory as default value\n\n### Storage\n\n- [WebStorage](https://pikax.me/vue-composable/composable/storage/webStorage) - Reactive access to `Storage API`, `useLocalStorage` and `useSessionStorage` use this\n- [storage](https://pikax.me/vue-composable/composable/storage/storage) - uses `localStorage` or on safari private it uses `sessionStorage`\n- [localStorage](https://pikax.me/vue-composable/composable/storage/localStorage) - Reactive access to a `localStorage`\n- [sessionStorage](https://pikax.me/vue-composable/composable/storage/sessionStorage) - Reactive access to a `sessionStorage`\n\n### Pagination\n\n- [Pagination](https://pikax.me/vue-composable/composable/pagination/pagination) - Generic reactive pagination controls\n- [Array Pagination](https://pikax.me/vue-composable/composable/pagination/arrayPagination) - Array pagination\n\n### Validation\n\n- [Validation](https://pikax.me/vue-composable/composable/validation/validation) - model based validation inspired by [vuelidate](https://vuelidate.js.org/)\n\n### i18n\n\n- [i18n](https://pikax.me/vue-composable/composable/i18n/i18n) - Simple i18n implementation with API inspired by [vue-i18n](https://github.com/kazupon/vue-i18n)\n\n### Intl\n\n- [numberFormat](https://pikax.me/vue-composable/composable/Intl/numberFormat) - Intl.NumberFormat\n- [currencyFormat](https://pikax.me/vue-composable/composable/Intl/currencyFormat) - CurrencyFormat with Intl.NumberFormat\n\n### Promise\n\n- [Promise](https://pikax.me/vue-composable/composable/promise/promise) - `Promise` reactive resolve and reject\n- [promiseLazy](https://pikax.me/vue-composable/composable/promise/promiseLazy) - Sugar for [usePromise](https://pikax.me/vue-composable/composable/promise/promise) `lazy:true`\n- [Cancellable Promise](https://pikax.me/vue-composable/composable/promise/cancellablePromise) - Allow to cancel promises\n- [Retry](https://pikax.me/vue-composable/composable/promise/retry) - Provides functionality to retry `promise`\n\n### Meta\n\n- [Title](https://pikax.me/vue-composable/composable/meta/title) - reactive `document.title`\n\n### Web\n\n- [Fetch](https://pikax.me/vue-composable/composable/web/fetch) - reactive `fetch` wrapper\n- [WebSocket](https://pikax.me/vue-composable/composable/web/webSocket) - reactive `WebSocket` wrapper\n- [IntersectionObserver](https://pikax.me/vue-composable/composable/web/intersectionObserver) - reactive `IntersectionObserver`\n- [NetworkInformation](https://pikax.me/vue-composable/composable/web/networkInformation) - reactive `NetworkInformation` wrapper\n- [Online](<[composable/web](https://pikax.me/vue-composable/composable/web)/online>) - reactive `navigator.onLine` wrapper\n- [PageVisibility](https://pikax.me/vue-composable/composable/web/pageVisibility) - reactive `Page Visibility API`\n- [Language](https://pikax.me/vue-composable/composable/web/language) - reactive `NavigatorLanguage`\n- [BroadcastChannel](https://pikax.me/vue-composable/composable/web/broadcastChannel) - reactive `BroadcastChannel API`\n- [Geolocation API](https://pikax.me/vue-composable/composable/web/geolocation)\n- [CSS variables](https://pikax.me/vue-composable/composable/web/cssVariables) - reactive `CSS variables`\n- [Worker](https://pikax.me/vue-composable/composable/web/worker) - `Web Worker API`\n- [WorkerFunction](https://pikax.me/vue-composable/composable/web/workerFunction) - Webworker Function, offload a function to webworker\n- [share](https://pikax.me/vue-composable/composable/web/share) - WebShare API\n\n### External\n\n> New packages needed\n\n- [Axios](https://pikax.me/vue-composable/composable/external/axios) - [@vue-composable/axios](https://www.npmjs.com/package/@vue-composable/axios) reactive `axios` wrapper client\n- [makeAxios](https://pikax.me/vue-composable/composable/external/makeAxios) - [@vue-composable/makeAxios](https://www.npmjs.com/package/@vue-composable/makeAxios) wrap your `axios` instance\n\n## Information\n\nThis is a monorepo project, please check [packages](packages/)\n\n## Contributing\n\nYou can contribute raising issues and by helping out with code.\n\nTests and Documentation are the most important things for me, because good documentation is really useful!\n\nI really appreciate some tweaks or changes on how the documentation is displayed and how to make it easier to read.\n\n> I really need an logo for this project, if you have a good idea for a logo, please enter in contact with me, you can find me on the `Vue discord : @pikax\n\nTwitter: [@pikax_dev](https://twitter.com/pikax_dev)\n\n## Build\n\n```bash\n# install packages\nyarn\n\n# build and test for v2\nyarn build --version=2\nyarn test:vue2\n\n# build and test for v3\nyarn build\nyarn test\n```\n\n### New composable\n\n1. Fork it!\n2. Create your feature branch: `git checkout -b feat/new-composable`\n3. Commit your changes: `git commit -am 'feat(composable): add a new composable'`\n4. Push to the branch: `git push origin feat/new-composable`\n5. Submit a pull request\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n\n[now]: https://pikax.me/vue-composable/composable/date/now\n[date-now]: https://pikax.me/vue-composable/composable/date/dateNow\n[performance-now]: https://pikax.me/vue-composable/composable/date/performanceNow\n[pagination]: https://pikax.me/vue-composable/composable/pagination/pagination\n[array-pagination]: https://pikax.me/vue-composable/composable/pagination/arrayPagination\n[promise]: https://pikax.me/vue-composable/composable/promise/promise\n[retry]: https://pikax.me/vue-composable/composable/promise/retry\n[cancellable-promise]: https://pikax.me/vue-composable/composable/promise/cancellablePromise\n[debounce]: https://github.com/pikax/vue-composable\n","_id":"vue-composable@1.0.0-alpha.34","dist":{"shasum":"7957540815e84ca1af45eefa254b07b2bf7ef373","integrity":"sha512-7VDu4dVd7IOFMdJeKZN9xukyJYCJZwUwJvHKGf5vRMQXxCOVsZpwD0/64XbCIFkz9/iGO3eH2Auao4/qVEQNUQ==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-alpha.34.tgz","fileCount":11,"unpackedSize":460050,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe18K7CRA9TVsSAnZWagAAkokP/RCk67fckrYFwd3lBczV\nD6iBbIGPSTLqKufF/aUgLIpjUjwYueCdJwLKtoakhtf9YT1U0rW/Wmhu9Kl0\n2iwTbxnlfvY1nBt0itsLY3RSx7+t0fC3RiRPqaOh8gKWDO/2S+oedGypYSy2\n60rDiQWX6R/39ePouICZjSUoPBk1wqAl6CDPXCSgqtVDQK/4PjEDOptSBuLl\nYQMb2nBt7pFmVvcIXXZNaZvOasSskCYlwpkvLSdQBy5tjZMCLeWgmFFI0Gjz\ntNi8raCqEOf6ifX3vPNOOrGR8KL3eLZWSxnZFaxVcQBcg4P/lThZ1ZosyrXE\ndvLkczWq1t1GideBrp4CcWI7waXI7CNlq9rTv5h2Z5+tjbNuMx86faN0DnL1\n+VP520GGJcVA5W7iToMIRYCF2YxF0Yr0yzWf1KV12dkQkGiAawOtfbpnN1+Q\n4coYyYb2iPBKmyzdCg7F0m0DpF11r5m9w/Ue01zbrLuMH19mViPiM5nL7wEz\nMYNl7ll6tyA/dmTOkjPYgVFn/JCsQihgF8PmWuADiCKUdlSayKdefz/jIzBn\nxPihpiZLz6zA6d3QjsIy0Ai7dOboWqiG9jo2v182b9BFyx9govZ5TO8QQdaC\nIck/63BgdoFqhlm8c9fHR5rtRcELuDZcj8r6Ze62rHozUi/5Qyx5UA4lkQEx\nntSr\r\n=Q0Lk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGxnZKthgkouUrPVFZqlU60h4kEBqZF/oQ4C8acrtI+FAiAuUcDHUtHge25WXE4h2TIVmgcRrUfx6/1F2nZ+m5HY8A=="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-alpha.34_1591198394592_0.9095607251399933"},"_hasShrinkwrap":false},"1.0.0-dev.35":{"name":"vue-composable","version":"1.0.0-dev.35","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"peerDependencies":{"@vue/runtime-core":"^3.0.0-beta.14"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-beta.14"},"peerDependencies2":{"@vue/composition-api":"^0.6.2","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-dev.35","dist":{"shasum":"b297fb01d61d975c41f5fb24171f526a751b21b2","integrity":"sha512-tGdGd0aSj6eJgt0NC1Gc+XZj41v43D7fHIHndYljY8sXmxH39BDHa2m3QlyLoLCm++1uus8zl14b6ZhrzQJKbg==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.35.tgz","fileCount":11,"unpackedSize":471736,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe5KtlCRA9TVsSAnZWagAAGCAP+QGqIoGxUI5vWEY4/nBd\nUHVy6dzAJaVwg9AtmyHspdGNTC/0rbtaQ4LaMU23v1RMpGZXL1Q7rbQWpvBj\nM8tx/aSTF0SzVCxqMEpyDpCLcboRbXvK+pbJFLRwl/oGyjQDOsLbqAnfqlLF\nxmvy6NLWyfo5DI1U8Cdta+MAyvZo5qLXgmK8M7IOZLzfzqXMoETPQmmvkJ47\n8mRy3G5ycf+KVCSM3Xmsew8ZjO+zHdr/gM0PzVBIUYrnTIl2QA6zSLrQM0o+\naSD0UW1GRRrUK4eByuNRUa84SShTO5XdA7e8C6wny0ACC6oCsRYaUsphsAHL\nZlCGOuyMKerrh/gPCBYwSMfwslJiPOhqakIu5e8OfBCHMalRyoybXCl/LTov\nzbl8oEtIK8HM8obh2hVGlth8f/yNVkj6KWOa51/4xY9A05w9iK0v6oBMABdR\nnz9K3lQtU1x0kyxTi4VYkRkutHH1tPQLRmfJZ0aB7UagB/XwLNIw9QeOFFIS\n+3MD7owdmZ4Wx4zupAcxS59XcGLzakpGITRaHhm325AjxzXYfS1rFwk7zcJy\ny9DQRIuwPN2NYVTIls262Dt3qdQhaEEs2QX5dcXdx6j55zlCPB/7s/ToGvyp\nN1okNYVyy0SVZSmi9qfu2QjZBJ3WYQrkzZ3AEA9n8Bd8ciDeUGd0h8fA7ghQ\nKSO3\r\n=FnKo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF4L4132oBXdyYmzmnSJKQFiZNnT6m0ysJsW66C5QhQqAiEAzQWWD6Arm+M/nrEY1Bl/cj/OTorXJjHs/U/aH9o5dyE="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.35_1592044388812_0.9421061051871529"},"_hasShrinkwrap":false},"1.0.0-alpha.35":{"name":"vue-composable","version":"1.0.0-alpha.35","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"peerDependencies":{"@vue/runtime-core":"^3.0.0-beta.14"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-beta.14"},"peerDependencies2":{"@vue/composition-api":"^0.6.2","vue":"^2.6.10"},"readmeFilename":"README.md","readme":"# vue-composable\n\n<p align=\"center\"><a href=\"https://pikax.me/vue-composable/\" target=\"_blank\" rel=\"noopener noreferrer\"><img width=\"250\" src=\"https://pikax.me/vue-composable/assets/logo.svg\" alt=\"vue-composable logo\"></a></p>\n\n[![CircleCI](https://circleci.com/gh/pikax/vue-composable.svg?style=svg)](https://circleci.com/gh/pikax/vue-composable)\n[![Coverage Status](https://coveralls.io/repos/github/pikax/vue-composable/badge.svg?branch=master)](https://coveralls.io/github/pikax/vue-composable?branch=master)\n[![npm version](https://badge.fury.io/js/vue-composable.svg)](https://badge.fury.io/js/vue-composable)\n[![bundle size](https://badgen.net/bundlephobia/minzip/vue-composable)](https://bundlephobia.com/result?p=vue-composable@next)\n\n## Introduction\n\n`vue-composable` is out-of-box ready to use [composition-api](https://github.com/vuejs/composition-api) generic components.\n\n100% typescript based composable components and full type support out-of-box.\n\nBuilt for [vue-next](https://github.com/vuejs/vue-next) and [composition-api](https://github.com/vuejs/composition-api)\n\nThis library aim is to be one stop shop for many real-world composable functions, with aggressive tree-shaking to keep it light on your end code.\n\n# Vue 3\n\n[Vue3](https://github.com/vuejs/vue-next) aka [vue-next](https://github.com/vuejs/vue-next) is supported on the [@next](https://www.npmjs.com/package/vue-composable/v/next)\n\n## Installing\n\n```bash\n# @vue/composition-api\n\n# install with yarn\nyarn add @vue/composition-api vue-composable\n\n# install with npm\nnpm install @vue/composition-api vue-composable\n\n\n# vue-next / vue@3.0.0-beta\n\n# install with yarn\nyarn add vue-composable@next\n\n# install with npm\nnpm install vue-composable@next\n```\n\n## Documentation\n\nCheck our [documentation](https://pikax.me/vue-composable/)\n\n### Composable\n\n### Event\n\n- [Event](https://pikax.me/vue-composable/composable/event/event) - Attach event listener to a DOM element\n- [Mouse Move](https://pikax.me/vue-composable/composable/event/onMouseMove) - Attach `mousemove` listener to a DOM element\n- [Resize](https://pikax.me/vue-composable/composable/event/onResize) - Attach `resize` listener to a DOM element\n- [Scroll](https://pikax.me/vue-composable/composable/event/onScroll) - Attach `scroll` listener to a DOM element\n\n### Date\n\n- [useNow](https://pikax.me/vue-composable/composable/date/now) : Return reactive custom timer with specified refresh rate\n- [useDateNow](https://pikax.me/vue-composable/composable/date/dateNow) : Returns reactive `Date.now()` with custom refresh rate\n- [usePerformanceNow](https://pikax.me/vue-composable/composable/date/performanceNow) : Returns reactive `performance.now()` with custom refresh rate\n\n### Format\n\n- [format](https://pikax.me/vue-composable/composable/format/format) - Reactive string format\n- [path](https://pikax.me/vue-composable/composable/format/path) - Retrieve object value based on string path\n\n### Breakpoint\n\n- [MatchMedia](https://pikax.me/vue-composable/composable/breakpoint/matchMedia) - reactive `MatchMedia`\n- [Breakpoint](https://pikax.me/vue-composable/composable/breakpoint/breakpoint) - reactive `breakpoints` based on `window.innerWidth`\n- [Chrome](https://pikax.me/vue-composable/composable/breakpoint/breakpointChrome) - reactive chrome breakpoints\n- [TailwindCSS](https://pikax.me/vue-composable/composable/breakpoint/breakpointTailwindCSS) - reactive TailwindCSS breakpoints\n\n### MISC\n\n- [sharedRef](https://pikax.me/vue-composable/composable/misc/sharedRef) - cross-tab reactive `ref`\n- [VModel](https://pikax.me/vue-composable/composable/meta/vmodel) - helper to wrap model update into a `ref` `[vue3 only]`\n- [injectFactory](https://pikax.me/vue-composable/composable/misc/injectFactory) - same as [inject](https://vue-composition-api-rfc.netlify.app/api.html#dependency-injection) but allows you to have a factory as default value\n\n### Storage\n\n- [WebStorage](https://pikax.me/vue-composable/composable/storage/webStorage) - Reactive access to `Storage API`, `useLocalStorage` and `useSessionStorage` use this\n- [storage](https://pikax.me/vue-composable/composable/storage/storage) - uses `localStorage` or on safari private it uses `sessionStorage`\n- [localStorage](https://pikax.me/vue-composable/composable/storage/localStorage) - Reactive access to a `localStorage`\n- [sessionStorage](https://pikax.me/vue-composable/composable/storage/sessionStorage) - Reactive access to a `sessionStorage`\n\n### Pagination\n\n- [Pagination](https://pikax.me/vue-composable/composable/pagination/pagination) - Generic reactive pagination controls\n- [Array Pagination](https://pikax.me/vue-composable/composable/pagination/arrayPagination) - Array pagination\n\n### Validation\n\n- [Validation](https://pikax.me/vue-composable/composable/validation/validation) - model based validation inspired by [vuelidate](https://vuelidate.js.org/)\n\n### i18n\n\n- [i18n](https://pikax.me/vue-composable/composable/i18n/i18n) - Simple i18n implementation with API inspired by [vue-i18n](https://github.com/kazupon/vue-i18n)\n\n### Intl\n\n- [numberFormat](https://pikax.me/vue-composable/composable/Intl/numberFormat) - Intl.NumberFormat\n- [currencyFormat](https://pikax.me/vue-composable/composable/Intl/currencyFormat) - CurrencyFormat with Intl.NumberFormat\n\n### Promise\n\n- [Promise](https://pikax.me/vue-composable/composable/promise/promise) - `Promise` reactive resolve and reject\n- [promiseLazy](https://pikax.me/vue-composable/composable/promise/promiseLazy) - Sugar for [usePromise](https://pikax.me/vue-composable/composable/promise/promise) `lazy:true`\n- [Cancellable Promise](https://pikax.me/vue-composable/composable/promise/cancellablePromise) - Allow to cancel promises\n- [Retry](https://pikax.me/vue-composable/composable/promise/retry) - Provides functionality to retry `promise`\n\n### Meta\n\n- [Title](https://pikax.me/vue-composable/composable/meta/title) - reactive `document.title`\n\n### State\n\n- [Undo](https://pikax.me/vue-composable/composable/state/undo) - Tracks variable history, to allow `undo` and `redo`\n\n### Web\n\n- [Fetch](https://pikax.me/vue-composable/composable/web/fetch) - reactive `fetch` wrapper\n- [WebSocket](https://pikax.me/vue-composable/composable/web/webSocket) - reactive `WebSocket` wrapper\n- [IntersectionObserver](https://pikax.me/vue-composable/composable/web/intersectionObserver) - reactive `IntersectionObserver`\n- [NetworkInformation](https://pikax.me/vue-composable/composable/web/networkInformation) - reactive `NetworkInformation` wrapper\n- [Online](<[composable/web](https://pikax.me/vue-composable/composable/web)/online>) - reactive `navigator.onLine` wrapper\n- [PageVisibility](https://pikax.me/vue-composable/composable/web/pageVisibility) - reactive `Page Visibility API`\n- [Language](https://pikax.me/vue-composable/composable/web/language) - reactive `NavigatorLanguage`\n- [BroadcastChannel](https://pikax.me/vue-composable/composable/web/broadcastChannel) - reactive `BroadcastChannel API`\n- [Geolocation API](https://pikax.me/vue-composable/composable/web/geolocation)\n- [CSS variables](https://pikax.me/vue-composable/composable/web/cssVariables) - reactive `CSS variables`\n- [Worker](https://pikax.me/vue-composable/composable/web/worker) - `Web Worker API`\n- [WorkerFunction](https://pikax.me/vue-composable/composable/web/workerFunction) - Webworker Function, offload a function to webworker\n- [share](https://pikax.me/vue-composable/composable/web/share) - WebShare API\n\n### External\n\n> New packages needed\n\n- [Axios](https://pikax.me/vue-composable/composable/external/axios) - [@vue-composable/axios](https://www.npmjs.com/package/@vue-composable/axios) reactive `axios` wrapper client\n- [makeAxios](https://pikax.me/vue-composable/composable/external/makeAxios) - [@vue-composable/makeAxios](https://www.npmjs.com/package/@vue-composable/makeAxios) wrap your `axios` instance\n\n## Information\n\nThis is a monorepo project, please check [packages](packages/)\n\n## Contributing\n\nYou can contribute raising issues and by helping out with code.\n\nTests and Documentation are the most important things for me, because good documentation is really useful!\n\nI really appreciate some tweaks or changes on how the documentation is displayed and how to make it easier to read.\n\n> I really need an logo for this project, if you have a good idea for a logo, please enter in contact with me, you can find me on the `Vue discord : @pikax\n\nTwitter: [@pikax_dev](https://twitter.com/pikax_dev)\n\n## Build\n\n```bash\n# install packages\nyarn\n\n# build and test for v2\nyarn build --version=2\nyarn test:vue2\n\n# build and test for v3\nyarn build\nyarn test\n```\n\n### New composable\n\n1. Fork it!\n2. Create your feature branch: `git checkout -b feat/new-composable`\n3. Commit your changes: `git commit -am 'feat(composable): add a new composable'`\n4. Push to the branch: `git push origin feat/new-composable`\n5. Submit a pull request\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n\n[now]: https://pikax.me/vue-composable/composable/date/now\n[date-now]: https://pikax.me/vue-composable/composable/date/dateNow\n[performance-now]: https://pikax.me/vue-composable/composable/date/performanceNow\n[pagination]: https://pikax.me/vue-composable/composable/pagination/pagination\n[array-pagination]: https://pikax.me/vue-composable/composable/pagination/arrayPagination\n[promise]: https://pikax.me/vue-composable/composable/promise/promise\n[retry]: https://pikax.me/vue-composable/composable/promise/retry\n[cancellable-promise]: https://pikax.me/vue-composable/composable/promise/cancellablePromise\n[debounce]: https://github.com/pikax/vue-composable\n","_id":"vue-composable@1.0.0-alpha.35","dist":{"shasum":"dcb15970d28838b823886d7163ca132e8a41e12f","integrity":"sha512-vCxlG/E4vww0eiic8nJAgb0aItHTX7bRAOZbONWMJ3OyBcy79O7QrEmrOli4zjgu4njb6xTxzCLZkJ7H2Yam5A==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-alpha.35.tgz","fileCount":11,"unpackedSize":470249,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe5KuJCRA9TVsSAnZWagAAfoYP/jp0zLofMm38l92FSe5c\nBlxKcqjrEL5eAy4YGM0oHYa4FKKjRCqrQXUKE0u5uFWNKjzcbmenxiHsVjpM\nZdd/Iiv5C/i8UNysw50pGok0tZhGszvEjFW1JjLobpPU0mRxR8z+yRoXxNpC\naEFyusrXW5awDvCNfaeuH79wTkxEZcq5FblWF9Gtux6zmHWS2VT/vsmocNdm\nEPi9MdFVpm3Cr3bA2Lbd8YzKauA393MwgnJwdgfOyp+jty6VJAZLbxT7NzJ2\naB8DuRzQCdZZql7nfVLi+4zq0pR+BRepdqt5uWLd0nr51zlreDUaJJrwXgej\nXnEFg5Rh1o9NnnO4xH0VbgXnu9bBxGR+gmlsI/s9aJf/3bHEtzgByl+SHenp\nvr0nIGc4TrUPDujKXW5/a4rvACeXZGVzHDYzVMHlPMGR59WBHRCKZqcdSWkO\npCTu5n8rKIe897ro+vkxrALA/s2n9+mEH0BgcS2q/Uxmf8rLXWAgMLDrTmRk\nkHn1RdeRrBnZ/XIKDqsqnTvRLa0Mp4TSplcFas5JSH962cxfvk7NVnaAj8qS\n7CHoAif94s+it/XrTq8gXCoyeyvsw0C6dr6R4B5GKBlPaE+lyNWEgMVPdsXA\nnppIkqzXlCQDwcEOGV5Ltcf7VrbV1ziYnDluRrkAReA8OnGafxBwOU3qJRE6\nEMNb\r\n=iWzj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDCWCed9MFCps7UhFWbUVLYHUC5POVFuM6DwDBW3/RyoQIgDGIjXXm9DfBmj6uynsq9W9EybVzV574YzDjjs99Ssiw="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-alpha.35_1592044424754_0.7719064678655096"},"_hasShrinkwrap":false},"1.0.0-dev.36":{"name":"vue-composable","version":"1.0.0-dev.36","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"peerDependencies":{"@vue/runtime-core":"^3.0.0-beta.14"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-beta.14"},"peerDependencies2":{"@vue/composition-api":"^0.6.2","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-dev.36","dist":{"shasum":"584b8453ed48ed784fa491e00afd8511ac894331","integrity":"sha512-FaQq1WZeOIKwk50tt1n9z1DT7mH46DNT7J7qn0mhrlCPNWNqkvkCWt32MVCwFHFd8Rz3Y1+8apeBwrnxKcz4zw==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.36.tgz","fileCount":11,"unpackedSize":472763,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe5mDLCRA9TVsSAnZWagAAUKYP/0qNvoKhO+gyq1Wu6QSV\nVrj88jINFBCZnuV1xc7T0fidm9Ugq3uemlpvw4PQOzV6o8sRBIVAcpsvquU5\nJq2bRIQeUz5yShqwjpIroV2CMXiQBqzo7kY6XMANRKRXIYXGFhHmIm7kHnhw\nlqeQhev8ZEsmjASrz+pfT4HNCdvdsMMFfkNmTWIJ+YwCv97t+pVMWoO3zp0N\n9FUP0Xi8HdMC27nk7W6b9FfvuF/ferQk9SSk6Z5EbHuTus28lggackEFfmtY\noF4oF+YTwnGFGgt0AL3boa8B8qH0v0ZJTcuLjBnPUjJttdfrTvzeVwGyH91A\nV57HfAImtGbXN2cXrYHvwegjQJGuI1ZaYeGGQzCE2ezTWqdtK9wOYzyONsM5\nw9nIrk2z48VGUKyqN+I73hK5GLjW+yRpU+jvaWrM0V9l9iiicFZlaiXKxPe9\n8LzjZ+lqTCbsuST9/Oy4mxeZapQKm37to+w1cCCOa8Qkuycb+Fsosy0QsynP\nqeGCmVlWYyZGPXSMjTbsdtRpqltIN0DWNIy5giLKYOIOSwaHT+q5+u5G1Rxn\n7eDiIHdkFZRkMF5M0jUmoB3v6qsgXuBfeUOfpHCmvq/FOZxdltlDi2SrtM1f\nswCNiYbsRWP+YbBstaoXYAnrluanPKhHtQhfdEDNnPTw17JlurZ7f4p5swsV\n2uaq\r\n=1rR6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCj0HWDjI7EMv41bvFynSRzVTDPSXViUlyHyWVsk5xx5gIhAJFRBGsEXGMNbHhnzojBzR4ZuCiWsH8jSZDnkzXM10ev"}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.36_1592156363296_0.7755158341055641"},"_hasShrinkwrap":false},"1.0.0-alpha.36":{"name":"vue-composable","version":"1.0.0-alpha.36","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"peerDependencies":{"@vue/runtime-core":"^3.0.0-beta.14"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-beta.14"},"peerDependencies2":{"@vue/composition-api":"^0.6.2","vue":"^2.6.10"},"readmeFilename":"README.md","readme":"# vue-composable\n\n<p align=\"center\"><a href=\"https://pikax.me/vue-composable/\" target=\"_blank\" rel=\"noopener noreferrer\"><img width=\"250\" src=\"https://pikax.me/vue-composable/assets/logo.svg\" alt=\"vue-composable logo\"></a></p>\n\n[![CircleCI](https://circleci.com/gh/pikax/vue-composable.svg?style=svg)](https://circleci.com/gh/pikax/vue-composable)\n[![Coverage Status](https://coveralls.io/repos/github/pikax/vue-composable/badge.svg?branch=master)](https://coveralls.io/github/pikax/vue-composable?branch=master)\n[![npm version](https://badge.fury.io/js/vue-composable.svg)](https://badge.fury.io/js/vue-composable)\n[![bundle size](https://badgen.net/bundlephobia/minzip/vue-composable)](https://bundlephobia.com/result?p=vue-composable@next)\n\n## Introduction\n\n`vue-composable` is out-of-box ready to use [composition-api](https://github.com/vuejs/composition-api) generic components.\n\n100% typescript based composable components and full type support out-of-box.\n\nBuilt for [vue-next](https://github.com/vuejs/vue-next) and [composition-api](https://github.com/vuejs/composition-api)\n\nThis library aim is to be one stop shop for many real-world composable functions, with aggressive tree-shaking to keep it light on your end code.\n\n# Vue 3\n\n[Vue3](https://github.com/vuejs/vue-next) aka [vue-next](https://github.com/vuejs/vue-next) is supported on the [@next](https://www.npmjs.com/package/vue-composable/v/next)\n\n## Installing\n\n```bash\n# @vue/composition-api\n\n# install with yarn\nyarn add @vue/composition-api vue-composable\n\n# install with npm\nnpm install @vue/composition-api vue-composable\n\n\n# vue-next / vue@3.0.0-beta\n\n# install with yarn\nyarn add vue-composable@next\n\n# install with npm\nnpm install vue-composable@next\n```\n\n## Documentation\n\nCheck our [documentation](https://pikax.me/vue-composable/)\n\n### Composable\n\n### Event\n\n- [Event](https://pikax.me/vue-composable/composable/event/event) - Attach event listener to a DOM element\n- [Mouse Move](https://pikax.me/vue-composable/composable/event/onMouseMove) - Attach `mousemove` listener to a DOM element\n- [Resize](https://pikax.me/vue-composable/composable/event/onResize) - Attach `resize` listener to a DOM element\n- [Scroll](https://pikax.me/vue-composable/composable/event/onScroll) - Attach `scroll` listener to a DOM element\n\n### Date\n\n- [useNow](https://pikax.me/vue-composable/composable/date/now) : Return reactive custom timer with specified refresh rate\n- [useDateNow](https://pikax.me/vue-composable/composable/date/dateNow) : Returns reactive `Date.now()` with custom refresh rate\n- [usePerformanceNow](https://pikax.me/vue-composable/composable/date/performanceNow) : Returns reactive `performance.now()` with custom refresh rate\n\n### Format\n\n- [format](https://pikax.me/vue-composable/composable/format/format) - Reactive string format\n- [path](https://pikax.me/vue-composable/composable/format/path) - Retrieve object value based on string path\n\n### Breakpoint\n\n- [MatchMedia](https://pikax.me/vue-composable/composable/breakpoint/matchMedia) - reactive `MatchMedia`\n- [Breakpoint](https://pikax.me/vue-composable/composable/breakpoint/breakpoint) - reactive `breakpoints` based on `window.innerWidth`\n- [Chrome](https://pikax.me/vue-composable/composable/breakpoint/breakpointChrome) - reactive chrome breakpoints\n- [TailwindCSS](https://pikax.me/vue-composable/composable/breakpoint/breakpointTailwindCSS) - reactive TailwindCSS breakpoints\n\n### MISC\n\n- [sharedRef](https://pikax.me/vue-composable/composable/misc/sharedRef) - cross-tab reactive `ref`\n- [VModel](https://pikax.me/vue-composable/composable/meta/vmodel) - helper to wrap model update into a `ref` `[vue3 only]`\n- [injectFactory](https://pikax.me/vue-composable/composable/misc/injectFactory) - same as [inject](https://vue-composition-api-rfc.netlify.app/api.html#dependency-injection) but allows you to have a factory as default value\n\n### Storage\n\n- [WebStorage](https://pikax.me/vue-composable/composable/storage/webStorage) - Reactive access to `Storage API`, `useLocalStorage` and `useSessionStorage` use this\n- [storage](https://pikax.me/vue-composable/composable/storage/storage) - uses `localStorage` or on safari private it uses `sessionStorage`\n- [localStorage](https://pikax.me/vue-composable/composable/storage/localStorage) - Reactive access to a `localStorage`\n- [sessionStorage](https://pikax.me/vue-composable/composable/storage/sessionStorage) - Reactive access to a `sessionStorage`\n\n### Pagination\n\n- [Pagination](https://pikax.me/vue-composable/composable/pagination/pagination) - Generic reactive pagination controls\n- [Array Pagination](https://pikax.me/vue-composable/composable/pagination/arrayPagination) - Array pagination\n\n### Validation\n\n- [Validation](https://pikax.me/vue-composable/composable/validation/validation) - model based validation inspired by [vuelidate](https://vuelidate.js.org/)\n\n### i18n\n\n- [i18n](https://pikax.me/vue-composable/composable/i18n/i18n) - Simple i18n implementation with API inspired by [vue-i18n](https://github.com/kazupon/vue-i18n)\n\n### Intl\n\n- [numberFormat](https://pikax.me/vue-composable/composable/Intl/numberFormat) - Intl.NumberFormat\n- [currencyFormat](https://pikax.me/vue-composable/composable/Intl/currencyFormat) - CurrencyFormat with Intl.NumberFormat\n\n### Promise\n\n- [Promise](https://pikax.me/vue-composable/composable/promise/promise) - `Promise` reactive resolve and reject\n- [promiseLazy](https://pikax.me/vue-composable/composable/promise/promiseLazy) - Sugar for [usePromise](https://pikax.me/vue-composable/composable/promise/promise) `lazy:true`\n- [Cancellable Promise](https://pikax.me/vue-composable/composable/promise/cancellablePromise) - Allow to cancel promises\n- [Retry](https://pikax.me/vue-composable/composable/promise/retry) - Provides functionality to retry `promise`\n\n### Meta\n\n- [Title](https://pikax.me/vue-composable/composable/meta/title) - reactive `document.title`\n\n### State\n\n- [Undo](https://pikax.me/vue-composable/composable/state/undo) - Tracks variable history, to allow `undo` and `redo`\n\n### Web\n\n- [Fetch](https://pikax.me/vue-composable/composable/web/fetch) - reactive `fetch` wrapper\n- [WebSocket](https://pikax.me/vue-composable/composable/web/webSocket) - reactive `WebSocket` wrapper\n- [IntersectionObserver](https://pikax.me/vue-composable/composable/web/intersectionObserver) - reactive `IntersectionObserver`\n- [NetworkInformation](https://pikax.me/vue-composable/composable/web/networkInformation) - reactive `NetworkInformation` wrapper\n- [Online](<[composable/web](https://pikax.me/vue-composable/composable/web)/online>) - reactive `navigator.onLine` wrapper\n- [PageVisibility](https://pikax.me/vue-composable/composable/web/pageVisibility) - reactive `Page Visibility API`\n- [Language](https://pikax.me/vue-composable/composable/web/language) - reactive `NavigatorLanguage`\n- [BroadcastChannel](https://pikax.me/vue-composable/composable/web/broadcastChannel) - reactive `BroadcastChannel API`\n- [Geolocation API](https://pikax.me/vue-composable/composable/web/geolocation)\n- [CSS variables](https://pikax.me/vue-composable/composable/web/cssVariables) - reactive `CSS variables`\n- [Worker](https://pikax.me/vue-composable/composable/web/worker) - `Web Worker API`\n- [WorkerFunction](https://pikax.me/vue-composable/composable/web/workerFunction) - Webworker Function, offload a function to webworker\n- [share](https://pikax.me/vue-composable/composable/web/share) - WebShare API\n\n### External\n\n> New packages needed\n\n- [Axios](https://pikax.me/vue-composable/composable/external/axios) - [@vue-composable/axios](https://www.npmjs.com/package/@vue-composable/axios) reactive `axios` wrapper client\n- [makeAxios](https://pikax.me/vue-composable/composable/external/makeAxios) - [@vue-composable/makeAxios](https://www.npmjs.com/package/@vue-composable/makeAxios) wrap your `axios` instance\n\n## Information\n\nThis is a monorepo project, please check [packages](packages/)\n\n## Contributing\n\nYou can contribute raising issues and by helping out with code.\n\nTests and Documentation are the most important things for me, because good documentation is really useful!\n\nI really appreciate some tweaks or changes on how the documentation is displayed and how to make it easier to read.\n\n> I really need an logo for this project, if you have a good idea for a logo, please enter in contact with me, you can find me on the `Vue discord : @pikax\n\nTwitter: [@pikax_dev](https://twitter.com/pikax_dev)\n\n## Build\n\n```bash\n# install packages\nyarn\n\n# build and test for v2\nyarn build --version=2\nyarn test:vue2\n\n# build and test for v3\nyarn build\nyarn test\n```\n\n### New composable\n\n1. Fork it!\n2. Create your feature branch: `git checkout -b feat/new-composable`\n3. Commit your changes: `git commit -am 'feat(composable): add a new composable'`\n4. Push to the branch: `git push origin feat/new-composable`\n5. Submit a pull request\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n\n[now]: https://pikax.me/vue-composable/composable/date/now\n[date-now]: https://pikax.me/vue-composable/composable/date/dateNow\n[performance-now]: https://pikax.me/vue-composable/composable/date/performanceNow\n[pagination]: https://pikax.me/vue-composable/composable/pagination/pagination\n[array-pagination]: https://pikax.me/vue-composable/composable/pagination/arrayPagination\n[promise]: https://pikax.me/vue-composable/composable/promise/promise\n[retry]: https://pikax.me/vue-composable/composable/promise/retry\n[cancellable-promise]: https://pikax.me/vue-composable/composable/promise/cancellablePromise\n[debounce]: https://github.com/pikax/vue-composable\n","_id":"vue-composable@1.0.0-alpha.36","dist":{"shasum":"995e72695a2147168fe061ac7b3d2835cdec529b","integrity":"sha512-fWr8FTO/jdha38qJqdLC/yC3N1l3sw8kJEihxLFVjb4gPw+duzeAOLOl7ujM/6RT5uPjNvcYFBJ95Kt4aP71qQ==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-alpha.36.tgz","fileCount":11,"unpackedSize":471258,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe5mDuCRA9TVsSAnZWagAAEq4P/1t5EGiAltWr2SoCod/l\nCloQnDHjRAbLGTiNjYS8hKA43VXLjp6NdXN+z+6ZLYiurRMMlllHWGDXF4k9\nZcJncHYvulI6FF5RPDFn0AgCqP55op3eqQ62N9YTmAOFLUj/pTjpQTJ0DiBy\np5N/y9g1o57yebEvfQd0FxRX/zxU8+uWhGAiTvmnKARPB9ojLWOBS4WUVwgT\ncNlz3b3XpuPtWNJd1SVoyjdcPP/s3xL9hFZ7BX+aUlUbuUj068+QG82FkGwV\nvOIxS/zFqHicwmkfyvSk+WtSRQjZtIw+ynm+2uGqS3IKmu8gpOtrQEBY/Gvm\neY2o33kj/EWaX+7izoxUL6ZWJbfMrkRrKc59BqjvcQs6Ltc9kHn6HLcv/PfG\naeGPHfalnJRjEa4U5lisOlTfDURYdH0sszqzcTYJYYC2M5DMb09IpAIp2/6k\nkQcE6YOCLKCMtQO2Ff7lzuZYN4VCxzGHF4LvMyPjEupBOVCfSAol7f38D/nv\n49JnzuS4tBQhF9rSUjMC3rq6godk35Oz93sUUkKi9B6mPCcYXXWaButDxRAk\nPZDEhkhhzrDK9NE1UJjN1i6oaKcmT6rMEuLPLkrvuiNPoMiJlEq6+jY+3qa0\n4M0MvZb5V1NqAf1FKUXpk+N3LnGaCWcfLsclTnjQurvh/C5SSsqKhMEs7cpa\nFhYh\r\n=tlfK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB1h2KyQj8BaWxfsrXTfBANE11a/dmiAwjeA2lYGphXKAiEA+PgkUs5/rGQXwdsDdY5AfP0fh4/SaBvl9QM9mZlyfak="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-alpha.36_1592156398372_0.331675332314036"},"_hasShrinkwrap":false},"1.0.0-dev.37":{"name":"vue-composable","version":"1.0.0-dev.37","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"peerDependencies":{"@vue/composition-api":"^1.0.0-beta.2","vue":"^2.6.10"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-beta.24"},"peerDependencies2":{"@vue/composition-api":"^1.0.0-beta.2","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-dev.37","dist":{"shasum":"7120819eef2d2eeb9fed307218e968a1744b8796","integrity":"sha512-JxCr1FNXbQgQdwqL+yi8cPOP8aN4L19D6UohDAQzKhqo9XQS/Aqn8e59wW+pdKBK5lHJLgN3wtjU1NI5N5SgUw==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-dev.37.tgz","fileCount":11,"unpackedSize":480041,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfEsHQCRA9TVsSAnZWagAAc2IQAICEyXubxXN/Nivprcgg\nuHIR2qmAtJ2XmUQFTmSyT3LjxRoGFjruuxPLOValcLI8CGjj+ZHneVqDae+3\nHhY8dv6cqFaFyx9E0aNHT3rDcdsmCe/WQ4+/uJoSoeBYh9YV9I+MuBzXE/2+\nVHw+DJjx16CqI0Qd5D1ubUAJGg8UlLNPzIC3pth36+xdhAC/on/aZczUe68T\nTioB4f/1fFfxdGWxKehxyPIThmwTWklBDIrQJCk3fEGLoe8j1OZc1nuaerix\nxGPVjY6XnK1Ojn4JPZD6TpTmiVD6ORgdYIirV4bLJa8uNooO3n41n3k9eyED\nD+hlohY2omcIQdLu8INldtbxJm2nM3AxpDG+S8b2IGwZbfCPNOxDXSuUabV6\n8fjUs8k39rK5kO2Bez5AvsBKrxnbNa4GzEBkpTnPSFE/cfUV811PnxZNMgRr\nXKMp93yMC8vxOIrPs+J/XeiJbbNpODw9rVAOnrJ6ZFYfhXn0ABVH4/iBWIyN\nmxs0w7CxHhNT1kA9aa+MZ+tlqgzOeh6PktKweAc19oL2zB5rELMpVrhRaUfR\nhmgOuRl/VjVMFvd/oWNbW+pWIXo31kkEXSdt83r16MU7gZ4rXQKTzVuEhmwf\nVy84dZWtYWoz1hOqv76PD2Zz2V9kl9CXgTeImv0OGyqvgpP2FW/8oIpAFcew\nzprL\r\n=z6xi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCiv6ET3ZeXnQSKZU5U6i0jmkQ9SqM4UTxVAziST/vuZwIgApMlF4/OPn8ETHoAh1UErqOr7UY1v/uvrMuRgjDCF/4="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-dev.37_1595064784450_0.7277614107316066"},"_hasShrinkwrap":false},"1.0.0-alpha.37":{"name":"vue-composable","version":"1.0.0-alpha.37","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"peerDependencies":{"@vue/composition-api":"^1.0.0-beta.2","vue":"^2.6.10"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-beta.24"},"peerDependencies2":{"@vue/composition-api":"^1.0.0-beta.2","vue":"^2.6.10"},"readmeFilename":"README.md","readme":"# vue-composable\n\n<p align=\"center\"><a href=\"https://pikax.me/vue-composable/\" target=\"_blank\" rel=\"noopener noreferrer\"><img width=\"250\" src=\"https://pikax.me/vue-composable/assets/logo.svg\" alt=\"vue-composable logo\"></a></p>\n\n[![CircleCI](https://circleci.com/gh/pikax/vue-composable.svg?style=svg)](https://circleci.com/gh/pikax/vue-composable)\n[![Coverage Status](https://coveralls.io/repos/github/pikax/vue-composable/badge.svg?branch=master)](https://coveralls.io/github/pikax/vue-composable?branch=master)\n[![npm version](https://badge.fury.io/js/vue-composable.svg)](https://badge.fury.io/js/vue-composable)\n[![bundle size](https://badgen.net/bundlephobia/minzip/vue-composable)](https://bundlephobia.com/result?p=vue-composable@next)\n\n## Introduction\n\n`vue-composable` is out-of-box ready to use [composition-api](https://github.com/vuejs/composition-api) generic components.\n\n100% typescript based composable components and full type support out-of-box.\n\nBuilt for [vue-next](https://github.com/vuejs/vue-next) and [composition-api](https://github.com/vuejs/composition-api)\n\nThis library aim is to be one stop shop for many real-world composable functions, with aggressive tree-shaking to keep it light on your end code.\n\n# Vue 3\n\n[Vue3](https://github.com/vuejs/vue-next) aka [vue-next](https://github.com/vuejs/vue-next) is supported on the [@next](https://www.npmjs.com/package/vue-composable/v/next)\n\n## Installing\n\n```bash\n# @vue/composition-api\n\n# install with yarn\nyarn add @vue/composition-api vue-composable\n\n# install with npm\nnpm install @vue/composition-api vue-composable\n\n\n# vue-next / vue@3.0.0-beta\n\n# install with yarn\nyarn add vue-composable@next\n\n# install with npm\nnpm install vue-composable@next\n```\n\n## Documentation\n\nCheck our [documentation](https://pikax.me/vue-composable/)\n\n### Composable\n\n### Event\n\n- [Event](https://pikax.me/vue-composable/composable/event/event) - Attach event listener to a DOM element\n- [Mouse Move](https://pikax.me/vue-composable/composable/event/onMouseMove) - Attach `mousemove` listener to a DOM element\n- [Resize](https://pikax.me/vue-composable/composable/event/onResize) - Attach `resize` listener to a DOM element\n- [Scroll](https://pikax.me/vue-composable/composable/event/onScroll) - Attach `scroll` listener to a DOM element\n\n### Date\n\n- [useNow](https://pikax.me/vue-composable/composable/date/now) : Return reactive custom timer with specified refresh rate\n- [useDateNow](https://pikax.me/vue-composable/composable/date/dateNow) : Returns reactive `Date.now()` with custom refresh rate\n- [usePerformanceNow](https://pikax.me/vue-composable/composable/date/performanceNow) : Returns reactive `performance.now()` with custom refresh rate\n\n### Format\n\n- [format](https://pikax.me/vue-composable/composable/format/format) - Reactive string format\n- [path](https://pikax.me/vue-composable/composable/format/path) - Retrieve object value based on string path\n\n### Breakpoint\n\n- [MatchMedia](https://pikax.me/vue-composable/composable/breakpoint/matchMedia) - reactive `MatchMedia`\n- [Breakpoint](https://pikax.me/vue-composable/composable/breakpoint/breakpoint) - reactive `breakpoints` based on `window.innerWidth`\n- [Chrome](https://pikax.me/vue-composable/composable/breakpoint/breakpointChrome) - reactive chrome breakpoints\n- [TailwindCSS](https://pikax.me/vue-composable/composable/breakpoint/breakpointTailwindCSS) - reactive TailwindCSS breakpoints\n\n### MISC\n\n- [sharedRef](https://pikax.me/vue-composable/composable/misc/sharedRef) - cross-tab reactive `ref`\n- [VModel](https://pikax.me/vue-composable/composable/meta/vmodel) - helper to wrap model update into a `ref` `[vue3 only]`\n- [injectFactory](https://pikax.me/vue-composable/composable/misc/injectFactory) - same as [inject](https://vue-composition-api-rfc.netlify.app/api.html#dependency-injection) but allows you to have a factory as default value\n\n### Storage\n\n- [WebStorage](https://pikax.me/vue-composable/composable/storage/webStorage) - Reactive access to `Storage API`, `useLocalStorage` and `useSessionStorage` use this\n- [storage](https://pikax.me/vue-composable/composable/storage/storage) - uses `localStorage` or on safari private it uses `sessionStorage`\n- [localStorage](https://pikax.me/vue-composable/composable/storage/localStorage) - Reactive access to a `localStorage`\n- [sessionStorage](https://pikax.me/vue-composable/composable/storage/sessionStorage) - Reactive access to a `sessionStorage`\n\n### Pagination\n\n- [Pagination](https://pikax.me/vue-composable/composable/pagination/pagination) - Generic reactive pagination controls\n- [Array Pagination](https://pikax.me/vue-composable/composable/pagination/arrayPagination) - Array pagination\n\n### Validation\n\n- [Validation](https://pikax.me/vue-composable/composable/validation/validation) - model based validation inspired by [vuelidate](https://vuelidate.js.org/)\n\n### i18n\n\n- [i18n](https://pikax.me/vue-composable/composable/i18n/i18n) - Simple i18n implementation with API inspired by [vue-i18n](https://github.com/kazupon/vue-i18n)\n\n### Intl\n\n- [dateTimeFormat](https://pikax.me/vue-composable/composable/Intl/dateTimeFormat) - Intl.DateTimeFormat\n- [numberFormat](https://pikax.me/vue-composable/composable/Intl/numberFormat) - Intl.NumberFormat\n- [currencyFormat](https://pikax.me/vue-composable/composable/Intl/currencyFormat) - CurrencyFormat with Intl.NumberFormat\n\n### Promise\n\n- [Promise](https://pikax.me/vue-composable/composable/promise/promise) - `Promise` reactive resolve and reject\n- [promiseLazy](https://pikax.me/vue-composable/composable/promise/promiseLazy) - Sugar for [usePromise](https://pikax.me/vue-composable/composable/promise/promise) `lazy:true`\n- [Cancellable Promise](https://pikax.me/vue-composable/composable/promise/cancellablePromise) - Allow to cancel promises\n- [Retry](https://pikax.me/vue-composable/composable/promise/retry) - Provides functionality to retry `promise`\n\n### Meta\n\n- [Title](https://pikax.me/vue-composable/composable/meta/title) - reactive `document.title`\n\n### State\n\n- [Undo](https://pikax.me/vue-composable/composable/state/undo) - Tracks variable history, to allow `undo` and `redo`\n\n### Web\n\n- [Fetch](https://pikax.me/vue-composable/composable/web/fetch) - reactive `fetch` wrapper\n- [WebSocket](https://pikax.me/vue-composable/composable/web/webSocket) - reactive `WebSocket` wrapper\n- [IntersectionObserver](https://pikax.me/vue-composable/composable/web/intersectionObserver) - reactive `IntersectionObserver`\n- [NetworkInformation](https://pikax.me/vue-composable/composable/web/networkInformation) - reactive `NetworkInformation` wrapper\n- [Online](<[composable/web](https://pikax.me/vue-composable/composable/web)/online>) - reactive `navigator.onLine` wrapper\n- [PageVisibility](https://pikax.me/vue-composable/composable/web/pageVisibility) - reactive `Page Visibility API`\n- [Language](https://pikax.me/vue-composable/composable/web/language) - reactive `NavigatorLanguage`\n- [BroadcastChannel](https://pikax.me/vue-composable/composable/web/broadcastChannel) - reactive `BroadcastChannel API`\n- [Geolocation API](https://pikax.me/vue-composable/composable/web/geolocation)\n- [CSS variables](https://pikax.me/vue-composable/composable/web/cssVariables) - reactive `CSS variables`\n- [Worker](https://pikax.me/vue-composable/composable/web/worker) - `Web Worker API`\n- [WorkerFunction](https://pikax.me/vue-composable/composable/web/workerFunction) - Webworker Function, offload a function to webworker\n- [share](https://pikax.me/vue-composable/composable/web/share) - WebShare API\n\n### External\n\n> New packages needed\n\n- [Axios](https://pikax.me/vue-composable/composable/external/axios) - [@vue-composable/axios](https://www.npmjs.com/package/@vue-composable/axios) reactive `axios` wrapper client\n- [makeAxios](https://pikax.me/vue-composable/composable/external/makeAxios) - [@vue-composable/makeAxios](https://www.npmjs.com/package/@vue-composable/makeAxios) wrap your `axios` instance\n\n## Information\n\nThis is a monorepo project, please check [packages](packages/)\n\n## Contributing\n\nYou can contribute raising issues and by helping out with code.\n\nTests and Documentation are the most important things for me, because good documentation is really useful!\n\nI really appreciate some tweaks or changes on how the documentation is displayed and how to make it easier to read.\n\nTwitter: [@pikax_dev](https://twitter.com/pikax_dev)\n\n## Build\n\n```bash\n# install packages\nyarn\n\n# build and test for v2\nyarn build --version=2\nyarn test:vue2\n\n# build and test for v3\nyarn build\nyarn test\n```\n\n### New composable\n\n1. Fork it!\n2. Create your feature branch: `git checkout -b feat/new-composable`\n3. Commit your changes: `git commit -am 'feat(composable): add a new composable'`\n4. Push to the branch: `git push origin feat/new-composable`\n5. Submit a pull request\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n\n[now]: https://pikax.me/vue-composable/composable/date/now\n[date-now]: https://pikax.me/vue-composable/composable/date/dateNow\n[performance-now]: https://pikax.me/vue-composable/composable/date/performanceNow\n[pagination]: https://pikax.me/vue-composable/composable/pagination/pagination\n[array-pagination]: https://pikax.me/vue-composable/composable/pagination/arrayPagination\n[promise]: https://pikax.me/vue-composable/composable/promise/promise\n[retry]: https://pikax.me/vue-composable/composable/promise/retry\n[cancellable-promise]: https://pikax.me/vue-composable/composable/promise/cancellablePromise\n[debounce]: https://github.com/pikax/vue-composable\n","_id":"vue-composable@1.0.0-alpha.37","dist":{"shasum":"96c53b997cba1d740f738f380f45c24f4b7caa39","integrity":"sha512-q0bBfEvi9HEGniu9PFbYuwookJ7oMsW0DR5m4n9JglwSP1cjjjQ61T7Z9BtX0si0Q26+hLRgw65GuQubaKZrAg==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-alpha.37.tgz","fileCount":11,"unpackedSize":478517,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfEsHqCRA9TVsSAnZWagAAjAMP/0NcZ/aioMexVMDop/pM\nWbjsnRp68GHUcyNTm5tNi0obo4ykX8qx5sE58f78hKlmrU+f9vHth40wHlLz\ndnFf6zSohUnoHYdFvXDyIXFH7NAWByakqQZ8BIu3eCnmf5kspSNFLzuOa6f1\nBjhOJzu36MO/7RRGNY3WvwBQv/qBcBJRtUGR+UAxI9NcZCD+iMhZwoNu67Rb\n185eC59jFYG6QKr/PuABbrzv5JAissFTbiF2niLKiCDf/vLXu5BnrmFdpOrz\n6D96HRKdcKyoOc8/84FNC256Se/RLUVkiG3GxCFAV6SPGJP7cCPlcDuibgqo\nfYooHDtG2kM/UpnrkNClxpvb462rWPfscqCae9KlZl8ZyYpiTQIuscsQoXkw\nTvMJh1e3B4MhIq5B2CWOwzTcO/DU/dSchFU1NfONGv0HI8nDJ7mzf9pJD+xB\nZ4nPz2uftHa5/LN2Qp+1o6zi8WckmF7Fyh49jNzTCs+x/uBLzy5CQ673PYyn\nq7dTowwu0iXQjgFsgBHghFkbsi99haxy0erq7TM/sEkcEoQcmkyRb+6Y4r8i\nlIBhpeTsTk0Y3Jg7NbEYBfvy+QYhIzVlrQqdF1uOdQ6A4QR1dRBbx+PDEC6c\nF2WtRQ0fHJdGrTga7bLWtYe0zGrepUBNA5qW0mgmY9Q2cWTYEdiyAOxgTAM5\nPSaZ\r\n=6Vyh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEuJ7SS6rC7qvBaW+Qsvw45wBAU3CKirhNBzr8IR+WkEAiEAzGZ2r7IqQRkgkmNbqv/9natE3RigABLYJv5uD/P59aQ="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-alpha.37_1595064810294_0.5337948411383291"},"_hasShrinkwrap":false},"1.0.0-beta.1":{"name":"vue-composable","version":"1.0.0-beta.1","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"scripts":{"postinstall":"node ./scripts/postinstall.js"},"bin":{"vue-composable-fix":"scripts\\postinstall.js"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-beta.24"},"peerDependencies2":{"@vue/composition-api":"^1.0.0-beta.2","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-beta.1","dist":{"shasum":"a8cad4139ae3764be8c07608251852730cbcc376","integrity":"sha512-ZHWZ/hvNzB4nxfAMv0fAL9w4GBA2Q6MMOhrf2mCpxuUdz5PdFdxQYbArUfnboacFvzYPLmKe6s9yVo9LMSu6JQ==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-beta.1.tgz","fileCount":21,"unpackedSize":949524,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfEu16CRA9TVsSAnZWagAAWpAQAIJ0C6SwM4Av3LZoSzjn\nXtW4XxWvSU1S4VL6EOkWTw0Y+MtPw2db3OJ+agyt9uWg/8/r8OZJAMy+z4wH\nolcYTEfoplBOgZsD6HHLEmWGOmZWCRDxanR08Cu/J+7nU2r6d75CVKEjD9rh\niv4uFr4mDW6SqUOvQvdZcSHniXRfY391QaIEmA4aoZR1lRGTouyHpSkUlJEa\nOBzw3F3yiHXLzv3dZFiGFJ7Xwc45PAvR4ho1lVZ5bxZWhFxrDnu887yhek4F\n5IdKu3ZbNdGON2qlvc+5YFG3J/NZSP+Roj5B1FMiGnpZoCy2g0SzObSPepkn\nd5+A32zjx0/aRigcbgwsmgQU1Xo+bwQZB6LrV5ABDZoVUZMWgsAk1KnFxS1c\n7mFJLEd/QRPpBQNVQrJQgUt6RYD++L1DMNMYDYYPeEIO6VxLgkDu7FP5KQhf\n1n+zfvIt9ejHoLAaSBONZxCKisQm/+5TzJfptzkp/zJ1fiMJYc0uffoMPw2c\nx+pZZaEuXdrlxKoZm4alwdxLoesEb0SpNFYjPR03sZW6khFZIS/zfx5FvKOn\nhlgD9gG7BTtM1duGgiJUghlxSDU3ai7zrpyyTEOxhw+c/iPcB1hDTzXDpBk8\nFcvdaTp0WAPcUv4zoNiBy7srqi4SxK0MouZ5vVo1DuUT0iuXZeO2xiHtn3q+\nlOI6\r\n=H8eM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDJ6vWBk93pe47t8dQOpULTd78XaW0u8ye6vJ/D3CxwaAIhALQ84q7FN9FYhC8NcRqSrM4OXWZPFbuO2IGycAq0CmUD"}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-beta.1_1595075962334_0.8247839564210884"},"_hasShrinkwrap":false},"1.0.0-beta.2":{"name":"vue-composable","version":"1.0.0-beta.2","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"scripts":{"postinstall":"node ./scripts/postinstall.js"},"bin":{"vue-composable-fix":"scripts\\postinstall.js"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-rc.2"},"peerDependencies2":{"@vue/composition-api":"^1.0.0-beta.2","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-beta.2","dist":{"shasum":"02d950b66615ce60ccb78feb9b57b41ec1328e35","integrity":"sha512-kfUqg6oyPefZuJXa466BzxpTfdhBdGLJkapa/zXnvw7j9yqBurbRAsamNVDbY1pp3kIxVWKMZCPjyFSHx9sMBw==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-beta.2.tgz","fileCount":27,"unpackedSize":1420896,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGqtFCRA9TVsSAnZWagAAr7YQAI0RQhKriOIAKzlvOvVb\nynk81GrMbJiyfpw2X8e6uLgbH0m2EABJGYueDCFPqTfH/5F6V24jWPiSOmjj\nmn4ttV+sJ4PoXxIyiDyoAUe2x75HTkFQpXiNL99BzvCpHoxq8ZWrA8vRsoXD\nnLqFf9IBYTV9p2P8DCy5t1ddLBvtXwn89qekcaFdHeqqe67p4oBZMqpXsBy/\nL+QsxbNMj7SzDW74LZBKumuTp+Makcx0Atb3FbDrmWNvISYZPY6UbDUjPaUh\nbSKbC6BG+uPL4T4AbKqSbgWt+Abk6Dn6gI6W8XlHW/GKtsXR3bNOpfsyyUgp\nWpUNBMfxTOxclwPVSaU5G3YTY+vSl0qw3OC29DQaph6CmpbdEwq83ASGx5TD\nf2ApUVAl82JsE5ErK2OKWhWx/DkWVxwmRCKJD9gDL7wpaFgp2PNmGd2x3nJ+\ns3s26eBuGGaCi6rn0LVndxottRE3D0WYBK3C1RVHjQhDPfxM1tA6r8p/6kah\nl5sVOjQkmeZXFa/xl/kLVpXDMaQzHiTtY/eNAgsI0tTrMNtxzKxLCefnGs1L\npL1jACvUMS5mGgaMfFuU91SFCg+zUYUBYDfv9RRkzBFFiddGhUtHqB1MalQW\na0ZKdyxGlO98bWMcdTAXUNz1OTi1CE1+uaAp3Cj0tJrdqBebaqypY/+xVcqv\nZZui\r\n=Vzmx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBfoSEjTdc1k01zBhbm6/Sw6Pmpy4RNCtlJGZ2cDXHBtAiEAh2ckWLfoa0/zj+f8xxn+vGbr6YXLGyC7M9gTntUcv7Q="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-beta.2_1595583300799_0.28328645028584587"},"_hasShrinkwrap":false},"1.0.0-beta.3":{"name":"vue-composable","version":"1.0.0-beta.3","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"scripts":{"postinstall":"node ./scripts/postinstall.js"},"bin":{"vue-composable-fix":"scripts\\postinstall.js"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-rc.2"},"peerDependencies2":{"@vue/composition-api":"^1.0.0-beta.2","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-beta.3","dist":{"shasum":"ba442d24768b8a452dc4b313f42840ef8ecd3d99","integrity":"sha512-PZ19JR3/aZc/PPDZhJC9X4oytSo7eDpoKku6cHQX4OHAGRxg7Cqb/rDt7mbZk3zCIb3GD6jpR3Qm8HqliV745Q==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-beta.3.tgz","fileCount":27,"unpackedSize":1503566,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHvbDCRA9TVsSAnZWagAAlyYP/iQdiTcfR5zopHW1D1ZI\nmmnbjh3RMP/vyZ1QX/5HYpyRdyl8UukJfFGFWcYZVhKTeSgVLmJyUimWeCZJ\nKJUCeW55QulpGRWIPPExKKnd7dk61mx4F+zxEPIj2o8rzRxJhyRlAmmXGhDU\nTLvjyBUTEEqqnv5M4IpEpfGOi+Uk6JRnBWj53UZoUboKMPfX0bXYxz6Ph+w/\nfKUsFKq9ASIj41jHnkQuKnn1TLet/vK/BuHv52++VXcIVD6KPXDCw0iMDfKo\nv+NuUiwy1eqx2pknBxiwjChfg4/N+ATAHB4MBQTnLB9wFixfIi+lFdcJGU9Q\nUPdmJDjQCkHc6TcF2nM30x8oYIi/OE/TouJ3FZ3K2O4BBjJspaS3QA9vC9kc\ne40LmLhOuZ44svuxpG1H/fEOVUBJe7ilaECz0mkRKQg5F4FqS3gWOZmBnJt8\nxALa8Drd+i+/ezKilpalBydXoDmi+95HuxmGv1DgFSCHNVLGWgQzjYwFpfvy\n06iIUeJpbMhKcysDPVMN7ki55B8RmWjHrFtA/fUA5TedSwTCfpjRhOAAxphw\nWDk33t+65vnNJJ3Mk+x6ix5krBs6FTVSxFlazsOMqxuw4esM0HfUl3b5sVaT\nY1T+udM2LIRzcqwE/btBpb+RMsw9GvLvj7Xk2qpG+d5+wagHnQXXAA4vhvSI\nhsGo\r\n=/Lh/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGUM9mj4MBNGz4vcTR4tRBOcObOU/YN0lSIvL8T9SQDlAiAolMiROjWy803KyAvSLlMlCrZPuspth9f+SoXH2BqsXQ=="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-beta.3_1595864771032_0.9339663649577115"},"_hasShrinkwrap":false},"1.0.0-beta.4":{"name":"vue-composable","version":"1.0.0-beta.4","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"scripts":{"postinstall":"node ./scripts/postinstall.js"},"bin":{"vue-composable-fix":"scripts\\postinstall.js"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-rc.2"},"peerDependencies2":{"@vue/composition-api":"^1.0.0-beta.2","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-beta.4","dist":{"shasum":"5e15e10677ddc875e52406daebdcff92d2aeda57","integrity":"sha512-XFSpYLNwH0EwxMmZz1I1WbBFebRSTcxy2cnomwKUTYMGqPtrxJu1B/qi38Ms5C6YJQK9i/n4dfOI88c/XIEtlg==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-beta.4.tgz","fileCount":27,"unpackedSize":1516297,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfOA09CRA9TVsSAnZWagAAuJcQAIwe9rz+sKZDCTd1xvGD\niynV8OICdmwrcJ61ZEbBai2BiaF+ralpL+ZXjpcmtxpQIyZN69GtouZ5+LxY\nBS0hY7UfmFmF489EsNnfpRIRbmUT27q28ebvQ8tSRnFF/QlIqrrqBwlI1RZR\njU9sVNykb5DEjSoonne5efF/g16T7xOuLeFmHc6r9p3h8YYBxrRgrZdaUaVz\nwsH9963083y8l/YCZgxp0iyIjUhXVDCv5yMm1YTJCcqBMfW5EKVxTl9ED5r+\nY52yvN+C7IIlzndSVkoAM0bJ+/ya6nMN5e0t0XWCsO3ThtkHBKsp1KlHVuHL\nrhjASTEHythAJ3BSbyAXPzjCyI6bLg+rXphXDZnJnsFUDqh5ynyuGQ+yUeAP\nutDhNlTVuBOPMmfGvclEuYYHd97kc141aPOmWGUY/qhit+SUbqQo1Xyibp//\nhV4ggxGWBsA8OyUfJ8s6nD1LgYS6hdyv4g2UI/fcMhqPhc15un1KPYCkDUtt\nw2fJFqOOwIzfi8d+lUk2RroHmD1Hi1miyUk4bKOKQVKeEvecCRBbxpGFnEIS\nEgIRnV2MK92XzXagfOClixkwE3zmJH7r94Z8CXqe8DtgUFVstcdPc1va7loV\nuTUbbtkhjFPBc6eN51Hmivl7V6bTZIkTP1tOW+MjBkP9nxoMSx1qQ+OL2Gyc\ne4hT\r\n=rc1/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCuKI817QrZB6JWZy5mJR4daHs2OFcP6Qz1TNitAv3qYwIhAK0FTtSDaZ3rS6Qb3eAHmVNgI6TAlt5DIteUc8iaAQtk"}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-beta.4_1597508925191_0.9986016224029184"},"_hasShrinkwrap":false},"1.0.0-beta.5":{"name":"vue-composable","version":"1.0.0-beta.5","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"scripts":{"postinstall":"node ./scripts/postinstall.js"},"bin":{"vue-composable-fix":"scripts\\postinstall.js"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-rc.2"},"peerDependencies2":{"@vue/composition-api":"^1.0.0-beta.2","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-beta.5","dist":{"shasum":"3de1ee9dbd1768c575d06a3657c1b7234df9e49c","integrity":"sha512-AsuyLdUhbsdYlnDC7Se3207j8WXNoy0/9hwGmkuxJE5QIylOTd6vkg4nyJ8j+vTL740nEofVwnwsH20W0pc2jw==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-beta.5.tgz","fileCount":27,"unpackedSize":1516297,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSMjcCRA9TVsSAnZWagAATEsQAJ9OfXdHNwEFpUGAYQKn\nJcFpffpJxweLAgzn3TUAOokiTGy6pFadAhLJKPx0owkBGVqo5DDHCcm60PQG\n7L3D9pcwh5PUN+S9tjx6sTdUg8yu3o2Ot8pPy5nEBCp98ybrgPrqSqof6xlQ\njCKYPvDHFDKHTo4Jn6t1t1JgDlCB27C8PFMlYpMYh2SOXqGmAWc/b6GKndVF\nTxWki2UqtYQOmtMK4t+CsOPGiPZydS3wLMiLltnYBQ9InZ9Yigx3LPcn3570\ndiI5dAFncqfnx/IW60+A3pDefrQE0Tb9ac5zWthXzNwK1DT/UKSsDGA8T7LI\n04Wq+dOTdl5XLxxKLVWtrsKndNgDcRDx9VAxQAEkh1GyOZ0gPtaVwePTcVf1\n/9n268uhxEzj/IkaFbDGcL9JpfJOrf7Ldwl8al4LqvHnE3Rt5neh5gJECOCq\nicPcxzW5Diz+sY3VZZPanuOY1FWHgUvfDThXuoWwejPdZ0Xr2v0WQSLYgy/s\nkWbkHWV6FjCjB68/VCyPS5nqONPDoTdtGge8ni39be/dYR+cBq+JNGGlpfQ6\nSlCyueukvoBf1Vijf7HKqksXwaDyGI5XJ4y5X1fH04UYk3j5mQNL/C0z296q\nb2QTiryXDqp6JdNL9hPQ+FIHVlHLRKoObbtjGU8p5mBc3oOm7ax5weS2y4li\nKLHB\r\n=TBNs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGj/Js7U5OtU01Y1jw/Q+IUkvNi39a7olOod5xlCac20AiEA3/YI5OWBSMCjlFW8n6CoP38acJpqrzQkHGpmQEzkPeo="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-beta.5_1598605531552_0.19889082423507265"},"_hasShrinkwrap":false},"1.0.0-beta.6":{"name":"vue-composable","version":"1.0.0-beta.6","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"scripts":{"postinstall":"node ./scripts/postinstall.js"},"bin":{"vue-composable-fix":"scripts\\postinstall.js"},"dependencies":{"@vue/devtools-api":"^6.0.0-beta.2"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-rc.2"},"peerDependencies2":{"@vue/composition-api":"^1.0.0-beta.2","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-beta.6","dist":{"shasum":"22130cd7e3e92b3a3da03bd803090232e00c0a93","integrity":"sha512-Qrf7SZEd1EmKsJBaeAj5c4qs4fJ956Z1DA58Amz4NiK/SIt/lV9Owh6Rx0FM+c+1MqBGDMFt6QRgJKsYqPD+og==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-beta.6.tgz","fileCount":27,"unpackedSize":1656616,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfXeFtCRA9TVsSAnZWagAA8KcP+wS5+08HJMZorcn/RApX\nnibUcTMpC+iOBCCbM4lXI7IoexblLMbPEBU8WlpLvSfp8b5CdzWIhBcgaCib\nL/hU/tkNhCJIr02hZ2oHtiJrpUKmL4fkpEU8OmeSxGhEkc8GsKM1sg0ctTvW\nh5CAC89myKv2Z7UrvLdybmaK55cQN1CbCDF2akikquMqIM4vp5OFQR69b33X\nHG3f2ruc1+SK50ezlkJupgYP0SYEJjnPnLwZVWvcXB4UNR+PcHNv3b4/3Z2f\nDBTMmI5vqrAKKhlVuNhv+UmqI228x4DL1TMjOxQI8SCJmh5HzuJ/XqCBaEjQ\n8jA2Ch9j4on0wgqWTuM1GzyTP3kPfu2hJknTI09BPT0MaoJzpA8+SzSK867M\n+mw8C+cf/dbHZFOqgFauqS+W/gCF4XwyCUXMHjpjdB0inU6ZFpGnKc6vdhgl\nljLZR1+oV8UqcJI0WgINt5VcPhcRIUDjXwKrLI4JxxMSACh55BEXHhuZPPdd\nLBrOfwN+MPnXxCXod7leqy2kz32PaBsuHP3OdRjFoYYkzhVI/MNuH9Sogu5A\nWR+47+55BLyQdgexpgSJBJFBWD1nTsw1fCMm9bVAZU/pri0FGvdqjc4cYCIR\nVAUIkS4JdLGxVB/+CpkVGH/Pzng+YVnFFH3YHEsXeDpmR5JnsrevgxOZ7JNl\nBVUr\r\n=w5yw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBkJmJPd5EN70pjdzGe4S0wPwfzILni5HFwGPFOrr6bMAiAU87+wuGOhWgpHXV04ws82HhqlcD+nhPvh70nN51XUMA=="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-beta.6_1599988076946_0.5556549137614557"},"_hasShrinkwrap":false},"1.0.0-beta.7":{"name":"vue-composable","version":"1.0.0-beta.7","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"scripts":{"postinstall":"node ./scripts/postinstall.js"},"bin":{"vue-composable-fix":"scripts\\postinstall.js"},"dependencies":{"@vue/devtools-api":"^6.0.0-beta.2"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-rc.2"},"peerDependencies2":{"@vue/composition-api":"^1.0.0-beta.2","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-beta.7","dist":{"shasum":"ea8de89de9d4ce64ba62b41544c69e271077db16","integrity":"sha512-vTwP7AlZyeRN16fgBUV3Q8TSOeZyIEKA/5p1DEXn35Z5PzeB5Qeh43fPUvFP9Pr7OPjJmJilHcjVVT1n7XWnnQ==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-beta.7.tgz","fileCount":27,"unpackedSize":1656676,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfXeTGCRA9TVsSAnZWagAA5cYP/i05ft1/hWA7gr5os/2B\nACP6CmK0J4J3i+cKEIenHXhozD7pvCnWc4W282p8DnZtFeaZzzeKfcwYwmz5\ngvaGfxyvHYqa2u3vzyipHMdBzWmPwA8l6F/HjZSlJYZW69GKVcALCDK9NEXp\nlBK7/lwvkg4lDy/KcM8TRFVXWplUlDNYKVcS/AbDiNP42ox1vi/Z52mfiJDY\nEu11iMtQ5lQN0ga96DnWiJXa6v3X7wcBkOnXy0c2DKbzdPpfjKAAHZlDmbyr\ndLrP+2PHm/mrj2T/2i4MvNP7Tu3yUZiHg/iWSfGicuLvsXYgaxDI4AQjgBXL\nNTpXkTroUkFyg1sMsP4EO7Gbj0JCVERulL1uZK6JkAmf7DqHqjaJ84tfpA7U\n+MR6xXoAa2JVsqwDVa2hQaleXY+ZfGmSTpeKcUvtU9qaXYOBXGpURsv27kgO\nwveUn5C9yf74/xx49cpx4hCwR7yYtv6VApJ89gZzO3+3PGamiUR4Lt0AQUlQ\ngP+aEMlneWhw2zbZF+gKlUqIF80K/GG/jqy1QcH0eNbshohrtueCi4vA77/R\nYjE6loPt79MastJbZ4WHIi/fjI5zHGR/ewPA6eQcgLTJPa8e3/OyxnNYRAcr\nVVWyRWbif0qbhDcb53P2H86TM8OmZkVlMxrBTmq8JsoHVmfI1h3dagdfE8Hn\ndMw4\r\n=YGXj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBYuGBOaiMjp9sfJ8yMtPNr+o3bL3OX59qR2WXfLrEY5AiAqXIklpUHSCQfUK2Xk/pLltJjD2OgyTLcQZhEwGLjQ4w=="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-beta.7_1599988933810_0.17126140196038442"},"_hasShrinkwrap":false},"1.0.0-beta.8":{"name":"vue-composable","version":"1.0.0-beta.8","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"scripts":{"postinstall":"node ./scripts/postinstall.js"},"bin":{"vue-composable-fix":"scripts\\postinstall.js"},"dependencies":{"@vue/devtools-api":"^6.0.0-beta.2"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-rc.2"},"peerDependencies2":{"@vue/composition-api":"^1.0.0-beta.2","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-beta.8","dist":{"shasum":"e9708e221eb29b18683bb4c920b2f0d8222f5506","integrity":"sha512-BbtCYmN2GxRX0BnsPs2GOrsbOM+Yo2iaJQkqupndtc5yRnc5XP0zGoOTTVT95bTr/YUlvltRssex8Lq1cJfZoA==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-beta.8.tgz","fileCount":27,"unpackedSize":1656729,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfXzo1CRA9TVsSAnZWagAA8wQP/1uABFlkE1raRvUQriWX\ncTiSsIkA1cezl4DnqPkKnNPHLLYwT/4fDHo56XCSStHwZRvcZvBBR7jzQOVL\nGMaDgYl8otgQibNnjnDTzoWOtj1VXuqQvkxsD1G3RwHjY/QANbe+OB0vgzPQ\n2Y/P3oqEUGFvSauQQoXTW2rzlzJdkQ7Rr/ajU/u78/rLVI/TELm/YolIuefM\nFJCvgda+Rx4AvWwp5zcG5JbKdoHcC8lgNRvwqak6/XBy0IV2AX/ckfKzb2DF\nFKYoTfGqkYzRow5u3BN7+X3hsBX/4qX4xH80Nf6nTVRimsQwKb25nkCfUa/9\n2oX8PBZgT2cUCnNErB5tLQC3wXyUQArubPlifb4wjXZ1IgDAiWcKB2ptZR4D\nnpVEA+RopBc7US32RRJ1Fh6HmwwhASTkjcjzBv+UsW3N65VjG6jzGukHtRWb\nMJkYqTb6JP9ZcCFF0EpwUXekCw1L5AoJZkPLYsWmXXbt/mOi2Kh6VSk0tiVh\nt8n8cv+28b+0RoWSqqxir6TWy8UQJco3Trm3r93/4V8QnyK8m0Hr3LEHnWe2\nkN/KR2eeOEqwQroyz7UH0JMUw+RpYkVG87uQLPeGlqVpeYCRilYTlorqDnfV\nPnpVtBF3faHzp4Ko4jel6Fv2zIVLQbu598PAQ0Ryl2OhZGU8TqmMN1Y3Woqj\ndGGy\r\n=jHlp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGmuxo6mPa98m6YAEdax2W79r7aO4Tu6up0ctZYBeQ5bAiACWhILXD6b9rDnz9t1Z5sOMHdIPg4i7e70iobvKYzOIA=="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-beta.8_1600076341220_0.15626083516333367"},"_hasShrinkwrap":false},"1.0.0-beta.9":{"name":"vue-composable","version":"1.0.0-beta.9","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"scripts":{"postinstall":"node ./scripts/postinstall.js"},"bin":{"vue-composable-fix":"scripts\\postinstall.js"},"dependencies":{"@vue/devtools-api":"^6.0.0-beta.2"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-rc.2"},"peerDependencies2":{"@vue/composition-api":"^1.0.0-beta.2","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-beta.9","dist":{"shasum":"8fe81c81e81188beb6608eb8837176d31f656d6a","integrity":"sha512-pv+CxtLJKcfLyj/F0hipeGoAZMy/z7Ux77289zb1aZPIxGcFx5vNf/EsWL73C9tOQT9asKwuBwqx40yg9afGVA==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-beta.9.tgz","fileCount":27,"unpackedSize":1656729,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYEq/CRA9TVsSAnZWagAA1uAP/1RlcPfqkXk1zCBQkjkY\np2Ddn2UtTt9+PHecATo6kUTzOcWZWwB+YS0jq4bQ7gzUGWPHvw+olodovSIg\npDAz55uAy1IZhZo5CKFvXrujCJZkYGSAos3eczBmMTYp9myJ6L8Ahz8fIQ7B\noFaAu9gw1w34G2kgZdOtOEoo05LlgAiby1N2YrlaGQESxkRN5IQge/459HA2\ncV7wtRE8sOR8dk8sN/in2n3Ns4nCdRnFRxu/HhZc6LfzsxpfhSY7/GkkuCUC\nyWcaKxxTtEV/Uj1w86LYfzmj76ZSr1unfGOtHXnyCCn+iQacA9ncQNyfIUDg\n5tPZxEXxTh7JvHo5mMd81gGaoIbzhZIe6JjTC6MMEKo1SnJzU+UtwBghipdH\nXX8T8OU9hI+UpXMxNfyM0x4yZ1Ckv4excBp2b461H/Al3/LqN78rl6RDwNXg\n3+PF+VLL5aOQN7f7EcysnggJoEalY7t/JyBE/hQ6Wk0wBxbfrHCDiQoG6oJS\nPiCnF+dLX/8/ajtrIyio8bM9V1RBCbsYg34K0VwfDAwdCmhMSZ3txuhGx4Xk\nhKC5owB3tjeo8A1PX8atR3+Pdnd8eZQqtNNh2bj9gBjEiWouexu1CJngxCOw\nzOmP3VQVDfnM1Ox71whGqKNIMlisuQhWgjbRqXYOjdYLfOh/WkOVv73qTYSr\n3c3S\r\n=/uqv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+ymy3lu8zFF/w6YSfgbnSPCTlNUq3O6iIjhKoVRV9UAIhAIsobNJd9eHT4Y7KW0hqVs7eTTf3+svBRRcmNudJuONL"}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-beta.9_1600146110711_0.7995536713327658"},"_hasShrinkwrap":false},"1.0.0-beta.10":{"name":"vue-composable","version":"1.0.0-beta.10","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"scripts":{"postinstall":"node ./scripts/postinstall.js"},"bin":{"vue-composable-fix":"scripts\\postinstall.js"},"dependencies":{"@vue/devtools-api":"^6.0.0-beta.2"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0-rc.2"},"peerDependencies2":{"@vue/composition-api":"^1.0.0-beta.2","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-beta.10","dist":{"shasum":"b020a9c9f4df4425522e965c9c121bd6ec83d0f4","integrity":"sha512-5EuOxadlspBMZeRxPcaB0oo4PNRUpIk9mVBH14tv0+ES2gOmTwsGZin7aP/1lye2WmCrdu/OAA14t3UHJHfdWw==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-beta.10.tgz","fileCount":27,"unpackedSize":1683818,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYEu+CRA9TVsSAnZWagAA95YP/3+ia8r0211y3ZHfODiA\n5NcDcffPFsd1WO8Ukflj3k7sUqMTrEH/nyXDhvKrq5+OyoPPoqMrfkhzQqKx\nAeCdhefSL18Ae87P/deSDOhJGapEY70sWpxqPNzVNcPYJnCk5IsF2RAyAD0o\nL6/HxZq5UG0ZWf0mTw0lqpUAf1TasTYlafonqXo0Fx5TARfUJcSzy6d7l2fr\nUOU5DOvUeovxt8q75XCHBdonVzssttZgDQRRhQ1rGt2et8kihAIu/iqO5P6y\n4WuCiLBXTWwAhrAUfiyWww8hCA4pbLAmh4FVrzKiMWFdmo/2pd4OmEthAnYv\nBFXlBRKq55PNsrjrLESi5hFIy0LOvQCXZiSm8LvZ/VM9VQrkDMDCEnAbvl+o\nBfhk8zZkbH4H0di/NATebYKJWJicRZhmT1qZMkxbA3gLEOvbrGDXA7380SRJ\njq1AzfJndZ2RFm4GaoK05E5IqCsLf8JEmAbuMF3ZxyZs/iDfjOwienIHr1gq\naM+d9zrwQKstITgbBTDL4KyNvGFj5eMEjYE3Vp4+RKVQSFRQti0NeEVK5H+b\nvmDWW7hX26BSL51MHzgst4tKG0rzbQqOxUl310D/3j5rs3GYHEvZOBQswuUn\nBSiCpN1dqJMmpfipqW8ahv6M0KidkDhGKnOmLTnymIExAAclBcM07jIbD4fD\n85nx\r\n=gb3u\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBWsPCW5ge97czp1Rcterh7e7nGL6531tXsnivFLahlFAiEA9E5S728RfWTDgNpBlG4A6XBTDsHGTQbQQf9dDAIb2UE="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-beta.10_1600146365754_0.5978702916494996"},"_hasShrinkwrap":false},"1.0.0-beta.11":{"name":"vue-composable","version":"1.0.0-beta.11","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"scripts":{"postinstall":"node ./scripts/postinstall.js"},"bin":{"vue-composable-fix":"scripts\\postinstall.js"},"dependencies":{"@vue/devtools-api":"^6.0.0-beta.2"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0"},"peerDependencies2":{"@vue/composition-api":"^1.0.0-beta.14","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-beta.11","dist":{"shasum":"75dbe0676cb7d73fcd703a0b8768e3960402fb39","integrity":"sha512-1NwKQBJfYyDcrXx6l0413Vq/0ucPz6k2xaDBMPoMYJ5s0CO9zQLncmh8q1wjM/6Ht9G8XADyYODJtfpKRQGhKw==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-beta.11.tgz","fileCount":27,"unpackedSize":1700452,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfgsjxCRA9TVsSAnZWagAA5gcP/0D+3MHlcANrlW8xXKhA\n/jZPExDX/Q9MPqs6cVMUzQiH6pzNvjK9haSTIqwFPqLTi5Aw85vYlIXWp8ZK\nUhZZwH32txF7DPFjfN4Glk5lwSCvggxVg3oYVwMGj57wEykOjClovjj9BZTJ\nqjII8jn/O2K+YNBsmAwDaivI6whZgZ8ANDg8foIbzg/W0P2yvi9af3XflrED\nePA2AhROYijf9Eo/tMZSJBiWKZ9IVtGJxKQCJ5uJ3vOd8bqSZTKy4skztBKq\nBP/+mecmltBylnSrb01YzyB4tgJHl5DVocgUKAmSQNhUmg0Kor4TXrZUnZrs\nCe4umCArUrOXbJnfSgqym3+Fay56mRN8L5x7pTkthXzkXk7N1SDoJiskcWY+\nkN9UIFR+9vA1LEHt3uyWNuzJMQydEg7txOg0ox/lvrOsjY1Snhi5Ek5rzmjZ\nPwoS6gVHliM622A6BLL0FIVLwWOd0t5UxQp0yKt0o24yexG+5RT3NDnyKyAN\nqwE5YB2qnAZ9p++q0wZpsOuGNT3t1tVql4w28xLxNriIir6s/o8VySanrjdU\naJM7mQGqB3Dw3kqQW9lQrjTD5rcnXdyuyqqtodMgvQCHadvfWPmiqkn6O1LQ\nVEEoPXFjxyClhRTfhPgvjgvqceLU3SjwkWEHWLz0W57dNlAlmkmyFpMwsZFf\neA6+\r\n=MYSl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC1cGH8jRXmop2y6jH6VupLxX4iaDgu2YQUwxq19om51AIgKlgpJdWHGt4KCoYoE5cn9w/UnylhmHGaEUofhhQfLuc="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-beta.11_1602406640695_0.7788059548241861"},"_hasShrinkwrap":false},"1.0.0-beta.12":{"name":"vue-composable","version":"1.0.0-beta.12","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"scripts":{"postinstall":"node ./scripts/postinstall.js"},"bin":{"vue-composable-fix":"scripts\\postinstall.js"},"dependencies":{"@vue/devtools-api":"^6.0.0-beta.2"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0"},"peerDependencies2":{"@vue/composition-api":"^1.0.0-beta.14","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-beta.12","dist":{"shasum":"560f19bbe2a8a3beba49a8a2315be470f4802ce3","integrity":"sha512-YVLy/BjQD4nXBx9LFEiUTL4E/nwlAu4rsY2OIChotgBuqbF6eBIsDM/mptcYByFADq9AIiHELBoUDlCOh5UbzQ==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-beta.12.tgz","fileCount":27,"unpackedSize":1709366,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfnUtGCRA9TVsSAnZWagAAxnEP/ij1l80s7Di2yphf9eGc\n+yh+Pf6sIPpMOB7HI662VVsOewOBpafAIRHkT6heDg+O3sMtTahx/qk5HXGG\nYQn5AzKVxVIDkTMhZvg2JfsvNh96rrNg/k30G9dk58ZgmARDuTIG/grKeIs5\nFuhhjfjHl+frmHwr7NESbh7bd4aeDIOwxL8eOQonQgMZAe4Kx2yxyHSDgP0S\nrB2kE9lbtEAjGRf16csIW3EH7qgaOy4vXyHz+OoIBzero4iWD1TBqaQj6+La\nGrnYjLSRQs1tl3R8qUkzpiv6YdWlGHQ8bxnIo8W1HdtnpRChas4pIGUPC7nO\niD5zm+Wsdsmfm6SypNtH1jNR14bYVkGIy9ayfwBJ6mI5Ddq/wshVBUdybXrA\nkiRT8bOyOIcFQjOiYP8oGVvCcWWV2JVzajoLhw4Y9YViAP+oR+5+JtDsUOvG\n8x03yZwav/gW0Cngsj5PitXQesUkazDqkqj9VM7ELIVLIHnPeYfqJJMnuTZC\nSgKH9i6XxAXBm4VdmCbdZG+UDysH9ALk4ETdToLKiyeEgRZzXM0QURC1ADye\nO8Pz1DMJ86k/uU7g/svXxJsgzP3YIl3azXKv6XzRmKg2IS47YwHlQZeGnfTU\nGHGcnf3ui4uUXjvfuYzlduDSPzudyEWM21oJLSt8gGWdMCGJg57dzzzUGyuJ\nvzd4\r\n=rgDI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHYzIkvB/iYFahqErGZKzDUouNUja4H/RYmpP8OKxBerAiBfmwihWM1T3Rjn1H9Byk394iJYGTSbLESdsk79hgZQkA=="}]},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-beta.12_1604143941851_0.15355568016997578"},"_hasShrinkwrap":false},"1.0.0-beta.13":{"name":"vue-composable","version":"1.0.0-beta.13","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"scripts":{"postinstall":"node ./scripts/postinstall.js"},"bin":{"vue-composable-fix":"scripts\\postinstall.js"},"dependencies":{"@vue/devtools-api":"^6.0.0-beta.3"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0"},"peerDependencies2":{"@vue/composition-api":"^1.0.0-beta.14","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-beta.13","dist":{"shasum":"679d2c4d7d073d6e40aa6057d87434f02bdd3637","integrity":"sha512-I4OWtJU8+zh4Z01jY1/55lmYz6Ofxa94kngrkjfn/HAodGpRjpkACFH054d+m1SUXrZUFO9MNWk2BeoVX0Tl8Q==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-beta.13.tgz","fileCount":27,"unpackedSize":1742489,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7xMcCRA9TVsSAnZWagAAMiYQAI/Y8uxTFgWkrjak09Xg\n96VemW/y8shFGIFSb5NN5B/5dugrwv7/9FYbu3gxPdu/JRN6mtHEhabtTgFz\ndSXhNWTVMYZOu2PnAgUCtPVV60vy3haXS5JoH8dvjju72B9eFs5Let+j+JBu\nDnlXctZAwGEHYDVWy7ZoAAPzu5cvUn41cHYS/xd9cFJSwZl88+Z/B5LmOJDO\nzi1EiJG5mTAl2VDRRQZwNG1CvhYO6d945Fg2AIlZm0AgO1w0+Bqrgvh9WRCt\nQCuy0wvzm2uH7PSiLSJbhAcx3K14LfqMblVsyiekk98f+G5ZpNAuTiQUynS9\n+imMc38nUf1LhKyb93IqIIoLHKSjaGhy/89o+U/3SDYSMPmEECAZF/RPBlxt\npKFsy5AiRzbYZMLoI4D1PIqxTDHgrLIBGEdi7RwwUK7h069zDwanF9QB1VPI\nuLVrRSljZ6NiTUsP70Yxn7r2dyzj7YLRMl0Qpo4Q126iEGaDvYil4BAzzXkn\n/AsJWy/mKHIbTaFJkLWceijxLb6aHimv/9BLmGfOMnGSxfhwtek/o1SCl0kv\n5cCTJd9bx5qqYoTpV12ZYVWpApZ3UwKQitG2Um0dz3qqfLEAF2AA8XlQk8k3\nsEjsMz+1cEKf3MZjZrQCE8npYDd6iAXyQYcsagVqmEM/hfCcqL9u2IYulrNZ\n/Sp9\r\n=oZ/1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDGu6/iqTMegQgnVjU8kTDOKCwWl8mU1gEtlRBAMV7PRAiATdx28xhQbLH6xF0dLv1E30Z7JEC6xeRayBkWt3+Fz0g=="}]},"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-beta.13_1609503515634_0.7512431393187504"},"_hasShrinkwrap":false},"1.0.0-beta.14":{"name":"vue-composable","version":"1.0.0-beta.14","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"scripts":{"postinstall":"node ./scripts/postinstall.js"},"bin":{"vue-composable-fix":"scripts\\postinstall.js"},"dependencies":{"@vue/devtools-api":"^6.0.0-beta.3"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0"},"peerDependencies2":{"@vue/composition-api":"^1.0.0-beta.14","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-beta.14","dist":{"shasum":"2ed2eea727cc3dcf0c7dbd32477eef338ba33c97","integrity":"sha512-ONxqF0jVo7vjwIf9UhKfMnlxnYFdKHtVFQ0Tc6ncHpERVstT1Vd7cDUJZ4sCI57uNlKCckTTY7bufQXvzCKpPA==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-beta.14.tgz","fileCount":27,"unpackedSize":1757378,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9cJWCRA9TVsSAnZWagAAVDUQAKA1JHf2kVKofFhtp194\ntbtZF3xMzhdlwuBUS1diY6BVATdx8dsDSQYz4EVAcabr5UrRj4aMu/2FYiM7\nVg98EEtpPkSC1ZmYDI9ljLzlTpJtwiREEQbQPDD4gv6DOsd9x1e8VUd08Hzk\ne1bpfRqDl6XVb195FRyKDj+F1hTE7tbY8HQ2FGv0ro6bvFwCe5a8c0ilw2kJ\n+rJGLp6DI3d91F1tLkQ7lKmr9vgw6uu/HTa/gI1EqnvSZtPLLCghsGeNOzDG\nFv/zl0tu8HxwvVhBcc0qHkahFpJ6u9pn0XCaGZ6YErxEObNftyI2WHqlschK\nTwScILoddy4iRrkPSGULezTMqYZW1DkNk+So2AIRvf6TeC87PzumQgTmi3xX\nLfKZCyv6mPNoRUL7NV0ngQ6Sb646fOfGlD7GC+4SF3pM/HiSu0B6r3kj1oij\nGw9Tm4Bx10Y2AyMdWTBXq2uQ89/MYI+C2Z+UMA3RYosleQPxy0IMYYSgkVxn\nWy1gYzolgan4W2ZWSL8tx92/yLNEs5bhcl6kRvj7Udtmnxv7jq73Zlnln9a5\nWmcOMQCSQzocgIyRYYTtkBQ7+DI1iwbjxOD8w2kkZblkC9QxgYW3cTdGgr8e\ncO/i2Li3li9Ah16KQYs4jMN6bKZlxOu+BpMO7J/OEE9a/y1afTJCQs3LLuyH\n2c4x\r\n=QU/Y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHO43sfnHPv0gyr31eURxA7De1ReL6uWEZqJkIRwjRn/AiBqJhqUBTAl+2LkNYbMFMVVVPBy+P/TnFG1bnLzExwLfg=="}]},"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-beta.14_1609941589844_0.28919755607994135"},"_hasShrinkwrap":false},"1.0.0-beta.15":{"name":"vue-composable","version":"1.0.0-beta.15","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"scripts":{"postinstall":"node ./scripts/postinstall.js"},"bin":{"vue-composable-fix":"scripts\\postinstall.js"},"dependencies":{"@vue/devtools-api":"^6.0.0-beta.3"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0"},"peerDependencies2":{"@vue/composition-api":"^1.0.0-beta.14","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-beta.15","dist":{"shasum":"0db548bc204c51109363dbdbf8aa44bbdc5ac14e","integrity":"sha512-gCcYK8z6VRIWwfNb6KFiPWCXnHZ2oezw50CwyFG+AZhYjXeBGClAvAiEsjiF6OSA+Sd9yelqthyHBUzJiRzZVA==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-beta.15.tgz","fileCount":27,"unpackedSize":1761770,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgAqw8CRA9TVsSAnZWagAA6VQP/0kTibA18med0YaBvJbn\nc+0FTvi566fCSAl9vKKMHifSv8l/Kv/8Dxep7i8fmfwZ5+Oqfj7Maj12ARrh\nnDjoUOkF1S7qL19XRUM2Ke8ji9nE5ZBp/SDHAL0ZoEvdaEDMrMeqtZsvRL9l\ntE//jQIXrtCMe85ySzkIEfDWsBUpsvNVs/RDBKXmfOOm9/tdMJ5C9hiJKoMF\nf7JpaucF4GbjK+NZNV2593afm4QNLuGK5KuOemJD7Qv3xSAXqMN5Aor+BhRE\ndEMPxaqTxa+FW4ozS88kvjxhgRYt6DNtJsdK7vL09N9OJM5DQKRt2I0aCco5\n0slqRv6iXKcON0AFNrkdlUtJN03TgNE4r6uHodkIMOPBJulOe/+XJR2SXjc+\nEC5Z6JVD+DjzHYOXp2P7GS7SjJZwNxjMWRVJeX/IAETcoNBQFrp5N90ijw4S\nykpsDYJLOCU/55ihdYxVWIcLSEWgTKxsQ3OCGt1ED81VYx3KxQS7TAghBi1i\nuuenFa0lnaHCpUY090rpqL3JsMd8BnfID3Qtnd5UNJQEhvMUTxwGvqRUynMp\nlkFpN1lZOXTV8nOR+qMtJeCBjoselCPEqjg21QF1NNuGZMAZOzAdz3/I8loU\nz77fXVE5SirDHlUpWRkx5JA17xwk8goPWTV3AJJJVt0QuuXAlXDi+Cd5CA/k\n3eBd\r\n=jgWC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID4OjVFstrasM4bURcTuzLQRQSmtkFcNSNZCbhdmU+5hAiEA3GYQotQ8qjUDQppCWMhHNTmn/zUPuxhTlhotQXqP5Jk="}]},"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-beta.15_1610787893629_0.337790733282471"},"_hasShrinkwrap":false},"1.0.0-beta.16":{"name":"vue-composable","version":"1.0.0-beta.16","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"scripts":{"postinstall":"node ./scripts/postinstall.js"},"bin":{"vue-composable-fix":"scripts\\postinstall.js"},"dependencies":{"@vue/devtools-api":"^6.0.0-beta.3"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0"},"peerDependencies2":{"@vue/composition-api":"^1.0.0-beta.14","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-beta.16","dist":{"shasum":"e4c42d0ed0105923d12a8cd20d851d6578b86d1c","integrity":"sha512-7pr0ruCiO60D+wVs0T+S5haUJ6X4DTGkJ6EO8k2nLok0GOlDzebt/ft5DPMXNS/WOqDqOrgoC+TNusOuHW7Xtg==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-beta.16.tgz","fileCount":27,"unpackedSize":1771532,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgC+P8CRA9TVsSAnZWagAAVv8QAJhiSSBIJQgL0rDfze8g\noE7MVoTP0Mz+PDi6ULAAmNf5bmimc0JPNNWskf9C04Al4eLtRUgkra17Vs1F\nDZtD+SCcOL2tf8zGI0zfl4hmhOaFUhLFudHJDTKW1ETVuCiGEai4p9BIJ7q0\nSlFIvAmqZ59nOGwOGzB/Uz3zT+pSH+i1ebbyRFVZGEn4O0ARkDcP+pIDp72p\naiyQdW+VEU5tO/xtGQ4ZTeuAvpJvmIGZd7COmVKiLlmfJ+0lwcKAy1PIZvjE\n06XQAuOC3d2K0QLannXiFXcfpHPCAjUAqBfHQRH0XN2CjxX6E5IZEBIscFaC\nsx2s2ta+Y4sleJ3niZ8B1rubpB417404uFXB9HKJcN+3Ks+hOED4tbwimJED\nbEsgkFB5SGrk1sRuYpf8WEx8cT99JAw6tX2UuYbhV/uI7aZ6eusAiCkHYZDz\ni/r16R8TM1XQVp6wVlvY0JknJ/3y8jvGHcIYFJnpCcMm8FrULfoCuUSVYkW5\nrRsc0BpiDbvNhOD46nVAYCc57LxzpxkAEVVA82YDnA21OWctMeygXVXtcaZ1\n0gQrqoNbKlOntsFcKjhfj87axUFdhc4MhSYkHe+vUaKT0TbcMItVfA6u8x6U\nB5PvP4tZeYlftcZcE5vJw4T/ex11jr9oHaMj3G7xtm1E2qRtNUZes3CKahJo\ndy/O\r\n=SZog\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCwS9xcG1afaAVs1lydbUewXJUt21IOYnXrZk2VjDfO2gIhAKPrXcbtDMeMwqRcmCKiI+6ppBQtr0TlNg1JJTmUFtMm"}]},"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-beta.16_1611391995521_0.9423929184801065"},"_hasShrinkwrap":false},"1.0.0-beta.17":{"name":"vue-composable","version":"1.0.0-beta.17","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"scripts":{"postinstall":"node ./scripts/postinstall.js"},"bin":{"vue-composable-fix":"scripts\\postinstall.js"},"dependencies":{"@vue/devtools-api":"^6.0.0-beta.3"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0"},"peerDependencies2":{"@vue/composition-api":"^1.0.0-beta.14","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-beta.17","dist":{"shasum":"50555433b28ac44a6f994498b7bc09f553ff699a","integrity":"sha512-lLQra/VJVP/t9CEL8qKA8mexxoDON2lLHP5lbzHLpP8YCj6FEU56qUvooJvr9nbDcDqu+Adb24xmYgvXcqxsSg==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-beta.17.tgz","fileCount":27,"unpackedSize":1786370,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgMPtDCRA9TVsSAnZWagAA8dsP/jS+8pu9L9rB4C6vWe/w\nsPreegU1Y8107nBKhWnP0d0BbdS9W4P2W64esOJBrmQYpPcaA+YI/HSqc4iC\nL5/xZ6bjtOS/bKZriv9A9azgPDILH4XGdGC6wOLUiDDzJWsBZPYMM8V1/Lst\nDJS4nLR+PEiZ7xw/PWMAcNjyVD3xxoFAitqB6agPoS4GX3ud8ChYfNj7oKMx\n7mmdUpBsgLxhafFccRa2joqvtG0WRsW6e0Xz/KyLe/cU8TZ+xqEYfcW5rvZS\nf+H0xyDxDpoCQCzWMY9ALNAAqiYJtTFYr7yNRhxztEdFQ6odAswWyCh7DsJL\nax4DNewRRzYQzy0dqRLPTmH4pirVpMB7hRzKbbchgAuPL08cGonW8Gu//HPI\nylYxzmG8NXYEmuOIy59EbEMJLLbUp6m/UyH4f3A7eUI4J0dh7+TwV/LJ/VHC\nghqetAUybZaDxiwpFjl9VfJV84YhMZck/R0ozBzgjoXV3h8nboxYuuUb8Tt5\nEFQoQqTZWV+MDQ6xgXPazeyc7zzt5m1rWwiFvXzmHNNbD16qNgi/7jY0BgIY\nBs5RggficMmudlkgYUvXvaNi33bdpXmXOIKjfMNSdj/6DtFwQ8beFOw7pFhN\nwNW5yAgeBmF3j2/FZadUye46jn9Rym/foBujeyTe2IDY3H+04Ks0cdVZRZTW\ngz5W\r\n=DGVC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE2r70J6a0bEezEplkuMrsB/0KTFfx0QqXDPtDFfS+JbAiEAjP+KFq2QJGEI5K+1B9eGIbw7gCXZfzpDY5TBqiPoDB8="}]},"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-beta.17_1613822786432_0.5045619175377443"},"_hasShrinkwrap":false},"1.0.0-beta.18":{"name":"vue-composable","version":"1.0.0-beta.18","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"scripts":{"postinstall":"node ./scripts/postinstall.js"},"bin":{"vue-composable-fix":"scripts\\postinstall.js"},"dependencies":{"@vue/devtools-api":"^6.0.0-beta.3"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0"},"peerDependencies2":{"@vue/composition-api":"^1.0.0-beta.14","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-beta.18","dist":{"shasum":"12b0daf9077ecf5ef48f78992c269184ff03e685","integrity":"sha512-d6cr+C28Bl2+M+kg2gDXPRJ69XlsatzgZ/TamgJQ0MOCDsmOrOthHy4EyJNXpHcSnUJc4ruLAjttrbdFtJIlSA==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-beta.18.tgz","fileCount":27,"unpackedSize":1801433,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgMh2HCRA9TVsSAnZWagAA3BwQAIQIEjpkZoP53PF9yL8l\nsGNjrGQ5rrHShSyvZ9B9frGHSYhWjJKepQ2NXSHvyD4HJsQpC7KAav0jAoaI\nNEqdukanWBUvhdhXHoUfNpJpqGgE7K1cHwObtadWh3igkionMQ56mYNEROfF\n5jXXmNeNDPLUQVcH69QyURk34PKRPJTVHRErwDHET7IwA+ufxn1jnkBBnZfg\n5h+XUxfDjoDE0WwAYG9m33UQBhraM3OLyr9oG8A/i4UKeq7pS2c/l3BwJCps\nn1iUiPhvcNABs5K3xl9DFh6+poZyK+fFOPLQUXKyvzZXbpuM0RvJrNlm9ooG\n7L/MNyzHxwR2hlsCYhH2MB3qNqz2W89w1Cgi9oSyTwPvO2qIno9GadoNz2Qe\n4x2Kq8RXNtkyZrgTVZuhlqkK+/QQEHpCJTDouQ9YtbIWHfiPhhscmOAGvbyM\nEL9oZlH/hWwqxmySd2KP+HMDzpNTqaWbPm53kshC2P3N4KYL/FcS4rgHlxoB\nkAA2n9LQ430id6bxC99q2QJ2otkaDRIfsawU5uScuogvOamzYdic6WWTpzPJ\nVis6q9Y5h56uU4OoC+jVMVY9G6jtS6+9rZQrgPRbsomPKaFNgveEdD2ubpPM\nJBPV16EAckWsxifxqTvNRqpZpKKk+7OADJoCYE53vtjgL+F0tpBqsM5Y6R5e\nPiJc\r\n=qfr2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDv4KxcsS8d0Z07PuFUQJco8B7pVPFO3MGMvNtkr6yE5AiEAptIaZxPthoUOto4s6mBcanEMsnNou9vAsLuoXd38wcY="}]},"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-beta.18_1613897094848_0.937047472978255"},"_hasShrinkwrap":false},"1.0.0-beta.19":{"name":"vue-composable","version":"1.0.0-beta.19","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"scripts":{"postinstall":"node ./scripts/postinstall.js"},"bin":{"vue-composable-fix":"scripts\\postinstall.js"},"dependencies":{"@vue/devtools-api":"^6.0.0-beta.3"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0"},"peerDependencies2":{"@vue/composition-api":"^1.0.0-beta.14","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-beta.19","dist":{"shasum":"c3acce13902943a3b53aba95d92b230908708bbf","integrity":"sha512-msc22oFbHlnXrscPAWH9vWkjN0p6LrYEY3JJOYqVPFdU4tDBvk0unVmU4zqTslvW5XDmBvfiujgjAP3/y1ZEJg==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-beta.19.tgz","fileCount":27,"unpackedSize":1804010,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQ1MqCRA9TVsSAnZWagAA5ZUP/jwaajTKDTSuAMbsQJnb\nsQtPcHnBVOFE/9YzWxYDQR1v6uK9fCAerUngWk5iZg1SZH20W1Rx3NunHDPV\nkj6IKjpsVi3iAGvy+nLvRCxXQhLWWcNPEPEhQ1uNlWbQW376R4jdLx24redp\nUimm8uyQzCmSnc2CoKaxKHTpckoGrUHfoJRq9ZIlALtHzyjh6IoGOfjq9fsY\nH3UA05RNmri97CLcVuf1QUDwsZEduLNdiP+h9BPdRdayUUUf0xTXU0QO4CQf\nIpnComjRcyO7IBd7VIXBhEfHqKXgGDoqNCHO37K7+vST7OZ/Xy/oS+O07nUW\nhDnCfTFx23BlwWEfo1pGeN1zuOLsvXNlhVpnyvvXgRI1lLp927Mw7G1L8HpZ\nZ8m9GY3HQdZBOvYedqWJVJA09N8TgiCsQvH7ayJ0Hlo4/Ng/dKbOaGqROtDu\nAXrA3d7xShEwV2gSDM4t8oXQAOYyX/qHI7mn3GsFk/r5ctyZzQiSLrkwupp6\niODNfiVYpE7DqS0Y92MfHouIKS/BeEx5NDPWpbk0Gnnj9XvTrAcBvtGBonGB\nwajHQA9NcbRSiWES5nhm4dcLi01Wx9VJJ6wtbb4IMPihcKARUJPpMaV1Lf0L\nev+n82be4QDMJutj+PokBhB2qZhap2oVW48RfL11oZv08DIY8HBEvkyXBzBL\nem+G\r\n=XzEw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE9neDR0MM61zjEkPyMTkQN/rqDwT18wjD3MjtkWazkPAiA2xiQPI/fdOySyzZKKVSkBSX3T9Oo3xoyzBjzY1Umh5g=="}]},"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-beta.19_1615024937464_0.5463053688405353"},"_hasShrinkwrap":false},"1.0.0-beta.20":{"name":"vue-composable","version":"1.0.0-beta.20","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"scripts":{"postinstall":"node ./scripts/postinstall.js"},"bin":{"vue-composable-fix":"scripts\\postinstall.js"},"dependencies":{"@vue/devtools-api":"^6.0.0-beta.3"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0"},"peerDependencies2":{"@vue/composition-api":"^1.0.0-beta.14","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-beta.20","dist":{"shasum":"cb9498b4e60da8281587a4fdb6f417b2160ff84e","integrity":"sha512-qTBVGhNP1h5W64eePayza5mrjCNaRZQMipSkJd3AKNbtr3/JtDRpdICCC6tuA6pie4FzhoLyyfQIojsVhKpPOg==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-beta.20.tgz","fileCount":27,"unpackedSize":1804313,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQ9WNCRA9TVsSAnZWagAAB/QP/1uZ3zdjk/gQXok68t6K\nAbBRXT+A4+hGHmw/SFPoJiZXgot1HTSKEaDzLMyyWUvC0J/QUUPCAe3HJ81L\nobMxqys5t4uRuN7DB4L5myI8h0Hd7GozdxSDDXil7VidNRn2J6v/uGxfm/my\ngihYAMPU5hP785CIMJ5BExrKD063e3vvnZjTBLIPC+DduQTGiqRzBGVv+8Ox\nvNJ6BbiP+6/kkvw98pIUjs1opmJN1wXBclomo4p7R9fC321B4cIo8Ury0tHS\nfc65ubwJep/zqOihDh74SKmkHay+YD7p4RfCd8zlq7Le+EEUaLf+E0r5O/ys\nblMxxl+soxU+pSR6uWniiJwfDm4b7ffkSgYSTofeTq7oz1AMlr4oBajDHGzf\n7GyGHrrt4CRl4jT80YPFOX44DssVun6FPvpeRoOyyYsnhk85BSkDtDNLnuX6\nVbocbCwP2omPSt9oR8PSzfCoXEwjwLiOWqFB3yOp3PzzyzhDcYTE/HOQC1Oo\nh7WJr0Ps0/xM7r3zEaaKUyQxF1DsIgJXuvbyHx6gF91jgFBRpzlAWsYqv0+l\n7J7hkokRO9JZdHMFBltsfK3R0Jy6xM7sIr9bE2YMh8gUDnnL3IKPHx9ZdN3A\nmcdZ6KuMA3MmiIuZbSGjdix6noHw1usFIx93nxD/8OlUlF7WIc6aW64cDbsy\nnwCs\r\n=e5/d\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAP0Q9RSVpXD2eq48sFzEzBwppAfvV4tqvFxLfxorIJhAiAtjNeVTU5DIw+Nr6NyQ6+ztA5ik/kj8o8qEBnMjXLRQQ=="}]},"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-beta.20_1615058316797_0.2721760086375151"},"_hasShrinkwrap":false},"1.0.0-beta.21":{"name":"vue-composable","version":"1.0.0-beta.21","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"scripts":{"postinstall":"node ./scripts/postinstall.js"},"bin":{"vue-composable-fix":"scripts\\postinstall.js"},"dependencies":{"@vue/devtools-api":"^6.0.0-beta.3"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0"},"peerDependencies2":{"@vue/composition-api":"^1.0.0-beta.14","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-beta.21","dist":{"shasum":"7fe452835e863aefe62d8e2fab27acbc04677020","integrity":"sha512-+xmTAT5llXtZNaqFt8jkRvn5OXhmygohtPXJJTpor/XRqXLjHw/18e5EF7GPw6i4fqOFzvVjCvNfl68mOuXEdg==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-beta.21.tgz","fileCount":27,"unpackedSize":1805277,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXvifCRA9TVsSAnZWagAAAG4P/iV3A5CRQVRkfb9jaAFj\n5C9abOrQkCI7zDMw5sj8wHIhl4xTM9pPl49WLLEyRICNpK1Fo1yA8E09C5dQ\nvzF/zgwhslzd3xEcS4kkOp/v1qx+KbVFDceJMXsxeSF0A+9pZT97lzRA7Ikr\n9V2ORlmCagTDix49aWmHj17zHed/DpMl3L93yOkqBhsD0fuxeqRNHhEo67yX\nrjhVeqFUi1Le+fgmz6iL+CcQZWu3zsKJeUmD5lh1V3DdxX1sHmZozG0DBeL7\n6MPuexlUx+equqRz8MRTdgIYLx2xmcMDOOxrAjlX1hbydV5KjkHiKaazaqiw\n00pVN+iKZZ2tVHLVlMe0YhI/zUbEdJTNkEB3joUi+cvCoMM0ct3VHwt3vM3N\nhm1UwRbEvbeNknGAdrQChPgH3FcwnuHsL5SlmGzIV3TYmR2S09zTiWmJimHY\nznq9R6VUD4G1no7102vzNawIEg2HZc5aomFkgRpbv4cvag+JZtvDM7b5d/tE\njEpAvpXxc+YvOklbK+xPlS/vvJxO/lSvb1XcmlgR2aSc+zBD6mlnem6MjQt/\n+V0/tk4zy8YGv+VWa794DHARvh92ql415TKV3Mzw6OviQj8M5adAcnZtFiuL\nvzdN19ywPrGrqDUQIVXkpkpRMj0Gw5LjZDwBEWMFjSirTcGz3nd96rlidB5q\nGrBb\r\n=UJxT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB3+wcbsTWPMMzMv7IS60Sqf7bUOl8GYFaU087Wr8QEPAiA6N64B5+LJ+Cb4/Y4d9Cwvf7eOTWud36qMb9TP9hTfiA=="}]},"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-beta.21_1616836767120_0.9526119596912923"},"_hasShrinkwrap":false},"1.0.0-beta.22":{"name":"vue-composable","version":"1.0.0-beta.22","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"scripts":{"postinstall":"node ./scripts/postinstall.js"},"bin":{"vue-composable-fix":"scripts\\postinstall.js"},"dependencies":{"@vue/devtools-api":"^6.0.0-beta.3"},"peerDependencies3":{"@vue/runtime-core":"^3.0.0"},"peerDependencies2":{"@vue/composition-api":"^1.0.0-beta.14","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-beta.22","dist":{"shasum":"dcafb8c52105953144cf63b3a8a00c0a820a024f","integrity":"sha512-glsg6e8VmJ2I5gZjv1RIb7iUACnodQt38A85Th2FP+sOOHMj5BJZ6cxbfvRAJlHg0PYFzyqc4hRx8qxqK0eChw==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-beta.22.tgz","fileCount":27,"unpackedSize":1808805,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgcV9FCRA9TVsSAnZWagAAx18P/2lQN7puXNemH0JvuRmg\nIOx+jUXDXEWErRy26RLaBSSCEiS5eJLNE5IcDnzJgMi14mngRHT54k2JMoO2\nr5vFbtOKRzxVImKajFaSFHtmeRGextuwJG+lH+VnoLDn2U6dc+TzDsNMf/au\n3N7nMCKyePGzJCbh26eqffnId2ypLc8Dr60LdMs28H8OASn+0BN2ph0GdtvV\nbcycLoLX1mQCPo96N8qMryqzYqSUUFREJxOahxbU0ELYf3jL3FgfwqByN9ZG\nKKRPpIwy7anl8zYioOuqtt/hygPLmEw5vB4KK3qWBIq7UKs3q0RUc4vH0a3d\nvuXTHjpSKnoww+bC5KPZYneFuSGcltRlt1FINSF09BbAf3r4GyFurrpj5RYV\nP0XTMh73h28SZe6zNXRC208MwnKZeN19czc5aDrS+AdtuoONDRqmJ2JZFYzl\nPzcOpSWIFfsM1nXQlpmPtnfesmObFgq8w4emBYJ9KLGunfhxzhHNuYKQDMrR\nV5Aa81Ij/XnnOzAhnAcvdSdkmjUwPmDXUKerVlfvuIbkXUidajjY+TzfPeE8\nvhqsA+lAj9TSfR+BHGNLXaPSxb62/cfbNzz9/Xulr1icGUVfVodAVbqKjs12\n50LpEE4cOp+QiKDFzo7zcClWRJVF1MNNvMqBkeBjtAWi2U++zgyjcRF4sfwf\nstIs\r\n=BZlF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC7Z+/ww36iTDrgCK15kDjVVw7gqnR/zW+sr1bJ3hI2vgIgA6cL+aHu/M8p4gQDLLvNwmULceJvWAVDYLH+0HAF4RU="}]},"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-beta.22_1618042693075_0.7789081034113421"},"_hasShrinkwrap":false},"1.0.0-beta.23":{"name":"vue-composable","version":"1.0.0-beta.23","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"scripts":{"postinstall":"node ./scripts/postinstall.js"},"bin":{"vue-composable-fix":"scripts\\postinstall.js"},"dependencies":{"@vue/devtools-api":"^6.0.0-beta.3"},"peerDependencies3":{"vue":"^3.0.0"},"peerDependencies2":{"@vue/composition-api":"^1.0.0-beta.14","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-beta.23","dist":{"shasum":"1085bcd8360d9ed309ec5c33e8242611790cd5c5","integrity":"sha512-jtlEHcaLbN6ENHIiqABeBmGbtUuUEKCRaByerHudlpEcHTN4B47P/uRcrg93iL1iuWHl9OQeRqkyFIzjCF3MTQ==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-beta.23.tgz","fileCount":27,"unpackedSize":1806422,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgg9hUCRA9TVsSAnZWagAAySQP/iBWPcJ+4xgWIl/YriwJ\n0Rg1SnZU56OC+YqHlNiyTP1H4d0x/AGIhjSrzgsCGEW6PJA02LL3FT1i0SEP\nxuQNBnpNGc+Vb/YUDxn5Oqhp/y7Nl/qKRfderjtojqPVFAN3vqvV6K8T7cag\nzQ37TB7qfoimqB4R+aLY8vv/MAfhAp/Gr2t8jpfYzkQGbSevdLuL57IV7G82\n27r+dWCDpbx2XOc25cdrmzxZHdmSbzF3YLVAr+rynHxV+IOZWQ9lQDvIMZSu\nLe1znvOBM2/ftRvkQK0fkrteO91QIXY44bumHdmql1wirTKb9eMFnmyOzLNV\nq/xstEei2SGw5+4qAgCbkYMPRW8TMDN0f2xNgkkR3Z+QuIe6wB8bJ/0h4rrU\nVNi6JqSQe9CoEXyDQ9KGTTl1qlYZCZPFBw0h4YBJrLaAl0hsb91OVFZDYMWG\nfvNJOWxzhPHDJagcaJW0hbWGAscrpR4wlGG96V9CVbi0hxgt84vCoHQ0Ajg+\nuYamsZsb2Z9ENqaPe9Wi+v5ooFjV90OYsvgVC43NzaCZuvFQMAaj5Ki47cJy\n/fF3VJ/3NwY/HcMCe64iPnexZcIaDT6OIbYnU10SOHAWVLP2Pb7DDTXhfN+n\nzwnVfcq7E+rrDw3H04nGxzlrdifwd0N0Y0fuID+xL54urFWyeadrrG02PxNa\nPrKO\r\n=5vte\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHyzGpI8npXqe4/dRV9x2ewm2oqchkoUD1X0XHMtTQ3hAiABtGvLU5VzQvdZ75gjsIfcrUG1iiWJkyLWj7gCDv7r4w=="}]},"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-beta.23_1619253331732_0.021978050730496745"},"_hasShrinkwrap":false},"1.0.0-beta.24":{"name":"vue-composable","version":"1.0.0-beta.24","description":"vue-composable","main":"index.js","module":"dist/vue-composable.esm-bundler.js","unpkg":"dist/vue-composable.global.js","types":"dist/vue-composable.d.ts","buildOptions":{"priority":1,"name":"vueComposable","formats":["esm-bundler","cjs","global"]},"repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"keywords":["vue","composition-api","vue-composable","composable"],"author":{"name":"pikax"},"license":"MIT","bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"homepage":"https://pikax.me/vue-composable/composable","sideEffects":false,"scripts":{"postinstall":"node ./scripts/postinstall.js"},"bin":{"vue-composable-fix":"scripts\\postinstall.js"},"dependencies":{"@vue/devtools-api":"^6.0.0-beta.19"},"peerDependencies3":{"vue":"^3.0.0"},"peerDependencies2":{"@vue/composition-api":"^1.0.0-beta.14","vue":"^2.6.10"},"_id":"vue-composable@1.0.0-beta.24","dist":{"shasum":"04032163fb90adfb4c1f0f5d962f9bca00398341","integrity":"sha512-rVxqIk+CCBDNlu7MK59FB6hIHbjpaNszSZ3o1fReXiDKpdw2AAnSWx5vqUpJgC4yGlUzBMJ2eUQIjij5/wr8Kg==","tarball":"https://registry.npmjs.org/vue-composable/-/vue-composable-1.0.0-beta.24.tgz","fileCount":27,"unpackedSize":1814928,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh3AMWCRA9TVsSAnZWagAAKLsP/RnJiwpCpCYNATbWdVgJ\nsAeBeFfuqngmS5eOLr9Z8zhpGkqkEl61tImgbbcNfJ6Hfx1gt7LyNrzdUqga\nLQN3kj4+vFle82bNyF+RNBURPH93+EJ1xm15/60lnwlEt8G/HtE2tVcHg3+A\nqly5gI25Hd0ouijW+Wqx7L/wK9M3rNQjikOl6lS+G7E4J+z2iTSYFvPQUUIW\n1d3qMd8DphmRGvtedpKQ848ulXgQo13Ee+73/grSuapp1i016PV4coJYzIio\nouSL3rMaHemxZihpwWPpGXKZkmlI/iQJ1WO+S+aJqYOrsS3Szniovxw0ScoY\nzsxxKBXqGIHPwXaFbQTTsuxKnmkLWX5cn7PaSBRTAwmSD1CG9w08RmwA3FLc\nSHrkLXFpctxTcp48nNV2cWg7viOJJTGLvuWRa26giulssHtvXsxesIITYeWe\nzvLkqxJDvc+BDYVJuyFZYpko8Q52+kuLC9K7X3tKR+zHsTiUxyiDj4KiQ+ch\naVCfdetwYVhXSqKxf5iYFiWD3V/H/vuWLGNxO1uR27Komk/ESf14c+59Yvgd\nEwvMDFPW1DMlqk+Rp8j1uTlvsbzEiQ9ejxz6ST7XRYbOdwC45xNOq8ETClmq\n0kqxXticghzPafxwueH3zYU2oZZ02LpgHOLMljQNAhrd69eosAJa7MeNE8Ko\nydT1\r\n=n67f\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDpLoDFpCsH2ouNda8XC/JrMiRhS6MJEDa0Mpf07sWn+AIhAMs+gyh1VtyYLwLwy1ltygo2/7GcLi+ZMcnb8ftH2knj"}]},"_npmUser":{"name":"pikax","email":"david-181@hotmail.com"},"directories":{},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-composable_1.0.0-beta.24_1634453871826_0.6522099774377466"},"_hasShrinkwrap":false}},"time":{"created":"2019-10-23T13:43:24.579Z","0.1.0":"2019-10-23T13:43:24.717Z","modified":"2022-05-23T13:37:26.099Z","0.2.0":"2019-11-03T06:09:35.216Z","0.2.1":"2019-12-10T17:36:20.816Z","0.2.2":"2019-12-10T17:37:46.442Z","1.0.0-dev.0":"2019-12-14T09:30:21.990Z","1.0.0-dev.1":"2019-12-14T09:54:42.416Z","1.0.0-dev.2":"2019-12-28T12:44:44.478Z","1.0.0-alpha.0":"2020-01-07T08:41:06.542Z","1.0.0-alpha.1":"2020-01-07T08:50:05.466Z","1.0.0-alpha.2":"2020-01-07T08:57:40.769Z","1.0.0-alpha.3":"2020-01-07T08:59:56.264Z","1.0.0-alpha.4":"2020-01-07T09:08:29.544Z","1.0.0-alpha.5":"2020-01-07T11:13:11.909Z","1.0.0-dev.3":"2020-01-09T08:25:12.350Z","1.0.0-dev.4":"2020-01-13T11:01:54.363Z","1.0.0-dev.6":"2020-01-19T18:30:01.117Z","1.0.0-dev.7":"2020-01-19T18:36:44.971Z","1.0.0-alpha.7":"2020-01-19T19:32:50.807Z","1.0.0-dev.8":"2020-02-04T16:39:23.055Z","1.0.0-alpha.8":"2020-02-04T17:47:42.787Z","1.0.0-dev.9":"2020-02-07T18:03:35.990Z","1.0.0-dev.10":"2020-02-23T08:33:34.391Z","1.0.0-dev.11":"2020-02-24T12:13:35.529Z","1.0.0-dev.12":"2020-02-27T22:50:41.357Z","1.0.0-dev.13":"2020-02-27T23:39:23.658Z","1.0.0-dev.14":"2020-03-05T11:31:23.502Z","1.0.0-dev.15":"2020-03-09T18:34:52.493Z","1.0.0-dev.16":"2020-03-27T20:50:00.728Z","1.0.0-dev.17":"2020-04-05T10:11:27.357Z","1.0.0-dev.18":"2020-04-06T20:38:05.109Z","1.0.0-dev.19":"2020-04-06T20:58:14.964Z","1.0.0-dev.20":"2020-04-06T21:10:41.144Z","1.0.0-dev.21":"2020-04-13T13:33:17.006Z","1.0.0-dev.22":"2020-04-19T10:49:32.559Z","1.0.0-alpha.22":"2020-04-19T10:51:02.542Z","1.0.0-dev.23":"2020-04-19T10:59:30.082Z","1.0.0-alpha.23":"2020-04-19T11:00:03.020Z","1.0.0-dev.24":"2020-04-20T09:49:10.593Z","1.0.0-alpha.24":"2020-04-20T09:50:08.060Z","1.0.0-alpha.25":"2020-04-20T09:56:48.697Z","1.0.0-alpha.26":"2020-04-20T10:04:52.175Z","1.0.0-dev.26":"2020-04-20T10:10:47.761Z","1.0.0-dev.27":"2020-04-20T12:17:28.645Z","1.0.0-alpha.27":"2020-04-20T12:18:13.686Z","1.0.0-dev.28":"2020-04-20T12:21:46.409Z","1.0.0-alpha.28":"2020-04-20T12:22:32.898Z","1.0.0-dev.29":"2020-04-21T19:08:10.287Z","1.0.0-alpha.29":"2020-04-21T19:09:14.553Z","1.0.0-dev.30":"2020-04-22T08:14:21.052Z","1.0.0-alpha.30":"2020-04-22T08:15:04.681Z","1.0.0-dev.31":"2020-04-22T08:27:10.682Z","1.0.0-alpha.31":"2020-04-22T08:27:38.358Z","1.0.0-dev.32":"2020-04-22T10:35:00.002Z","1.0.0-alpha.32":"2020-04-22T10:35:49.504Z","1.0.0-dev.33":"2020-05-31T08:07:22.442Z","1.0.0-alpha.33":"2020-05-31T08:07:56.420Z","1.0.0-dev.34":"2020-06-03T15:32:37.986Z","1.0.0-alpha.34":"2020-06-03T15:33:14.776Z","1.0.0-dev.35":"2020-06-13T10:33:09.012Z","1.0.0-alpha.35":"2020-06-13T10:33:44.868Z","1.0.0-dev.36":"2020-06-14T17:39:23.429Z","1.0.0-alpha.36":"2020-06-14T17:39:58.600Z","1.0.0-dev.37":"2020-07-18T09:33:04.565Z","1.0.0-alpha.37":"2020-07-18T09:33:30.419Z","1.0.0-beta.1":"2020-07-18T12:39:22.507Z","1.0.0-beta.2":"2020-07-24T09:35:01.082Z","1.0.0-beta.3":"2020-07-27T15:46:11.184Z","1.0.0-beta.4":"2020-08-15T16:28:45.476Z","1.0.0-beta.5":"2020-08-28T09:05:31.789Z","1.0.0-beta.6":"2020-09-13T09:07:57.124Z","1.0.0-beta.7":"2020-09-13T09:22:14.002Z","1.0.0-beta.8":"2020-09-14T09:39:01.514Z","1.0.0-beta.9":"2020-09-15T05:01:50.969Z","1.0.0-beta.10":"2020-09-15T05:06:05.967Z","1.0.0-beta.11":"2020-10-11T08:57:20.853Z","1.0.0-beta.12":"2020-10-31T11:32:22.037Z","1.0.0-beta.13":"2021-01-01T12:18:35.794Z","1.0.0-beta.14":"2021-01-06T13:59:50.036Z","1.0.0-beta.15":"2021-01-16T09:04:53.844Z","1.0.0-beta.16":"2021-01-23T08:53:15.769Z","1.0.0-beta.17":"2021-02-20T12:06:26.701Z","1.0.0-beta.18":"2021-02-21T08:44:55.005Z","1.0.0-beta.19":"2021-03-06T10:02:17.719Z","1.0.0-beta.20":"2021-03-06T19:18:36.951Z","1.0.0-beta.21":"2021-03-27T09:19:27.295Z","1.0.0-beta.22":"2021-04-10T08:18:13.299Z","1.0.0-beta.23":"2021-04-24T08:35:31.934Z","1.0.0-beta.24":"2021-10-17T06:57:52.095Z"},"maintainers":[{"name":"pikax","email":"david-181@hotmail.com"}],"description":"vue-composable","homepage":"https://pikax.me/vue-composable/composable","repository":{"type":"git","url":"git+https://github.com/pikax/vue-composable.git"},"author":{"name":"pikax"},"bugs":{"url":"https://github.com/pikax/vue-composable/issues"},"license":"MIT","readme":"# vue-composable\n\n<p align=\"center\"><a href=\"https://pikax.me/vue-composable/\" target=\"_blank\" rel=\"noopener noreferrer\"><img width=\"250\" src=\"https://pikax.me/vue-composable/assets/logo.svg\" alt=\"vue-composable logo\"></a></p>\n\n[![CircleCI](https://circleci.com/gh/pikax/vue-composable.svg?style=svg)](https://circleci.com/gh/pikax/vue-composable)\n[![Coverage Status](https://coveralls.io/repos/github/pikax/vue-composable/badge.svg?branch=master)](https://coveralls.io/github/pikax/vue-composable?branch=master)\n[![npm version](https://badge.fury.io/js/vue-composable.svg)](https://badge.fury.io/js/vue-composable)\n[![bundle size](https://badgen.net/bundlephobia/minzip/vue-composable)](https://bundlephobia.com/result?p=vue-composable)\n\n<p align=\"center\">Out-of-the-box ready to use composables</p>\n\n- **🌴 TreeShakable**\n- **🧙‍♂️ Fully Typescript**\n- **💚 Vue 3 and 2 support**\n- **🔨 Vue Devtools support**\n\n## Introduction\n\nThis library aim is to be one stop shop for many real-world composable functions, with aggressive tree-shaking to keep it light on your end code.\n\n## Installing\n\n```bash\n# @vue/composition-api\n\n# install with yarn\nyarn add @vue/composition-api vue-composable\n\n# install with npm\nnpm install @vue/composition-api vue-composable\n\n# vue 3\n\n# install with yarn\nyarn add vue-composable\n\n# install with npm\nnpm install vue-composable\n```\n\n## Documentation\n\nCheck our [documentation](https://pikax.me/vue-composable/)\n\n### Composable\n\n### Event\n\n- [Event](https://pikax.me/vue-composable/composable/event/event) - Attach event listener to a DOM element\n- [Mouse Move](https://pikax.me/vue-composable/composable/event/onMouseMove) - Attach `mousemove` listener to a DOM element\n- [Resize](https://pikax.me/vue-composable/composable/event/onResize) - Attach `resize` listener to a DOM element\n- [Scroll](https://pikax.me/vue-composable/composable/event/onScroll) - Attach `scroll` listener to a DOM element\n- [onOutsidePress](https://pikax.me/vue-composable/composable/event/onOutsidePress) - Execute callback when click is outside of element\n\n### Dom\n\n- [Mouse distance from Element](https://pikax.me/vue-composable/composable/dom/mouseDistanceFromElement) - Distance in pixels from an element center\n\n### Date\n\n- [useNow](https://pikax.me/vue-composable/composable/date/now) : Return reactive custom timer with specified refresh rate\n- [useDateNow](https://pikax.me/vue-composable/composable/date/dateNow) : Returns reactive `Date.now()` with custom refresh rate\n- [usePerformanceNow](https://pikax.me/vue-composable/composable/date/performanceNow) : Returns reactive `performance.now()` with custom refresh rate\n\n### Format\n\n- [format](https://pikax.me/vue-composable/composable/format/format) - Reactive string format\n- [path](https://pikax.me/vue-composable/composable/format/path) - Retrieve object value based on string path\n\n### Breakpoint\n\n- [MatchMedia](https://pikax.me/vue-composable/composable/breakpoint/matchMedia) - reactive `MatchMedia`\n- [Breakpoint](https://pikax.me/vue-composable/composable/breakpoint/breakpoint) - reactive `breakpoints` based on `window.innerWidth`\n- [Chrome](https://pikax.me/vue-composable/composable/breakpoint/breakpointChrome) - reactive chrome breakpoints\n- [TailwindCSS](https://pikax.me/vue-composable/composable/breakpoint/breakpointTailwindCSS) - reactive TailwindCSS breakpoints\n\n### MISC\n\n- [sharedRef](https://pikax.me/vue-composable/composable/misc/sharedRef) - cross-tab reactive `ref`\n- [VModel](https://pikax.me/vue-composable/composable/misc/vmodel) - helper to wrap model update into a `ref` `[vue3 only]`\n- [injectFactory](https://pikax.me/vue-composable/composable/misc/injectFactory) - same as [inject](https://vue-composition-api-rfc.netlify.app/api.html#dependency-injection) but allows you to have a factory as default value\n- [interval](https://pikax.me/vue-composable/composable/misc/interval) - self-remove `setInterval` on unmount\n- [lockScroll](https://pikax.me/vue-composable/composable/misc/lockScroll) - `lock-scroll` component\n- [refDebounced](https://pikax.me/vue-composable/composable/misc/refDebounced) - debounces the update value of a `ref`\n\n### Storage\n\n- [WebStorage](https://pikax.me/vue-composable/composable/storage/webStorage) - Reactive access to `Storage API`, `useLocalStorage` and `useSessionStorage` use this\n- [storage](https://pikax.me/vue-composable/composable/storage/storage) - uses `localStorage` or on safari private it uses `sessionStorage`\n- [localStorage](https://pikax.me/vue-composable/composable/storage/localStorage) - Reactive access to a `localStorage`\n- [sessionStorage](https://pikax.me/vue-composable/composable/storage/sessionStorage) - Reactive access to a `sessionStorage`\n\n### Pagination\n\n- [Pagination](https://pikax.me/vue-composable/composable/pagination/pagination) - Generic reactive pagination controls\n- [Array Pagination](https://pikax.me/vue-composable/composable/pagination/arrayPagination) - Array pagination\n\n### Validation\n\n- [Validation](https://pikax.me/vue-composable/composable/validation/validation) - model based validation inspired by [vuelidate](https://vuelidate.js.org/)\n\n### i18n\n\n- [i18n](https://pikax.me/vue-composable/composable/i18n/i18n) - Simple i18n implementation with API inspired by [vue-i18n](https://github.com/kazupon/vue-i18n)\n\n### Intl\n\n- [dateTimeFormat](https://pikax.me/vue-composable/composable/Intl/dateTimeFormat) - Intl.DateTimeFormat\n- [numberFormat](https://pikax.me/vue-composable/composable/Intl/numberFormat) - Intl.NumberFormat\n- [currencyFormat](https://pikax.me/vue-composable/composable/Intl/currencyFormat) - CurrencyFormat with Intl.NumberFormat\n\n### Promise\n\n- [Promise](https://pikax.me/vue-composable/composable/promise/promise) - `Promise` reactive resolve and reject\n- [promiseLazy](https://pikax.me/vue-composable/composable/promise/promiseLazy) - Sugar for [usePromise](https://pikax.me/vue-composable/composable/promise/promise) `lazy:true`\n- [Cancellable Promise](https://pikax.me/vue-composable/composable/promise/cancellablePromise) - Allow to cancel promises\n- [Retry](https://pikax.me/vue-composable/composable/promise/retry) - Provides functionality to retry `promise`\n\n### Meta\n\n- [Title](https://pikax.me/vue-composable/composable/meta/title) - reactive `document.title`\n\n### State\n\n- [Timeline](https://pikax.me/vue-composable/composable/state/timeline) - Tracks variable history\n- [Undo](https://pikax.me/vue-composable/composable/state/undo) - Tracks variable history, to allow `undo` and `redo`\n- [valueSync](https://pikax.me/vue-composable/composable/state/valueSync) - syncs variables value, across multiple `ref`s\n\n### Web\n\n- [Fetch](https://pikax.me/vue-composable/composable/web/fetch) - reactive `fetch` wrapper\n- [WebSocket](https://pikax.me/vue-composable/composable/web/webSocket) - reactive `WebSocket` wrapper\n- [IntersectionObserver](https://pikax.me/vue-composable/composable/web/intersectionObserver) - reactive `IntersectionObserver`\n- [NetworkInformation](https://pikax.me/vue-composable/composable/web/networkInformation) - reactive `NetworkInformation` wrapper\n- [Online](<[composable/web](https://pikax.me/vue-composable/composable/web)/online>) - reactive `navigator.onLine` wrapper\n- [PageVisibility](https://pikax.me/vue-composable/composable/web/pageVisibility) - reactive `Page Visibility API`\n- [Language](https://pikax.me/vue-composable/composable/web/language) - reactive `NavigatorLanguage`\n- [BroadcastChannel](https://pikax.me/vue-composable/composable/web/broadcastChannel) - reactive `BroadcastChannel API`\n- [Geolocation API](https://pikax.me/vue-composable/composable/web/geolocation)\n- [CSS variables](https://pikax.me/vue-composable/composable/web/cssVariables) - reactive `CSS variables`\n- [Worker](https://pikax.me/vue-composable/composable/web/worker) - `Web Worker API`\n- [WorkerFunction](https://pikax.me/vue-composable/composable/web/workerFunction) - Webworker Function, offload a function to webworker\n- [share](https://pikax.me/vue-composable/composable/web/share) - WebShare API\n- [Clipboard](https://pikax.me/vue-composable/composable/web/clipboard) - Clipboard API\n\n### External\n\n> New packages needed\n\n- [Axios](https://pikax.me/vue-composable/composable/external/axios) - [@vue-composable/axios](https://www.npmjs.com/package/@vue-composable/axios) reactive `axios` wrapper client\n- [makeAxios](https://pikax.me/vue-composable/composable/external/makeAxios) - [@vue-composable/axios](https://www.npmjs.com/package/@vue-composable/axios) wrap your `axios` instance\n- [useCookie](https://pikax.me/vue-composable/composable/external/useCookie) - [@vue-composable/cookie](https://www.npmjs.com/package/@vue-composable/cookie) `js-cookie` wrapper\n\n## Information\n\nThis is a monorepo project, please check [packages](packages/)\n\n## Devtools\n\nThere's some experimental devtools support starting from `1.0.0-beta.6`, only available for `vue-next` and `devtools beta 6`.\n\n- [devtools beta chrome](https://chrome.google.com/webstore/detail/vuejs-devtools/ljjemllljcmogpfapbkkighbhhppjdbg)\n\n### Install plugin\n\nTo use devtools you need to install the plugin first:\n\n```ts\nimport { createApp } from \"vue\";\nimport { VueComposableDevtools } from \"vue-composable\";\nimport App from \"./App.vue\";\n\nconst app = createApp(App);\napp.use(VueComposableDevtools);\n// or\napp.use(VueComposableDevtools, {\n  id: \"vue-composable\",\n  label: \"devtool composables\"\n});\n\napp.mount(\"#app\");\n```\n\n### Component State\n\nTo add properties to the component inspector tab\n[ComponentState](https://github.com/vuejs/vue-devtools/blob/next/packages/api/src/api/component.ts#L68)\n\n```ts\nconst bar = \"bar\";\nuseDevtoolsComponentState(\n  {\n    bar\n  },\n  {\n    type: \"custom composable\" // change group\n  }\n);\n\nconst baz = () => \"baz\";\nuseDevtoolsComponentState({ baz });\n// no duplicates added by default\nuseDevtoolsComponentState({ baz });\n\nconst the = 42;\nuseDevtoolsComponentState({ the });\n// to allow multiple same key\nuseDevtoolsComponentState({ the }, { duplicate: true });\n\n// use a devtools api list directly\ninterface StateBase {\n  key: string;\n  value: any;\n  editable: boolean;\n  objectType?: \"ref\" | \"reactive\" | \"computed\" | \"other\";\n  raw?: string;\n  type?: string;\n}\nuseDevtoolsComponentState([\n  {\n    key: \"_bar\",\n    type: \"direct\",\n    value: \"bar\",\n    editable: true\n  },\n  {\n    key: \"_baz\",\n    type: \"direct\",\n    value: \"baz\",\n    editable: false\n  }\n]);\n\n// raw change\nuseDevtoolsComponentState((payload, ctx) => {\n  payload.state.push(\n    ...[\n      {\n        key: \"_bar\",\n        type: \"raw\",\n        value: \"bar\",\n        editable: true\n      },\n      {\n        key: \"_baz\",\n        type: \"raw\",\n        value: \"baz\",\n        editable: false\n      }\n    ]\n  );\n});\n```\n\n### Timeline events\n\nTo add timeline events:\n\n```ts\nconst id = \"vue-composable\";\nconst label = \"Test events\";\nconst color = 0x92a2bf;\n\nconst { addEvent, pushEvent } = useDevtoolsTimelineLayer(\n  id,\n  description,\n  color\n);\n\n// adds event to a specific point in the timeline\naddEvent({\n  time: Date.now(),\n  data: {\n    // data object\n  },\n  meta: {\n    // meta object\n  }\n});\n\n// adds event with `time: Date.now()`\npushEvent({\n  data: {\n    // data object\n  },\n  meta: {\n    // meta object\n  }\n});\n```\n\n### Inspector\n\nAllows to create a new inspector for your data.\n\n> I'm still experimenting on how to expose this API on a composable, this will likely to change in the future, suggestions are welcome.\n\n```ts\nuseDevtoolsInspector(\n  {\n    id: \"vue-composable\",\n    label: \"test vue-composable\"\n  },\n  // list of nodes, this can be reactive\n  [\n    {\n      id: \"test\",\n      label: \"test - vue-composable\",\n      depth: 0,\n      state: {\n        composable: [\n          {\n            editable: false,\n            key: \"count\",\n            objectType: \"Ref\",\n            type: \"setup\",\n            value: myRefValue\n          }\n        ]\n      }\n    }\n  ]\n);\n```\n\n## Typescript\n\n`Typescript@3.x` is not supported, the supported version can be checked on [package.json](./package.json), usually is the latest version or the same major as `vue-3`\n\n## Contributing\n\nYou can contribute raising issues and by helping out with code.\n\nTests and Documentation are the most important things for me, because good documentation is really useful!\n\nI really appreciate some tweaks or changes on how the documentation is displayed and how to make it easier to read.\n\nTwitter: [@pikax_dev](https://twitter.com/pikax_dev)\n\n## Build\n\n```bash\n# install packages\nyarn\n\n# build and test for v2\nyarn build --version=2\nyarn test:vue2\n\n# build and test for v3\nyarn build\nyarn test\n```\n\n### New composable\n\n1. Fork it!\n2. Create your feature branch: `git checkout -b feat/new-composable`\n3. Commit your changes: `git commit -am 'feat(composable): add a new composable'`\n4. Push to the branch: `git push origin feat/new-composable`\n5. Submit a pull request\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n\n[now]: https://pikax.me/vue-composable/composable/date/now\n[date-now]: https://pikax.me/vue-composable/composable/date/dateNow\n[performance-now]: https://pikax.me/vue-composable/composable/date/performanceNow\n[pagination]: https://pikax.me/vue-composable/composable/pagination/pagination\n[array-pagination]: https://pikax.me/vue-composable/composable/pagination/arrayPagination\n[promise]: https://pikax.me/vue-composable/composable/promise/promise\n[retry]: https://pikax.me/vue-composable/composable/promise/retry\n[cancellable-promise]: https://pikax.me/vue-composable/composable/promise/cancellablePromise\n[debounce]: https://github.com/pikax/vue-composable\n","readmeFilename":"README.md","keywords":["vue","composition-api","vue-composable","composable"]}