New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

angular-filter

Package Overview
Dependencies
Maintainers
1
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

angular-filter - npm Package Compare versions

Comparing version 0.5.1 to 0.5.2

src/_filter/collection/join.js

2

bower.json
{
"name": "angular-filter",
"version": "0.5.1",
"version": "0.5.2",
"main": "dist/angular-filter.js",

@@ -5,0 +5,0 @@ "description": "Bunch of useful filters for angularJS(with no external dependencies!)",

/**
* Bunch of useful filters for angularJS(with no external dependencies!)
* @version v0.5.1 - 2014-11-12 * @link https://github.com/a8m/angular-filter
* @version v0.5.2 - 2015-01-17 * @link https://github.com/a8m/angular-filter
* @author Ariel Mashraki <ariel@mashraki.co.il>

@@ -56,3 +56,3 @@ * @license MIT License, http://www.opensource.org/licenses/MIT

return keys.map(function(el) {
return !(!object[el] || (object[el] != partial[el]));
return (object[el] !== undefined) && (object[el] == partial[el]);
}).indexOf(false) == -1;

@@ -157,2 +157,3 @@

}
/**

@@ -321,3 +322,2 @@ * @ngdoc filter

*/
angular.module('a8m.after-where', [])

@@ -327,5 +327,5 @@ .filter('afterWhere', function() {

collection = (isObject(collection)) ?
toArray(collection) :
collection;
collection = (isObject(collection))
? toArray(collection)
: collection;

@@ -357,11 +357,9 @@ if(!isArray(collection) || isUndefined(object))

return function (collection, count) {
collection = (isObject(collection))
? toArray(collection)
: collection;
collection = (isObject(collection)) ?
toArray(collection) :
collection;
return (isArray(collection)) ?
collection.slice(count) :
collection;
return (isArray(collection))
? collection.slice(count)
: collection;
}

@@ -380,3 +378,2 @@ });

*/
angular.module('a8m.before-where', [])

@@ -386,5 +383,5 @@ .filter('beforeWhere', function() {

collection = (isObject(collection)) ?
toArray(collection) :
collection;
collection = (isObject(collection))
? toArray(collection)
: collection;

@@ -410,17 +407,13 @@ if(!isArray(collection) || isUndefined(object))

* in the collection before the specified count.
*
*/
angular.module('a8m.before', [])
.filter('before', function() {
return function (collection, count) {
collection = (isObject(collection))
? toArray(collection)
: collection;
collection = (isObject(collection)) ?
toArray(collection) :
collection;
return (isArray(collection)) ?
collection.slice(0, (!count) ? count : --count) :
collection;
return (isArray(collection))
? collection.slice(0, (!count) ? count : --count)
: collection;
}

@@ -440,3 +433,3 @@ });

angular.module('a8m.concat', [])
//TODO:unique option ? or use unique filter to filter result
//TODO(Ariel):unique option ? or use unique filter to filter result
.filter('concat', [function () {

@@ -449,5 +442,5 @@ return function (collection, joined) {

if (isArray(collection)) {
return (isObject(joined)) ?
collection.concat(toArray(joined)) :
collection.concat(joined);
return (isObject(joined))
? collection.concat(toArray(joined))
: collection.concat(joined);
}

@@ -457,5 +450,5 @@

var array = toArray(collection);
return (isObject(joined)) ?
array.concat(toArray(joined)) :
array.concat(joined);
return (isObject(joined))
? array.concat(toArray(joined))
: array.concat(joined);
}

@@ -488,11 +481,9 @@ return collection;

if(!isArray(collection) || isUndefined(expression)) {
return true;
return false;
}
return collection.some( function(elm) {
return (isObject(elm) || isFunction(expression)) ?
$parse(expression)(elm) :
elm === expression;
return collection.some(function(elm) {
return (isObject(elm) || isFunction(expression))
? $parse(expression)(elm)
: elm === expression;
});

@@ -587,7 +578,5 @@

*/
angular.module('a8m.every', [])
.filter('every', ['$parse', function($parse) {
return function (collection, expression) {
collection = (isObject(collection)) ? toArray(collection) : collection;

@@ -600,8 +589,6 @@

return collection.every( function(elm) {
return (isObject(elm) || isFunction(expression)) ?
$parse(expression)(elm) :
elm === expression;
return (isObject(elm) || isFunction(expression))
? $parse(expression)(elm)
: elm === expression;
});
}

@@ -619,3 +606,2 @@ }]);

angular.module('a8m.filter-by', [])
.filter('filterBy', ['$parse', function( $parse ) {

@@ -636,3 +622,2 @@ return function(collection, properties, search) {

return collection.filter(function(elm) {
return properties.some(function(prop) {

@@ -656,9 +641,7 @@

return (isString(comparator) || isNumber(comparator)) ?
String(comparator).toLowerCase().contains(search) :
false;
})
return (isString(comparator) || isNumber(comparator))
? String(comparator).toLowerCase().contains(search)
: false;
});
});
}

@@ -677,3 +660,2 @@ }]);

angular.module('a8m.first', [])
.filter('first', ['$parse', function( $parse ) {

@@ -686,4 +668,5 @@ return function(collection) {

collection = (isObject(collection)) ? toArray(collection) :
collection;
collection = (isObject(collection))
? toArray(collection)
: collection;

@@ -712,3 +695,2 @@ if(!isArray(collection)) {

*/
angular.module('a8m.flatten', [])

@@ -719,3 +701,4 @@ .filter('flatten', function () {

shallow = shallow || false;
collection = (isObject(collection)) ? toArray(collection)
collection = (isObject(collection))
? toArray(collection)
: collection;

@@ -727,4 +710,5 @@

return (!shallow) ? flatten(collection, 0) :
[].concat.apply([], collection);
return !shallow
? flatten(collection, 0)
: [].concat.apply([], collection);
}

@@ -761,3 +745,2 @@ });

*/
angular.module('a8m.fuzzy-by', [])

@@ -802,3 +785,2 @@ .filter('fuzzyBy', ['$parse', function ( $parse ) {

*/
angular.module('a8m.fuzzy', [])

@@ -927,2 +909,25 @@ .filter('fuzzy', function () {

* @ngdoc filter
* @name join
* @kind function
*
* @description
* join a collection by a provided delimiter (space by default)
*/
angular.module('a8m.join', [])
.filter('join', function () {
return function (input, delimiter) {
if (isUndefined(input) || !isArray(input)) {
return input;
}
if (isUndefined(delimiter)) {
delimiter = ' ';
}
return input.join(delimiter);
};
})
;
/**
* @ngdoc filter
* @name last

@@ -936,15 +941,15 @@ * @kind function

angular.module('a8m.last', [])
.filter('last', ['$parse', function( $parse ) {
return function(collection) {
var n,
getter,
args,
//cuz reverse change our src collection
//and we don't want side effects
reversed = copy(collection);
var n
, getter
, args
//cuz reverse change our src collection
//and we don't want side effects
, reversed = copy(collection);
reversed = (isObject(reversed)) ? toArray(reversed) :
reversed;
reversed = (isObject(reversed))
? toArray(reversed)
: reversed;

@@ -975,10 +980,9 @@ if(!isArray(reversed)) {

*/
angular.module('a8m.map', [])
.filter('map', ['$parse', function($parse) {
return function (collection, expression) {
collection = (isObject(collection)) ?
toArray(collection) : collection;
collection = (isObject(collection))
? toArray(collection)
: collection;

@@ -990,3 +994,2 @@ if(!isArray(collection) || isUndefined(expression)) {

return collection.map(function (elm) {
return $parse(expression)(elm);

@@ -1011,4 +1014,5 @@ });

collection = (isObject(collection)) ?
toArray(collection) : collection;
collection = (isObject(collection))
? toArray(collection)
: collection;

@@ -1020,3 +1024,2 @@ if(!isArray(collection) || isUndefined(expression)) {

return collection.filter(function (elm) {
return !($parse(expression)(elm));

@@ -1041,4 +1044,5 @@ });

collection = (isObject(collection)) ?
toArray(collection) : collection;
collection = (isObject(collection))
? toArray(collection)
: collection;

@@ -1050,3 +1054,2 @@ if(!isArray(collection) || isUndefined(expression)) {

return collection.filter(function (elm) {
return $parse(expression)(elm);

@@ -1074,4 +1077,5 @@ });

}
collection = (isObject(collection)) ?
toArray(collection) : collection;
collection = isObject(collection)
? toArray(collection)
: collection;

@@ -1140,3 +1144,2 @@ return collection.filter(function (elm) {

/**

@@ -1151,5 +1154,3 @@ * @ngdoc filter

*/
angular.module('a8m.search-field', [])
.filter('searchField', ['$parse', function ($parse) {

@@ -1239,9 +1240,9 @@ return function (collection) {

return (isUndefined(property)) ?
return (isUndefined(property))
//if it's kind of primitive array
collection.filter(function (elm, pos, self) {
? collection.filter(function (elm, pos, self) {
return self.indexOf(elm) === pos;
}) :
})
//else compare with equals
collection.filter(function (elm) {
: collection.filter(function (elm) {
var prop = get(elm);

@@ -1264,3 +1265,2 @@ if(some(uniqueItems, prop)) {

}
}

@@ -1279,3 +1279,2 @@ }

*/
angular.module('a8m.where', [])

@@ -1288,4 +1287,5 @@ .filter('where', function() {

}
collection = (isObject(collection)) ?
toArray(collection) : collection;
collection = (isObject(collection))
? toArray(collection)
: collection;

@@ -1327,6 +1327,6 @@ return collection.filter(function (elm) {

return col.some(function(dElm) {
return expression ?
equals(getter(dElm), getter(el)) :
equals(dElm, el);
})
return expression
? equals(getter(dElm), getter(el))
: equals(dElm, el);
});
}

@@ -1920,13 +1920,12 @@ }

*/
angular.module('a8m.ucfirst', [])
.filter('ucfirst', [function() {
return function(input) {
return angular.isString(input) ? input.split(' ')
.map(function (char) {
return char.charAt(0).toUpperCase() + char.substring(1);
}).join(' ') : input;
if(!isString(input)) {
return input;
}
return input.split(' ').map(function (ch) {
return ch.charAt(0).toUpperCase() + ch.substring(1);
}).join(' ');
}
}]);

@@ -2044,3 +2043,3 @@

function getHashKey(fName, args) {
return [fName, JSON.stringify(args)]
return [fName, angular.toJson(args)]
.join('#')

@@ -2137,22 +2136,4 @@ .replace(/"/g,'');

});
/**

@@ -2210,2 +2191,3 @@ * @ngdoc module

'a8m.flatten',
'a8m.join',

@@ -2212,0 +2194,0 @@ 'a8m.math',

/**
* Bunch of useful filters for angularJS(with no external dependencies!)
* @version v0.5.1 - 2014-11-12 * @link https://github.com/a8m/angular-filter
* @version v0.5.2 - 2015-01-17 * @link https://github.com/a8m/angular-filter
* @author Ariel Mashraki <ariel@mashraki.co.il>
* @license MIT License, http://www.opensource.org/licenses/MIT
*/!function(a,b,c){"use strict";function d(a){return D(a)?a:Object.keys(a).map(function(b){return a[b]})}function e(a){return null===a}function f(a,b){var c=Object.keys(a);return-1==c.map(function(c){return!(!b[c]||b[c]!=a[c])}).indexOf(!1)}function g(a,b){if(""===b)return a;var c=a.indexOf(b.charAt(0));return-1===c?!1:g(a.substr(c+1),b.substr(1))}function h(a,b,c){var d=0;return a.filter(function(a){var e=x(c)?b>d&&c(a):b>d;return d=e?d+1:d,e})}function i(a,b,c){return c.round(a*c.pow(10,b))/c.pow(10,b)}function j(a,b,c){b=b||[];var d=Object.keys(a);return d.forEach(function(d){if(C(a[d])&&!D(a[d])){var e=c?c+"."+d:c;j(a[d],b,e||d)}else{var f=c?c+"."+d:d;b.push(f)}}),b}function k(a){return a&&a.$evalAsync&&a.$watch}function l(){return function(a,b){return a>b}}function m(){return function(a,b){return a>=b}}function n(){return function(a,b){return b>a}}function o(){return function(a,b){return b>=a}}function p(){return function(a,b){return a==b}}function q(){return function(a,b){return a!=b}}function r(){return function(a,b){return a===b}}function s(){return function(a,b){return a!==b}}function t(a){return function(b,c){return b=C(b)?d(b):b,!D(b)||y(c)?!0:b.some(function(b){return C(b)||z(c)?a(c)(b):b===c})}}function u(a,b){return b=b||0,b>=a.length?a:D(a[b])?u(a.slice(0,b).concat(a[b],a.slice(b+1)),b):u(a,b+1)}function v(a){return function(b,c){function e(a,b){return y(b)?!1:a.some(function(a){return H(a,b)})}if(b=C(b)?d(b):b,!D(b))return b;var f=[],g=a(c);return b.filter(y(c)?function(a,b,c){return c.indexOf(a)===b}:function(a){var b=g(a);return e(f,b)?!1:(f.push(b),!0)})}}function w(a,b,c){return b?a+c+w(a,--b,c):a}var x=b.isDefined,y=b.isUndefined,z=b.isFunction,A=b.isString,B=b.isNumber,C=b.isObject,D=b.isArray,E=b.forEach,F=b.extend,G=b.copy,H=b.equals;String.prototype.contains||(String.prototype.contains=function(){return-1!==String.prototype.indexOf.apply(this,arguments)}),b.module("a8m.angular",[]).filter("isUndefined",function(){return function(a){return b.isUndefined(a)}}).filter("isDefined",function(){return function(a){return b.isDefined(a)}}).filter("isFunction",function(){return function(a){return b.isFunction(a)}}).filter("isString",function(){return function(a){return b.isString(a)}}).filter("isNumber",function(){return function(a){return b.isNumber(a)}}).filter("isArray",function(){return function(a){return b.isArray(a)}}).filter("isObject",function(){return function(a){return b.isObject(a)}}).filter("isEqual",function(){return function(a,c){return b.equals(a,c)}}),b.module("a8m.conditions",[]).filter({isGreaterThan:l,">":l,isGreaterThanOrEqualTo:m,">=":m,isLessThan:n,"<":n,isLessThanOrEqualTo:o,"<=":o,isEqualTo:p,"==":p,isNotEqualTo:q,"!=":q,isIdenticalTo:r,"===":r,isNotIdenticalTo:s,"!==":s}),b.module("a8m.is-null",[]).filter("isNull",function(){return function(a){return e(a)}}),b.module("a8m.after-where",[]).filter("afterWhere",function(){return function(a,b){if(a=C(a)?d(a):a,!D(a)||y(b))return a;var c=a.map(function(a){return f(b,a)}).indexOf(!0);return a.slice(-1===c?0:c)}}),b.module("a8m.after",[]).filter("after",function(){return function(a,b){return a=C(a)?d(a):a,D(a)?a.slice(b):a}}),b.module("a8m.before-where",[]).filter("beforeWhere",function(){return function(a,b){if(a=C(a)?d(a):a,!D(a)||y(b))return a;var c=a.map(function(a){return f(b,a)}).indexOf(!0);return a.slice(0,-1===c?a.length:++c)}}),b.module("a8m.before",[]).filter("before",function(){return function(a,b){return a=C(a)?d(a):a,D(a)?a.slice(0,b?--b:b):a}}),b.module("a8m.concat",[]).filter("concat",[function(){return function(a,b){if(y(b))return a;if(D(a))return a.concat(C(b)?d(b):b);if(C(a)){var c=d(a);return c.concat(C(b)?d(b):b)}return a}}]),b.module("a8m.contains",[]).filter({contains:["$parse",t],some:["$parse",t]}),b.module("a8m.count-by",[]).filter("countBy",["$parse",function(a){return function(b,c){var e,f={},g=a(c);return b=C(b)?d(b):b,!D(b)||y(c)?b:(b.forEach(function(a){e=g(a),f[e]||(f[e]=0),f[e]++}),f)}}]),b.module("a8m.defaults",[]).filter("defaults",["$parse",function(a){return function(b,c){if(b=C(b)?d(b):b,!D(b)||!C(c))return b;var e=j(c);return b.forEach(function(b){e.forEach(function(d){var e=a(d),f=e.assign;y(e(b))&&f(b,e(c))})}),b}}]),b.module("a8m.every",[]).filter("every",["$parse",function(a){return function(b,c){return b=C(b)?d(b):b,!D(b)||y(c)?!0:b.every(function(b){return C(b)||z(c)?a(c)(b):b===c})}}]),b.module("a8m.filter-by",[]).filter("filterBy",["$parse",function(a){return function(b,e,f){var g;return f=A(f)||B(f)?String(f).toLowerCase():c,b=C(b)?d(b):b,!D(b)||y(f)?b:b.filter(function(b){return e.some(function(c){if(~c.indexOf("+")){var d=c.replace(new RegExp("\\s","g"),"").split("+");g=d.reduce(function(c,d,e){return 1===e?a(c)(b)+" "+a(d)(b):c+" "+a(d)(b)})}else g=a(c)(b);return A(g)||B(g)?String(g).toLowerCase().contains(f):!1})})}}]),b.module("a8m.first",[]).filter("first",["$parse",function(a){return function(b){var e,f,g;return b=C(b)?d(b):b,D(b)?(g=Array.prototype.slice.call(arguments,1),e=B(g[0])?g[0]:1,f=B(g[0])?B(g[1])?c:g[1]:g[0],g.length?h(b,e,f?a(f):f):b[0]):b}}]),b.module("a8m.flatten",[]).filter("flatten",function(){return function(a,b){return b=b||!1,a=C(a)?d(a):a,D(a)?b?[].concat.apply([],a):u(a,0):a}}),b.module("a8m.fuzzy-by",[]).filter("fuzzyBy",["$parse",function(a){return function(b,c,e,f){var h,i,j=f||!1;return b=C(b)?d(b):b,!D(b)||y(c)||y(e)?b:(i=a(c),b.filter(function(a){return h=i(a),A(h)?(h=j?h:h.toLowerCase(),e=j?e:e.toLowerCase(),g(h,e)!==!1):!1}))}}]),b.module("a8m.fuzzy",[]).filter("fuzzy",function(){return function(a,b,c){function e(a,b){var c,d,e=Object.keys(a);return 0<e.filter(function(e){return c=a[e],d?!0:A(c)?(c=f?c:c.toLowerCase(),d=g(c,b)!==!1):!1}).length}var f=c||!1;return a=C(a)?d(a):a,!D(a)||y(b)?a:(b=f?b:b.toLowerCase(),a.filter(function(a){return A(a)?(a=f?a:a.toLowerCase(),g(a,b)!==!1):C(a)?e(a,b):!1}))}}),b.module("a8m.group-by",["a8m.filter-watcher"]).filter("groupBy",["$parse","filterWatcher",function(a,b){return function(c,d){function e(a,b){var c,d={};return E(a,function(a){c=b(a),d[c]||(d[c]=[]),d[c].push(a)}),d}if(!C(c)||y(d))return c;var f=a(d);return b.isMemoized("groupBy",arguments)||b.memoize("groupBy",arguments,this,e(c,f))}}]),b.module("a8m.is-empty",[]).filter("isEmpty",function(){return function(a){return C(a)?!d(a).length:!a.length}}),b.module("a8m.last",[]).filter("last",["$parse",function(a){return function(b){var e,f,g,i=G(b);return i=C(i)?d(i):i,D(i)?(g=Array.prototype.slice.call(arguments,1),e=B(g[0])?g[0]:1,f=B(g[0])?B(g[1])?c:g[1]:g[0],g.length?h(i.reverse(),e,f?a(f):f).reverse():i[i.length-1]):i}}]),b.module("a8m.map",[]).filter("map",["$parse",function(a){return function(b,c){return b=C(b)?d(b):b,!D(b)||y(c)?b:b.map(function(b){return a(c)(b)})}}]),b.module("a8m.omit",[]).filter("omit",["$parse",function(a){return function(b,c){return b=C(b)?d(b):b,!D(b)||y(c)?b:b.filter(function(b){return!a(c)(b)})}}]),b.module("a8m.pick",[]).filter("pick",["$parse",function(a){return function(b,c){return b=C(b)?d(b):b,!D(b)||y(c)?b:b.filter(function(b){return a(c)(b)})}}]),b.module("a8m.remove-with",[]).filter("removeWith",function(){return function(a,b){return y(b)?a:(a=C(a)?d(a):a,a.filter(function(a){return!f(b,a)}))}}),b.module("a8m.remove",[]).filter("remove",function(){return function(a){a=C(a)?d(a):a;var b=Array.prototype.slice.call(arguments,1);return D(a)?a.filter(function(a){return!b.some(function(b){return H(b,a)})}):a}}),b.module("a8m.reverse",[]).filter("reverse",[function(){return function(a){return a=C(a)?d(a):a,A(a)?a.split("").reverse().join(""):D(a)?a.slice().reverse():a}}]),b.module("a8m.search-field",[]).filter("searchField",["$parse",function(a){return function(b){var c,e;b=C(b)?d(b):b;var f=Array.prototype.slice.call(arguments,1);return D(b)&&f.length?b.map(function(b){return e=f.map(function(d){return(c=a(d))(b)}).join(" "),F(b,{searchField:e})}):b}}]),b.module("a8m.to-array",[]).filter("toArray",function(){return function(a,b){return C(a)?b?Object.keys(a).map(function(b){return F(a[b],{$key:b})}):d(a):a}}),b.module("a8m.unique",[]).filter({unique:["$parse",v],uniq:["$parse",v]}),b.module("a8m.where",[]).filter("where",function(){return function(a,b){return y(b)?a:(a=C(a)?d(a):a,a.filter(function(a){return f(b,a)}))}}),b.module("a8m.xor",[]).filter("xor",["$parse",function(a){return function(b,c,e){function f(b,c){var d=a(e);return c.some(function(a){return e?H(d(a),d(b)):H(a,b)})}return e=e||!1,b=C(b)?d(b):b,c=C(c)?d(c):c,D(b)&&D(c)?b.concat(c).filter(function(a){return!(f(a,b)&&f(a,c))}):b}}]),b.module("a8m.math.byteFmt",["a8m.math"]).filter("byteFmt",["$math",function(a){return function(b,c){return B(c)&&isFinite(c)&&c%1===0&&c>=0&&B(b)&&isFinite(b)?1024>b?i(b,c,a)+" B":1048576>b?i(b/1024,c,a)+" KB":1073741824>b?i(b/1048576,c,a)+" MB":i(b/1073741824,c,a)+" GB":"NaN"}}]),b.module("a8m.math.degrees",["a8m.math"]).filter("degrees",["$math",function(a){return function(b,c){if(B(c)&&isFinite(c)&&c%1===0&&c>=0&&B(b)&&isFinite(b)){var d=180*b/a.PI;return a.round(d*a.pow(10,c))/a.pow(10,c)}return"NaN"}}]),b.module("a8m.math.kbFmt",["a8m.math"]).filter("kbFmt",["$math",function(a){return function(b,c){return B(c)&&isFinite(c)&&c%1===0&&c>=0&&B(b)&&isFinite(b)?1024>b?i(b,c,a)+" KB":1048576>b?i(b/1024,c,a)+" MB":i(b/1048576,c,a)+" GB":"NaN"}}]),b.module("a8m.math",[]).factory("$math",["$window",function(a){return a.Math}]),b.module("a8m.math.max",["a8m.math"]).filter("max",["$math","$parse",function(a,b){function c(c,d){var e=c.map(function(a){return b(d)(a)});return e.indexOf(a.max.apply(a,e))}return function(b,d){return D(b)?y(d)?a.max.apply(a,b):b[c(b,d)]:b}}]),b.module("a8m.math.min",["a8m.math"]).filter("min",["$math","$parse",function(a,b){function c(c,d){var e=c.map(function(a){return b(d)(a)});return e.indexOf(a.min.apply(a,e))}return function(b,d){return D(b)?y(d)?a.min.apply(a,b):b[c(b,d)]:b}}]),b.module("a8m.math.percent",["a8m.math"]).filter("percent",["$math","$window",function(a,b){return function(c,d,e){var f=A(c)?b.Number(c):c;return d=d||100,e=e||!1,!B(f)||b.isNaN(f)?c:e?a.round(f/d*100):f/d*100}}]),b.module("a8m.math.radians",["a8m.math"]).filter("radians",["$math",function(a){return function(b,c){if(B(c)&&isFinite(c)&&c%1===0&&c>=0&&B(b)&&isFinite(b)){var d=3.14159265359*b/180;return a.round(d*a.pow(10,c))/a.pow(10,c)}return"NaN"}}]),b.module("a8m.math.radix",[]).filter("radix",function(){return function(a,b){var c=/^[2-9]$|^[1-2]\d$|^3[0-6]$/;return B(a)&&c.test(b)?a.toString(b).toUpperCase():a}}),b.module("a8m.math.shortFmt",["a8m.math"]).filter("shortFmt",["$math",function(a){return function(b,c){return B(c)&&isFinite(c)&&c%1===0&&c>=0&&B(b)&&isFinite(b)?1e3>b?b:1e6>b?i(b/1e3,c,a)+" K":1e9>b?i(b/1e6,c,a)+" M":i(b/1e9,c,a)+" B":"NaN"}}]),b.module("a8m.math.sum",[]).filter("sum",function(){return function(a,b){return D(a)?a.reduce(function(a,b){return a+b},b||0):a}}),b.module("a8m.ends-with",[]).filter("endsWith",function(){return function(a,b,c){var d,e=c||!1;return!A(a)||y(b)?a:(a=e?a:a.toLowerCase(),d=a.length-b.length,-1!==a.indexOf(e?b:b.toLowerCase(),d))}}),b.module("a8m.ltrim",[]).filter("ltrim",function(){return function(a,b){var c=b||"\\s";return A(a)?a.replace(new RegExp("^"+c+"+"),""):a}}),b.module("a8m.repeat",[]).filter("repeat",[function(){return function(a,b,c){var d=~~b;return A(a)&&d?w(a,--b,c||""):a}}]),b.module("a8m.rtrim",[]).filter("rtrim",function(){return function(a,b){var c=b||"\\s";return A(a)?a.replace(new RegExp(c+"+$"),""):a}}),b.module("a8m.slugify",[]).filter("slugify",[function(){return function(a,b){var c=y(b)?"-":b;return A(a)?a.toLowerCase().replace(/\s+/g,c):a}}]),b.module("a8m.starts-with",[]).filter("startsWith",function(){return function(a,b,c){var d=c||!1;return!A(a)||y(b)?a:(a=d?a:a.toLowerCase(),!a.indexOf(d?b:b.toLowerCase()))}}),b.module("a8m.stringular",[]).filter("stringular",function(){return function(a){var b=Array.prototype.slice.call(arguments,1);return a.replace(/{(\d+)}/g,function(a,c){return y(b[c])?a:b[c]})}}),b.module("a8m.strip-tags",[]).filter("stripTags",function(){return function(a){return A(a)?a.replace(/<\S[^><]*>/g,""):a}}),b.module("a8m.trim",[]).filter("trim",function(){return function(a,b){var c=b||"\\s";return A(a)?a.replace(new RegExp("^"+c+"+|"+c+"+$","g"),""):a}}),b.module("a8m.truncate",[]).filter("truncate",function(){return function(a,b,c,d){return b=y(b)?a.length:b,d=d||!1,c=c||"",!A(a)||a.length<=b?a:a.substring(0,d?-1===a.indexOf(" ",b)?a.length:a.indexOf(" ",b):b)+c}}),b.module("a8m.ucfirst",[]).filter("ucfirst",[function(){return function(a){return b.isString(a)?a.split(" ").map(function(a){return a.charAt(0).toUpperCase()+a.substring(1)}).join(" "):a}}]),b.module("a8m.uri-component-encode",[]).filter("uriComponentEncode",["$window",function(a){return function(b){return A(b)?a.encodeURIComponent(b):b}}]),b.module("a8m.uri-encode",[]).filter("uriEncode",["$window",function(a){return function(b){return A(b)?a.encodeURI(b):b}}]),b.module("a8m.wrap",[]).filter("wrap",function(){return function(a,b,c){return!A(a)||y(b)?a:[b,a,c||b].join("")}}),b.module("a8m.filter-watcher",[]).provider("filterWatcher",function(){this.$get=["$window","$rootScope",function(a,b){function c(a,b){return[a,JSON.stringify(b)].join("#").replace(/"/g,"")}function d(a){var b=a.targetScope.$id;E(j[b],function(a){delete i[a]}),delete j[b]}function e(){l(function(){b.$$phase||(i={})})}function f(a,b){var c=a.$id;return y(j[c])&&(a.$on("$destroy",d),j[c]=[]),j[c].push(b)}function g(a,b){var d=c(a,b);return i[d]}function h(a,b,d,g){var h=c(a,b);return i[h]=g,k(d)?f(d,h):e(),g}var i={},j={},l=a.setTimeout;return{isMemoized:g,memoize:h}}]}),b.module("angular.filter",["a8m.ucfirst","a8m.uri-encode","a8m.uri-component-encode","a8m.slugify","a8m.strip-tags","a8m.stringular","a8m.truncate","a8m.starts-with","a8m.ends-with","a8m.wrap","a8m.trim","a8m.ltrim","a8m.rtrim","a8m.repeat","a8m.to-array","a8m.concat","a8m.contains","a8m.unique","a8m.is-empty","a8m.after","a8m.after-where","a8m.before","a8m.before-where","a8m.defaults","a8m.where","a8m.reverse","a8m.remove","a8m.remove-with","a8m.group-by","a8m.count-by","a8m.search-field","a8m.fuzzy-by","a8m.fuzzy","a8m.omit","a8m.pick","a8m.every","a8m.filter-by","a8m.xor","a8m.map","a8m.first","a8m.last","a8m.flatten","a8m.math","a8m.math.max","a8m.math.min","a8m.math.percent","a8m.math.radix","a8m.math.sum","a8m.math.degrees","a8m.math.radians","a8m.math.byteFmt","a8m.math.kbFmt","a8m.math.shortFmt","a8m.angular","a8m.conditions","a8m.is-null","a8m.filter-watcher"])}(window,window.angular);
*/!function(a,b,c){"use strict";function d(a){return D(a)?a:Object.keys(a).map(function(b){return a[b]})}function e(a){return null===a}function f(a,b){var d=Object.keys(a);return-1==d.map(function(d){return b[d]!==c&&b[d]==a[d]}).indexOf(!1)}function g(a,b){if(""===b)return a;var c=a.indexOf(b.charAt(0));return-1===c?!1:g(a.substr(c+1),b.substr(1))}function h(a,b,c){var d=0;return a.filter(function(a){var e=x(c)?b>d&&c(a):b>d;return d=e?d+1:d,e})}function i(a,b,c){return c.round(a*c.pow(10,b))/c.pow(10,b)}function j(a,b,c){b=b||[];var d=Object.keys(a);return d.forEach(function(d){if(C(a[d])&&!D(a[d])){var e=c?c+"."+d:c;j(a[d],b,e||d)}else{var f=c?c+"."+d:d;b.push(f)}}),b}function k(a){return a&&a.$evalAsync&&a.$watch}function l(){return function(a,b){return a>b}}function m(){return function(a,b){return a>=b}}function n(){return function(a,b){return b>a}}function o(){return function(a,b){return b>=a}}function p(){return function(a,b){return a==b}}function q(){return function(a,b){return a!=b}}function r(){return function(a,b){return a===b}}function s(){return function(a,b){return a!==b}}function t(a){return function(b,c){return b=C(b)?d(b):b,!D(b)||y(c)?!1:b.some(function(b){return C(b)||z(c)?a(c)(b):b===c})}}function u(a,b){return b=b||0,b>=a.length?a:D(a[b])?u(a.slice(0,b).concat(a[b],a.slice(b+1)),b):u(a,b+1)}function v(a){return function(b,c){function e(a,b){return y(b)?!1:a.some(function(a){return H(a,b)})}if(b=C(b)?d(b):b,!D(b))return b;var f=[],g=a(c);return b.filter(y(c)?function(a,b,c){return c.indexOf(a)===b}:function(a){var b=g(a);return e(f,b)?!1:(f.push(b),!0)})}}function w(a,b,c){return b?a+c+w(a,--b,c):a}var x=b.isDefined,y=b.isUndefined,z=b.isFunction,A=b.isString,B=b.isNumber,C=b.isObject,D=b.isArray,E=b.forEach,F=b.extend,G=b.copy,H=b.equals;String.prototype.contains||(String.prototype.contains=function(){return-1!==String.prototype.indexOf.apply(this,arguments)}),b.module("a8m.angular",[]).filter("isUndefined",function(){return function(a){return b.isUndefined(a)}}).filter("isDefined",function(){return function(a){return b.isDefined(a)}}).filter("isFunction",function(){return function(a){return b.isFunction(a)}}).filter("isString",function(){return function(a){return b.isString(a)}}).filter("isNumber",function(){return function(a){return b.isNumber(a)}}).filter("isArray",function(){return function(a){return b.isArray(a)}}).filter("isObject",function(){return function(a){return b.isObject(a)}}).filter("isEqual",function(){return function(a,c){return b.equals(a,c)}}),b.module("a8m.conditions",[]).filter({isGreaterThan:l,">":l,isGreaterThanOrEqualTo:m,">=":m,isLessThan:n,"<":n,isLessThanOrEqualTo:o,"<=":o,isEqualTo:p,"==":p,isNotEqualTo:q,"!=":q,isIdenticalTo:r,"===":r,isNotIdenticalTo:s,"!==":s}),b.module("a8m.is-null",[]).filter("isNull",function(){return function(a){return e(a)}}),b.module("a8m.after-where",[]).filter("afterWhere",function(){return function(a,b){if(a=C(a)?d(a):a,!D(a)||y(b))return a;var c=a.map(function(a){return f(b,a)}).indexOf(!0);return a.slice(-1===c?0:c)}}),b.module("a8m.after",[]).filter("after",function(){return function(a,b){return a=C(a)?d(a):a,D(a)?a.slice(b):a}}),b.module("a8m.before-where",[]).filter("beforeWhere",function(){return function(a,b){if(a=C(a)?d(a):a,!D(a)||y(b))return a;var c=a.map(function(a){return f(b,a)}).indexOf(!0);return a.slice(0,-1===c?a.length:++c)}}),b.module("a8m.before",[]).filter("before",function(){return function(a,b){return a=C(a)?d(a):a,D(a)?a.slice(0,b?--b:b):a}}),b.module("a8m.concat",[]).filter("concat",[function(){return function(a,b){if(y(b))return a;if(D(a))return a.concat(C(b)?d(b):b);if(C(a)){var c=d(a);return c.concat(C(b)?d(b):b)}return a}}]),b.module("a8m.contains",[]).filter({contains:["$parse",t],some:["$parse",t]}),b.module("a8m.count-by",[]).filter("countBy",["$parse",function(a){return function(b,c){var e,f={},g=a(c);return b=C(b)?d(b):b,!D(b)||y(c)?b:(b.forEach(function(a){e=g(a),f[e]||(f[e]=0),f[e]++}),f)}}]),b.module("a8m.defaults",[]).filter("defaults",["$parse",function(a){return function(b,c){if(b=C(b)?d(b):b,!D(b)||!C(c))return b;var e=j(c);return b.forEach(function(b){e.forEach(function(d){var e=a(d),f=e.assign;y(e(b))&&f(b,e(c))})}),b}}]),b.module("a8m.every",[]).filter("every",["$parse",function(a){return function(b,c){return b=C(b)?d(b):b,!D(b)||y(c)?!0:b.every(function(b){return C(b)||z(c)?a(c)(b):b===c})}}]),b.module("a8m.filter-by",[]).filter("filterBy",["$parse",function(a){return function(b,e,f){var g;return f=A(f)||B(f)?String(f).toLowerCase():c,b=C(b)?d(b):b,!D(b)||y(f)?b:b.filter(function(b){return e.some(function(c){if(~c.indexOf("+")){var d=c.replace(new RegExp("\\s","g"),"").split("+");g=d.reduce(function(c,d,e){return 1===e?a(c)(b)+" "+a(d)(b):c+" "+a(d)(b)})}else g=a(c)(b);return A(g)||B(g)?String(g).toLowerCase().contains(f):!1})})}}]),b.module("a8m.first",[]).filter("first",["$parse",function(a){return function(b){var e,f,g;return b=C(b)?d(b):b,D(b)?(g=Array.prototype.slice.call(arguments,1),e=B(g[0])?g[0]:1,f=B(g[0])?B(g[1])?c:g[1]:g[0],g.length?h(b,e,f?a(f):f):b[0]):b}}]),b.module("a8m.flatten",[]).filter("flatten",function(){return function(a,b){return b=b||!1,a=C(a)?d(a):a,D(a)?b?[].concat.apply([],a):u(a,0):a}}),b.module("a8m.fuzzy-by",[]).filter("fuzzyBy",["$parse",function(a){return function(b,c,e,f){var h,i,j=f||!1;return b=C(b)?d(b):b,!D(b)||y(c)||y(e)?b:(i=a(c),b.filter(function(a){return h=i(a),A(h)?(h=j?h:h.toLowerCase(),e=j?e:e.toLowerCase(),g(h,e)!==!1):!1}))}}]),b.module("a8m.fuzzy",[]).filter("fuzzy",function(){return function(a,b,c){function e(a,b){var c,d,e=Object.keys(a);return 0<e.filter(function(e){return c=a[e],d?!0:A(c)?(c=f?c:c.toLowerCase(),d=g(c,b)!==!1):!1}).length}var f=c||!1;return a=C(a)?d(a):a,!D(a)||y(b)?a:(b=f?b:b.toLowerCase(),a.filter(function(a){return A(a)?(a=f?a:a.toLowerCase(),g(a,b)!==!1):C(a)?e(a,b):!1}))}}),b.module("a8m.group-by",["a8m.filter-watcher"]).filter("groupBy",["$parse","filterWatcher",function(a,b){return function(c,d){function e(a,b){var c,d={};return E(a,function(a){c=b(a),d[c]||(d[c]=[]),d[c].push(a)}),d}if(!C(c)||y(d))return c;var f=a(d);return b.isMemoized("groupBy",arguments)||b.memoize("groupBy",arguments,this,e(c,f))}}]),b.module("a8m.is-empty",[]).filter("isEmpty",function(){return function(a){return C(a)?!d(a).length:!a.length}}),b.module("a8m.join",[]).filter("join",function(){return function(a,b){return y(a)||!D(a)?a:(y(b)&&(b=" "),a.join(b))}}),b.module("a8m.last",[]).filter("last",["$parse",function(a){return function(b){var e,f,g,i=G(b);return i=C(i)?d(i):i,D(i)?(g=Array.prototype.slice.call(arguments,1),e=B(g[0])?g[0]:1,f=B(g[0])?B(g[1])?c:g[1]:g[0],g.length?h(i.reverse(),e,f?a(f):f).reverse():i[i.length-1]):i}}]),b.module("a8m.map",[]).filter("map",["$parse",function(a){return function(b,c){return b=C(b)?d(b):b,!D(b)||y(c)?b:b.map(function(b){return a(c)(b)})}}]),b.module("a8m.omit",[]).filter("omit",["$parse",function(a){return function(b,c){return b=C(b)?d(b):b,!D(b)||y(c)?b:b.filter(function(b){return!a(c)(b)})}}]),b.module("a8m.pick",[]).filter("pick",["$parse",function(a){return function(b,c){return b=C(b)?d(b):b,!D(b)||y(c)?b:b.filter(function(b){return a(c)(b)})}}]),b.module("a8m.remove-with",[]).filter("removeWith",function(){return function(a,b){return y(b)?a:(a=C(a)?d(a):a,a.filter(function(a){return!f(b,a)}))}}),b.module("a8m.remove",[]).filter("remove",function(){return function(a){a=C(a)?d(a):a;var b=Array.prototype.slice.call(arguments,1);return D(a)?a.filter(function(a){return!b.some(function(b){return H(b,a)})}):a}}),b.module("a8m.reverse",[]).filter("reverse",[function(){return function(a){return a=C(a)?d(a):a,A(a)?a.split("").reverse().join(""):D(a)?a.slice().reverse():a}}]),b.module("a8m.search-field",[]).filter("searchField",["$parse",function(a){return function(b){var c,e;b=C(b)?d(b):b;var f=Array.prototype.slice.call(arguments,1);return D(b)&&f.length?b.map(function(b){return e=f.map(function(d){return(c=a(d))(b)}).join(" "),F(b,{searchField:e})}):b}}]),b.module("a8m.to-array",[]).filter("toArray",function(){return function(a,b){return C(a)?b?Object.keys(a).map(function(b){return F(a[b],{$key:b})}):d(a):a}}),b.module("a8m.unique",[]).filter({unique:["$parse",v],uniq:["$parse",v]}),b.module("a8m.where",[]).filter("where",function(){return function(a,b){return y(b)?a:(a=C(a)?d(a):a,a.filter(function(a){return f(b,a)}))}}),b.module("a8m.xor",[]).filter("xor",["$parse",function(a){return function(b,c,e){function f(b,c){var d=a(e);return c.some(function(a){return e?H(d(a),d(b)):H(a,b)})}return e=e||!1,b=C(b)?d(b):b,c=C(c)?d(c):c,D(b)&&D(c)?b.concat(c).filter(function(a){return!(f(a,b)&&f(a,c))}):b}}]),b.module("a8m.math.byteFmt",["a8m.math"]).filter("byteFmt",["$math",function(a){return function(b,c){return B(c)&&isFinite(c)&&c%1===0&&c>=0&&B(b)&&isFinite(b)?1024>b?i(b,c,a)+" B":1048576>b?i(b/1024,c,a)+" KB":1073741824>b?i(b/1048576,c,a)+" MB":i(b/1073741824,c,a)+" GB":"NaN"}}]),b.module("a8m.math.degrees",["a8m.math"]).filter("degrees",["$math",function(a){return function(b,c){if(B(c)&&isFinite(c)&&c%1===0&&c>=0&&B(b)&&isFinite(b)){var d=180*b/a.PI;return a.round(d*a.pow(10,c))/a.pow(10,c)}return"NaN"}}]),b.module("a8m.math.kbFmt",["a8m.math"]).filter("kbFmt",["$math",function(a){return function(b,c){return B(c)&&isFinite(c)&&c%1===0&&c>=0&&B(b)&&isFinite(b)?1024>b?i(b,c,a)+" KB":1048576>b?i(b/1024,c,a)+" MB":i(b/1048576,c,a)+" GB":"NaN"}}]),b.module("a8m.math",[]).factory("$math",["$window",function(a){return a.Math}]),b.module("a8m.math.max",["a8m.math"]).filter("max",["$math","$parse",function(a,b){function c(c,d){var e=c.map(function(a){return b(d)(a)});return e.indexOf(a.max.apply(a,e))}return function(b,d){return D(b)?y(d)?a.max.apply(a,b):b[c(b,d)]:b}}]),b.module("a8m.math.min",["a8m.math"]).filter("min",["$math","$parse",function(a,b){function c(c,d){var e=c.map(function(a){return b(d)(a)});return e.indexOf(a.min.apply(a,e))}return function(b,d){return D(b)?y(d)?a.min.apply(a,b):b[c(b,d)]:b}}]),b.module("a8m.math.percent",["a8m.math"]).filter("percent",["$math","$window",function(a,b){return function(c,d,e){var f=A(c)?b.Number(c):c;return d=d||100,e=e||!1,!B(f)||b.isNaN(f)?c:e?a.round(f/d*100):f/d*100}}]),b.module("a8m.math.radians",["a8m.math"]).filter("radians",["$math",function(a){return function(b,c){if(B(c)&&isFinite(c)&&c%1===0&&c>=0&&B(b)&&isFinite(b)){var d=3.14159265359*b/180;return a.round(d*a.pow(10,c))/a.pow(10,c)}return"NaN"}}]),b.module("a8m.math.radix",[]).filter("radix",function(){return function(a,b){var c=/^[2-9]$|^[1-2]\d$|^3[0-6]$/;return B(a)&&c.test(b)?a.toString(b).toUpperCase():a}}),b.module("a8m.math.shortFmt",["a8m.math"]).filter("shortFmt",["$math",function(a){return function(b,c){return B(c)&&isFinite(c)&&c%1===0&&c>=0&&B(b)&&isFinite(b)?1e3>b?b:1e6>b?i(b/1e3,c,a)+" K":1e9>b?i(b/1e6,c,a)+" M":i(b/1e9,c,a)+" B":"NaN"}}]),b.module("a8m.math.sum",[]).filter("sum",function(){return function(a,b){return D(a)?a.reduce(function(a,b){return a+b},b||0):a}}),b.module("a8m.ends-with",[]).filter("endsWith",function(){return function(a,b,c){var d,e=c||!1;return!A(a)||y(b)?a:(a=e?a:a.toLowerCase(),d=a.length-b.length,-1!==a.indexOf(e?b:b.toLowerCase(),d))}}),b.module("a8m.ltrim",[]).filter("ltrim",function(){return function(a,b){var c=b||"\\s";return A(a)?a.replace(new RegExp("^"+c+"+"),""):a}}),b.module("a8m.repeat",[]).filter("repeat",[function(){return function(a,b,c){var d=~~b;return A(a)&&d?w(a,--b,c||""):a}}]),b.module("a8m.rtrim",[]).filter("rtrim",function(){return function(a,b){var c=b||"\\s";return A(a)?a.replace(new RegExp(c+"+$"),""):a}}),b.module("a8m.slugify",[]).filter("slugify",[function(){return function(a,b){var c=y(b)?"-":b;return A(a)?a.toLowerCase().replace(/\s+/g,c):a}}]),b.module("a8m.starts-with",[]).filter("startsWith",function(){return function(a,b,c){var d=c||!1;return!A(a)||y(b)?a:(a=d?a:a.toLowerCase(),!a.indexOf(d?b:b.toLowerCase()))}}),b.module("a8m.stringular",[]).filter("stringular",function(){return function(a){var b=Array.prototype.slice.call(arguments,1);return a.replace(/{(\d+)}/g,function(a,c){return y(b[c])?a:b[c]})}}),b.module("a8m.strip-tags",[]).filter("stripTags",function(){return function(a){return A(a)?a.replace(/<\S[^><]*>/g,""):a}}),b.module("a8m.trim",[]).filter("trim",function(){return function(a,b){var c=b||"\\s";return A(a)?a.replace(new RegExp("^"+c+"+|"+c+"+$","g"),""):a}}),b.module("a8m.truncate",[]).filter("truncate",function(){return function(a,b,c,d){return b=y(b)?a.length:b,d=d||!1,c=c||"",!A(a)||a.length<=b?a:a.substring(0,d?-1===a.indexOf(" ",b)?a.length:a.indexOf(" ",b):b)+c}}),b.module("a8m.ucfirst",[]).filter("ucfirst",[function(){return function(a){return A(a)?a.split(" ").map(function(a){return a.charAt(0).toUpperCase()+a.substring(1)}).join(" "):a}}]),b.module("a8m.uri-component-encode",[]).filter("uriComponentEncode",["$window",function(a){return function(b){return A(b)?a.encodeURIComponent(b):b}}]),b.module("a8m.uri-encode",[]).filter("uriEncode",["$window",function(a){return function(b){return A(b)?a.encodeURI(b):b}}]),b.module("a8m.wrap",[]).filter("wrap",function(){return function(a,b,c){return!A(a)||y(b)?a:[b,a,c||b].join("")}}),b.module("a8m.filter-watcher",[]).provider("filterWatcher",function(){this.$get=["$window","$rootScope",function(a,c){function d(a,c){return[a,b.toJson(c)].join("#").replace(/"/g,"")}function e(a){var b=a.targetScope.$id;E(l[b],function(a){delete j[a]}),delete l[b]}function f(){m(function(){c.$$phase||(j={})})}function g(a,b){var c=a.$id;return y(l[c])&&(a.$on("$destroy",e),l[c]=[]),l[c].push(b)}function h(a,b){var c=d(a,b);return j[c]}function i(a,b,c,e){var h=d(a,b);return j[h]=e,k(c)?g(c,h):f(),e}var j={},l={},m=a.setTimeout;return{isMemoized:h,memoize:i}}]}),b.module("angular.filter",["a8m.ucfirst","a8m.uri-encode","a8m.uri-component-encode","a8m.slugify","a8m.strip-tags","a8m.stringular","a8m.truncate","a8m.starts-with","a8m.ends-with","a8m.wrap","a8m.trim","a8m.ltrim","a8m.rtrim","a8m.repeat","a8m.to-array","a8m.concat","a8m.contains","a8m.unique","a8m.is-empty","a8m.after","a8m.after-where","a8m.before","a8m.before-where","a8m.defaults","a8m.where","a8m.reverse","a8m.remove","a8m.remove-with","a8m.group-by","a8m.count-by","a8m.search-field","a8m.fuzzy-by","a8m.fuzzy","a8m.omit","a8m.pick","a8m.every","a8m.filter-by","a8m.xor","a8m.map","a8m.first","a8m.last","a8m.flatten","a8m.join","a8m.math","a8m.math.max","a8m.math.min","a8m.math.percent","a8m.math.radix","a8m.math.sum","a8m.math.degrees","a8m.math.radians","a8m.math.byteFmt","a8m.math.kbFmt","a8m.math.shortFmt","a8m.angular","a8m.conditions","a8m.is-null","a8m.filter-watcher"])}(window,window.angular);
The MIT License
Copyright (c) 2014 Ariel Mashraki
Copyright (c) 2015 Ariel Mashraki

@@ -21,2 +21,2 @@ Permission is hereby granted, free of charge, to any person obtaining a copy

OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
THE SOFTWARE.
{
"name": "angular-filter",
"description": "Bunch of useful filters for angularJS(with no external dependencies!)",
"version": "0.5.1",
"version": "0.5.2",
"filename": "angular-filter.min.js",

@@ -6,0 +6,0 @@ "main": "dist/angular-filter.min.js",

@@ -1,2 +0,2 @@

#Angular-filter &nbsp; [![Build Status](https://travis-ci.org/a8m/angular-filter.svg?branch=master)](https://travis-ci.org/a8m/angular-filter) [![Coverage Status](https://coveralls.io/repos/a8m/angular-filter/badge.png?branch=master)](https://coveralls.io/r/a8m/angular-filter?branch=master)
#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]
>Bunch of useful filters for AngularJS (with no external dependencies!), **v0.5.1**

@@ -29,2 +29,3 @@

- [isEmpty](#isempty)
- [join] (#join)
- [last](#last)

@@ -92,3 +93,3 @@ - [map](#map)

**(1)** You can install angular-filter using 4 different methods:
- clone & [build](#developing) this repository
- clone & [build](#Contributing) this repository
- via **[Bower](http://bower.io/)**: by running `$ bower install angular-filter` from your terminal

@@ -346,2 +347,21 @@ - via **[npm](https://www.npmjs.org/)**: by running `$ npm install angular-filter` from your terminal

### join
Joins the contents of a collection into a string.<br/>
By default, it will join elements with a *single space*, but you can provide your own delimiter.
**Usage:** ```collection | join:', '```
Example:
```js
$scope.names = ['John', 'Sebastian', 'Will', 'James'];
```
```html
<p>{{ names | join:', ' }}</p>
<!-- Will print "John, Sebastian, Will, James" -->
```
###fuzzy

@@ -406,6 +426,10 @@ fuzzy string searching(approximate string matching). [Read more](http://en.wikipedia.org/wiki/Approximate_string_matching)<br/>

```html
<ul ng-repeat="(key, value) in players | groupBy: 'team'" >
Group name: {{ key }}
<li ng-repeat="player in value">
player: {{ player.name }}
<ul>
<li ng-repeat="(key, value) in players | groupBy: 'team'">
Group name: {{ key }}
<ul>
<li ng-repeat="player in value">
player: {{ player.name }}
</li>
</ul>
</li>

@@ -437,5 +461,5 @@ </ul>

```html
<ul ng-repeat="(key, value) in players | countBy: 'team'" >
<li ng-repeat="(key, value) in players | countBy: 'team'" >
Group name: {{ key }}, length: {{ value }}
</ul>
</li>
<!-- result:

@@ -474,3 +498,3 @@ Group name: alpha, length: 1

**Note:** `defaultsFilter` change the source object.<br/>
**Why?** if we not change the source object, it's actually means we gonna return **new** boject(copy operation) **each digest cycle**.<br/>
**Why?** if we not change the source object, it's actually means we gonna return **new** object(copy operation) **each digest cycle**.<br/>
And it will cause adverse memory and performance implications.<br/>

@@ -748,3 +772,3 @@ **How to avoid it?** see below

###isEmpty
get collection or string and return if it empty[Bollean]
get collection or string and return if it empty[Boolean]

@@ -847,3 +871,3 @@ ```html

**Usage:** ```object | toArray: addKey[optional]```<br/>
if 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
if 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
```html

@@ -1287,1 +1311,9 @@ <th ng-repeat="elm in object | toArray | orderBy: 'property'">

```
[npm-image]: https://img.shields.io/npm/v/angular-filter.svg?style=flat-square
[npm-url]: https://npmjs.org/package/angular-filter
[travis-image]: https://img.shields.io/travis/a8m/angular-filter.svg?style=flat-square
[travis-url]: https://travis-ci.org/a8m/angular-filter
[coveralls-image]: https://img.shields.io/coveralls/a8m/angular-filter.svg?style=flat-square
[coveralls-url]: https://coveralls.io/r/a8m/angular-filter
[license-image]: http://img.shields.io/npm/l/angular-filter.svg?style=flat-square
[license-url]: LICENSE

@@ -49,3 +49,3 @@ /*jshint globalstrict:true*/

return keys.map(function(el) {
return !(!object[el] || (object[el] != partial[el]));
return (object[el] !== undefined) && (object[el] == partial[el]);
}).indexOf(false) == -1;

@@ -149,2 +149,2 @@

return obj && obj.$evalAsync && obj.$watch;
}
}

@@ -11,3 +11,2 @@ /**

*/
angular.module('a8m.after-where', [])

@@ -17,5 +16,5 @@ .filter('afterWhere', function() {

collection = (isObject(collection)) ?
toArray(collection) :
collection;
collection = (isObject(collection))
? toArray(collection)
: collection;

@@ -22,0 +21,0 @@ if(!isArray(collection) || isUndefined(object))

@@ -15,12 +15,10 @@ /**

return function (collection, count) {
collection = (isObject(collection))
? toArray(collection)
: collection;
collection = (isObject(collection)) ?
toArray(collection) :
collection;
return (isArray(collection)) ?
collection.slice(count) :
collection;
return (isArray(collection))
? collection.slice(count)
: collection;
}
});

@@ -11,3 +11,2 @@ /**

*/
angular.module('a8m.before-where', [])

@@ -17,5 +16,5 @@ .filter('beforeWhere', function() {

collection = (isObject(collection)) ?
toArray(collection) :
collection;
collection = (isObject(collection))
? toArray(collection)
: collection;

@@ -22,0 +21,0 @@ if(!isArray(collection) || isUndefined(object))

@@ -9,18 +9,14 @@ /**

* in the collection before the specified count.
*
*/
angular.module('a8m.before', [])
.filter('before', function() {
return function (collection, count) {
collection = (isObject(collection))
? toArray(collection)
: collection;
collection = (isObject(collection)) ?
toArray(collection) :
collection;
return (isArray(collection)) ?
collection.slice(0, (!count) ? count : --count) :
collection;
return (isArray(collection))
? collection.slice(0, (!count) ? count : --count)
: collection;
}
});

@@ -12,3 +12,3 @@ /**

angular.module('a8m.concat', [])
//TODO:unique option ? or use unique filter to filter result
//TODO(Ariel):unique option ? or use unique filter to filter result
.filter('concat', [function () {

@@ -21,5 +21,5 @@ return function (collection, joined) {

if (isArray(collection)) {
return (isObject(joined)) ?
collection.concat(toArray(joined)) :
collection.concat(joined);
return (isObject(joined))
? collection.concat(toArray(joined))
: collection.concat(joined);
}

@@ -29,5 +29,5 @@

var array = toArray(collection);
return (isObject(joined)) ?
array.concat(toArray(joined)) :
array.concat(joined);
return (isObject(joined))
? array.concat(toArray(joined))
: array.concat(joined);
}

@@ -34,0 +34,0 @@ return collection;

@@ -22,11 +22,9 @@ /**

if(!isArray(collection) || isUndefined(expression)) {
return true;
return false;
}
return collection.some( function(elm) {
return (isObject(elm) || isFunction(expression)) ?
$parse(expression)(elm) :
elm === expression;
return collection.some(function(elm) {
return (isObject(elm) || isFunction(expression))
? $parse(expression)(elm)
: elm === expression;
});

@@ -33,0 +31,0 @@

@@ -10,7 +10,5 @@ /**

*/
angular.module('a8m.every', [])
.filter('every', ['$parse', function($parse) {
return function (collection, expression) {
collection = (isObject(collection)) ? toArray(collection) : collection;

@@ -23,9 +21,7 @@

return collection.every( function(elm) {
return (isObject(elm) || isFunction(expression)) ?
$parse(expression)(elm) :
elm === expression;
return (isObject(elm) || isFunction(expression))
? $parse(expression)(elm)
: elm === expression;
});
}
}]);

@@ -10,3 +10,2 @@ /**

angular.module('a8m.filter-by', [])
.filter('filterBy', ['$parse', function( $parse ) {

@@ -27,3 +26,2 @@ return function(collection, properties, search) {

return collection.filter(function(elm) {
return properties.some(function(prop) {

@@ -47,10 +45,8 @@

return (isString(comparator) || isNumber(comparator)) ?
String(comparator).toLowerCase().contains(search) :
false;
})
return (isString(comparator) || isNumber(comparator))
? String(comparator).toLowerCase().contains(search)
: false;
});
});
}
}]);

@@ -11,3 +11,2 @@ /**

angular.module('a8m.first', [])
.filter('first', ['$parse', function( $parse ) {

@@ -20,4 +19,5 @@ return function(collection) {

collection = (isObject(collection)) ? toArray(collection) :
collection;
collection = (isObject(collection))
? toArray(collection)
: collection;

@@ -24,0 +24,0 @@ if(!isArray(collection)) {

@@ -10,3 +10,2 @@ /**

*/
angular.module('a8m.flatten', [])

@@ -17,3 +16,4 @@ .filter('flatten', function () {

shallow = shallow || false;
collection = (isObject(collection)) ? toArray(collection)
collection = (isObject(collection))
? toArray(collection)
: collection;

@@ -25,4 +25,5 @@

return (!shallow) ? flatten(collection, 0) :
[].concat.apply([], collection);
return !shallow
? flatten(collection, 0)
: [].concat.apply([], collection);
}

@@ -29,0 +30,0 @@ });

@@ -9,3 +9,2 @@ /**

*/
angular.module('a8m.fuzzy-by', [])

@@ -12,0 +11,0 @@ .filter('fuzzyBy', ['$parse', function ( $parse ) {

@@ -9,3 +9,2 @@ /**

*/
angular.module('a8m.fuzzy', [])

@@ -12,0 +11,0 @@ .filter('fuzzy', function () {

@@ -11,15 +11,15 @@ /**

angular.module('a8m.last', [])
.filter('last', ['$parse', function( $parse ) {
return function(collection) {
var n,
getter,
args,
//cuz reverse change our src collection
//and we don't want side effects
reversed = copy(collection);
var n
, getter
, args
//cuz reverse change our src collection
//and we don't want side effects
, reversed = copy(collection);
reversed = (isObject(reversed)) ? toArray(reversed) :
reversed;
reversed = (isObject(reversed))
? toArray(reversed)
: reversed;

@@ -26,0 +26,0 @@ if(!isArray(reversed)) {

@@ -9,10 +9,9 @@ /**

*/
angular.module('a8m.map', [])
.filter('map', ['$parse', function($parse) {
return function (collection, expression) {
collection = (isObject(collection)) ?
toArray(collection) : collection;
collection = (isObject(collection))
? toArray(collection)
: collection;

@@ -24,3 +23,2 @@ if(!isArray(collection) || isUndefined(expression)) {

return collection.map(function (elm) {
return $parse(expression)(elm);

@@ -27,0 +25,0 @@ });

@@ -15,4 +15,5 @@ /**

collection = (isObject(collection)) ?
toArray(collection) : collection;
collection = (isObject(collection))
? toArray(collection)
: collection;

@@ -24,3 +25,2 @@ if(!isArray(collection) || isUndefined(expression)) {

return collection.filter(function (elm) {
return !($parse(expression)(elm));

@@ -27,0 +27,0 @@ });

@@ -15,4 +15,5 @@ /**

collection = (isObject(collection)) ?
toArray(collection) : collection;
collection = (isObject(collection))
? toArray(collection)
: collection;

@@ -24,3 +25,2 @@ if(!isArray(collection) || isUndefined(expression)) {

return collection.filter(function (elm) {
return $parse(expression)(elm);

@@ -27,0 +27,0 @@ });

@@ -18,4 +18,5 @@ /**

}
collection = (isObject(collection)) ?
toArray(collection) : collection;
collection = isObject(collection)
? toArray(collection)
: collection;

@@ -22,0 +23,0 @@ return collection.filter(function (elm) {

@@ -1,2 +0,1 @@

/**

@@ -11,5 +10,3 @@ * @ngdoc filter

*/
angular.module('a8m.search-field', [])
.filter('searchField', ['$parse', function ($parse) {

@@ -16,0 +13,0 @@ return function (collection) {

@@ -31,9 +31,9 @@ /**

return (isUndefined(property)) ?
return (isUndefined(property))
//if it's kind of primitive array
collection.filter(function (elm, pos, self) {
? collection.filter(function (elm, pos, self) {
return self.indexOf(elm) === pos;
}) :
})
//else compare with equals
collection.filter(function (elm) {
: collection.filter(function (elm) {
var prop = get(elm);

@@ -56,4 +56,3 @@ if(some(uniqueItems, prop)) {

}
}
}

@@ -11,3 +11,2 @@ /**

*/
angular.module('a8m.where', [])

@@ -20,4 +19,5 @@ .filter('where', function() {

}
collection = (isObject(collection)) ?
toArray(collection) : collection;
collection = (isObject(collection))
? toArray(collection)
: collection;

@@ -24,0 +24,0 @@ return collection.filter(function (elm) {

@@ -30,8 +30,8 @@ /**

return col.some(function(dElm) {
return expression ?
equals(getter(dElm), getter(el)) :
equals(dElm, el);
})
return expression
? equals(getter(dElm), getter(el))
: equals(dElm, el);
});
}
}
}]);

@@ -10,13 +10,12 @@ /**

*/
angular.module('a8m.ucfirst', [])
.filter('ucfirst', [function() {
return function(input) {
return angular.isString(input) ? input.split(' ')
.map(function (char) {
return char.charAt(0).toUpperCase() + char.substring(1);
}).join(' ') : input;
if(!isString(input)) {
return input;
}
return input.split(' ').map(function (ch) {
return ch.charAt(0).toUpperCase() + ch.substring(1);
}).join(' ');
}
}]);

@@ -44,3 +44,3 @@ /**

function getHashKey(fName, args) {
return [fName, JSON.stringify(args)]
return [fName, angular.toJson(args)]
.join('#')

@@ -137,20 +137,2 @@ .replace(/"/g,'');

});

@@ -53,2 +53,3 @@ /**

'a8m.flatten',
'a8m.join',

@@ -55,0 +56,0 @@ 'a8m.math',

@@ -13,3 +13,2 @@ 'use strict';

it('should get collection of primitives and use strict comparison(===)', function() {
expect(filter(['foo', 'bar'], 'bar')).toBeTruthy();

@@ -20,3 +19,2 @@ expect(filter([1,2,3,4], 4)).toBeTruthy();

expect(filter([1,2,3,4], -1)).toBeFalsy();
});

@@ -26,3 +24,2 @@

'present in one or more object in the collection', function() {
var array = [

@@ -37,7 +34,6 @@ { id: 1, name: 'foo' },

expect(filter(array, 'id >= 1 && name === \'foo\'')).toBeTruthy();
expect(filter(array)).toBeTruthy();
expect(filter(array)).toBeFalsy();
expect(filter(array, 'id > 77')).toBeFalsy();
expect(filter(array, 'name.indexOf(\'u\') !== -1')).toBeFalsy();
});

@@ -47,3 +43,2 @@

'present in one or more object in the collection', function() {
var object = {

@@ -56,14 +51,11 @@ 0: { id: 1, name: 'foo' },

expect(filter(object, 'id === 2')).toBeTruthy();
expect(filter(object, 'id >= 1 && name === "foo"')).toBeTruthy();
expect(filter(object)).toBeTruthy();
expect(filter(object)).toBeFalsy();
expect(filter(object, 'id > 77')).toBeFalsy();
expect(filter(object, 'name.indexOf(\'u\') !== -1')).toBeFalsy();
});
it('should get function as expression', function() {
var array = [1, 2, 3, 4, 5];

@@ -76,13 +68,10 @@

expect(filter(array, mod2)).toBeTruthy();
});
it('should get !collection and return always true', function() {
expect(filter('lorem ipsum')).toBeTruthy();
expect(filter(1, null)).toBeTruthy();
expect(filter(!1)).toBeTruthy();
expect(filter('lorem ipsum')).toBeFalsy();
expect(filter(1, null)).toBeFalsy();
expect(filter(!1)).toBeFalsy();
});
});

@@ -16,10 +16,10 @@ 'use strict';

var array = [
{ id: 1, name: 'ariel' },
{ id: 2, name: 'baz' },
{ id: 1, name: 'ariel' },
{ id: 1, name: 'bar' }
{ id: 0, name: 'ariel' },
{ id: 1, name: 'baz' },
{ id: 0, name: 'ariel' },
{ id: 0, name: 'bar' }
];
expect(filter(array, { id: 1, name: 'ariel' })).toEqual([array[0], array[2]]);
expect(filter(array, { id: 1 })).not.toContain(array[1]);
expect(filter(array, { id: 0, name: 'ariel' })).toEqual([array[0], array[2]]);
expect(filter(array, { id: 0 })).not.toContain(array[1]);

@@ -26,0 +26,0 @@ expect(filter(array, {})).toEqual(array);

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc