{"_id":"angular-filter","_rev":"33-87656a9d9555420faea47091b027615d","name":"angular-filter","description":"Bunch of useful filters for angularJS(with no external dependencies!)","dist-tags":{"latest":"0.5.17"},"versions":{"0.4.7":{"name":"angular-filter","description":"Bunch of useful filters for angularJS(with no external dependencies!)","version":"0.4.7","filename":"angular-filter.min.js","main":"dist/angular-filter.min.js","homepage":"https://github.com/a8m/angular-filter","author":{"name":"Ariel Mashraki","email":"ariel@mashraki.co.il"},"repository":{"type":"git","url":"https://github.com/a8m/angular-filter.git"},"engines":{"node":">=0.10.0"},"keywords":["angular","client","browser","filter","lodash","underscore","collection"],"dependencies":{},"devDependencies":{"grunt":"^0.4.1","grunt-cli":">= 0.1.7","grunt-contrib-concat":"*","grunt-contrib-jshint":"*","grunt-contrib-uglify":"*","grunt-bower":"*","grunt-bower-task":"*","grunt-karma":"latest","grunt-conventional-changelog":"0.0.12","grunt-zip":"*","karma-chrome-launcher":"~0.1.2","karma-firefox-launcher":"~0.1.3","karma":"~0.12.16","karma-jasmine":"~0.1.5","karma-phantomjs-launcher":"~0.1.4","coveralls":"~2.11.1","grunt-karma-coveralls":"~2.5.1","karma-coverage":"~0.2.4","grunt-coveralls":"~0.3.0"},"scripts":{"test":"grunt test --verbose"},"license":"MIT","gitHead":"4bc476cb6c8219ef3871e148bf0634edee6b9b15","bugs":{"url":"https://github.com/a8m/angular-filter/issues"},"_id":"angular-filter@0.4.7","_shasum":"d2fabb2ad5026e2b1661248be6e4932f647a7a0b","_from":".","_npmVersion":"2.0.2","_nodeVersion":"0.10.21","_npmUser":{"name":"a8m","email":"ariel@mashraki.co.il"},"maintainers":[{"name":"a8m","email":"ariel@mashraki.co.il"}],"dist":{"shasum":"d2fabb2ad5026e2b1661248be6e4932f647a7a0b","tarball":"https://registry.npmjs.org/angular-filter/-/angular-filter-0.4.7.tgz","integrity":"sha512-CsGbyY3l4prqkjdTYCAu8Kc/Sq5tbEtNnzij6iGFbYOugcxlM1aCSoIWLr419VwBrG9ky3R742jJNQvcD5x5bQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEGVUzpp7aKIu4qW+P5LD/BDVGOCpn6Loa6pjAb9PURaAiAKE4zzccXJW5jLn32c3mmF0R1cRrKHjO+w7Dk2hfdA0g=="}]}},"0.4.8":{"name":"angular-filter","description":"Bunch of useful filters for angularJS(with no external dependencies!)","version":"0.4.8","filename":"angular-filter.min.js","main":"dist/angular-filter.min.js","homepage":"https://github.com/a8m/angular-filter","author":{"name":"Ariel Mashraki","email":"ariel@mashraki.co.il"},"repository":{"type":"git","url":"https://github.com/a8m/angular-filter.git"},"engines":{"node":">=0.10.0"},"keywords":["angular","client","browser","filter","lodash","underscore","collection"],"dependencies":{"angular":"*"},"devDependencies":{"grunt":"^0.4.1","grunt-cli":">= 0.1.7","grunt-contrib-concat":"*","grunt-contrib-jshint":"*","grunt-contrib-uglify":"*","grunt-bower":"*","grunt-bower-task":"*","grunt-karma":"latest","grunt-conventional-changelog":"0.0.12","grunt-zip":"*","karma-chrome-launcher":"~0.1.2","karma-firefox-launcher":"~0.1.3","karma":"~0.12.16","karma-jasmine":"~0.1.5","karma-phantomjs-launcher":"~0.1.4","coveralls":"~2.11.1","grunt-karma-coveralls":"~2.5.1","karma-coverage":"~0.2.4","grunt-coveralls":"~0.3.0"},"scripts":{"test":"grunt test --verbose"},"license":"MIT","gitHead":"ce662974238e8c5c1020ffe9bdb5b337c3471d8a","bugs":{"url":"https://github.com/a8m/angular-filter/issues"},"_id":"angular-filter@0.4.8","_shasum":"3c2099e1fbeea2f132a3e6826852568703c5a183","_from":".","_npmVersion":"2.0.2","_nodeVersion":"0.10.21","_npmUser":{"name":"a8m","email":"ariel@mashraki.co.il"},"maintainers":[{"name":"a8m","email":"ariel@mashraki.co.il"}],"dist":{"shasum":"3c2099e1fbeea2f132a3e6826852568703c5a183","tarball":"https://registry.npmjs.org/angular-filter/-/angular-filter-0.4.8.tgz","integrity":"sha512-Y369oavQtqv6S5xRFAcLhAPEY4eZpl4WPhMmcNh+dtzHvUWyN+gkbP0bB17ccX3fis9muVeSZjnLJiY1uJCceA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGg+9Vvv8aghh5Zs7MtPrH1uA41UmU5HWscmXnUnZNiQAiAu5XZbhrRx9++PLYKVVhvxEKQ+koJcmiDPOO5JPPyJSg=="}]}},"0.4.9":{"name":"angular-filter","description":"Bunch of useful filters for angularJS(with no external dependencies!)","version":"0.4.9","filename":"angular-filter.min.js","main":"dist/angular-filter.min.js","homepage":"https://github.com/a8m/angular-filter","author":{"name":"Ariel Mashraki","email":"ariel@mashraki.co.il"},"repository":{"type":"git","url":"https://github.com/a8m/angular-filter.git"},"engines":{"node":">=0.10.0"},"keywords":["angular","client","browser","filter","lodash","underscore","collection"],"dependencies":{"angular":"*"},"devDependencies":{"grunt":"^0.4.1","grunt-cli":">= 0.1.7","grunt-contrib-concat":"*","grunt-contrib-jshint":"*","grunt-contrib-uglify":"*","grunt-bower":"*","grunt-bower-task":"*","grunt-karma":"latest","grunt-conventional-changelog":"0.0.12","grunt-zip":"*","karma-chrome-launcher":"~0.1.2","karma-firefox-launcher":"~0.1.3","karma":"~0.12.16","karma-jasmine":"~0.1.5","karma-phantomjs-launcher":"~0.1.4","coveralls":"~2.11.1","grunt-karma-coveralls":"~2.5.1","karma-coverage":"~0.2.4","grunt-coveralls":"~0.3.0"},"scripts":{"test":"grunt test --verbose"},"license":"MIT","gitHead":"4cecedde512ef6f56493d4d216c34cb4ff620637","bugs":{"url":"https://github.com/a8m/angular-filter/issues"},"_id":"angular-filter@0.4.9","_shasum":"1e36c2c08f50fa2ca938f1e72ba3ea3bdaf8cbb4","_from":".","_npmVersion":"2.0.2","_nodeVersion":"0.10.21","_npmUser":{"name":"a8m","email":"ariel@mashraki.co.il"},"maintainers":[{"name":"a8m","email":"ariel@mashraki.co.il"}],"dist":{"shasum":"1e36c2c08f50fa2ca938f1e72ba3ea3bdaf8cbb4","tarball":"https://registry.npmjs.org/angular-filter/-/angular-filter-0.4.9.tgz","integrity":"sha512-wHcD54s5HfXYWUfaZ3AimeSQnrsg38KclkkveAmZTfs5/5JCsyqPVv3K5tJKbjtgZofk2TTa74aqs/Vgr0jryg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEEQ0cvYMyiCECO2GbpVqaanIV+aqqEPwacV/cfVQuNKAiAoa8Wl8xhaN+52PPOpeubzoKUfgD3lErr1P3E5km7psw=="}]}},"0.5.0":{"name":"angular-filter","description":"Bunch of useful filters for angularJS(with no external dependencies!)","version":"0.5.0","filename":"angular-filter.min.js","main":"dist/angular-filter.min.js","homepage":"https://github.com/a8m/angular-filter","author":{"name":"Ariel Mashraki","email":"ariel@mashraki.co.il"},"repository":{"type":"git","url":"https://github.com/a8m/angular-filter.git"},"engines":{"node":">=0.10.0"},"keywords":["angular","client","browser","filter","lodash","underscore","collection"],"dependencies":{"angular":"*"},"devDependencies":{"grunt":"^0.4.1","grunt-cli":">= 0.1.7","grunt-contrib-concat":"*","grunt-contrib-jshint":"*","grunt-contrib-uglify":"*","grunt-bower":"*","grunt-bower-task":"*","grunt-karma":"latest","grunt-conventional-changelog":"0.0.12","grunt-zip":"*","karma-chrome-launcher":"~0.1.2","karma-firefox-launcher":"~0.1.3","karma":"~0.12.16","karma-jasmine":"~0.1.5","karma-phantomjs-launcher":"~0.1.4","coveralls":"~2.11.1","grunt-karma-coveralls":"~2.5.1","karma-coverage":"~0.2.4","grunt-coveralls":"~0.3.0"},"scripts":{"test":"grunt test --verbose"},"license":"MIT","gitHead":"ec8702470a3badf226bddd740570f5eced5013e1","bugs":{"url":"https://github.com/a8m/angular-filter/issues"},"_id":"angular-filter@0.5.0","_shasum":"1db1798df5d3d028ef3602f124a0993b892defe5","_from":".","_npmVersion":"2.0.2","_nodeVersion":"0.10.21","_npmUser":{"name":"a8m","email":"ariel@mashraki.co.il"},"maintainers":[{"name":"a8m","email":"ariel@mashraki.co.il"}],"dist":{"shasum":"1db1798df5d3d028ef3602f124a0993b892defe5","tarball":"https://registry.npmjs.org/angular-filter/-/angular-filter-0.5.0.tgz","integrity":"sha512-2xWhUVVn4jNUutRWOzmjnixYakai/CjP5QjOE8u9eEMqVgZLc6ewt8SBUPZ3WGQS37U5MzF/7eShDU5nBAODxw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBCuUH/ZPlbx4FG6ftEpsUCHaiaV43KuK4VQEO9GGBrOAiBH7xSBGuqqx2iyri0SAiEzm/FTTJyhHzWe306W9sfzUw=="}]}},"0.5.1":{"name":"angular-filter","description":"Bunch of useful filters for angularJS(with no external dependencies!)","version":"0.5.1","filename":"angular-filter.min.js","main":"dist/angular-filter.min.js","homepage":"https://github.com/a8m/angular-filter","author":{"name":"Ariel Mashraki","email":"ariel@mashraki.co.il"},"repository":{"type":"git","url":"https://github.com/a8m/angular-filter.git"},"engines":{"node":">=0.10.0"},"keywords":["angular","client","browser","filter","lodash","underscore","collection"],"dependencies":{"angular":"*"},"devDependencies":{"grunt":"^0.4.1","grunt-cli":">= 0.1.7","grunt-contrib-concat":"*","grunt-contrib-jshint":"*","grunt-contrib-uglify":"*","grunt-bower":"*","grunt-bower-task":"*","grunt-karma":"latest","grunt-conventional-changelog":"0.0.12","grunt-zip":"*","karma-chrome-launcher":"~0.1.2","karma-firefox-launcher":"~0.1.3","karma":"~0.12.16","karma-jasmine":"~0.1.5","karma-phantomjs-launcher":"~0.1.4","coveralls":"~2.11.1","grunt-karma-coveralls":"~2.5.1","karma-coverage":"~0.2.4","grunt-coveralls":"~0.3.0"},"scripts":{"test":"grunt test --verbose"},"license":"MIT","gitHead":"932c53b9bb8de391e3f3006622cb68737446d851","bugs":{"url":"https://github.com/a8m/angular-filter/issues"},"_id":"angular-filter@0.5.1","_shasum":"a4878875901a41a67c7155fc435136b25eefd414","_from":".","_npmVersion":"2.0.2","_nodeVersion":"0.10.21","_npmUser":{"name":"a8m","email":"ariel@mashraki.co.il"},"maintainers":[{"name":"a8m","email":"ariel@mashraki.co.il"}],"dist":{"shasum":"a4878875901a41a67c7155fc435136b25eefd414","tarball":"https://registry.npmjs.org/angular-filter/-/angular-filter-0.5.1.tgz","integrity":"sha512-n7/GxiOWK76BzXIw/ouSXZWL3uP38wnUGUlbkh+Pl1V31CVA6VjYsy3UBLVT+fjcmlZMzarxaP+BPbzSoEspOA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE8NYiD+UkteDlLFh7wqISo6JnFmM1BDba9f0/1qd3CfAiEA/SvlqulUfV1c29nH7XquGLN7h+mUDEHLxxOwKAWnYWY="}]}},"0.5.2":{"name":"angular-filter","description":"Bunch of useful filters for angularJS(with no external dependencies!)","version":"0.5.2","filename":"angular-filter.min.js","main":"dist/angular-filter.min.js","homepage":"https://github.com/a8m/angular-filter","author":{"name":"Ariel Mashraki","email":"ariel@mashraki.co.il"},"repository":{"type":"git","url":"https://github.com/a8m/angular-filter.git"},"engines":{"node":">=0.10.0"},"keywords":["angular","client","browser","filter","lodash","underscore","collection"],"dependencies":{"angular":"*"},"devDependencies":{"grunt":"^0.4.1","grunt-cli":">= 0.1.7","grunt-contrib-concat":"*","grunt-contrib-jshint":"*","grunt-contrib-uglify":"*","grunt-bower":"*","grunt-bower-task":"*","grunt-karma":"latest","grunt-conventional-changelog":"0.0.12","grunt-zip":"*","karma-chrome-launcher":"~0.1.2","karma-firefox-launcher":"~0.1.3","karma":"~0.12.16","karma-jasmine":"~0.1.5","karma-phantomjs-launcher":"~0.1.4","coveralls":"~2.11.1","grunt-karma-coveralls":"~2.5.1","karma-coverage":"~0.2.4","grunt-coveralls":"~0.3.0"},"scripts":{"test":"grunt test --verbose"},"license":"MIT","gitHead":"21f78a1b952fb060e1be306b8ab65c18df9e7bab","bugs":{"url":"https://github.com/a8m/angular-filter/issues"},"_id":"angular-filter@0.5.2","_shasum":"8f5cbc30327003a47099ba981483a896d6f4f347","_from":".","_npmVersion":"2.0.2","_nodeVersion":"0.10.21","_npmUser":{"name":"a8m","email":"ariel@mashraki.co.il"},"maintainers":[{"name":"a8m","email":"ariel@mashraki.co.il"}],"dist":{"shasum":"8f5cbc30327003a47099ba981483a896d6f4f347","tarball":"https://registry.npmjs.org/angular-filter/-/angular-filter-0.5.2.tgz","integrity":"sha512-Yrta3v9Vz8i3Rxj33LIkvuR3pBhJi3U4heRcVWAK/xXEWbgjMa089s6/AmyCCNYpghvBCvZVDa/tnd5KTPWA3g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDsA443Zw8Vu3YKcNZ5pfZuSjdKkTLtcQf0E3tcONXVOgIhANe/6w8rTgxEEf+TBhdXzjzSQGPXFlla+hgPcNdpE2yz"}]}},"0.5.3":{"name":"angular-filter","description":"Bunch of useful filters for angularJS(with no external dependencies!)","version":"0.5.3","filename":"angular-filter.min.js","main":"dist/angular-filter.min.js","homepage":"https://github.com/a8m/angular-filter","author":{"name":"Ariel Mashraki","email":"ariel@mashraki.co.il"},"repository":{"type":"git","url":"https://github.com/a8m/angular-filter.git"},"engines":{"node":">=0.10.0"},"keywords":["angular","client","browser","filter","lodash","underscore","collection"],"dependencies":{"angular":"*"},"devDependencies":{"grunt":"^0.4.1","grunt-cli":">= 0.1.7","grunt-contrib-concat":"*","grunt-contrib-jshint":"*","grunt-contrib-uglify":"*","grunt-bower":"*","grunt-bower-task":"*","grunt-karma":"latest","grunt-conventional-changelog":"0.0.12","grunt-zip":"*","karma-chrome-launcher":"~0.1.2","karma-firefox-launcher":"~0.1.3","karma":"~0.12.16","karma-jasmine":"~0.1.5","karma-phantomjs-launcher":"~0.1.4","coveralls":"~2.11.1","grunt-karma-coveralls":"~2.5.1","karma-coverage":"~0.2.4","grunt-coveralls":"~0.3.0"},"scripts":{"test":"grunt test --verbose"},"license":"MIT","gitHead":"e3c0050da8af623de846ab27e610653be6f9b216","bugs":{"url":"https://github.com/a8m/angular-filter/issues"},"_id":"angular-filter@0.5.3","_shasum":"4d118c502ee626d376eb5c34ea556e3783b4963e","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"a8m","email":"ariel@mashraki.co.il"},"maintainers":[{"name":"a8m","email":"ariel@mashraki.co.il"}],"dist":{"shasum":"4d118c502ee626d376eb5c34ea556e3783b4963e","tarball":"https://registry.npmjs.org/angular-filter/-/angular-filter-0.5.3.tgz","integrity":"sha512-X5+drmChwOZysGFD1CYCxLUh1byXaIoFGxMEvE2K/pnUGSKn1YYfvPwmwL89AapOPGjsCyyGlTNriDbmLqc4xA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB+7kiiAXAin5ayF2sL68Ez6Qsz5I0gD90Wm8439l2VyAiEA2Moakh6Mo6Ush7VUlSdeqshqFjemu4XPzQOvB+C1QyY="}]}},"0.5.4":{"name":"angular-filter","description":"Bunch of useful filters for angularJS(with no external dependencies!)","version":"0.5.4","filename":"angular-filter.min.js","main":"dist/angular-filter.min.js","homepage":"https://github.com/a8m/angular-filter","author":{"name":"Ariel Mashraki","email":"ariel@mashraki.co.il"},"repository":{"type":"git","url":"https://github.com/a8m/angular-filter.git"},"engines":{"node":">=0.10.0"},"keywords":["angular","client","browser","filter","lodash","underscore","collection"],"dependencies":{"angular":"*"},"devDependencies":{"grunt":"^0.4.1","grunt-cli":">= 0.1.7","grunt-contrib-concat":"*","grunt-contrib-jshint":"*","grunt-contrib-uglify":"*","grunt-bower":"*","grunt-bower-task":"*","grunt-karma":"latest","grunt-conventional-changelog":"0.0.12","grunt-zip":"*","karma-chrome-launcher":"~0.1.2","karma-firefox-launcher":"~0.1.3","karma":"~0.12.16","karma-jasmine":"~0.1.5","karma-phantomjs-launcher":"~0.1.4","coveralls":"~2.11.1","grunt-karma-coveralls":"~2.5.1","karma-coverage":"~0.2.4","grunt-coveralls":"~0.3.0"},"scripts":{"test":"grunt test --verbose"},"license":"MIT","gitHead":"13c430b3df656e3d0a3a78953d63bbce93f0ffe9","bugs":{"url":"https://github.com/a8m/angular-filter/issues"},"_id":"angular-filter@0.5.4","_shasum":"d868502667dfb9279b0ef7baabd6dec47d6bcd87","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"a8m","email":"ariel@mashraki.co.il"},"maintainers":[{"name":"a8m","email":"ariel@mashraki.co.il"}],"dist":{"shasum":"d868502667dfb9279b0ef7baabd6dec47d6bcd87","tarball":"https://registry.npmjs.org/angular-filter/-/angular-filter-0.5.4.tgz","integrity":"sha512-ZhHZpNxuA2i8hcJ7j3h6atph/Qr7WmHzJoE75L9PhxRat/yoVoJ+wehuQkzTF+yH3KgvAvCNUdit/N4hpT+QTQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWTLz85kDP3k2knptaMZP3tflk7wJV1A+n3b+Ut59E9gIhAMRSYhmJt9RsP6z9NEDNgKTWWNS8+1BEBBd4E1+jFSRK"}]}},"0.5.5":{"name":"angular-filter","description":"Bunch of useful filters for angularJS(with no external dependencies!)","version":"0.5.5","filename":"angular-filter.min.js","main":"dist/angular-filter.min.js","homepage":"https://github.com/a8m/angular-filter","author":{"name":"Ariel Mashraki","email":"ariel@mashraki.co.il"},"repository":{"type":"git","url":"https://github.com/a8m/angular-filter.git"},"engines":{"node":">=0.10.0"},"keywords":["angular","client","browser","filter","lodash","underscore","collection"],"dependencies":{"angular":"*"},"devDependencies":{"coveralls":"~2.11.1","grunt":"^0.4.1","grunt-bower":"*","grunt-bower-task":"*","grunt-cli":">= 0.1.7","grunt-contrib-concat":"*","grunt-contrib-jshint":"*","grunt-contrib-uglify":"*","grunt-conventional-changelog":"0.0.12","grunt-coveralls":"~0.3.0","grunt-karma":"^0.12.0","grunt-karma-coveralls":"~2.5.1","grunt-zip":"*","karma":"^0.13.8","karma-chrome-launcher":"~0.1.2","karma-coverage":"~0.2.4","karma-firefox-launcher":"~0.1.3","karma-jasmine":"~0.1.5","karma-phantomjs-launcher":"~0.1.4"},"scripts":{"test":"grunt test --verbose"},"license":"MIT","gitHead":"69ee1ebe3bfb94cb5168e6a9531bc3e6e7bdce66","bugs":{"url":"https://github.com/a8m/angular-filter/issues"},"_id":"angular-filter@0.5.5","_shasum":"85cdfb496f31fdded74449d24542e3876058f3a9","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"a8m","email":"ariel@mashraki.co.il"},"maintainers":[{"name":"a8m","email":"ariel@mashraki.co.il"}],"dist":{"shasum":"85cdfb496f31fdded74449d24542e3876058f3a9","tarball":"https://registry.npmjs.org/angular-filter/-/angular-filter-0.5.5.tgz","integrity":"sha512-Jhh3P0QDdNd0EGRZq2Q6WhpWTzMR5soa/ww85fjac5AjBhGsFvHRnXW7jxI+L0cZQ4MQi1LihaLnngCdRWY/uQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDLk9V41g0clkZjWqX/KenZCxGNdEpeOCUp+IJsn83qnAiEAvH4ll/cORDIOoL4fsHi3KzrXxq+Ds0hJZsRGcRwgC5M="}]}},"0.5.6":{"name":"angular-filter","description":"Bunch of useful filters for angularJS(with no external dependencies!)","version":"0.5.6","filename":"angular-filter.min.js","main":"dist/angular-filter.min.js","homepage":"https://github.com/a8m/angular-filter","author":{"name":"Ariel Mashraki","email":"ariel@mashraki.co.il"},"repository":{"type":"git","url":"https://github.com/a8m/angular-filter.git"},"engines":{"node":">=0.10.0"},"keywords":["angular","client","browser","filter","lodash","underscore","collection"],"dependencies":{"angular":"*"},"devDependencies":{"coveralls":"~2.11.1","grunt":"^0.4.1","grunt-bower":"*","grunt-bower-task":"*","grunt-cli":">= 0.1.7","grunt-contrib-concat":"*","grunt-contrib-jshint":"*","grunt-contrib-uglify":"*","grunt-conventional-changelog":"0.0.12","grunt-coveralls":"~0.3.0","grunt-karma":"^0.12.0","grunt-karma-coveralls":"~2.5.1","grunt-zip":"*","karma":"^0.13.8","karma-chrome-launcher":"~0.1.2","karma-coverage":"~0.2.4","karma-firefox-launcher":"~0.1.3","karma-jasmine":"~0.1.5","karma-phantomjs-launcher":"~0.1.4"},"scripts":{"test":"grunt test --verbose"},"license":"MIT","gitHead":"c9047f22cfdd9f22c5a3bc3570e23951abec0e15","bugs":{"url":"https://github.com/a8m/angular-filter/issues"},"_id":"angular-filter@0.5.6","_shasum":"e07352e00e76a243b2ba0c2fb252611958b55950","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"a8m","email":"ariel@mashraki.co.il"},"maintainers":[{"name":"a8m","email":"ariel@mashraki.co.il"}],"dist":{"shasum":"e07352e00e76a243b2ba0c2fb252611958b55950","tarball":"https://registry.npmjs.org/angular-filter/-/angular-filter-0.5.6.tgz","integrity":"sha512-ATsAhWtbnwDiAtZc1iQabBKfgkYxiLY75LvbQx9OD5dMwJTjdnsZiYcuFslGut1CEPIwPtaMb9dUIB7iWLLnqQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/0Ei+QSFUTXAHS/z8C9tMicahwSNDPEyNqQ0UHFKFhAIgIK52uFlrWbEnExW9YgkoxhXPVhADj2k9S23UIImMPb8="}]}},"0.5.7":{"name":"angular-filter","description":"Bunch of useful filters for angularJS(with no external dependencies!)","version":"0.5.7","filename":"angular-filter.min.js","main":"dist/angular-filter.min.js","homepage":"https://github.com/a8m/angular-filter","author":{"name":"Ariel Mashraki","email":"ariel@mashraki.co.il"},"repository":{"type":"git","url":"https://github.com/a8m/angular-filter.git"},"engines":{"node":">=0.10.0"},"keywords":["angular","client","browser","filter","lodash","underscore","collection"],"dependencies":{"angular":"*"},"devDependencies":{"coveralls":"~2.11.1","grunt":"^0.4.1","grunt-bower":"*","grunt-bower-task":"*","grunt-cli":">= 0.1.7","grunt-contrib-concat":"*","grunt-contrib-jshint":"*","grunt-contrib-uglify":"*","grunt-conventional-changelog":"0.0.12","grunt-coveralls":"~0.3.0","grunt-karma":"^0.12.0","grunt-karma-coveralls":"~2.5.1","grunt-zip":"*","karma":"^0.13.8","karma-chrome-launcher":"~0.1.2","karma-coverage":"~0.2.4","karma-firefox-launcher":"~0.1.3","karma-jasmine":"~0.1.5","karma-phantomjs-launcher":"~0.1.4"},"scripts":{"test":"grunt test --verbose"},"license":"MIT","gitHead":"928c07cad1e66562ecadccfef4efd3de536d31a1","bugs":{"url":"https://github.com/a8m/angular-filter/issues"},"_id":"angular-filter@0.5.7","_shasum":"eb6e89cfa8b19b917d755de80530030e7668d349","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"a8m","email":"ariel@mashraki.co.il"},"maintainers":[{"name":"a8m","email":"ariel@mashraki.co.il"}],"dist":{"shasum":"eb6e89cfa8b19b917d755de80530030e7668d349","tarball":"https://registry.npmjs.org/angular-filter/-/angular-filter-0.5.7.tgz","integrity":"sha512-Eett2z6gpVjdervE8vbnifAGBj3ACAmZrtouC9LAiygvJDGV4GgCMElt3+EoOz7Re6WPJIstjh03b4uJe+CiYQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD0LFIZYkG7kwifCm/9RUi0xtGAPZBqhtaPkAnI1cQt4wIhAPImQDl5rFqjERPXrMH8azNv0zHyOBgE1hvvLxlsPgbp"}]}},"0.5.8":{"name":"angular-filter","description":"Bunch of useful filters for angularJS(with no external dependencies!)","version":"0.5.8","filename":"angular-filter.min.js","main":"dist/angular-filter.min.js","homepage":"https://github.com/a8m/angular-filter","author":{"name":"Ariel Mashraki","email":"ariel@mashraki.co.il"},"repository":{"type":"git","url":"https://github.com/a8m/angular-filter.git"},"engines":{"node":">=0.10.0"},"keywords":["angular","client","browser","filter","lodash","underscore","collection"],"dependencies":{"angular":"*"},"devDependencies":{"coveralls":"~2.11.1","grunt":"^0.4.1","grunt-bower":"*","grunt-bower-task":"*","grunt-cli":">= 0.1.7","grunt-contrib-concat":"*","grunt-contrib-jshint":"*","grunt-contrib-uglify":"*","grunt-conventional-changelog":"0.0.12","grunt-coveralls":"~0.3.0","grunt-karma":"^0.12.0","grunt-karma-coveralls":"~2.5.1","grunt-zip":"*","karma":"^0.13.8","karma-chrome-launcher":"~0.1.2","karma-coverage":"~0.2.4","karma-firefox-launcher":"~0.1.3","karma-jasmine":"~0.1.5","karma-phantomjs-launcher":"~0.1.4"},"scripts":{"test":"grunt test --verbose"},"license":"MIT","gitHead":"eadb09d9fd168f67d4b2129771f64b8202ff8e30","bugs":{"url":"https://github.com/a8m/angular-filter/issues"},"_id":"angular-filter@0.5.8","_shasum":"54b1c7af7a92fa9b8d38bf804f4505e800496d0b","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"a8m","email":"ariel@mashraki.co.il"},"maintainers":[{"name":"a8m","email":"ariel@mashraki.co.il"}],"dist":{"shasum":"54b1c7af7a92fa9b8d38bf804f4505e800496d0b","tarball":"https://registry.npmjs.org/angular-filter/-/angular-filter-0.5.8.tgz","integrity":"sha512-vsclrsVYRkDpcJm8rLvjf9ufFa8ZAw9eGqflaBIxmxlroOA/nDkVqXbV7eh2NIFQtrGRmVGHbNdHdfzEEIA6Jg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGeiUx2OtLvvoF1fezPi8uay8aWQATAGGQ6Y7QyX/rmBAiAmcwMflrnxh5PnDeboItH0/Bs4JUPez7+vHhB6o54twA=="}]}},"0.5.9":{"name":"angular-filter","description":"Bunch of useful filters for angularJS(with no external dependencies!)","version":"0.5.9","filename":"angular-filter.min.js","main":"dist/angular-filter.min.js","homepage":"https://github.com/a8m/angular-filter","author":{"name":"Ariel Mashraki","email":"ariel@mashraki.co.il"},"repository":{"type":"git","url":"git+https://github.com/a8m/angular-filter.git"},"engines":{"node":">=0.10.0"},"keywords":["angular","client","browser","filter","lodash","underscore","collection"],"dependencies":{"angular":"*"},"devDependencies":{"coveralls":"^2.11.11","grunt":"^0.4.5","grunt-bower":"^0.21.2","grunt-bower-task":"*","grunt-cli":">= 0.1.7","grunt-contrib-concat":"*","grunt-contrib-jshint":"*","grunt-contrib-uglify":"*","grunt-conventional-changelog":"0.0.12","grunt-coveralls":"~0.3.0","grunt-karma":"^0.12.0","grunt-karma-coveralls":"~2.5.1","grunt-zip":"*","karma":"^0.13.22","karma-chrome-launcher":"~0.1.2","karma-coverage":"^0.2.7","karma-firefox-launcher":"~0.1.3","karma-jasmine":"^0.1.6","karma-phantomjs-launcher":"^0.1.4","phantomjs":"^2.1.7"},"scripts":{"test":"grunt test --verbose"},"license":"MIT","gitHead":"f46dff8e8c5d889e8972cd3d25332a3ea5f2dbfa","bugs":{"url":"https://github.com/a8m/angular-filter/issues"},"_id":"angular-filter@0.5.9","_shasum":"fa8b9719a74860deae2bcc63ea852ece5407d3cb","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"a8m","email":"ariel@mashraki.co.il"},"maintainers":[{"name":"a8m","email":"ariel@mashraki.co.il"}],"dist":{"shasum":"fa8b9719a74860deae2bcc63ea852ece5407d3cb","tarball":"https://registry.npmjs.org/angular-filter/-/angular-filter-0.5.9.tgz","integrity":"sha512-2u9JHh0zQD37YQGmNy43TDTxO03N838GJWssfUxhiGqNxg6ut4uo3K5VyoQJO+sHeK/BQ/Vx3fDO8FztkHds6Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFPzkGcQ/a+DxwTyHZhl5y9ADwqD9XU+dTlbqczJOn8fAiEA2LkO61O6wkfjvGjl3be4f/EXT7mEzRGmjyjIPwxP62k="}]},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/angular-filter-0.5.9.tgz_1468582664511_0.7562769365031272"}},"0.5.10":{"name":"angular-filter","description":"Bunch of useful filters for angularJS(with no external dependencies!)","version":"0.5.10","filename":"angular-filter.min.js","main":"index.js","homepage":"https://github.com/a8m/angular-filter","author":{"name":"Ariel Mashraki","email":"ariel@mashraki.co.il"},"repository":{"type":"git","url":"git+https://github.com/a8m/angular-filter.git"},"engines":{"node":">=0.10.0"},"keywords":["angular","client","browser","filter","lodash","underscore","collection"],"dependencies":{"angular":"*"},"devDependencies":{"coveralls":"^2.11.11","grunt":"^0.4.5","grunt-bower":"^0.21.2","grunt-bower-task":"*","grunt-cli":">= 0.1.7","grunt-contrib-concat":"*","grunt-contrib-jshint":"*","grunt-contrib-uglify":"*","grunt-conventional-changelog":"0.0.12","grunt-coveralls":"~0.3.0","grunt-karma":"^0.12.0","grunt-karma-coveralls":"~2.5.1","grunt-zip":"*","karma":"^0.13.22","karma-chrome-launcher":"~0.1.2","karma-coverage":"^0.2.7","karma-firefox-launcher":"~0.1.3","karma-jasmine":"^0.1.6","karma-phantomjs-launcher":"^0.1.4","phantomjs":"^2.1.7"},"scripts":{"test":"grunt test --verbose"},"license":"MIT","gitHead":"ebed8e341ffa1225fd82ffea4c1246bdcffaa142","bugs":{"url":"https://github.com/a8m/angular-filter/issues"},"_id":"angular-filter@0.5.10","_shasum":"922b6559e8aeb57d2384e04acaf35855e858f736","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"a8m","email":"ariel@mashraki.co.il"},"maintainers":[{"name":"a8m","email":"ariel@mashraki.co.il"}],"dist":{"shasum":"922b6559e8aeb57d2384e04acaf35855e858f736","tarball":"https://registry.npmjs.org/angular-filter/-/angular-filter-0.5.10.tgz","integrity":"sha512-XDG0I6WTVlle80oNWO4Umx8eAWfyHJ2Rvr4a2GUFgmGgFhq03qUC9VUP0iEV8A7uX00a9XvPP3nzpsJiYlaNMw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEKaNsntkrzlEMi0Qe7uCnBHPuMLQ/UAXAN5VcA0Y90wAiBMF/4iMsNT6I0ufFcDxk1nyteRuJza7u2vP5NWWc04jA=="}]},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/angular-filter-0.5.10.tgz_1471350781159_0.7978675968479365"}},"0.5.11":{"name":"angular-filter","description":"Bunch of useful filters for angularJS(with no external dependencies!)","version":"0.5.11","filename":"angular-filter.min.js","main":"index.js","homepage":"https://github.com/a8m/angular-filter","author":{"name":"Ariel Mashraki","email":"ariel@mashraki.co.il"},"repository":{"type":"git","url":"git+https://github.com/a8m/angular-filter.git"},"engines":{"node":">=0.10.0"},"keywords":["angular","client","browser","filter","lodash","underscore","collection"],"dependencies":{"angular":"*"},"devDependencies":{"coveralls":"^2.11.11","grunt":"^0.4.5","grunt-bower":"^0.21.2","grunt-bower-task":"*","grunt-cli":">= 0.1.7","grunt-contrib-concat":"*","grunt-contrib-jshint":"*","grunt-contrib-uglify":"*","grunt-conventional-changelog":"0.0.12","grunt-coveralls":"~0.3.0","grunt-karma":"^0.12.0","grunt-karma-coveralls":"~2.5.1","grunt-zip":"*","karma":"^0.13.22","karma-chrome-launcher":"~0.1.2","karma-coverage":"^0.2.7","karma-firefox-launcher":"~0.1.3","karma-jasmine":"^0.1.6","karma-phantomjs-launcher":"^0.1.4","phantomjs":"^2.1.7"},"scripts":{"test":"grunt test --verbose"},"license":"MIT","gitHead":"caa72f46101d864b5ac131cad4801290b89102e4","bugs":{"url":"https://github.com/a8m/angular-filter/issues"},"_id":"angular-filter@0.5.11","_shasum":"e433a156ab1ed8ae4d8f208799ca617ec1b5a18f","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"a8m","email":"ariel@mashraki.co.il"},"maintainers":[{"name":"a8m","email":"ariel@mashraki.co.il"}],"dist":{"shasum":"e433a156ab1ed8ae4d8f208799ca617ec1b5a18f","tarball":"https://registry.npmjs.org/angular-filter/-/angular-filter-0.5.11.tgz","integrity":"sha512-+rqsXGgmLSJJDk1nab6nQF9KY0aH7TRJJCqYLqfdkwQMwJM4lVn0olfCgj9i35GENymcSja0PUYA7ULq6MnFRw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCOE/UQPPHfX/XfOxWNzIxpNePJNK+uW78lder0nF0uagIhAIMOoEoPOZrQ524stxlI0VIh7rrDiwKv2P4pidm7H0pF"}]},"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/angular-filter-0.5.11.tgz_1471355148321_0.46209581289440393"}},"0.5.12":{"name":"angular-filter","description":"Bunch of useful filters for angularJS(with no external dependencies!)","version":"0.5.12","filename":"angular-filter.min.js","main":"index.js","files":["dist/*.js","src"],"homepage":"https://github.com/a8m/angular-filter","author":{"name":"Ariel Mashraki","email":"ariel@mashraki.co.il"},"repository":{"type":"git","url":"git+https://github.com/a8m/angular-filter.git"},"engines":{"node":">=0.10.0"},"keywords":["angular","client","browser","filter","lodash","underscore","collection"],"dependencies":{"angular":"*"},"devDependencies":{"coveralls":"^2.11.11","grunt":"^0.4.5","grunt-bower":"^0.21.2","grunt-bower-task":"*","grunt-cli":">= 0.1.7","grunt-contrib-concat":"*","grunt-contrib-jshint":"*","grunt-contrib-uglify":"*","grunt-conventional-changelog":"0.0.12","grunt-coveralls":"~0.3.0","grunt-karma":"^0.12.0","grunt-karma-coveralls":"~2.5.1","grunt-zip":"*","karma":"^0.13.22","karma-chrome-launcher":"~0.1.2","karma-coverage":"^0.2.7","karma-firefox-launcher":"~0.1.3","karma-jasmine":"^0.1.6","karma-phantomjs-launcher":"^0.1.4","phantomjs":"^2.1.7"},"scripts":{"test":"grunt test --verbose"},"license":"MIT","gitHead":"73174e79b32cd72db008982b588476b0b0c744d5","bugs":{"url":"https://github.com/a8m/angular-filter/issues"},"_id":"angular-filter@0.5.12","_shasum":"5f35536c50c99583c44b7611abe889514355a630","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"a8m","email":"ariel@mashraki.co.il"},"maintainers":[{"name":"a8m","email":"ariel@mashraki.co.il"}],"dist":{"shasum":"5f35536c50c99583c44b7611abe889514355a630","tarball":"https://registry.npmjs.org/angular-filter/-/angular-filter-0.5.12.tgz","integrity":"sha512-li2nhYPpHgABUKVcIAoiLT2tmFYYKCSX6bSpfv03fyudVkrKEbGi7PFbjPgb+jNRaraIE1LnElyAkGWJBzfi8A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDrrVjb2U1M1pg7+M/GHpEXFUBK+2QzqfUpA6xX4hTRigIhAP2dNKdXvHVE4cS75pd+HIZN2m22wyUWbVRptr7JkOeQ"}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/angular-filter-0.5.12.tgz_1480766263808_0.3411215643864125"}},"0.5.13":{"name":"angular-filter","description":"Bunch of useful filters for angularJS(with no external dependencies!)","version":"0.5.13","filename":"angular-filter.min.js","main":"index.js","files":["dist/*.js","src"],"homepage":"https://github.com/a8m/angular-filter","author":{"name":"Ariel Mashraki","email":"ariel@mashraki.co.il"},"repository":{"type":"git","url":"git+https://github.com/a8m/angular-filter.git"},"engines":{"node":">=0.10.0"},"keywords":["angular","client","browser","filter","lodash","underscore","collection"],"dependencies":{"angular":"*"},"devDependencies":{"coveralls":"^2.11.11","grunt":"^0.4.5","grunt-bower":"^0.21.2","grunt-bower-task":"*","grunt-cli":">= 0.1.7","grunt-contrib-concat":"*","grunt-contrib-jshint":"*","grunt-contrib-uglify":"*","grunt-conventional-changelog":"0.0.12","grunt-coveralls":"~0.3.0","grunt-karma":"^0.12.0","grunt-karma-coveralls":"~2.5.1","grunt-zip":"*","karma":"^0.13.22","karma-chrome-launcher":"~0.1.2","karma-coverage":"^0.2.7","karma-firefox-launcher":"~0.1.3","karma-jasmine":"^0.1.6","karma-phantomjs-launcher":"1.0.0","phantomjs":"^2.1.7","phantomjs-prebuilt":"^2.1.13"},"scripts":{"test":"grunt test --verbose"},"license":"MIT","gitHead":"7c98fa52850b093c4d94326f828e99c93b48bb5c","bugs":{"url":"https://github.com/a8m/angular-filter/issues"},"_id":"angular-filter@0.5.13","_shasum":"f57110d050a3575480afd36693d2dc9d50b0dda2","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"a8m","email":"ariel@mashraki.co.il"},"maintainers":[{"name":"a8m","email":"ariel@mashraki.co.il"}],"dist":{"shasum":"f57110d050a3575480afd36693d2dc9d50b0dda2","tarball":"https://registry.npmjs.org/angular-filter/-/angular-filter-0.5.13.tgz","integrity":"sha512-zLmwV1BoVLcVCd8maHCz+T1Pa3or2ximIhSUvpTE5viIqaGegIHEIeJhvQFgdHX4yFNnthHVDrxn3nxiGFlnJA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAObjFhOxQNkxIKFOmrE4tJ4jPdZnI7cp9jT9ivk298VAiBNLW7OXtfESaKjTa48xz/bL2n/ZCKseBijVg6FcT8ZwQ=="}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/angular-filter-0.5.13.tgz_1481050002284_0.5112899045925587"}},"0.5.14":{"name":"angular-filter","description":"Bunch of useful filters for angularJS(with no external dependencies!)","version":"0.5.14","filename":"angular-filter.min.js","main":"index.js","files":["dist/*.js","src"],"homepage":"https://github.com/a8m/angular-filter","author":{"name":"Ariel Mashraki","email":"ariel@mashraki.co.il"},"repository":{"type":"git","url":"git+https://github.com/a8m/angular-filter.git"},"engines":{"node":">=0.10.0"},"keywords":["angular","client","browser","filter","lodash","underscore","collection"],"dependencies":{"angular":"*"},"devDependencies":{"coveralls":"^2.11.11","grunt":"^0.4.5","grunt-bower":"^0.21.2","grunt-bower-task":"*","grunt-cli":">= 0.1.7","grunt-contrib-concat":"*","grunt-contrib-jshint":"*","grunt-contrib-uglify":"*","grunt-conventional-changelog":"0.0.12","grunt-coveralls":"~0.3.0","grunt-karma":"^0.12.0","grunt-karma-coveralls":"~2.5.1","grunt-zip":"*","karma":"^0.13.22","karma-chrome-launcher":"~0.1.2","karma-coverage":"^0.2.7","karma-firefox-launcher":"~0.1.3","karma-jasmine":"^0.1.6","karma-phantomjs-launcher":"1.0.0","phantomjs":"^2.1.7","phantomjs-prebuilt":"^2.1.13"},"scripts":{"test":"grunt test --verbose"},"license":"MIT","gitHead":"d8c0f0db72c20f1da5a8fd47ef1d53f2beb680ba","bugs":{"url":"https://github.com/a8m/angular-filter/issues"},"_id":"angular-filter@0.5.14","_shasum":"069cc76f92f4e1b898cd822f87414da0533c8a2a","_from":".","_npmVersion":"3.8.6","_nodeVersion":"6.0.0","_npmUser":{"name":"a8m","email":"ariel@mashraki.co.il"},"maintainers":[{"name":"a8m","email":"ariel@mashraki.co.il"}],"dist":{"shasum":"069cc76f92f4e1b898cd822f87414da0533c8a2a","tarball":"https://registry.npmjs.org/angular-filter/-/angular-filter-0.5.14.tgz","integrity":"sha512-ggf22CSptMKDQodmXlAlsauLRyYX3mzz0QAwkOpSz8TMpZYBblRgcaqG43L3nXQropPWiXvQO92dIqMmoyv92w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFG6b8hKHXfRgOsYpWMngijfhSSE59HfJy+SocxK5nZPAiEAluCyZhGYPQ4M1CIrETEvDFxI3uIt+4yKSvtms1ocPiQ="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/angular-filter-0.5.14.tgz_1481050184160_0.4645853426773101"}},"0.5.15":{"name":"angular-filter","description":"Bunch of useful filters for angularJS(with no external dependencies!)","version":"0.5.15","filename":"angular-filter.min.js","main":"index.js","files":["dist/*.js","src"],"homepage":"https://github.com/a8m/angular-filter","author":{"name":"Ariel Mashraki","email":"ariel@mashraki.co.il"},"repository":{"type":"git","url":"git+https://github.com/a8m/angular-filter.git"},"engines":{"node":">=0.10.0"},"keywords":["angular","client","browser","filter","lodash","underscore","collection"],"dependencies":{"angular":"*"},"devDependencies":{"coveralls":"^2.11.11","grunt":"^0.4.5","grunt-bower":"^0.21.2","grunt-bower-task":"*","grunt-cli":">= 0.1.7","grunt-contrib-concat":"*","grunt-contrib-jshint":"*","grunt-contrib-uglify":"*","grunt-conventional-changelog":"0.0.12","grunt-coveralls":"~0.3.0","grunt-karma":"^0.12.0","grunt-karma-coveralls":"~2.5.1","grunt-zip":"*","karma":"^0.13.22","karma-chrome-launcher":"~0.1.2","karma-coverage":"^0.2.7","karma-firefox-launcher":"~0.1.3","karma-jasmine":"^0.1.6","karma-phantomjs-launcher":"1.0.0","phantomjs":"^2.1.7","phantomjs-prebuilt":"^2.1.13"},"scripts":{"test":"grunt test --verbose"},"license":"MIT","gitHead":"c413d413f43caf9cb51910f19fd6157533fbbd99","bugs":{"url":"https://github.com/a8m/angular-filter/issues"},"_id":"angular-filter@0.5.15","_shasum":"73e09eddab1a65754d0f9c786a43111deccd0984","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"a8m","email":"ariel@mashraki.co.il"},"dist":{"shasum":"73e09eddab1a65754d0f9c786a43111deccd0984","tarball":"https://registry.npmjs.org/angular-filter/-/angular-filter-0.5.15.tgz","integrity":"sha512-mmMASTw6LaMtufZZygujjhFQnqdCzhlzESKJnWwJrrRxKOVvdu8ZbNMMaXC9Du+/ep/EgAWD2ELvegCxd9uQbg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCZbVlwl+ok6lpKiD/svB9b1aU7CnJeisji7CqKo0TBjgIhAIfBhPkQNqOH7FbA+8JoBA3B8m9s5uhWE3xl7rTaKcjm"}]},"maintainers":[{"name":"a8m","email":"ariel@mashraki.co.il"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/angular-filter-0.5.15.tgz_1484682113202_0.030728667275980115"}},"0.5.16":{"name":"angular-filter","description":"Bunch of useful filters for angularJS(with no external dependencies!)","version":"0.5.16","filename":"angular-filter.min.js","main":"index.js","files":["dist/*.js","src"],"homepage":"https://github.com/a8m/angular-filter","author":{"name":"Ariel Mashraki","email":"ariel@mashraki.co.il"},"repository":{"type":"git","url":"git+https://github.com/a8m/angular-filter.git"},"engines":{"node":">=0.10.0"},"keywords":["angular","client","browser","filter","lodash","underscore","collection"],"dependencies":{"angular":"*"},"devDependencies":{"coveralls":"^2.11.11","grunt":"^0.4.5","grunt-bower":"^0.21.2","grunt-bower-task":"*","grunt-cli":">= 0.1.7","grunt-contrib-concat":"*","grunt-contrib-jshint":"*","grunt-contrib-uglify":"*","grunt-conventional-changelog":"0.0.12","grunt-coveralls":"~0.3.0","grunt-karma":"^0.12.0","grunt-karma-coveralls":"~2.5.1","grunt-zip":"*","karma":"^0.13.22","karma-chrome-launcher":"~0.1.2","karma-coverage":"^0.2.7","karma-firefox-launcher":"~0.1.3","karma-jasmine":"^0.1.6","karma-phantomjs-launcher":"1.0.0","phantomjs":"^2.1.7","phantomjs-prebuilt":"^2.1.13"},"scripts":{"test":"grunt test --verbose"},"license":"MIT","gitHead":"5d6772c9fac777054dfeb3ab0246416d639858e9","bugs":{"url":"https://github.com/a8m/angular-filter/issues"},"_id":"angular-filter@0.5.16","_shasum":"e71f4086c068e40716655036c22670f8a6985886","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"a8m","email":"ariel@mashraki.co.il"},"dist":{"shasum":"e71f4086c068e40716655036c22670f8a6985886","tarball":"https://registry.npmjs.org/angular-filter/-/angular-filter-0.5.16.tgz","integrity":"sha512-O830ip1+Oh9N0fA5ZNpGd+z34NSs9zvhlstuSzzbDBmWB/RWDCrX+ovHVUq15u8aLSEtm+TjmdvY0cvpPocGSQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCvPDfgT+SpbqyfaPZI2J1ui+wR/n+lsTxZbQaN9tQn2QIgcDvIFqyUlUaDSxS4hmwbmO2usOb3hHok80trw36jop8="}]},"maintainers":[{"name":"a8m","email":"ariel@mashraki.co.il"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/angular-filter-0.5.16.tgz_1491548325578_0.10702802939340472"}},"0.5.17":{"name":"angular-filter","description":"Bunch of useful filters for angularJS(with no external dependencies!)","version":"0.5.17","filename":"angular-filter.min.js","main":"index.js","files":["dist/*.js","index.js","src"],"browser":"index.js","homepage":"https://github.com/a8m/angular-filter","author":{"name":"Ariel Mashraki","email":"ariel@mashraki.co.il"},"repository":{"type":"git","url":"git+https://github.com/a8m/angular-filter.git"},"engines":{"node":">=0.10.0"},"keywords":["angular","client","browser","filter","lodash","underscore","collection"],"dependencies":{"angular":"*"},"devDependencies":{"coveralls":"^2.11.11","grunt":"^0.4.5","grunt-bower":"^0.21.2","grunt-bower-task":"*","grunt-cli":">= 0.1.7","grunt-contrib-concat":"*","grunt-contrib-jshint":"*","grunt-contrib-uglify":"*","grunt-conventional-changelog":"0.0.12","grunt-coveralls":"~0.3.0","grunt-karma":"^0.12.0","grunt-karma-coveralls":"~2.5.1","grunt-zip":"*","karma":"^0.13.22","karma-chrome-launcher":"~0.1.2","karma-coverage":"^0.2.7","karma-firefox-launcher":"~0.1.3","karma-jasmine":"^0.1.6","karma-phantomjs-launcher":"1.0.0","phantomjs":"^2.1.7","phantomjs-prebuilt":"^2.1.13"},"scripts":{"test":"grunt test --verbose"},"license":"MIT","gitHead":"8285ffda674181667ef1ddc32b92b7d6bd6c3711","bugs":{"url":"https://github.com/a8m/angular-filter/issues"},"_id":"angular-filter@0.5.17","_shasum":"60c0c7380fd45872cb8f10801cfe07e154062935","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"a8m","email":"ariel@mashraki.co.il"},"dist":{"shasum":"60c0c7380fd45872cb8f10801cfe07e154062935","tarball":"https://registry.npmjs.org/angular-filter/-/angular-filter-0.5.17.tgz","integrity":"sha512-jWZuok808roBwEiNZ2IiBzKD7gf4vWTDzbp9RhhZO9usQxTiywsZ3O94X75MOHBtOzM/rxbI78sHw3Y2sz40QQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFNyXSc7G1RGo0GbQxJOs37JnFQfhx6B7N8DJoNL4t5kAiBFaluVWxWIlgtPQpPjfBx8LACKAJEZli+D3ijlXCP8vw=="}]},"maintainers":[{"name":"a8m","email":"ariel@mashraki.co.il"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/angular-filter-0.5.17.tgz_1506097253629_0.6365417195484042"}}},"readme":"# Angular-filter &nbsp; [![NPM version][npm-image]][npm-url] [![Build status][travis-image]][travis-url] [![Test coverage][coveralls-image]][coveralls-url] [![License][license-image]][license-url]\nBunch of useful filters for AngularJS *(with no external dependencies!)*\n\n<h3 align=\"center\">\n<img src=\"https://angular.io/assets/images/logos/angular/angular.svg\" width=\"50\" alt=\"angular pipes\"><br/>\n Angular 2 version is now available: <a href=\"https://github.com/a8m/ng-pipes\">ng-pipes</a>\n </h3>\n\n## Table of contents:\n- [![Gitter][gitter-image]][gitter-url]\n- [Get Started](#get-started)\n- [Common Questions](https://github.com/a8m/angular-filter/wiki/Common-Questions)\n- [Changelog](#changelog)\n- [Contributing](#contributing)\n- [TODO](#todo)\n- [Collection](#collection)\n  - [after](#after)\n  - [afterWhere](#afterwhere)\n  - [before](#before)\n  - [beforeWhere](#beforewhere)\n  - [concat](#concat)\n  - [contains](#contains)\n  - [countBy](#countby)\n  - [chunkBy](#chunkby)\n  - [defaults](#defaults)\n  - [every](#every)\n  - [filterBy](#filterby)\n  - [first](#first)\n  - [flatten](#flatten)\n  - [fuzzy](#fuzzy)\n  - [fuzzyBy](#fuzzyby)\n  - [groupBy](#groupby)\n  - [isEmpty](#isempty)\n  - [join](#join)\n  - [last](#last)\n  - [map](#map)\n  - [omit](#omit)\n  - [pick](#pick)\n  - [pluck](#pluck)\n  - [range](#range)\n  - [reverse](#reverse)\n  - [remove](#remove)\n  - [removeWith](#removewith)\n  - [searchField](#searchfield)\n  - [some](#contains)\n  - [toArray](#toarray)\n  - [unique](#unique)\n  - [where](#where)\n  - [xor](#xor)\n- [String](#string)\n  - [endsWith](#endswith)\n  - [latinize](#latinize)\n  - [repeat](#repeat)\n  - [reverse](#reverse-1)\n  - [slugify](#slugify)\n  - [split](#split)\n  - [startsWith](#startswith)\n  - [stripTags](#striptags)\n  - [stringular](#stringular)\n  - [match](#match)\n  - [phoneUS](#phoneus)\n  - [test](#test)\n  - [trim](#trim)\n  - [ltrim](#ltrim)\n  - [rtrim](#rtrim)\n  - [truncate](#truncate)\n  - [ucfirst](#ucfirst)\n  - [uriEncode](#uriencode)\n  - [uriComponentEncode](#uricomponentencode)\n  - [wrap](#wrap)\n- [Math](#math)\n  - [min](#min)\n  - [max](#max)\n  - [abs](#abs)\n  - [percent](#percent)\n  - [radix](#radix)\n  - [sum](#sum)\n  - [degrees](#degrees)\n  - [radians](#radians)\n  - [shortFmt](#shortfmt)\n  - [byteFmt](#bytefmt)\n  - [kbFmt](#kbfmt)\n- [Boolean](#boolean)\n  - [isNull](#isnull)\n  - [isDefined](#isdefined)\n  - [isUndefined](#isundefined)\n  - [isString](#isstring)\n  - [isNumber](#isnumber)\n  - [isObject](#isobject)\n  - [isArray](#isarray)\n  - [isFunction](#isfunction)\n  - [isEqual](#isequal)\n  - [isGreaterThan](#isgreaterthan) `>`\n  - [isGreaterThanOrEqualTo](#isgreaterthanorequalto) `>=`\n  - [isLessThan](#islessthan) `<`\n  - [isLessThanOrEqualTo](#islessthanorequalto) `<=`\n  - [isEqualTo](#isequalto) `==`\n  - [isNotEqualTo](#isnotequalto) `!=`\n  - [isIdenticalTo](#isidenticalto) `===`\n  - [isNotIdenticalTo](#isnotidenticalto) `!==`\n\n## Get Started\n**(1)** You can install angular-filter using 4 different methods:\n  - clone & [build](#Contributing) this repository\n  - via **[Bower](http://bower.io/)**: by running `$ bower install angular-filter` from your terminal\n  - via **[npm](https://www.npmjs.org/)**: by running `$ npm install angular-filter` from your terminal\n  - via cdnjs http://www.cdnjs.com/libraries/angular-filter\n\n**(2)** Include `angular-filter.js` (or `angular-filter.min.js`) in your `index.html`, after including Angular itself.\n\n**(3)** Add `'angular.filter'` to your main module's list of dependencies.\n\nWhen you're done, your setup should look similar to the following:\n\n```html\n<!doctype html>\n<html ng-app=\"myApp\">\n<head>\n\n</head>\n<body>\n    ...\n    <script src=\"//cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.0/angular.min.js\"></script>\n    <script src=\"bower_components/angular-filter/dist/angular-filter.min.js\"></script>\n    ...\n    <script>\n        var myApp = angular.module('myApp', ['angular.filter']);\n\n    </script>\n    ...\n</body>\n</html>\n```\n\n## Collection\n\n### concat\n\nConcatenates an array/object into another one.\n\n\n```js\nfunction MainController ($scope) {\n  $scope.array = [ {a: 1}, {a: 2} ];\n  $scope.object = {\n    0: {a: 3},\n    1: {a: 4}\n  };\n}\n```\n\n```html\n<li ng-repeat=\"elm in array | concat:object\">\n  {{ elm.a }}\n</li>\n\n<!--\nresult:\n1 2 3 4\n-->\n\n<li ng-repeat=\"elm in object | concat:array\">\n  {{ elm.a }}\n</li>\n\n<!--\nresult:\n3 4 1 2\n-->\n```\n\n### unique\nRemove duplicates from an array/object.<br/>\nIf a string is provided, it will filter out duplicates using the provided expression.<br/>\n**Usage:** ```collection | unique: 'property' ```<br/>\n**aliases:** uniq\n```js\nfunction MainController ($scope) {\n  $scope.orders = [\n    { id:1, customer: { name: 'John', id: 10 } },\n    { id:2, customer: { name: 'William', id: 20 } },\n    { id:3, customer: { name: 'John', id: 10 } },\n    { id:4, customer: { name: 'William', id: 20 } },\n    { id:5, customer: { name: 'Clive', id: 30 } }\n  ];\n}\n```\nEx: Filter by customer.id\n```html\n<th>Customer list:</th>\n<tr ng-repeat=\"order in orders | unique: 'customer.id'\" >\n   <td> {{ order.customer.name }} , {{ order.customer.id }} </td>\n</tr>\n\n<!-- result:\nAll customers list:\nJohn 10\nWilliam 20\nClive 30\n\n```\n### filterBy\nFilter a collection by a specific property.<br/>\n**Usage:** ```collection | filterBy: [prop, nested.prop, etc..]: search: strict[optional]```<br/>\n**Note:** You can even use compound properties (e.g: ```|filterBy: [property + property]: model```)<br/>\n\n```js\n$scope.users = [\n  { id: 1, user: { first_name: 'Rob', last_name: 'John',  mobile: 4444 } },\n  { id: 2, user: { first_name: 'John', last_name: 'Wayne',  mobile: 3333 } },\n  { id: 3, user: { first_name: 'Rob', last_name: 'Johansson',  mobile: 2222 } },\n  { id: 4, user: { first_name: 'Mike', last_name: 'Terry',  mobile: 1111 } }\n];\n```\nReturn users whose id is 1\n```html\n<!--search only by id -->\n<th ng-repeat=\"user in users | filterBy: ['id']: 1\">\n  {{ user.id }} : {{ user.first_name }} {{ user.last_name }}\n</th>\n<!--result:\n  1: Rob John\n-->\n\n```\nReturn users whose first name or last name is 'John' (uses nested properties).\n```html\n<!--search by first_name and last_name -->\n<th ng-repeat=\"user in users | filterBy: ['user.first_name', 'user.last_name']: 'John'\">\n  {{ user.first_name }} {{ user.last_name }}\n</th>\n<!--result:\n  1: Rob John\n  2: John Wayne\n-->\n\n```\nReturn users whose full name is\n```html\n<!--search by full name -->\n<th ng-repeat=\"user in users | filterBy: ['user.first_name + user.last_name']: 'Rob Joh'\">\n  {{ user.id }}: {{ user.first_name }} {{ user.last_name }}\n</th>\n<!--result:\n  1: Rob John\n  3: Rob Johannson\n-->\n```\n### first\nGets the first element(s) of a collection.<br/>\nIf an expression is provided, it will only return elements whose expression is truthy.<br/>\n***Usage:*** See below <br/>\n\n```js\n$scope.users = [\n  { id: 1, name: { first: 'John', last: 'Wayne' } },\n  { id: 2, name: { first: 'Mike', last: 'Johannson' } },\n  { id: 3, name: { first: 'William', last: 'Kyle' } },\n  { id: 4, name: { first: 'Rob', last: 'Thomas' } }\n];\n```\nReturns the first user.\n```html\n{{ users | first }}\n<!--result:\n{ id: 1, name: { first: 'John', last: 'Wayne' } }\n-->\n\n```\nReturns the first user whose first name is 'Rob' and last name is 'Thomas'\n```html\n<!-- collection | first: expression -->\n{{ users | first: 'name.first === \\'Rob\\' && name.last === \\'Thomas\\'' }}\n<!--result:\n[ { id: 4, name: { first: 'Rob', last: 'Thomas' } } ]\n-->\n\n```\nReturn the first two users\n```html\n<!-- collection | first: n -->\n<th ng-repeat=\"user in users | first: 2\">\n  {{ user.name.first }}\n</th>\n<!--result:\nJohn\nMike\n-->\n\n```\nReturn the first two users with even id\n```html\n<!-- collection | first: n: expression -->\n<th ng-repeat=\"user in users | first: 2: '!(id%2)'\">\n  {{ user.name }}\n</th>\n<!--result:\nMike\nRob\n```\n### last\nGets the last element or last n elements of a collection,<br/>\nif expression is provided, is returns as long the expression return truthy<br/>\n***Usage:*** See below <br/>\n```js\n$scope.users = [\n  { id: 1, name: { first: 'foo', last: 'bar' } },\n  { id: 2, name: { first: 'baz', last: 'bar' } },\n  { id: 3, name: { first: 'bar', last: 'bar' } },\n  { id: 4, name: { first: 'lol', last: 'bar' } }\n];\n```\n```html\n{{ users | last }}\n<!--result:\n{ id: 4, name: { first: 'lol', last: 'bar' } }\n```\n```html\n<!-- collection | last: expression -->\n{{ users | last: 'name.last === \\'bar\\'' }}\n<!--result:\n[ { id: 4, name: { first: 'lol', last: 'bar' } } ]\n```\n```html\n<!-- collection | last: n -->\n<th ng-repeat=\"user in users | last: 2\">\n  {{ user.name }}\n</th>\n<!--result:\nbar\nlol\n```\n```html\n<!-- collection | last: n: expression -->\n<th ng-repeat=\"user in users | last: 2: '!(id%2)'\">\n  {{ user.name }}\n</th>\n<!--result:\nbaz\nlol\n```\n### flatten\nFlattens a nested array (the nesting can be to any depth).<br/>\nIf you pass shallow, the array will only be flattened a single level<br/>\n**Usage:** ```collection | flatten: shallow[optional]```\n```js\n$scope.weirdArray = [[], 1, 2, 3, [4, 5, 6, [7, 8, 9, [10, 11, [12, [[[[[13], [[[[14, 15]]]]]]]]]]]]];\n```\n```html\n<th ng-repeat=\"elm in wierdArray | flatten\">\n {{ elm }},\n</th>\n<!--result:\n1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15\n```\n\n### join\nJoins the contents of a collection into a string.<br/>\nBy default, it will join elements with a *single space*, but you can provide your own delimiter.\n\n**Usage:** ```collection | join:', '```\n\nExample:\n\n```js\n$scope.names = ['John', 'Sebastian', 'Will', 'James'];\n```\n\n```html\n<p>{{ names | join:', ' }}</p>\n<!-- Will print \"John, Sebastian, Will, James\" -->\n\n```\n\n\n### fuzzy\nfuzzy string searching(approximate string matching). [Read more](http://en.wikipedia.org/wiki/Approximate_string_matching)<br/>\n**note:** use fuzzyBy to filter by one property to improve performance<br/>\n**Usage:** ```collection | fuzzy: search: caseSensitive[optional]```\n```js\n$scope.books = [\n  { title: 'The DaVinci Code', author: 'F. Scott Fitzgerald' },\n  { title: 'The Great Gatsby', author: 'Dan Browns' },\n  { title: 'Angels & Demons',  author: 'Dan Louis' },\n  { title: 'The Lost Symbol',  author: 'David Maine' },\n  { title: 'Old Man\\'s War',   author: 'Rob Grant' }\n];\n```\n```html\n<input type=\"text\" ng-model=\"search\" placeholder=\"search book\" />\n<li ng-repeat=\"book in books | fuzzy: search\">\n  {{ book.title }}\n</li>\n<!--case sensitive-->\n<li ng-repeat=\"book in books | fuzzy: search: true\">\n  {{ book.title }}\n</li>\n```\n### fuzzyBy\nfuzzy string searching(approximate string matching) by property(nested to). [Read more](http://en.wikipedia.org/wiki/Approximate_string_matching)<br/>\n**Usage:** ```collection | fuzzyBy: 'property': search: caseSensitive[optional]```\n```js\n$scope.books = [\n  { title: 'The DaVinci Code' },\n  { title: 'The Great Gatsby' },\n  { title: 'Angels & Demons'  },\n  { title: 'The Lost Symbol'  },\n  { title: 'Old Man\\'s War'   }\n];\n```\n```html\n<input type=\"text\" ng-model=\"search\" placeholder=\"search by title\" />\n<li ng-repeat=\"book in books | fuzzyBy: 'title': search\">\n  {{ book.title }}\n</li>\n<!--case sensitive-->\n<li ng-repeat=\"book in books | fuzzyBy: 'title': search: true\">\n  {{ book.title }}\n</li>\n```\n### groupBy\nCreate an object composed of keys generated from the result of running each element of a collection,<br/>\neach key is an array of the elements.<br/>\n**Usage:** ```(key, value) in collection | groupBy: 'property'``` or ```... | groupBy: 'nested.property'```\n```js\n$scope.players = [\n  {name: 'Gene', team: 'alpha'},\n  {name: 'George', team: 'beta'},\n  {name: 'Steve', team: 'gamma'},\n  {name: 'Paula', team: 'beta'},\n  {name: 'Scruath', team: 'gamma'}\n];\n```\n```html\n<ul>\n  <li ng-repeat=\"(key, value) in players | groupBy: 'team'\">\n    Group name: {{ key }}\n    <ul>\n      <li ng-repeat=\"player in value\">\n        player: {{ player.name }}\n      </li>\n    </ul>\n  </li>\n</ul>\n<!-- result:\n  Group name: alpha\n    * player: Gene\n  Group name: beta\n    * player: George\n    * player: Paula\n  Group name: gamma\n    * player: Steve\n    * player: Scruath\n```\n### countBy\nCreate an object composed of keys generated from the result of running each element of a collection,<br/>\neach key is the count of objects in each group<br/>\n**Usage:** ```(key, value) in collection | countBy: 'property'``` or ```... | countBy: 'nested.property'```\n```js\n$scope.players = [\n  {name: 'Gene', team: 'alpha'},\n  {name: 'George', team: 'beta'},\n  {name: 'Steve', team: 'gamma'},\n  {name: 'Paula', team: 'beta'},\n  {name: 'Scruath', team: 'gamma'}\n];\n```\n```html\n<li ng-repeat=\"(key, value) in players | countBy: 'team'\" >\n  Group name: {{ key }}, length: {{ value }}\n</li>\n<!-- result:\n  Group name: alpha, length: 1\n  Group name: beta, length: 2\n  Group name: gamma, length: 2\n```\n### chunkBy\nCollect data into fixed-length chunks or blocks\n**Usage:** ```(key, value) in collection | chunkBy: 'n': fill-value(optional)```\n```js\n$scope.array = [1, 2, 3, 4, 5, 6];\n```\n```html\n<li ng-repeat=\"block in array | chunkBy: 2\" >\n  Block: {{ block }}\n</li>\n<!-- result:\n  Block: [1, 2]\n  Block: [3, 4]\n  Block: [5, 6]\n-->\n<-- Example with fill value -->\n<li ng-repeat=\"block in array | chunkBy: 4: 0\" >\n  Block: {{ block }}\n</li>\n<!-- result:\n  Block: [1, 2, 3, 4]\n  Block: [5, 6, 0, 0]\n```\n\n### defaults\n`defaultsFilter` allows to specify a default fallback value for properties that resolve to undefined.<br/>\n**Usage:** `col in collection | defaults: fallback`\n```js\n$scope.orders = [\n      { id:1, destination: { zip: 21908 }, name: 'Ariel M' },\n      { id:2, name: 'John F' },\n      { id:3, destination: { zip: 45841 } },\n      { id:4, destination: { zip: 78612 }, name: 'Danno L' },\n  ];\n$scope.fallback = {\n      name: 'Customer name not available',\n      destination: { zip: 'Pickup' }\n  };\n```\n```html\n<li ng-repeat=\"order in orders | defaults: fallback\">\n    <b>id:</b> {{ order.id }},\n    <b>name:</b> {{ order.name }},\n    <b>shipping address:</b> {{ order.destination.zip }}\n</li>\n<!--Results:\n* id: 1, name: Ariel M, shipping address: 21908\n* id: 2, name: John F, shipping address: Pickup\n* id: 3, name: Customer name not available, shipping address: 45841\n* id: 4, name: Danno L, shipping address: 78612\n```\n**Note:** `defaultsFilter` change the source object.<br/>\n**Why?** if we not change the source object, it's actually means we gonna return **new** object(copy operation)  **each digest cycle**.<br/>\nAnd it will cause adverse memory and performance implications.<br/>\n**How to avoid it?** see below\n```js\n//We copy it once, and it's really cheaper\n$scope.ordersWithFallback = angular.copy($scope.orders);\n```\n```html\n<li ng-repeat=\"order in ordersWithFallback | defaults: fallback\">\n    <!-- ..... -->\n</li>\n```\n### where\ncomparison for each element in a collection to the given properties object,<br/>\nreturning an array of all elements that have equivalent property values.\n```js\n  $scope.collection = [\n    { id: 1, name: 'foo' },\n    { id: 1, name: 'bar' },\n    { id: 2, name: 'baz' }\n  ]\n```\n```html\n<tr ng-repeat=\"obj in collection | where:{id: 1}\">\n  {{ obj.name }}\n</tr>\n<!-- result:\n  foo\n  bar\n-->\n\n<tr ng-repeat=\"obj in collection | where:{id: 1, name: 'foo'}\">\n  {{ obj.name }}\n</tr>\n<!-- result:\n  foo\n  -->\n```\n### omit\nreturn collection without the omitted objects(by expression).<br/>\nusage: ```collection | omit: expression```<br/>\n**example 1:**\n```js\n$scope.mod2 = function(elm) {\n  return !(elm % 2);\n}\n```\n```html\n<tr ng-repeat=\"num in [1,2,3,4,5,6] | omit: mod2\">\n  {{ num }},\n</tr>\n<!--result\n1, 3, 5\n```\n**example 2:**\n```js\n$scope.collection = [\n  { id: 1, user: { name: 'foo' } },\n  { id: 2, user: { name: 'bar' } },\n  { id: 3, user: { name: 'baz' } }\n]\n```\n```html\n<tr ng-repeat=\"obj in collection | omit:'id > 1 && user.name.indexOf(\\'b\\') !== -1'\">\n  id: {{ obj.id }}, name: {{ obj.user.name }}\n</tr>\n<!--result:\nid: 1, name: foo\n```\n### pick\nreturn collection composed of the picked objects(by expression).<br/>\nusage: ```collection | pick: expression```<br/>\n**example 1:**\n```js\n$scope.mod2 = function(elm) {\n  return !(elm % 2);\n}\n```\n```html\n<tr ng-repeat=\"num in [1,2,3,4,5,6] | pick: mod2\">\n  {{ num }},\n</tr>\n<!--result\n2, 4, 6\n```\n**example 2:**\n```js\n$scope.collection = [\n  { id: 1, user: { name: 'foo' } },\n  { id: 2, user: { name: 'bar' } },\n  { id: 3, user: { name: 'baz' } }\n]\n```\n```html\n<tr ng-repeat=\"obj in collection | pick:'id > 1 && user.name.indexOf(\\'b\\') !== -1'\">\n  id: {{ obj.id }}, name: {{ obj.user.name }}\n</tr>\n<!--result:\nid: 2, name: bar\nid:3, name: baz\n```\n\n### remove\nReturns a new collection of removed elements.\n```js\n$scope.foo = { name: 'foo' };\n$scope.collection = [\n  { name: 'bar' },\n  $scope.foo,\n  null, 1\n];\n```\n```html\n<tr ng-repeat=\"obj in collection | remove: foo: null: 1\">\n  {{ obj }}\n</tr>\n<!-- result:\n  { \"name\": \"bar\" }\n```\n### removeWith\ncomparison for each element in a collection to the given properties object,<br/>\nreturning an array without all elements that have equivalent property values.\n```js\n  $scope.collection = [\n    { id: 1, name: 'foo' },\n    { id: 1, name: 'bar' },\n    { id: 2, name: 'baz' }\n  ]\n```\n```html\n<tr ng-repeat=\"obj in collection | removeWith:{ id: 1 }\">\n  {{ obj.name }}\n</tr>\n<!-- result:\n  baz\n-->\n\n<tr ng-repeat=\"obj in collection | removeWith:{ id: 1, name: 'foo' }\">\n  {{ obj.name }}\n</tr>\n<!-- result:\n  bar\n  baz\n```\n### searchField\nif you want to use the filter in angular and want to filter for multiple values<br/>\nso searchField filter return new collection with property called searchField<br/>\n**support nested properties with dot notation i.e:** ``` collection | searchField: 'prop': 'nested.prop' ```\n```js\n$scope.users = [\n  { first_name: 'Sharon', last_name: 'Melendez' },\n  { first_name: 'Edmundo', last_name: 'Hepler' },\n  { first_name: 'Marsha', last_name: 'Letourneau' }\n];\n```\n```html\n<input ng-model=\"search\" placeholder=\"search by full name\"/>\n<th ng-repeat=\"user in users | searchField: 'first_name': 'last_name' | filter: search\">\n  {{ user.first_name }} {{ user.last_name }}\n</th>\n<!-- so now you can search by full name -->\n```\n### after\nget a collection(array or object) and specified count, and returns all of the items\nin the collection after the specified count.\n```js\n$scope.collection = [\n    { name: 'foo' },\n    { name: 'bar' },\n    { name: 'baz' },\n    { name: 'zap' },\n  ];\n```\n```html\n<tr ng-repeat=\"col in collection | after:2\">\n  {{ col.name }}\n</tr>\n<!--result:\n  baz\n  zap\n-->\n\n```\n### afterWhere\nget a collection and properties object, and returns all of the items,\nin the collection after the first that found with the given properties, including it.\n```js\n$scope.orders = [\n  { id: 1, customer: { name: 'foo' }, date: 'Tue Jul 15 2014' },\n  { id: 2, customer: { name: 'foo' }, date: 'Tue Jul 16 2014' },\n  { id: 3, customer: { name: 'foo' }, date: 'Tue Jul 17 2014' },\n  { id: 4, customer: { name: 'foo' }, date: 'Tue Jul 18 2014' },\n  { id: 5, customer: { name: 'foo' }, date: 'Tue Jul 19 2014' }\n];\n```\n```html\n<tr ng-repeat=\"order in orders | afterWhere:{ date: 'Tue Jul 17 2014' }\">\n  order: {{ order.id }}, {{ order.date }}\n</tr>\n<!--result:\n  order: 3, Tue Jul 17 2014\n  order: 4, Tue Jul 18 2014\n  order: 5, Tue Jul 19 2014\n-->\n```\n\n### before\nget a collection(array or object) and specified count, and returns all of the items\nin the collection before the specified count.\n```js\n$scope.collection = [\n    { name: 'foo' },\n    { name: 'bar' },\n    { name: 'baz' },\n    { name: 'zap' },\n  ];\n```\n```html\n<tr ng-repeat=\"col in collection | before:3\">\n  {{ col.name }}\n</tr>\n<!--result:\n  foo\n  bar\n-->\n\n```\n\n### beforeWhere\nget a collection and properties object, and returns all of the items,\nin the collection before the first that found with the given properties, including it.\n```js\n$scope.orders = [\n  { id: 1, customer: { name: 'foo' }, date: 'Tue Jul 15 2014' },\n  { id: 2, customer: { name: 'foo' }, date: 'Tue Jul 16 2014' },\n  { id: 3, customer: { name: 'foo' }, date: 'Tue Jul 17 2014' },\n  { id: 4, customer: { name: 'foo' }, date: 'Tue Jul 18 2014' },\n  { id: 5, customer: { name: 'foo' }, date: 'Tue Jul 19 2014' }\n];\n```\n```html\n<tr ng-repeat=\"order in orders | beforeWhere:{ date: 'Tue Jul 17 2014' }\">\n  order: {{ order.id }}, {{ order.date }}\n</tr>\n<!--result:\n  order: 1, Tue Jul 15 2014\n  order: 2, Tue Jul 16 2014\n  order: 3, Tue Jul 17 2014\n-->\n```\n\n### reverse\nReverse the order of the elements in a collection\n\n```js\n$scope.users = [\n  { id: 1, name: 'bazzy' },\n  { id: 2, name: 'dazzy' },\n  { id: 3, name: 'lazzy' }\n];\n```\n```html\n<tr ng-repeat=\"user in users | reverse\">\n  user: {{ user.id }}, {{ user.name }}\n</tr>\n<!--result:\n  user: 3, lazzy\n  user: 2, dazzy,\n  user: 1, bazzy\n-->\n```\n\n### isEmpty\nget collection or string and return if it empty[Boolean]\n\n```html\n<tr ng-repeat=\"order in orders\" ng-hide=\"orders | isEmpty\">\n<!-- ..... -->\n</tr>\n<!--some replacer msg-->\n<tr ng-show=\"orders | isEmpty\">\n  no content to show\n</tr>\n```\n### contains\nChecks if given expression(or value) is present in one or more object in the collection<br/>\n**Usage:** ```collection | contains: 'expression'```<br/>\n**Aliases:** some<br/>\nexample 1:\n```js\n$scope.array = [1,2,3,4];\n```\n```html\n<th ng-show=\"{{ array | contains: 2 }}\">...</th>\n```\nexample 2:\n```js\n$scope.collection = [\n  { user: { id: 1, name: 'foo' } },\n  { user: { id: 2, name: 'bar' } },\n  { user: { id: 3, name: 'baz' } }\n];\n```\n```html\n<th ng-show=\"{{ collection | some: '!(user.id % 2) && user.name.indexOf(\\'b\\') === 0' }}\">...</th>\n<!--result: true\n```\n### every\nChecks if given expression(or value) return truthy value for all members of a collection<br/>\n**Usage:** ```collection | every: 'expression'```<br/>\nexample 1:\n```js\n$scope.array = [1,1,1,1];\n```\n```html\n<th ng-show=\"{{ array | every: 1 }}\">...</th>\n<!--result: true\n```\nexample 2:\n```js\n$scope.collection = [\n  { user: { id: 4, name: 'foo' } },\n  { user: { id: 6, name: 'bar' } },\n  { user: { id: 8, name: 'baz' } }\n];\n```\n```html\n<th ng-show=\"{{ collection | every: '!(user.id % 2)' }}\">...</th>\n<!--result: true\n```\n\n### xor\nExclusive or between two collections<br/>\n**Usage:** ```collection1 | xor: collection2: expression[optional]```<br/>\n\nExample1:\n```html\n<p ng-repeat=\"elm in [1,2,3,4] | xor: [2,3,5]\">\n{{ elm }}\n</p>\n<!--result:\n1 4 5\n```\nExample2:\n```js\n$scope.users1 = [\n  { id: 0, details: { first_name: 'foo', last_name: 'bar' } },\n  { id: 1, details: { first_name: 'foo', last_name: 'baz' } },\n  { id: 2, details: { first_name: 'foo', last_name: 'bag' } }\n];\n$scope.users2 = [\n  { id: 3, details: { first_name: 'foo', last_name: 'bar' } },\n  { id: 4, details: { first_name: 'foo', last_name: 'baz' } }\n];\n```\n```html\n<th ng-repeat=\"user in users1 | xor: users2\">\n  {{ user.id }}\n</th>\n<!--result:\n1 2 3 4 5\n-->\n<th ng-repeat=\"user in users1 | xor: users2: 'details.last_name'\">\n  {{ user.id }}, {{ user.details.first_name }} {{ user.details.last_name }}\n</th>\n<!--result:\n2, foo bag\n```\n### toArray\nConvert objects into stable arrays. <br/>\n**Usage:** ```object | toArray: addKey[optional]```<br/>\nif addKey set to true, the filter also attaches a new property $key to the value containing the original key that was used in the object we are iterating over to reference the property\n```html\n<th ng-repeat=\"elm in object | toArray | orderBy: 'property'\">\n  {{ elm.name }}\n</th>\n```\n### map\nReturns a new collection of the results of each expression execution. <br/>\n**Usage:** ```collection | map: expression``` <br/>\nExample1:\n```js\n$scope.divide = function(elm) {\n  return elm/2\n}\n```\n```html\n<th ng-repeat=\"i in [1, 2, 3, 4, 5] | map: divide\">\n  {{ i }}\n</th>\n<!--result:\n0.5, 1, 1.5, 2, 2.5\n```\n### pluck\nUsed map\n```js\n$scope.users = [\n  { id:1, user: { name: 'Foo' } },\n  { id:1, user: { name: 'Bar' } },\n  { id:1, user: { name: 'Baz' } }\n];\n```\n```html\n<th ng-repeat=\"name in users | map: 'user.name' \">\n  {{ name }}\n</th>\n<!--result:\nFoo\nBar\nBaz\n```\n### range\nReturn a new collection from a given length, start, increment, and callback<br/>\nBy default start is 0, increment is 1, and callback is null.\n**Usage:** ```collection | range: length:start:increment:callback```<br/>\n```html\n[<span ng-repeat=\"i in [] | range: 3\">{{i}},</span>]\n<!--result:\n[0,1,2,]\n-->\n```\n```html\n[<span ng-repeat=\"i in [] | range: 10:10\">{{i}},</span>]\n<!--result:\n[10,11,12,13,14,15,16,17,18,19,]\n-->\n```\n```html\n[<span ng-repeat=\"i in [] | range: 10:5:2\">{{ i }},</span>]\n<!--result:\n[5, 7, 9, 11, 13, 15, 17, 19, 21, 23]\n-->\n```\n```html\n[<span ng-repeat=\"i in [] | range: 11:4:2\">{{ i }},</span>]\n<!--result:\n[4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24]\n-->\n```\n```js\n$scope.double = function(i) {\n  return i * 2;\n}\n```\n```html\n[<span ng-repeat=\"i in [] | range: 11:4:2:double\">{{ i }},</span>]\n<!--result:\n[8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48]\n-->\n```\n\n## String\n\n### ucfirst\n\nucfirstFilter get string as parameter and return it capitalized\n\n```html\n<p> {{ 'foo bar baz' | ucfirst }}</p>\n\n<!--\nresult:\nFoo Bar Baz\n-->\n```\n\n### uriEncode\nget string as parameter and return encoded uri\n\n```html\n<a ng-href=\"http://domain.com/fetch/{{ data.name | uriEncode }}\">Link</a>\n```\n\n### uriComponentEncode\nget string as parameter and return encoded uri component\n\n```html\n<a ng-href=\"http://domain.com/fetch/{{ 'Some&strange=chars' | uriComponentEncode }}\">Link</a>\n```\n\n### slugify\nTransform text into a URL slug. Replaces whitespaces, with dash(\"-\"), or given argument\n\n```html\n<a ng-href=\"http://domain.com/fetch/{{ 'Some string with spaces' | slugify }}\">Link</a>\n<!--replace with given argument-->\n<a ng-href=\"http://domain.com/fetch/{{ 'Some string with spaces' | slugify:'=' }}\">Link</a>\n<!--\nresult:\n<a ng-href=\"http://domain.com/fetch/some-string-with-spaces\">Link</a>\n\n<a ng-href=\"http://domain.com/fetch/some=string=with=spaces\">Link</a>\n-->\n```\n\n### latinize\nRemove accents/diacritics from a string\n\n```html\n {{ 'Sòme strÏng with Âccénts' | latinize }}\n<!--\nresult:\n  Some strIng with Accents\n-->\n```\n### startsWith\nreturn whether string starts with the starts parameter.<br/>\nusage: ```string | startsWith: 'start': case-sensitive[optional]```<br/>\n```html\n {{ 'Lorem ipsum' | startsWith: 'lorem' }}\n {{ 'Lorem Ipsum' | startsWith: 'lorem': true }}\n <!--result:\n  true\n  false\n```\n### endsWith\nreturn whether string ends with the ends parameter.<br/>\nusage: ```string | endsWith: 'ends': case-sensitive[optional]```<br/>\n```html\n {{ 'image.JPG' | endsWith: '.jpg' }}\n {{ 'image.JPG' | endsWith: '.jpg': true }}\n <!--result:\n  true\n  false\n```\n### stripTags\nstrip out html tags from string<br/>\n**Important: this filter jobs it's not to replace ng-bind-html directive, it's only for tiny plain text\n\n```js\n$scope.text = '<p class=\"paragraph\">Lorem Ipsum is simply dummy text of the printing...</p>';\n```\n```html\n<p>{{ text | stripTags }}</p>\n<!--result:\nLorem Ipsum is simply dummy text of the printing...\n-->\n```\n### stringular\nget string with {n} and replace match with enumeration values\n\n```html\n<p>{{ 'lorem {0} dolor {1} amet' | stringular:'ipsum':'sit' }}</p>\n<p>{{ '{3} {0} dolor {1} amet' | stringular:'ipsum':'sit':null:'lorem' }}</p>\n\n<!-- result:\n<p>lorem ipsum dolor sit amet</p>\n<p>lorem ipsum dolor sit amet</p>\n-->\n\n<p>{{ 'lorem {0} dolor sit amet' | stringular }}<p>\n<!--result:\n<p>lorem {0} dolor sit amet</p>\n```\n\n### phoneUS\nFormat a string or a number into a us-style phone number  \n```html\n<p>{{ 1234567890 | phoneUS }}</p>\n\n<!--result:\n<p>(123) 456-7890</p>\n```\n\n### truncate\ntruncates a string given a specified length, providing a custom string to denote an omission.<br/>\nusage: ``` | truncate: [length]: [suffix-optional]: [preserve-optinal]```<br/>\n```js\n$scope.text = 'lorem ipsum dolor sit amet';\n```\n```html\n<!--should not cut words in the middle if preserve is true-->\n<p>{{ text | truncate: 7: '...': true }}</p>\n\n<p>{{ text | truncate: 13: '...' }}</p>\n\n<!--should not touch string that shorter than the provided length -->\n<p>{{ text | truncate: 50: '...' }}</p>\n\n<!--result:\nlorem ipsum...\nlorem ipsum d...\nlorem ipsum dolor sit amet\n```\n### split\ntruncates a string given a specified length, providing a custom string to denote an omission.<br/>\nusage: ``` | split: [delimiter]: [skip-optional]```<br/>\n```js\n$scope.text = 'lorem ipsum dolor sit amet';\n```\n```html\n\n<p>{{ text | split: ' ' }}</p>\n\n<p>{{ text | split: ' ': 2}}</p>\n\n<!--result:\n['lorem', 'ipsum', 'dolor', 'sit', 'amet']\n['lorem ipsum dolor', 'sit', 'amet']\n```\n### reverse\nReverses a string\n```js\n$scope.text = 'lorem ipsum dolor sit amet';\n```\n```html\n<p>{{ text | reverse }}</p>\n<!--result:\ntema tis rolod muspi merol\n```\n### wrap\nWrap a string with another string<br/>\nusage: ```string | wrap: string: string[optional]```\n```html\n<p>{{ 'foo' | wrap: '/' }}</p>\n<p>{{ 'foo' | wrap: '{{': '}}' }}</p>\n<!--result:\n/foo/\n{{foo}}\n```\n### trim\nStrip whitespace (or other characters) from the beginning and end of a string<br/>\nusage: ```string | trim: chars[optional]```\n```html\n<p>{{ '    foo   ' | trim }}</p>\n<p>{{ 'foobarfoo' | trim: 'foo' }}\n<!--result:\nfoo\nbar\n```\n### ltrim\nStrip whitespace (or other characters) from the beginning of a string<br/>\nusage: ```string | ltrim: chars[optional]```\n```html\n<p>{{ 'barfoobar' | ltrim: 'bar' }}\n<!--result:\nfoobar\n```\n### rtrim\nStrip whitespace (or other characters) from the end of a string<br/>\nusage: ```string | rtrim: chars[optional]```\n```html\n<p>{{ 'barfoobar' | rtrim: 'bar' }}\n<!--result:\nbarfoo\n```\n### repeat\nRepeats a string n times<br/>\n**Usage:** ```string | repeat: n: separator[optional]```\n```html\n<p>{{ 'foo' | repeat: 3: '-' }}</p>\n<!--repeat:\nfoo-foo-foo\n```\n### test\nTest if a string match a pattern<br/>\n**Usage:** ```string | test: pattern: flag[optional]```\n```html\n<p>{{ '15/12/2003' | test: '^[0-9]{2}[/]{1}[0-9]{2}[/]{1}[0-9]{4}$': 'i' }}</p>\n<p>{{ '0123456' | test: '\\\\D': 'i' }}</p>\n<!--result:\ntrue\ntrue\n```\n### match\nReturn an array of matched element in a string<br/>\n**Usage:** ```string | match: pattern: flag[optional]```\n```html\n<p>{{ '15/12/2003' | match: '\\\\d+': 'g' }}</p>\n<!--result:\n['15', '12', '2003']\n```\n\n## Math\n\n### max\nmax find and return the largest number in a given array.\nif an `expression` is provided, will return max value by expression.\n**Usage:** ```array | max: expression[optional]```\n```js\n$scope.users = [\n  { user: { score: 988790 } },\n  { user: { score: 123414 } },\n  { user: { rank : 988999 } },\n  { user: { score: 987621 } }\n];\n```\n```html\n<p> {{ [1,2,3,4,7,8,9] | max }}</p>\n<p> {{ users | max: 'user.score || user.rank' }}</p>\n<!--\nresult:\n* 9\n* { user: { rank : 988999 } }\n```\n\n### min\nmin find and return the lowest number in a given array.\nif an `expression` is provided, will return min value by expression.\n**Usage:** ```array | min: expression[optional]```\n```js\n$scope.users = [\n  { user: { score: 988790 } },\n  { user: { score: 123414 } },\n  { user: { score: 987621 } }\n];\n```\n```html\n<p> {{ [1,2,3,4,7,8,9] | min }}</p>\n<p> {{ users | min: 'user.score' }}</p>\n<!--\nresult:\n* 1\n* { user: { score: 123414 } }\n```\n### abs\nReturns the absolute value of a number\n**Usage:** ```number | string```\n```html\n<div ng-repeat=\"val in [-2.2, 1.3, '-3.4', '4.5']\">The absolute value of {{val}} is {{val | abs}}</div>\n<!--\nresult:\n* The absolute value of -1.2 is 1.2\n* The absolute value of 2.3 is 2.3\n* The absolute value of -3.4 is 3.4\n* The absolute value of '4.5' is 4.5\n```\n### percent\nPercentage between two numbers<br/>\n**Usage:** ``` number | percent: total: round[optional]```, round by default false.\n```html\n<p>{{ 23 | percent: 500 }}</p>\n<p>{{ 23 | percent: 500: true }}</p>\n<!--result:\n4.6\n4\n```\n### radix\nConverting decimal numbers to different bases(radix)<br/>\n**Usage:** ```number | radix: base```\n```html\n<p>{{ 8 | radix: 2 }}</p>\n<p>{{ 32586 | radix: 16 }}</p>\n<!--result:\n1000\n7F4A\n```\n### sum\nSum up all values within an array<br/>\n**Usage:** ```array | sum: initial-value[optional]```\n```html\n{{ [2,3,5] | sum }}\n{{ [2,3,5] | sum: 10 }}\n<!--result\n10\n20\n```\n### degrees\nConverts radians into degrees<br/>\n**Usage:** ```radians | degrees: round-to-decimal```,\n```html\n<p>{{ 0.785398 | degrees: 0 }}</p>\n<p>{{ -1.57 | degrees: 3 }}</p>\n<!--result\n45\n-89.954\n```\n### radians\nConverts degrees into radians<br/>\n**Usage:** ```degrees | radians: round-to-decimal```,\n```html\n<p>{{ 45 | radians: 2 }}</p>\n<p>{{ 180 | radians: 5 }}</p>\n<!--result\n0.79\n3.14159\n```\n### shortFmt\nConverts numbers into formatted display<br/>\n**Usage:** ```number | shortFmt: round-to-decimal```,\n```html\n<p>{{ 45000 | shortFmt: 0 }}</p>\n<p>{{ 18234822 | shortFmt: 1 }}</p>\n<!--result\n45 k\n18.2 m\n```\n### byteFmt\nConverts bytes into formatted display<br/>\n**Usage:** ```number | byteFmt: round-to-decimal```,\n```html\n<p>{{ 1998 | byteFmt: 2 }}</p>\n<p>{{ 1339234901 | byteFmt: 5 }}</p>\n<!--result\n1.95 KB\n1.24726 GB\n```\n### kbFmt\nConverts kilobytes into formatted display<br/>\n**Usage:** ```number | kbFmt: round-to-decimal```,\n```html\n<p>{{ 1024 | kbFmt: 0 }}</p>\n<p>{{ 1049901 | kbFmt: 5 }}</p>\n<!--result\n1 MB\n1.00126 GB\n\n```\n## Boolean\n>Used for boolean expression in chaining filters\n\n### isGreaterThan\n**aliases:** `>`\n```html\n<div ng-show=\"{{ array | map | sum | isGreaterThan: num }}\"></div>\n<!--or: -->\n<div ng-show=\"{{ array | map | sum | >: num }}\"></div>\n```\n\n### isGreaterThanOrEqualTo\n**aliases:** `>=`\n```html\n<div ng-show=\"{{ array | map | sum | isGreaterThanOrEqualTo: num }}\"></div>\n<!--or: -->\n<div ng-show=\"{{ array | map | sum | >=: num }}\"></div>\n```\n\n### isLessThan\n**aliases:** `<`\n```html\n<div ng-show=\"{{ array | map | sum | isLessThan: num }}\"></div>\n<!--or: -->\n<div ng-show=\"{{ array | map | sum | <: num }}\"></div>\n```\n\n### isLessThanOrEqualTo\n**aliases:** `<=`\n```html\n<div ng-show=\"{{ array | map | sum | isLessThanOrEqualTo: num }}\"></div>\n<!--or: -->\n<div ng-show=\"{{ array | map | sum | <=: num }}\"></div>\n```\n\n### isEqualTo\n**aliases:** `==`\n```html\n<div ng-show=\"{{ array | map | sum | isEqualTo: num }}\"></div>\n<!--or: -->\n<div ng-show=\"{{ array | map | sum | ==: num }}\"></div>\n```\n\n### isNotEqualTo\n**aliases:** `!=`\n```html\n<div ng-show=\"{{ array | map | sum | isNotEqualTo: num }}\"></div>\n<!--or: -->\n<div ng-show=\"{{ array | map | sum | !=: num }}\"></div>\n```\n\n### isIdenticalTo\n**aliases:** `===`\n```html\n<div ng-show=\"{{ array | map | sum | isIdenticalTo: num }}\"></div>\n<!--or: -->\n<div ng-show=\"{{ array | map | sum | ===: num }}\"></div>\n```\n\n### isNotIdenticalTo\n**aliases:** `!==`\n```html\n<div ng-show=\"{{ array | map | sum | isNotIdenticalTo: num }}\"></div>\n<!--or: -->\n<div ng-show=\"{{ array | map | sum | !==: num }}\"></div>\n```\n## Changelog\n### 0.5.7\n* fix issue #119\n\n### 0.5.6\n* fix issue #145\n\n### 0.5.5\n* add `range` and `chunk-by` filters\n* fix issue #139\n\n### 0.5.4\n* add `match` and `test` filters\n\n### 0.5.3\n* add `latinize` filter\n\n### 0.5.1\n* `min` and `max` can get a property as an argument.\n* improve `slugify` filter.\n* refactor `filterWatcher`(memoize), now it works like a charm.\n* refactor `groupBy` now it can get be chain with other filters\n\n### 0.4.9\n* fix issue #38 with [reverseFilter](#reverse)\n\n### 0.4.8\n* add [defaultsFilter](#defaults)\n* improve docs, tests\n\n### 0.4.7\n* add [condition filters](#Boolean) set.\n<br/>\n<br/>\n\n## TODO\n- Add project website on branch gh-pages, see **[Github-help](https://help.github.com/articles/creating-project-pages-manually)**\n\n## Contributing\n* If you planning add some feature please **create issue before**.\n* Don't forget about tests.\n\nClone the project: <br/>\n```bash\n$ git clone\n$ npm install\n$ bower install\n```\nRun the tests:\n```bash\n$ grunt test\n```\n\n[npm-image]: https://img.shields.io/npm/v/angular-filter.svg?style=flat-square\n[npm-url]: https://npmjs.org/package/angular-filter\n[travis-image]: https://img.shields.io/travis/a8m/angular-filter.svg?style=flat-square\n[travis-url]: https://travis-ci.org/a8m/angular-filter\n[coveralls-image]: https://img.shields.io/coveralls/a8m/angular-filter.svg?style=flat-square\n[coveralls-url]: https://coveralls.io/r/a8m/angular-filter\n[license-image]: http://img.shields.io/npm/l/angular-filter.svg?style=flat-square\n[license-url]: LICENSE\n[gitter-image]: https://badges.gitter.im/Join%20Chat.svg\n[gitter-url]: https://gitter.im/a8m/angular-filter?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\n","maintainers":[{"name":"a8m","email":"ariel@mashraki.co.il"}],"time":{"modified":"2022-06-13T02:53:03.608Z","created":"2014-10-09T07:20:56.847Z","0.4.7":"2014-10-09T07:20:56.847Z","0.4.8":"2014-10-13T08:41:58.776Z","0.4.9":"2014-10-14T04:07:10.562Z","0.5.0":"2014-11-11T22:25:10.132Z","0.5.1":"2014-11-12T20:14:37.541Z","0.5.2":"2015-01-16T23:19:22.839Z","0.5.3":"2015-02-16T18:00:28.120Z","0.5.4":"2015-02-20T15:54:56.072Z","0.5.5":"2015-08-07T15:09:27.760Z","0.5.6":"2015-09-24T06:33:30.996Z","0.5.7":"2015-10-04T10:21:13.355Z","0.5.8":"2015-11-17T07:22:42.402Z","0.5.9":"2016-07-15T11:37:47.330Z","0.5.10":"2016-08-16T12:33:03.878Z","0.5.11":"2016-08-16T13:45:51.006Z","0.5.12":"2016-12-03T11:57:46.119Z","0.5.13":"2016-12-06T18:46:43.018Z","0.5.14":"2016-12-06T18:49:46.338Z","0.5.15":"2017-01-17T19:41:55.242Z","0.5.16":"2017-04-07T06:58:47.997Z","0.5.17":"2017-09-22T16:20:54.912Z"},"homepage":"https://github.com/a8m/angular-filter","keywords":["angular","client","browser","filter","lodash","underscore","collection"],"repository":{"type":"git","url":"git+https://github.com/a8m/angular-filter.git"},"author":{"name":"Ariel Mashraki","email":"ariel@mashraki.co.il"},"bugs":{"url":"https://github.com/a8m/angular-filter/issues"},"license":"MIT","readmeFilename":"README.md","users":{"a8m":true,"mrbgit":true}}