{"_id":"@aimwhy/vue-function-api","_rev":"7-8ed283bd9e229d499f2343a0e5a185ff","name":"@aimwhy/vue-function-api","dist-tags":{"latest":"0.0.7"},"versions":{"0.0.1":{"name":"@aimwhy/vue-function-api","version":"0.0.1","description":"> [Function-based Component API RFC](https://github.com/vuejs/rfcs/blob/function-apis/active-rfcs/0000-function-api.md)","main":"dist/index.js","scripts":{"build":"webpack","prepare":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/aimwhy/vue-function-api.git"},"author":{"name":"https://github.com/aimwhy"},"license":"MIT","bugs":{"url":"https://github.com/aimwhy/vue-function-api/issues"},"homepage":"https://github.com/aimwhy/vue-function-api","keywords":["library","vue-function-api","es6"],"devDependencies":{"@babel/cli":"^7.4.4","@babel/core":"^7.4.5","@babel/plugin-proposal-class-properties":"^7.4.4","@babel/polyfill":"^7.4.4","@babel/preset-env":"^7.4.5","babel-loader":"^8.0.6","babel-preset-minify":"^0.5.0","css-loader":"^3.0.0","file-loader":"^4.0.0","prettier":"^1.18.2","prettier-webpack-plugin":"^1.2.0","style-loader":"^0.23.1","url-loader":"^2.0.0","webpack":"^4.34.0","webpack-cli":"^3.3.4"},"gitHead":"57054f067d66ac3a3f1854a9a325f33ca523186e","_id":"@aimwhy/vue-function-api@0.0.1","_nodeVersion":"8.15.1","_npmVersion":"6.10.0","dist":{"integrity":"sha512-YY6wFwljrFVNBjkHj34X4KUjbD4ya8CXNnrnKGIu0b0CVHQ/mbP8Z3vHgYIxF8RpBEwnvH69tQTuRsAaxyB3GA==","shasum":"d91d9e53f8d1765c9a8e29eef9cb1249274b327b","tarball":"https://registry.npmjs.org/@aimwhy/vue-function-api/-/vue-function-api-0.0.1.tgz","fileCount":13,"unpackedSize":47560,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdJywqCRA9TVsSAnZWagAAWzgP/1daKA0Y0YAt9z6n5r6D\n8uMNFSAC4X5bPQBt6jSn5N9M68JzPh4AhxOlx4k0XNc6tDVv67knu0eQPkys\nhaj0g0GJkYS+ESE3ndssNgEloQdYRb2BAJlSmsxukfsNHzUOJt6EdoLYlDd8\nJ/eDR0KUn5fCBSR0CGGDGxkg94IY/M4elPSVbrL2lfuM+AokOp7hlOFpxQvl\nOeVT7cUO90YmZg3XzIw32RiCxlXRUMVjcbXzsgtr1CHw01rKp48IoEXZHkE5\npVQEw14zkjHnE5LAa82sJmhJcggO+uBvLu2/lepFNRcEcDQw2Wj+vCK84Bt0\nnvwUczepQj87OG9WP2vgrvO/mEgR7dKleeHMHj0olRER1NL4RnoyuQqAlAJ+\n3tD+bmq1aUskH9szJ2bsfhbi3YyDZYAPQH445gqbzoYS9qHx66AKv4dk9txK\n7RL97L3rWObf7xQkjMW67fVHtr6fG9sa6pyqcy1OIUbIOQTABSwP/TQlVcVq\n7jAqHuEouuN9b0o9SG5uLflmtYKEEK5jRSI5CvvdvMj4F78q5/ndC6NjgICG\nz9eVdwL7D5wG65aCQkBWpE2hyfVcRmzTF7AmX4vBtG3ELNteEmgqmdEoU1yH\nBxkT6eCRwL3JlSxM8x168lvHSsFnMdDggueBqpzzsYGgzsak5L1meaGCsLBk\nQ/z6\r\n=R8Cy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH9anqJ0OYsnq88k2o1FE3x2HyVwS7WAL0bBan5QTEtYAiEAp90VU51nOEAi4mzhcXYWIh4sTQXrTzJl1NFhflmYtgk="}]},"maintainers":[{"name":"aimwhy","email":"aimwhy@qq.com"}],"_npmUser":{"name":"aimwhy","email":"aimwhy@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-function-api_0.0.1_1562848297585_0.9658586721883227"},"_hasShrinkwrap":false},"0.0.2":{"name":"@aimwhy/vue-function-api","version":"0.0.2","description":"Vue2 plugin for the function-based RFC","main":"dist/index.js","scripts":{"build":"webpack","prepare":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/aimwhy/vue-function-api.git"},"author":{"name":"https://github.com/aimwhy"},"license":"MIT","bugs":{"url":"https://github.com/aimwhy/vue-function-api/issues"},"homepage":"https://github.com/aimwhy/vue-function-api","keywords":["library","vue-function-api","es6"],"devDependencies":{"@babel/cli":"^7.4.4","@babel/core":"^7.4.5","@babel/plugin-proposal-class-properties":"^7.4.4","@babel/polyfill":"^7.4.4","@babel/preset-env":"^7.4.5","babel-loader":"^8.0.6","babel-preset-minify":"^0.5.0","css-loader":"^3.0.0","file-loader":"^4.0.0","prettier":"^1.18.2","prettier-webpack-plugin":"^1.2.0","style-loader":"^0.23.1","url-loader":"^2.0.0","webpack":"^4.34.0","webpack-cli":"^3.3.4"},"gitHead":"7c78ed973a19beb4d32b06c8236e4daa55df074c","_id":"@aimwhy/vue-function-api@0.0.2","_nodeVersion":"8.15.1","_npmVersion":"6.10.0","dist":{"integrity":"sha512-HHlqAwgLU36zU+VKNdwF4qUs+LoHT4cD5rqDa8dbBt/OyM+SgStKz4NJSDcq1APk6ZM798gsuoXAGqgkZeU8KA==","shasum":"b502769f17671627ea941bf7758330b7b7b9a697","tarball":"https://registry.npmjs.org/@aimwhy/vue-function-api/-/vue-function-api-0.0.2.tgz","fileCount":13,"unpackedSize":47792,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdJzVBCRA9TVsSAnZWagAA4CgP+wSDmKcPBo7jeI8vt9Wb\nQkCdKau7SCIOynhmaU2lXwE689mlKLPUVD5uo4sGz1VeDDNq3Dk9Z8X+Kw+L\niMhecdSnO4ujMLwiiJRqH/nLVVF8iqzeYKtSMMRcSmWQpg5FFAyhv5nK4FCW\nFeFYDQJTeasS53wn/N0q8w395Ph9IpwstrUaVyTJup/NVSBdpv2Lh6yaiizK\nkyEGEUxZiPL/GXdyDe2A9HLTB87VXqjXEGhnUW2mQZ/ye0d5C1bYgmH6D4Wf\nHN2VlNmd5n+7FvVFqdtV/wkvCxVoaE5G2gGGcBw49Bw6NrfixkMETFCDFwk5\nxLvdkWzKtLbeRRXwgVfv8YE6jY90a4Bw4IJGllu+0OGiOwkux8wwUqefpHrH\nnG5AzF6kG/02+S3WFcWKU/TJfXmggNBMJWGzGC79BZ3Tg+1EEsMvsH1Fn103\n3la4GAWHoXY+Z2+hFduPzYBqTIQKg2Xx95/k3jG2R+qWTfj/TtCfZQNQ/deo\n3SPkpk8coENSraZM850SDcaAwpe+uzhwHOvGM25HpFO/Cyabo6IflJu2xsC+\n3dsSdewfGsiRtzyZQqa9aVdbOH8HnSIP6HevYE8403pDE1WhJEgYfPr7X/Sx\nxO9VxHAh7JJGxTQ3qRznjPjBi/YEVKivLbsqlewipgsgDKJpRZVcmIs3VSjB\ne3d1\r\n=dzLo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDjUOzy5vEjwky9kxu03KkHHG40eTNJ/qtuynA5Uh4ViwIhAK/DwmDHzPPWwYOCIbwPzF5Brfc7S2NkZT8dFHDVErSX"}]},"maintainers":[{"name":"aimwhy","email":"aimwhy@qq.com"}],"_npmUser":{"name":"aimwhy","email":"aimwhy@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-function-api_0.0.2_1562850624358_0.1708794148396613"},"_hasShrinkwrap":false},"0.0.3":{"name":"@aimwhy/vue-function-api","version":"0.0.3","description":"Vue2 plugin for the function-based RFC","main":"dist/index.js","scripts":{"build":"webpack","prepare":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/aimwhy/vue-function-api.git"},"author":{"name":"https://github.com/aimwhy"},"license":"MIT","bugs":{"url":"https://github.com/aimwhy/vue-function-api/issues"},"homepage":"https://github.com/aimwhy/vue-function-api","keywords":["library","vue-function-api","es6"],"devDependencies":{"@babel/cli":"^7.4.4","@babel/core":"^7.4.5","@babel/plugin-proposal-class-properties":"^7.4.4","@babel/polyfill":"^7.4.4","@babel/preset-env":"^7.4.5","babel-loader":"^8.0.6","babel-preset-minify":"^0.5.0","css-loader":"^3.0.0","file-loader":"^4.0.0","prettier":"^1.18.2","prettier-webpack-plugin":"^1.2.0","style-loader":"^0.23.1","url-loader":"^2.0.0","webpack":"^4.34.0","webpack-cli":"^3.3.4"},"gitHead":"c4d6c7bce1ed35507518a0e7e7f3b00cf10155d8","_id":"@aimwhy/vue-function-api@0.0.3","_nodeVersion":"8.15.1","_npmVersion":"6.10.0","dist":{"integrity":"sha512-n4NKC23pqbbhklEtU4qWds10Bi2EcUSD16hW60gR/3HyBW7PUsAfC2YBRD5kXx6KeFt0nOAyRAjnY9EEwK+C5w==","shasum":"787fe8bb0ccb25f097cc3b2b4cae7e6fa54892c9","tarball":"https://registry.npmjs.org/@aimwhy/vue-function-api/-/vue-function-api-0.0.3.tgz","fileCount":15,"unpackedSize":393269,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdKxnDCRA9TVsSAnZWagAAfHgQAI7lWvOIRhKufywWB6k/\nFKOukr5iYsC/kR/AcTbu/hpR0Y/KrkYy1QYji2YacgEcRJ+zuYvlyi9P84YK\nqpHD2NvCCcXutZKrXsc+/z01jFP3sBfX1UpliSxYOETKvX3BcJyde4RG/NjH\n4v5Da3RB4omOIDA1OcN0f+OVrfg3gQ4ljNEvaFDQr5F+E4xZqQisFmuvR+F4\n0EJbeqr4Oyvr05xSrURbqpQ70xo3UinOCrs+9IWEHqL73pufG7V0WmqQm8/P\nbXfrk8nC+XJO3R93IyS3gc8OlPQxc6NKbO7usQgu9/ucAWL8wDU0ZqskOZkx\ncY1d0NX4XHDJV9lDKQ2YyGIvSHDyas0oqWnKWgzfeUTWF7iSyGvGB8ZpDXCi\nXkDXNrlhkCEiya1BLUfvCmgKJGaZq5lgmYYHcSK98ccdTu7eqgrlSxkPipM0\nAVlXvfKZv+wfUjWZZGjXS+aFUJk8b3sux7BwuVewUnNPhItE0W/R+6nBSyyD\nS2kWxKF+M5yiR5p5hc8RIRUB06bPN7jdqo8EBqSILtclS7TvpGaulNkIXJnt\n3uReByZgOFlAq80GQ1iozb+1kEmYuchVVVfYrZ7PQ+w2u3Yw2S6iS2GJPgmk\nFX0dc7znwuswl9Xw/QJg0vQnIC0m4+9kecdbUHcc4pxaIFSJRmuws79S2a6W\nInFT\r\n=PhJe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHjU5zRPEv1ChTx2K6YQ3W42+5ga+qw2YHe9WkmgGfBLAiEAhL9+jwdeayDP5AVwTLQJ1LXpMEq+jVA/xgk+bU9ahHs="}]},"maintainers":[{"name":"aimwhy","email":"aimwhy@qq.com"}],"_npmUser":{"name":"aimwhy","email":"aimwhy@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-function-api_0.0.3_1563105730996_0.1297251017655936"},"_hasShrinkwrap":false},"0.0.4":{"name":"@aimwhy/vue-function-api","version":"0.0.4","description":"Vue2 plugin for the function-based RFC","main":"dist/index.js","scripts":{"build":"webpack","prepare":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/aimwhy/vue-function-api.git"},"author":{"name":"https://github.com/aimwhy"},"license":"MIT","bugs":{"url":"https://github.com/aimwhy/vue-function-api/issues"},"homepage":"https://github.com/aimwhy/vue-function-api","keywords":["library","vue-function-api","es6"],"devDependencies":{"@babel/cli":"^7.4.4","@babel/core":"^7.4.5","@babel/plugin-proposal-class-properties":"^7.4.4","@babel/polyfill":"^7.4.4","@babel/preset-env":"^7.4.5","babel-loader":"^8.0.6","babel-preset-minify":"^0.5.0","css-loader":"^3.0.0","file-loader":"^4.0.0","prettier":"^1.18.2","prettier-webpack-plugin":"^1.2.0","style-loader":"^0.23.1","url-loader":"^2.0.0","webpack":"^4.34.0","webpack-cli":"^3.3.4"},"gitHead":"e670aad6c1029aa802d2e67bd91a6e5b02b3acc4","_id":"@aimwhy/vue-function-api@0.0.4","_nodeVersion":"8.15.1","_npmVersion":"6.10.0","dist":{"integrity":"sha512-nSWdFd1yfSkrbqxmktbr4am2HeL/grqu0UV4TEKqufrWtdmWjhmu6EIZtfdFuLGIa+tvlX2jmPQj7Vz6e9cLjA==","shasum":"7077f6ad2bdd993289e56f7c320b7533e81f1262","tarball":"https://registry.npmjs.org/@aimwhy/vue-function-api/-/vue-function-api-0.0.4.tgz","fileCount":15,"unpackedSize":393079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdKxtwCRA9TVsSAnZWagAAw00P/3KbFAtnsfp3vHtwGgGl\ntvE/NZdYIhUqIApVg0AqC9Jho/JPMz46paxDXbyxAJltOvFqBczDd3YCLiWU\neWGf9a28W/5MN1t4kSiSygA40QhcFV+eTHl6YkxKsGR10lJYE9ZnGPeKZF7U\n8Yo1wDY3pFjbsdq8ipF49iwyNiwx5uAqoHYfSkQ81j6q17ite1BjeyOZHI69\naWuLLU1BzuvdnaAJcLpSSbCUqLexfqoyHQiKTP59Bz5bKp1YTpaAYpCrv4es\nxfyKkk1YuKUKSnaHOKhB2RatP3SBya++vlB0cXULR1mhKHEZtf4Hvx4YGncJ\n1KGuGFQ0geg4FySAMrGpeHND9gaf3ouegqaRLOnYcNYXTxMJYeyPLJ+pEV4B\nKcjjLZPYTNZqBLHTCgy3cBtBq+XAQM4MirwovPJL1xXsfmWhYtvzs0YuhYjn\nrjHoCnl4aOpP7XuksfqetFJzWJeHSGfnm/AYym0obuCJul1lhuSsLHavr6Xc\nC3QFJyBQ+QXXHPt/Vx8BfBf9alDJAWJ4YQDZZj1ScPi8HQBqEya3kvkJBDkd\nqHCQYkz7wibtgfY+qhXrcc1seA3rgBJbulVM1pLRc8Ne1X8S3Rm9lQ1EmsE5\n2MTxfxYGA2fO+TuCt90+43uA+RBIFnODva1ajpgHKCMovbsdhTM0M5h4FYkD\nNR1U\r\n=HEb8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDu6kB68vrZXYW8tbGwD1W6K31lb3Go+8UfA5bz6BpmXAiB8Nw6tzV/xoSabnL4OCkgxiJMVtTJ2f/OvSdCH2EkYTQ=="}]},"maintainers":[{"name":"aimwhy","email":"aimwhy@qq.com"}],"_npmUser":{"name":"aimwhy","email":"aimwhy@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-function-api_0.0.4_1563106159894_0.7378641537078066"},"_hasShrinkwrap":false},"0.0.5":{"name":"@aimwhy/vue-function-api","version":"0.0.5","description":"Vue2 plugin for the function-based RFC","main":"dist/index.js","scripts":{"build":"webpack","prepare":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/aimwhy/vue-function-api.git"},"author":{"name":"https://github.com/aimwhy"},"license":"MIT","bugs":{"url":"https://github.com/aimwhy/vue-function-api/issues"},"homepage":"https://github.com/aimwhy/vue-function-api","keywords":["library","vue-function-api","es6"],"devDependencies":{"@babel/cli":"^7.4.4","@babel/core":"^7.4.5","@babel/plugin-proposal-class-properties":"^7.4.4","@babel/polyfill":"^7.4.4","@babel/preset-env":"^7.4.5","babel-loader":"^8.0.6","babel-preset-minify":"^0.5.0","css-loader":"^3.0.0","file-loader":"^4.0.0","prettier":"^1.18.2","prettier-webpack-plugin":"^1.2.0","style-loader":"^0.23.1","url-loader":"^2.0.0","webpack":"^4.34.0","webpack-cli":"^3.3.4"},"gitHead":"e670aad6c1029aa802d2e67bd91a6e5b02b3acc4","_id":"@aimwhy/vue-function-api@0.0.5","_nodeVersion":"8.15.1","_npmVersion":"6.10.0","dist":{"integrity":"sha512-YyvmQxywqs3Mbqt87u5kAqT2Mu2OLT1an/ejkKk4feFSGavIrO93DHQ+f1o71XEChXSPETifNKyE4NnQdSogtA==","shasum":"ea52d837a17e5736d54171fbe769ef2a39d3c049","tarball":"https://registry.npmjs.org/@aimwhy/vue-function-api/-/vue-function-api-0.0.5.tgz","fileCount":15,"unpackedSize":392718,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdLAqICRA9TVsSAnZWagAAenUP/jcs+SwBKNNKUa0KuBvL\n1BlBlzgxzcJVJw5tSNSBRetR4b2ObNzHWtCsJ0+HCX66srYmm3PBfW04b58b\nbgceB0eMOVeHRxUQsjNkDyYAO99OipJthwpvEYPa192Hwvp70mF1SgJsH9Wr\ne1O8SPhNLjeAOzMJTMrdQcim2ymhcPlnfX51+CFgAw/zwjPSGLU/3/e5oJH4\nyO4HmucYf9NNsHYYGvUSwBN/bK2cLKuNr9/LslWNKvmKEX5rkl8wTbKYKwcv\nH8rKKUgYH1jKwWu4MaHJgmFXo8dyKyeOjHD9vAfP1IhuPkiBEBG25d+xp6JR\n3tVRpWXL68WC20j4NgYiifRLQfqBKMKMwVSzrehIawQvCeLcaqf1+QZlUE/I\nFFcGhX53+hdKyNAGNr4Sueegs8EmvGUrdYbfzpJQii+A5PGcml5tc/JfRhaC\nDWYA6xxOU1KxQ39Jk2RNQ2LNeLOFU7WvQgFgFikF4OG4S2eZYhIfr9lwUWg5\nSe/3jkeZ/ygPfTdgsi20g6OGfzj8x5bEXy7hivzxHeCYE389Oo7hMNKV1B3Z\nVrxyBHaGJm1fjCgMKMAuq7mbz5bd91Y8Rw6uwC4kz9wc4p6VJnq6SlGRrVkr\nwHPPXZOU5qhqKKB8O/9dtQvkPKr68WbS0my9hBmP+nvth74UdpkwlY4t3iu5\nZuzV\r\n=6/jn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD2s1wSYkJdJM9D9+mERF9K6Z8kxyTP+s7H0pRJ678JEQIgJU82sLdicUDKpLWWpZ+dc/FaJQpsHShmoSXWPpHS0lA="}]},"maintainers":[{"name":"aimwhy","email":"aimwhy@qq.com"}],"_npmUser":{"name":"aimwhy","email":"aimwhy@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-function-api_0.0.5_1563167367580_0.3765023120523274"},"_hasShrinkwrap":false},"0.0.6":{"name":"@aimwhy/vue-function-api","version":"0.0.6","description":"Vue2 plugin for the function-based RFC","main":"dist/index.js","scripts":{"build":"webpack","prepare":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/aimwhy/vue-function-api.git"},"author":{"name":"https://github.com/aimwhy"},"license":"MIT","bugs":{"url":"https://github.com/aimwhy/vue-function-api/issues"},"homepage":"https://github.com/aimwhy/vue-function-api","keywords":["library","vue-function-api","es6"],"devDependencies":{"@babel/cli":"^7.4.4","@babel/core":"^7.4.5","@babel/plugin-proposal-class-properties":"^7.4.4","@babel/polyfill":"^7.4.4","@babel/preset-env":"^7.4.5","babel-loader":"^8.0.6","babel-preset-minify":"^0.5.0","css-loader":"^3.0.0","file-loader":"^4.0.0","prettier":"^1.18.2","prettier-webpack-plugin":"^1.2.0","style-loader":"^0.23.1","url-loader":"^2.0.0","webpack":"^4.34.0","webpack-cli":"^3.3.4"},"gitHead":"a1de35dfb4cec89867cd221808b6a1f491cf4b14","_id":"@aimwhy/vue-function-api@0.0.6","_nodeVersion":"8.15.1","_npmVersion":"6.10.0","dist":{"integrity":"sha512-adl+E1HBjs4vmk6Zgdk/BgenWcG1IQxboYwUBoaz5qPuzh2Z/1qN/7+CKIrsPWP0CchUF/wLVLhexWWiNVQpIQ==","shasum":"c4a40b679501a7d91636d341710263c7b8ae1c8e","tarball":"https://registry.npmjs.org/@aimwhy/vue-function-api/-/vue-function-api-0.0.6.tgz","fileCount":15,"unpackedSize":392750,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdL9sICRA9TVsSAnZWagAAkBEP/RsczZn12v5i1wizZiDZ\nCs3RzscHh0ZBsA3onnXm522dwPePL7ATU3E+sFd44inbYSPyYCUzHZA4yWcO\n/rI5p0Eib/Lv6+SB2z66h56iADg4zz6sGT4F52qnZUBJiPmAB206azdL61Ot\nE9wE3dYcRUkIWyccdUedAtex1cO9iuBFC9TMV6zlQk8UKeB7BTVpx9kTHJIW\nE2fyGEjtCIoxP/cSPYlGJ9JAd2t/P/6bjPEteeYXHsPjBG2lq/JkVe8xwG7w\nAPOQ8oGhSY3yrZ0egvlaAGJYeIfucA1Uvuyc5zNwJQPTiw8jRQAl4lMIxjIN\nYrGJ9/8fwY0EbVCfZqCqfPeuk0pN1m9b8XnMzyeY/OcsxAYAz/NSlJUQDGK4\nKcQ3vFUAqdj1T6Ur9SwmgDMNik87mHeGQGNlp0Atx2YTmKvL+TGvZAwkLVi6\n6XX+uNG9AYf9Qv4SW8s9e5/RgCuKZnxw+fQATYoirEgVi/dXnyFZ8RVkkqmB\nfcMEDZloY1I4fEUXYvzqcwVecLBkviWwLTSha2aHCrymxeh+YoaTr5bHmEcN\no21i+UhBUFG3PQx6pJuQtDqXWZ9TeOq2Ex+jD3tsDGaoaI2TKWWHz17mC8N4\nq/AyAG2zn38ikiIkvuj/3Sg+oVFxxCsizmiOhtQLX9PcqZVVG+q2AZIw2dec\nGira\r\n=+sqw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG0gjd7qiy/6lmQ10sn5vER/NUqaEH2QfGSbOen76NPqAiACWQOF6cb5O7Gzg4RsSJpH0Mw5uctA7XKY5pW/5WEeyw=="}]},"maintainers":[{"name":"aimwhy","email":"aimwhy@qq.com"}],"_npmUser":{"name":"aimwhy","email":"aimwhy@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-function-api_0.0.6_1563417351497_0.8778184783162626"},"_hasShrinkwrap":false},"0.0.7":{"name":"@aimwhy/vue-function-api","version":"0.0.7","description":"Vue2 plugin for the function-based RFC","main":"dist/index.js","scripts":{"build":"webpack","prepare":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/aimwhy/vue-function-api.git"},"author":{"name":"https://github.com/aimwhy"},"license":"MIT","bugs":{"url":"https://github.com/aimwhy/vue-function-api/issues"},"homepage":"https://github.com/aimwhy/vue-function-api","keywords":["library","vue-function-api","es6"],"devDependencies":{"@babel/cli":"^7.4.4","@babel/core":"^7.4.5","@babel/plugin-proposal-class-properties":"^7.4.4","@babel/polyfill":"^7.4.4","@babel/preset-env":"^7.4.5","babel-loader":"^8.0.6","babel-preset-minify":"^0.5.0","css-loader":"^3.0.0","file-loader":"^4.0.0","prettier":"^1.18.2","prettier-webpack-plugin":"^1.2.0","style-loader":"^0.23.1","url-loader":"^2.0.0","webpack":"^4.34.0","webpack-cli":"^3.3.4"},"gitHead":"3e37bd4f3b79ef635da37fb2b7b53cea88675cdc","_id":"@aimwhy/vue-function-api@0.0.7","_nodeVersion":"8.15.1","_npmVersion":"6.10.0","dist":{"integrity":"sha512-F1HOvys/Ry/o0q76NNBfMUaALSS6Jo9gAiadVykFa0YIBWmr3KPDZp22VO2Rexc2nyXQ71NxHZWOmAbAZmV/Vg==","shasum":"60552da26e58346d4a459adb4c1bae05dc6bcbb4","tarball":"https://registry.npmjs.org/@aimwhy/vue-function-api/-/vue-function-api-0.0.7.tgz","fileCount":15,"unpackedSize":392943,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdL9zLCRA9TVsSAnZWagAAUp0P/i7mjsBoAWuRRndgCHbc\nHHk76wvxFIhIINdZqo0lzF6/UCl8nna66IXf2/9XmwuuhCokfMI3OZWV4Te5\nK1OcuiqiU91xAjpurZAdBeK56VneBrIvruM374ugv1n/VsedOqzRjxuQc8sv\nnVFbZUzWKpb79CPXFTwKCe8J8pblxOYBpexWjeX+QQKsoHMA/mDdlVUGZ5AD\n89BiWn0/cXIhNwcvfkf64ByIvzmCGQBdnOp/2VCJG/2KgOHLm+mZ883FfPSz\nzTzK+oQnhvA/zO5+w3c+wHN2a6vdIkuyk32Z2Tok+xqYwhAjvwB6he0OLIjZ\nbkJoFIrWCdIcOhaxVMzmIxyn7/s9eqR+T4gsvBUsE4yD/AEQ2RV9t6aGQHmm\nhgyQIjd5rA9sRR+2qI0lhukRzV60AToba1pS7DPoZELmgPlDTMHUibuy+6+J\nLE1r7zkCDus7yYBYrdIFIexwLjUwHXXh0ubKKKbPUhiKEZRmD/6oaDM7THPN\nxtYyyaxoV0sfezQBLoi981bm728NOD1/hePvQHqbBjJlqj2qNXvMyKe8s2od\nfBgeEw5lqktvgCDRNYoFJFoGXdDrN83gJaawRKCYhAWzjNcypIYhaKTJP4Uf\nzDo52dni2XjmI9ZxYB0Qo/t8/FzfoHWK/5ixwbQcUg+H1cCw1X9eTPf2JPBZ\ngl5a\r\n=wcGw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDq/mvyhXf9QVG+qk19OPEF4UvCQgboMfeE6a/Y/YI9hgIgf7w+XcWZvLXs3TvdVKe6tHJ93whqNuwR38mijsLEVfw="}]},"maintainers":[{"name":"aimwhy","email":"aimwhy@qq.com"}],"_npmUser":{"name":"aimwhy","email":"aimwhy@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-function-api_0.0.7_1563417802982_0.026888511843296214"},"_hasShrinkwrap":false}},"time":{"created":"2019-07-11T12:31:37.381Z","0.0.1":"2019-07-11T12:31:37.718Z","modified":"2022-04-04T12:19:39.619Z","0.0.2":"2019-07-11T13:10:24.508Z","0.0.3":"2019-07-14T12:02:11.128Z","0.0.4":"2019-07-14T12:09:20.081Z","0.0.5":"2019-07-15T05:09:27.751Z","0.0.6":"2019-07-18T02:35:51.734Z","0.0.7":"2019-07-18T02:43:23.141Z"},"maintainers":[{"name":"aimwhy","email":"aimwhy@qq.com"}],"description":"Vue2 plugin for the function-based RFC","homepage":"https://github.com/aimwhy/vue-function-api","keywords":["library","vue-function-api","es6"],"repository":{"type":"git","url":"git+https://github.com/aimwhy/vue-function-api.git"},"author":{"name":"https://github.com/aimwhy"},"bugs":{"url":"https://github.com/aimwhy/vue-function-api/issues"},"license":"MIT","readme":"# Vue Function API\n\n> [Function-based Component API RFC](https://github.com/vuejs/rfcs/blob/function-apis/active-rfcs/0000-function-api.md)\n\nFuture-Oriented Programming, `@aimwhy/vue-function-api` provides function api from `Vue3.x` to `Vue2.x` for developing next-generation Vue applications.\n\n[**中文文档**](./README.zh-CN.md)\n\n---\n\n# Navigation\n\n- [Changelog](https://github.com/aimwhy/vue-function-api/blob/master/CHANGELOG.md)\n- [Installation](#Installation)\n- [Usage](#Usage)\n- [Example](#Example)\n  - [Single-File Component](#single-file-Component)\n  - [Demo](https://codesandbox.io/s/vue-template-szw4b)\n- [API](#API)\n  -  [setup](#setup)\n  -  [value](#value)\n  -  [state](#state)\n  -  [computed](#computed)\n  -  [watch](#watch)\n  -  [lifecycle](#lifecycle)\n  -  [provide, inject](#provide-inject)\n- [Misc](#Misc)\n\n# Installation\n\n**npm**\n```bash\nnpm install @aimwhy/vue-function-api --save\n```\n\n**yarn**\n```bash\nyarn add @aimwhy/vue-function-api\n```\n\n**CDN**\n\n```html\n<script src=\"https://unpkg.com/@aimwhy/vue-function-api@0.0.6/dist/index.js\"></script>\n```\nBy using the global variable `window.vueFunctionApi`\n\n\n# Usage\n\nYou must explicitly install `@aimwhy/vue-function-api` via `Vue.use()`:\n\n```js\nimport Vue from 'vue'\nimport { plugin } from '@aimwhy/vue-function-api'\n\nVue.use(plugin)\n```\n\nAfter installing the plugin you can use the new [function API](#API) to compose your component.\n\n# Example\n\n## Single-File Component\n``` html\n<template>\n  <div>\n    <span>count is {{ count }}</span>\n    <span>plusOne is {{ plusOne }}</span>\n    <button @click=\"increment\">count++</button>\n  </div>\n</template>\n\n<script>\n  import Vue from 'vue';\n  import { value, computed, watch, onMounted } from '@aimwhy/vue-function-api'\n\n  export default {\n    setup() {\n      // reactive state\n      const count = value(0);\n      // computed state\n      const plusOne = computed(() => count.value + 1);\n      // method\n      const increment = () => {\n        count.value++;\n      };\n      // watch\n      watch(\n        () => count.value * 2,\n        val => {\n          console.log(`count * 2 is ${val}`);\n        }\n      );\n      // lifecycle\n      onMounted(() => {\n        console.log(`mounted`);\n      });\n      // expose bindings on render context\n      return {\n        count,\n        plusOne,\n        increment,\n      };\n    },\n  };\n</script>\n```\n\n# API\n\n## setup\n\n▸ **setup**(props: *`Props`*, context: *[`Context`](#Context)*): `Object|undefined`\n\nA new component option, `setup()` is introduced. As the name suggests, this is the place where we use the function-based APIs to setup the logic of our component. `setup()` is called when an instance of the component is created, after props resolution. The function receives the resolved props as its first argument.\n\nThe second argument provides a `context` object which exposes a number of properties that were previously exposed on this in 2.x APIs.\n\n```js\nconst MyComponent = {\n  props: {\n    name: String\n  },\n  setup(props, context) {\n    console.log(props.name);\n    // context.attrs\n    // context.slots\n    // context.refs\n    // context.emit\n    // context.parent\n    // context.root\n  }\n}\n```\n\n## value\n\n▸ **value**(value: *`any`*): [`Wrapper`][Wrapper]\n\nCalling `value()` returns a **value wrapper** object that contains a single reactive property: `.value`.\n\nExample:\n\n```js\nimport { value } from '@aimwhy/vue-function-api'\n\nconst MyComponent = {\n  setup(props) {\n    const msg = value('hello')\n    const appendName = () => {\n      msg.value = `hello ${props.name}`\n    }\n    return {\n      msg,\n      appendName\n    }\n  },\n  template: `<div @click=\"appendName\">{{ msg }}</div>`\n}\n```\n\n## state\n▸ **state**(value: *`any`*)\n\nEquivalent with [`Vue.observable`](https://vuejs.org/v2/api/index.html#Vue-observable).\n\nExample:\n\n```js\nimport { state } from '@aimwhy/vue-function-api'\n\nconst object = state({\n  count: 0\n})\n\nobject.count++\n```\n\n## computed\n▸ **computed**(getter: *`Function`*, setter?: *`Function`*): [`Wrapper`][Wrapper]\n\nEquivalent with computed property from `vue 2.x`.\n\nExample:\n\n```js\nimport { value, computed } from '@aimwhy/vue-function-api'\n\nconst count = value(0)\nconst countPlusOne = computed(() => count.value + 1)\n\nconsole.log(countPlusOne.value) // 1\n\ncount.value++\nconsole.log(countPlusOne.value) // 2\n```\n\n## watch\n▸ **watch**(source: *`Wrapper | () => any`*, callback: *`(newVal, oldVal)`*, options?: *[`WatchOption`](#WatchOption)*): `Function`\n\n▸ **watch**(source: *`Array<Wrapper | () => any>`*, callback: *`([newVal1, newVal2, ... newValN], [oldVal1, oldVal2, ... oldValN])`*, options?: *[`WatchOption`](#WatchOption)*): `Function`\n\nThe `watch` API provides a way to perform side effect based on reactive state changes.\n\n**Returns** a `Function` to stop the `watch`.\n\n> [effect-cleanup](https://github.com/vuejs/rfcs/blob/function-apis/active-rfcs/0000-function-api.md#effect-cleanup) .\n\n### WatchOption\n| Name | Type | Default | Description |\n| ------ | ------ | ------ | ------ |\n| lazy | `boolean` | `false` | The opposite of 2.x's `immediate` option |\n| deep | `boolean` | `false` | Same as 2.x |\n| flush | `\"pre\"` \\| `\"post\"` \\| `\"sync\"` | `\"post\"` | `\"post\"`: fire after renderer flush; `\"pre\"`: fire before renderer flush; `\"sync\"`: fire synchronously |\n\n\nExample:\n\n```js\nwatch(\n  // getter\n  () => count.value + 1,\n  // callback\n  (value, oldValue) => {\n    console.log('count + 1 is: ', value)\n  }\n)\n// -> count + 1 is: 1\n\ncount.value++\n// -> count + 1 is: 2\n```\n\nExample (Multiple Sources):\n\n```js\nwatch(\n  [valueA, () => valueB.value],\n  ([a, b], [prevA, prevB]) => {\n    console.log(`a is: ${a}`)\n    console.log(`b is: ${b}`)\n  }\n)\n```\n\n## lifecycle\n▸ **onCreated**(cb: *`Function`*)\n\n▸ **onBeforeMount**(cb: *`Function`*)\n\n▸ **onMounted**(cb: *`Function`*)\n\n▸ **onXXX**(cb: *`Function`*)\n\nAll current lifecycle hooks will have an equivalent `onXXX` function that can be used inside `setup()`\n\nExample:\n\n```js\nimport { onMounted, onUpdated, onUnmounted } from '@aimwhy/vue-function-api'\n\nconst MyComponent = {\n  setup() {\n    onMounted(() => {\n      console.log('mounted!')\n    })\n    onUpdated(() => {\n      console.log('updated!')\n    })\n    onUnmounted(() => {\n      console.log('unmounted!')\n    })\n  }\n}\n```\n\n## provide, inject\n▸ **provide**(value: *`Object`*)\n\n▸ **inject**(key: *`string` | `symbol`*)\n\nEquivalent with `provide` and `inject` from `2.x`\n\nExample:\n\n```js\nimport { provide, inject } from '@aimwhy/vue-function-api'\n\nconst CountSymbol = Symbol()\n\nconst Ancestor = {\n  setup() {\n    // providing a value can make it reactive\n    const count = value(0)\n    provide({\n      [CountSymbol]: count\n    })\n  }\n}\n\nconst Descendent = {\n  setup() {\n    const count = inject(CountSymbol)\n    return {\n      count\n    }\n  }\n}\n```\n\n## Context\nThe `context` object exposes a number of properties that were previously exposed on this in 2.x APIs:\n\n```js\nconst MyComponent = {\n  setup(props, context) {\n    context.attrs\n    context.slots\n    context.refs\n    context.emit\n    context.parent\n    context.root\n  }\n}\n```\n\nFull properties list:\n\n* parent\n* root\n* refs\n* slots\n* attrs\n* emit\n\n# Misc\n\n- `@aimwhy/vue-function-api` will keep updated with `Vue3.x` API. When `3.0` released, you can replace this library seamlessly.\n- `@aimwhy/vue-function-api` only relies on `Vue2.x` itself. Wheather `Vue3.x` is released or not, it's not affect you using this library.\n- Due the the limitation of `Vue2.x`'s public API. `@aimwhy/vue-function-api` inevitably introduce some extract workload. It doesn't concern you if you are now working on extreme environment.\n\n\n[wrapper]: https://github.com/vuejs/rfcs/blob/function-apis/active-rfcs/0000-function-api.md#why-do-we-need-value-wrappers\n","readmeFilename":"README.md"}