{"_id":"vue-condition-watcher","_rev":"50-96bbadfaefe6cea0f726e0861f7d509e","name":"vue-condition-watcher","dist-tags":{"latest":"1.5.0","beta":"2.0.0-beta.3"},"versions":{"0.0.1":{"name":"vue-condition-watcher","version":"0.0.1","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"author":{"name":"runkids"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run  lint-staged"}},"lint-staged":{"*.{ts}":["npm run lint:fix","npm run format","git add"]},"dependencies":{"vue":"^3.0.0-beta.14"},"devDependencies":{"@types/jest":"24.0.20","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"2.5.0","@typescript-eslint/parser":"2.5.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"^4.2.5","jest":"24.9.0","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"24.1.0","typescript":"^3.9.2"},"gitHead":"158eb99e55c3a687c3c7ea6442269417c58b80e3","_id":"vue-condition-watcher@0.0.1","_nodeVersion":"10.16.3","_npmVersion":"6.13.7","dist":{"integrity":"sha512-uIt0fG81XvMwHio6lwULghx6mlJK2OFdQeY8wlIPDUiPu1lGwODAeqFD5QhUoOXmTKA/iiYQuxkOED4fNwpPIg==","shasum":"db7189bd8b891bdfb6556329eecec571e2056988","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-0.0.1.tgz","fileCount":2,"unpackedSize":4901,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJew+k3CRA9TVsSAnZWagAA9xwP/j8fUn7/wfpFpRlqNm37\ngkhJJXezxKKjwAyK0A11qaQD+6tS80L3SVS9savF6dU52ix6jfQXHGKtFN5I\nup+I34KRx2NfcpkZZl5UN0w9xJTFRhJXM0PCaAj86zcyVATPyf9LnnGkDaH2\nssraZoDeFg6UT5gg3JMeOiuXw8PAvTxRAFFj7Jdu//rEZtp4cwPT+qxluGd/\nh8KGvTVc68ORcwxTLTWu0sLVRcQ/umkbb5U+PGrNu9P37iinJCxZll/x8TQu\nf562UDb7r7deq9QTpPVewrpVvssA7auUdooJfznOB4/EW7F6HCmmYcDunS62\nArRL1fBdP1M8UAW+22ExUYnhswxadU71f7Tj301tpDIxrjXiGHaPaVM7Ya/o\nOGZgqOVn/UvQ2tkmxGqVYjYl7TDxOBEIuARqn3TKPrIRw2j/H2Dt6cxlkY7f\ncoGhUiMA2TZI+KcAeMoFs7a9nLLsOlZEA78ugq8OTQQjWlxnIpI2taXuuQ1B\n3Q0v/oMKIbfKJeSaHab59/SGCvEKcM3uE78PgQG744v5bT6NzMRFnZv3YH5P\nCLtLQz3ac0UyeS6Synjs/+tJTVo/TENwSeKOcrHlVgPib1DwIDIaEzPt2DAX\nDddp/zF4WZCLKu6nOuMIkr+5Q1a1oSwKXa6yCSFRvZ+bBHpNJ9pJi8yEgCb7\n+Jls\r\n=wcwn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGnjaWd/wPcXYoJxyCK7p4zGARLov+1PY+D8Dnz4LnEgAiEAlPYHnJofYnHZIDOpqWJcXszMx/KDzrVBFjgtfCPnYvg="}]},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_0.0.1_1589897526955_0.44660081015327324"},"_hasShrinkwrap":false},"0.0.2":{"name":"vue-condition-watcher","version":"0.0.2","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"author":{"name":"runkids"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run  lint-staged"}},"lint-staged":{"*.{ts}":["npm run lint:fix","npm run format","git add"]},"dependencies":{"vue":"^3.0.0-beta.14"},"devDependencies":{"@types/jest":"24.0.20","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"2.5.0","@typescript-eslint/parser":"2.5.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"^4.2.5","jest":"24.9.0","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"24.1.0","typescript":"^3.9.2"},"gitHead":"158eb99e55c3a687c3c7ea6442269417c58b80e3","_id":"vue-condition-watcher@0.0.2","_nodeVersion":"10.16.3","_npmVersion":"6.13.7","dist":{"integrity":"sha512-n8VTctZts1k4Iinnzvu1qNzjEo3GmNw3OyXnjBwQCgVwhJmI9Pi9pglj30ZbvHDk4bDq77vPOVoV4gPFI6+qtQ==","shasum":"5998d59927a4a107c5327a0bbd38bf96b37a92ce","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-0.0.2.tgz","fileCount":5,"unpackedSize":9689,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJew+vxCRA9TVsSAnZWagAAcMgQAI6f53BLqq9M6dYKTPak\n0b435mDc1M+149DHZTSC6NA7IlFGbKk4fR1XzU/MItPMb5qGX3x7UOlUSN9K\nNrO06rmgnzOrF575JIUfeYIs2r2DKh/seOomUPBUOE4bZvq1Uf21YSSOKS8C\nl1KQRL9kgTWT4XfUU7ZYZGGZazSp/or9tYHJc6G2PkklhZb+xXa55ZTtJZwb\nuFdOJo58zCCiukC68dHd3k75NwlAu4lRWsaomoppgZez6+c7jQkhVPznXoJG\nvc9VLvrKHpw9spSJXcaqcEYkiDnGHmiZzU9SV2yJlvftOeYs0HSo68TzhwxA\n6NEM4y1YIMe7jiBCaZX7T3WHkn7VKnktFwQWAo3vsQlWW1JREYhVU0mp9Ug7\nPIhaQHYFFS1WNXZHozxHhTdz3kNpYegdRlCz8M4Ai+i+yrqxAt97zb5GGKsT\nmxwC5HBB7lqVFu4FQNATHaT5s1HPXGO0kY3bGGTUMFYuzEzRNVIoFKZQ86DL\n7bf/FT/I2H3lE7ZBtYB2184iHwjb3VwBIANw0tm7F4S6QwiXuT0KJEQF7qZi\n/nWMC5QyRXcDP/srHtl1tN5KhOdqqwXSRvjbHFy4oJN33wcr9ldK0TGb8HCm\nPT2O0IjWJtCVmqvq2ZjbQM1J+ZBAHZKKpleEbFnO2r4i0IfNNmWO3ut2w65v\nin48\r\n=ku1U\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHd7zv4QCSdpAiIsM15Bo0TXfGdwNGLd6h6vh/Ug58dPAiAatQEbuaA+gl80+hfB5/6kHPvb2E0XeXhrGmZ/VQtE2g=="}]},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_0.0.2_1589898224985_0.5793194095307101"},"_hasShrinkwrap":false},"0.0.3":{"name":"vue-condition-watcher","version":"0.0.3","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","vuejs","conditions","watcher","hook","composition-api","vue-hooks"],"author":{"name":"runkids"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run  lint-staged"}},"lint-staged":{"*.{ts}":["npm run lint:fix","npm run format","git add"]},"devDependencies":{"vue":"^3.0.0-beta.14","@types/jest":"24.0.20","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"2.5.0","@typescript-eslint/parser":"2.5.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"^4.2.5","jest":"24.9.0","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"24.1.0","typescript":"^3.9.2"},"gitHead":"72a0fd0bec956424b3c647aef38d2473be761348","_id":"vue-condition-watcher@0.0.3","_nodeVersion":"10.16.3","_npmVersion":"6.13.7","dist":{"integrity":"sha512-+EITdUfX4jCH7VKn1Zu7oi1ktJNclrv3A4w1ha2Jsh2HbhD10AIjKD+1+bzfhW4xqlKhfm4dHaAnlYgyRhqYJw==","shasum":"c65b266f3e3adace85b1c11cee3e18951388c390","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-0.0.3.tgz","fileCount":6,"unpackedSize":10861,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexGt5CRA9TVsSAnZWagAACQ8QAI/c9u+7v27y5zpiMU18\nimiYXBKUCeNBVPEyadNkhV+N4WgKMUbHtsl69w0kFHb3vn5Qw0jT2RKGUT9Z\nPe3C9vdrps07VbKooSTHOmCb5S81DhkHFOUvnOm+Kn18jIaI7npNK9/3IK77\nvVjkHMH7++xJGsRqCEvyGHfbyfTFma+2ic4gie3dRBT9CDg8MOdQx0zQTUGk\n4j21YOlVhQQ2GmN+dNykdhUFOaYMhCLlfhcg7CNrOdoP7Ahye/KUCgYhiCar\nr704fipPGM2d6/WwSipPnsAKcaRaodzAL169+veQr8Qvho27YTMnoGYQE03O\nAb+22efX7p0fGvLxbdHJVhNWPnMk7uK9S9sXwSyj62vZFuYGfB05Oh6iEqro\nza5df8tjPmQki2+wX2A28c5ABlgg9Hy4Ix4SBAo5oejyJ5YA4MguM3JCU8HK\nuyp6LrNKdr9z7tWsQdrcoaeRzaCP2o4uWII4pA8rnZ2uW5HPRwxZdyFNRPRe\nBXC385V9E5hDFaaQBZOxsPP5TWZLAIRn0KdYxD3jn4O3leR4q7P8SxhbFNwL\nLsc4anM1DAH7qVJcBhtDTbrm/GKL0aALGuAXMl6Wugoc9V2AC09rqa/dEf2z\nH1L7uZWAzQJZUGFLWFvaeLKYuCswdgnIRefhjNL/i0a2p/jGvL1mH0Umnhg4\nmOJ6\r\n=PHgI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCceA3uuJjSgYFOG7SL1BhmgUt+9sxfCYQzRUkVO96HLgIhAMTklm7hiYoH48/arey7haObdebxonEg8rEFvCYs7WNP"}]},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_0.0.3_1589930873499_0.11762544642576955"},"_hasShrinkwrap":false},"0.0.4":{"name":"vue-condition-watcher","version":"0.0.4","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","vuejs","conditions","watcher","hook","composition-api","vue-hooks"],"author":{"name":"runkids"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run lint-staged"}},"lint-staged":{"*.{ts}":["npm run lint:fix","npm run format","git add"]},"devDependencies":{"@types/jest":"24.0.20","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"2.5.0","@typescript-eslint/parser":"2.5.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"^4.2.5","jest":"24.9.0","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"24.1.0","typescript":"^3.9.2","vue":"^3.0.0-beta.14"},"gitHead":"b1e6da159b281a5225a079e37750186f7b0db160","_id":"vue-condition-watcher@0.0.4","_nodeVersion":"12.16.1","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Q8ZAcyOD8SUIYFRUb4wBTm+hk6h3ZxlquThjCYNxrmQzAY+VRzO5QEW4P9wX9jC7zo+FLQftTv0ypHnDzAEMOg==","shasum":"45db495e3538e7c28f7a7a03cd8fd1a5a7533b12","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-0.0.4.tgz","fileCount":10,"unpackedSize":15047,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexKvlCRA9TVsSAnZWagAAXDAP/0O6LtbOH+r7Ty/U8WD6\nFoapORnzwjLg9vZC0ouaT4d8LACS7IhAtI4RcOEKF2pKYkgocruxge1FpffY\nGS9NZUnNaj+uIfM7lQjdXMaOqAtG7nRX1pj/8OYkoBnbAgGsyHfQLksIFj93\niuD6cazaWW+KV/mMgbCNp/B9U35AmZxBnspwiF/hwMe2pf+NKI1qGN3QtslN\nYLVwKvwxzwzBGEdzkfdXy69SVL1e/RO3wjhdW7mbp1JEo9C/+5vGoG8CwTzh\no1JCB3mhX0Zpty5rKHkzWx3pjujtEZBI97psXBXHu7IeLAVLcvS8PI1yUYZO\ntRlnMjrGdiKE5EUTPY61SeifCiDhiVjaT09ypG0HzY/uLEsapVRs5MHKyZHc\nwfGSkO5Fzqi5a57dEb3gU+EdsIB551nX/IWcFcvg0YC/kATcBnQQ96xd7W5o\nhRvlZ9f0rmxS7T5VlTfcZ1WgLTUoSytDWPpFTYmb09NFHyri+SFUD7yjz7Do\n9V5x8wx7Ywj0GXsXHhl1zHCYPM+wnysTVihjIF2GpgujOAdEm8BnJ70W4TB3\nksfHwx2VAkGVnXwfltpln3nQxkpFRJmCfpTDINy2W0LP1SWaFI4lDq81oDq6\nRy/fh+4bafyWQRwUY2N+jf3TmLehi0MBjf5CfHrKVqBX1Or0i/Uj5J4V/RMd\nq7Zt\r\n=3ctH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8lFJA1cB46EkeMRf72aHtPMHNUrNEbN8H9950VzKGxQIgVM0KJTorVDLDKCeNeQyZxiock64vsaffTRfwLcgYwLk="}]},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_0.0.4_1589947364873_0.6116132571882233"},"_hasShrinkwrap":false},"0.0.5":{"name":"vue-condition-watcher","version":"0.0.5","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"devDependencies":{"@types/jest":"24.0.20","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"2.5.0","@typescript-eslint/parser":"2.5.0","@zeit/ncc":"0.22.2","axios":"^0.19.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"24.9.0","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"24.1.0","typescript":"^3.9.2","vue":"^3.0.0-beta.14"},"peerDependencies":{"vue":"^3.0.0-beta.14"},"gitHead":"3af87c440e3afc600aff035e2a2c93da5ff70ce9","_id":"vue-condition-watcher@0.0.5","_nodeVersion":"12.16.2","_npmVersion":"6.14.4","dist":{"integrity":"sha512-pvop1nuX3QDg5BWVqv6+BtmJSPVVf2NuG6OASCck9gqNP1KYIAHXqa61k3Ia2vPcIR2beHGhztoI9Tx+VZQ+jA==","shasum":"062cc7d4f67e797661fd116cb2d8144e7bb7f01d","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-0.0.5.tgz","fileCount":17,"unpackedSize":16887,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexzuBCRA9TVsSAnZWagAAdL8P/i5nZzlMW+um7WdXrBoH\n2USqTJbQYEHvLf94t4Ds+ksvdfSOM+ALjeP8sq4sgpwOcQR5oTE5qk31In+t\n/W82fghxbp+2x5BURuPyquTftsD2tWQCM3q4DdGqrF4Q3RwDbNGFr2n58L4N\nwdBqiYlOI05wndxfr1Q4s4g5xPR17UMCkGI70qB3rELeeTQQEicGrw1iplo5\noW/7cHJt444SBNfGqu/HiWWs1upQeBr5+mVuKrKQCHnWQ8L79/aMY73J86v9\nelrUckYI8lldMpcZyWWNPZGjQtHNraBVsvVGUqt/ZwlbrxCX+pyj5H3pHTkB\nnBL+3+D6QXC2N80qv/dMP+qtI9U0BUDdSlAbfYQrwcKmLS/DtEnterNAGUqe\n8i5pOkK1WLY36bnNTfLEDOTZVp/+6VtnpGwRWOuxvlQHwl7eKnozEBk6YuZs\nC+EtwDcH++idBDAE5RmdXYi3KQLCaLJLcq8je5ZMR5iwIJWIC8kBkDMQ0rwL\n5SUVLBHmTmKlBLdWn0wnHjxcgUawG2IXgc8jKYUNZMDm0hf1L9FH+FEef/k1\n4lyCAdqbcM5xAzqMru6kbbPUPSwLXDzFSWwP6g0tuSyXa+iawcQRrauyaVu7\nUYurp28EHXuBbQbAdZKaE6LIZDUzFyUcb5B8mHVTzN8W5tPaVJMD9PljFRGA\nc52o\r\n=NXqs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGvNMCxTIKI1pa3xnls8ZSDzPvn1iaQqUyX+OZI8yiVYAiEArwSuLaw0CoFNSLeLskgxv4UGG3di8wNcBsgTf2XYTww="}]},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_0.0.5_1590115200954_0.8400283249764875"},"_hasShrinkwrap":false},"0.0.6":{"name":"vue-condition-watcher","version":"0.0.6","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"devDependencies":{"@types/jest":"24.0.20","@types/node":"11.12.0","@types/rfdc":"^1.1.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"2.5.0","@typescript-eslint/parser":"2.5.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"24.9.0","lint-staged":"8.2.1","prettier":"^2.0.5","rfdc":"^1.1.4","ts-jest":"24.1.0","typescript":"^3.9.2","vue":"^3.0.0-beta.14"},"peerDependencies":{"vue":"^3.0.0-beta.14"},"gitHead":"bbf012bd33676c50da93b571fe00fb1e897769db","_id":"vue-condition-watcher@0.0.6","_nodeVersion":"12.16.2","_npmVersion":"6.14.4","dist":{"integrity":"sha512-sgpz/UnYqBsPfdbnao8O81U6aaqeJuaqFXDkPAGbQTTbIwrSYOY21E7XN9tLPinQjRUC4KOPCqxVjzDkUMH9bw==","shasum":"ea86e40aab0df1e9267580bd7408d1676a82548e","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-0.0.6.tgz","fileCount":17,"unpackedSize":20304,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJex2c1CRA9TVsSAnZWagAAYu0QAJvw/JtL1WvNTtElyoFr\nq+eAYLzSaBv04rKFekluIzOfhzplwv4lwRYJ/2FRcKy7FKJpPxK1DlGJkz85\nFmhEQLE/bP4RBq7O212xtX0mQGslBAXZVX+I5vS7STQnpzQZn1cD7YZTW9m2\n6l+VbkbjW9Arqr9L+YZKgiKAsG8rt/s/lhD2UO7BZ3twG+JusHj1mkZui+0I\nsjUJY3owGcAUrMeTvV/L02BgzFhPOF/mC45DFODxOrvmNY4mMbzXiD4V1aKO\nIQV3iNSe86aaMvyxynW/NWu0saXDZFD19ZjH81tqHyRzlzK4pkdVoTZDx+H6\nkNh/pTqnUKR06XCNl1sJxDt1E3CaHmTqmvXhFFCLh31mpr0jG7MortcwDDKM\n8sVYQZ134dU52o1F08qvX8uTldwT8EOd0Ro78h7uJ2wF/9kZSZn/S+PB99X1\nJkmtw7vzgq9LpGt8jewwLlug6rjgTz7TwOkAfVr4uytVPMkr+rNVQGICdr0b\nJj2DCQ+xTckR39lO4sQ45tpR4Xv8ZXxLsL4GzH/4WbSxKv07IvpGnpYmoRzu\nKux7GNi0fVQwHdEFQzK4BvJiTRYp4IVvOSyBDTlFWiOp5bDWcWSzoFwb7BkS\nD0ieJZUAu323vQcFwBbT8Pb+SUHIeZn+3Gpz/wybNAB2Z54h2dVnu9T0Dazi\ndYEq\r\n=6Aa+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEUoajO884B2EkZyQ+RF3VNuHeKFHkJw5Kgp1hylBvedAiBCI2cTXsvSAzQUQD3fENuQJw5rDfcuZsxirmBNAkyjpA=="}]},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_0.0.6_1590126389316_0.9384617498807313"},"_hasShrinkwrap":false},"0.0.7":{"name":"vue-condition-watcher","version":"0.0.7","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"devDependencies":{"@types/jest":"24.0.20","@types/node":"11.12.0","@types/rfdc":"^1.1.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"2.5.0","@typescript-eslint/parser":"2.5.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"24.9.0","lint-staged":"8.2.1","prettier":"^2.0.5","rfdc":"^1.1.4","ts-jest":"24.1.0","typescript":"^3.9.2","vue":"^3.0.0-beta.14","vue-router":"^4.0.0-alpha.12"},"peerDependencies":{"vue":"^3.0.0-beta.14"},"gitHead":"f437672f2bb72da3623b4d3bbd00f38a6bb9bb1b","_id":"vue-condition-watcher@0.0.7","_nodeVersion":"10.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-gG1UK1zBfdxn25cLAUtwagWCSc+7bZM2YmDnJaM1ir6PhisLI8p5YV9iQpquKiMlcd/BkDKulm4QSH18yJ4XiA==","shasum":"62910ea88064ea021edf4e0c156096e326a4ea3a","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-0.0.7.tgz","fileCount":20,"unpackedSize":35980,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeyV2mCRA9TVsSAnZWagAAIS8P/061IcjR/1dAF04fAFyM\nr1VVCdHBnr3j4aZeSzOj4q0uqXdY9BN08nzBxLVeFNwSyYCYLf6LYktG7vIS\nR68VOS/uF48qj8zqCWNcUBY3lV3pVXbHtfWk76RS4ausCE39u6SNg+h/up7x\n6kFHgUfq93TbYzv20uMsVm9hzuVVjNNWvRX9VJzzz1jZAD09PZ1Ejbo8V/i2\noLoEuXV4AnUrHjybRhAy5Zuk6QTYh2YNBtYr4dVeuQtSoNUrsCgA0J15Fk4Z\n6kcyEj0xxYSwqotm7a/eykvP0HCJGtlMP5bynuckOJBEO/dGXbfASBc2yt9B\nuXn/ON6o2FfOK0sV91vLRVpBbi03JTza8XltDNlmXILI3D9KwkU2WogC6FGD\nYdBgfKdYvthPz9MeCBX4n6B89Sd1Xv9UcSCxmy9YnCa43yrSJdC70hGTS7NR\nrfmfcxA5YatxQGpWYmXp2fcLl7JG1sOv2VvJB4zDdHwcAbo/naiveVJNJNyq\nraTK3UTTi3xcCcfpa+9ELerixJtKlGx0GFK+S/dvkAUnpJ4k1B7V9E9UlLec\nEhAJFkN0dcMvoL+Q/yaQHh1qti0RxWyih3ih13phNLEyqCS3VJ+vB5jEYzoL\nfGSCLfYkCk/3vmahPc+n8UksM3NlOBgXwOzwxfRsoqRoLVCOAab1H5YeRGOH\nDG9R\r\n=998K\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDnDq+JtwLA1IWuDnOtb170yy8Mje4bD6qDHrol/HW1VAIgYY4HkCYP21c0Boe6W7um6NQlqUL9PqHMvQqw6EaiQGI="}]},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_0.0.7_1590255014024_0.04813558988036304"},"_hasShrinkwrap":false},"0.0.8":{"name":"vue-condition-watcher","version":"0.0.8","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"dependencies":{"rfdc":"^1.1.4"},"devDependencies":{"@types/jest":"24.0.20","@types/node":"11.12.0","@types/rfdc":"^1.1.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"2.5.0","@typescript-eslint/parser":"2.5.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"24.9.0","lint-staged":"8.2.1","prettier":"^2.0.5","rfdc":"^1.1.4","ts-jest":"24.1.0","typescript":"^3.9.2","vue":"^3.0.0-beta.14","vue-router":"^4.0.0-alpha.12"},"peerDependencies":{"vue":"^3.0.0-beta.14"},"gitHead":"380a77b0004609bd94862efb950ac4b50fe98829","_id":"vue-condition-watcher@0.0.8","_nodeVersion":"12.16.2","_npmVersion":"6.14.4","dist":{"integrity":"sha512-PIE2bdAftqZPwj0lkSZZQOCYXiY/MaJEtGSpnPxM0H5VNoMr//3/lb4LhOKfADKzxma2OGZyoBvp3AOMrKxwPQ==","shasum":"b3a8d9ec0b6a33e3c6b8dbbff8539af501a2e1b7","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-0.0.8.tgz","fileCount":17,"unpackedSize":27161,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJey05pCRA9TVsSAnZWagAADJwP/ikjfUKn6lTg2G8Uq9o9\nqKjf+ToTLlIGqDNaf0f1ruJWy6t1Yc65pik/FN5pkZPwgaP3o4MBpV/w4Ku+\nO2WK1Sxi2A0o+yLlznYDG9EiPmEOa5f6BWZhWTPqFJVLLhSm2ObIXJAqG7kg\nrOpJQsKqpSut5sW6W2ryXq4+yscs1nX4p2lJ83QB8pPBvJGIyQIEjiqZYLYQ\n4H8telCgpp7/S8aQ+eh69VIP+8OQGiiPQwiIqruL0rxCLv94hndSCA61b2OM\nL/yPwMqTccUiufI1jaDZh14e4otEMDmCm60xj+fuvWwO2RKvaKAUVnxAI+jV\nMev7/SWstBfw1Qzdwrud3vjrQs7cMfPVV7Q+PulKJa4bLNaIIgXvJCOdR/vZ\n7dD6XW16krDMAVun1GQue4UKcax/99YBpHHk3LF8QjBkiUlelWNB4/l0f/Ub\nWOTAvoUC6kiQcnE3PE+cMmq8j7vCNbFZHH0C8rvWwas4XCjkEGsam1sytKsw\nM2tx5HJfkNWIr7MCY0LHNUJYnZqfJwfIIDMqaZi3oLtaXvRnoSt6xlbyDq5e\nQojN8dBhAldjW+8nrZ9lZc93XcRWhMFE97dMX7/c+lIMhuuh9F7JMFYXEanU\nS7JAGVhfqmaf9cO8qXpKzSvLG6vu/H3dGDiWJOmG3c2amPF/+9PLr70LxVbR\nVeNx\r\n=jkQX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDd/2UMt4uF8q2NuUbVYs1URWwLOBTy9wOhmgKpkP6UGwIhAIsjMLau4OiK9PBzte7h/WsYto22CfxTbJ0sOSupR9Bj"}]},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_0.0.8_1590382184745_0.8517084742343131"},"_hasShrinkwrap":false},"0.0.9":{"name":"vue-condition-watcher","version":"0.0.9","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"dependencies":{"rfdc":"^1.1.4"},"devDependencies":{"@types/jest":"24.0.20","@types/node":"11.12.0","@types/rfdc":"^1.1.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"2.5.0","@typescript-eslint/parser":"2.5.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"24.9.0","lint-staged":"8.2.1","prettier":"^2.0.5","rfdc":"^1.1.4","ts-jest":"24.1.0","typescript":"^3.9.2","vue":"^3.0.0-beta.15","vue-router":"^4.0.0-alpha.12"},"peerDependencies":{"vue":"^3.0.0-beta.15"},"gitHead":"8677705c93bdd166e1b3cb4ee87e46324f562b2b","_id":"vue-condition-watcher@0.0.9","_nodeVersion":"10.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-pJfskx4wo+/7hZKxTk5PfAYq1PTmTZIn+7il2wgawDz2NFB+WaCqwET+2KGBDvZXHEi9zNLouCRYgMGeLXIDnA==","shasum":"d96571a79858782c53753e8c271e4a00f8052678","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-0.0.9.tgz","fileCount":20,"unpackedSize":35332,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe5Fq4CRA9TVsSAnZWagAA6zMP/j0B/DmfEmGeC1ZFxVZH\nVQcJxeDXFak46VzhNlK7GNwkef0ovZTZLCKJoLnGiNK1S0ocvleft8ngXN/J\noyV4VTvg6Bxqgw0mXdJAWrltUFGPBr6wfdXvbywWkCE+vTYHb2L3/z4J3ao8\n3n0/3mBGz98b7bLlulLzEZT925ha53tGAOnVzXERNQE4Z73Q3Go/M7CoqEVl\nXFW7nDi/HxTSqUR98wHlXeR1K6Fx+T/e4nocFez62kbJ2DOs7BxEESPhzWiD\nZXh0Z52ChWPkT/54Fv/J4zp6q4C0Zd54OpY1B9dug0FZxO3qg2pKBm5m4x06\nr2fjUN/kBADOLnNqWKwltJ/2joIzzxjRnXaYVN2ct5vp7lSEUt4Oe8lvHfJB\n/UfGRWs32cEAtNmV6+o+Mflrwn4Szf7AnrTQjPnV+CHozslwRCh1+7yikUeg\nb810F+5mhSrvJosQ6vwL37CWpcT6YftgvcT885OFGmJTkqFT+twlsiT0NEaW\nxH3larCX//8Wfl2yClPvEshgH2LUZ8zz1YQ8xLw5k4HMi4ZZhfSZdpeGdEXG\ndvSmSMuRaD4YLSgN0VvBAhClPvmqbfwIDT6O2kTyfVXWKfWsyLH4gexjGpzB\n8zsFiTnybl3q1MdhfYDwqzHmYgkB8f408grCccLWfCO902xQnac5y64jBpeR\nFc84\r\n=1Wkb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCbI6PU4xPz/KGMucR1wvedd8Snr6KFceQlFNghyLuRXAIhANFljrxeMfDGo5TuujaqbCQAKPVe0AttcmoPgVZYFNbc"}]},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_0.0.9_1592023735900_0.4274606598416586"},"_hasShrinkwrap":false},"0.0.10":{"name":"vue-condition-watcher","version":"0.0.10","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"dependencies":{"rfdc":"^1.1.4"},"devDependencies":{"@types/jest":"24.0.20","@types/node":"11.12.0","@types/rfdc":"^1.1.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"2.5.0","@typescript-eslint/parser":"2.5.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"24.9.0","lint-staged":"8.2.1","prettier":"^2.0.5","rfdc":"^1.1.4","ts-jest":"24.1.0","typescript":"^3.9.2","vue":"^3.0.0-beta.16","vue-router":"^4.0.0-alpha.13"},"peerDependencies":{"vue":"^3.0.0-beta.16"},"gitHead":"931476f32f60e24f59039ecab11da1dfad287238","_id":"vue-condition-watcher@0.0.10","_nodeVersion":"12.16.2","_npmVersion":"6.14.4","dist":{"integrity":"sha512-MDry6/bZb3+FYXJQcDi+thSwhNb+A7/PzDjlseBZSc77PV+Se5eULy3rzStU8bjVUVufe4VpwNEEKGvTHiI5+w==","shasum":"6c064969c7c382ee234085f1c32f01c56c8f0a9d","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-0.0.10.tgz","fileCount":17,"unpackedSize":27715,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe+tCBCRA9TVsSAnZWagAAIzgP/3nl86g5sW1TZvuTWwKD\nflYw3xp2OGEZ/xK4Jh4t7HmLwtOwhV4xiKJDsdR0BKtERm9ALKTmRoVDKxMl\nFmlgsmpoz1ybw10Ac1E4rjhd00dVZ6W49hKufLTf5zsSk09lrmgQUFrGYb3D\nlOo9qRjMdZutkcEEab27oaRnSgxz/q86taAREy+UM0w90K6zgWqeft4srFyR\nif6XA76zwnOY+cd/ohzNfssbn1EYKTyWTDeAtA495S1NTYqaTjRs27CiOUok\n8fXUrRGPnCjskvUhtgP8o+RnqWgqLmxkgZnIAAFERBRWg0GbQdJAXKf3iPYu\nKA1P2yq/x94CMo59e3HqP2QCl/oWIgtm2j5FqrQohjMQtz4NrL4NVTYREW3K\nCnsKlpa26SogBC7VPr2VDVEmEW2d5+f8ewPabxu/rdHtDKzsxe2/CCAliIHU\nPFsPwucwLQiWYlNUdPvTtkWWslhpRGWUcY09pX9YAtnDJschD61UrpeVxHd7\n58TOb37drAP325vYLlyYo1D/eLZ+zkeYqrOguemjCZvsvQeLgmpTDlu0VjaL\nJOpjsiExyvt4rKz9nQmmL/ReB5aGWrjq2rKTe6pZ4qKPyfcLnemD7ylpM/bQ\nhkHc5P3s1YDDL+k2tuIDZ37Z/FYEvklAZw/ff2TVB6NLy4YHFsBS5m45ltk2\nRXgv\r\n=a5Tz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDzFKFsuP6iAFasZqxVmEa04nmohpECutJ5dGV2e9k5/QIhAMRLOF03XQJG3kBB+WJohXI3wHQ/5hxuflmzjBZ5/DO/"}]},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_0.0.10_1593495680734_0.08255533940537929"},"_hasShrinkwrap":false},"0.0.11":{"name":"vue-condition-watcher","version":"0.0.11","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"dependencies":{"vue-demi":"^0.1.3","rfdc":"^1.1.4"},"devDependencies":{"@types/jest":"24.0.20","@types/node":"11.12.0","@types/rfdc":"^1.1.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"2.5.0","@typescript-eslint/parser":"2.5.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"24.9.0","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"24.1.0","typescript":"^3.9.2","vue":"^3.0.0-beta.18","vue-router":"^4.0.0-alpha.13"},"peerDependencies":{"vue":"^3.0.0-beta.18"},"gitHead":"9bdca2591dfc0b0b520c4b397dd36f2b99c07fbf","_id":"vue-condition-watcher@0.0.11","_nodeVersion":"12.16.2","_npmVersion":"6.14.4","dist":{"integrity":"sha512-4ds5a8lFqSIJFAHKbGD0O+JuZkk2sFN4WRCljwYqvOV7eko9wpIrTO5IzypQzvPHtwO6rqaNpw9lz8uV2wGvOw==","shasum":"8157610d535027e90376e2d202ed8568d1d842cb","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-0.0.11.tgz","fileCount":17,"unpackedSize":27979,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/va3CRA9TVsSAnZWagAArGQP/AzubFtymjh1fRvreGsg\nwMe/tAKKT85iubZKF/vQBSz6LuVJ8bB1WOtr1gw0R6lL5eqX6G+i/TvY/gwQ\nx/sggtRMTOu62C1vPwgz99pO55OWqvGocAX+oV+cOQT8+3ws+f1x99DRrpDr\nBrLTOq/qtwDyGVBOaezxcvRwMIG734dri1IByPziCZ9kucI+wTs7RwUfocaQ\nC1adBb0WFQfVaWJw2oc/PoGo2dTRhZk0aVujKwHfCfC30iqgKUdzwelhZ+oI\nrxNUxkyZMIy1ZmdDWNKqxh15xhJg1wjD/FlyaNBlL0sLoaxbtCCKe42aTuNM\nIyutkYeT5E1A1wDl6YjCS8P/XOdivHybQFoZ9N4m7rr9RqHE8akFF+9hwyo/\ndzohdXF0C2Uq7kQXPHrw+P6cmFN4JkxHCIfN9iJcoNp+/jFcYQHVjEDwVCen\njZTEuUFOFRoiaeNynJDdukfoSMG74Rh/7p/xy1y4s+xsfUPTbjw2lluiZANl\nJja5vjFInKZtIj99+tUJUbDkAGqlw+XoTKeg+TijyemZdMqnQqZKuhNjTk0l\nCU1ObXNXgZgsS6y5y5o0ThLjnwsdb52a7lfCYHdVMiIXg9r744Veh330KtU7\nZ8tvAECTz9CxfA+j/zQVpjmzLsO4FPh+ycuynwk0AqfaJj6JfGQ2gwQdri9e\nJ6tL\r\n=4oVT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCmKcnAuf6zwsPhN9h6bxLlzoYiC6vJECTh3zbuyMdooQIgJlnmYs/iFtV7AxLgC/zUv7XBaQ+3eEfOtYay28F0Wf4="}]},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_0.0.11_1593767607237_0.6714961949863714"},"_hasShrinkwrap":false},"0.1.0":{"name":"vue-condition-watcher","version":"0.1.0","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"dependencies":{"vue-demi":"^0.1.3"},"devDependencies":{"@types/jest":"24.0.20","@types/node":"11.12.0","@types/rfdc":"^1.1.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"2.5.0","@typescript-eslint/parser":"2.5.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"24.9.0","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"24.1.0","typescript":"^3.9.2","vue":"^3.0.0-beta.18","vue-router":"^4.0.0-beta.1","rfdc":"^1.1.4"},"peerDependencies":{"vue":"^3.0.0-beta.18"},"gitHead":"9f09f9badafcdfa70f86fca1cbdb636c36e6668a","_id":"vue-condition-watcher@0.1.0","_nodeVersion":"10.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-W72DAL7Q52Dor6PgEzo6q853aI6HBn0Ak0qP52k30EdBtH3X+6pMdPlCCMqtsmrRZd9PG6SJg4NHaxJIc+sP/Q==","shasum":"88843bdaf77c80db6bb3946854279fdec24bded7","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-0.1.0.tgz","fileCount":29,"unpackedSize":44246,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfAF06CRA9TVsSAnZWagAA7akP/29eKS3yRVMItXMHHfvt\nh2HmRzBxEiuI1ls2nvG/hK6EWyQyf5V49UayIdFjVgDlOooGzVH8472F4CuT\nwy89Huhs/eX/nwHzkjUSRulULuFJsvhw69oTAvx8R1vkjfpwJ61Pj+ubPuot\nmYk2rMeVAC4y1drQBpjDhtpAq74wHYiaVRKpzQVrY7KHqBgdsm5513NL5WVK\nE3Oe97Q4JhotzZiMZP6f42ewDh8/IBD9eNx5ZhwjmtZMToaPn9Vxc1eniW6e\n/+HpBxE+UB5FrXz3PsO+ultsjGffBYWJ4YdQdfRpoAZNQ03qmn/oyuAq/z4c\naMmvxa0AX010OTw13jJyylOk3HrfYXGdErOr3CM1qp5cGOy9MMab0r70nRlM\n/xnwfnitlmnTl0WFwyYAXt39YifeQLJu90fvOrKv29Ji478zZoQAoBXG4Sbs\nWaSi0zzPSZ6mLxwaD1BwqEjQrZnW04NPc7neDPCQZtGuajDkG2wSc9tbW1sV\nLT14KQsi9ohT6cs3Dzn2etHXM36zh8MVr0tZ8tsp91BM8lGEhnYMnx+H1nX/\ntD1eb0ETLw9RugZL4JH6V/PUiitxkV2Quz6z8Xhdwxs7MsOtoUt0tpY7OD8R\nsMtFZKxhGjBq3ExzYpAOCEnrbCPTnNSMYu5dUhuJTGOe9LBYYmLXnZpvTlnu\nSEF2\r\n=i7mK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCSrcS1G5HJVc4Lrp6rWaVZi1WSKLUC15TQPPTXkR1sBgIgJcJPwJCOT32UaXSo/hQtAxvV/6yXs3pA/2v6UMzxa1k="}]},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_0.1.0_1593859385979_0.5637135614348698"},"_hasShrinkwrap":false},"0.1.1":{"name":"vue-condition-watcher","version":"0.1.1","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"dependencies":{"vue-demi":"latest","rfdc":"^1.1.4"},"devDependencies":{"@types/jest":"24.0.20","@types/node":"11.12.0","@types/rfdc":"^1.1.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"2.5.0","@typescript-eslint/parser":"2.5.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"24.9.0","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"24.1.0","typescript":"^3.9.2","vue":"^3.0.0-beta.18","vue-router":"^4.0.0-beta.1"},"peerDependencies":{"vue":"^3.0.0-beta.18"},"gitHead":"7d390669dcabb002ded62fb320fb4095cdbc4b96","_id":"vue-condition-watcher@0.1.1","_nodeVersion":"10.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-w1SjOBJ1MhVByVCF62QSbyVU9OkV7vZBpJqvD5lXAEWtwIFFrxNRQ+QoHkq4MHrjue4uu61UjcrVi5XiPjYw1A==","shasum":"fb4f1f8a2784fa7e52b9b5f66f740f11bfe9716c","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-0.1.1.tgz","fileCount":29,"unpackedSize":44409,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfAMtnCRA9TVsSAnZWagAAV2cP/0UAXugv49mwbMTKY9jC\n0WwbSkse7CRLyoRlBHnyXQe+BH5gzK2Cpu5k9aG3F5zyXTPKv4OHpDOpc6+Z\nTs0OV5k6baAjpjW834vGBaIABAqX+o/Czq8/Cuij2HODyhnSIQedtJ7Bx9lL\nKd59wmcov6vevkHO+s3Gzc9b32C5C4fEZFN024s44wPUcDkp12841xZtetdk\nlZNujf2BI+cVNWWJBxGKvZu9nlI71sYUddKt6vlIy6GYyIjKdTdgVBx7cvIY\nA9sr/UpNoWbCF3triXNqOLRV3CMSkk//vxa4k1oRzeWHzmyPC9ziMmE1SYGa\nE4Sq/Fv+9UBg+p3BdzM5FY5i2LZgNmLjNH0COvjhn1fizt1X138LSQqQmqW0\nP2GgZe0y7yI7oWlOVMmj0/HUzK/mV7sx1w96xods+xkFw+dWfWBceCIqZgsr\nUhHnJLq5v52SbqKv6AlNkp482IZ7dOtbwCPqtss168CryqhKFNjzdlogFuBT\nV3JFK0SevQHJbSUfShSHz5r3HQqJXutXlKwnoUsXZ+gft6UcIMXoRH4+H+Qo\n8O8f67yhy9gf2kdmZFeyvU88BDTbo1mPIKVXc0kDYUovY+ln0E40cizthq5G\ndKwn82+1JED42YTrs8gpMp5DArNVpz5QtyXfAfqj4B2hZqLC7iZaM50KzTcx\nhIpJ\r\n=oinc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDPN4mXDJ7Xoo3/q1Un+NDP3vgL3iRsp+etQRfaz6ZoEwIhAMRRs2fT02gZavZc7VBr/D/CUgw+A1VvDJnsf2SjuqRr"}]},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_0.1.1_1593887590638_0.43485480117819053"},"_hasShrinkwrap":false},"0.1.2":{"name":"vue-condition-watcher","version":"0.1.2","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"dependencies":{"vue-demi":"latest","rfdc":"^1.1.4"},"devDependencies":{"@types/jest":"24.0.20","@types/node":"11.12.0","@types/rfdc":"^1.1.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"2.5.0","@typescript-eslint/parser":"2.5.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"24.9.0","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"24.1.0","typescript":"^3.9.2","vue":"^3.0.0-beta.18","vue-router":"^4.0.0-beta.1"},"peerDependencies":{"vue":"^3.0.0-beta.18"},"gitHead":"c20dfa4ac04258f6f607d181dd1d015c33c87f0d","_id":"vue-condition-watcher@0.1.2","_nodeVersion":"10.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-XN84Ne1vbOIfX/YRPFR3c4eXaItG7nlxGz+FuuGGTQTMyPSd4XQHGPH3oQUuxslBEegRn1LbZQ5UmpeITGczxA==","shasum":"0d1eecb87d348a504ab1475238f2a2c54ebd4dde","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-0.1.2.tgz","fileCount":29,"unpackedSize":46468,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfAON3CRA9TVsSAnZWagAA5FsQAILGuwqbxNaZg2N/Xtd8\nrQ+og7iWYSFYPLDNI9rlS1wRThQP9kfUcJdGnxVl+lDCG8Z6cCR2FzRripmr\n4ovBZrial+X5YLBU1WFkvVta5jFJPct4C5y/a2MkVF/vcgx6V1zz1ABNLd01\nUTzHXj1U2jNWa+tD9gm1+ESyWliFvvtLAdbcwEASsPbeRSBIHjzU1H67N/4R\nGQSEVy7XkU+pLAsJkYUIbkZOwipx2JHpGMm05JVY/OgKjHFZGdIu3OjLIPkf\nyjcYa5pC3WQtMHde3IJ18dBtuwREhFEvZ1+ZjpRuzB9fOsyloxvOcSbyKtIW\nw2yL+XFRhO+mAPnO6hJ8bf70mbd7sdpiV8dyqCadh5+j62Y+iHZqsDLcKSmo\n6E4/5wnCW2NGGkQiE5buAFD0G8rBctiPQtUxPFGtAKnvDqgKD469VWcQz7+e\n4fgsBVPM6FmANrVIOXnqrymgqBykxgLyeouG7mdWjm2Mi6iBQKzxhYOsIzWy\naoQP2QTc89pR1SIGse3ahYi/3xRl/2Fw10WkM4T3NjXawbRxpinvIM2mP6xD\nH3SGnpg7DmofYWnDFcO8u79C2X9Kj1THXwQMkoVx6hnx4sh8AL2rPWH1gpf/\nfu/TVTYzas62szuUdks2LYw2aLEtkbYums/s/QzzpPWWY3PxftKJCYaMVn18\njmqY\r\n=d4m5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBAfvtk/eqKpWoRXet8ajg0os7slvRluHJNht5uvjwLnAiEAtr7rrcbw8czrgX2X7kdj9PnoVq+T4ZUntmJusBvaLIk="}]},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_0.1.2_1593893751419_0.016267862969223"},"_hasShrinkwrap":false},"0.1.3":{"name":"vue-condition-watcher","version":"0.1.3","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"yarn format && jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"dependencies":{"vue-demi":"latest"},"devDependencies":{"@types/jest":"24.0.20","@types/node":"11.12.0","@types/rfdc":"^1.1.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"2.5.0","@typescript-eslint/parser":"2.5.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"24.9.0","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"24.1.0","typescript":"^3.9.2","vue":"^3.0.0-beta.18","vue-router":"^4.0.0-beta.1"},"peerDependencies":{"vue":"^3.0.0-beta.18"},"gitHead":"9a3ac3b9aab564711ebcdeb436996afc14be5afd","_id":"vue-condition-watcher@0.1.3","_nodeVersion":"10.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-zJqXlu2xbznn4liAtcVQdO09fqOyBD64pFcsVRzQmz0IuBCFRFMSQbR60k00siFtyWpNseSo96pO2zk4HD0UVA==","shasum":"0dfac7e341bd1c1f2bb37e57447421378feba278","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-0.1.3.tgz","fileCount":29,"unpackedSize":45855,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfAXPwCRA9TVsSAnZWagAA9/wP/3o7DgraHDwVhzpN6TJf\nx258zMvn0T2ktwdEHC49Vzl+4kX1fnpVcyzuJdzuHiv0A45GQxqbwQqPkQwe\nSXsNuKKtnF9N/EVcnl++r9i98dSBtEedCPLUZ1IXmd048EQEN9rPg7Yehwu1\nCIzxNzgbKqhwpzVoqtcxDKAE9DSbpe2PPED0IMP5mnGMajRQ+XIbrNuyQuWw\nCpOsFfjnmn1yi/UCclIm3zm6QfryMe9yRh2fa4fHVI6jt1LdNHYGAtyeeGb/\n0Itb3u/cbWK78W1TTpUkelFRQ9TZRLotl31BRLcT9/NR2gAsurTRGKtzydF4\nYpcUrQyGXODkqxxQIm3AuV7EWzDgVG7ZDuLhAUKmhgNMv96ZYjZFB5buzuiJ\nGlcTeEMWReu60tHFzLBubl661wuE7br3ATMKByVUl1T+u3FJj2CbaNl1jyi/\newFKKqqsflfxMaj0HtPTSZqW/Hwzv/B/wzWbV7wESuE/Ft5dPzDUXtqnMvFh\nqGNYu7yNZ0e0247l1sFsIB7m77zu4/OcYizduzxuS8L/OlHwIZ00W36U7zqU\nzl+111veNFU3DnOVFljdOu8DVwmuAEUY7aCmG1wKnHrlJhKMR28BCNoEL6s6\nWpTYi1CMfhtMTjH9YxYcL1GYMIqAsiqZSRUOOKodmpsrh/UAD1qpS5JKYwvJ\njFi+\r\n=lQQ9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC/IZMSTBvPD0g1xND7QR+87Ia7c0wv8CRJhU9zlvrUXgIgC422RdClSFnIsmPay30+xGA/6lSWJXpZlzOls7Ye81k="}]},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_0.1.3_1593930736420_0.237262669484833"},"_hasShrinkwrap":false},"0.1.4":{"name":"vue-condition-watcher","version":"0.1.4","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"yarn format && jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"dependencies":{"vue-demi":"latest"},"devDependencies":{"@types/jest":"24.0.20","@types/node":"11.12.0","@types/rfdc":"^1.1.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"2.5.0","@typescript-eslint/parser":"2.5.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"24.9.0","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"24.1.0","typescript":"^3.9.2","vue":"^3.0.0-beta.18","vue-router":"^4.0.0-beta.1"},"peerDependencies":{"vue":"^3.0.0-beta.18"},"gitHead":"7895db1128c539b5307dd723c955ed94ac07b1cc","_id":"vue-condition-watcher@0.1.4","_nodeVersion":"10.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-oOrq3i7JiSjbPLcxK+M/Jw/Y4iUQSATLo+Fv1o2NW8uS8zzpBYrUrg0O0Sm1vkr7qSCNOpRZTuFdvq+KQ5sU0w==","shasum":"b15b6a2dbfa037651548d596bcb6f9d2296a8fee","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-0.1.4.tgz","fileCount":29,"unpackedSize":46754,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfAZ/cCRA9TVsSAnZWagAAHkEP/03LpxLDumN6SmF4sLcd\nOFsQI/MctUO+1CWSd1HyjBKQ2ow8JKK+qKBC/HsT9NVjnlM4iD/cH7yS0t2U\nf9rhhJbSMfAyhadzQbj9fPiig0vWnjLMOzBuTRwF8O0wBR0j/jJ0ffOcuDbT\nY4uHrM9mxpPAMzqm2OerzxXYWVubet2tJJWiN8E1eOU0M2unj57cQLUuWyTP\n/p8LPYubi/gejg2F6s3LjIchNFd2o3r5lCsLWgyNQck2CnG8ce28oHQ8YPKl\nV6n/cXjEGVsFYuHNI4RjD0oPGjaF4S1t0GnKMzV6FZEt4XLlXbeBF9F59g6r\n8bwTWW+gVRw4nq6DjV/BTC169lLqPb9G3Oma2wQdW9xvtjZQqnhPezJuw0Cf\nJz/bGvBvudjmsytw87b8ELzd5lyxf7IUIqgL6s42kOxuil32RlPx/pvUeu1H\nmx5kdnVSa1iXuT8cBTYWCtz/FnVBTTqRSYHZiT8404kvaRrJemvg/QN0lDF4\nbF2Uv3yTMcCX6OWknQQJBodLwCfQvQTSntpIw2UbI8f0pfqYr94OBKlJmUZF\nYnfr7eG/SKzwlB4NBPR7TQflUjl1XsGduFV44vF1fbvm7QwlHIyvqJM23UuY\nM+MLKJSmwo7DEFoR0pTGWZJw6vm/1fhicBlzx+3Rlx6o02utqOdNhE3F9dub\nj7bX\r\n=uTr2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICNGOVYkWXiB/csL0aUkgBu++XVBJSfq4c5Drk9Iva7LAiEA8tKEK2YPacqaIjgbX5SFGjj7PcyH/hXAgsLm1EYnSMw="}]},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_0.1.4_1593941980139_0.9016296508188602"},"_hasShrinkwrap":false},"0.1.5":{"name":"vue-condition-watcher","version":"0.1.5","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"yarn format && jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"dependencies":{"vue-demi":"latest"},"devDependencies":{"@types/jest":"24.0.20","@types/node":"11.12.0","@types/rfdc":"^1.1.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"2.5.0","@typescript-eslint/parser":"2.5.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"24.9.0","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"24.1.0","typescript":"^3.9.2","vue":"^3.0.0-rc.5","vue-router":"^4.0.0-beta.5"},"gitHead":"81a0fe0bec88d706265b0776d69d40871c9f76db","_id":"vue-condition-watcher@0.1.5","_nodeVersion":"12.16.2","_npmVersion":"6.14.4","dist":{"integrity":"sha512-xDYD9musd5+cqEayezFJnLTNnD+0jHRM+7N/a2mQb14p27C3X7P+mxFuiUsypN3yqHs/fh0JtaxL8agvL12/hg==","shasum":"3b396476e2f9e1b07f8912ecd91b020275d2db31","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-0.1.5.tgz","fileCount":23,"unpackedSize":37392,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKMnVCRA9TVsSAnZWagAAKMMP/RadNctx5xhEBi3Dnoia\nyhBqlwa2vpl182lQ6H6pQndbT3Ceizf+KoXs/sALBPqifj+bFT0zli5St8LI\naGln4KOl3ab0Lq8M4XfQZKKJZUWEzGW+OWiS6HmQsV50kdHjk6eozTKgNe7p\nRRU+1XixhqAqj3XqvmefMBr2Q/qklfuIrVK9zHs5i2Wgclg0mONLSPmF425r\njGltXfSxrye2TDy23j3eWya6RtCtUXBrWuqjeiCX0oXq3QsKBWbSg4vIcgqf\n/EUC7APFiqzPKCY6iTVNLONH56vgYpbgtS4micgPKhJrnmVvzHuYM7bFhafx\nld29hNpu3zJ9/lwRzvv8TLJtyE5eSErVQhSXByO1UPY4Q39SDN7OHqLURRyY\n3HwkJ0MaxEUVvgcf4yDEPynzvwtSB8IZX81YOsX8Agzgw/yLjvf5tdUX9Unr\nK3KtMXJVzZswsKF7bfXVnCLGJzpwUlFOSf7bV2sNogBsUVOz0uAskDXfJ8JU\nvO5fPbjMax+aMDgAVyxd48A9TWc969y07ZVrRQSxoi5e9GxatUneI7pMMpuK\nKjBKf6txLr+/DEDg5BwbJNEcVmr0PgZWRevKJeRpewkLCpk87uCbUGoCJObx\nMdMSC8j3YNDlU7yVLUN84IjIUlg0HZHq5GLJgDRjiwKTTiWjYwl4VPO6WrYe\nxvMN\r\n=j2uI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBTS1an6P9DRV/tRfzcmoAY8MBIV0YBTBtO3flcAnVJUAiEAqGUI3KqMrh1py2niF8LIShi2YfnBwp8BBQnqluy4n98="}]},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_0.1.5_1596508628845_0.8061139671879092"},"_hasShrinkwrap":false},"0.1.6":{"name":"vue-condition-watcher","version":"0.1.6","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"yarn format && jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"dependencies":{"vue-demi":"latest"},"devDependencies":{"@types/jest":"24.0.20","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"2.5.0","@typescript-eslint/parser":"2.5.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"24.9.0","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"24.1.0","typescript":"^3.9.2","vue":"^3.0.0-rc.5","vue-router":"^4.0.0-beta.5"},"gitHead":"81a0fe0bec88d706265b0776d69d40871c9f76db","_id":"vue-condition-watcher@0.1.6","_nodeVersion":"12.16.2","_npmVersion":"6.14.4","dist":{"integrity":"sha512-ZP6c04NswPEKopYqROWcQI2OqoiCBEAeNGuFjKdEABZgmTVse41bFO+KAxSER/c0UI2Z8EfgtU7+Hf8TlTkmKw==","shasum":"6d427ba1e212af3ef79cf67aee841754f8927c32","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-0.1.6.tgz","fileCount":23,"unpackedSize":38543,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKMvzCRA9TVsSAnZWagAAkosP/icD9y/WsjDUXDiAdS6a\n0EKsNhF9rmZj0ggVG6VqpLYVWiYyRyPe6q6G6N+qbnzNS8aNADfNiMzr13W+\nwkjfPW51rbQAGXRWzttIigNfeoK5TZJ8KGIQ/G0FwxdP7tvByKHcfkLh53ee\ntgCaJmvR/9An1YHTVVAzIt2/Vjbb/i/N5rOJnito09V5eoBY/RQl04eOPh/P\nvggdNjlYyczAtLfUASIietSSOgt+MR1YzV5TopNiqepqHKSRLfnsKJuUrgjq\n8ViSsBxZQ78up86Y5rPMP8849V/avukoOUjsIa1ehdIbLXtE4NxCB63co9gc\ntnGcFzKa+W9qx7ybAL3YHSSBPbeLosBp4xrgMnNNgH9NA37KpXBuluk2Kq01\nHtISKcIJQ241GDbyVMbINfWhcISTUjg0pr3p22ZjHz0CHw5NI+wPYNVTdN9C\nfORMnYmKD5pYwyuL6ylybywx+GCrX7kxYIhlOpZGgCxxHMfcwCCkjKngYYMk\nHYY2Ffau0mOqRMWHLz3J4k7//7qA837THgU2ZB555F8GJfJ2BGXaxTIyTqK4\nPyrMsvQ30O+wft6MIpSeqi4puzAf2f88XhYVk3NbEVzE4lPmxLbTgYDshBkh\naW/SgY3xY8jHVag1hSLcRPf81znRsooCsWJ2giyKLTCgzTuL4FAkveJ1sI1Z\nXpUs\r\n=hp3b\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHbpDvsu3792gO2u1b5UnQWL71sVovZn1mQds8LACU3kAiBLhwaZh9BDicUZf184pmJDyexOYPNKIb2+dMU0W16wRQ=="}]},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_0.1.6_1596509170852_0.408483694010884"},"_hasShrinkwrap":false},"0.1.7":{"name":"vue-condition-watcher","version":"0.1.7","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"yarn format && jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"dependencies":{"vue-demi":"latest"},"devDependencies":{"@types/jest":"24.0.20","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"2.5.0","@typescript-eslint/parser":"2.5.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"24.9.0","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"24.1.0","typescript":"^3.9.2","vue":"^3.0.2","vue-router":"^4.0.0-rc.2"},"gitHead":"6319be1a49c077dccc2e7b490a78d059b1ca638d","_id":"vue-condition-watcher@0.1.7","_nodeVersion":"14.15.4","_npmVersion":"6.14.6","dist":{"integrity":"sha512-9mHwl4zWIHNDGR7Zf4ZYAre3jYVFiC2Hbv53CMmErRHMDbSd+VPzctIlaIsqao3TkJ8yJ5vQkvLlKXEgoGcy4w==","shasum":"ab6e3cb5bc59024c74107133dcad132df8ac94a6","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-0.1.7.tgz","fileCount":23,"unpackedSize":38742,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLH9oCRA9TVsSAnZWagAAKpkP/2KKr3XhB1Lh7sAzTJ9q\nHa4QebNiPA1ssUX0CKs6siGz61wdzHa/wvP5d5D1JCSy1JlW+6cmDeKzT8Jk\n6u6KisknrMLVZHxR6ygGjQ/TW+AagaUQbc8tFEzLHDf6owJcbIIuLVpR+np6\n2rCxhwYvMkkpAFxuBDf3MNHHxdiMWGuLGCDNwNV3+zSMJ4W1gHwItaj3LfHz\nDXkuYtTaxBim4BMod+KUESnEyLfvCU1GB3k2iS7xRUiQt9K8QXJKzXB3epyG\nERoTqbLNfpp1K6AXRYN0npiKkwwp1JPiIXUCactMCHi/bcXrtYknJEZ0Nub0\nlNCtrMraX7e4G7H8eklJoUNOMcaA8apKgAktt4qHxOrthuLK16TBxVRHvg8d\nWOvsgmAUGbpp+xBsFeH6BPNS30dadi1xdbzPa3Oz5iUNSeW1r9I2oCu1EMjN\nxbcYPx6K+04Cq+o2fDUGk6xYtCSR9cyuU2bdc4+0Zh0pgVlvZVnuX4V/Kfb8\nSJMyHcs+BwOh+TtEe6UyxnApR8mlERSPgtWHPMOSK10jKnBsDF3bS+QbB1ul\n77YVCur0qbQjEQCv0cKCwI0heyKtfd+Igmub3TlqMQ7s5bUGrqm+FsiQSmkv\nr7gE4pEZp8fCHs5zy0t+86MBVyM39bgT+XdzXnuu2eKRtXYE4CzCm/IV6BVg\npiqs\r\n=N7e2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDwIlwHlMeTAHp1aQaFPxOgi27XfpRnEWq2gz/b4CrXAwIgP+oNEcE8gF/U7/TpcxyUJ8NLkety56KqftFy6C/R0AA="}]},"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_0.1.7_1613528935946_0.3938612928160934"},"_hasShrinkwrap":false},"0.1.8":{"name":"vue-condition-watcher","version":"0.1.8","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"yarn format && jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"dependencies":{"vue-demi":"latest"},"devDependencies":{"@types/jest":"24.0.20","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"2.5.0","@typescript-eslint/parser":"2.5.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"24.9.0","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"24.1.0","typescript":"^3.9.2","vue":"^3.0.2","vue-router":"^4.0.0-rc.2"},"gitHead":"c103cbc8157b8d3835ddef94403c6136bc17fa0b","_id":"vue-condition-watcher@0.1.8","_nodeVersion":"10.16.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-dO4/yaxXicWpk1qZXvjJskglrt25qt/vQqFGKy7cXFjdtEpKMnLF7SFYD9OcacVDTt20SgxM+ZJuzxC04WKPPg==","shasum":"f5b6b412e1ff1192b4f0191ccaede98039f378b2","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-0.1.8.tgz","fileCount":23,"unpackedSize":39003,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLLkZCRA9TVsSAnZWagAAAwMQAIDzQYoXa0bS+kxKezE7\na4XPvT0zVxHHJd3N5tdkLxCXOz/UQlFxtVUuuJkoAbNvu0Or8/js16BZSySi\niDtx/hdFupO5keWlYSJ+HPvdliSPeKzZ0/9sqe19zpkMqMqOsZOBKv6E2bB/\n5KupX1LefriVFEZwWW9Hcuo8aClvou54uV+wHTLLdBoOMpswtOoAM1O4aKBH\nInmI7u68M5KKt7D4Pic7PHaoKD60Sb5Hsvkr7T9SGg1qGjhFN3LtNjn3Ghag\nQmI+zHSYOdstkOpZpArMMhF0aEd1ZVoE75aAMmVZg7UytwMOa67ASNCmqsFS\niareTuBzCJYQnn1mlILgjOqNafyfg3JWNfzbv2hGaLQ1GK9mPFCo4AhOeVeL\nZgLRTUdslNjHOrMIWExBlbmI4hE2in4l1pU1w2u1znFFd00FQnVsgNYYiqYG\nMCWeZB2fp7sllFRsPjfe+J/zWiZc12rbHe4uJAhZDdAVfbZYFJ7GsQppP/MG\nF8Jc2jP10xKaMb6Z8B52YLuWgs2sjEctanaIdzZMnwHRYY9yvoMvE3ajWNdH\nGicKYHIqAxfMDjMQLLzEqXluFxLI9kgPgTmel7vvfyMvANC1TEXoIB8g8sB2\nC2iksGqeJQjB1n65rFwsFWVYTobUMpv+W62Kd+tkkD+Nga2648WFcBKoJuwQ\nHshM\r\n=mCHb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFMKanxWn2A3tqgImyPHM0jAldwI4U3na3JKDESuPRFTAiEAxfwH5/ZVuld+yxpswY8kAuEqSeoMmYn65KHwO7D96Tg="}]},"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_0.1.8_1613543705140_0.8728397914205177"},"_hasShrinkwrap":false},"0.1.9":{"name":"vue-condition-watcher","version":"0.1.9","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"yarn format && jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"dependencies":{"vue-demi":"latest"},"devDependencies":{"@types/jest":"24.0.20","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"2.5.0","@typescript-eslint/parser":"2.5.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"24.9.0","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"24.1.0","typescript":"^3.9.2","vue":"^3.0.2","vue-router":"^4.0.0-rc.2"},"gitHead":"5ffcd4bc955a6f80a06c39ecc85a0a13bf9d4288","_id":"vue-condition-watcher@0.1.9","_nodeVersion":"14.15.4","_npmVersion":"6.14.6","dist":{"integrity":"sha512-LXvvP3Jo4fGnGAZbmc3Wz2dKkVy8FyE2WJe5o2PfKdInSU5xTuCa4CmGnu3bjEYdEX/Vtjcz88SZSqtDOMPp7w==","shasum":"95d2edd70cc7505b88fa159cb95a608e7fe74977","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-0.1.9.tgz","fileCount":23,"unpackedSize":39559,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXbOlCRA9TVsSAnZWagAAZ/QP/3L1lYdca4FwkTQf4eEW\nbw+WK8BoCwx6Un3O2uM7EGEdE0zP2iR/up0dvZ7/5dSGPZEPNjLsi5T6M94H\nAoZe2Gyu7dwRtFZ4fovsWNKhOo5VyTWPoK3AVvyBfFvu01sEuFfkaEJmL/op\nHuCNpM8Bds0S1whwrAWHPi1EyfRyp79LkFg5XUn/EjpSoRR7TTq8Aty8KVR9\nWuC7bmBbuJjCFLFBJe0WS7An6LX70Vw10SVK1l4DyQNbnkHZij58tZRLpcgk\nPFViFQx0YV2kgrDAMt4EwMR8HCQotC34lV/c0pT0zB4A/CvqV2O8zMoRWsav\nRkUoTQHSrSXmqzjjHfVlC4IxxhOP/hEJk8ckptlc2lVNAmCcakPSPI/iA0Em\n5YcDw19EklbWsBzxLx3MSD/9LMZjcfzOvRNFD8ieJElgGD/ej7/S/1OX0AaN\nE746U3ynXqbHkVmAh+hwpNa2/QiWVcBnQ+2U62VY0zZGiRSo2p75Zc+jI45b\niC1sSXL9aSJ48W32GY/nK5xTX+wWnVc2vIPNuiIp8rBkCnVqVnmUc9vtTWhb\nWmo9bUZaVSz+G6mAXBHGRXlYNbrhtexd0s8du4W2IehQwMJbnNc2OXuOEPt7\nvkwmElK0jyCsHMn7CefoV7Ecwc8BnobEJCK0PyFE3/KZQzlQdbrHvW6ti+lm\n2pGf\r\n=HOiN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAq+/MES9yDwhu/PBxLHas/TDqs40efSWeh6kD03zsmcAiApK4T6jRiSsvIKBaV7d++D2xBaoKRYiFgcdBsi+3KFYA=="}]},"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_0.1.9_1616753572627_0.21749457370217096"},"_hasShrinkwrap":false},"0.1.10":{"name":"vue-condition-watcher","version":"0.1.10","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"yarn format && jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"dependencies":{"vue-demi":"latest"},"devDependencies":{"@types/jest":"24.0.20","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"2.5.0","@typescript-eslint/parser":"2.5.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"24.9.0","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"24.1.0","typescript":"^3.9.2","vue":"^3.0.2","vue-router":"^4.0.0-rc.2"},"gitHead":"8b91531a8402016cf1d9510e4a5c4e29a0d25272","_id":"vue-condition-watcher@0.1.10","_nodeVersion":"14.15.4","_npmVersion":"6.14.6","dist":{"integrity":"sha512-vy+0YKcomEOlJ0k0NrH7L3crFRwN52/atxz/ZITcwyKYfa48lR+SIMzQjr16lOXS2p/YJqW3shyHE+Xr/cAC7A==","shasum":"7cc06ece888167c1ebca8a05f381e80a431ffc3e","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-0.1.10.tgz","fileCount":23,"unpackedSize":39644,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgYZKPCRA9TVsSAnZWagAAniYP/16JE2nbfFguxYiMAeJM\n6LF7xvshq3DPaYON8QB8L8JH6ut9ayh8jhMzbxcrly3h65yiXTNzts5pHrmP\ni8s7TDTKApdrYAwdtOIO1d+2XK1Y7gVUo5hVQXwtclAORNFSQO9UwbFoI0eE\nwOfQ5tCBj+pQOYVyJvAcDfD5iRDT6QwLicjd3eMkh/xw9pET1ZBP8RVlZ15z\nhTK/BRYfw5PqDvi4DRYVpl5ccUafqZ2ozIhdCn3Uf7cqI+ceRiAF9mSca0Nr\nN0jnnlDto6YdCHWLwnMkjRO/rqtZH0e2695KoOTIPDROZzxAiyZQAbc+xDBC\nZtOw/R9CMWHRcS6SiHngFlpxiovMGdg2wAySARXtMnc+riIspmdZ4ae+4EcH\nNoIxg/Pec44wsnUrB9tgyudErJQdemUd8LTlP7goCxXmQYY+mqkDq8pAVrri\nZcD8DsShE1X7F5t8G4+MFXpUVqfUek6//6+1Ib4HAgO914EZTj6UHhrl/b7U\nrI/4DS97b71/qsbOi8nELAa1peKM85ISKC154Erb6lp+Z8nU59efJjCXkkok\nLYnzdBQ04cHIsYBS9HNWAmsH+on/EFd3I1rJZO5jGIAK53xzqM+Pozg4u8Q5\nu46q23RctD0rwzsCPPjoqXaZqVLStpoGd9PKLlbJtFGZaDdLLA9ymJu2zQi5\nRUp1\r\n=hzbE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC5YdmfQpIwB1QOx6iYC8iMA71cKOzsMGe5U2caKC1X0AiEAoew6i7Zxmye34PlmJlIJeun4+2e4008fwq9P+5P+1zI="}]},"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_0.1.10_1617007247241_0.4232586687944897"},"_hasShrinkwrap":false},"0.1.11":{"name":"vue-condition-watcher","version":"0.1.11","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"yarn format && jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"dependencies":{"vue-demi":"^0.9.1"},"devDependencies":{"@types/jest":"^26.0.24","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"2.5.0","@typescript-eslint/parser":"2.5.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"27.0.6","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"27.0.3","typescript":"^4.3.5","vue":"^3.1.5","vue-router":"^4.0.10"},"gitHead":"699764084fbcd90e0ad060a2db91f0a55fa3da13","_id":"vue-condition-watcher@0.1.11","_nodeVersion":"14.15.4","_npmVersion":"6.14.6","dist":{"integrity":"sha512-xAgK9I5LBn4AscYVBOoPZhkUmdXUAGcfKOo54xCpwjMLDEy/gmiVm6E9f6pIWq3RItS6hs1nwpNyJbqCrwGJ9w==","shasum":"f2a7027b2d717f1507015eaa85a155d0b0e7010f","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-0.1.11.tgz","fileCount":23,"unpackedSize":40570,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9XvlCRA9TVsSAnZWagAAUQQQAKO0MYrN2fdSCoUM+jLx\nq2S8twBAEM7xtJm3bU65javKOb0AUxXSnEzB9kq68llZDvlDLqYiEOfnPJom\nsnTmZS6s6b7dQJy1OumaX4aHZ0WDBJ2nP5pUWLOH7QKSMH03yPZtpDK6mK6S\nL18NUIgytBnYX7pexCNdYOGvlYK2ncNbxbSpifadiKquwoBGMfY5tquKNTXh\nX1IAMFx7VqDYF2ZH0iej+rEmDVyp0YXNQXE7whx1yv/LIo9mmwKHf/ZbQaq7\n3Ank+mGamsKqLfaPl2IuU/J/cGDCehRP427ikyo8oJDONDEaW9YuI8jrPsI4\n71bPfjEB+ejHyycKuQQv0XLV47SImi3s9KCYBekd6rnQ7+6vnSrsPBbjcZ+V\nwaoqYfCZCL4TxcBe8ndR79lg5R0ViVT/6tJ+JvqtQXk9tueNjCmcv8wVWq8J\nOgdpL/fL6tHrYssOzl2itr/j3fegTHyB6MHnU4WWWFWsnttiFCun+aWZYdcl\nHxlkEv7EaDs82gkH1eA1I3zvOXvQMRGaY9DRz8l0DMHg0y4OHtVlKFelNepR\npDn/FQv/v9fsB0m4iYPu1FheNFmm6wVmHzbJplmShBrkCLCT4h4Pjw211xgB\niLc4NqLYSaEe2eLUTcCzvE6rLutYRHPcZNQ2p6w+mx15yTzrcFFsvufyf04d\nHJjW\r\n=jMvJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICUmLqUzdFuuiePSh4Xc1SKyCyENuSFDqDeKFFgYUF8qAiEA0JBel57mcy8Ff0uGNSP6oudUN4gARkhSlSAChTV5keA="}]},"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_0.1.11_1626700772951_0.2021512294750325"},"_hasShrinkwrap":false},"0.1.12":{"name":"vue-condition-watcher","version":"0.1.12","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npx rimraf dist && npx rimraf esm && npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"yarn format && jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"engines":{"node":">=12"},"dependencies":{"vue-demi":"^0.11.2"},"devDependencies":{"@types/jest":"^26.0.24","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"^4.25.0","@typescript-eslint/parser":"^4.25.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"27.0.6","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"27.0.3","typescript":"^4.3.5","vue":"^3.2.1","vue-router":"^4.0.10"},"gitHead":"3f65eaf02c6c70bea6f4537cf77e1370cae4562e","_id":"vue-condition-watcher@0.1.12","_nodeVersion":"14.15.4","_npmVersion":"6.14.6","dist":{"integrity":"sha512-UZeUe7o7ivvILooMRVmIIacBa9TFJ8ySMB4+DB+dO5bX1hRWYu/xL1ynTjS2ZTAINdb3OgIglo6eNCUHV3gJcQ==","shasum":"cacb418096da1ac211890d7de9f84c063446bf12","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-0.1.12.tgz","fileCount":23,"unpackedSize":41302,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEzonCRA9TVsSAnZWagAAP2AQAIerUM0+6h33YSnQcmrC\ncq/4MVrKv88BQsYjR+vpoYNPZFza6FiYpkBHwmY+6EET1ZDwXd2ZsTFm0ir7\n75tV4AJcLSQqkQ50mic7ltUpRUqW6uuMyMi2nOISwDABQWDz/OaeYY2vdyKl\nxXmh32lHo/vhbxVMnnqSnK2K6Bqib3QHwGui0ybKtYdDGrfJQNp7h5RqxKFH\n+d1brdZxIG1ymV8SMPCO78yQhYkVKY/I6e4DM4a4cIQQ1+ael60guvEJzGAX\nSpFkv9dTkeaJCOQLWwvGiwhz5WaJ6jdQZz7lNknwFjxPxZjRr/W+FC9kB1qD\n371JPxjma7O1oPkeTZ0OyOc+8eMOwc067s66aawADDK4PV02NhiWJ+4LkWHk\nW1bN2J9oN7FZVL7MAhxs2gehOOQUpHovP+LZK02l34usPYwUZwV1+HgGnAwT\nQ6jDiO0hlAI83gg4NQNPFsFTWE9AI5nIY7JkVaVVtwEp8iSjDudrzg3UacyA\n6apzyODidwzNndGcyDUC7ZpfPmMGnqGnBdvKYj82vGd9BMGsq43yE4bwyOId\n7jxBiRob1d5QswjPx0/oL9+UUBbnTnrJUEpkeM97t4hFxxZry2x6pa3um1Ty\nwM8smdXy/cf2CHt680iPL7iXpBpHqoYDHMyNHapyL/BNNTCMm6X48KxjBMb6\n0C6w\r\n=Emzo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHNTrsoNC7og+7Eazo3G5ZWqoiG5tnik2rRX6V6xbfd6AiEA4AHObkGr1J6OfhNrKqsXkaOBqH2Og1BBlipHX7Gzauo="}]},"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_0.1.12_1628650023253_0.36194286103018847"},"_hasShrinkwrap":false},"1.0.0":{"name":"vue-condition-watcher","version":"1.0.0","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npx rimraf dist && npx rimraf esm && npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"yarn format && jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"engines":{"node":">=12"},"dependencies":{"vue-demi":"^0.12.1"},"devDependencies":{"@types/jest":"^26.0.24","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"^4.25.0","@typescript-eslint/parser":"^4.25.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"27.0.6","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"27.0.3","typescript":"^4.3.5","vue":"^3.2.26","vue-router":"^4.0.10"},"gitHead":"de0e6bc7ae21477f4d6d91ed40f9d66fc5cb9d39","_id":"vue-condition-watcher@1.0.0","_nodeVersion":"14.18.2","_npmVersion":"8.3.0","dist":{"integrity":"sha512-iy6Y/ndKwZb4spXiwUuGQA5YnI4MlngdkbGHWT7twut3gv4m+fYcGE0Bv2ic/HJjFVyXcML1eC2RwsjBWZLWXA==","shasum":"0ae3062d4cbe2a638cd9bdbf753924c54aa0757d","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-1.0.0.tgz","fileCount":19,"unpackedSize":39168,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzyImCRA9TVsSAnZWagAAvnIP/2gPW1oEe0IJtqmGLkN6\nJhXkgRqUdIQhWgGD3pmqApEM+Q1qVLmo930XYnrCfAZGsFs5DVm6i3yVU/12\nqL8io+4uKwXWmzIHEuH6QLKLM0H2MGUDV1CX96aUEuRLcc1jpbetYNqY1l0o\ndk543StqzvUS4AVCtEYS+iSqCEW3wx3czZP5H7e4BBO3m3fpjSenoQAbPDc/\ny1KI1iz6T29b45El+B8ba/zyLPemQgfsbKqvayPF6pdMSnGKZQl3ue51zSz0\nOh5mc2a9PE6AXGfOvEhVnLsdVGyZwxM1modJSI+4RLa05qkeSt9920FdPGOT\njC4MHDG+Kn1OxYx4vHULwsldDhj8v8c8BjjtM9YLjLg2bJlK0tXmyrBMeLEz\nvSWSqjQSgXKHZ2XVw0UL5gDcb1XIRA4xG8cD61UMveKHw9Lginyv3U03D0fO\nobzN5/LX3+GKtM5GK5A0EEnC3hYqzSrGtx2FeOR4sFpki1xggZVLiDMuv/N9\nuKRNey58EAU16XfO90E/WWt8II4Y91PL7hzoR5w2YW9UYY/bO3pNAR93Y18A\nFr+Ts29GFOyOXpd1n8Hr7EypCieSUZ/kVyalNDxT/ZehyL9IYS9cXTEE23v9\nqsW9Q5oWzO73JPZzGbYzOEFVoh4Ep0VubM55kL7WS9M1W2P19JCgaGc7qgWr\nCRwP\r\n=OjhW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD7z2IdwiNEuO7GJtWzXn2JxsnNcoZPksiu40ftdbD4lgIgeQnvwfG55hznOwXMlWxD9xnULxzZg2mDpEo4glvCz9o="}]},"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_1.0.0_1640964646790_0.48714391898646126"},"_hasShrinkwrap":false},"1.0.1":{"name":"vue-condition-watcher","version":"1.0.1","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npx rimraf dist && npx rimraf esm && npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"yarn format && jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"engines":{"node":">=12"},"dependencies":{"vue-demi":"^0.12.1"},"devDependencies":{"@types/jest":"^26.0.24","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"^4.25.0","@typescript-eslint/parser":"^4.25.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"27.0.6","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"27.0.3","typescript":"^4.3.5","vue":"^3.2.26","vue-router":"^4.0.10"},"gitHead":"de0e6bc7ae21477f4d6d91ed40f9d66fc5cb9d39","_id":"vue-condition-watcher@1.0.1","_nodeVersion":"14.18.2","_npmVersion":"8.3.0","dist":{"integrity":"sha512-OkOSAi9yQ8bRZl/ODLV7j8176ZskTbv7P08b6Wa6cdWeUHGcXH9ZbMLGAKY01VF8rNmuPz1edY2gTyycn9zhnQ==","shasum":"0d199bd4203463fde5691770102fa1a63cd30556","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-1.0.1.tgz","fileCount":19,"unpackedSize":39521,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzyOPCRA9TVsSAnZWagAACvAP/Ao5J7S1sjdXhipLEsmh\noCFULa//jjZOTVzBdKE4mfWpjBFLmf13fB6ET2zA2S4V68w/W+k36vuViJL0\ntpMcMawNQfwqcXdx4MvJJ6rDObq530+Op8fHMVRTdakHBwdGGoo2/x3rXka7\n63nSKgeFibgQw8KdYhCETdCeBJLF4rL9RZ+8n+MmjI/pQqwCk1o4EnS0NHSP\nLf+wjIVWzOGYoEsX3McbX49Cgc8tlio5iUddllpRhJkVjUvfUoxOwdP2rBOU\n1kIAfKClBAKXEkSQlI3rFJ/K9AcGKquvPE8XCie2O0+r3zMfoUAULcBRan+1\nY1RkFrwrHRV051t+cbe1OQV0lYgRBo6OGc7Fwh8AwgXdkvBWcSM9Mqt0+W3+\nBpa1YS1/iuUpxonkvNoZsNCalUX9VeDHkTjKwGOzmH9zWt0JLWCcj3Odl4eG\nDqv3Disq4u9sbXsJXk77+TgZ4iMymkYXOKicSTq+EidJ5ROnBOdpeZUMy0UE\nag2Bnbwo59pXC2aCMxIOeDTmtHdRnlsUg1g+nQGVdwmeDtpc7p9M/3JDiklR\nAMKJU26Olx17xG2H6pvYecps8yt5d+TtidaehpyJQOHbnMMbSD2ixYa6ri+m\nxj96NFqbFnBv9ajLKAyI6lHQ37366jVXzzlIe1a5erFrMPraew9XEwDYPaD4\nALlA\r\n=tciM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBUTpAEUjn5Lc9e+XMi+SyZLYuzzJ1P/hd4DLlxf900oAiEAzll2FU2y0WsWI1Is9bIOhenztsws0+49CbWqdaMNgN0="}]},"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_1.0.1_1640965007449_0.7358511829736043"},"_hasShrinkwrap":false},"1.1.1":{"name":"vue-condition-watcher","version":"1.1.1","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npx rimraf dist && npx rimraf esm && npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"yarn format && jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"engines":{"node":">=12"},"dependencies":{"vue-demi":"^0.12.1"},"devDependencies":{"@types/jest":"^26.0.24","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"^4.25.0","@typescript-eslint/parser":"^4.25.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"27.0.6","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"27.0.3","typescript":"^4.3.5","vue":"^3.2.26","vue-router":"^4.0.10"},"gitHead":"0dc0659633f93f6430126cb9e445c3440156d8e4","_id":"vue-condition-watcher@1.1.1","_nodeVersion":"14.18.2","_npmVersion":"8.3.0","dist":{"integrity":"sha512-KQ1uCngWgBlCZI5wYDERL+/AFYHns8+eOKGj52mnMssg7kWZb6Kl1SBaVAdF1XDqqKDPo1WyAQuckNzMgm+omw==","shasum":"40167759a334e9d631fc50539fa42e150466adce","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-1.1.1.tgz","fileCount":22,"unpackedSize":41218,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh0FpYCRA9TVsSAnZWagAAfC0QAIwpI5kXk4A+AfCnVU1W\ngYxNDD/W0HvvBcjoKoLkswchFtv7ZZfXCvZDTlykDYwc/cyXdyffnhf9/LLB\ng19VRfVMlyk0LCF93MIgRngnuCFQOU6zlEbvWpbWrXfJa7fYdzkTepz95Gmv\nq+HeYEuJaBx6KD/Gf+MlLDeO3IuHrEV9YFz7EQ6Mj+nHoxbK3sRKk7tYyajA\nvnof1KKlVASuSQCM2msWQ7a/zugQz4zlwuXpo/qaEVO1u4sMr9PiJBddG8bn\n0tKiWi4QBEJjlwrsHhrNNEm/S0GqhCOPg+UfXoWq+mKvUp90Zj6G7qQ1ePgs\nPqncgCc5eI9suOFu5Xn7IRZ2ExDWhFHxydzTjwWo2QdtBjjYhe5ZCNAV5SE/\nRtXBjXOcdVGehaxYr+mA+97hnnG2dlJvqEd9r/jIdBPZ2O6Gc86//uDJREo/\nBDUJYLABkpiDrJCHJX2/MIh4aqeu3mCPoOouvWIA6UeKhWb593E3nw8m0OTq\nRj4rhyWgPhSVrEoORkbQnGT0bVx3MIlCOfKKS+JPvt/F2j6Fqizq0b0KMKfv\n7kHUrgibMHc7vQKYCwgFKBjMCAXPjKcxLlfOn8YLH+3tFRqNz5GFZ47aY5mc\nuCzdeC/LPHmUUbNSt3B2vXkQrhtm5Xg0CPU5JtnCm8OlVDR/q6KS051pXy9G\n+eHk\r\n=uxfJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcuSLY+uFW2qxx4iVJ7M4FGU6YoSqNGbppw0g4IhJaRAIhAKbvc9p2QvRug4OPQ5LZ6uCSsbAkD9FXcFVGy7OAKv6Q"}]},"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_1.1.1_1641044568776_0.9833191789556839"},"_hasShrinkwrap":false},"1.1.2":{"name":"vue-condition-watcher","version":"1.1.2","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npx rimraf dist && npx rimraf esm && npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"yarn format && jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"engines":{"node":">=12"},"dependencies":{"vue-demi":"^0.12.1"},"devDependencies":{"@types/jest":"^26.0.24","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"^4.25.0","@typescript-eslint/parser":"^4.25.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"27.0.6","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"27.0.3","typescript":"^4.3.5","vue":"^3.2.26","vue-router":"^4.0.10"},"gitHead":"845db6bc379ff5713ce063faf2ac7fa6179f084d","_id":"vue-condition-watcher@1.1.2","_nodeVersion":"14.18.2","_npmVersion":"8.3.0","dist":{"integrity":"sha512-vmNGcBJzltzzZxqqyrSwgArtV8DMRRsozn33nHry+LnRrsPuShNTTdV8mlclQLnJsC6BHcy62lFTnDgegrulXg==","shasum":"207fcbc82aa20fff7edde213673ab72dc72b5d34","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-1.1.2.tgz","fileCount":25,"unpackedSize":43782,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh0HqECRA9TVsSAnZWagAAVnQQAJAr3Dekdi/io6y1lEBc\nIDRj4UcxJP57PjD4WDneYuOiWFTgEHAfnE3PsCAt1oVFIYD62OOGKECJexxH\nTqcXruQOr+JnhUPS/o7XIevOQDivqMTI66APF5aOtNum9FzZC5nm+WscplNU\nptokWxs62Bvw7xhukGdu6uyGjtxWDCJr/HxKL7/+Sj+OzygWvOia56AKOeI5\n4pt7ptq9XKqV8GENjfpDcLW6CP0192dk3VnLH2x5/q1Y6zOST705nD20jZgc\n43DN7ubHuBV6tROUb5KpOjB1aV7si4mJ3Y8vvEtAWi3B6Kvqix0DHkip3ZWi\nokwOaPVkdATY0WpNJXFBGS6uOm6ugenf/y+XylFG1iUcYVfa3b62Jo7MLger\n6HqfKgaRttUGLN6bpbycujFgsytXwf9zi29rlJLBfMMaeXZ7qsApot2Z/lz6\nOTD2kVGBRQPf4EbtHf/7s3RmkOaKjjudaZ9Nvq9WW/ymjOYLhK9nhYeBXMIG\nfuZm7Ut6zQxM5L3n2zA2jjxIqiY0zT3cDSQC5ogRd0DIURL5jLWznVAQOZ6/\n1sqFRyuqRzj0lxuc+gUbd70mv5Rtecke2bugXqAPoF0Z2xP8q8IU2pC4RWRQ\nXJBoRXNxYkjBj/w8v2rQoFVpzet4BOEBVNmKPM695kX9MOe06GIjVX6Tbp28\nxG9e\r\n=SUBb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDDOtKww59F+5rIcvUT5oWbI32FHKY0inQzIukgar8sfgIhAPPlZxdmGFwMtf6YaNzze5J7IHduQIbQT+w0Ip+7GZVZ"}]},"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_1.1.2_1641052804706_0.7425302984559812"},"_hasShrinkwrap":false},"1.1.3":{"name":"vue-condition-watcher","version":"1.1.3","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npx rimraf dist && npx rimraf esm && npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"yarn format && jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"engines":{"node":">=12"},"dependencies":{"vue-demi":"^0.12.1"},"devDependencies":{"@types/jest":"^26.0.24","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"^4.25.0","@typescript-eslint/parser":"^4.25.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"27.0.6","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"27.0.3","typescript":"^4.3.5","vue":"^3.2.26","vue-router":"^4.0.10"},"gitHead":"8fd560bfad21c24e4e1f5f1a34d1eef63e4bc276","_id":"vue-condition-watcher@1.1.3","_nodeVersion":"14.18.2","_npmVersion":"8.3.0","dist":{"integrity":"sha512-g8hieIy0+YVCLTomiRD41jTD5o74dVgFy9YqQF5YgaiwWQ+2oNngJBVbPbAIrm29Nfiil+Xttx0NsQHsV5v19g==","shasum":"26c314b0b7a750c2d27e0ade0b158d707a92d094","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-1.1.3.tgz","fileCount":25,"unpackedSize":43449,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh0H7aCRA9TVsSAnZWagAAum0P/1MwGkQu2/34G2pKKTrV\nOUZqe7LZsA+71CkHcf8+T1aTh4/WD/UeD63CO7o4yNgf3LhU8UmCJ/okMG+U\nmIBI1Afak2Y4eiazeWmpLBSedx809ADzySM6Hh/85cSc7B7QZXPjCSgEgsPP\ngqgzcQfyMRY6Y+yXBR3wsuwUUaLpwBbU5fJ1fXmp1u4RSiL/mmob7rKukOlw\nfrgdmRoAHrzbmMtdxaSyRsjzzAvvrHJoJ1zTx8yII+1oXkdEoyKdRTpgL3lw\nG/QmKkkVncDMDvzsm9J2XsdOEcAhjKjM5epn0Qc+TnkF2HGtxNoU8aOTmLYc\nFcNL9vZjR4zpTftJJFhA3zu1jYanILQ3CbOGVqyD5NAdFF012k8qPbyD2Yyr\nH1laTjyd0jU9WqEstGZcX9wpuzllHCsRPNvQHLO0fAWud0C9BtqIJ+HMRW8J\nGSZvucDR8hICmw98Ts5OfqwPTS0XiDbsGAkkcfv1soQjLQRDZr3TJg4tJ6xB\n4OdWMUhA2BgCMzszmXiz1ZP2oPxKt6YObYC3YDPzadMxv7p3czHVyyaIv0Rm\nt/KQLeDZY+d7JrDFlyUlhbTFkwmzeXGdSJJhZbLBvKZK7gw+7IOuhp+uTf1C\n6u5h9y2c+TrZoCFnMoMjSCA8KBzKsAdR3CoKcIalwaBbHW1kzuLVzEHM2NyP\nh+42\r\n=mqEF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDjB+zXmVmx+e6AMpwspG894j9pi8DfjxirPXiA60DrHgIhAPuXBr9mAF3VQ3yvoCVm6Ml+HClJWNlyrZTHlNwhJ63I"}]},"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_1.1.3_1641053914390_0.47436729990870985"},"_hasShrinkwrap":false},"1.1.4":{"name":"vue-condition-watcher","version":"1.1.4","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npx rimraf dist && npx rimraf esm && npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"yarn format && jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"engines":{"node":">=12"},"dependencies":{"vue-demi":"^0.12.1"},"devDependencies":{"@types/jest":"^26.0.24","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"^4.25.0","@typescript-eslint/parser":"^4.25.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"27.0.6","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"27.0.3","typescript":"^4.3.5","vue":"^3.2.26","vue-router":"^4.0.10"},"gitHead":"cd50b275fbc8b12cea539b45e5421ceb0f519b22","_id":"vue-condition-watcher@1.1.4","_nodeVersion":"14.18.2","_npmVersion":"8.3.0","dist":{"integrity":"sha512-cM0s7/5WtpnGS3ROZmoJfhzeX+uBbqg9ZpJA7nvM2zcP3nZvxKH0Rui794PirIfnlV3gZDwQGWbhAgujEaKgqw==","shasum":"c5478ac6eb8aee4082d286e6fc455adcb1d78fb7","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-1.1.4.tgz","fileCount":25,"unpackedSize":43923,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh0UgeCRA9TVsSAnZWagAAOJMQAIQZ6PeT/2GzhCi2fLsr\no8qTKA3AACU1KFM8OvFmYlYS51kM367RktLRbz9rhmY+OpQug9GEcu9ucQKf\nrkNNnU+85CHRwT9mGM6Z3tumyghMZkZGOs1nPJ0UOM+ACGCV3JBTPQRilWaZ\n4O4e1TKM3LgIVOT9/rPajYKPQKYBJ9YX9bKOQWXsQch3Ymha1vhXbArcZd+c\nLife2/QKwDj5uh5xZ0dkHrqeVUZxkwec+bqOFsbwXzrs0u2wYIK3GqkKXMoR\nbZ8HemSMhqoMiSpIIGrCNW4Sv+mpSYjlKzUh/TY/3xEM0/PpYE6LqFwvw/f/\nFZ2Cp+dULfxkiwgDcQg/9N3f9bwlrcJkx3/ioUd46AeHjmzYqdHD4X9d+tzb\n2LbpfvynGYpqvQbGrWEhsW1eP4ehAewI9lSMTed3wLJk4qwgvW2J1Uosa1gX\n4TwmUZnCNUXH9DDGpMQWrTV6ernSeu5ult1GBjB9vCdyBQ2djDuGviycHMll\nmENMdjOXjNz5mnLFu122Son4j4NErmv1Vm55nYm60htJShyHaYFiT2bdXOo9\nkHd0PLDGo2+7Pensj8eNgvZFS2am4eCzp59SiBroerdsQIzi6dLsif1bqCAw\nCdVkk7Qk+ydcUTWcdTjJXltwKLtgqqfATyOBLhs+H+U0v8WF2f2c837kxQwS\n6osY\r\n=8Djm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQChaVzBKS+sdpcOoG6WheWK0yrGZsMjbhUGqdxR9sZSTgIgfmEuLcJ88U5vdXzZ9uaz6xvfeLH9FuK9OKhMgzoXGjU="}]},"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_1.1.4_1641105438644_0.677349892064365"},"_hasShrinkwrap":false},"1.2.0":{"name":"vue-condition-watcher","version":"1.2.0","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npx rimraf dist && npx rimraf esm && npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"yarn format && jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"engines":{"node":">=12"},"dependencies":{"vue-demi":"^0.12.1"},"devDependencies":{"@types/jest":"^26.0.24","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"^4.25.0","@typescript-eslint/parser":"^4.25.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"27.0.6","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"27.0.3","typescript":"^4.3.5","vue":"^3.2.26","vue-router":"^4.0.10"},"gitHead":"f0410b54f0f86483811fce529bea2e6756a6ca88","_id":"vue-condition-watcher@1.2.0","_nodeVersion":"14.18.2","_npmVersion":"8.3.0","dist":{"integrity":"sha512-2FcrMQYQy2IWsE33fNQPH2CIRk7eyoEl/3w0rGW+rTCfwP/f7tBXAxRcGhUsYKTGMSrkoJCz6GW1ijB9Gge+LA==","shasum":"4efe452153ab484630a793b6a4225dc0256d3385","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-1.2.0.tgz","fileCount":25,"unpackedSize":46311,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh0a7pCRA9TVsSAnZWagAAkX0QAIemts3vnF2yr3dkMvAB\nas92Wa0VdZ1AfMgP0thynl0P1tSZCWj5ApoOV3dHhpMQ5HoWQJ57ju2mOi4L\nXJ4Dk0s5w0njhSn08iHz1a/e/9GDXjj53yHlgjKfhKxa2afhRy+ZPokbhkRP\n+VmvX2IRhyeVx0CiRXDfIuP0ZPpMso6LtBkf+Wf0QczzCDN+JRRH65lcR7yE\nFczh5No01U6wbduTaD/VE58f4k+e6HpZbIThlHmOTf9N7d1/Cl3PiMhPe9f9\nnRrLY7gKW+kI7fAQkza04p7E6tBhk6y6yLxBPrUCGasig5bSGfEiHcvJn8f/\nW3ZM9zvq5iqJhm08O2RFAKGhh6AUvL+3M/KiR4zpykVDdkg9J8oEAZj3sCtI\n5lnNWJRlEwJd5fWTWMKPuozgl8mvcmLV4SNEzO4DVA1hv7NdDKsMkZ34KvAN\nL1aFDlSQhAMwh92vRdHbytGRIAYkWUmsWnSM3Nak3UqUBt8nxQjFzVKdPfBZ\nLzZeOyzvmI67U2AtT5RGuC/5BObtgkftQQpqTZc4UpB14Tmsu+dzGBGQVavi\nQaWt3Q+JsoFnut11fotlBZ53zCDc8jBEIzCsbItqV8ju3eOtP/er+tTS6Lwp\nG9w1jjMvPr8R0XUp69qNrQi8k7Rc3FXZsvy8y/BeNb5MYLp2vPKbJvLWSIJE\n+DEp\r\n=o0ot\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDCvMoE8Sxa750+r3Gcr5xYWdK87PW2u6F2QSNWyiX8rAiEAirdIg+dX2Z9G4DRRZoxSLp56MEu+n1/BAM1NRZghjpA="}]},"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_1.2.0_1641131753835_0.8991435641703551"},"_hasShrinkwrap":false},"1.2.1":{"name":"vue-condition-watcher","version":"1.2.1","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npx rimraf dist && npx rimraf esm && npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"yarn format && jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"engines":{"node":">=12"},"dependencies":{"vue-demi":"^0.12.1"},"devDependencies":{"@types/jest":"^26.0.24","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"^4.25.0","@typescript-eslint/parser":"^4.25.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"27.0.6","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"27.0.3","typescript":"^4.3.5","vue":"^3.2.26","vue-router":"^4.0.10"},"gitHead":"cdd517752996c20684188d0e776cf815c224d5a2","_id":"vue-condition-watcher@1.2.1","_nodeVersion":"14.18.2","_npmVersion":"8.3.0","dist":{"integrity":"sha512-r5xZGxaNwwT4qiNjJ2D8IDT9dJ+wxbhMC7PMg/IU1H5VmeSIovHkKK1QCKXz74vx3finrG63TjZFCOVj4J1sQg==","shasum":"31c0740a475114111d266b42c3ac04992fdf0069","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-1.2.1.tgz","fileCount":25,"unpackedSize":46313,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh0bFHCRA9TVsSAnZWagAA8TUP/3OfEmtywwSIqw2Z70Rh\nGHssIliwlyt6weVrbSgN8cpZgc1V2OdD6j/++8xp0QhKUy6A1fHJPQDbKyKg\nEvJSiWlyKuVVHor93pSJVYjX2u67OFyvZm6GjbQE18uBMLcR4K4+mIcCbZoT\nLHHVQCErk4BM1x+hMA1k1f9H3I9j1HUbHmXu4TMSlvD7zvHL1q4cpg/cdb03\nWWmGJSbXxxPTVqsGDgBh5xWBG1CQuk0OmYQ4e0gojtwpkui4JS+/U1hy4tHL\n06ZDve+/9Yuz8knBqbJxD+wEasaUoaHStoe7fox30WD4bSCCC/uPRybqJii5\ndTICj1iq47+CbXmusi4XKsw5OAw4LkxSyrI//j+/iRce3V0HIn4OkatJkrbZ\njguIh2FkvR5f86YJDZoMOuNzJKxoiWU0tbFElOOiROcqkz1ZjCqbyckYHzrE\nWMrJg5KyOxryhNYgLrCfG8AgCEZ6SdSnKu+uq2zKXoKdARaIjplLsZ3Oqt6d\nAZAsasjMm9BGWXqbr1nUom6AzWCoNTJfr4sn6CQvL4uPQj6ucJVnUIPB+d75\nnAf3FBtdd9SSXKN0AESbN2oHMkjEn8VOd+5/n8j+uh1ecXyRjs6mBfChPFCn\nph8kdF0Gg3hFwSZc1qPR0UKmE5/R9c2NYwabCSphKh/n2MoG0hawA4FP+FHx\n2eRj\r\n=gMsH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD0l3zlZHlq7fnFXs1fPSiuUIGeLc8jfVvLONtZbVMtdQIhALtSJW2d1Btcin1gluE+AgpM59xUKkNbRy8ByPDrtky6"}]},"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_1.2.1_1641132359180_0.37547372618209574"},"_hasShrinkwrap":false},"1.2.2":{"name":"vue-condition-watcher","version":"1.2.2","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/type.d.ts","scripts":{"build":"npx rimraf dist && npx rimraf esm && npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"yarn format && vue-demi-switch 3 && jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"engines":{"node":">=12"},"dependencies":{"vue-demi":"^0.12.1"},"devDependencies":{"@types/jest":"^26.0.24","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"^4.25.0","@typescript-eslint/parser":"^4.25.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"27.0.6","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"27.0.3","typescript":"^4.3.5","vue":"^3.2.26","vue-router":"^4.0.10"},"gitHead":"6811e23677ff36d5241892dbc8350befc4ff5533","_id":"vue-condition-watcher@1.2.2","_nodeVersion":"14.18.2","_npmVersion":"8.3.0","dist":{"integrity":"sha512-5NIdN9Kaw/fjeBVAfvaBVQxENe1IOh/Wfj18lPFm/zkPnRu9Bux7U0riuHAlRu6thymvk75UHOIlWjT3BADdxw==","shasum":"58f1e7846650c0f426e99b6af9e7f804fe2aaebf","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-1.2.2.tgz","fileCount":25,"unpackedSize":51318,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1fgECRA9TVsSAnZWagAAQIAP/1viXau+du0DCVCfjpUv\nkdlhSuvqv/lfzAkLfMY0tAMb93FnsDaWpxQOxwv+QjgfZuIyytku2z60vlcc\nK9Ip2zOa0eQQ6v07u03n2X0A/Gzw06tcs0J2OZKcoGBToEAZSrLuIy2Iu0cL\nmHAEFMKY5XiVHc7MeW3zQEiuv+e26bHmYfhN/oaG/r6eZGvTLQRqBbEvL/jq\nengowV4YFlr/98F+807IWCTQONjQjUXS6CxjrPHGxMda6XV5q7WtvHbSYR6D\nqQMyrW8DVr2x1V8bCYodbttzzMR/bchaYg9UA8iEZYfvJEcA03Gd2Yr6l6tR\n23BAkOuhxln0BnuTahzMmFVonJRBxgzHLviGIJVWPy2kmth7m0A75mhoungG\nBTvQz8iay1+iSTYHbzYAhuAEHevoEgkSAqc8KoABWkWofQJ2Jnym2o9hdfOF\nggOSyasWdQ9m/hMXtP1YcFR8NCMlyOcLMJ95JcyuInXKlYWhH8QFSsEmP4jb\nl+WgaExvmexQx99Kuaeo8EDP3WUakPeiroCO2SRVFUeMHsbUwVjhOaHpYI5E\nK2By3MKkYQyLwpuHg4jIN0itk8iD1bHa2wvpi5gmm4ER6gtSyBQPMoug753e\nORcslhsjHRQo2opCI519tzY13+14GjlVfQw//C30dAMj+3Gi8VONP8vToGs+\nw5z0\r\n=y4rP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC5Yow9bAKXLE8yZGQBObFQQ2dOfJDE+FZyjrp7+LvadQIgFRrnOx/aXpA5i6ZHb2zDmRGDX8pA+WbQ6Ia979yonEQ="}]},"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_1.2.2_1641412612448_0.26941943582645766"},"_hasShrinkwrap":false},"1.2.3":{"name":"vue-condition-watcher","version":"1.2.3","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npx rimraf dist && npx rimraf esm && npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"yarn format && vue-demi-switch 3 && jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"engines":{"node":">=12"},"dependencies":{"vue-demi":"^0.12.1"},"devDependencies":{"@types/jest":"^26.0.24","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"^4.25.0","@typescript-eslint/parser":"^4.25.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"27.0.6","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"27.0.3","typescript":"^4.3.5","vue":"^3.2.26","vue-router":"^4.0.10"},"gitHead":"6811e23677ff36d5241892dbc8350befc4ff5533","_id":"vue-condition-watcher@1.2.3","_nodeVersion":"14.18.2","_npmVersion":"8.3.0","dist":{"integrity":"sha512-y0t8M19cM7uA8ruaUc5fDsqvSWj7JV2WnzjFehH7rqN9yK0mz16Ux78ZksFmYRMibzZQzYh13Y48E+cHdQXSWQ==","shasum":"ca3d9fb4fd06380863684265ba235f8dbc79009c","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-1.2.3.tgz","fileCount":25,"unpackedSize":51319,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1flYCRA9TVsSAnZWagAAHLAP/2tqcGTovrwEA3kfaIl9\nTNLrQVmJ1SwH3MgXrs578m/W1LbIdVIzPEwX4Y4HwzNBSPOP1sgL4t7oqeDU\nWZKOjg/l5fBuJMOfc8FM6f0MHXyGvRLTJaaEdC8sd/XzOkOUzOo0VD5J19pB\nVwkOossYqDn5Ovsf8EmeZesCvWoMe04UmMiRHVwPXJDvFHPs29/ffej2MSF4\nMRXdaClKgjOqo/B+R+toCCId4RDur40adm1ou7fiEbVZOYS363557YtLYue8\ny0P9jy4zDyx3Yi6Dkh95lgveXG78Xw42U0/BoED8oFm66WQ1poSGR4NpkZx9\nJUKuvSyKVrytUGYfSzBO2fN4L3B7FzG7/O11DBfvB2ae31Vgv4VDh8zt6Mzn\n1NrBPed7zMJ75z9LX7IoV/ywOdra2X4rrO77lZj6Dvdn9m5E3nZxafgQrDKX\na7DaPvaOSYHfkf27hIju089hktg9xiXJsXf9UoWcTzH0ZXG76iQ+cWR/jbjI\nOunQU/nnkufZIKUFxSdFkEGTbFXxipVTgKWKMdIKEJPCuhD5pw3Y10e0l1vI\nuRXDUHgQJXsXh/Tldya8j91iSONNVLTN0G8IokC7b469fZU2U5+clHKL9wjh\n5iuhgqrvdGgc7FEY82EV0HTQUP2hk8YTt4wWzZIwKWZVMyyl5B2/GsGMdO0A\n/r6A\r\n=6CIS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCPF7VW2DVlExbM7mJ9V53iEnQNTqOVrNpHzS+o65NimwIgTRuNi0SNHIVn0gn9/v3AefdugEx/NVpXw1sB9YxjCtI="}]},"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_1.2.3_1641412952508_0.8545200870342247"},"_hasShrinkwrap":false},"1.3.0":{"name":"vue-condition-watcher","version":"1.3.0","description":"Vue Composition API for automatic fetch data when condition has been changed","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npx rimraf dist && npx rimraf esm && npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"yarn format && vue-demi-switch 3 && jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable","fetch","fetch-data"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"engines":{"node":">=12"},"dependencies":{"vue-demi":"^0.12.1"},"devDependencies":{"@types/jest":"^26.0.24","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"^4.25.0","@typescript-eslint/parser":"^4.25.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"27.0.6","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"27.0.3","typescript":"^4.3.5","vue":"^3.2.26","vue-router":"^4.0.10"},"gitHead":"52a16e8d351e85c0b664086e10a196df1d86fed9","_id":"vue-condition-watcher@1.3.0","_nodeVersion":"14.18.2","_npmVersion":"8.3.0","dist":{"integrity":"sha512-LXcI7outcbUXTEGqNJ8o7pjNT+wM9YOjZkzlsGvXiascBFTuMVtoMp/jxjGyw4hbEUVMiXArZ2AbMCR34IaNQA==","shasum":"ff7dcd5dcd9c5c7e60caaf884a660518d4f798ab","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-1.3.0.tgz","fileCount":25,"unpackedSize":57737,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh10FeCRA9TVsSAnZWagAADPMP/1BbfiDaOdEBoIgIb3Pi\n8Gwu79yUaVgiKoAyO7hmy04b3nN4TNNZbIG6Ce6rqp7LNqd6e/ly89XMWL/S\nbKkPcaT1we+XSgKaOzGFVmuiSlSEsG97c7XkxmBUbxUwc9xn1bSyiQYEG+Wm\n0ohDBgK2/JepQTlorkhyHivFML0S42WzX0URcqe0nLX8HeRSIlI4N991C1Wd\n3hqf/6v5xviDWfZ1oHm9URgx+DmOhiH9f4ExJD0Bj/9Fp1N8gQ/EkKQXjIan\n9lqTGZSLwC15Cw4BYnLndsnhuW1mZje7AVYbEpvjPdxFiws5sXbOGLqcSo50\nZAMEgvV1YX3Z0+FAyBp3LSU30gm1LR8L63iAoDRgLMmT0zR2S20wdPJMl/ZF\nhcMbM3+bMjGYhMO58NIDi5+8tSHioKEG+n3rkBmfCIZr8e3H45Uzj3QHAu20\nnVApqYcUBS38awBYioXnvswlS1sc9zC3aAULzbx6ZZF8IGywL6fshwc30ETj\nNHtxfhtAnGZoQ+/5As7EMGKsm9aZtAbiz1/BQ4Y0EIk6bS2aLMIo/kH+yWIM\nN92t/XEjktmt4Cxd6y9T1DOf+XIrbivnOdmS5/Kieu0wSeZ4Gm1/lgxjDJWp\nIj81gq40CobPtpBDFdBHTqxJ15h9aTu9W+bC+tgE2/tQE8WC3b86Ak+xp3Uk\nEy8H\r\n=FX6J\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGwguBzXksFL9yboepYLuqQfqBmvN4EHKwWfz5WKGaYXAiA8jcFMWi3vO9nzLI/KybvGEPJ5Yn8bSGpjrPFO/RqZlw=="}]},"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_1.3.0_1641496926604_0.8582642552914197"},"_hasShrinkwrap":false},"1.4.0":{"name":"vue-condition-watcher","version":"1.4.0","description":"Vue composition API for automatic data fetching. With conditions as the core. Easily control and sync to URL query string by conditions","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npx rimraf dist && npx rimraf esm && npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"yarn format && vue-demi-switch 3 && jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable","fetch","fetch-data"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"engines":{"node":">=12"},"dependencies":{"vue-demi":"^0.12.1"},"devDependencies":{"@types/jest":"^26.0.24","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"^4.25.0","@typescript-eslint/parser":"^4.25.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"27.0.6","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"27.0.3","typescript":"^4.3.5","vue":"^3.2.26","vue-router":"^4.0.10"},"gitHead":"15824f43641355d66d360ea0a2cad39e66ed8c89","_id":"vue-condition-watcher@1.4.0","_nodeVersion":"14.18.2","_npmVersion":"8.3.0","dist":{"integrity":"sha512-HdMlW6Kc7RsPDHcz5OmF/4Gs4hz1MXUJMpgVY1pNyoHVSzWGCsp1zJ1vVKf/Y5MDvGQMMxAlmqPMvFAfB234TQ==","shasum":"24ac627e57b7ac428f5558482730cd16c092f531","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-1.4.0.tgz","fileCount":34,"unpackedSize":81319,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2d/6CRA9TVsSAnZWagAAliMQAJjmLSKZi3L4coYOXnmV\njfgFGo9ZfXmlSSRlK/EdMJDnIkTZpd7EOVbaT0ndO2tRe0vbrQjlgSjVILdV\nsM7dmsL+EG5DPCUxEHGmpDUbuAQERrbt3NPEha0a8NEMVGCAFE5qLD4fjDfN\nolWqPemWQUKMsC3tehb9GnGqWK0F5H9iaX70A5WgRYiFy5e7X8t8+d/gdS0L\nIBA3Ju/N8mvx2bkoP2QFAY8CWv8ya4UlG84AHrYBQyP3wJAQkHgXIksYrGBM\ndUrWJVFgPt9jU2hHJH5bRItRCmkNhSNcEJju+gpKpOJ4k2F6SxoJRXQXJsvN\n4kf1jc5rIYwGtSiwGW3KwkvJvfo7zY8EsSmnDgFWgddSwVg2pUkiorfWAs7N\njZ15M+x3z5rlYb8A/ZdxrTJBFRs6cd9ZBSTSi/wDpTu9Kqs5sqUqmldh9EaG\nQcqMrklcyZXTIjAHbQ6wluiQW7WLWCCwgrkp6S4gYA4le1mfJ0VgafFIvM0f\nSxOPdjgmJQyNyM9jK2EIx7Y/Z/0LYbN5k+FKpoM1Um0C/XVJiLZgA0xbD9Wb\nTbKn6JWpLHl0e6aWuyKAjFxISxFroqsG0BDm8QYlwqA3LRfFJWKzyuFKLokb\nwZwJFGPNF2XHKYbvLDLzRf5a7uWy4hnjq9HDdT5A2NzQvw135F59/ToiQzaZ\n7H2o\r\n=M3fS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGyFggRFpUF7YfhCj4P+/okcLxDpwz6+leQbmVSodQ4VAiEA4y9H+e2CYyXZPF+r0mHnuwDUQQwUH8hMK0f8h4/0JzU="}]},"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_1.4.0_1641668602156_0.72760117437489"},"_hasShrinkwrap":false},"1.4.1":{"name":"vue-condition-watcher","version":"1.4.1","description":"Vue composition API for automatic data fetching. With conditions as the core. Easily control and sync to URL query string by conditions","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npx rimraf dist && npx rimraf esm && npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"yarn format && vue-demi-switch 3 && jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable","fetch","fetch-data"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"engines":{"node":">=12"},"dependencies":{"vue-demi":"^0.12.1"},"devDependencies":{"@types/jest":"^26.0.24","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"^4.25.0","@typescript-eslint/parser":"^4.25.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"27.0.6","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"27.0.3","typescript":"^4.3.5","vue":"^3.2.26","vue-router":"^4.0.10"},"gitHead":"50a97200e33f0a00ff782e4ebdd8e436cfb37653","_id":"vue-condition-watcher@1.4.1","_nodeVersion":"14.18.2","_npmVersion":"8.3.0","dist":{"integrity":"sha512-Gtl4oWKUICxBRiRut1yleWSskSt5mlIf/AkQoeQ8hT5dZCilc9wv97OG219zLIYxH6YymMjArqWMQvxIm/vNRg==","shasum":"f0b63362c48df91d24910b73e3c60d628f23b0b7","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-1.4.1.tgz","fileCount":31,"unpackedSize":81218,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2eTICRA9TVsSAnZWagAAckMP/joD12pU6H+YgD58lGbo\nWIJ9hB+JN6/tt0NMOegwDcFd62wSkgAU47CQM2DvjnqkjFdR3cSgE9KJ7qf6\nGp36faW0CqO3n/OoKBMSl+T2vgQwGqp6z3FAWwDCoIOjIibKjzPc00CgW7oQ\n92gaWbYVd2mRb89UlOyrzITgLl3LqR9VXZbR4jggebXKDVukECpURmTKCn1L\n1oH7xHzCqn1ojytJUX6KXCQB9BbkYuCKmM1Wlgqcolz3AOl/vCkYp/gw1el9\nnEexgKx/NBazhfq2AZARww/gXsP+F13KBJ8lTTiMmBZWKtSTQwKLShSvAIS9\nNmWriB7+xpeKWo7KnRhkGXiFgkKhTdAaOM7+9STev2qfa6+ytAzu3UcZmJB7\nzLHvntrTJLVTUxcF9+orsXPMF6pnxdWgttpNPqS3okmufxUpZzCTtVE43YhT\nd/wEOV4acoNe4fDYgeA8RthQ+wzqOTshOWX1M6su8PMKY7UucSk/sLmjfUxz\nsoqsWzhUOalDIxbj+3coHbpLCxxviEUby3F3IzEvVSxCh+PjXBgvbEJfH41w\n6OPpKvbSawb2z5gY61Tto8yR4s+f1UoXlA0KLh1oAuj3oWhkYZMQvsuq+y7p\nHkD0rfivvVE74o2mCYUiRjqNqj1DY9edLMcyGfpGXJHLjgzrizFwOZWYFLtS\nDwI/\r\n=e8bW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCL3zZUrKm+EPT1cqQ9fbSPa+L7louZe9CmYl5JtwsZxAIhAMmx5Tl1Ka3jSB0ObMMWG+KPiWHccoFn7etVsYhFZWuW"}]},"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_1.4.1_1641669832056_0.1712661118380021"},"_hasShrinkwrap":false},"1.4.2":{"name":"vue-condition-watcher","version":"1.4.2","description":"Vue composition API for automatic data fetching. With conditions as the core. Easily control and sync to URL query string by conditions","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npx rimraf dist && npx rimraf esm && npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"yarn format && vue-demi-switch 3 && jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable","fetch","fetch-data"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"engines":{"node":">=12"},"dependencies":{"vue-demi":"^0.12.1"},"peerDependencies":{"@nuxtjs/composition-api":"^0.24.4","@vue/composition-api":"^1.0.0","vue":"^2.0.0 || >=3.0.0"},"peerDependenciesMeta":{"@vue/composition-api":{"optional":true},"@nuxtjs/composition-api":{"optional":true}},"devDependencies":{"@types/jest":"^26.0.24","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"^4.25.0","@typescript-eslint/parser":"^4.25.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"27.0.6","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"27.0.3","typescript":"^4.3.5","vue":"^3.2.26","vue-router":"^4.0.10"},"gitHead":"1cf90f3107272d19c5ab00bb0b69e2195972338f","_id":"vue-condition-watcher@1.4.2","_nodeVersion":"14.18.2","_npmVersion":"8.3.0","dist":{"integrity":"sha512-1BDPvwDe+HUWEE1pN3SKaO11eWTY2nHsX/m0dQAV2ltJ7J+ibPBIWLU/z07+rURWu6YhSlhFHpuzsKZxpeXd0A==","shasum":"9d9e23befa592c0804ed0ad0eeda848790ed4605","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-1.4.2.tgz","fileCount":31,"unpackedSize":84944,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2xIDCRA9TVsSAnZWagAAQ9cP/AwZdsUSnL1KeLKPJYnO\ngor6+2CQEp0XcE3fGT/NNnpF58Al67dTpjYlH+Y+CashzDvTj5ukmGa4YbFe\nU/h8vmsjrwc0c+O2p+OZbTMdYw9q1mI5TJ5OXQsk2D6souBQ+iXkNK+R2RDq\naCuegefp/ks0UxzObre9fR/qaYNN/R/5gos6j9amQV58TKLbkOM/T3vhfvqM\ncZg8Ri9mv5SpMYyLIOFMJPA/UaWSvhTyX4UZGYGbKLkg/PDhcg1/OPao4MBE\nPk5Ya4MTBLEusCW27v5HYtobYXiHLwjD4JDXLyOX3+zEXTMRPWS01bRRlxmn\nmEl+YgZIHif2GDYtnK/3hyLQbysnJlEMzFEoNOdW7O0hEsvdJaBtB9UhDZeA\n/0hRsrbgfcFvEAXM1TOg2+H4i5NHYdB2hWfPhXOYChe6bkPTpmzXgWk9P/7G\n6bqUAby1qlP9HClYIGYEOai5LUKLPiSx+F6lkOTtJtFi8YHBtZZjVNdiiuGb\nitl5BGNoP14x2lUM21etPg2vqF2YG/sbFG2HeCGUHGYibyJief+E7f2YC4Gy\nfG9rnvBjqLP5hcaTp8cuSk7wE8EAkvpx8jHUZUJmGryGOpYlMOvUEE9rUyaW\nBZUrekU2SjPlJOGWP+ia8BjDMjFOgq6L346O1fMrscvAry4QF8Dz+iiKtZ53\nRd0e\r\n=fcPN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBISZkmjowJXOshVXFRSZ8nAX3j0w+tlfcW1WhwEDaUNAiEAi2mKP8Dryoa3oELIIaN0Ze6SCScqZoVp9CeBuRqIRbk="}]},"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_1.4.2_1641746946970_0.9087415734777871"},"_hasShrinkwrap":false},"1.4.3":{"name":"vue-condition-watcher","version":"1.4.3","description":"Vue composition API for automatic data fetching. With conditions as the core. Easily control and sync to URL query string by conditions","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npx rimraf dist && npx rimraf esm && npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"yarn format && vue-demi-switch 3 && jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable","fetch","fetch-data"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"engines":{"node":">=12"},"dependencies":{"vue-demi":"^0.12.1"},"peerDependencies":{"@nuxtjs/composition-api":"^0.24.4","@vue/composition-api":"^1.0.0","vue":"^2.0.0 || >=3.0.0"},"peerDependenciesMeta":{"@vue/composition-api":{"optional":true},"@nuxtjs/composition-api":{"optional":true}},"devDependencies":{"@types/jest":"^26.0.24","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"^4.25.0","@typescript-eslint/parser":"^4.25.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"27.0.6","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"27.0.3","typescript":"^4.3.5","vue":"^3.2.26","vue-router":"^4.0.10"},"gitHead":"e5c36fdaf40bc76c6c89e5de4c66701d42a4f98a","_id":"vue-condition-watcher@1.4.3","_nodeVersion":"14.18.2","_npmVersion":"8.3.0","dist":{"integrity":"sha512-6ommtDNc5l8kfag2xBLFGT8lK8HBR4lGzWmn5F83dXC047objR429U9AA8p/vXvS8gMkh2TphjgyIS33+EmBKA==","shasum":"b478fd282a18277081e5afe04f09f14cc6df9abb","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-1.4.3.tgz","fileCount":31,"unpackedSize":86936,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh3xFKCRA9TVsSAnZWagAAboEQAJuaXqb0VvK73rxVeo2e\nm3Tz5aM6Q9/0I1o0Vrb4W2dDaJMp0wAcSQuiUJoB34AGbQJWldMduXo7B5Vv\nEyVP+wyqnFJ8yi0UkE0wsr6tJQ/Yj9AVNX6Kx1f2JpxVnbH5BKuzCvg5paQ8\nIx9Xj3DmoQL3G0jpUXkdkQwQJwYRSEqPsOenqOep0HHtfhrm3BBLqK3EnYfu\nfFEhNVeFOLl4tZUJyASt3qOXJn/91yYiOevV5dTAmf4ly7XTlsur0kAE1l0t\niKyIlPS+ozjL8tSw62RFh4s4LKuk+j4Y1JgwKb08D2XxZdYSUJYSxnRYB2Rs\nHFdm/2UR9Gfl7cHnuovQlpDgErI/ICKzEVy1kYxn5o/LcAwiaByMHyevg+SU\npQxucFayl28H6EeLQFcLwg51/p5KONkQIfk5NRRiQJg95bkXQdySYOUlwT1r\nrZ9lL+XvTk5Re6JcMtDXTdDDA3ih/u1JC9MYk+FT4aQPTOp9aQPBEMeNnkzJ\nIiOhzv312DhJk1ZBxH9r/ENoNwqHFssElaKmnjlxf1x950a7c4z35t4YUu5W\ne9RDrTjdVoiFEpXzqPrAONQUAr7KacznciLFz7NpPC55ZAIIXTmo8/JMpNHr\ndqxiDcOoIWXgrxfU1eDyIQBEEivD0N1Hgyji1d6zlsJbHMW0Q/buKUOzG5i4\ntk1p\r\n=M1NS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBJ/dC+GTnTzIFnxF7t3i2gMze7HxAjGrmInB3Q1WFCQAiAveRgysEmgy5ds8z1z1NJs0bVzTxEwW2d8CyUALsn8mA=="}]},"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_1.4.3_1642008906778_0.49241164641489865"},"_hasShrinkwrap":false},"1.4.4":{"name":"vue-condition-watcher","version":"1.4.4","description":"Vue composition API for automatic data fetching. With conditions as the core. Easily control and sync to URL query string by conditions","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npx rimraf dist && npx rimraf esm && npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"yarn format && vue-demi-switch 3 && jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable","fetch","fetch-data"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"engines":{"node":">=12"},"dependencies":{"vue-demi":"^0.12.1"},"peerDependencies":{"@nuxtjs/composition-api":"^0.24.4","@vue/composition-api":"^1.0.0","vue":"^2.0.0 || >=3.0.0"},"peerDependenciesMeta":{"@vue/composition-api":{"optional":true},"@nuxtjs/composition-api":{"optional":true}},"devDependencies":{"@types/jest":"^26.0.24","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"^4.25.0","@typescript-eslint/parser":"^4.25.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"27.0.6","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"27.0.3","typescript":"^4.3.5","vue":"^3.2.26","vue-router":"^4.0.10"},"gitHead":"8f845e70a3a61a9c1ffef7e4d9b1ebe7eb03e2b8","_id":"vue-condition-watcher@1.4.4","_nodeVersion":"14.18.2","_npmVersion":"8.3.0","dist":{"integrity":"sha512-AK3MWGerpuzeTqJq6WZVi6sIERGIez/XtFIBLX8dxTsNtA7AxU5NLBTjWuuO3mgVk69roNR82tu+MakmhrYfUg==","shasum":"8b41d01079c7fca33b8d049a1f1292bc340a4cec","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-1.4.4.tgz","fileCount":31,"unpackedSize":87072,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDy6HusQ3T7qCVLa0wh4/h3gPyo3PNu9Ha+407DC7sr4QIgNaOzeTs71NArSocahakLWTiWcyYDLIvqPrF2MlUUdhw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVENLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo1gRAAhzzCTttNARDAITPVrclVoMBdP1zzSO9po6WpCkfNwL+517Go\r\nkA9v5meWRbvgu/b1KjTqrfbPmJuWAvhy0IlAAYGx4Z9T4QorzdpSd/Uy3ere\r\nv2ZoKTe3TpGnQDLetfHIEQ0IjELx4+aBWZWJqoM0EPv+cL3CtrKsrK59nC/t\r\nSpomHjnpuH+EnFioK0f53DSRZTMHftVP2RYKyZCxPfDyEtdq7+DyIWLzez1H\r\ntOeptm/CuPn8tKyGQBacRqgJ1fnCgKS1fR0Aevg+aczkv8lj7GupmvMhcKzl\r\n0OgF1BX5CFxCDvyQ+ZMqWUrLyNbTWQFk0AL2ZoxWj1y0C7t54jyP+qsX8KzW\r\nug+BsXGsWfTz18LgDO1Wr3RzLmzUZq5qkD4+JcoccPeDZbqvW5F4cjSre1Qh\r\nzs3fwYpp7r32ACo7FyEYFJVnTGfJQMg05vAhCZifv2KV+DA7WrwqXg1HVRk8\r\nG/E4DwKdG/QUiGW7xxl49CwsQbaPtiN5Jn2JDMKEcPU//jLcK3VmQQr5zrqy\r\n91dEDGrLcytw9/4JIRNNmCvpLrNMv8TzTxOrbprQHHYagxZtJY6ILtawFYQL\r\n4tDOEc5WXWuICI6vE65pU6vgoJpyRIiCYAYBBt2MPt582zKYsb1y6Hs5emi7\r\nSNsKcDwDsubBCIJ9bU2N4wRn5CKTbXdTeIE=\r\n=D/A8\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_1.4.4_1649689418834_0.9695352418027916"},"_hasShrinkwrap":false},"1.4.5":{"name":"vue-condition-watcher","version":"1.4.5","description":"Vue composition API for automatic data fetching. With conditions as the core. Easily control and sync to URL query string by conditions","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npx rimraf dist && npx rimraf esm && npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"yarn format && vue-demi-switch 3 && jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable","fetch","fetch-data"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"engines":{"node":">=12"},"dependencies":{"vue-demi":"^0.12.1"},"peerDependencies":{"@nuxtjs/composition-api":"^0.24.4","@vue/composition-api":"^1.0.0","vue":"^2.0.0 || >=3.0.0"},"peerDependenciesMeta":{"@vue/composition-api":{"optional":true},"@nuxtjs/composition-api":{"optional":true}},"devDependencies":{"@types/jest":"^26.0.24","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"^4.25.0","@typescript-eslint/parser":"^4.25.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"27.0.6","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"27.0.3","typescript":"^4.3.5","vue":"^3.2.26","vue-router":"^4.0.10"},"gitHead":"0295fc81dd762494ce753dc785a67a660e50dd42","_id":"vue-condition-watcher@1.4.5","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-9EjL8bptWqM3nEmJH6B1gUdLjx6Al5iO1snDS3nEkzC1e33zlTBOPDA6zDwPixujEulR9sirUaIP0a+lcXznbQ==","shasum":"c26ef47f860a41227e72e54ed01e834a2bee852c","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-1.4.5.tgz","fileCount":31,"unpackedSize":87524,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEbhwE/jKO0ggL88/qb7D++H2u65j+P8VTZcZ7sJau5sAiEAlgBMtg9d+gAg2NSP8WIrJm1kQU3jWr05Vv+Gx2RtkHc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiV+54ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqq6w//THuihPoIOqw0DMUpDGJSlh7ZZCN1bCrSzje3f/1xCiapl8V8\r\nZe2BkqqjIUH4BZvd8z4TsxMiTm92Ry3vVwtwUyCElFB3Bz72fkrQPBtItgZ2\r\nmm6wbXqzMPnjcnqZat9LSyaieISSSCOD6ctYw1e9f2STGDeV4OYj+K8GnJcW\r\nC0iakNdJVvmzHSQbmKG+trP0TmZXk4uq5DqWp6HS7R8KYZlcx+WxliPRQPHS\r\nedDB6XSeC+vdEsaBTZBLus9eudvhw8dVeDzUrPX6eMKJjDNQSFLGSQE4ORRQ\r\nfHNPiThUewxcpaoAZ6NjG2yHzlhw0zyXsJ3JnjxARxznPWs3cT9ppdt+CjrT\r\nOr5qD5BZmir5lW24P6OCMU5dxKll2TdHreraczWjovNdxFKTIRVZA5O1X0ud\r\nbqfGIu9aALRRsuOi1iNpG7TXulhztcQCv+IHeRZa5ksFT3KrNIc685iN9XyX\r\nHH8YZ9nct6hhn3eJcZ/FkYcuHW7HAbOgAPeRXOn8MAv36C2ZldyS9qOUyYfk\r\nHVAHO1fvdAxjTB4lP4AF3dPh/Qvgv/6Y2sk6gIUtYdZnHfPNSj8BSFBUoLnH\r\n+iksfilWzwtmx5j0Fa2mTEkwweSgYfcMmnwaT6KmPXkUUrjlyoQXaV4v50KB\r\nWCugMnD74kvmNwlCGV39I2Z5Dpn//JssOWc=\r\n=TAwM\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_1.4.5_1649929848159_0.7380420602234192"},"_hasShrinkwrap":false},"1.4.6":{"name":"vue-condition-watcher","version":"1.4.6","description":"Vue composition API for automatic data fetching. With conditions as the core. Easily control and sync to URL query string by conditions","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npx rimraf dist && npx rimraf esm && npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"yarn format && vue-demi-switch 3 && jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable","fetch","fetch-data"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"engines":{"node":">=12"},"dependencies":{"vue-demi":"^0.12.1"},"peerDependencies":{"@nuxtjs/composition-api":"^0.24.4","@vue/composition-api":"^1.0.0","vue":"^2.0.0 || >=3.0.0"},"peerDependenciesMeta":{"@vue/composition-api":{"optional":true},"@nuxtjs/composition-api":{"optional":true}},"devDependencies":{"@types/jest":"^26.0.24","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"^4.25.0","@typescript-eslint/parser":"^4.25.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"27.0.6","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"27.0.3","typescript":"^4.3.5","vue":"^3.2.26","vue-router":"^4.0.10"},"gitHead":"8f9e858282645e1ba59e49da7899f0fd0113c9a8","_id":"vue-condition-watcher@1.4.6","_nodeVersion":"14.18.2","_npmVersion":"8.3.0","dist":{"integrity":"sha512-OmpTvG31Q0KpLGZ1m1PIVfDSEIghx3jVzEkdvqiN1uYfBNS/AsvhrWE3do+NFACqyz/LpZZ2HzTJ7gdbO1+3Dw==","shasum":"9e8d3917ce341fe48b33623f5f56db93a56a6bfb","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-1.4.6.tgz","fileCount":31,"unpackedSize":87488,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDE+0D5dsRYPsEfvO53MXJODfcmcDfnGcEPrv20e3ChMgIhAIpcN2bAqyw7URkB5dLpONzn0YMoRUUvCkx0XeiLw4ke"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiWEkGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrVqw//eBzb7WcBW/Q2a2Pp882Bc+PGRLMY4ygv0VLOJiVG/N6NFV+U\r\nuAtF1YVKQazUSbxAQ77QDKILvK/KE7JzpwLgnR72EumOwzATgcIiLlrDHn5M\r\nqhw/kJrpvsaU1if7blWjp/FskgJ982TrS6th8jvuDahCTu+PUo2BH3uJsTxu\r\nWEXO5ZcCQIN6RpZrcy2gtvmtJFhtefls4xJb5KPjdYHOwpQNC4vhClPjywqc\r\nlF12HAjoLPRT3eO/OjUTqd3RTRiUzC14FBPBJwVjNbcRTTRxmDAD6aEL04tk\r\nA86r8f+K5nm0zvhDxlc4RLzxvHM1cy3aZnD9SNrcaGX18CGUumauq03uw48X\r\nOgsQQtZvi4FBv/GR8z2F5E1ERp7aqefSFDuklrwiRR7QCfO69XJURzrJf76Q\r\nWQRaSC7waOEZI8shi4mpAuqCyfOhXuSGI8qbJFzYwuLkyZBYwd8yiEi6V5Ow\r\nn61SIT922r8mMt88sbgsM4tTjvLXD3cyV65CnhGpLpzK8T/vpAV2OnYtzxVN\r\nCXBEGBg/vqubPL2yQHkjYHGuWK1wJwKaQQO7khZoB7dlpcUVfUFfDbpNrhpx\r\nBpgtbjJgnDFRAxfg/1qrdJSJ7mGadupjmrA+wlckRpL3kY8EWKi4eF+KUzc3\r\nVfjT1PtfJUy+Eb8z1dSs6gQvIpN28CnvwaQ=\r\n=o7yH\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_1.4.6_1649953029943_0.39021845926313903"},"_hasShrinkwrap":false},"1.4.7":{"name":"vue-condition-watcher","version":"1.4.7","description":"Vue composition API for automatic data fetching. With conditions as the core. Easily control and sync to URL query string by conditions","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npx rimraf dist && npx rimraf esm && npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"yarn format && vue-demi-switch 3 && jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable","fetch","fetch-data"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"engines":{"node":">=12"},"dependencies":{"vue-demi":"^0.12.1"},"peerDependencies":{"@nuxtjs/composition-api":"^0.24.4","@vue/composition-api":"^1.0.0","vue":"^2.0.0 || >=3.0.0"},"peerDependenciesMeta":{"@vue/composition-api":{"optional":true},"@nuxtjs/composition-api":{"optional":true}},"devDependencies":{"@types/jest":"^26.0.24","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"^4.25.0","@typescript-eslint/parser":"^4.25.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"27.0.6","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"27.0.3","typescript":"^4.3.5","vue":"^3.2.26","vue-router":"^4.0.10"},"gitHead":"07819f5224ac2bd5c002d2d56af87b6205c7a772","_id":"vue-condition-watcher@1.4.7","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-gRF7pfqAWchv5tJrXEQfY+5Dve/mm7VWzMn1JWqMvR/r6CMAsz3MJeYVYkzqUmsF6+bHyo8Cv3mbpyVS0PbJrA==","shasum":"abce7cd501134a225738397aabfc4537b1b6277b","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-1.4.7.tgz","fileCount":32,"unpackedSize":99486,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5skDbVOOpZ0KpJI2rnFtchYkrILvyGv5FjLWefoV64wIgV+wvPRBNbGfbyKaJbDLXx7FDB174eqagjB0d3mEcZYo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiWRkRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr3Mw/+Mxb/LmrTKyE4KUv/S/cKuHp+9yPscyNS7ATYr6c4xqdpzLzW\r\nVP7kdxWgQyue7ie816PpwetCzPaw2+fjNNl7r+JZGO6p0wy4zZ1CvZlfXiBs\r\nlEMTZWGTIt+05wu99z2cjU7NX3YQWmCfdLHXuexP7W+SrD0huFV49qGTaFf8\r\nd2bnCQYkoFSUoOkI8ukItzLCrHfNMG6ZvdwxDUS7BIzJlOhmJ4nQ8f/hwQsO\r\n5pJs89kDIJ/v67a4ckzjRnsOvN6nq/yspMopmjmd1+o14euLSs5rl5Un4kA6\r\nPV/aTK4cMt+TRpct95/9PC7SsMvmgS8EwkBb2O8DNfyYMoqRCbXL9yLhFTtw\r\nqXyALI3kBG6VgcqpORPaq5XqHaM2dBpJm8qHApc/cXtA7oZ3r5PLaiJBnyaD\r\nMOfSxdmEKWjptSaI3lFFeNAfqUegbb9G0F7AlzyYG0/8nRiKoBVMrTe5z5yE\r\nGvXvpbukZc2RppEnInETzEKPL2hFe90zTNnRtjp7dIKNdKveZ0lytLdGB/K1\r\nZ65J67vCtI4m8bI46nsYNM2rYenS8OYnrm5pfFSWxne9lR+KAfSFNsDPlFkX\r\n3Vkj4fa4LDfAV26vG1qeI+g5xxgfB6DdnwddI63mAhNL2CgBVzHI1OjiDZXt\r\nVtH61MRhDDtMrTjqY3w6u9FCYhYd0o65mUM=\r\n=I0hY\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_1.4.7_1650006289440_0.7895374962958761"},"_hasShrinkwrap":false},"2.0.0-beta.0":{"name":"vue-condition-watcher","version":"2.0.0-beta.0","description":"Vue composition API for automatic data fetching. With conditions as the core. Easily control and sync to URL query string by conditions","main":"./core/dist/index.js","module":"./core/dist/index.esm.js","types":"./core/dist/core/index.d.ts","packageManager":"pnpm@7.5.0","exports":{"./package.json":"./package.json",".":{"import":"./core/dist/index.mjs","module":"./core/dist/index.esm.js","require":"./core/dist/index.js","types":"./core/dist/core/index.d.ts"},"./_internal":{"import":"./_internal/dist/index.mjs","module":"./_internal/dist/index.esm.js","require":"./_internal/dist/index.js","types":"./_internal/dist/_internal/index.d.ts"}},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","vue-hooks","composition-api","vue-composable","composable","fetch-data"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"pnpm types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["pnpm lint:fix","pnpm format","git add"]},"engines":{"node":">=14","pnpm":"7"},"devDependencies":{"@types/node":"^17.0.34","@typescript-eslint/eslint-plugin":"^5.25.0","@typescript-eslint/parser":"^5.25.0","@vue/composition-api":"^1.7.0","@vue/test-utils":"^2.0.2","bunchee":"^1.9.0","eslint":"8.15.0","eslint-config-prettier":"8.5.0","husky":"2.4.1","jsdom":"^20.0.0","lint-staged":"8.2.1","prettier":"^2.0.5","rimraf":"^3.0.2","turbo":"^1.3.1","typescript":"^4.6.4","vite":"^3.0.0","vitest":"^0.18.0","vue":"^3.2.37","vue-condition-watcher":"2.0.0-beta.0","vue2":"npm:vue@2.6.14"},"dependencies":{"vue-demi":"latest"},"scripts":{"clean":"turbo run clean","build":"turbo run build","types:check":"turbo run types:check","format":"prettier --write ./**/*.ts","lint":"eslint . --ext .ts --cache","lint:fix":"pnpm lint --fix","test":"pnpm build && pnpm test:3","test:2":"vue-demi-switch 2 vue2 && vitest run","test:3":"vue-demi-switch 3 && vitest run","test:all":"pnpm format && pnpm build && pnpm test:3 && pnpm test:2 && vue-demi-switch 3","watch":"tsc --watch","publish-beta":"pnpm publish --tag beta --no-git-checks","pack":"pnpm pack"},"_resolved":"","_integrity":"","_from":"file:vue-condition-watcher-2.0.0-beta.0.tgz","readme":"English | [中文](./README-zh_TW.md)\n\n# vue-condition-watcher <img src=\"https://slackmojis.com/emojis/43271-glasses/download\" width=\"40\" />\n\n[![CircleCI](https://circleci.com/gh/runkids/vue-condition-watcher.svg?style=svg)](https://circleci.com/gh/runkids/vue-condition-watcher) [![vue3](https://img.shields.io/badge/vue-3.x-brightgreen.svg)](https://vuejs.org/) [![vue3](https://img.shields.io/badge/vue-2.x-brightgreen.svg)](https://composition-api.vuejs.org/) [![npm](https://img.shields.io/npm/v/vue-condition-watcher.svg)](https://www.npmjs.com/package/vue-condition-watcher)  [![npm](https://img.shields.io/npm/dt/vue-condition-watcher.svg)](https://www.npmjs.com/package/vue-condition-watcher) [![bundle size](https://badgen.net/bundlephobia/minzip/vue-condition-watcher)](https://bundlephobia.com/result?p=vue-condition-watcher) [![npm](https://img.shields.io/npm/l/vue-condition-watcher.svg)](https://github.com/runkids/vue-condition-watcher/blob/master/LICENSE)\n\n## Introduction\n\nVue composition API for automatic data fetching. With `conditions` as the core. Easily control and sync to URL query string by `conditions`\n> requires Node.js 12.0.0 or higher.\n\n## Features\n\n  ✔ Automatically fetch data whenever `conditions` changes<br>\n  ✔ `null` `undefined` `[]` `''` will be automatically filtered out before sending the request<br>\n  ✔ Refreshing the page will automatically initialize `conditions` according to the query string of the URL, and will automatically correspond to the type ( string, number, array, date )<br>\n  ✔ Whenever `conditions` changes, the URL query string will be automatically synchronized, and the previous page and next page will work normally<br>\n  ✔ Avoid `race condition`, ensure requests are first in, first out, and can also avoid repeated requests<br>\n  ✔ Do Dependent Request before updating `data`<br/>\n  ✔ Easily handle paging needs, simply customize your own paging logic<br/>\n  ✔ Automatically re-request data when web page is refocused or network disconnection resumes<br/>\n  ✔ Support polling, the polling period can be adjusted dynamically<br/>\n  ✔ The caching mechanism allows data to be rendered faster without waiting for loading animations<br/>\n  ✔ No need to wait for the return result, you can manually change `data` to make the user experience better<br/>\n  ✔ TypeScript support. <br/>\n  ✔ Works for Vue 2 & 3 by the power of [vue-demi](https://github.com/vueuse/vue-demi)\n  \n  <img src=\".github/vue-conditions-watcher.gif\"/>\n\n## Navigation\n\n- [Installation](#installation)\n- [Quick Start](#quick-start)\n- [Configs](#configs)\n- [Return Values](#return-values)\n- [Execute Fetch](#execute-fetch)\n- [Prevent Request](#prevent-request)\n- [Manually Trigger Request](#manually-trigger-request)\n- [Intercepting Request](#intercepting-request)\n- [Mutations data](#mutations-data)\n- [Conditions Change Event](#conditions-change-event)\n- [Fetch Event](#fetch-event)\n- [Polling](#polling)\n- [Cache](#cache)\n- [History Mode](#history-mode)\n- [Lifecycle](#lifecycle)\n- [Pagination](#pagination)\n- [Changelog](https://github.com/runkids/vue-condition-watcher/blob/master/CHANGELOG.md)\n\n## Demo\n\n[👉 Download Vue3 example here](https://github.com/runkids/vue-condition-watcher/tree/master/examples/vue3) (Use [Vite](https://github.com/vuejs/vite))\n\n```bash\ncd examples/vue3\nyarn \nyarn serve\n````\n\n[👉 Download Vue2 @vue/composition-api example here](https://github.com/runkids/vue-condition-watcher/tree/master/examples/vue2)\n\n```bash\ncd examples/vue2\nyarn \nyarn serve\n````\n\n### 👉 Online demo\n\n  - [Demo with Vue 3 on StackBlitz](https://stackblitz.com/edit/vitejs-vite-tsvfqu?devtoolsheight=33&embed=1&file=src/views/Home.vue)\n\n## Getting Started\n\n### Installation\n\nIn your project\n\n```bash\nyarn add vue-condition-watcher\n```\n\nOr with npm\n\n```bash\nnpm install vue-condition-watcher\n```\n\nCDN\n\n```javascript\nhttps://unpkg.com/vue-condition-watcher/dist/index.js\n```\n\n### Quick Start\n\nThis is a simple example for `vue-next` and `vue-router-next`\n\nFirst you need to create a fetcher function, use the native `fetch` or libs like Axios. Then import `useConditionWatcher` and start using it.\n\n```javascript\ncreateApp({\n  template: `\n    <div class=\"filter\">\n      <input v-model=\"conditions.name\">\n      <button @click=\"execute\">Refetch</button>\n    </div>\n    <div class=\"container\">\n      {{ !loading ? data : 'Loading...' }}\n    </div>\n    <div v-if=\"error\">{{ error }}</div>\n  `,\n  setup() {\n    const fetcher = params => axios.get('/user/', {params})\n    const router = useRouter()\n\n    const { conditions, data, loading, error } = useConditionWatcher(\n      {\n        fetcher,\n        conditions: {\n          name: ''\n        },\n        history: {\n          sync: router\n        }\n      }\n    )\n    return { conditions, data, loading, error }\n  },\n})\n.use(router)\n.mount(document.createElement('div'))\n```\n\nYou can use the value of `data`, `error`, and `loading` to determine the current state of the request.\n\nWhen the `conditions.name` value changes, will fire the `lifecycle` to fetching data again.\n\nUse `config.history` of sync to `sync: router`. Will store the conditions within the URL query string every time conditions change.\n\n### Basic Usage\n\n```js\nconst { conditions, data, error, loading, execute, resetConditions, onConditionsChange } = useConditionWatcher(config)\n```\n\n### Configs\n\n- `fetcher`: (⚠️ Required) promise function for data fetching.\n- `conditions`: (⚠️ Required) `conditions` default value.\n- `defaultParams`: The parameters that will be preset with each request and cannot be modified.\n- `initialData`: `data` returns null by default. If you want to define the initial data, you can use this parameter setting.\n- `immediate`: If you don't want to automatically fetch data in the first time, you can set this parameter to `false`, and the request will not be executed until `conditions` is changed or `execute` is executed.\n- `manual`: Instead manually execute `execute` function to trigger the request, even if `conditions` changes, it will not be automatically requested.\n- `history`: Based on vue-router (v3 & v4), enables synchronization of `conditions` to URL's Query String. Synchronize Query String to `conditions` when the page is refreshed\n- `pollingInterval`: Enable polling, can be `number` or `ref(number)` in milliseconds\n- `pollingWhenHidden`: Continue polling whenever you leave the focused screen, the default is `false`.\n- `pollingWhenOffline`: continue polling whenever the network is disconnected, the default is `false`.\n- `revalidateOnFocus`: After re-focusing the screen, re-request once, the default is `false`.\n- `cacheProvider`: `vue-condition-watch` will cache data behind, you can pass this parameter to customize `cacheProvider`\n- `beforeFetch`: You can last modify the `conditions` before the request, or you can terminate the request at this stage.\n- `afterFetch`: you can adjust the result of `data` before `data` is updated\n- `onFetchError`: Triggered when an error occurs in the request, you can adjust `error` & `data` before `data` and `error` are updated\n\n### Return Values\n\n- `conditions`:<br/>\n Type: `reactive`<br/>\n Reactive objects (conditions based on config) are the main core of `vue-conditions-watcher`. Whenever `conditions` changes, the [lifecycle](#lifecycle) will be triggered.<br/>\n- `data`:<br/>\nType: `👁‍🗨 readonly & ref`<br/>\nDefault Value: `undefined`<br/>\nThe return result of `config.fetcher`, will be `undefined` again when conditions changed.<br/>\n- `error`:<br/>\nType: `👁‍🗨 readonly & ref`<br/>\nDefault Value: `undefined`<br/>\n`config.fetcher` error return result<br/>\n- `isFetching`:<br/>\nType: `👁‍🗨 readonly & ref`<br/>\nDefault Value: `false`<br/>\nThe status of the request being processed<br/>\n- `loading`: When `!data.value & !error.value` will be `true`.\n- `execute`: Trigger the request again based on the current `conditions` and `defaultParams`.<br/>\n- `mutate`: `data` can be modified using this method<br/>\n**🔒 ( `data` default is only unmodifiable )**<br/>\n- `resetConditions`: Reset `conditions` back to their initial values\n- `onConditionsChange`: Fires when `conditions` changes, returning new and old values\n- `onFetchSuccess`: The request is successfully triggered and the original request result is returned\n- `onFetchError`: Triggered by request failure, returning the original request failure result\n- `onFetchFinally`: Fired when the request ends\n\n### Execute Fetch\n\n`conditions` is reactive proxy, easy execute fetch when `conditions` value changed\n\n```js\nconst { conditions } = useConditionWatcher({\n  fetcher,\n  conditions: {\n    page: 0\n  },\n  defaultParams: {\n    opt_expand: 'date'\n  }\n})\n\nconditions.page = 1 // fetch data with payload { page: 1, opt_expand: 'date' }\n\nconditions.page = 2 // fetch data with payload { page: 2, opt_expand: 'date' }\n```\n\nJust call `execute` function to send a request if you need.\n\n```js\nconst { conditions, execute: refetch } = useConditionWatcher({\n  fetcher,\n  conditions: {\n    page: 0\n  },\n   defaultParams: {\n    opt_expand: 'date'\n  }\n})\n\nrefetch() // fetch data with payload { page: 0, opt_expand: 'date' }\n```\n\nForce update conditions in time.\n\n```js\nconst { conditions, resetConditions } = useConditionWatcher({\n  fetcher,\n  immediate: false,\n  conditions: {\n    page: 0,\n    name: '',\n    date: []\n  },\n})\n\n// initial conditions then fire onConditionsChange event\nresetConditions({\n  name: 'runkids',\n  date: ['2022-01-01', '2022-01-02']\n})\n\n// Reset conditions\nfunction reset () {\n  // You can just use `resetConditions` function to initial value.\n  resetConditions()\n}\n```\n\n### Prevent Request\n\nSetting the `immediate` to false will prevent the request until the `execute`\nfunction called or conditions changed.\n\n```js\nconst { execute } = useConditionWatcher({\n  fetcher,\n  conditions,\n  immediate: false,\n})\n\nexecute()\n```\n\n### Manually Trigger Request\n\nBy default, `vue-condition-watcher` will automatically trigger fetch data. You can pass `manual` to disable the default fetch and then use `execute()` to trigger fetch data.\n\n```js\nconst { execute } = useConditionWatcher({\n  fetcher,\n  conditions,\n  manual: true,\n})\n\nexecute()\n```\n\n### Intercepting Request\n\nThe `beforeFetch` let you modify conditions before fetch.\nReceive two params:\n\n- Object of clone deep conditions.\n- Function called to stop fetch.\n\n```js\nuseConditionWatcher({\n  fetcher,\n  conditions: {\n    date: ['2022/01/01', '2022/01/02']\n  },\n  initialData: [],\n  async beforeFetch(conds, cancel) {\n    // await to check token before fetch\n    await checkToken ()\n\n    // conds is an object clone copy from config.conditions\n    const {date, ...baseConditions} = conds\n    const [after, before] = date\n    baseConditions.created_at_after = after\n    baseConditions.created_at_before = before\n\n    return baseConditions\n  }\n})\n```\n\nThe `afterFetch` can intercept the response before data updated, **also your can requests depend on each other 🎭**\n\n```js\nconst { data } = useConditionWatcher({\n  fetcher,\n  conditions,\n  async afterFetch(response) {\n    //response.data = {id: 1, name: 'runkids'}\n    if(response.data === null) {\n      return []\n    }\n    // requests depend on each other\n    // the loading is still be true until fire `onFetchFinally`\n    const finalResponse = await otherAPIById(response.data.id)\n\n    return finalResponse // [{message: 'Hello', sender: 'runkids'}]\n  }\n})\n\nconsole.log(data) //[{message: 'Hello', sender: 'runkids'}]\n```\n\nThe `onFetchError` can intercept the response before data and error updated\n\n```js\nconst { data, error } = useConditionWatcher({\n  fetcher,\n  conditions,\n  async onFetchError({data, error}) {\n    if(error.code === 401) {\n      await doSomething()\n    }\n\n    return {\n      data: [],\n      error: 'Error Message'\n    }\n  }\n})\n\nconsole.log(data) //[]\nconsole.log(error) //'Error Message'\n```\n\n### Mutations data\n\nIn some cases, mutations to `data` is a good way to make the user experience better, you don't need wait for the remote data.\n\nUse `mutate` function, you can update `data`. While `onFetchSuccess` will replace `data` again.\n\nTwo way to use mutate function:\n\n- First way, force update current data.\n\n```js\nmutate(newData)\n```\n\n- Second way, use function will receive deep clone data, and return updated data.\n\n```js\nconst finalData = mutate((currentData) => {\n  currentData[0].name = 'runkids'\n  return currentData\n})\n\nconsole.log(finalData[0]name === data.value[0].name) //true\n```\n\n#### 🏄‍♂️ Example for update a part of your data based on the current data\n\nPOST API will just return the updated data directly, so we don’t need to fetch list data again.\n\n```js\nconst { conditions, data, mutate } = useConditionWatcher({\n  fetcher: api.userInfo,\n  conditions,\n  initialData: []\n})\n\nasync function updateUserName (userId, newName, rowIndex = 0) {\n  console.log(data.value) //before: [{ id: 1, name: 'runkids' }, { id: 2, name: 'vuejs' }]\n\n  const response = await api.updateUer(userId, newName)\n\n  // 🚫 `data.value[0] = response.data`\n  // Not work! Because `data` is read only.\n\n  // Easy to use function will receive deep clone data, and return updated data.\n  mutate(currentData => {\n    currentData[rowIndex] = response.data\n    return currentData\n  })\n\n  console.log(data.value) //after: [{ id: 1, name: 'mutate name' }, { id: 2, name: 'vuejs' }]\n}\n\n```\n\n### Conditions Change Event\n\n`onConditionsChange` can help you handle conditions changed.\nWill return new value and old value.\n\n```js\nconst { conditions, onConditionsChange } = useConditionWatcher({\n  fetcher,\n  conditions: {\n    page: 0\n  },\n})\n\nconditions.page = 1\n\nonConditionsChange((conditions, preConditions)=> {\n  console.log(conditions) // { page: 1}\n  console.log(preConditions) // { page: 0}\n})\n```\n\n### Fetch Event\n\nThe `onFetchResponse`, `onFetchError` and `onFetchFinally` will fire on fetch request.\n\n```ts\nconst { onFetchResponse, onFetchError, onFetchFinally } = useConditionWatcher(config)\n\nonFetchResponse((response) => {\n  console.log(response)\n})\n\nonFetchError((error) => {\n  console.error(error)\n})\n\nonFetchFinally(() => {\n  //todo\n})\n```\n\n## Polling\n\nYou can use `pollingInterval` to automatically refetch data. Just enable it by setting `pollingInterval` value.\n\n```js\nuseConditionWatcher({\n  fetcher,\n  conditions,\n  pollingInterval: 1000\n})\n```\n\nAnd also you can use `ref`, it's will be reactivity.\n\n```js\nconst pollingInterval = ref(0)\n\nuseConditionWatcher({\n  fetcher,\n  conditions,\n  pollingInterval: pollingInterval\n})\n\nfunction startPolling () {\n  pollingInterval.value = 1000\n}\n\nonMounted(startPolling)\n```\n\nThe `vue-condition-watcher` default will disable polling when you leave the screen in focus or when the network is disconnected.\n\nYou can turn off the default behavior by setting:\n\n- `pollingWhenHidden=true` to continue polling after leaving focus\n- `pollingWhenOffline=true` will continue polling if the network is disconnected\n\nYou can also retry the request after enabling the focus screen to make sure the data is up to date.\n\n- `revalidateOnFocus=true`\n\n```js\nuseConditionWatcher({\n  fetcher,\n  conditions,\n  pollingInterval: 1000,\n  pollingWhenHidden: true, // pollingWhenHidden default is false\n  pollingWhenOffline: true, // pollingWhenOffline default is false\n  revalidateOnFocus: true // revalidateOnFocus default is false\n})\n```\n\n## Cache\n\nThe `vue-condition-watcher` preset will cache your first data in the current component. Then the following requests will use the cached data first, silently request new data behind, wait for the latest return result and compare whether the cached data is the same to achieve a similar preloading effect.\n\nYou can also set `cacheProvider` by function to share globally or cache data in `localStorage`, and with polling, it can achieve the effect of paging and synchronizing data.\n\n###### Global Based\n\n```js\n// App.vue\n<script lang=\"ts\">\nconst cache = new Map()\n\nexport default {\n  name: 'App',\n  provide: {\n    cacheProvider: () => cache\n  }\n}\n\n//Other.vue\nuseConditionWatcher({\n  fetcher,\n  conditions,\n  cacheProvider: inject('cacheProvider')\n})\n</script>\n```\n\n###### [LocalStorage Based](https://swr.vercel.app/docs/advanced/cache#localstorage-based-persistent-cache)\n\n```js\nfunction localStorageProvider() {\n  const map = new Map(JSON.parse(localStorage.getItem('your-cache-key') || '[]'))\n  window.addEventListener('beforeunload', () => {\n    const appCache = JSON.stringify(Array.from(map.entries()))\n    localStorage.setItem('your-cache-key', appCache)\n  })\n  return map\n}\n\nuseConditionWatcher({\n  fetcher,\n  conditions,\n  cacheProvider: localStorageProvider\n})\n```\n\n## History Mode\n\nYou can enable History mode by setting `config.history`, which is based on vue-router and supports v3 and v4 versions\n\n````js\nconst router = useRouter()\n\nuseConditionWatcher({\n  fetcher,\n  conditions,\n  history: {\n    sync: router\n  }\n})\n````\n\nYou can also set `history.ignore` to exclude the `key&value` in the `conditions` section from being synced to the URL query string.\n\n````js\nconst router = useRouter()\n\nuseConditionWatcher({\n  fetcher,\n  conditions: {\n    users: ['runkids', 'hello']\n    limit: 20,\n    offset: 0\n  },\n  history: {\n    sync: router,\n    ignore: ['limit']\n  }\n})\n\n// the query string will be ?offset=0&users=runkids,hello\n````\n\nHistory mode will convert the corresponding types of `conditions` default values ​​to query strings and will filter out `undefined`, `null`, `''`, `[]` values.\n\n````js\nconditions: {\n  users: ['runkids', 'hello']\n  company: ''\n  limit: 20,\n  offset: 0\n}\n// the query string will be ?offset=0&limit=20&users=runkids,hello\n````\n\nAlso automatically syncs the query string to `conditions` whenever you refresh the page\n\n````\nURL query string: ?offset=0&limit=10&users=runkids,hello&company=vue\n````\n\n`conditions` will become\n\n````js\n{\n  users: ['runkids', 'hello']\n  company: 'vue'\n  limit: 10,\n  offset: 0\n}\n````\n\nUse `navigation` to replace or push current location. The default value is 'push'\n```js\nuseConditionWatcher({\n  fetcher,\n  conditions: {\n    limit: 20,\n    offset: 0\n  },\n  history: {\n    sync: router,\n    navigation: 'replace'\n  }\n})\n```\n\n\n\n## Lifecycle\n\n<img src=\".github/vue-condition-watcher_lifecycle.jpeg\"/>\n\n- ##### `onConditionsChange`\n\n  Fire new conditions value and old conditions value.\n\n  ```js\n  onConditionsChange((cond, preCond)=> {\n    console.log(cond)\n    console.log(preCond)\n  })\n  ```\n\n- ##### `beforeFetch`\n\n  You can modify conditions before fetch, or you can call second of arguments to stop fetch this time.\n\n  ```js\n  const { conditions } = useConditionWatcher({\n    fetcher,\n    conditions,\n    beforeFetch\n  })\n\n  async function beforeFetch(cond, cancel){\n    if(!cond.token) {\n      // stop fetch\n      cancel()\n      // will fire onConditionsChange again\n      conditions.token = await fetchToken()\n    }\n    return cond\n  })\n  ```\n\n- ##### `afterFetch` & `onFetchSuccess`\n\n  `afterFetch` fire before `onFetchSuccess`<br/>\n  `afterFetch` can modify data before update.\n  ||Type|Modify data before update| Dependent request |\n  |-----|--------|------|------|\n  |afterFetch| config | ⭕️ | ⭕️ |\n  |onFetchSuccess  | event | ❌ | ❌ |\n\n  ```html\n    <template> \n      {{ data?.detail }} <!-- 'xxx' -->\n    </template>\n  ```\n\n   ```js\n  const { data, onFetchSuccess } = useConditionWatcher({\n    fetcher,\n    conditions,\n    async afterFetch(response){\n      //response = { id: 1 }\n      const detail = await fetchDataById(response.id)\n      return detail // { id: 1, detail: 'xxx' }\n    })\n  })\n\n  onFetchSuccess((response)=> {\n    console.log(response) // { id: 1, detail: 'xxx' }\n  })\n  ```\n\n- ##### `onFetchError(config)` & `onFetchError(event)`\n\n  `config.onFetchError` fire before `event.onFetchError`<br/>\n  `config.onFetchError` can modify data and error before update.\n  ||Type|Modify data before update|Modify error before update|\n  |-----|--------|------|------|\n  |onFetchError| config | ⭕️ | ⭕️ |\n  |onFetchError  | event | ❌ | ❌ |\n\n   ```js\n  const { onFetchError } = useConditionWatcher({\n    fetcher,\n    conditions,\n    onFetchError(ctx){\n      return {\n        data: [],\n        error: 'Error message.'\n      }\n    })\n  })\n\n  onFetchError((error)=> {\n    console.log(error) // origin error data\n  })\n  ```\n\n- ##### `onFetchFinally`\n\n  Will fire on fetch finished.\n\n  ```js\n  onFetchFinally(async ()=> {\n    //do something\n  })\n  ```\n\n## Make It Reusable\n\nYou might need to reuse the data in many places. It is incredibly easy to create reusable hooks of `vue-condition-watcher` :\n\n```js\nfunction useUserExpensesHistory (id) {\n  const { conditions, data, error, loading } = useConditionWatcher({\n    fetcher: params => api.user(id, { params }),\n    defaultParams: {\n      opt_expand: 'amount,place'\n    },\n    conditions: {\n      daterange: []\n    }\n    immediate: false,\n    initialData: [],\n    beforeFetch(cond, cancel) {\n      if(!id) {\n        cancel()\n      }\n      const { daterange, ...baseCond } = cond\n      if(daterange.length) {\n        [baseCond.created_at_after, baseCond.created_at_before] = [\n          daterange[0],\n          daterange[1]\n        ]\n      }\n      return baseCond\n    }\n  })\n\n  return {\n    histories: data,\n    isFetching: loading,\n    isError: error,\n    daterange: conditions.daterange\n  }\n}\n```\n\nAnd use it in your components:\n\n```js\n<script setup>\n  const { \n    daterange, \n    histories, \n    isFetching, \n    isError \n  } = useUserExpensesHistory(route.params.id)\n\n  onMounted(() => {\n    //start first time data fetching after initial date range\n    daterange = [new Date(), new Date()]\n  })\n</script>\n```\n\n```html\n<template>\n  <el-date-picker\n    v-model=\"daterange\"\n    :disabled=\"isFetching\"\n    type=\"daterange\"\n  />\n  <div v-for=\"history in histories\" :key=\"history.id\">\n    {{ `${history.created_at}: ${history.amount}` }}\n  </div>\n</template>\n```\n\nCongratulations! 🥳 You have learned how to use composition-api with `vue-condition-watcher`.\n\nNow we can manage the paging information use `vue-condition-watcher` .\n\n## Pagination\n\nHere is an example use Django the limit and offset functions and Element UI.\n\nCreate `usePagination`\n\n```js\nfunction usePagination () {\n  let cancelFlag = false // check this to cancel fetch\n\n  const { startLoading, stopLoading } = useLoading()\n  const router = useRouter()\n  \n  const { conditions, data, execute, resetConditions, onConditionsChange, onFetchFinally } = useConditionWatcher(\n    {\n      fetcher: api.list,\n      conditions: {\n        daterange: [],\n        limit: 20,\n        offset: 0\n      }\n      immediate: true,\n      initialData: [],\n      history: {\n        sync: router,\n        // You can ignore the key of URL query string, prevent users from entering unreasonable numbers by themselves.\n        // The URL will look like ?offset=0 not show `limit`\n        ignore: ['limit'] \n      },\n      beforeFetch\n    }, \n  )\n\n  // use on pagination component\n  const currentPage = computed({\n    get: () => conditions.offset / conditions.limit + 1,\n    set: (page) => {\n      conditions.offset = (page - 1) * conditions.limit\n    }\n  })\n\n  // onConditionsChange -> beforeFetch -> onFetchFinally\n  onConditionsChange((newCond, oldCond) => {\n    // When conditions changed, reset offset to 0 and then will fire beforeEach again.\n    if (newCond.offset !== 0 && newCond.offset === oldCond.offset) {\n      cancelFlag = true\n      conditions.offset = 0\n    }\n  })\n\n  async function beforeFetch(cond, cancel) {\n    if (cancelFlag) {\n      // cancel fetch when cancelFlag be true\n      cancel()\n      cancelFlag = false // reset cancelFlag \n      return cond\n    }\n    // start loading\n    await nextTick()\n    startLoading()\n    const { daterange, ...baseCond } = cond\n    if(daterange.length) {\n      [baseCond.created_at_after, baseCond.created_at_before] = [\n        daterange[0],\n        daterange[1]\n      ]\n    }\n    return baseCond\n  }\n\n  onFetchFinally(async () => {\n    await nextTick()\n    // stop loading\n    stopLoading()\n    window.scrollTo(0, 0)\n  })\n\n  return {\n    data,\n    conditions,\n    currentPage,\n    resetConditions,\n    refetch: execute\n  }\n}\n```\n\nAnd use it in your components:\n\n```js\n<script setup>\n  const { data, conditions, currentPage, resetConditions, refetch } = usePagination()\n</script>\n```\n\n```html\n<template>\n  <el-button @click=\"refetch\">Refetch Data</el-button>\n  <el-button @click=\"resetConditions\">Reset Offset</el-button>\n\n  <el-date-picker\n    v-model=\"conditions.daterange\"\n    type=\"daterange\"\n  />\n\n  <div v-for=\"info in data\" :key=\"info.id\">\n    {{ info }}\n  </div>\n\n  <el-pagination\n    v-model:currentPage=\"currentPage\"\n    v-model:page-size=\"conditions.limit\"\n    :total=\"data.length\"\n  />\n</template>\n```\n\nWhen daterange or limit changed, will reset offset to 0 and only fetch data again after reset offset.\n\n## TDOD List\n\n- [ ] Error Retry\n- [ ] Nuxt SSR SSG Support\n\n## Thanks\n\nThis project is heavily inspired by the following awesome projects.\n\n- [vercel/swr](https://github.com/vercel/swr)\n\n## 📄 License\n\n[MIT License](https://github.com/runkids/vue-condition-watcher/blob/master/LICENSE) © 2020-PRESENT [Runkids](https://github.com/runkids)\n","readmeFilename":"README.md","_id":"vue-condition-watcher@2.0.0-beta.0","_nodeVersion":"14.18.2","_npmVersion":"6.14.15","dist":{"integrity":"sha512-GVX0kdHu5Yx+PPBs40TvCvS7p0zuLjIpLPoK8Bgyp3LrLsVpbZQIVPUrJVA+WzyPZVFIv76+rOTkd0fwwWAvcA==","shasum":"1b335992310a26e8fe5e72d9bfe045c012844eb2","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-2.0.0-beta.0.tgz","fileCount":24,"unpackedSize":216312,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC8hi7yS9rMAu+8YP1e2FMZcsmEP86gSZY21wCSvbzSYAIhAOgbYUqJzXDA0sVswoCkruBK7M7eXJVive9PWNXQxTNK"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi096yACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqPyw//c97ngJwRTWDDi+AbOhkDYq88TdFCODM/bLKbC0aT3BVIBly2\r\n6Jz9+VLSHPkp3NldMnwGLdrX/h3cjhT/C1tT0I8+gVoPgeFTS1oB+1+z97cN\r\nTU8/UKXcOmv3R9gyitpOZIfO7/balp5PV8ErvFaNjMxC3bi/8e7AYHqFsRvi\r\nwo5tWWK1um/VCWP2EXKRGrLHR/0wACNlAPNZzpajKuvpCBJ/69WVMAEIkyFO\r\n+0VvTqYiJDqz65YCyUg3IINAksWluojG25fzd831MZXJxiKYzl474MZ7lnjo\r\nfVPq0hCXYZ6KfXgHiorXlswj++OhFB6gtT4YIZ12Jm/yyOPx0aQwrR4KWHdX\r\nP2ZyNxQIJR7bdWcftvt/4hSGNNyK4tdyylx1aqx5yT5G3KHl5u1O5JcMq+9R\r\nkcsx+q2ddWs3mCLHgJrFoWqjA7IEll2bJm4W4Mz5v/+URDj48+auUqQIk/jM\r\naDYZZ59iIMCzcfNwoJcGTc7WbEUvWZL3FwtOhA5g0nSHoupOxRaw6oyafd3Z\r\n8CynzpHNUi1GFExsBVWjDx6U3TTMdkBzhhyYNWsLWLd0toavlgTtl9goD4dA\r\nhM7G4j9UY8aTaIkIISl/3drWiqdoYXY+J0kAWMUMeO/eOxn9I6al4ZRDBImX\r\nQKZC5w2r6uJ2vNdJOl05yYK9D0lnYU76SZU=\r\n=LJWL\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_2.0.0-beta.0_1658052274281_0.4401021434384116"},"_hasShrinkwrap":false},"2.0.0-beta.1":{"name":"vue-condition-watcher","version":"2.0.0-beta.1","description":"Vue composition API for automatic data fetching. With conditions as the core. Easily control and sync to URL query string by conditions","main":"./core/dist/index.js","module":"./core/dist/index.esm.js","types":"./core/dist/core/index.d.ts","packageManager":"pnpm@7.5.0","exports":{"./package.json":"./package.json",".":{"import":"./core/dist/index.mjs","module":"./core/dist/index.esm.js","require":"./core/dist/index.js","types":"./core/dist/core/index.d.ts"},"./_internal":{"import":"./_internal/dist/index.mjs","module":"./_internal/dist/index.esm.js","require":"./_internal/dist/index.js","types":"./_internal/dist/_internal/index.d.ts"}},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","vue-hooks","composition-api","vue-composable","composable","fetch-data"],"author":"Willy Hong","license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"pnpm types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["pnpm lint:fix","pnpm format","git add"]},"engines":{"node":">=14","pnpm":"7"},"devDependencies":{"@types/node":"^17.0.34","@typescript-eslint/eslint-plugin":"^5.25.0","@typescript-eslint/parser":"^5.25.0","@vue/composition-api":"^1.7.0","@vue/test-utils":"^2.0.2","bunchee":"^1.9.0","eslint":"8.15.0","eslint-config-prettier":"8.5.0","husky":"2.4.1","jsdom":"^20.0.0","lint-staged":"8.2.1","prettier":"^2.0.5","rimraf":"^3.0.2","turbo":"^1.3.1","typescript":"^4.6.4","vite":"^3.0.0","vitest":"^0.18.0","vue":"^3.2.37","vue-condition-watcher":"2.0.0-beta.1","vue2":"npm:vue@2.6.14"},"dependencies":{"vue-demi":"latest"},"peerDependencies":{"@vue/composition-api":"^1.1.0","vue":"^2.0.0 || >=3.0.0"},"peerDependenciesMeta":{"@vue/composition-api":{"optional":true}},"scripts":{"clean":"turbo run clean","build":"turbo run build","watch":"turbo run watch --parallel","types:check":"turbo run types:check","format":"prettier --write ./**/*.ts","lint":"eslint . --ext .ts --cache","lint:fix":"pnpm lint --fix","test":"pnpm build && pnpm test:3","test:2":"vue-demi-switch 2 vue2 && vitest run","test:3":"vue-demi-switch 3 && vitest run","test:all":"pnpm format && pnpm build && pnpm test:3 && pnpm test:2 && vue-demi-switch 3","publish-beta":"pnpm publish --tag beta"},"_id":"vue-condition-watcher@2.0.0-beta.1","_integrity":"sha512-28p+BLzWK7euYcCLokoLF85SsHSQHxIqP6mEiPnONyuzCM/e0Nd45X9Jjp8ArMVLtX+bIfLRWfvvT/Fg7XWXAQ==","_resolved":"/private/var/folders/q2/mwd88zrj58s1zscwgt6_tdk80000gn/T/2a5cf5d5c43679f215a4d98686cc45de/vue-condition-watcher-2.0.0-beta.1.tgz","_from":"file:vue-condition-watcher-2.0.0-beta.1.tgz","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"integrity":"sha512-28p+BLzWK7euYcCLokoLF85SsHSQHxIqP6mEiPnONyuzCM/e0Nd45X9Jjp8ArMVLtX+bIfLRWfvvT/Fg7XWXAQ==","shasum":"23562cf6062e43b2fab4affebe6ea2167f70aa17","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-2.0.0-beta.1.tgz","fileCount":24,"unpackedSize":218225,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDShXPEHPy5m3EiFqon/YU6trTH6SXxb/kVUO3XvLMZwQIgffVM3tC5AkuWHGvxZjCiflQR3nyx12FxoyUaaxPFAkM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi1CsdACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqmRw//bzBJPPnQFRmEyO/BcLMLiA/EAN3wPXuCHmtnPH7qCFw0EYyq\r\n7tqBfbca9CM92TC3ml9P/YoYZ4xTGy8U0IW2N87DTBWgf+W9WSuMWKzBz7ay\r\ntTAKtRU4je1x42dKfOiwTGLbsVo9YKvXVpOHoG26N3w5yPfNgF8ZiYoTazpd\r\ncAn/34U2jZQNGA3Ba8anD3U7QYkjukBtFVGBL+sVDgi1674YFu7nQoYy4skE\r\nh3tmS4uzQd+rHQatw58I7GEZRoN1iryxMtgEPkg+m0MX0xvYFPS1qJrXNYZB\r\nCurQMkw8rZ7VelcZFMcT5Hd4b1GvDITr9g8t0jTHPdVvTnWgsSdwxPLCcTQi\r\nWIht3jJq6MUACiRBW4z7KD+KQ/1Fps6ZbnWX3p278wmkPLlzFY/bNgLywUq5\r\nM+a96lNIFm0DxRn2L0rN0igHD73WmiIFy/sr+jVQdeVPbvq4C7mhQsm7yygs\r\n8hdXy2nJhHepxRluLbAptkMSyntN8OrS7ruEV7JI0/rJiXA6wXKd+pqBSYS+\r\nK/OWtiIeN01M3+C+cmQVDTMEooysrR/zjcRt5l5hWdfwgnb25sL6cWEAR+bP\r\nPxexian4oGA89QzTW0u3z39AM0ajbUkb3kZ94fbS/xucbdPBcb/ETXTds6kX\r\n7b5UvGteHA96+ljaB7XuTAs/kFZ41LYxNMY=\r\n=l3eE\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_2.0.0-beta.1_1658071837056_0.6739049554540388"},"_hasShrinkwrap":false},"2.0.0-beta.2":{"name":"vue-condition-watcher","version":"2.0.0-beta.2","description":"Vue composition API for automatic data fetching. With conditions as the core. Easily control and sync to URL query string by conditions","main":"./core/dist/index.js","module":"./core/dist/index.esm.js","types":"./core/dist/core/index.d.ts","packageManager":"pnpm@7.5.0","exports":{"./package.json":"./package.json",".":{"import":"./core/dist/index.mjs","module":"./core/dist/index.esm.js","require":"./core/dist/index.js","types":"./core/dist/core/index.d.ts"},"./_internal":{"import":"./_internal/dist/index.mjs","module":"./_internal/dist/index.esm.js","require":"./_internal/dist/index.js","types":"./_internal/dist/_internal/index.d.ts"}},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","vue-hooks","composition-api","vue-composable","composable","fetch-data"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"pnpm types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["pnpm lint:fix","pnpm format","git add"]},"engines":{"node":">=14","pnpm":"7"},"devDependencies":{"@types/node":"^17.0.34","@typescript-eslint/eslint-plugin":"^5.25.0","@typescript-eslint/parser":"^5.25.0","@vue/composition-api":"^1.7.0","@vue/test-utils":"^2.0.2","bunchee":"^1.9.0","eslint":"8.15.0","eslint-config-prettier":"8.5.0","husky":"2.4.1","jsdom":"^20.0.0","lint-staged":"8.2.1","prettier":"^2.0.5","rimraf":"^3.0.2","turbo":"^1.3.1","typescript":"^4.6.4","vite":"^3.0.0","vitest":"^0.18.0","vue":"^3.2.37","vue2":"npm:vue@2.6.14","vue-condition-watcher":"2.0.0-beta.2"},"dependencies":{"vue-demi":"latest"},"peerDependencies":{"@vue/composition-api":"^1.1.0","vue":"^2.0.0 || >=3.0.0"},"peerDependenciesMeta":{"@vue/composition-api":{"optional":true}},"scripts":{"clean":"turbo run clean","build":"turbo run build","watch":"turbo run watch --parallel","types:check":"turbo run types:check","format":"prettier --write ./**/*.ts","lint":"eslint . --ext .ts --cache","lint:fix":"pnpm lint --fix","test":"pnpm build && pnpm test:3","test:2":"vue-demi-switch 2 vue2 && vitest run","test:3":"vue-demi-switch 3 && vitest run","test:all":"pnpm format && pnpm build && pnpm test:3 && pnpm test:2 && vue-demi-switch 3","publish-beta":"pnpm publish --tag beta"},"_resolved":"","_integrity":"","_from":"file:vue-condition-watcher-2.0.0-beta.2.tgz","readme":"English | [中文](./README-zh_TW.md)\n\n# vue-condition-watcher <img src=\"https://slackmojis.com/emojis/43271-glasses/download\" width=\"40\" />\n\n[![CircleCI](https://circleci.com/gh/runkids/vue-condition-watcher.svg?style=svg)](https://circleci.com/gh/runkids/vue-condition-watcher) [![vue3](https://img.shields.io/badge/vue-3.x-brightgreen.svg)](https://vuejs.org/) [![vue3](https://img.shields.io/badge/vue-2.x-brightgreen.svg)](https://composition-api.vuejs.org/) [![npm](https://img.shields.io/npm/v/vue-condition-watcher.svg)](https://www.npmjs.com/package/vue-condition-watcher)  [![npm](https://img.shields.io/npm/dt/vue-condition-watcher.svg)](https://www.npmjs.com/package/vue-condition-watcher) [![bundle size](https://badgen.net/bundlephobia/minzip/vue-condition-watcher)](https://bundlephobia.com/result?p=vue-condition-watcher) [![npm](https://img.shields.io/npm/l/vue-condition-watcher.svg)](https://github.com/runkids/vue-condition-watcher/blob/master/LICENSE)\n\n## Introduction\n\nVue composition API for automatic data fetching. With `conditions` as the core. Easily control and sync to URL query string by `conditions`\n> requires Node.js 12.0.0 or higher.\n\n## Features\n\n  ✔ Automatically fetch data whenever `conditions` changes<br>\n  ✔ `null` `undefined` `[]` `''` will be automatically filtered out before sending the request<br>\n  ✔ Refreshing the page will automatically initialize `conditions` according to the query string of the URL, and will automatically correspond to the type ( string, number, array, date )<br>\n  ✔ Whenever `conditions` changes, the URL query string will be automatically synchronized, and the previous page and next page will work normally<br>\n  ✔ Avoid `race condition`, ensure requests are first in, first out, and can also avoid repeated requests<br>\n  ✔ Do Dependent Request before updating `data`<br/>\n  ✔ Easily handle paging needs, simply customize your own paging logic<br/>\n  ✔ Automatically re-request data when web page is refocused or network disconnection resumes<br/>\n  ✔ Support polling, the polling period can be adjusted dynamically<br/>\n  ✔ The caching mechanism allows data to be rendered faster without waiting for loading animations<br/>\n  ✔ No need to wait for the return result, you can manually change `data` to make the user experience better<br/>\n  ✔ TypeScript support. <br/>\n  ✔ Works for Vue 2 & 3 by the power of [vue-demi](https://github.com/vueuse/vue-demi)\n  \n  <img src=\".github/vue-conditions-watcher.gif\"/>\n\n## Navigation\n\n- [Installation](#installation)\n- [Quick Start](#quick-start)\n- [Configs](#configs)\n- [Return Values](#return-values)\n- [Execute Fetch](#execute-fetch)\n- [Prevent Request](#prevent-request)\n- [Manually Trigger Request](#manually-trigger-request)\n- [Intercepting Request](#intercepting-request)\n- [Mutations data](#mutations-data)\n- [Conditions Change Event](#conditions-change-event)\n- [Fetch Event](#fetch-event)\n- [Polling](#polling)\n- [Cache](#cache)\n- [History Mode](#history-mode)\n- [Lifecycle](#lifecycle)\n- [Pagination](#pagination)\n- [Changelog](https://github.com/runkids/vue-condition-watcher/blob/master/CHANGELOG.md)\n\n## Demo\n\n[👉 Download Vue3 example here](https://github.com/runkids/vue-condition-watcher/tree/master/examples/vue3) (Use [Vite](https://github.com/vuejs/vite))\n\n```bash\ncd examples/vue3\nyarn \nyarn serve\n````\n\n[👉 Download Vue2 @vue/composition-api example here](https://github.com/runkids/vue-condition-watcher/tree/master/examples/vue2)\n\n```bash\ncd examples/vue2\nyarn \nyarn serve\n````\n\n### 👉 Online demo\n\n  - [Demo with Vue 3 on StackBlitz](https://stackblitz.com/edit/vitejs-vite-tsvfqu?devtoolsheight=33&embed=1&file=src/views/Home.vue)\n\n## Getting Started\n\n### Installation\n\nIn your project\n\n```bash\nyarn add vue-condition-watcher\n```\n\nOr with npm\n\n```bash\nnpm install vue-condition-watcher\n```\n\nCDN\n\n```javascript\nhttps://unpkg.com/vue-condition-watcher/dist/index.js\n```\n\n### Quick Start\n\nThis is a simple example for `vue-next` and `vue-router-next`\n\nFirst you need to create a fetcher function, use the native `fetch` or libs like Axios. Then import `useConditionWatcher` and start using it.\n\n```javascript\ncreateApp({\n  template: `\n    <div class=\"filter\">\n      <input v-model=\"conditions.name\">\n      <button @click=\"execute\">Refetch</button>\n    </div>\n    <div class=\"container\">\n      {{ !loading ? data : 'Loading...' }}\n    </div>\n    <div v-if=\"error\">{{ error }}</div>\n  `,\n  setup() {\n    const fetcher = params => axios.get('/user/', {params})\n    const router = useRouter()\n\n    const { conditions, data, loading, execute, error } = useConditionWatcher(\n      {\n        fetcher,\n        conditions: {\n          name: ''\n        },\n        history: {\n          sync: router\n        }\n      }\n    )\n    return { conditions, data, loading, execute, error }\n  },\n})\n.use(router)\n.mount(document.createElement('div'))\n```\n\nYou can use the value of `data`, `error`, and `loading` to determine the current state of the request.\n\nWhen the `conditions.name` value changes, will fire the `lifecycle` to fetching data again.\n\nUse `config.history` of sync to `sync: router`. Will store the conditions within the URL query string every time conditions change.\n\n### Basic Usage\n\n```js\nconst { conditions, data, error, loading, execute, resetConditions, onConditionsChange } = useConditionWatcher(config)\n```\n\n### Configs\n\n- `fetcher`: (⚠️ Required) promise function for data fetching.\n- `conditions`: (⚠️ Required) `conditions` default value.\n- `defaultParams`: The parameters that will be preset with each request and cannot be modified.\n- `initialData`: `data` returns null by default. If you want to define the initial data, you can use this parameter setting.\n- `immediate`: If you don't want to automatically fetch data in the first time, you can set this parameter to `false`, and the request will not be executed until `conditions` is changed or `execute` is executed.\n- `manual`: Instead manually execute `execute` function to trigger the request, even if `conditions` changes, it will not be automatically requested.\n- `history`: Based on vue-router (v3 & v4), enables synchronization of `conditions` to URL's Query String. Synchronize Query String to `conditions` when the page is refreshed\n- `pollingInterval`: Enable polling, can be `number` or `ref(number)` in milliseconds\n- `pollingWhenHidden`: Continue polling whenever you leave the focused screen, the default is `false`.\n- `pollingWhenOffline`: continue polling whenever the network is disconnected, the default is `false`.\n- `revalidateOnFocus`: After re-focusing the screen, re-request once, the default is `false`.\n- `cacheProvider`: `vue-condition-watch` will cache data behind, you can pass this parameter to customize `cacheProvider`\n- `beforeFetch`: You can last modify the `conditions` before the request, or you can terminate the request at this stage.\n- `afterFetch`: you can adjust the result of `data` before `data` is updated\n- `onFetchError`: Triggered when an error occurs in the request, you can adjust `error` & `data` before `data` and `error` are updated\n\n### Return Values\n\n- `conditions`:<br/>\n Type: `reactive`<br/>\n Reactive objects (conditions based on config) are the main core of `vue-conditions-watcher`. Whenever `conditions` changes, the [lifecycle](#lifecycle) will be triggered.<br/>\n- `data`:<br/>\nType: `👁‍🗨 readonly & ref`<br/>\nDefault Value: `undefined`<br/>\nThe return result of `config.fetcher`, will be `undefined` again when conditions changed.<br/>\n- `error`:<br/>\nType: `👁‍🗨 readonly & ref`<br/>\nDefault Value: `undefined`<br/>\n`config.fetcher` error return result<br/>\n- `isFetching`:<br/>\nType: `👁‍🗨 readonly & ref`<br/>\nDefault Value: `false`<br/>\nThe status of the request being processed<br/>\n- `loading`: When `!data.value & !error.value` will be `true`.\n- `execute`: Trigger the request again based on the current `conditions` and `defaultParams`.<br/>\n- `mutate`: `data` can be modified using this method<br/>\n**🔒 ( `data` default is only unmodifiable )**<br/>\n- `resetConditions`: Reset `conditions` back to their initial values\n- `onConditionsChange`: Fires when `conditions` changes, returning new and old values\n- `onFetchSuccess`: The request is successfully triggered and the original request result is returned\n- `onFetchError`: Triggered by request failure, returning the original request failure result\n- `onFetchFinally`: Fired when the request ends\n\n### Execute Fetch\n\n`conditions` is reactive proxy, easy execute fetch when `conditions` value changed\n\n```js\nconst { conditions } = useConditionWatcher({\n  fetcher,\n  conditions: {\n    page: 0\n  },\n  defaultParams: {\n    opt_expand: 'date'\n  }\n})\n\nconditions.page = 1 // fetch data with payload { page: 1, opt_expand: 'date' }\n\nconditions.page = 2 // fetch data with payload { page: 2, opt_expand: 'date' }\n```\n\nJust call `execute` function to send a request if you need.\n\n```js\nconst { conditions, execute: refetch } = useConditionWatcher({\n  fetcher,\n  conditions: {\n    page: 0\n  },\n   defaultParams: {\n    opt_expand: 'date'\n  }\n})\n\nrefetch() // fetch data with payload { page: 0, opt_expand: 'date' }\n```\n\nForce update conditions in time.\n\n```js\nconst { conditions, resetConditions } = useConditionWatcher({\n  fetcher,\n  immediate: false,\n  conditions: {\n    page: 0,\n    name: '',\n    date: []\n  },\n})\n\n// initial conditions then fire onConditionsChange event\nresetConditions({\n  name: 'runkids',\n  date: ['2022-01-01', '2022-01-02']\n})\n\n// Reset conditions\nfunction reset () {\n  // You can just use `resetConditions` function to initial value.\n  resetConditions()\n}\n```\n\n### Prevent Request\n\nSetting the `immediate` to false will prevent the request until the `execute`\nfunction called or conditions changed.\n\n```js\nconst { execute } = useConditionWatcher({\n  fetcher,\n  conditions,\n  immediate: false,\n})\n\nexecute()\n```\n\n### Manually Trigger Request\n\nBy default, `vue-condition-watcher` will automatically trigger fetch data. You can pass `manual` to disable the default fetch and then use `execute()` to trigger fetch data.\n\n```js\nconst { execute } = useConditionWatcher({\n  fetcher,\n  conditions,\n  manual: true,\n})\n\nexecute()\n```\n\n### Intercepting Request\n\nThe `beforeFetch` let you modify conditions before fetch.\nReceive two params:\n\n- Object of clone deep conditions.\n- Function called to stop fetch.\n\n```js\nuseConditionWatcher({\n  fetcher,\n  conditions: {\n    date: ['2022/01/01', '2022/01/02']\n  },\n  initialData: [],\n  async beforeFetch(conds, cancel) {\n    // await to check token before fetch\n    await checkToken ()\n\n    // conds is an object clone copy from config.conditions\n    const {date, ...baseConditions} = conds\n    const [after, before] = date\n    baseConditions.created_at_after = after\n    baseConditions.created_at_before = before\n\n    return baseConditions\n  }\n})\n```\n\nThe `afterFetch` can intercept the response before data updated, **also your can requests depend on each other 🎭**\n\n```js\nconst { data } = useConditionWatcher({\n  fetcher,\n  conditions,\n  async afterFetch(response) {\n    //response.data = {id: 1, name: 'runkids'}\n    if(response.data === null) {\n      return []\n    }\n    // requests depend on each other\n    // the loading is still be true until fire `onFetchFinally`\n    const finalResponse = await otherAPIById(response.data.id)\n\n    return finalResponse // [{message: 'Hello', sender: 'runkids'}]\n  }\n})\n\nconsole.log(data) //[{message: 'Hello', sender: 'runkids'}]\n```\n\nThe `onFetchError` can intercept the response before data and error updated\n\n```js\nconst { data, error } = useConditionWatcher({\n  fetcher,\n  conditions,\n  async onFetchError({data, error}) {\n    if(error.code === 401) {\n      await doSomething()\n    }\n\n    return {\n      data: [],\n      error: 'Error Message'\n    }\n  }\n})\n\nconsole.log(data) //[]\nconsole.log(error) //'Error Message'\n```\n\n### Mutations data\n\nIn some cases, mutations to `data` is a good way to make the user experience better, you don't need wait for the remote data.\n\nUse `mutate` function, you can update `data`. While `onFetchSuccess` will replace `data` again.\n\nTwo way to use mutate function:\n\n- First way, force update current data.\n\n```js\nmutate(newData)\n```\n\n- Second way, use function will receive deep clone data, and return updated data.\n\n```js\nconst finalData = mutate((draft) => {\n  draft[0].name = 'runkids'\n  return draft\n})\n\nconsole.log(finalData[0]name === data.value[0].name) //true\n```\n\n#### 🏄‍♂️ Example for update a part of your data based on the current data\n\nPOST API will just return the updated data directly, so we don’t need to fetch list data again.\n\n```js\nconst { conditions, data, mutate } = useConditionWatcher({\n  fetcher: api.userInfo,\n  conditions,\n  initialData: []\n})\n\nasync function updateUserName (userId, newName, rowIndex = 0) {\n  console.log(data.value) //before: [{ id: 1, name: 'runkids' }, { id: 2, name: 'vuejs' }]\n\n  const response = await api.updateUer(userId, newName)\n\n  // 🚫 `data.value[0] = response.data`\n  // Not work! Because `data` is read only.\n\n  // Easy to use function will receive deep clone data, and return updated data.\n  mutate(draft => {\n    draft[rowIndex] = response.data\n    return draft\n  })\n\n  console.log(data.value) //after: [{ id: 1, name: 'mutate name' }, { id: 2, name: 'vuejs' }]\n}\n\n```\n\n### Conditions Change Event\n\n`onConditionsChange` can help you handle conditions changed.\nWill return new value and old value.\n\n```js\nconst { conditions, onConditionsChange } = useConditionWatcher({\n  fetcher,\n  conditions: {\n    page: 0\n  },\n})\n\nconditions.page = 1\n\nonConditionsChange((conditions, preConditions)=> {\n  console.log(conditions) // { page: 1}\n  console.log(preConditions) // { page: 0}\n})\n```\n\n### Fetch Event\n\nThe `onFetchResponse`, `onFetchError` and `onFetchFinally` will fire on fetch request.\n\n```ts\nconst { onFetchResponse, onFetchError, onFetchFinally } = useConditionWatcher(config)\n\nonFetchResponse((response) => {\n  console.log(response)\n})\n\nonFetchError((error) => {\n  console.error(error)\n})\n\nonFetchFinally(() => {\n  //todo\n})\n```\n\n## Polling\n\nYou can use `pollingInterval` to automatically refetch data. Just enable it by setting `pollingInterval` value.\n\n```js\nuseConditionWatcher({\n  fetcher,\n  conditions,\n  pollingInterval: 1000\n})\n```\n\nAnd also you can use `ref`, it's will be reactivity.\n\n```js\nconst pollingInterval = ref(0)\n\nuseConditionWatcher({\n  fetcher,\n  conditions,\n  pollingInterval: pollingInterval\n})\n\nfunction startPolling () {\n  pollingInterval.value = 1000\n}\n\nonMounted(startPolling)\n```\n\nThe `vue-condition-watcher` default will disable polling when you leave the screen in focus or when the network is disconnected.\n\nYou can turn off the default behavior by setting:\n\n- `pollingWhenHidden=true` to continue polling after leaving focus\n- `pollingWhenOffline=true` will continue polling if the network is disconnected\n\nYou can also retry the request after enabling the focus screen to make sure the data is up to date.\n\n- `revalidateOnFocus=true`\n\n```js\nuseConditionWatcher({\n  fetcher,\n  conditions,\n  pollingInterval: 1000,\n  pollingWhenHidden: true, // pollingWhenHidden default is false\n  pollingWhenOffline: true, // pollingWhenOffline default is false\n  revalidateOnFocus: true // revalidateOnFocus default is false\n})\n```\n\n## Cache\n\nThe `vue-condition-watcher` preset will cache your first data in the current component. Then the following requests will use the cached data first, silently request new data behind, wait for the latest return result and compare whether the cached data is the same to achieve a similar preloading effect.\n\nYou can also set `cacheProvider` by function to share globally or cache data in `localStorage`, and with polling, it can achieve the effect of paging and synchronizing data.\n\n###### Global Based\n\n```js\n// App.vue\n<script lang=\"ts\">\nconst cache = new Map()\n\nexport default {\n  name: 'App',\n  provide: {\n    cacheProvider: () => cache\n  }\n}\n\n//Other.vue\nuseConditionWatcher({\n  fetcher,\n  conditions,\n  cacheProvider: inject('cacheProvider')\n})\n</script>\n```\n\n###### [LocalStorage Based](https://swr.vercel.app/docs/advanced/cache#localstorage-based-persistent-cache)\n\n```js\nfunction localStorageProvider() {\n  const map = new Map(JSON.parse(localStorage.getItem('your-cache-key') || '[]'))\n  window.addEventListener('beforeunload', () => {\n    const appCache = JSON.stringify(Array.from(map.entries()))\n    localStorage.setItem('your-cache-key', appCache)\n  })\n  return map\n}\n\nuseConditionWatcher({\n  fetcher,\n  conditions,\n  cacheProvider: localStorageProvider\n})\n```\n\n## History Mode\n\nYou can enable History mode by setting `config.history`, which is based on vue-router and supports v3 and v4 versions\n\n````js\nconst router = useRouter()\n\nuseConditionWatcher({\n  fetcher,\n  conditions,\n  history: {\n    sync: router\n  }\n})\n````\n\nYou can also set `history.ignore` to exclude the `key&value` in the `conditions` section from being synced to the URL query string.\n\n````js\nconst router = useRouter()\n\nuseConditionWatcher({\n  fetcher,\n  conditions: {\n    users: ['runkids', 'hello']\n    limit: 20,\n    offset: 0\n  },\n  history: {\n    sync: router,\n    ignore: ['limit']\n  }\n})\n\n// the query string will be ?offset=0&users=runkids,hello\n````\n\nHistory mode will convert the corresponding types of `conditions` default values ​​to query strings and will filter out `undefined`, `null`, `''`, `[]` values.\n\n````js\nconditions: {\n  users: ['runkids', 'hello']\n  company: ''\n  limit: 20,\n  offset: 0\n}\n// the query string will be ?offset=0&limit=20&users=runkids,hello\n````\n\nAlso automatically syncs the query string to `conditions` whenever you refresh the page\n\n````\nURL query string: ?offset=0&limit=10&users=runkids,hello&company=vue\n````\n\n`conditions` will become\n\n````js\n{\n  users: ['runkids', 'hello']\n  company: 'vue'\n  limit: 10,\n  offset: 0\n}\n````\n\nUse `navigation` to replace or push current location. The default value is 'push'\n```js\nuseConditionWatcher({\n  fetcher,\n  conditions: {\n    limit: 20,\n    offset: 0\n  },\n  history: {\n    sync: router,\n    navigation: 'replace'\n  }\n})\n```\n\n\n\n## Lifecycle\n\n<img src=\".github/vue-condition-watcher_lifecycle.jpeg\"/>\n\n- ##### `onConditionsChange`\n\n  Fire new conditions value and old conditions value.\n\n  ```js\n  onConditionsChange((cond, preCond)=> {\n    console.log(cond)\n    console.log(preCond)\n  })\n  ```\n\n- ##### `beforeFetch`\n\n  You can modify conditions before fetch, or you can call second of arguments to stop fetch this time.\n\n  ```js\n  const { conditions } = useConditionWatcher({\n    fetcher,\n    conditions,\n    beforeFetch\n  })\n\n  async function beforeFetch(cond, cancel){\n    if(!cond.token) {\n      // stop fetch\n      cancel()\n      // will fire onConditionsChange again\n      conditions.token = await fetchToken()\n    }\n    return cond\n  })\n  ```\n\n- ##### `afterFetch` & `onFetchSuccess`\n\n  `afterFetch` fire before `onFetchSuccess`<br/>\n  `afterFetch` can modify data before update.\n  ||Type|Modify data before update| Dependent request |\n  |-----|--------|------|------|\n  |afterFetch| config | ⭕️ | ⭕️ |\n  |onFetchSuccess  | event | ❌ | ❌ |\n\n  ```html\n    <template> \n      {{ data?.detail }} <!-- 'xxx' -->\n    </template>\n  ```\n\n   ```js\n  const { data, onFetchSuccess } = useConditionWatcher({\n    fetcher,\n    conditions,\n    async afterFetch(response){\n      //response = { id: 1 }\n      const detail = await fetchDataById(response.id)\n      return detail // { id: 1, detail: 'xxx' }\n    })\n  })\n\n  onFetchSuccess((response)=> {\n    console.log(response) // { id: 1, detail: 'xxx' }\n  })\n  ```\n\n- ##### `onFetchError(config)` & `onFetchError(event)`\n\n  `config.onFetchError` fire before `event.onFetchError`<br/>\n  `config.onFetchError` can modify data and error before update.\n  ||Type|Modify data before update|Modify error before update|\n  |-----|--------|------|------|\n  |onFetchError| config | ⭕️ | ⭕️ |\n  |onFetchError  | event | ❌ | ❌ |\n\n   ```js\n  const { onFetchError } = useConditionWatcher({\n    fetcher,\n    conditions,\n    onFetchError(ctx){\n      return {\n        data: [],\n        error: 'Error message.'\n      }\n    })\n  })\n\n  onFetchError((error)=> {\n    console.log(error) // origin error data\n  })\n  ```\n\n- ##### `onFetchFinally`\n\n  Will fire on fetch finished.\n\n  ```js\n  onFetchFinally(async ()=> {\n    //do something\n  })\n  ```\n\n## Make It Reusable\n\nYou might need to reuse the data in many places. It is incredibly easy to create reusable hooks of `vue-condition-watcher` :\n\n```js\nfunction useUserExpensesHistory (id) {\n  const { conditions, data, error, loading } = useConditionWatcher({\n    fetcher: params => api.user(id, { params }),\n    defaultParams: {\n      opt_expand: 'amount,place'\n    },\n    conditions: {\n      daterange: []\n    }\n    immediate: false,\n    initialData: [],\n    beforeFetch(cond, cancel) {\n      if(!id) {\n        cancel()\n      }\n      const { daterange, ...baseCond } = cond\n      if(daterange.length) {\n        [baseCond.created_at_after, baseCond.created_at_before] = [\n          daterange[0],\n          daterange[1]\n        ]\n      }\n      return baseCond\n    }\n  })\n\n  return {\n    histories: data,\n    isFetching: loading,\n    isError: error,\n    daterange: conditions.daterange\n  }\n}\n```\n\nAnd use it in your components:\n\n```js\n<script setup>\n  const { \n    daterange, \n    histories, \n    isFetching, \n    isError \n  } = useUserExpensesHistory(route.params.id)\n\n  onMounted(() => {\n    //start first time data fetching after initial date range\n    daterange = [new Date(), new Date()]\n  })\n</script>\n```\n\n```html\n<template>\n  <el-date-picker\n    v-model=\"daterange\"\n    :disabled=\"isFetching\"\n    type=\"daterange\"\n  />\n  <div v-for=\"history in histories\" :key=\"history.id\">\n    {{ `${history.created_at}: ${history.amount}` }}\n  </div>\n</template>\n```\n\nCongratulations! 🥳 You have learned how to use composition-api with `vue-condition-watcher`.\n\nNow we can manage the paging information use `vue-condition-watcher` .\n\n## Pagination\n\nHere is an example use Django the limit and offset functions and Element UI.\n\nCreate `usePagination`\n\n```js\nfunction usePagination () {\n  let cancelFlag = false // check this to cancel fetch\n\n  const { startLoading, stopLoading } = useLoading()\n  const router = useRouter()\n  \n  const { conditions, data, execute, resetConditions, onConditionsChange, onFetchFinally } = useConditionWatcher(\n    {\n      fetcher: api.list,\n      conditions: {\n        daterange: [],\n        limit: 20,\n        offset: 0\n      }\n      immediate: true,\n      initialData: [],\n      history: {\n        sync: router,\n        // You can ignore the key of URL query string, prevent users from entering unreasonable numbers by themselves.\n        // The URL will look like ?offset=0 not show `limit`\n        ignore: ['limit'] \n      },\n      beforeFetch\n    }, \n  )\n\n  // use on pagination component\n  const currentPage = computed({\n    get: () => conditions.offset / conditions.limit + 1,\n    set: (page) => {\n      conditions.offset = (page - 1) * conditions.limit\n    }\n  })\n\n  // onConditionsChange -> beforeFetch -> onFetchFinally\n  onConditionsChange((newCond, oldCond) => {\n    // When conditions changed, reset offset to 0 and then will fire beforeEach again.\n    if (newCond.offset !== 0 && newCond.offset === oldCond.offset) {\n      cancelFlag = true\n      conditions.offset = 0\n    }\n  })\n\n  async function beforeFetch(cond, cancel) {\n    if (cancelFlag) {\n      // cancel fetch when cancelFlag be true\n      cancel()\n      cancelFlag = false // reset cancelFlag \n      return cond\n    }\n    // start loading\n    await nextTick()\n    startLoading()\n    const { daterange, ...baseCond } = cond\n    if(daterange.length) {\n      [baseCond.created_at_after, baseCond.created_at_before] = [\n        daterange[0],\n        daterange[1]\n      ]\n    }\n    return baseCond\n  }\n\n  onFetchFinally(async () => {\n    await nextTick()\n    // stop loading\n    stopLoading()\n    window.scrollTo(0, 0)\n  })\n\n  return {\n    data,\n    conditions,\n    currentPage,\n    resetConditions,\n    refetch: execute\n  }\n}\n```\n\nAnd use it in your components:\n\n```js\n<script setup>\n  const { data, conditions, currentPage, resetConditions, refetch } = usePagination()\n</script>\n```\n\n```html\n<template>\n  <el-button @click=\"refetch\">Refetch Data</el-button>\n  <el-button @click=\"resetConditions\">Reset Offset</el-button>\n\n  <el-date-picker\n    v-model=\"conditions.daterange\"\n    type=\"daterange\"\n  />\n\n  <div v-for=\"info in data\" :key=\"info.id\">\n    {{ info }}\n  </div>\n\n  <el-pagination\n    v-model:currentPage=\"currentPage\"\n    v-model:page-size=\"conditions.limit\"\n    :total=\"data.length\"\n  />\n</template>\n```\n\nWhen daterange or limit changed, will reset offset to 0 and only fetch data again after reset offset.\n\n## TDOD List\n\n- [ ] Error Retry\n- [ ] Nuxt SSR SSG Support\n\n## Thanks\n\nThis project is heavily inspired by the following awesome projects.\n\n- [vercel/swr](https://github.com/vercel/swr)\n\n## 📄 License\n\n[MIT License](https://github.com/runkids/vue-condition-watcher/blob/master/LICENSE) © 2020-PRESENT [Runkids](https://github.com/runkids)\n","readmeFilename":"README.md","_id":"vue-condition-watcher@2.0.0-beta.2","_nodeVersion":"14.18.1","_npmVersion":"6.14.15","dist":{"integrity":"sha512-ZPtd6XfGOmZnLlan9p49xZKxgovCIG899lkTzjc8FXwakfYFeiGujd1eWrTS9B/Linue2y9+egE4iAo2wyTXIQ==","shasum":"af7762292de65539631b065ec63486a3e4e64757","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-2.0.0-beta.2.tgz","fileCount":24,"unpackedSize":217332,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCEwY1OOa5kKfSWzM0qzSOAJS3EnXyCSs7pVJRo7saWSwIhAJx8wUFEIDNKYmF9+qlZbfPBTaxSmm1imP87Gx7kA1+V"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhsI+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrGhw//Z93MPTGE9pXWz3G9VmCYTs9HfxdZ1CAE6Pk01A+pD+uGDdDP\r\nKPt0OL/xvFNubjJA9fmiAqXLP9+1a0emAStWpI5Hz2HNynFQZ/8+8BKFpc9D\r\nsKwFrtNGrz2zNHHiYQyERwpNnUUG1dxSuQ3Gxet7jFtO7OpohPS5V8UrQlnQ\r\nlqem5zQn1EJ0bvf3bFDJlvKKVNDTzQkvLb19itw/ym8RqWvDbwixGOExKD7A\r\nibeSUU1LEvy4Cmt1HgA11DM5cuaU1AjuAXGunxwfh/23TIPI/3nUZ4ttBLVx\r\nNX1yWlvAFzFoQ0oXZPZJuWuaFysVkBfRG0e4Oy6XXi011F13DGTXYJLigKw6\r\nNajaVVX7iT9/g8pMF6SPpzxz1bcvjGAtgAyK8HdWM7LaE13WxQIu+0y6ToAp\r\nkqAtRgiG07LHYoEBc6DfqZhyCLHwiJfV8n6n96bnVsMGgfrku7eXVTG4Igva\r\nSviv02M3QnCwVVXWk4MbzVvj4jeNm+FcaHxe8N1XlxU2qBPJ19vNhFoeUWgW\r\nFU3Z98XBkFmIW876nWBJxvD4MhRtVO0Huwf17ILmzbyb/ys3e109DaCc9L5p\r\n5zThyoocpk9Eex8IgOoUblsTHyWTQP9LqLn/9ZweRZOl+1oMrijcH4stXDYa\r\nzDg+DxsrH3asTMwOeetIAAaoK2Hp/1MaouI=\r\n=ywFU\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_2.0.0-beta.2_1669775934063_0.2635968453986697"},"_hasShrinkwrap":false},"2.0.0-beta.3":{"name":"vue-condition-watcher","version":"2.0.0-beta.3","description":"Vue composition API for automatic data fetching. With conditions as the core. Easily control and sync to URL query string by conditions","main":"./core/dist/index.js","module":"./core/dist/index.esm.js","types":"./core/dist/core/index.d.ts","packageManager":"pnpm@7.5.0","exports":{"./package.json":"./package.json",".":{"import":"./core/dist/index.mjs","module":"./core/dist/index.esm.js","require":"./core/dist/index.js","types":"./core/dist/core/index.d.ts"},"./_internal":{"import":"./_internal/dist/index.mjs","module":"./_internal/dist/index.esm.js","require":"./_internal/dist/index.js","types":"./_internal/dist/_internal/index.d.ts"}},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","vue-hooks","composition-api","vue-composable","composable","fetch-data"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"pnpm types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["pnpm lint:fix","pnpm format","git add"]},"engines":{"node":">=14","pnpm":"7"},"devDependencies":{"@types/node":"^17.0.34","@typescript-eslint/eslint-plugin":"^5.25.0","@typescript-eslint/parser":"^5.25.0","@vue/composition-api":"^1.7.0","@vue/test-utils":"^2.0.2","bunchee":"^1.9.0","eslint":"8.15.0","eslint-config-prettier":"8.5.0","husky":"2.4.1","jsdom":"^20.0.0","lint-staged":"8.2.1","prettier":"^2.0.5","rimraf":"^3.0.2","turbo":"^1.3.1","typescript":"^4.6.4","vite":"^3.0.0","vitest":"^0.18.0","vue":"^3.2.45","vue2":"npm:vue@2.6.14","vue-condition-watcher":"2.0.0-beta.3"},"dependencies":{"vue-demi":"latest"},"peerDependencies":{"@vue/composition-api":"^1.1.0","vue":"^2.0.0 || >=3.0.0"},"peerDependenciesMeta":{"@vue/composition-api":{"optional":true}},"scripts":{"clean":"turbo run clean","build":"turbo run build","watch":"turbo run watch --parallel","types:check":"turbo run types:check","format":"prettier --write ./**/*.ts","lint":"eslint . --ext .ts --cache","lint:fix":"pnpm lint --fix","test":"pnpm build && pnpm test:3","test:2":"vue-demi-switch 2 vue2 && vitest run","test:3":"vue-demi-switch 3 && vitest run","test:all":"pnpm format && pnpm build && pnpm test:3 && pnpm test:2 && vue-demi-switch 3","publish-beta":"pnpm publish --tag beta"},"readme":"English | [中文](./README-zh_TW.md)\n\n# vue-condition-watcher <img src=\"https://slackmojis.com/emojis/43271-glasses/download\" width=\"40\" />\n\n[![CircleCI](https://circleci.com/gh/runkids/vue-condition-watcher.svg?style=svg)](https://circleci.com/gh/runkids/vue-condition-watcher) [![vue3](https://img.shields.io/badge/vue-3.x-brightgreen.svg)](https://vuejs.org/) [![vue3](https://img.shields.io/badge/vue-2.x-brightgreen.svg)](https://composition-api.vuejs.org/) [![npm](https://img.shields.io/npm/v/vue-condition-watcher.svg)](https://www.npmjs.com/package/vue-condition-watcher)  [![npm](https://img.shields.io/npm/dt/vue-condition-watcher.svg)](https://www.npmjs.com/package/vue-condition-watcher) [![bundle size](https://badgen.net/bundlephobia/minzip/vue-condition-watcher)](https://bundlephobia.com/result?p=vue-condition-watcher) [![npm](https://img.shields.io/npm/l/vue-condition-watcher.svg)](https://github.com/runkids/vue-condition-watcher/blob/master/LICENSE)\n\n## Introduction\n\nVue composition API for automatic data fetching. With `conditions` as the core. Easily control and sync to URL query string by `conditions`\n> requires Node.js 12.0.0 or higher.\n\n## Features\n\n  ✔ Automatically fetch data whenever `conditions` changes<br>\n  ✔ `null` `undefined` `[]` `''` will be automatically filtered out before sending the request<br>\n  ✔ Refreshing the page will automatically initialize `conditions` according to the query string of the URL, and will automatically correspond to the type ( string, number, array, date )<br>\n  ✔ Whenever `conditions` changes, the URL query string will be automatically synchronized, and the previous page and next page will work normally<br>\n  ✔ Avoid `race condition`, ensure requests are first in, first out, and can also avoid repeated requests<br>\n  ✔ Do Dependent Request before updating `data`<br/>\n  ✔ Easily handle paging needs, simply customize your own paging logic<br/>\n  ✔ Automatically re-request data when web page is refocused or network disconnection resumes<br/>\n  ✔ Support polling, the polling period can be adjusted dynamically<br/>\n  ✔ The caching mechanism allows data to be rendered faster without waiting for loading animations<br/>\n  ✔ No need to wait for the return result, you can manually change `data` to make the user experience better<br/>\n  ✔ TypeScript support. <br/>\n  ✔ Works for Vue 2 & 3 by the power of [vue-demi](https://github.com/vueuse/vue-demi)\n  \n  <img src=\".github/vue-conditions-watcher.gif\"/>\n\n## Navigation\n\n- [Installation](#installation)\n- [Quick Start](#quick-start)\n- [Configs](#configs)\n- [Return Values](#return-values)\n- [Execute Fetch](#execute-fetch)\n- [Prevent Request](#prevent-request)\n- [Manually Trigger Request](#manually-trigger-request)\n- [Intercepting Request](#intercepting-request)\n- [Mutations data](#mutations-data)\n- [Conditions Change Event](#conditions-change-event)\n- [Fetch Event](#fetch-event)\n- [Polling](#polling)\n- [Cache](#cache)\n- [History Mode](#history-mode)\n- [Lifecycle](#lifecycle)\n- [Pagination](#pagination)\n- [Changelog](https://github.com/runkids/vue-condition-watcher/blob/master/CHANGELOG.md)\n\n## Demo\n\n[👉 Download Vue3 example here](https://github.com/runkids/vue-condition-watcher/tree/master/examples/vue3) (Use [Vite](https://github.com/vuejs/vite))\n\n```bash\ncd examples/vue3\nyarn \nyarn serve\n````\n\n[👉 Download Vue2 @vue/composition-api example here](https://github.com/runkids/vue-condition-watcher/tree/master/examples/vue2)\n\n```bash\ncd examples/vue2\nyarn \nyarn serve\n````\n\n### 👉 Online demo\n\n  - [Demo with Vue 3 on StackBlitz](https://stackblitz.com/edit/vitejs-vite-tsvfqu?devtoolsheight=33&embed=1&file=src/views/Home.vue)\n\n## Getting Started\n\n### Installation\n\nIn your project\n\n```bash\nyarn add vue-condition-watcher\n```\n\nOr with npm\n\n```bash\nnpm install vue-condition-watcher\n```\n\nCDN\n\n```javascript\nhttps://unpkg.com/vue-condition-watcher/dist/index.js\n```\n\n### Quick Start\n\nThis is a simple example for `vue-next` and `vue-router-next`\n\nFirst you need to create a fetcher function, use the native `fetch` or libs like Axios. Then import `useConditionWatcher` and start using it.\n\n```javascript\ncreateApp({\n  template: `\n    <div class=\"filter\">\n      <input v-model=\"conditions.name\">\n      <button @click=\"execute\">Refetch</button>\n    </div>\n    <div class=\"container\">\n      {{ !loading ? data : 'Loading...' }}\n    </div>\n    <div v-if=\"error\">{{ error }}</div>\n  `,\n  setup() {\n    const fetcher = params => axios.get('/user/', {params})\n    const router = useRouter()\n\n    const { conditions, data, loading, execute, error } = useConditionWatcher(\n      {\n        fetcher,\n        conditions: {\n          name: ''\n        },\n        history: {\n          sync: router\n        }\n      }\n    )\n    return { conditions, data, loading, execute, error }\n  },\n})\n.use(router)\n.mount(document.createElement('div'))\n```\n\nYou can use the value of `data`, `error`, and `loading` to determine the current state of the request.\n\nWhen the `conditions.name` value changes, will fire the `lifecycle` to fetching data again.\n\nUse `config.history` of sync to `sync: router`. Will store the conditions within the URL query string every time conditions change.\n\n### Basic Usage\n\n```js\nconst { conditions, data, error, loading, execute, resetConditions, onConditionsChange } = useConditionWatcher(config)\n```\n\n### Configs\n\n- `fetcher`: (⚠️ Required) promise function for data fetching.\n- `conditions`: (⚠️ Required) `conditions` default value.\n- `defaultParams`: The parameters that will be preset with each request and cannot be modified.\n- `initialData`: `data` returns null by default. If you want to define the initial data, you can use this parameter setting.\n- `immediate`: If you don't want to automatically fetch data in the first time, you can set this parameter to `false`, and the request will not be executed until `conditions` is changed or `execute` is executed.\n- `manual`: Instead manually execute `execute` function to trigger the request, even if `conditions` changes, it will not be automatically requested.\n- `history`: Based on vue-router (v3 & v4), enables synchronization of `conditions` to URL's Query String. Synchronize Query String to `conditions` when the page is refreshed\n- `pollingInterval`: Enable polling, can be `number` or `ref(number)` in milliseconds\n- `pollingWhenHidden`: Continue polling whenever you leave the focused screen, the default is `false`.\n- `pollingWhenOffline`: continue polling whenever the network is disconnected, the default is `false`.\n- `revalidateOnFocus`: After re-focusing the screen, re-request once, the default is `false`.\n- `cacheProvider`: `vue-condition-watch` will cache data behind, you can pass this parameter to customize `cacheProvider`\n- `beforeFetch`: You can last modify the `conditions` before the request, or you can terminate the request at this stage.\n- `afterFetch`: you can adjust the result of `data` before `data` is updated\n- `onFetchError`: Triggered when an error occurs in the request, you can adjust `error` & `data` before `data` and `error` are updated\n\n### Return Values\n\n- `conditions`:<br/>\n Type: `reactive`<br/>\n Reactive objects (conditions based on config) are the main core of `vue-conditions-watcher`. Whenever `conditions` changes, the [lifecycle](#lifecycle) will be triggered.<br/>\n- `data`:<br/>\nType: `👁‍🗨 readonly & ref`<br/>\nDefault Value: `undefined`<br/>\nThe return result of `config.fetcher`, will be `undefined` again when conditions changed.<br/>\n- `error`:<br/>\nType: `👁‍🗨 readonly & ref`<br/>\nDefault Value: `undefined`<br/>\n`config.fetcher` error return result<br/>\n- `isFetching`:<br/>\nType: `👁‍🗨 readonly & ref`<br/>\nDefault Value: `false`<br/>\nThe status of the request being processed<br/>\n- `loading`: When `!data.value & !error.value` will be `true`.\n- `execute`: Trigger the request again based on the current `conditions` and `defaultParams`.<br/>\n- `mutate`: `data` can be modified using this method<br/>\n**🔒 ( `data` default is only unmodifiable )**<br/>\n- `resetConditions`: Reset `conditions` back to their initial values\n- `onConditionsChange`: Fires when `conditions` changes, returning new and old values\n- `onFetchSuccess`: The request is successfully triggered and the original request result is returned\n- `onFetchError`: Triggered by request failure, returning the original request failure result\n- `onFetchFinally`: Fired when the request ends\n\n### Execute Fetch\n\n`conditions` is reactive proxy, easy execute fetch when `conditions` value changed\n\n```js\nconst { conditions } = useConditionWatcher({\n  fetcher,\n  conditions: {\n    page: 0\n  },\n  defaultParams: {\n    opt_expand: 'date'\n  }\n})\n\nconditions.page = 1 // fetch data with payload { page: 1, opt_expand: 'date' }\n\nconditions.page = 2 // fetch data with payload { page: 2, opt_expand: 'date' }\n```\n\nJust call `execute` function to send a request if you need.\n\n```js\nconst { conditions, execute: refetch } = useConditionWatcher({\n  fetcher,\n  conditions: {\n    page: 0\n  },\n   defaultParams: {\n    opt_expand: 'date'\n  }\n})\n\nrefetch() // fetch data with payload { page: 0, opt_expand: 'date' }\n```\n\nForce update conditions in time.\n\n```js\nconst { conditions, resetConditions } = useConditionWatcher({\n  fetcher,\n  immediate: false,\n  conditions: {\n    page: 0,\n    name: '',\n    date: []\n  },\n})\n\n// initial conditions then fire onConditionsChange event\nresetConditions({\n  name: 'runkids',\n  date: ['2022-01-01', '2022-01-02']\n})\n\n// Reset conditions\nfunction reset () {\n  // You can just use `resetConditions` function to initial value.\n  resetConditions()\n}\n```\n\n### Prevent Request\n\nSetting the `immediate` to false will prevent the request until the `execute`\nfunction called or conditions changed.\n\n```js\nconst { execute } = useConditionWatcher({\n  fetcher,\n  conditions,\n  immediate: false,\n})\n\nexecute()\n```\n\n### Manually Trigger Request\n\nBy default, `vue-condition-watcher` will automatically trigger fetch data. You can pass `manual` to disable the default fetch and then use `execute()` to trigger fetch data.\n\n```js\nconst { execute } = useConditionWatcher({\n  fetcher,\n  conditions,\n  manual: true,\n})\n\nexecute()\n```\n\n### Intercepting Request\n\nThe `beforeFetch` let you modify conditions before fetch.\nReceive two params:\n\n- Object of clone deep conditions.\n- Function called to stop fetch.\n\n```js\nuseConditionWatcher({\n  fetcher,\n  conditions: {\n    date: ['2022/01/01', '2022/01/02']\n  },\n  initialData: [],\n  async beforeFetch(conds, cancel) {\n    // await to check token before fetch\n    await checkToken ()\n\n    // conds is an object clone copy from config.conditions\n    const {date, ...baseConditions} = conds\n    const [after, before] = date\n    baseConditions.created_at_after = after\n    baseConditions.created_at_before = before\n\n    return baseConditions\n  }\n})\n```\n\nThe `afterFetch` can intercept the response before data updated, **also your can requests depend on each other 🎭**\n\n```js\nconst { data } = useConditionWatcher({\n  fetcher,\n  conditions,\n  async afterFetch(response) {\n    //response.data = {id: 1, name: 'runkids'}\n    if(response.data === null) {\n      return []\n    }\n    // requests depend on each other\n    // the loading is still be true until fire `onFetchFinally`\n    const finalResponse = await otherAPIById(response.data.id)\n\n    return finalResponse // [{message: 'Hello', sender: 'runkids'}]\n  }\n})\n\nconsole.log(data) //[{message: 'Hello', sender: 'runkids'}]\n```\n\nThe `onFetchError` can intercept the response before data and error updated\n\n```js\nconst { data, error } = useConditionWatcher({\n  fetcher,\n  conditions,\n  async onFetchError({data, error}) {\n    if(error.code === 401) {\n      await doSomething()\n    }\n\n    return {\n      data: [],\n      error: 'Error Message'\n    }\n  }\n})\n\nconsole.log(data) //[]\nconsole.log(error) //'Error Message'\n```\n\n### Mutations data\n\nIn some cases, mutations to `data` is a good way to make the user experience better, you don't need wait for the remote data.\n\nUse `mutate` function, you can update `data`. While `onFetchSuccess` will replace `data` again.\n\nTwo way to use mutate function:\n\n- First way, force update current data.\n\n```js\nmutate(newData)\n```\n\n- Second way, use function will receive deep clone data, and return updated data.\n\n```js\nconst finalData = mutate((draft) => {\n  draft[0].name = 'runkids'\n  return draft\n})\n\nconsole.log(finalData[0]name === data.value[0].name) //true\n```\n\n#### 🏄‍♂️ Example for update a part of your data based on the current data\n\nPOST API will just return the updated data directly, so we don’t need to fetch list data again.\n\n```js\nconst { conditions, data, mutate } = useConditionWatcher({\n  fetcher: api.userInfo,\n  conditions,\n  initialData: []\n})\n\nasync function updateUserName (userId, newName, rowIndex = 0) {\n  console.log(data.value) //before: [{ id: 1, name: 'runkids' }, { id: 2, name: 'vuejs' }]\n\n  const response = await api.updateUer(userId, newName)\n\n  // 🚫 `data.value[0] = response.data`\n  // Not work! Because `data` is read only.\n\n  // Easy to use function will receive deep clone data, and return updated data.\n  mutate(draft => {\n    draft[rowIndex] = response.data\n    return draft\n  })\n\n  console.log(data.value) //after: [{ id: 1, name: 'mutate name' }, { id: 2, name: 'vuejs' }]\n}\n\n```\n\n### Conditions Change Event\n\n`onConditionsChange` can help you handle conditions changed.\nWill return new value and old value.\n\n```js\nconst { conditions, onConditionsChange } = useConditionWatcher({\n  fetcher,\n  conditions: {\n    page: 0\n  },\n})\n\nconditions.page = 1\n\nonConditionsChange((conditions, preConditions)=> {\n  console.log(conditions) // { page: 1}\n  console.log(preConditions) // { page: 0}\n})\n```\n\n### Fetch Event\n\nThe `onFetchResponse`, `onFetchError` and `onFetchFinally` will fire on fetch request.\n\n```ts\nconst { onFetchResponse, onFetchError, onFetchFinally } = useConditionWatcher(config)\n\nonFetchResponse((response) => {\n  console.log(response)\n})\n\nonFetchError((error) => {\n  console.error(error)\n})\n\nonFetchFinally(() => {\n  //todo\n})\n```\n\n## Polling\n\nYou can use `pollingInterval` to automatically refetch data. Just enable it by setting `pollingInterval` value.\n\n```js\nuseConditionWatcher({\n  fetcher,\n  conditions,\n  pollingInterval: 1000\n})\n```\n\nAnd also you can use `ref`, it's will be reactivity.\n\n```js\nconst pollingInterval = ref(0)\n\nuseConditionWatcher({\n  fetcher,\n  conditions,\n  pollingInterval: pollingInterval\n})\n\nfunction startPolling () {\n  pollingInterval.value = 1000\n}\n\nonMounted(startPolling)\n```\n\nThe `vue-condition-watcher` default will disable polling when you leave the screen in focus or when the network is disconnected.\n\nYou can turn off the default behavior by setting:\n\n- `pollingWhenHidden=true` to continue polling after leaving focus\n- `pollingWhenOffline=true` will continue polling if the network is disconnected\n\nYou can also retry the request after enabling the focus screen to make sure the data is up to date.\n\n- `revalidateOnFocus=true`\n\n```js\nuseConditionWatcher({\n  fetcher,\n  conditions,\n  pollingInterval: 1000,\n  pollingWhenHidden: true, // pollingWhenHidden default is false\n  pollingWhenOffline: true, // pollingWhenOffline default is false\n  revalidateOnFocus: true // revalidateOnFocus default is false\n})\n```\n\n## Cache\n\nThe `vue-condition-watcher` preset will cache your first data in the current component. Then the following requests will use the cached data first, silently request new data behind, wait for the latest return result and compare whether the cached data is the same to achieve a similar preloading effect.\n\nYou can also set `cacheProvider` by function to share globally or cache data in `localStorage`, and with polling, it can achieve the effect of paging and synchronizing data.\n\n###### Global Based\n\n```js\n// App.vue\n<script lang=\"ts\">\nconst cache = new Map()\n\nexport default {\n  name: 'App',\n  provide: {\n    cacheProvider: () => cache\n  }\n}\n\n//Other.vue\nuseConditionWatcher({\n  fetcher,\n  conditions,\n  cacheProvider: inject('cacheProvider')\n})\n</script>\n```\n\n###### [LocalStorage Based](https://swr.vercel.app/docs/advanced/cache#localstorage-based-persistent-cache)\n\n```js\nfunction localStorageProvider() {\n  const map = new Map(JSON.parse(localStorage.getItem('your-cache-key') || '[]'))\n  window.addEventListener('beforeunload', () => {\n    const appCache = JSON.stringify(Array.from(map.entries()))\n    localStorage.setItem('your-cache-key', appCache)\n  })\n  return map\n}\n\nuseConditionWatcher({\n  fetcher,\n  conditions,\n  cacheProvider: localStorageProvider\n})\n```\n\n## History Mode\n\nYou can enable History mode by setting `config.history`, which is based on vue-router and supports v3 and v4 versions\n\n````js\nconst router = useRouter()\n\nuseConditionWatcher({\n  fetcher,\n  conditions,\n  history: {\n    sync: router\n  }\n})\n````\n\nYou can also set `history.ignore` to exclude the `key&value` in the `conditions` section from being synced to the URL query string.\n\n````js\nconst router = useRouter()\n\nuseConditionWatcher({\n  fetcher,\n  conditions: {\n    users: ['runkids', 'hello']\n    limit: 20,\n    offset: 0\n  },\n  history: {\n    sync: router,\n    ignore: ['limit']\n  }\n})\n\n// the query string will be ?offset=0&users=runkids,hello\n````\n\nHistory mode will convert the corresponding types of `conditions` default values ​​to query strings and will filter out `undefined`, `null`, `''`, `[]` values.\n\n````js\nconditions: {\n  users: ['runkids', 'hello']\n  company: ''\n  limit: 20,\n  offset: 0\n}\n// the query string will be ?offset=0&limit=20&users=runkids,hello\n````\n\nAlso automatically syncs the query string to `conditions` whenever you refresh the page\n\n````\nURL query string: ?offset=0&limit=10&users=runkids,hello&company=vue\n````\n\n`conditions` will become\n\n````js\n{\n  users: ['runkids', 'hello']\n  company: 'vue'\n  limit: 10,\n  offset: 0\n}\n````\n\nUse `navigation` to replace or push current location. The default value is 'push'\n```js\nuseConditionWatcher({\n  fetcher,\n  conditions: {\n    limit: 20,\n    offset: 0\n  },\n  history: {\n    sync: router,\n    navigation: 'replace'\n  }\n})\n```\n\n\n\n## Lifecycle\n\n<img src=\".github/vue-condition-watcher_lifecycle.jpeg\"/>\n\n- ##### `onConditionsChange`\n\n  Fire new conditions value and old conditions value.\n\n  ```js\n  onConditionsChange((cond, preCond)=> {\n    console.log(cond)\n    console.log(preCond)\n  })\n  ```\n\n- ##### `beforeFetch`\n\n  You can modify conditions before fetch, or you can call second of arguments to stop fetch this time.\n\n  ```js\n  const { conditions } = useConditionWatcher({\n    fetcher,\n    conditions,\n    beforeFetch\n  })\n\n  async function beforeFetch(cond, cancel){\n    if(!cond.token) {\n      // stop fetch\n      cancel()\n      // will fire onConditionsChange again\n      conditions.token = await fetchToken()\n    }\n    return cond\n  })\n  ```\n\n- ##### `afterFetch` & `onFetchSuccess`\n\n  `afterFetch` fire before `onFetchSuccess`<br/>\n  `afterFetch` can modify data before update.\n  ||Type|Modify data before update| Dependent request |\n  |-----|--------|------|------|\n  |afterFetch| config | ⭕️ | ⭕️ |\n  |onFetchSuccess  | event | ❌ | ❌ |\n\n  ```html\n    <template> \n      {{ data?.detail }} <!-- 'xxx' -->\n    </template>\n  ```\n\n   ```js\n  const { data, onFetchSuccess } = useConditionWatcher({\n    fetcher,\n    conditions,\n    async afterFetch(response){\n      //response = { id: 1 }\n      const detail = await fetchDataById(response.id)\n      return detail // { id: 1, detail: 'xxx' }\n    })\n  })\n\n  onFetchSuccess((response)=> {\n    console.log(response) // { id: 1, detail: 'xxx' }\n  })\n  ```\n\n- ##### `onFetchError(config)` & `onFetchError(event)`\n\n  `config.onFetchError` fire before `event.onFetchError`<br/>\n  `config.onFetchError` can modify data and error before update.\n  ||Type|Modify data before update|Modify error before update|\n  |-----|--------|------|------|\n  |onFetchError| config | ⭕️ | ⭕️ |\n  |onFetchError  | event | ❌ | ❌ |\n\n   ```js\n  const { onFetchError } = useConditionWatcher({\n    fetcher,\n    conditions,\n    onFetchError(ctx){\n      return {\n        data: [],\n        error: 'Error message.'\n      }\n    })\n  })\n\n  onFetchError((error)=> {\n    console.log(error) // origin error data\n  })\n  ```\n\n- ##### `onFetchFinally`\n\n  Will fire on fetch finished.\n\n  ```js\n  onFetchFinally(async ()=> {\n    //do something\n  })\n  ```\n\n## Make It Reusable\n\nYou might need to reuse the data in many places. It is incredibly easy to create reusable hooks of `vue-condition-watcher` :\n\n```js\nfunction useUserExpensesHistory (id) {\n  const { conditions, data, error, loading } = useConditionWatcher({\n    fetcher: params => api.user(id, { params }),\n    defaultParams: {\n      opt_expand: 'amount,place'\n    },\n    conditions: {\n      daterange: []\n    }\n    immediate: false,\n    initialData: [],\n    beforeFetch(cond, cancel) {\n      if(!id) {\n        cancel()\n      }\n      const { daterange, ...baseCond } = cond\n      if(daterange.length) {\n        [baseCond.created_at_after, baseCond.created_at_before] = [\n          daterange[0],\n          daterange[1]\n        ]\n      }\n      return baseCond\n    }\n  })\n\n  return {\n    histories: data,\n    isFetching: loading,\n    isError: error,\n    daterange: conditions.daterange\n  }\n}\n```\n\nAnd use it in your components:\n\n```js\n<script setup>\n  const { \n    daterange, \n    histories, \n    isFetching, \n    isError \n  } = useUserExpensesHistory(route.params.id)\n\n  onMounted(() => {\n    //start first time data fetching after initial date range\n    daterange = [new Date(), new Date()]\n  })\n</script>\n```\n\n```html\n<template>\n  <el-date-picker\n    v-model=\"daterange\"\n    :disabled=\"isFetching\"\n    type=\"daterange\"\n  />\n  <div v-for=\"history in histories\" :key=\"history.id\">\n    {{ `${history.created_at}: ${history.amount}` }}\n  </div>\n</template>\n```\n\nCongratulations! 🥳 You have learned how to use composition-api with `vue-condition-watcher`.\n\nNow we can manage the paging information use `vue-condition-watcher` .\n\n## Pagination\n\nHere is an example use Django the limit and offset functions and Element UI.\n\nCreate `usePagination`\n\n```js\nfunction usePagination () {\n  let cancelFlag = false // check this to cancel fetch\n\n  const { startLoading, stopLoading } = useLoading()\n  const router = useRouter()\n  \n  const { conditions, data, execute, resetConditions, onConditionsChange, onFetchFinally } = useConditionWatcher(\n    {\n      fetcher: api.list,\n      conditions: {\n        daterange: [],\n        limit: 20,\n        offset: 0\n      }\n      immediate: true,\n      initialData: [],\n      history: {\n        sync: router,\n        // You can ignore the key of URL query string, prevent users from entering unreasonable numbers by themselves.\n        // The URL will look like ?offset=0 not show `limit`\n        ignore: ['limit'] \n      },\n      beforeFetch\n    }, \n  )\n\n  // use on pagination component\n  const currentPage = computed({\n    get: () => conditions.offset / conditions.limit + 1,\n    set: (page) => {\n      conditions.offset = (page - 1) * conditions.limit\n    }\n  })\n\n  // onConditionsChange -> beforeFetch -> onFetchFinally\n  onConditionsChange((newCond, oldCond) => {\n    // When conditions changed, reset offset to 0 and then will fire beforeEach again.\n    if (newCond.offset !== 0 && newCond.offset === oldCond.offset) {\n      cancelFlag = true\n      conditions.offset = 0\n    }\n  })\n\n  async function beforeFetch(cond, cancel) {\n    if (cancelFlag) {\n      // cancel fetch when cancelFlag be true\n      cancel()\n      cancelFlag = false // reset cancelFlag \n      return cond\n    }\n    // start loading\n    await nextTick()\n    startLoading()\n    const { daterange, ...baseCond } = cond\n    if(daterange.length) {\n      [baseCond.created_at_after, baseCond.created_at_before] = [\n        daterange[0],\n        daterange[1]\n      ]\n    }\n    return baseCond\n  }\n\n  onFetchFinally(async () => {\n    await nextTick()\n    // stop loading\n    stopLoading()\n    window.scrollTo(0, 0)\n  })\n\n  return {\n    data,\n    conditions,\n    currentPage,\n    resetConditions,\n    refetch: execute\n  }\n}\n```\n\nAnd use it in your components:\n\n```js\n<script setup>\n  const { data, conditions, currentPage, resetConditions, refetch } = usePagination()\n</script>\n```\n\n```html\n<template>\n  <el-button @click=\"refetch\">Refetch Data</el-button>\n  <el-button @click=\"resetConditions\">Reset Offset</el-button>\n\n  <el-date-picker\n    v-model=\"conditions.daterange\"\n    type=\"daterange\"\n  />\n\n  <div v-for=\"info in data\" :key=\"info.id\">\n    {{ info }}\n  </div>\n\n  <el-pagination\n    v-model:currentPage=\"currentPage\"\n    v-model:page-size=\"conditions.limit\"\n    :total=\"data.length\"\n  />\n</template>\n```\n\nWhen daterange or limit changed, will reset offset to 0 and only fetch data again after reset offset.\n\n## TDOD List\n\n- [ ] Error Retry\n- [ ] Nuxt SSR SSG Support\n\n## Thanks\n\nThis project is heavily inspired by the following awesome projects.\n\n- [vercel/swr](https://github.com/vercel/swr)\n\n## 📄 License\n\n[MIT License](https://github.com/runkids/vue-condition-watcher/blob/master/LICENSE) © 2020-PRESENT [Runkids](https://github.com/runkids)\n","readmeFilename":"README.md","_id":"vue-condition-watcher@2.0.0-beta.3","_integrity":"sha512-sZbVAczbKdPn07DdPV8ksj31tBYX/qEXzQPmgsKpv+Ykf4ol9tw8y7E9yhWOqH2pkFBakWfyPYdg8WJ2sfyylw==","_resolved":"/private/var/folders/dv/8nl6zx7n3y9952myd1x2wm8c0000gn/T/4d2ab0bcbfe0eb0b1e7bebf731d6752b/vue-condition-watcher-2.0.0-beta.3.tgz","_from":"file:vue-condition-watcher-2.0.0-beta.3.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-sZbVAczbKdPn07DdPV8ksj31tBYX/qEXzQPmgsKpv+Ykf4ol9tw8y7E9yhWOqH2pkFBakWfyPYdg8WJ2sfyylw==","shasum":"25593fa8c27d45132cd206613db5d6ed472b594c","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-2.0.0-beta.3.tgz","fileCount":24,"unpackedSize":216665,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICdMCJfeBlCab1WiYSrKhaFDBrZzkkPk9Qe3XXuqKScDAiEA60oLSI+JgJFujTlXq0wdW2R6BHgQghRjhCtPYCOVRgM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjt77iACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp0PA/9H1kl0mJcAGd4g3VKvi8krD7mTUoNAGcige7KR3b5JQ6CHSe2\r\ntAKwsyZzeDiShShQJjBhVUnq4dOqGggpGOA5EDgrmYroiXUd/EXGRcEpOujf\r\nwc4mj4Tm8cfdSH991UvXeFu1Ga+DGD3CvmS+onRCGD9ZkputEW5tL+Me60v7\r\nG2uTQRYA6eAeLsuLoBVnCJ5RJIP+CEQqEdEsmYv6g2VpkpK/thDcKdEDgD1j\r\nwFP7gawZTlfoVR1lJJ+sKMbU9ZOTony6WrlHb5R33TraoG4XmSPCBFL27hX7\r\n1sOwz2foK9ZrbCsjxv6p+b74tRpmDwL7frKWq23sKdOeF7pN87TLcbE2bLKQ\r\nR4Elwzw4gciwfk/GtMxSJJcpHEYGbEMBxYPp7Z4MgaWxS6Iyrr5pu22dhSwV\r\njhruKUZJYCzKlbi5WXTAz/X/QFCgTe5fHaK0bEHx2QY8aP9+/iHfYLBFfvZQ\r\nh80iG03zBe0gqduM+brXsSOoJKGgJC/0RfPMj6dnQKxwfvN6Pm3McwBl+nUL\r\nm/s4GnK0FsCsO+AanHjpDvs9OnqVRubOtLzvuf3uhV8suSw7E9oy3dEENWBF\r\n+h+cI9LrDjqCrJ5RVmC7KhMBW3VUpB41Z2UL0kczHdxg/TKrcICuVR56/jRV\r\nwr0lhpxmi6O9tdim7FboDE/DDNdlCAFqU8U=\r\n=dEH9\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_2.0.0-beta.3_1672986338440_0.010695654881895722"},"_hasShrinkwrap":false},"1.5.0":{"name":"vue-condition-watcher","version":"1.5.0","description":"Vue composition API for automatic data fetching. With conditions as the core. Easily control and sync to URL query string by conditions","main":"./dist/index.js","module":"./esm/index.js","types":"./dist/index.d.ts","scripts":{"build":"npx rimraf dist && npx rimraf esm && npm run build:esm && npm run build:cjs","build:cjs":"ncc build src/index.ts -o dist -m -e vue","build:esm":"tsc --target ESNext --module ES6 --outDir esm","types:check":"tsc --noEmit","format":"prettier --write \"{src,test,examples}/**/*.ts\"","lint":"eslint \"{src,test,examples}/**/*.ts\"","lint:fix":"eslint \"{src,test,examples}/**/*.ts\" --fix","test":"yarn format && vue-demi-switch 3 && jest","watch":"tsc --watch"},"repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable","fetch","fetch-data"],"author":{"name":"Willy Hong"},"license":"MIT","bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"homepage":"https://github.com/runkids/vue-condition-watcher#readme","husky":{"hooks":{"pre-commit":"npm run types:check && lint-staged"}},"lint-staged":{"*.{ts, js}":["npm run lint:fix","npm run format","git add"]},"engines":{"node":">=12"},"dependencies":{"vue-demi":"^0.12.1"},"peerDependencies":{"@nuxtjs/composition-api":"^0.24.4","@vue/composition-api":"^1.0.0","vue":"^2.0.0 || >=3.0.0"},"peerDependenciesMeta":{"@vue/composition-api":{"optional":true},"@nuxtjs/composition-api":{"optional":true}},"devDependencies":{"@types/jest":"^26.0.24","@types/node":"11.12.0","@types/vue":"^2.0.0","@typescript-eslint/eslint-plugin":"^4.25.0","@typescript-eslint/parser":"^4.25.0","@zeit/ncc":"0.22.2","eslint":"6.6.0","eslint-config-prettier":"6.5.0","husky":"2.4.1","jest":"27.0.6","lint-staged":"8.2.1","prettier":"^2.0.5","ts-jest":"27.0.3","typescript":"^4.3.5","vue":"^3.2.26","vue-router":"^4.0.10"},"gitHead":"b66cbc9af90b4de08ee25cb9ad7d21f59e310ad6","_id":"vue-condition-watcher@1.5.0","_nodeVersion":"16.15.1","_npmVersion":"9.2.0","dist":{"integrity":"sha512-sacGwv6Swh8x8X37d4CjcqfREb1IzY3I8tCDczVS0PJ7DwVZMaE0wPY+T9b59c2MoLZ5K8jjp7oX6kTl382E2g==","shasum":"80a3fb6ccff6e5b4ac18b71e7e9a537733d43ae8","tarball":"https://registry.npmjs.org/vue-condition-watcher/-/vue-condition-watcher-1.5.0.tgz","fileCount":31,"unpackedSize":87493,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICs8agCKSgTFtHMcdlaZ57mr2qeYE8KpTGBH5Sz6NWTbAiACtmFuylRlxQ2USQ39gRo7ClWiWwzjYJjH/3xLOv68IA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjt8SdACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmptoA/+KNqkBmn0BsciUBv6fDA/NKEJ/qn186odcY9TTkwlJrCk6H5o\r\nzOc2xq1vZE3QOYPikb/Nbqk8cGyM1cl9sRVLzFaZ8I2lF7njNHvo0a0qNalg\r\ngKbA+y2tJSmhxAhu3UmpyDXIPjsRw163nMNfWjetf3MhqBY/Q/O5P7QwypIU\r\n9yVwb/Kpxrsv4B6U5bUpo7w7OUiCAXoQZwkDQ1lo2u5cYsgQW7S3xKNj66+f\r\n2Kv781QiOEOIkZN2rCenjxbVGdLbSJxVo7iRzquOSgaFAhEOcdnockIGAKWS\r\nx261xY7DUR5ahenELVfmBkm1Xicowi5pcBo3pRn2dMb9Fi9NAWYher6dzbPm\r\ndzoCFuXsU1REdwlFF8L9auEc7bZKwANThkMkW1+k4ooQfHEgDgnTxxuU3mL2\r\nFtCeb5JUyweLj9VEa1OGQoQoehOgvfNpW8Vmd+kHj99JcK9BOZbb0pvzMmit\r\naaHmcOAn+sZ2u55oT9aKdYMJ3c7UlrRwoYhdShXfeAkETS4t1XXnvDA7x7GW\r\n8NFrhvuOy+EAoICn2GGcXEaZf+aVe8NvDfXp4XbE9Jso2k3cFmf+DWgbFeOZ\r\nzMb+CSnSqb21WfEieoUkxNMvcuL8OFdEpxNBM7OBHLgglEetabPGzCTxq5uw\r\nlRwijfgIoHejBZSYnwKMs91ob0b4x5g5SXg=\r\n=YXg2\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"runkids","email":"egg358358@gmail.com"},"directories":{},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-condition-watcher_1.5.0_1672987805400_0.15227107914058813"},"_hasShrinkwrap":false}},"time":{"created":"2020-05-19T14:12:06.954Z","0.0.1":"2020-05-19T14:12:07.093Z","modified":"2023-01-06T06:50:05.708Z","0.0.2":"2020-05-19T14:23:45.155Z","0.0.3":"2020-05-19T23:27:53.598Z","0.0.4":"2020-05-20T04:02:44.972Z","0.0.5":"2020-05-22T02:40:01.063Z","0.0.6":"2020-05-22T05:46:29.470Z","0.0.7":"2020-05-23T17:30:14.126Z","0.0.8":"2020-05-25T04:49:44.850Z","0.0.9":"2020-06-13T04:48:56.045Z","0.0.10":"2020-06-30T05:41:20.828Z","0.0.11":"2020-07-03T09:13:27.382Z","0.1.0":"2020-07-04T10:43:06.115Z","0.1.1":"2020-07-04T18:33:10.787Z","0.1.2":"2020-07-04T20:15:51.564Z","0.1.3":"2020-07-05T06:32:16.566Z","0.1.4":"2020-07-05T09:39:40.312Z","0.1.5":"2020-08-04T02:37:09.011Z","0.1.6":"2020-08-04T02:46:11.021Z","0.1.7":"2021-02-17T02:28:56.137Z","0.1.8":"2021-02-17T06:35:05.302Z","0.1.9":"2021-03-26T10:12:52.819Z","0.1.10":"2021-03-29T08:40:47.400Z","0.1.11":"2021-07-19T13:19:33.300Z","0.1.12":"2021-08-11T02:47:03.502Z","1.0.0":"2021-12-31T15:30:46.973Z","1.0.1":"2021-12-31T15:36:47.622Z","1.1.0":"2022-01-01T11:59:18.276Z","1.1.1":"2022-01-01T13:42:48.937Z","1.1.2":"2022-01-01T16:00:04.915Z","1.1.3":"2022-01-01T16:18:34.571Z","1.1.4":"2022-01-02T06:37:18.865Z","1.2.0":"2022-01-02T13:55:53.983Z","1.2.1":"2022-01-02T14:05:59.324Z","1.2.2":"2022-01-05T19:56:52.667Z","1.2.3":"2022-01-05T20:02:32.675Z","1.3.0":"2022-01-06T19:22:06.889Z","1.4.0":"2022-01-08T19:03:22.326Z","1.4.1":"2022-01-08T19:23:52.234Z","1.4.2":"2022-01-09T16:49:07.188Z","1.4.3":"2022-01-12T17:35:06.975Z","1.4.4":"2022-04-11T15:03:39.010Z","1.4.5":"2022-04-14T09:50:48.296Z","1.4.6":"2022-04-14T16:17:10.069Z","1.4.7":"2022-04-15T07:04:49.852Z","2.0.0-beta.0":"2022-07-17T10:04:34.679Z","2.0.0-beta.1":"2022-07-17T15:30:37.270Z","2.0.0-beta.2":"2022-11-30T02:38:54.230Z","2.0.0-beta.3":"2023-01-06T06:25:38.668Z","1.5.0":"2023-01-06T06:50:05.632Z"},"maintainers":[{"name":"runkids","email":"egg358358@gmail.com"}],"description":"Vue composition API for automatic data fetching. With conditions as the core. Easily control and sync to URL query string by conditions","homepage":"https://github.com/runkids/vue-condition-watcher#readme","repository":{"type":"git","url":"git+https://github.com/runkids/vue-condition-watcher.git"},"author":{"name":"Willy Hong"},"bugs":{"url":"https://github.com/runkids/vue-condition-watcher/issues"},"license":"MIT","readme":"English | [中文](./README-zh_TW.md)\n\n# vue-condition-watcher <img src=\"https://slackmojis.com/emojis/43271-glasses/download\" width=\"40\" />\n\n[![CircleCI](https://circleci.com/gh/runkids/vue-condition-watcher.svg?style=svg)](https://circleci.com/gh/runkids/vue-condition-watcher) [![vue3](https://img.shields.io/badge/vue-3.x-brightgreen.svg)](https://vuejs.org/) [![vue3](https://img.shields.io/badge/vue-2.x-brightgreen.svg)](https://composition-api.vuejs.org/) [![npm](https://img.shields.io/npm/v/vue-condition-watcher.svg)](https://www.npmjs.com/package/vue-condition-watcher)  [![npm](https://img.shields.io/npm/dt/vue-condition-watcher.svg)](https://www.npmjs.com/package/vue-condition-watcher) [![bundle size](https://badgen.net/bundlephobia/minzip/vue-condition-watcher)](https://bundlephobia.com/result?p=vue-condition-watcher) [![npm](https://img.shields.io/npm/l/vue-condition-watcher.svg)](https://github.com/runkids/vue-condition-watcher/blob/master/LICENSE)\n\n## Introduction\n\nVue composition API for automatic data fetching. With `conditions` as the core. Easily control and sync to URL query string by `conditions`\n> requires Node.js 12.0.0 or higher.\n\n## Features\n\n  ✔ Automatically fetch data whenever `conditions` changes<br>\n  ✔ `null` `undefined` `[]` `''` will be automatically filtered out before sending the request<br>\n  ✔ Refreshing the page will automatically initialize `conditions` according to the query string of the URL, and will automatically correspond to the type ( string, number, array, date )<br>\n  ✔ Whenever `conditions` changes, the URL query string will be automatically synchronized, and the previous page and next page will work normally<br>\n  ✔ Avoid `race condition`, ensure requests are first in, first out, and can also avoid repeated requests<br>\n  ✔ Do Dependent Request before updating `data`<br/>\n  ✔ Easily handle paging needs, simply customize your own paging logic<br/>\n  ✔ Automatically re-request data when web page is refocused or network disconnection resumes<br/>\n  ✔ Support polling, the polling period can be adjusted dynamically<br/>\n  ✔ The caching mechanism allows data to be rendered faster without waiting for loading animations<br/>\n  ✔ No need to wait for the return result, you can manually change `data` to make the user experience better<br/>\n  ✔ TypeScript support. <br/>\n  ✔ Works for Vue 2 & 3 by the power of [vue-demi](https://github.com/vueuse/vue-demi)\n  \n  <img src=\".github/vue-conditions-watcher.gif\"/>\n\n## Navigation\n\n- [Installation](#installation)\n- [Quick Start](#quick-start)\n- [Configs](#configs)\n- [Return Values](#return-values)\n- [Execute Fetch](#execute-fetch)\n- [Prevent Request](#prevent-request)\n- [Manually Trigger Request](#manually-trigger-request)\n- [Intercepting Request](#intercepting-request)\n- [Mutations data](#mutations-data)\n- [Conditions Change Event](#conditions-change-event)\n- [Fetch Event](#fetch-event)\n- [Polling](#polling)\n- [Cache](#cache)\n- [History Mode](#history-mode)\n- [Lifecycle](#lifecycle)\n- [Pagination](#pagination)\n- [Changelog](https://github.com/runkids/vue-condition-watcher/blob/master/CHANGELOG.md)\n\n## Demo\n\n[👉 Download Vue3 example here](https://github.com/runkids/vue-condition-watcher/tree/master/examples/vue3) (Use [Vite](https://github.com/vuejs/vite))\n\n```bash\ncd examples/vue3\nyarn \nyarn serve\n````\n\n[👉 Download Vue2 @vue/composition-api example here](https://github.com/runkids/vue-condition-watcher/tree/master/examples/vue2)\n\n```bash\ncd examples/vue2\nyarn \nyarn serve\n````\n\n### 👉 Online demo\n\n  - [Demo with Vue 3 on StackBlitz](https://stackblitz.com/edit/vitejs-vite-tsvfqu?devtoolsheight=33&embed=1&file=src/views/Home.vue)\n\n## Getting Started\n\n### Installation\n\nIn your project\n\n```bash\nyarn add vue-condition-watcher\n```\n\nOr with npm\n\n```bash\nnpm install vue-condition-watcher\n```\n\nCDN\n\n```javascript\nhttps://unpkg.com/vue-condition-watcher/dist/index.js\n```\n\n### Quick Start\n\nThis is a simple example for `vue-next` and `vue-router-next`\n\nFirst you need to create a fetcher function, use the native `fetch` or libs like Axios. Then import `useConditionWatcher` and start using it.\n\n```javascript\ncreateApp({\n  template: `\n    <div class=\"filter\">\n      <input v-model=\"conditions.name\">\n      <button @click=\"execute\">Refetch</button>\n    </div>\n    <div class=\"container\">\n      {{ !loading ? data : 'Loading...' }}\n    </div>\n    <div v-if=\"error\">{{ error }}</div>\n  `,\n  setup() {\n    const fetcher = params => axios.get('/user/', {params})\n    const router = useRouter()\n\n    const { conditions, data, loading, error } = useConditionWatcher(\n      {\n        fetcher,\n        conditions: {\n          name: ''\n        },\n        history: {\n          sync: router\n        }\n      }\n    )\n    return { conditions, data, loading, error }\n  },\n})\n.use(router)\n.mount(document.createElement('div'))\n```\n\nYou can use the value of `data`, `error`, and `loading` to determine the current state of the request.\n\nWhen the `conditions.name` value changes, will fire the `lifecycle` to fetching data again.\n\nUse `config.history` of sync to `sync: router`. Will store the conditions within the URL query string every time conditions change.\n\n### Basic Usage\n\n```js\nconst { conditions, data, error, loading, execute, resetConditions, onConditionsChange } = useConditionWatcher(config)\n```\n\n### Configs\n\n- `fetcher`: (⚠️ Required) promise function for data fetching.\n- `conditions`: (⚠️ Required) `conditions` default value.\n- `defaultParams`: The parameters that will be preset with each request and cannot be modified.\n- `initialData`: `data` returns null by default. If you want to define the initial data, you can use this parameter setting.\n- `immediate`: If you don't want to automatically fetch data in the first time, you can set this parameter to `false`, and the request will not be executed until `conditions` is changed or `execute` is executed.\n- `manual`: Instead manually execute `execute` function to trigger the request, even if `conditions` changes, it will not be automatically requested.\n- `history`: Based on vue-router (v3 & v4), enables synchronization of `conditions` to URL's Query String. Synchronize Query String to `conditions` when the page is refreshed\n- `pollingInterval`: Enable polling, can be `number` or `ref(number)` in milliseconds\n- `pollingWhenHidden`: Continue polling whenever you leave the focused screen, the default is `false`.\n- `pollingWhenOffline`: continue polling whenever the network is disconnected, the default is `false`.\n- `revalidateOnFocus`: After re-focusing the screen, re-request once, the default is `false`.\n- `cacheProvider`: `vue-condition-watch` will cache data behind, you can pass this parameter to customize `cacheProvider`\n- `beforeFetch`: You can last modify the `conditions` before the request, or you can terminate the request at this stage.\n- `afterFetch`: you can adjust the result of `data` before `data` is updated\n- `onFetchError`: Triggered when an error occurs in the request, you can adjust `error` & `data` before `data` and `error` are updated\n\n### Return Values\n\n- `conditions`:<br/>\n Type: `reactive`<br/>\n Reactive objects (conditions based on config) are the main core of `vue-conditions-watcher`. Whenever `conditions` changes, the [lifecycle](#lifecycle) will be triggered.<br/>\n- `data`:<br/>\nType: `👁‍🗨 readonly & ref`<br/>\nDefault Value: `undefined`<br/>\nThe return result of `config.fetcher`, will be `undefined` again when conditions changed.<br/>\n- `error`:<br/>\nType: `👁‍🗨 readonly & ref`<br/>\nDefault Value: `undefined`<br/>\n`config.fetcher` error return result<br/>\n- `isFetching`:<br/>\nType: `👁‍🗨 readonly & ref`<br/>\nDefault Value: `false`<br/>\nThe status of the request being processed<br/>\n- `loading`: When `!data.value & !error.value` will be `true`.\n- `execute`: Trigger the request again based on the current `conditions` and `defaultParams`.<br/>\n- `mutate`: `data` can be modified using this method<br/>\n**🔒 ( `data` default is only unmodifiable )**<br/>\n- `resetConditions`: Reset `conditions` back to their initial values\n- `onConditionsChange`: Fires when `conditions` changes, returning new and old values\n- `onFetchSuccess`: The request is successfully triggered and the original request result is returned\n- `onFetchError`: Triggered by request failure, returning the original request failure result\n- `onFetchFinally`: Fired when the request ends\n\n### Execute Fetch\n\n`conditions` is reactive proxy, easy execute fetch when `conditions` value changed\n\n```js\nconst { conditions } = useConditionWatcher({\n  fetcher,\n  conditions: {\n    page: 0\n  },\n  defaultParams: {\n    opt_expand: 'date'\n  }\n})\n\nconditions.page = 1 // fetch data with payload { page: 1, opt_expand: 'date' }\n\nconditions.page = 2 // fetch data with payload { page: 2, opt_expand: 'date' }\n```\n\nJust call `execute` function to send a request if you need.\n\n```js\nconst { conditions, execute: refetch } = useConditionWatcher({\n  fetcher,\n  conditions: {\n    page: 0\n  },\n   defaultParams: {\n    opt_expand: 'date'\n  }\n})\n\nrefetch() // fetch data with payload { page: 0, opt_expand: 'date' }\n```\n\nForce update conditions in time.\n\n```js\nconst { conditions, resetConditions } = useConditionWatcher({\n  fetcher,\n  immediate: false,\n  conditions: {\n    page: 0,\n    name: '',\n    date: []\n  },\n})\n\n// initial conditions then fire onConditionsChange event\nresetConditions({\n  name: 'runkids',\n  date: ['2022-01-01', '2022-01-02']\n})\n\n// Reset conditions\nfunction reset () {\n  // You can just use `resetConditions` function to initial value.\n  resetConditions()\n}\n```\n\n### Prevent Request\n\nSetting the `immediate` to false will prevent the request until the `execute`\nfunction called or conditions changed.\n\n```js\nconst { execute } = useConditionWatcher({\n  fetcher,\n  conditions,\n  immediate: false,\n})\n\nexecute()\n```\n\n### Manually Trigger Request\n\nBy default, `vue-condition-watcher` will automatically trigger fetch data. You can pass `manual` to disable the default fetch and then use `execute()` to trigger fetch data.\n\n```js\nconst { execute } = useConditionWatcher({\n  fetcher,\n  conditions,\n  manual: true,\n})\n\nexecute()\n```\n\n### Intercepting Request\n\nThe `beforeFetch` let you modify conditions before fetch.\nReceive two params:\n\n- Object of clone deep conditions.\n- Function called to stop fetch.\n\n```js\nuseConditionWatcher({\n  fetcher,\n  conditions: {\n    date: ['2022/01/01', '2022/01/02']\n  },\n  initialData: [],\n  async beforeFetch(conds, cancel) {\n    // await to check token before fetch\n    await checkToken ()\n\n    // conds is an object clone copy from config.conditions\n    const {date, ...baseConditions} = conds\n    const [after, before] = date\n    baseConditions.created_at_after = after\n    baseConditions.created_at_before = before\n\n    return baseConditions\n  }\n})\n```\n\nThe `afterFetch` can intercept the response before data updated, **also your can requests depend on each other 🎭**\n\n```js\nconst { data } = useConditionWatcher({\n  fetcher,\n  conditions,\n  async afterFetch(response) {\n    //response.data = {id: 1, name: 'runkids'}\n    if(response.data === null) {\n      return []\n    }\n    // requests depend on each other\n    // the loading is still be true until fire `onFetchFinally`\n    const finalResponse = await otherAPIById(response.data.id)\n\n    return finalResponse // [{message: 'Hello', sender: 'runkids'}]\n  }\n})\n\nconsole.log(data) //[{message: 'Hello', sender: 'runkids'}]\n```\n\nThe `onFetchError` can intercept the response before data and error updated\n\n```js\nconst { data, error } = useConditionWatcher({\n  fetcher,\n  conditions,\n  async onFetchError({data, error}) {\n    if(error.code === 401) {\n      await doSomething()\n    }\n\n    return {\n      data: [],\n      error: 'Error Message'\n    }\n  }\n})\n\nconsole.log(data) //[]\nconsole.log(error) //'Error Message'\n```\n\n### Mutations data\n\nIn some cases, mutations to `data` is a good way to make the user experience better, you don't need wait for the remote data.\n\nUse `mutate` function, you can update `data`. While `onFetchSuccess` will replace `data` again.\n\nTwo way to use mutate function:\n\n- First way, force update current data.\n\n```js\nmutate(newData)\n```\n\n- Second way, use function will receive deep clone data, and return updated data.\n\n```js\nconst finalData = mutate((currentData) => {\n  currentData[0].name = 'runkids'\n  return currentData\n})\n\nconsole.log(finalData[0]name === data.value[0].name) //true\n```\n\n#### 🏄‍♂️ Example for update a part of your data based on the current data\n\nPOST API will just return the updated data directly, so we don’t need to fetch list data again.\n\n```js\nconst { conditions, data, mutate } = useConditionWatcher({\n  fetcher: api.userInfo,\n  conditions,\n  initialData: []\n})\n\nasync function updateUserName (userId, newName, rowIndex = 0) {\n  console.log(data.value) //before: [{ id: 1, name: 'runkids' }, { id: 2, name: 'vuejs' }]\n\n  const response = await api.updateUer(userId, newName)\n\n  // 🚫 `data.value[0] = response.data`\n  // Not work! Because `data` is read only.\n\n  // Easy to use function will receive deep clone data, and return updated data.\n  mutate(currentData => {\n    currentData[rowIndex] = response.data\n    return currentData\n  })\n\n  console.log(data.value) //after: [{ id: 1, name: 'mutate name' }, { id: 2, name: 'vuejs' }]\n}\n\n```\n\n### Conditions Change Event\n\n`onConditionsChange` can help you handle conditions changed.\nWill return new value and old value.\n\n```js\nconst { conditions, onConditionsChange } = useConditionWatcher({\n  fetcher,\n  conditions: {\n    page: 0\n  },\n})\n\nconditions.page = 1\n\nonConditionsChange((conditions, preConditions)=> {\n  console.log(conditions) // { page: 1}\n  console.log(preConditions) // { page: 0}\n})\n```\n\n### Fetch Event\n\nThe `onFetchResponse`, `onFetchError` and `onFetchFinally` will fire on fetch request.\n\n```ts\nconst { onFetchResponse, onFetchError, onFetchFinally } = useConditionWatcher(config)\n\nonFetchResponse((response) => {\n  console.log(response)\n})\n\nonFetchError((error) => {\n  console.error(error)\n})\n\nonFetchFinally(() => {\n  //todo\n})\n```\n\n## Polling\n\nYou can use `pollingInterval` to automatically refetch data. Just enable it by setting `pollingInterval` value.\n\n```js\nuseConditionWatcher({\n  fetcher,\n  conditions,\n  pollingInterval: 1000\n})\n```\n\nAnd also you can use `ref`, it's will be reactivity.\n\n```js\nconst pollingInterval = ref(0)\n\nuseConditionWatcher({\n  fetcher,\n  conditions,\n  pollingInterval: pollingInterval\n})\n\nfunction startPolling () {\n  pollingInterval.value = 1000\n}\n\nonMounted(startPolling)\n```\n\nThe `vue-condition-watcher` default will disable polling when you leave the screen in focus or when the network is disconnected.\n\nYou can turn off the default behavior by setting:\n\n- `pollingWhenHidden=true` to continue polling after leaving focus\n- `pollingWhenOffline=true` will continue polling if the network is disconnected\n\nYou can also retry the request after enabling the focus screen to make sure the data is up to date.\n\n- `revalidateOnFocus=true`\n\n```js\nuseConditionWatcher({\n  fetcher,\n  conditions,\n  pollingInterval: 1000,\n  pollingWhenHidden: true, // pollingWhenHidden default is false\n  pollingWhenOffline: true, // pollingWhenOffline default is false\n  revalidateOnFocus: true // revalidateOnFocus default is false\n})\n```\n\n## Cache\n\nThe `vue-condition-watcher` preset will cache your first data in the current component. Then the following requests will use the cached data first, silently request new data behind, wait for the latest return result and compare whether the cached data is the same to achieve a similar preloading effect.\n\nYou can also set `cacheProvider` by function to share globally or cache data in `localStorage`, and with polling, it can achieve the effect of paging and synchronizing data.\n\n###### Global Based\n\n```js\n// App.vue\n<script lang=\"ts\">\nconst cache = new Map()\n\nexport default {\n  name: 'App',\n  provide: {\n    cacheProvider: () => cache\n  }\n}\n\n//Other.vue\nuseConditionWatcher({\n  fetcher,\n  conditions,\n  cacheProvider: inject('cacheProvider')\n})\n</script>\n```\n\n###### [LocalStorage Based](https://swr.vercel.app/docs/advanced/cache#localstorage-based-persistent-cache)\n\n```js\nfunction localStorageProvider() {\n  const map = new Map(JSON.parse(localStorage.getItem('your-cache-key') || '[]'))\n  window.addEventListener('beforeunload', () => {\n    const appCache = JSON.stringify(Array.from(map.entries()))\n    localStorage.setItem('your-cache-key', appCache)\n  })\n  return map\n}\n\nuseConditionWatcher({\n  fetcher,\n  conditions,\n  cacheProvider: localStorageProvider\n})\n```\n\n## History Mode\n\nYou can enable History mode by setting `config.history`, which is based on vue-router and supports v3 and v4 versions\n\n````js\nconst router = useRouter()\n\nuseConditionWatcher({\n  fetcher,\n  conditions,\n  history: {\n    sync: router\n  }\n})\n````\n\nYou can also set `history.ignore` to exclude the `key&value` in the `conditions` section from being synced to the URL query string.\n\n````js\nconst router = useRouter()\n\nuseConditionWatcher({\n  fetcher,\n  conditions: {\n    users: ['runkids', 'hello']\n    limit: 20,\n    offset: 0\n  },\n  history: {\n    sync: router,\n    ignore: ['limit']\n  }\n})\n\n// the query string will be ?offset=0&users=runkids,hello\n````\n\nHistory mode will convert the corresponding types of `conditions` default values ​​to query strings and will filter out `undefined`, `null`, `''`, `[]` values.\n\n````js\nconditions: {\n  users: ['runkids', 'hello']\n  company: ''\n  limit: 20,\n  offset: 0\n}\n// the query string will be ?offset=0&limit=20&users=runkids,hello\n````\n\nAlso automatically syncs the query string to `conditions` whenever you refresh the page\n\n````\nURL query string: ?offset=0&limit=10&users=runkids,hello&company=vue\n````\n\n`conditions` will become\n\n````js\n{\n  users: ['runkids', 'hello']\n  company: 'vue'\n  limit: 10,\n  offset: 0\n}\n````\n\n## Lifecycle\n\n<img src=\".github/vue-condition-watcher_lifecycle.jpeg\"/>\n\n- ##### `onConditionsChange`\n\n  Fire new conditions value and old conditions value.\n\n  ```js\n  onConditionsChange((cond, preCond)=> {\n    console.log(cond)\n    console.log(preCond)\n  })\n  ```\n\n- ##### `beforeFetch`\n\n  You can modify conditions before fetch, or you can call second of arguments to stop fetch this time.\n\n  ```js\n  const { conditions } = useConditionWatcher({\n    fetcher,\n    conditions,\n    beforeFetch\n  })\n\n  async function beforeFetch(cond, cancel){\n    if(!cond.token) {\n      // stop fetch\n      cancel()\n      // will fire onConditionsChange again\n      conditions.token = await fetchToken()\n    }\n    return cond\n  })\n  ```\n\n- ##### `afterFetch` & `onFetchSuccess`\n\n  `afterFetch` fire before `onFetchSuccess`<br/>\n  `afterFetch` can modify data before update.\n  ||Type|Modify data before update| Dependent request |\n  |-----|--------|------|------|\n  |afterFetch| config | ⭕️ | ⭕️ |\n  |onFetchSuccess  | event | ❌ | ❌ |\n\n  ```html\n    <template> \n      {{ data?.detail }} <!-- 'xxx' -->\n    </template>\n  ```\n\n   ```js\n  const { data, onFetchSuccess } = useConditionWatcher({\n    fetcher,\n    conditions,\n    async afterFetch(response){\n      //response = { id: 1 }\n      const detail = await fetchDataById(response.id)\n      return detail // { id: 1, detail: 'xxx' }\n    })\n  })\n\n  onFetchSuccess((response)=> {\n    console.log(response) // { id: 1, detail: 'xxx' }\n  })\n  ```\n\n- ##### `onFetchError(config)` & `onFetchError(event)`\n\n  `config.onFetchError` fire before `event.onFetchError`<br/>\n  `config.onFetchError` can modify data and error before update.\n  ||Type|Modify data before update|Modify error before update|\n  |-----|--------|------|------|\n  |onFetchError| config | ⭕️ | ⭕️ |\n  |onFetchError  | event | ❌ | ❌ |\n\n   ```js\n  const { onFetchError } = useConditionWatcher({\n    fetcher,\n    conditions,\n    onFetchError(ctx){\n      return {\n        data: [],\n        error: 'Error message.'\n      }\n    })\n  })\n\n  onFetchError((error)=> {\n    console.log(error) // origin error data\n  })\n  ```\n\n- ##### `onFetchFinally`\n\n  Will fire on fetch finished.\n\n  ```js\n  onFetchFinally(async ()=> {\n    //do something\n  })\n  ```\n\n## Make It Reusable\n\nYou might need to reuse the data in many places. It is incredibly easy to create reusable hooks of `vue-condition-watcher` :\n\n```js\nfunction useUserExpensesHistory (id) {\n  const { conditions, data, error, loading } = useConditionWatcher({\n    fetcher: params => api.user(id, { params }),\n    defaultParams: {\n      opt_expand: 'amount,place'\n    },\n    conditions: {\n      daterange: []\n    }\n    immediate: false,\n    initialData: [],\n    beforeFetch(cond, cancel) {\n      if(!id) {\n        cancel()\n      }\n      const { daterange, ...baseCond } = cond\n      if(daterange.length) {\n        [baseCond.created_at_after, baseCond.created_at_before] = [\n          daterange[0],\n          daterange[1]\n        ]\n      }\n      return baseCond\n    }\n  })\n\n  return {\n    histories: data,\n    isFetching: loading,\n    isError: error,\n    daterange: conditions.daterange\n  }\n}\n```\n\nAnd use it in your components:\n\n```js\n<script setup>\n  const { \n    daterange, \n    histories, \n    isFetching, \n    isError \n  } = useUserExpensesHistory(route.params.id)\n\n  onMounted(() => {\n    //start first time data fetching after initial date range\n    daterange = [new Date(), new Date()]\n  })\n</script>\n```\n\n```html\n<template>\n  <el-date-picker\n    v-model=\"daterange\"\n    :disabled=\"isFetching\"\n    type=\"daterange\"\n  />\n  <div v-for=\"history in histories\" :key=\"history.id\">\n    {{ `${history.created_at}: ${history.amount}` }}\n  </div>\n</template>\n```\n\nCongratulations! 🥳 You have learned how to use composition-api with `vue-condition-watcher`.\n\nNow we can manage the paging information use `vue-condition-watcher` .\n\n## Pagination\n\nHere is an example use Django the limit and offset functions and Element UI.\n\nCreate `usePagination`\n\n```js\nfunction usePagination () {\n  let cancelFlag = false // check this to cancel fetch\n\n  const { startLoading, stopLoading } = useLoading()\n  const router = useRouter()\n  \n  const { conditions, data, execute, resetConditions, onConditionsChange, onFetchFinally } = useConditionWatcher(\n    {\n      fetcher: api.list,\n      conditions: {\n        daterange: [],\n        limit: 20,\n        offset: 0\n      }\n      immediate: true,\n      initialData: [],\n      history: {\n        sync: router,\n        // You can ignore the key of URL query string, prevent users from entering unreasonable numbers by themselves.\n        // The URL will look like ?offset=0 not show `limit`\n        ignore: ['limit'] \n      },\n      beforeFetch\n    }, \n  )\n\n  // use on pagination component\n  const currentPage = computed({\n    get: () => conditions.offset / conditions.limit + 1,\n    set: (page) => {\n      conditions.offset = (page - 1) * conditions.limit\n    }\n  })\n\n  // onConditionsChange -> beforeFetch -> onFetchFinally\n  onConditionsChange((newCond, oldCond) => {\n    // When conditions changed, reset offset to 0 and then will fire beforeEach again.\n    if (newCond.offset !== 0 && newCond.offset === oldCond.offset) {\n      cancelFlag = true\n      conditions.offset = 0\n    }\n  })\n\n  async function beforeFetch(cond, cancel) {\n    if (cancelFlag) {\n      // cancel fetch when cancelFlag be true\n      cancel()\n      cancelFlag = false // reset cancelFlag \n      return cond\n    }\n    // start loading\n    await nextTick()\n    startLoading()\n    const { daterange, ...baseCond } = cond\n    if(daterange.length) {\n      [baseCond.created_at_after, baseCond.created_at_before] = [\n        daterange[0],\n        daterange[1]\n      ]\n    }\n    return baseCond\n  }\n\n  onFetchFinally(async () => {\n    await nextTick()\n    // stop loading\n    stopLoading()\n    window.scrollTo(0, 0)\n  })\n\n  return {\n    data,\n    conditions,\n    currentPage,\n    resetConditions,\n    refetch: execute\n  }\n}\n```\n\nAnd use it in your components:\n\n```js\n<script setup>\n  const { data, conditions, currentPage, resetConditions, refetch } = usePagination()\n</script>\n```\n\n```html\n<template>\n  <el-button @click=\"refetch\">Refetch Data</el-button>\n  <el-button @click=\"resetConditions\">Reset Offset</el-button>\n\n  <el-date-picker\n    v-model=\"conditions.daterange\"\n    type=\"daterange\"\n  />\n\n  <div v-for=\"info in data\" :key=\"info.id\">\n    {{ info }}\n  </div>\n\n  <el-pagination\n    v-model:currentPage=\"currentPage\"\n    v-model:page-size=\"conditions.limit\"\n    :total=\"data.length\"\n  />\n</template>\n```\n\nWhen daterange or limit changed, will reset offset to 0 and only fetch data again after reset offset.\n\n## TDOD List\n\n- [ ] Error Retry\n- [ ] Nuxt SSR SSG Support\n\n## Thanks\n\nThis project is heavily inspired by the following awesome projects.\n\n- [vercel/swr](https://github.com/vercel/swr)\n\n## 📄 License\n\n[MIT License](https://github.com/runkids/vue-condition-watcher/blob/master/LICENSE) © 2020-PRESENT [Runkids](https://github.com/runkids)\n","readmeFilename":"README.md","keywords":["vue","conditions","watcher","hook","vue-hooks","composition-api","vue-composable","composable","fetch","fetch-data"]}