{"_id":"vue-filter","_rev":"31-0c689e63946b5f939574e91bd3b087d4","name":"vue-filter","description":"A collection of Vue.js filter.","dist-tags":{"latest":"0.2.5"},"versions":{"0.1.0":{"name":"vue-filter","version":"0.1.0","description":"A plugin for Vue.js. It can enhance vue filter system.","main":"vue-filter.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/wy-ei/vue-filter.git"},"keywords":["vuejs","vue","filter","vue-filter"],"author":{"name":"wy-ei"},"license":"MIT","bugs":{"url":"https://github.com/wy-ei/vue-filter/issues"},"homepage":"https://github.com/wy-ei/vue-filter#readme","gitHead":"aa20c1f90a84e6469949b2808032ecdf30b4256d","_id":"vue-filter@0.1.0","_shasum":"e2e2af6cb4c610081e092fa3ee27d4ade9a2c177","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.0","_npmUser":{"name":"wy-ei","email":"nameiswangyu@163.com"},"dist":{"shasum":"e2e2af6cb4c610081e092fa3ee27d4ade9a2c177","tarball":"https://registry.npmjs.org/vue-filter/-/vue-filter-0.1.0.tgz","integrity":"sha512-ML0bN8nRLn00/hpEUHGC3RnXb6JfXo/7yYtUp3rijWfvk/XIltVkvsM8RN75ULWSA4aOETrpTP19T5bfAtPXlg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH2f4MQWBjuqBSoN2gbetgAWsdKyb6Qmo2+k5zffypfRAiACYBxLLiyLk+oppEe90O99nnsjWKNvbC5KsC+K+q6DBQ=="}]},"maintainers":[{"name":"wy-ei","email":"nameiswangyu@163.com"}],"directories":{}},"0.1.1":{"name":"vue-filter","version":"0.1.1","description":"A plugin for Vue.js. It can enhance vue filter system.","main":"vue-filter.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/wy-ei/vue-filter.git"},"keywords":["vuejs","vue","filter","vue-filter"],"author":{"name":"wy-ei"},"license":"MIT","bugs":{"url":"https://github.com/wy-ei/vue-filter/issues"},"homepage":"https://github.com/wy-ei/vue-filter#readme","gitHead":"42d47cae52518d26af11445c46428006792f093d","_id":"vue-filter@0.1.1","_shasum":"72bc5166f2f69a19d2a2d8c5314289eb86ffd56a","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"wy-ei","email":"nameiswangyu@163.com"},"dist":{"shasum":"72bc5166f2f69a19d2a2d8c5314289eb86ffd56a","tarball":"https://registry.npmjs.org/vue-filter/-/vue-filter-0.1.1.tgz","integrity":"sha512-iJU/B41tEig0c3Ea3UitIrYYvPjcG5lNCxRhP5G6YXhKifq/KBbOLQ32r7D2+C9bhMX4njW2F/r3Ivc7p40BUw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCWNwVzxywnWXYTJ95MvpcaH4Gtjm6xeKyGWfoiZVpNVwIhAIogaTwd4gDi78iUUSpfgPnK9vrWv8IjquqLKbJ4aRuV"}]},"maintainers":[{"name":"wy-ei","email":"nameiswangyu@163.com"}],"directories":{}},"0.1.2":{"name":"vue-filter","version":"0.1.2","description":"A plugin for Vue.js. It can enhance vue filter system.","main":"dist/vue-filter.js","scripts":{"test":"node scripts/test.js","build":"node scripts/build.js"},"repository":{"type":"git","url":"git+https://github.com/wy-ei/vue-filter.git"},"keywords":["vuejs","vue","filter","vue-filter"],"author":{"name":"wy-ei"},"license":"MIT","bugs":{"url":"https://github.com/wy-ei/vue-filter/issues"},"homepage":"https://github.com/wy-ei/vue-filter#readme","devDependencies":{"rollup":"^0.25.1","tape":"^4.4.0","uglify-js":"^2.6.1"},"gitHead":"6241d474211ed5809f7ebd080fea4aa4e7446c36","_id":"vue-filter@0.1.2","_shasum":"e5d0d9d8714f28f97eebef216d613373d78cb44b","_from":".","_npmVersion":"3.7.3","_nodeVersion":"5.8.0","_npmUser":{"name":"wy-ei","email":"nameiswangyu@163.com"},"dist":{"shasum":"e5d0d9d8714f28f97eebef216d613373d78cb44b","tarball":"https://registry.npmjs.org/vue-filter/-/vue-filter-0.1.2.tgz","integrity":"sha512-00sBiaSLhShW2t5wC3BsXAoaGbZVOk372omugu7U/+0MUBKmb2UQ22Z5oIE7d1UzYSA+GSGoeGY6aXxXMGD8RQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC7QcXS3FmwP7Du/GByMDudAtJ/KaXHooGs2ULCH8IpbAIgS4fFY8Q7jyP4nCzWIDOVYVWdN/PTKxa2RZFmue8ZXs0="}]},"maintainers":[{"name":"wy-ei","email":"nameiswangyu@163.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/vue-filter-0.1.2.tgz_1461474970968_0.7604989900719374"},"directories":{}},"0.1.3":{"name":"vue-filter","version":"0.1.3","description":"A plugin for Vue.js. It can enhance vue filter system.","main":"dist/vue-filter.js","scripts":{"test":"node scripts/test.js","build":"node scripts/build.js"},"repository":{"type":"git","url":"git+https://github.com/wy-ei/vue-filter.git"},"keywords":["vuejs","vue","filter","vue-filter"],"author":{"name":"wy-ei"},"license":"MIT","bugs":{"url":"https://github.com/wy-ei/vue-filter/issues"},"homepage":"https://github.com/wy-ei/vue-filter#readme","devDependencies":{"rollup":"^0.25.1","tape":"^4.4.0","uglify-js":"^2.6.1"},"gitHead":"366c966c0d67fc368fb73b6cd16df814b90c784b","_id":"vue-filter@0.1.3","_shasum":"f2f98e42c20845132657a88d237cbbc66a02de99","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"wy-ei","email":"nameiswangyu@163.com"},"dist":{"shasum":"f2f98e42c20845132657a88d237cbbc66a02de99","tarball":"https://registry.npmjs.org/vue-filter/-/vue-filter-0.1.3.tgz","integrity":"sha512-6x1jcCYN2I6Zan4iLbXuoJNphKaVeK5VsLFlDrS3orGOB4c45cg94VskkTLz5f5/UU1RUJFt9pibYBaGaiw7HQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCjSRY+592MBz0rW5Pn1UBapLoM4yXUtEXux+W/gL6dDwIhAOERuaT/wb7LFalLhhEupR2Td69JnUHEl2gVZgzF9FxN"}]},"maintainers":[{"name":"wy-ei","email":"nameiswangyu@163.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/vue-filter-0.1.3.tgz_1464501355895_0.12560877320356667"},"directories":{}},"0.1.4":{"name":"vue-filter","version":"0.1.4","description":"A plugin for Vue.js. It can enhance vue filter system.","main":"dist/vue-filter.js","scripts":{"test":"node scripts/test.js","build":"node scripts/build.js"},"repository":{"type":"git","url":"git+https://github.com/wy-ei/vue-filter.git"},"keywords":["vuejs","vue","filter","vue-filter"],"author":{"name":"wy-ei"},"license":"MIT","bugs":{"url":"https://github.com/wy-ei/vue-filter/issues"},"homepage":"https://github.com/wy-ei/vue-filter#readme","devDependencies":{"rollup":"^0.25.1","tape":"^4.4.0","uglify-js":"^2.6.1"},"gitHead":"3af43bcb4f7facfa04d0c3cdeec0cb346ef0212d","_id":"vue-filter@0.1.4","_shasum":"6d4bce612455e7f0efa245811fb5602c9d545a11","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"wy-ei","email":"nameiswangyu@163.com"},"dist":{"shasum":"6d4bce612455e7f0efa245811fb5602c9d545a11","tarball":"https://registry.npmjs.org/vue-filter/-/vue-filter-0.1.4.tgz","integrity":"sha512-6SnipZbCEh+BJE5qcGws+pQ5LvYRFER1mQTLhb+MYsS1CtTe+TDoOniat52N5gYx49j2Bz2j9cf2iG0TAa5Wxw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDW75JXPKweNtwSv1eEPLD7awfGyvT96VuLitH+Uo80YgIhAOWKpMIgwOiaiPVLBSYMfLm4BfVzR6YYHV3trVbXCWag"}]},"maintainers":[{"name":"wy-ei","email":"nameiswangyu@163.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/vue-filter-0.1.4.tgz_1464507583502_0.6061890544369817"},"directories":{}},"0.1.5":{"name":"vue-filter","version":"0.1.5","description":"A plugin for Vue.js. It can enhance vue filter system.","main":"dist/vue-filter.js","scripts":{"test":"node scripts/test.js","build":"node scripts/build.js"},"repository":{"type":"git","url":"git+https://github.com/wy-ei/vue-filter.git"},"keywords":["vuejs","vue","filter","vue-filter"],"author":{"name":"wy-ei"},"license":"MIT","bugs":{"url":"https://github.com/wy-ei/vue-filter/issues"},"homepage":"https://github.com/wy-ei/vue-filter#readme","devDependencies":{"rollup":"^0.25.1","tape":"^4.4.0","uglify-js":"^2.6.1"},"gitHead":"af4b3e2d81c2f895286c352673444194d45fe962","_id":"vue-filter@0.1.5","_shasum":"b9d3135faebc1f098a96910b0ca160de06fd8bfd","_from":".","_npmVersion":"3.9.3","_nodeVersion":"6.2.1","_npmUser":{"name":"wy-ei","email":"nameiswangyu@163.com"},"dist":{"shasum":"b9d3135faebc1f098a96910b0ca160de06fd8bfd","tarball":"https://registry.npmjs.org/vue-filter/-/vue-filter-0.1.5.tgz","integrity":"sha512-+0cZmD2oBIuVOqqNif8HvEMIM8vt+Jze6c93phWOCQ3EMHxNTGOu95whExJMXgcp5Go90Hu0Eb0V1g9nutqX4Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDkehPjtchFZ7QfOuZFQ9Kj9J51uD5VPvF13f9Z2/d0bwIgEbK+huTrkKg3sADu9+njdgBhBV4Cd7r//iVysLrlb3A="}]},"maintainers":[{"name":"wy-ei","email":"nameiswangyu@163.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/vue-filter-0.1.5.tgz_1466212652644_0.3726049691904336"},"directories":{}},"0.1.6":{"name":"vue-filter","version":"0.1.6","description":"A plugin for Vue.js. It can enhance vue filter system.","main":"dist/vue-filter.js","scripts":{"build":"node scripts/build.js","test":"node scripts/test.js"},"repository":{"type":"git","url":"git+https://github.com/wy-ei/vue-filter.git"},"keywords":["vuejs","vue","filter","vue-filter"],"author":{"name":"wy-ei"},"license":"MIT","bugs":{"url":"https://github.com/wy-ei/vue-filter/issues"},"homepage":"https://github.com/wy-ei/vue-filter#readme","devDependencies":{"rollup":"^0.25.1","tape":"^4.4.0","uglify-js":"^2.6.1"},"gitHead":"61d9bc4faa7e946f843ea491c15d06ff39ad9c53","_id":"vue-filter@0.1.6","_shasum":"e29ee09146f68fcefb7810b71404d88dd42a2c4b","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.0","_npmUser":{"name":"wy-ei","email":"nameiswangyu@163.com"},"dist":{"shasum":"e29ee09146f68fcefb7810b71404d88dd42a2c4b","tarball":"https://registry.npmjs.org/vue-filter/-/vue-filter-0.1.6.tgz","integrity":"sha512-ZKjQUP5H5bpu1EZUjfzj8VWbXDUmU9NxTZMhxvsBQgHrp6CPzw3nLmExhs0+oIPYC8b1FhdTZVqB7mMV3uqYpA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHDgPWFt+rjwkhmCLqQpUyx3Tdcflk0U7sBoUz4GOI1IAiEAggppc0sfn0SrFRDc6Jjn8jhKNdDpIMrYD+VD4OuF0LQ="}]},"maintainers":[{"name":"wy-ei","email":"nameiswangyu@163.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/vue-filter-0.1.6.tgz_1468599815856_0.6131859223823994"},"directories":{}},"0.1.7":{"name":"vue-filter","version":"0.1.7","description":"A plugin for Vue.js. It can enhance vue filter system.","main":"dist/vue-filter.js","scripts":{"build":"node scripts/build.js","test":"node scripts/test.js"},"repository":{"type":"git","url":"git+https://github.com/wy-ei/vue-filter.git"},"keywords":["vuejs","vue","filter","vue-filter"],"author":{"name":"wy-ei"},"license":"MIT","bugs":{"url":"https://github.com/wy-ei/vue-filter/issues"},"homepage":"https://github.com/wy-ei/vue-filter#readme","devDependencies":{"rollup":"^0.25.1","tape":"^4.4.0","uglify-js":"^2.6.1"},"gitHead":"6d2a451e4d02901250a7bfe591c5809168aef00f","_id":"vue-filter@0.1.7","_shasum":"d76d6b7898f531b5d60a8c5fbf2528c73f3ea5f8","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.0","_npmUser":{"name":"wy-ei","email":"nameiswangyu@163.com"},"dist":{"shasum":"d76d6b7898f531b5d60a8c5fbf2528c73f3ea5f8","tarball":"https://registry.npmjs.org/vue-filter/-/vue-filter-0.1.7.tgz","integrity":"sha512-tvMt8O5uO2tTKDtZxDSQFg8taOldMOW+WxflhUaDleBe9HisORUc9sRmX5sY4L35TGBNU59pl5rWN/AJyRlR8g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+JAMi+pqGC4XMwxGsJ2xltl086IIP6dsKAPVX2hpFfQIhALda1+fIIm+LsOVb9ZD5RKLoxUCaBMlXBl/4cVr0lkOS"}]},"maintainers":[{"name":"wy-ei","email":"nameiswangyu@163.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/vue-filter-0.1.7.tgz_1470238015876_0.7197170350700617"},"directories":{}},"0.1.8":{"name":"vue-filter","version":"0.1.8","description":"A plugin for Vue.js. It can enhance vue filter system.","main":"dist/vue-filter.js","scripts":{"build":"node scripts/build.js","test":"node scripts/test.js"},"repository":{"type":"git","url":"git+https://github.com/wy-ei/vue-filter.git"},"keywords":["vuejs","vue","filter","vue-filter"],"author":{"name":"wy-ei"},"license":"MIT","bugs":{"url":"https://github.com/wy-ei/vue-filter/issues"},"homepage":"https://github.com/wy-ei/vue-filter#readme","devDependencies":{"rollup":"^0.25.1","tape":"^4.4.0","uglify-js":"^2.6.1"},"gitHead":"b7e88be28ba480719cf0949d93c062d0811976c5","_id":"vue-filter@0.1.8","_shasum":"084775cd08b5aaa8d16125c3c5f372b70f83904c","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.0","_npmUser":{"name":"wy-ei","email":"nameiswangyu@163.com"},"dist":{"shasum":"084775cd08b5aaa8d16125c3c5f372b70f83904c","tarball":"https://registry.npmjs.org/vue-filter/-/vue-filter-0.1.8.tgz","integrity":"sha512-zmQSQe1pXVTnYNhr0z2IDEmO21YsdFhBJBOiLgiXFk/x4lsMSSMJ9MpLOG1Uo+5JLxT+zjM88iAufFT3IqchXQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCxuJ93PiV3jRzrXEJu4JDd4HQlDJO84r79uqt4kkABoAIhAMrj0SsyVwY99B65N+SUKk9OOybDDEhAnxtrd/WbCgdI"}]},"maintainers":[{"name":"wy-ei","email":"nameiswangyu@163.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/vue-filter-0.1.8.tgz_1474505337706_0.15087091783061624"},"directories":{}},"0.1.9":{"name":"vue-filter","version":"0.1.9","description":"A plugin for Vue.js. It can enhance vue filter system.","main":"dist/vue-filter.js","scripts":{"build":"node scripts/build.js","test":"node scripts/test.js"},"repository":{"type":"git","url":"git+https://github.com/wy-ei/vue-filter.git"},"keywords":["vuejs","vue","filter","vue-filter"],"author":{"name":"wy-ei"},"license":"MIT","bugs":{"url":"https://github.com/wy-ei/vue-filter/issues"},"homepage":"https://github.com/wy-ei/vue-filter#readme","devDependencies":{"rollup":"^0.25.1","tape":"^4.4.0","uglify-js":"^2.6.1"},"gitHead":"a071e76598f8ff4ccb0a005e633eed8180f30f96","_id":"vue-filter@0.1.9","_shasum":"b2747a1810ae777e313ec9ff9bd14bdd2016c241","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.0","_npmUser":{"name":"wy-ei","email":"nameiswangyu@163.com"},"dist":{"shasum":"b2747a1810ae777e313ec9ff9bd14bdd2016c241","tarball":"https://registry.npmjs.org/vue-filter/-/vue-filter-0.1.9.tgz","integrity":"sha512-vvTPcZP45zxrEJdD0qKSc3hUH5u9vaxRuirY34S/PFzjCnkiIB/O8Q7K/zAqp2wlw4iSaVqJhXVvt04zma/wdA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFs6L02TqDrCS6thpAt0uLWDDrXU66c1KaahzmUAuc5rAiEAtpnOJReYBrSNmQb3Anx6KBDwwUnmVNFSqhtjOAWbhRA="}]},"maintainers":[{"name":"wy-ei","email":"nameiswangyu@163.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/vue-filter-0.1.9.tgz_1480573160266_0.8728384107816964"},"directories":{}},"0.1.10":{"name":"vue-filter","version":"0.1.10","description":"A plugin for Vue.js. It can enhance vue filter system.","main":"dist/vue-filter.js","scripts":{"build":"node scripts/build.js","test":"node scripts/test.js"},"repository":{"type":"git","url":"git+https://github.com/wy-ei/vue-filter.git"},"keywords":["vuejs","vue","filter","vue-filter"],"author":{"name":"wy-ei"},"license":"MIT","bugs":{"url":"https://github.com/wy-ei/vue-filter/issues"},"homepage":"https://github.com/wy-ei/vue-filter#readme","devDependencies":{"rollup":"^0.25.1","tape":"^4.4.0","uglify-js":"^2.6.1"},"gitHead":"a9ff7607c7e1c451ded9a5aab0fdcdea1cd66c91","_id":"vue-filter@0.1.10","_shasum":"24ffbe744f9aceeb8a2ee7fc0a83fb9b34e6ad3f","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.3.0","_npmUser":{"name":"wy-ei","email":"nameiswangyu@163.com"},"dist":{"shasum":"24ffbe744f9aceeb8a2ee7fc0a83fb9b34e6ad3f","tarball":"https://registry.npmjs.org/vue-filter/-/vue-filter-0.1.10.tgz","integrity":"sha512-zjMGRjaxYxM3fvxM5a7aqjsBUnW35WdhqqxzJCMSPBp+H8r+WRCmpIxS+Xfp7C3p8u+ysHmEMncqUx4/W/PKAQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCBUZnVP+RzTYpmVR3hwe2TgJmQ5+Nlh3alRv/j8k4wCAIgA7VsriQGyXLl4MOTijQ7p370xesvh4KoLTPbJ9VaKg0="}]},"maintainers":[{"name":"wy-ei","email":"nameiswangyu@163.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/vue-filter-0.1.10.tgz_1484916136927_0.17709913197904825"},"directories":{}},"0.2.0":{"name":"vue-filter","version":"0.2.0","description":"A collection of Vue.js filter.","main":"dist/vue-filter.js","scripts":{"build":"webpack","postbuild":"uglifyjs -c -m --output dist/vue-filter.min.js --source-map dist/vue-filter.min.js.map -- dist/vue-filter.js","test":"node test/index.js"},"repository":{"type":"git","url":"git+https://github.com/wy-ei/vue-filter.git"},"keywords":["vuejs","vue","filter","vue-filter"],"author":{"name":"wy-ei"},"license":"MIT","bugs":{"url":"https://github.com/wy-ei/vue-filter/issues"},"homepage":"https://github.com/wy-ei/vue-filter#readme","devDependencies":{"babel-core":"^6.23.1","babel-loader":"^6.3.2","babel-preset-es2015":"^6.22.0","babel-preset-stage-0":"^6.22.0","babel-register":"^6.23.0","marked":"^0.3.6","rollup":"^0.25.1","tape":"^4.4.0","uglify-js":"^2.6.1","webpack":"^2.2.1"},"dependencies":{"underscore":"^1.8.3"},"gitHead":"3ec8e74b2e0ea9fc0aa4604c76dc97193dff12e4","_id":"vue-filter@0.2.0","_shasum":"1b516608251fc56cd0f1d204d5851e02f099498f","_from":".","_npmVersion":"4.3.0","_nodeVersion":"6.3.0","_npmUser":{"name":"wy-ei","email":"nameiswangyu@163.com"},"dist":{"shasum":"1b516608251fc56cd0f1d204d5851e02f099498f","tarball":"https://registry.npmjs.org/vue-filter/-/vue-filter-0.2.0.tgz","integrity":"sha512-4dUSQUo/ZgAiQFp+gU8Ni+uuAxWjqf/0HV/c3GWmS6FJP32TANIbGNHPE55ySAi18wcQXog1qKQMp+HkGDGtCg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA6dOykbvyvz+yhT5qr2jYkh3sTY/CIBxYRX7AGsbI41AiAM64TrWYpSqLxbliwDfiEgLcs54tk4AQHeyjLKSUa2Ig=="}]},"maintainers":[{"name":"wy-ei","email":"nameiswangyu@163.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/vue-filter-0.2.0.tgz_1489226249766_0.4223143355920911"},"directories":{}},"0.2.1":{"name":"vue-filter","version":"0.2.1","description":"A collection of Vue.js filter.","main":"dist/vue-filter.js","scripts":{"build":"webpack","postbuild":"uglifyjs -c -m --output dist/vue-filter.min.js --source-map dist/vue-filter.min.js.map -- dist/vue-filter.js","test":"node test/index.js","lint":"eslint src test"},"repository":{"type":"git","url":"git+https://github.com/wy-ei/vue-filter.git"},"keywords":["vuejs","vue","filter","vue-filter"],"author":{"name":"wy-ei"},"license":"MIT","bugs":{"url":"https://github.com/wy-ei/vue-filter/issues"},"homepage":"https://github.com/wy-ei/vue-filter#readme","devDependencies":{"babel-core":"^6.23.1","babel-loader":"^6.3.2","babel-preset-es2015":"^6.22.0","babel-preset-stage-0":"^6.22.0","babel-register":"^6.23.0","eslint":"^3.19.0","marked":"^0.3.6","tape":"^4.4.0","uglify-js":"github:mishoo/UglifyJS2#harmony","webpack":"^2.2.1"},"dependencies":{"underscore":"^1.8.3"},"gitHead":"4ecae24edb1cbcfa84fc42b2b772e0db541613d6","_id":"vue-filter@0.2.1","_shasum":"598582f5309c60f43482462bb9485fe667d8a241","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"wy-ei","email":"nameiswangyu@163.com"},"dist":{"shasum":"598582f5309c60f43482462bb9485fe667d8a241","tarball":"https://registry.npmjs.org/vue-filter/-/vue-filter-0.2.1.tgz","integrity":"sha512-RB9hr+Kk3PItwYEDFl9F9do8o3v5VSOQwXFz66FDiW3V7OjY1rYuOYdaKbioulfvGv50sEeTxFj7uoGMra/RQA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDtgMAjXXcgEiZ0ecEPWvYmiFATsy8Ggzmkn7JDoPWS2QIgZMdVJec3rBLxt7meRR1UcTA900PV0AE6Lf7B6/tir8s="}]},"maintainers":[{"name":"wy-ei","email":"nameiswangyu@163.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/vue-filter-0.2.1.tgz_1493820764731_0.3055210409220308"},"directories":{}},"0.2.2":{"name":"vue-filter","version":"0.2.2","description":"A collection of Vue.js filter.","main":"dist/vue-filter.js","scripts":{"build":"webpack","postbuild":"uglifyjs -c -m --output dist/vue-filter.min.js --source-map dist/vue-filter.min.js.map -- dist/vue-filter.js","test":"node test/index.js","lint":"eslint src test"},"repository":{"type":"git","url":"git+https://github.com/wy-ei/vue-filter.git"},"keywords":["vuejs","vue","filter","vue-filter"],"author":{"name":"wy-ei"},"license":"MIT","bugs":{"url":"https://github.com/wy-ei/vue-filter/issues"},"homepage":"https://github.com/wy-ei/vue-filter#readme","devDependencies":{"babel-core":"^6.23.1","babel-loader":"^6.3.2","babel-preset-es2015":"^6.22.0","babel-preset-stage-0":"^6.22.0","babel-register":"^6.23.0","eslint":"^3.19.0","marked":"^0.3.6","tape":"^4.4.0","uglify-js":"github:mishoo/UglifyJS2#harmony","webpack":"^2.2.1"},"dependencies":{"underscore":"^1.8.3"},"gitHead":"6034c50dc2a376775d8a2877f9030bae9d325b90","_id":"vue-filter@0.2.2","_npmVersion":"5.0.3","_nodeVersion":"8.1.2","_npmUser":{"name":"wy-ei","email":"nameiswangyu@163.com"},"dist":{"integrity":"sha512-xt8n2LAPo2iPcjkA2yOwMYrQxunrlwU6LII2HoDmjqr1NncUd4MUIT22db4CbrNoRlRynzLbLS20mcflI72jUg==","shasum":"ed4fd73870c0c831ae2a92f1f99b2c480e30f010","tarball":"https://registry.npmjs.org/vue-filter/-/vue-filter-0.2.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBGygx5uW0pqpUGPhydznDlYstse6PjyLq//XM9QwYreAiAb9MfyV5olRlOxAj9ti2NChx7lpmbsjXWh1poCKZVaQQ=="}]},"maintainers":[{"name":"wy-ei","email":"nameiswangyu@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-filter-0.2.2.tgz_1510068508158_0.5812271556351334"},"directories":{}},"0.2.3":{"name":"vue-filter","version":"0.2.3","description":"A collection of Vue.js filter.","main":"dist/vue-filter.js","scripts":{"build":"webpack","postbuild":"uglifyjs -c -m --output dist/vue-filter.min.js -- dist/vue-filter.js","test":"node test/index.js","lint":"eslint src test"},"repository":{"type":"git","url":"git+https://github.com/wy-ei/vue-filter.git"},"keywords":["vuejs","vue","filter","vue-filter"],"author":{"name":"wy-ei"},"license":"MIT","bugs":{"url":"https://github.com/wy-ei/vue-filter/issues"},"homepage":"https://github.com/wy-ei/vue-filter#readme","devDependencies":{"babel-core":"^6.23.1","babel-loader":"^6.3.2","babel-preset-es2015":"^6.22.0","babel-preset-stage-0":"^6.22.0","babel-register":"^6.23.0","eslint":"^3.19.0","marked":"^0.3.6","tape":"^4.4.0","uglify-js":"github:mishoo/UglifyJS2#harmony","webpack":"^2.2.1"},"dependencies":{"underscore":"^1.8.3"},"gitHead":"7677cf499cc1a10b10a37c8f5335a98837e8128c","_id":"vue-filter@0.2.3","_npmVersion":"5.0.3","_nodeVersion":"8.1.2","_npmUser":{"name":"wy-ei","email":"nameiswangyu@163.com"},"dist":{"integrity":"sha512-bi4WwCmYkHxREOkoPOeO2C8WgUTxuMLQKBTgkrEK6Kb3kWGtOGErs23Z9Tg61Rv15szylZO+EiFgelP5cVVbkQ==","shasum":"76874a2446762db95f41afa1c4094d37b347d193","tarball":"https://registry.npmjs.org/vue-filter/-/vue-filter-0.2.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDeGVvAgd492D27BIl5/3eBfzFzcucBuwskJpZD9LF6pwIge0/iEz8ir5v5m0HUgAMI+SFV6Dd6K//4wRUgmVChyb0="}]},"maintainers":[{"name":"wy-ei","email":"nameiswangyu@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-filter-0.2.3.tgz_1513859846618_0.48986139451153576"},"directories":{}},"0.2.4":{"name":"vue-filter","version":"0.2.4","description":"A collection of Vue.js filter.","main":"dist/vue-filter.js","scripts":{"build":"webpack","postbuild":"uglifyjs -c -m --output dist/vue-filter.min.js -- dist/vue-filter.js","test":"node test/index.js","lint":"eslint src test"},"repository":{"type":"git","url":"git+https://github.com/wy-ei/vue-filter.git"},"keywords":["vuejs","vue","filter","vue-filter"],"author":{"name":"wy-ei"},"license":"MIT","bugs":{"url":"https://github.com/wy-ei/vue-filter/issues"},"homepage":"https://github.com/wy-ei/vue-filter#readme","devDependencies":{"babel-core":"^6.23.1","babel-loader":"^6.3.2","babel-preset-env":"^1.6.1","babel-register":"^6.23.0","eslint":"^3.19.0","marked":"^0.3.6","tape":"^4.4.0","uglify-js":"github:mishoo/UglifyJS2#harmony","webpack":"^2.2.1"},"dependencies":{"underscore":"^1.8.3"},"gitHead":"29b4cea1c57a6d1d43420f368790d6e61d1d6bef","_id":"vue-filter@0.2.4","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"wy-ei","email":"nameiswangyu@163.com"},"dist":{"integrity":"sha512-Dh3ggnwqygzbArvpqrs/1nsKSg6/Wt2SxRcZSfr/Fn8Lx/2PBJlECva+pqbId7e/qLUFdIhtWAjExzeENFKKnw==","shasum":"22c9ab0d8ff4b3aff6515e4b758a25daa0c99744","tarball":"https://registry.npmjs.org/vue-filter/-/vue-filter-0.2.4.tgz","fileCount":39,"unpackedSize":169458,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCpkqSL+0UbdEz7xuOXkVOt/v3kkgW+zeiTEcM7QgyJEgIgC5INfCGqyknoy+25b6LZvoLd0c8+rc1O5yjoJSct2PI="}]},"maintainers":[{"name":"wy-ei","email":"nameiswangyu@163.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-filter_0.2.4_1518057924833_0.5454504182056132"},"_hasShrinkwrap":false},"0.2.5":{"name":"vue-filter","version":"0.2.5","description":"A collection of Vue.js filter.","main":"dist/vue-filter.js","scripts":{"build":"webpack","postbuild":"uglifyjs -c -m --output dist/vue-filter.min.js -- dist/vue-filter.js","test":"node test/index.js","lint":"eslint src test"},"repository":{"type":"git","url":"git+https://github.com/wy-ei/vue-filter.git"},"keywords":["vuejs","vue","filter","vue-filter"],"author":{"name":"wy-ei"},"license":"MIT","bugs":{"url":"https://github.com/wy-ei/vue-filter/issues"},"homepage":"https://github.com/wy-ei/vue-filter#readme","devDependencies":{"babel-core":"^6.23.1","babel-loader":"^6.3.2","babel-preset-env":"^1.6.1","babel-register":"^6.23.0","eslint":"^3.19.0","marked":"^0.3.6","tape":"^4.4.0","uglify-js":"github:mishoo/UglifyJS2#harmony","webpack":"^2.2.1"},"dependencies":{"underscore":"^1.8.3"},"gitHead":"fe2cee97aad12ee9360c5136d5058652c56436d8","_id":"vue-filter@0.2.5","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"wy-ei","email":"nameiswangyu@163.com"},"dist":{"integrity":"sha512-E/0wamnxIf5YVUrdA6T1VUriLrxrSC7oXdHWJjWqgAul2IjQxCZ82QLH+RfAh5fAwy6X198sEswxi9K6byHg5g==","shasum":"ddc77582c861aa29218d8effddf8eb7f92d5104b","tarball":"https://registry.npmjs.org/vue-filter/-/vue-filter-0.2.5.tgz","fileCount":39,"unpackedSize":169453,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa1KLZCRA9TVsSAnZWagAAUg8P/2VjtgiaIiZRa+PrAOHe\nm1yxFA5VTLLA8pIlbw3faYkE0RCdMYp7xKtPToPbM+FVvfYQxcfQbIuYW3Vb\n/oMVb7WHgqarRqTa5xdYOwdtpafMzwEVUD0TjVQWPYx477obstn0kAexfgUK\nTLmGn5yxszHM8Gkweg/PDZJnmjTLs+Fr1gKBfcqfoqTakrvzSDOm7FxzsPHM\nj78jroUAvaJjD96YG3uVfxKGfSqT8D/JMs0M/B1BaS1cDE+EDUwelwSxGFFS\ne47oBSNusI0UmH0iRg7nOXGvpjMmJhPa2JYIrrmZJvk6rgmTupKcubSJpcNk\nYAl40UlmrbiheSE+ZhmRHxI4FLdK93oAcSHqjUrzMmh47Wa9md7JD0yC08kC\nf7AIqmfX26j+QSLA1nmyVIVtCGrkDu0pSUDqBI6hgyq75MxuTy0/fwNCQtlU\neWlcPLlHynC35EIQJzUtu9Ha7hJHFd4DcyKhrMDidXtpOFvR+kc9hLSW2+Pq\n2po62Z+J+BLSdcpUqu8e37mZ1c0q1WC+npID3BDkhbyqIpZFe0dzvWo2LWqB\n5/z1QolrikStYw19h85ejFEEnJhuTJAmV/PlTTFULTRrvR1KvqCsGoJIN+Wa\n3NJHGl8o+Hh+N38/gV8VUbivCF6FHtnusnxoChCFfvaw0+faNBQCT9YaFY6F\nLZXr\r\n=0QyE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEs6q997PGq0U9nXesPTZOVQmuvsnlgMOlTyt6rxapz9AiAPTjEhrQbXlx9O6zMpfSJr11Yso44ThV4mu6eE4z5v4Q=="}]},"maintainers":[{"name":"wy-ei","email":"nameiswangyu@163.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vue-filter_0.2.5_1523884760251_0.1571521502333879"},"_hasShrinkwrap":false}},"readme":"# vue-filter [![](https://travis-ci.org/wy-ei/vue-filter.svg)](https://travis-ci.org/wy-ei/vue-filter)\r\n\r\n**A collection of [Vue.js](https://github.com/vuejs/vue) filter**\r\n\r\n**Notice: Normally, you will only use few filters in your project, so you don't need to import this library entirely. Consider use a library like [Lodash](https://github.com/lodash/lodash) and write the filter you need by yourself.** \r\n\r\n## How to use ?\r\n\r\n### step 1. Install vue-filter\r\n\r\nYou can install it from npm:\r\n\r\n```sh\r\nnpm install vue-filter --save\r\n```\r\n\r\nor copy the file at [here](https://raw.githubusercontent.com/wy-ei/vue-filter/master/dist/vue-filter.min.js).\r\n\r\n\r\nIf you include the file with `<script>` tag, the filters will be installed automatically. But please make sure put the `vue-filter` script behind Vue.\r\n\r\n```html\r\n<script src=\"vue.min.js\"></script>\r\n<script src=\"vue-filter.min.js\"></script>\r\n```\r\n\r\nIf you use a bundle tools like webpack, you need install the filters manually.\r\nAs from Vue 2.0 you have to install the extension using the `Vue.use()` sytax.\r\n\r\n\r\n```js\r\nimport VueFilter from 'vue-filter';\r\nimport Vue from 'vue';\r\n\r\n// Vue.install(vueFilter); // Vue V1 \r\nVue.use(VueFilter);        // Vue V2\r\n```\r\n\r\n\r\n### step 2. use filter\r\n\r\n\r\n```js\r\ndata: {\r\n  list: [{\r\n      name: 'James, LeBron',\r\n      score: 38\r\n  },{\r\n      name: 'Irving, Kyrie',\r\n      score: 43\r\n  },{\r\n      name: 'Jefferson, Richard',\r\n      score: 11\r\n  }]\r\n}\r\n\r\n// get sum of score.\r\n{{ list | map(player => player.score) | sum  }} => 92\r\n\r\n// top score.\r\n{{ list | max(player => player.score) | get('score') }} => 43\r\n```\r\n\r\n## Filter List\r\n\r\nClick the filter to see how to use it.\r\n\r\n### Collection Filters\r\n\r\n- [map](#map)\r\n- [at](#at)\r\n- [reduce](#reduce)\r\n- [find](#find)\r\n- [filter](#filter)\r\n- [reject](#reject)\r\n- [every](#every)\r\n- [some](#some)\r\n- [contains](#contains)\r\n- [pluck](#pluck)\r\n- [max](#max)\r\n- [min](#min)\r\n- [sortBy](#sortby)\r\n- [groupBy](#groupby)\r\n- [indexBy](#indexby)\r\n- [countBy](#countby)\r\n- [shuffle](#shuffle)\r\n- [sample](#sample)\r\n- [toArray](#toarray)\r\n- [size](#size)\r\n\r\n### Array Filters\r\n\r\n\r\n- [first](#first)\r\n- [initial](#initial)\r\n- [last](#last)\r\n- [rest](#rest)\r\n- [flatten](#flatten)\r\n- [without](#without)\r\n- [union](#union)\r\n- [intersection](#intersection)\r\n- [difference](#difference)\r\n- [uniq](#uniq)\r\n+ [join](#join)\r\n+ [reverse](#reverse)\r\n+ [concat](#concat)\r\n\r\n\r\n### String Filters\r\n\r\n+ [append](#append)\r\n+ [prepend](#prepend)\r\n+ [camelcase](#camelcase)\r\n+ [replace](#replace)\r\n+ [substring](#strstring)\r\n+ [substr](#substr)\r\n+ [truncate](#truncate)\r\n+ [split](#split)\r\n+ [trim](#trim)\r\n+ [trimLeft](#trimleft)\r\n+ [trimRight](#trimright)\r\n+ [test](#test)\r\n+ [leftPad](#leftpad)\r\n+ [rightPad](#rightpad)\r\n+ [repeat](#repeat)\r\n+ [lowercase](#lowercase)\r\n+ [uppercase](#uppercase)\r\n+ [nl2br](#nl2br)\r\n\r\n### Object Filters\r\n\r\n- [keys](#keys)\r\n- [allKeys](#allkeys)\r\n- [values](#values)\r\n- [pairs](#pairs)\r\n- [invert](#invert)\r\n- [extend](#extend)\r\n- [pick](#pick)\r\n- [omit](#omit)\r\n- [defaults](#defaults)\r\n- [has](#has)\r\n\r\n### Math Filters\r\n\r\n+ [abs,acos,asin,atan,atan2,ceil,cos,exp,floor,log,pow,round,sin,sqrt,tan](#math-method-function)\r\n+ [sum](#sum)\r\n+ [mean](#mean)\r\n+ [plus](#plus)\r\n+ [minus](#minus)\r\n+ [multiply](#multiply)\r\n+ [divide](#divide)\r\n+ [mod](#mod)\r\n+ [toFixed](#tofixed)\r\n+ [toPrecision](#toprecision)\r\n\r\n\r\n### Other Filters\r\n\r\n- [escape](#escape)\r\n- [unescape](#unescape)\r\n- [result](#result)\r\n- [date](#date)\r\n- [get](#get)\r\n\r\n\r\n## Filter Usage\r\n\r\n### Collection Filters\r\n\r\n#### map\r\n\r\nProduces a new array of values by mapping each value in **list** through a transformation function ([**iteratee**](#iteratee)). The iteratee is passed three arguments: the `value`, then the `index` (or `key`) of the iteration, and finally a reference to the entire `list`.\r\n\r\n```javascript\r\n{{ [1,2,3] | map(function (n){ return n * 2; }) }} => [2,4,6]\r\n\r\n{{ [1,2,3] | map(function (num){ return num * 3; }) }} => [3,6,9]\r\n\r\n{{ {\"one\":1,\"two\":2,\"three\":3} | map(function (num, key){ return num * 3; }) }} => [3,6,9]\r\n```\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### at\r\n\r\nReturns the item at the specified index location in an array or a string.\r\n\r\n```javascript\r\n{{ ['a','b','c'] | at(1) }} => 'b'\r\n{{ 'hello' | at(1) }} => 'e'\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### reduce\r\n\r\nAlso known as **inject** and **foldl**, reduce boils down a **list** of values into a single value. **Memo** is the initial state of the reduction, and each successive step of it should be returned by **iteratee**. The iteratee is passed four arguments: the `memo`, then the `value` and `index` (or key) of the iteration, and finally a reference to the entire `list`.\r\n\r\nIf no memo is passed to the initial invocation of reduce, the iteratee is not invoked on the first element of the list. The first element is instead passed as the memo in the invocation of the iteratee on the next element in the list.\r\n\r\n```javascript\r\n{{ [1,2,3] | reduce(function (memo, num){ return memo + num; }, 0) }} => 6\r\n```\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### find\r\n\r\nLooks through each value in the **list**, returning the first one that passes a truth test (**predicate**), or `undefined` if no value passes the test. The function returns as soon as it finds an acceptable element, and doesn't traverse the entire list.\r\n\r\n```javascript\r\n{{ [1,2,3,4,5,6] | find(function (num){ return num % 2 == 0; }) }} =>\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### filter\r\n\r\nLooks through each value in the **list**, returning an array of all the values that pass a truth test (**predicate**).\r\n\r\n```javascript\r\n{{ [1,2,3,4,5,6] | filter(function (num){ return num % 2 == 0; }) }} => [2,4,6]\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### reject\r\n\r\n\r\nReturns the values in **list** without the elements that the truth test (**predicate**) passes. The opposite of **filter**.\r\n\r\n```javascript\r\n{{ [1,2,3,4,5,6] | reject(function (num){ return num % 2 == 0; }) }} => [1,3,5]\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### every\r\n\r\nReturns _true_ if all of the values in the **list** pass the **predicate** truth test. Short-circuits and stops traversing the list if a false element is found.\r\n\r\n```javascript\r\n{{ [2,4,5] | every(function (num) { return num % 2 == 0; }) }} => false\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### some\r\n\r\nReturns _true_ if any of the values in the **list** pass the **predicate** truth test. Short-circuits and stops traversing the list if a true element is found.\r\n\r\n```javascript\r\n{{ [null,0,\"yes\",false] | some(val => !val ) }} => true\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### contains\r\n\r\nReturns _true_ if the **value** is present in the **list**. Uses **indexOf** internally, if **list** is an Array. Use **fromIndex** to start your search at a given index.\r\n\r\n```javascript\r\n{{ [1,2,3] | contains(3) }} => true\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### pluck\r\n\r\n\r\nA convenient version of what is perhaps the most common use-case for **map**: extracting a list of property values.\r\n\r\n```javascript\r\n{{ [{\r\n  \"name\": \"moe\",\r\n  \"age\": 40\r\n}, {\r\n  \"name\": \"larry\",\r\n  \"age\": 50\r\n}, {\r\n  \"name\": \"curly\",\r\n  \"age\": 60\r\n}] | pluck(\"name\") }} => [\"moe\",\"larry\",\"curly\"]\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### max\r\n\r\n\r\nReturns the maximum value in **list**. If an [**iteratee**](#iteratee) function is provided, it will be used on each value to generate the criterion by which the value is ranked. _-Infinity_ is returned if **list** is empty, so an [isEmpty](#isEmpty) guard may be required. Non-numerical values in **list** will be ignored.\r\n\r\n```javascript\r\n{{ [{\r\n  \"name\": \"moe\",\r\n  \"age\": 40\r\n}, {\r\n  \"name\": \"larry\",\r\n  \"age\": 50\r\n}, {\r\n  \"name\": \"curly\",\r\n  \"age\": 60\r\n}] | max(function (stooge){ return stooge.age; }) }} => {\"name\":\"curly\",\"age\":60}\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### min\r\n\r\n\r\nReturns the minimum value in **list**. If an [**iteratee**](#iteratee) function is provided, it will be used on each value to generate the criterion by which the value is ranked. _Infinity_ is returned if **list** is empty, so an [isEmpty](#isEmpty) guard may be required. Non-numerical values in **list** will be ignored.\r\n\r\n```javascript\r\n{{ [10,5,100,2,1000] | min }} => 2\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### sortBy\r\n\r\n\r\nReturns a (stably) sorted copy of **list**, ranked in ascending order by the results of running each value through [**iteratee**](#iteratee). iteratee may also be the string name of the property to sort by (eg. `length`).\r\n\r\n```javascript\r\n{{ [1,2,3,4,5,6] | sortBy(function (num){ return Math.sin(num); }) }} => [5,4,6,3,1,2]\r\n\r\n{{ [{\r\n  \"name\": \"moe\",\r\n  \"age\": 40\r\n}, {\r\n  \"name\": \"larry\",\r\n  \"age\": 50\r\n}, {\r\n  \"name\": \"curly\",\r\n  \"age\": 60\r\n}] | sortBy(\"name\") }}\r\n=>\r\n[{\r\n  \"name\": \"curly\",\r\n  \"age\": 60\r\n}, {\r\n  \"name\": \"larry\",\r\n  \"age\": 50\r\n}, {\r\n  \"name\": \"moe\",\r\n  \"age\": 40\r\n}]\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### groupBy\r\n\r\n\r\nSplits a collection into sets, grouped by the result of running each value through **iteratee**. If **iteratee** is a string instead of a function, groups by the property named by **iteratee** on each of the values.\r\n\r\n```javascript\r\n{{ [1.3, 2.1, 2.4] | groupBy(function (num){ return Math.floor(num); }) }} => {\"1\":[1.3],\"2\":[2.1,2.4]}\r\n\r\n{{ [\"one\",\"two\",\"three\"] | groupBy(\"length\") }} => {\"3\":[\"one\",\"two\"],\"5\":[\"three\"]}\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### indexBy\r\n\r\n\r\nGiven a **list**, and an [**iteratee**](#iteratee) function that returns a key for each element in the list (or a property name), returns an object with an index of each item. Just like [groupBy](#groupBy), but for when you know your keys are unique.\r\n\r\n```javascript\r\n{{ [{\r\n  \"name\": \"moe\",\r\n  \"age\": 40\r\n}, {\r\n  \"name\": \"larry\",\r\n  \"age\": 50\r\n}, {\r\n  \"name\": \"curly\",\r\n  \"age\": 60\r\n}] | indexBy(\"age\") }} =>\r\n{\r\n  \"40\": {\r\n    \"name\": \"moe\",\r\n    \"age\": 40\r\n  },\r\n  \"50\": {\r\n    \"name\": \"larry\",\r\n    \"age\": 50\r\n  },\r\n  \"60\": {\r\n    \"name\": \"curly\",\r\n    \"age\": 60\r\n  }\r\n}\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### countBy\r\n\r\n\r\nSorts a list into groups and returns a count for the number of objects in each group. Similar to `groupBy`, but instead of returning a list of values, returns a count for the number of values in that group.\r\n\r\n```javascript\r\n{{ [1,2,3,4,5] | countBy(function (num) {\r\n  return num % 2 == 0 ? 'even': 'odd';\r\n}) }} => {\"odd\":3,\"even\":2}\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### shuffle\r\n\r\n\r\nReturns a shuffled copy of the **list**, using a version of the [Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle).\r\n\r\n```javascript\r\n{{ [1,2,3,4,5,6] | shuffle }} => [5,2,3,6,1,4]\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### sample\r\n\r\n\r\nProduce a random sample from the **list**. Pass a number to return **n** random elements from the list. Otherwise a single random item will be returned.\r\n\r\n```javascript\r\n{{ [1,2,3,4,5,6] | sample }} => one element\r\n\r\n{{ [1,2,3,4,5,6] | sample(3) }} => there elements\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### toArray\r\n\r\n\r\nCreates a real Array from the **list** (anything that can be iterated over). Useful for transmuting the **arguments** object.\r\n\r\n```javascript\r\n{{ {\"0\":1,\"1\":2,\"2\":3,\"3\":4} | toArray }} => [1,2,3,4]\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### size\r\n\r\n\r\nReturn the number of values in the **list**.\r\n\r\n```javascript\r\n{{ {\"one\":1,\"two\":2,\"three\":3} | size }} => 3\r\n```\r\n\r\n## Array Functions\r\n\r\n_Note: All array functions will also work on the **arguments** object. However, Underscore functions are not designed to work on \"sparse\" arrays._\r\n\r\n### Array Filters\r\n\r\n\r\n#### first\r\n\r\nReturns the first element of an **array**. Passing **n** will return the first **n** elements of the array.\r\n\r\n```javascript\r\n{{ [5,4,3,2,1] | first }} => 5\r\n\r\n{{ [1,2] | first(0, [[1,2],[3,4]]) }} => 1\r\n\r\n{{ [3,4] | first(1, [[1,2],[3,4]]) }} => 3\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### initial\r\n\r\n\r\nReturns everything but the last entry of the array. Especially useful on the arguments object. Pass **n** to exclude the last **n** elements from the result.\r\n\r\n```javascript\r\n{{ [5,4,3,2,1] | initial }} => [5,4,3,2]\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### last\r\n\r\n\r\nReturns the last element of an **array**. Passing **n** will return the last **n** elements of the array.\r\n\r\n```javascript\r\n{{ [5,4,3,2,1] | last }} => 1\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### rest\r\n\r\nReturns the **rest** of the elements in an array. Pass an **index** to return the values of the array from that index onward.\r\n\r\n```javascript\r\n{{ [5,4,3,2,1] | rest }} => [4,3,2,1]\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### flatten\r\n\r\n\r\nFlattens a nested **array** (the nesting can be to any depth). If you pass **shallow**, the array will only be flattened a single level.\r\n\r\n```javascript\r\n{{ [1,[2],[3,[[4]]]] | flatten }} => [1,2,3,4]\r\n\r\n{{ [1,[2],[3,[[4]]]] | flatten(true) }} => [1,2,3,[[4]]]\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### without\r\n\r\n\r\nReturns a copy of the **array** with all instances of the **values** removed.\r\n\r\n```javascript\r\n{{ [1,2,1,0,3,1,4] | without(0, 1) }} => [2,3,4]\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### union\r\n\r\n\r\nComputes the union of the passed-in **arrays**: the list of unique items, in order, that are present in one or more of the **arrays**.\r\n\r\n```javascript\r\n{{ [1,2,3] | union([101,2,1,10], [2,1]) }} => [1,2,3,101,10]\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### intersection\r\n\r\n\r\nComputes the list of values that are the intersection of all the **arrays**. Each value in the result is present in each of the **arrays**.\r\n\r\n```javascript\r\n{{ [1,2,3] | intersection([101,2,1,10], [2,1]) }} => [1,2]\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### difference\r\n\r\n\r\nSimilar to **without**, but returns the values from **array** that are not present in the **other** arrays.\r\n\r\n```javascript\r\n{{ [1,2,3,4,5] | difference([5,2,10]) }} => [1,3,4]\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### uniq\r\n\r\nProduces a duplicate-free version of the **array**, using _===_ to test object equality. In particular only the first occurence of each value is kept. If you know in advance that the **array** is sorted, passing _true_ for **isSorted** will run a much faster algorithm. If you want to compute unique items based on a transformation, pass an [**iteratee**](#iteratee) function.\r\n\r\n```javascript\r\n{{ [1,2,1,4,1,3] | uniq }} => [1,2,4,3]\r\n```\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### join\r\n\r\nJoins the elements of an array with the character passed as the parameter.\r\nThe result is a single string.\r\n\r\n```javascript\r\n{{ ['a','b','c'] | join('-') }} => 'a-b-c'\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### reverse\r\n\r\nReverse an array or a string.\r\n\r\n```javascript\r\n{{ 'abc' | reverse }} => 'cba'\r\n{{ [1,2,3] | reverse }} => [3,2,1]\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### concat\r\n\r\nConcatenates an array into another one.\r\n\r\n```  js\r\n{{ [1,2,3] | concat([4,5,6]) }} => [1,2,3,4,5,6]\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n\r\n### String Filters\r\n\r\n#### replace\r\n\r\n```javascript\r\n{{ 'ab-cd' | replace('-', '') }}  => 'abcd'\r\n```\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### substr\r\n\r\n```javascript\r\n{{ 'javascript' | substr(0, 4) }} => 'java'\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### substring\r\n\r\n```javascript\r\n{{ 'javascript' | substring(0,2) }} => 'ja'\r\n```\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### append\r\n\r\nAppends characters to a string.\r\n\r\n```javascript\r\n{{ 'sky' | append('.jpg') }} => 'sky.jpg'\r\n```\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### prepend\r\n\r\nPrepends characters to a string.\r\n\r\n```javascript\r\n{{ 'world' | prepend('hello ') }} => 'hello world'\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n\r\n#### camelcase\r\n\r\nConverts a string into CamelCase.\r\n\r\n```javascript\r\n{{ \"some_else\" | camelcase }} => \"SomeElse\"\r\n{{ \"some-else\" | camelcase }} => \"SomeElse\"\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### truncate\r\n\r\nTruncate text to a specified length.\r\n\r\n```javascript\r\n{{ 'this is a big city!' | truncate(10, '...') }} => 'this is a ...'\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### split\r\n\r\nThe split filter takes on a substring as a parameter.The substring is used as a delimiter to divide a string into an array.\r\n\r\n```javascript\r\n{{ 'a-b-c-d' | split('-') }} => [a,b,c,d]\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### trim\r\n\r\nStrips tabs, spaces, and newlines (all whitespace) from the left or right or both side of a string.which depends on second argument.\r\n\r\n```javascript\r\n{{ '   some spaces   ' | trim }} => 'some spaces'\r\n```\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### trimLeft\r\n\r\n```javascript\r\n{{ '   some spaces   ' | trimLeft }} => 'some spaces   '\r\n```\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### trimRight\r\n\r\n```javascript\r\n{{ '   some spaces   ' | trimRight }} => '   some spaces'\r\n```\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### test\r\n\r\nTest if a string match a pattern.\r\n\r\n```javascript\r\n{{ \"http://vuejs.org\" | test(\"^http\") }} => true\r\n// second param is regExp flag\r\n{{ \"VUE\" | test(\"vue\", \"i\") }} => true\r\n```\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### leftPad\r\n\r\nPad a string on left.\r\n\r\n```javascript\r\n{{ 'abc' | leftPad(5, '*') }} => '**abc'\r\n```\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### rightPad\r\n\r\nPad a string on right.\r\n\r\n```javascript\r\n{{ 'abc' | rightPad(5, '*') }} => 'abc**'\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### repeat\r\n\r\nRepeat a string n times.\r\n\r\n```javascript\r\n{{ 'abc' | repeat(3) }} => 'abcabcabc'\r\n{{ 'abc' | repeat('3') }} => 'abcabcabc'\r\n{{ 'abc' | repeat(0) }} => ''\r\n{{ 'abc' | repeat }} => ''\r\n```\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### lowercase\r\n\r\nLowercase a string.\r\n\r\n```javascript\r\n{{ 'Vue' | lowercase }} => 'vue'\r\n```\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### uppercase\r\n\r\nUppercase a string.\r\n\r\n```javascript\r\n{{ 'Vue' | uppercase }} => 'VUE'\r\n```\r\n\r\n#### nl2br\r\n\r\nReplace new lines by `<br/>` tags. This returns a string conainting html tag so in order\r\nto prevent vue from escaping the tags special rendering is needed: `{{{ triple handlebars }}}` in Vue 1.0, `v-html` with direct filter function in Vue 2.0\r\n\r\n\r\n```\r\n// Vue 1.0\r\n<p> {{{ text | nl2br }}} </p>\r\n\r\n// Vue 2.0\r\n<p v-html=\"$options.filters.nl2br(text)\"></p>\r\n```\r\n \r\n\r\n### Object Filters\r\n\r\n#### keys\r\n\r\nRetrieve all the names of the **object**'s own enumerable properties.\r\n\r\n```javascript\r\n{{ {\"one\":1,\"two\":2,\"three\":3} | keys }} => [\"one\",\"two\",\"three\"]\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### allKeys\r\n\r\nRetrieve _all_ the names of **object**'s own and inherited properties.\r\n\r\n```javascript\r\n{{ {\"name\":\"Moe\"} | allKeys }} => [\"name\",\"silly\"]\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### values\r\n\r\n\r\nReturn all of the values of the **object**'s own properties.\r\n\r\n```javascript\r\n{{ {\"one\":1,\"two\":2,\"three\":3} | values }} => [1,2,3]\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### pairs\r\n\r\n\r\nConvert an object into a list of `[key, value]` pairs. The opposite of [object](#object).\r\n\r\n```javascript\r\n{{ {\"one\":1,\"two\":2,\"three\":3} | pairs }} => [[\"one\",1],[\"two\",2],[\"three\",3]]\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### invert\r\n\r\n\r\nReturns a copy of the **object** where the keys have become the values and the values the keys. For this to work, all of your object's values should be unique and string serializable.\r\n\r\n```javascript\r\n{{ {\r\n    \"Moe\": \"Moses\",\r\n    \"Larry\": \"Louis\",\r\n    \"Curly\": \"Jerome\"\r\n} | invert }} =>\r\n{\r\n    \"Moses\": \"Moe\",\r\n    \"Louis\": \"Larry\",\r\n    \"Jerome\": \"Curly\"\r\n}\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### extend\r\n\r\n\r\nShallowly copy all of the properties **in** the **source** objects over to the **destination** object, and return the **destination** object. Any nested objects or arrays will be copied by reference, not duplicated. It's in-order, so the last source will override properties of the same name in previous arguments.\r\n\r\n```javascript\r\n{{ {\"name\":\"moe\"} | extend({\"age\":50}) }} => {\"name\":\"moe\",\"age\":50}\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### pick\r\n\r\n\r\nReturn a copy of the **object**, filtered to only have values for the whitelisted **keys** (or array of valid keys). Alternatively accepts a predicate indicating which keys to pick.\r\n\r\n```javascript\r\n{{ {\"name\":\"moe\",\"age\":50,\"userid\":\"moe1\"} | pick(\"name\", \"age\") }} => {\"name\":\"moe\",\"age\":50}\r\n\r\n{{ {\"name\":\"moe\",\"age\":50,\"userid\":\"moe1\"} | pick(function (value, key, object) {\r\n  return typeof value === 'number'\r\n}) }} => {\"age\":50}\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### omit\r\n\r\n\r\nReturn a copy of the **object**, filtered to omit the blacklisted **keys** (or array of keys). Alternatively accepts a predicate indicating which keys to omit.\r\n\r\n```javascript\r\n{{ {\"name\":\"moe\",\"age\":50,\"userid\":\"moe1\"} | omit(\"userid\") }} => {\"name\":\"moe\",\"age\":50}\r\n\r\n{{ {\"name\":\"moe\",\"age\":50,\"userid\":\"moe1\"} | omit(function (value, key, object) {\r\n  return typeof value === 'number'\r\n}) }} => {\"name\":\"moe\",\"userid\":\"moe1\"}\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### defaults\r\n\r\n\r\nReturns **object** after filling in its `undefined` properties with the first value present in the following list of **defaults** objects.\r\n\r\n```javascript\r\n{{ {\"flavor\":\"chocolate\"} | defaults({\"flavor\":\"vanilla\",\"sprinkles\":\"lots\"}) }} => {\"flavor\":\"chocolate\",\"sprinkles\":\"lots\"}\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### has\r\n\r\n\r\nDoes the object contain the given key? Identical to `object.hasOwnProperty(key)`, but uses a safe reference to the `hasOwnProperty` function, in case it's been [overridden accidentally](http://www.devthought.com/2012/01/18/an-object-is-not-a-hash/).\r\n\r\n```javascript\r\n{{ {\"a\":1,\"b\":2,\"c\":3} | has(\"b\") }} => true\r\n```\r\n\r\n### Math Filters\r\n\r\n### Math method function\r\n\r\n`abs`,`acos`,`asin`,`atan`,`atan2`,`ceil`,`cos`,`exp`,`floor`,`log`,`pow`,`round`,`sin`,`sqrt`,`tan`\r\n\r\n\r\n```javascript\r\n{{ -1.2 | abs }}  => 1.2\r\n{{ 1 | acos }}  => 0\r\n{{ 1.3 | ceil }} => 2\r\n{{ 3 | pow(2) }} => 9  i.e: Math.pow(3,2)\r\n```\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### sum\r\n\r\nGet sum of all values in an array.\r\n\r\n```javascript\r\n{{ [1,2,3] | sum }} => 6\r\nyou can give an option argument as initial value\r\n{{ [1,2,3] | sum(10) }} = 16\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### mean\r\n\r\nReturn mean value of a array.\r\n\r\n```javascript\r\n{{ [1,2,3,4] | mean }} => 2.5\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### min\r\n\r\n\r\nReturns the minimum value in **list**. If an [**iteratee**](#iteratee) function is provided, it will be used on each value to generate the criterion by which the value is ranked. _Infinity_ is returned if **list** is empty, so an [isEmpty](#isEmpty) guard may be required. Non-numerical values in **list** will be ignored.\r\n\r\n```javascript\r\n{{ [10,5,100,2,1000] | min }} => 2\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### max\r\n\r\n\r\nReturns the maximum value in **list**. If an [**iteratee**](#iteratee) function is provided, it will be used on each value to generate the criterion by which the value is ranked. _-Infinity_ is returned if **list** is empty, so an [isEmpty](#isEmpty) guard may be required. Non-numerical values in **list** will be ignored.\r\n\r\n```javascript\r\n{{ [{\r\n    \"name\":\"moe\",\"age\":40\r\n},{\r\n    \"name\":\"larry\",\"age\":50\r\n},{\r\n    \"name\":\"curly\",\"age\":60\r\n}] | max(function (stooge){\r\n    return stooge.age;\r\n}) }} => {\"name\":\"curly\",\"age\":60}\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### plus\r\n\r\nAdds a number to an output.\r\n\r\n```javascript\r\n{{ 10 | plus(2) }} => 12\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### minus\r\n\r\nSubtracts a number from an output.\r\n\r\n```javascript\r\n{{ 12 | minus(2) }} => 10\r\n```\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### multiply\r\n\r\nMultiplies an output by a number.\r\n\r\n```javascript\r\n{{ 10 | multiply(2) }} => 20\r\n```\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### divide\r\n\r\nDivides an output by a number\r\n\r\n```javascript\r\n{{ 10 | divide(4) }} => 2.5\r\n```\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### mod\r\n\r\nDivides an output by a number and returns the remainder.\r\n\r\n```javascript\r\n{{ 10 | mod(3) }} => 1\r\n```\r\n\r\n#### toFixed\r\n\r\n```javascript\r\n{{ 3.1415926 | toFixed(4) }} => \"3.1415\"\r\n```\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### toPrecision\r\n\r\n```javascript\r\n{{ 3.1415926 | toPrecision(3) }} => \"3.14\"\r\n\r\n{{ 1 | toPrecision(3) }} => \"1.00\"\r\n```\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n### Other Filters\r\n\r\n#### escape\r\n\r\nEscapes a string for insertion into HTML, replacing `&`, `<`, `>`, `\"`, ```, and `'` characters.\r\n\r\n```javascript\r\n{{ \"Curly, Larry & Moe\" | escape }} => \"Curly, Larry &amp; Moe\"\r\n```\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### unescape\r\n\r\n\r\nThe opposite of [**escape**](#escape), replaces `&amp;`, `&lt;`, `&gt;`, `&quot;`, `&#96;` and `&#x27;` with their unescaped counterparts.\r\n\r\n```javascript\r\n{{ \"Curly, Larry &amp; Moe\" | unescape }} => \"Curly, Larry & Moe\"\r\n```\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### result\r\n\r\n\r\nIf the value of the named **property** is a function then invoke it with the **object** as context; otherwise, return it. If a default value is provided and the property doesn't exist or is undefined then the default will be returned. If `defaultValue` is a function its result will be returned.\r\n\r\n```javascript\r\n{{ {\"cheese\":\"crumpets\"} | result(\"cheese\") }} => \"crumpets\"\r\n\r\n{{ {\"cheese\":\"crumpets\"} | result(\"meat\", \"ham\") }} => \"ham\"\r\n```\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### date\r\n\r\nConverts a timestamp into another date format.\r\n\r\n```javascript\r\n{{ Date.now() | date('%T') }}  => current time, format like: '13:34:36'\r\n{{ 'Wed Jan 20 2016 13:34:36 GMT+0800' | date('%T') }} => '13:34:36'\r\n{{ 1453268193752 | date('%Y-%m-%d') }} => '2016-01-20'\r\n{{ new Date | date('%I:%M:%s %p') }} => '1:39:22 PM'\r\n```\r\n\r\n**More date parameters are listed below:**\r\n\r\n**Notice**: In column 3 of the table below, ｜(a special symbol) is not | (used to split data and filter), because of the syntax of markdown we can't use | inside a table.\r\n\r\n| Param | Explanation | Example |\r\n|:-----:|:-----|:-----|\r\n|%a | Abbreviated weekday. | `{{ timestamp｜date \"%a\" }} => \"Sat\" ` |\r\n|%A |Full weekday name. |`{{ timestamp｜date \"%A\" }} => \"Tuesday\" `|\r\n|%b |Abbreviated month name. |`{{ timestamp｜date \"%b\" }} => \"Jan\" `|\r\n|%B |Full month name |`{{ timestamp｜date \"%B\" }} => \"January\" `|\r\n|%c |Preferred local date and time representation |`{{ timestamp｜date \"%c\" }} => \"Tue Apr 22 11:16:09 2014\" `|\r\n|%d |Day of the month, zero-padded (01, 02, 03, etc.). |`{{ timestamp｜date \"%d\" }} => \"04\" `|\r\n|%-d |Day of the month, not zero-padded (1,2,3, etc.). |`{{ timestamp｜date \"%-d\" }} => \"4\" `|\r\n|%D |Formats the date (dd/mm/yy). |`{{ timestamp｜date \"%D\" }} => \"04/22/14\" `|\r\n|%e |Day of the month, blank-padded ( 1, 2, 3, etc.). |`{{ timestamp｜date \"%e\" }} => \"3\" `|\r\n|%F |Returns the date in ISO 8601 format (yyyy-mm-dd). |`{{ timestamp｜date \"%F\" }} => \"2014-04-22\" `|\r\n|%H |Hour of the day, 24-hour clock (00 - 23). |`{{ timestamp｜date \"%H\" }} => \"15\" `|\r\n|%I |Hour of the day, 12-hour clock (1 - 12). |`{{ timestamp｜date \"%I\" }} => \"7\" `|\r\n|%j |Day of the year (001 - 366). |`{{ timestamp｜date \"%j\" }} => \"245\" `|\r\n|%k |Hour of the day, 24-hour clock (1 - 24). |`{{ timestamp｜date \"%k\" }} => \"14\" `|\r\n|%m |Month of the year (01 - 12). |`{{ timestamp｜date \"%m\" }} => \"04\" `|\r\n|%M |Minute of the hour (00 - 59). |`{{ timestamp｜date \"%M\" }} => \"53\" `|\r\n|%p |Meridian indicator (AM/PM). |`{{ timestamp｜date \"%p\" }} => \"PM\" `|\r\n|%r |12-hour time (%I:%M:%S %p) |`{{ timestamp｜date \"%r\" }} => \"03:20:07 PM\" `|\r\n|%R |24-hour time (%H:%M) |`{{ timestamp｜date \"%R\" }} => \"15:21\" `|\r\n|%T |24-hour time (%H:%M:%S) |`{{ timestamp｜date \"%T\" }} => \"15:22:13\" `|\r\n|%U |The number of the week in the current year, starting with the first Sunday as the first day of the first week. |`{{ timestamp｜date \"%U\" }} => \"16\" `|\r\n|%W |The number of the week in the current year, starting with the first Monday as the first day of the first week. |`{{ timestamp｜date \"%W\" }} => \"16\" `|\r\n|%w |Day of the week (0 - 6, with Sunday being 0). |`{{ timestamp｜date \"%w\" }} => \"2\" `|\r\n|%x |Preferred representation for the date alone, no time. (mm/dd/yy). |`{{ timestamp｜date \"%x\" }} => \"04/22/14\" `|\r\n|%X |Preferred representation for the time. (hh:mm:ss). |`{{ timestamp｜date \"%X\" }} => \"13:17:24\" `|\r\n|%y |Year without a century (00.99). |`{{ timestamp｜date \"%y\" }} => \"14\" `|\r\n|%Y |Year with a century. |`{{ timestamp｜date \"%Y\" }} => \"2014\" `|\r\n\r\n\r\n\r\n\r\n<p align=\"right\"><small><a href=\"#filter-list\">Back Top</a></small></p>\r\n\r\n#### get\r\n\r\nGet a property inside an Object\r\n\r\n```javascript\r\nuser =  {\r\n    contact: {\r\n        tel: \"187xxxx0001\"\r\n    }\r\n}\r\n \r\n{{ user | get('contact.tel') }} => \"187xxxx0001\"\r\n```\r\n\r\n## License\r\n\r\nMIT\r\n","maintainers":[{"name":"wy-ei","email":"nameiswangyu@163.com"}],"time":{"modified":"2022-06-28T19:28:48.558Z","created":"2016-01-20T09:23:23.929Z","0.1.0":"2016-01-20T09:23:23.929Z","0.1.1":"2016-01-22T14:08:04.324Z","0.1.2":"2016-04-24T05:16:11.416Z","0.1.3":"2016-05-29T05:55:59.389Z","0.1.4":"2016-05-29T07:39:46.819Z","0.1.5":"2016-06-18T01:17:35.297Z","0.1.6":"2016-07-15T16:23:36.422Z","0.1.7":"2016-08-03T15:26:58.349Z","0.1.8":"2016-09-22T00:48:58.422Z","0.1.9":"2016-12-01T06:19:22.423Z","0.1.10":"2017-01-20T12:42:17.169Z","0.2.0":"2017-03-11T09:57:29.996Z","0.2.1":"2017-05-03T14:12:47.218Z","0.2.2":"2017-11-07T15:28:28.310Z","0.2.3":"2017-12-21T12:37:26.819Z","0.2.4":"2018-02-08T02:45:25.121Z","0.2.5":"2018-04-16T13:19:20.420Z"},"homepage":"https://github.com/wy-ei/vue-filter#readme","keywords":["vuejs","vue","filter","vue-filter"],"repository":{"type":"git","url":"git+https://github.com/wy-ei/vue-filter.git"},"author":{"name":"wy-ei"},"bugs":{"url":"https://github.com/wy-ei/vue-filter/issues"},"license":"MIT","readmeFilename":"README.md","users":{"isaacvitor":true,"ridermansb":true,"stone_breaker":true,"shay-altman":true,"cyberx11":true,"usex":true,"ckchan":true}}