mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-05-24 13:53:43 +00:00
removed undocumented/unneeded methods from Array API
This commit is contained in:
parent
ab2213e80e
commit
3d5719cd44
3 changed files with 9 additions and 155 deletions
|
|
@ -291,19 +291,17 @@ function escapeAttr(html) {
|
||||||
'"');
|
'"');
|
||||||
}
|
}
|
||||||
|
|
||||||
function bind(_this, _function) {
|
function bind(self, fn) {
|
||||||
var curryArgs = slice.call(arguments, 2, arguments.length);
|
var curryArgs = arguments.length > 2 ? slice.call(arguments, 2, arguments.length) : [];
|
||||||
if (typeof _function == 'function') {
|
if (typeof fn == 'function') {
|
||||||
return curryArgs.length == 0 ?
|
return curryArgs.length ? function() {
|
||||||
function() {
|
return arguments.length ? fn.apply(self, curryArgs.concat(slice.call(arguments, 0, arguments.length))) : fn.apply(self, curryArgs);
|
||||||
return _function.apply(_this, arguments);
|
}: function() {
|
||||||
} :
|
return arguments.length ? fn.apply(self, arguments) : fn.call(self);
|
||||||
function() {
|
};
|
||||||
return _function.apply(_this, curryArgs.concat(slice.call(arguments, 0, arguments.length)));
|
|
||||||
};
|
|
||||||
} else {
|
} else {
|
||||||
// in IE, native methods ore not functions and so they can not be bound (but they don't need to be)
|
// in IE, native methods ore not functions and so they can not be bound (but they don't need to be)
|
||||||
return _function;
|
return fn;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
71
src/apis.js
71
src/apis.js
|
|
@ -21,17 +21,6 @@ var angularObject = {
|
||||||
};
|
};
|
||||||
var angularArray = {
|
var angularArray = {
|
||||||
'indexOf': indexOf,
|
'indexOf': indexOf,
|
||||||
'include': includes,
|
|
||||||
'includeIf':function(array, value, condition) {
|
|
||||||
var index = indexOf(array, value);
|
|
||||||
if (condition) {
|
|
||||||
if (index == -1)
|
|
||||||
array.push(value);
|
|
||||||
} else {
|
|
||||||
array.splice(index, 1);
|
|
||||||
}
|
|
||||||
return array;
|
|
||||||
},
|
|
||||||
'sum':function(array, expression) {
|
'sum':function(array, expression) {
|
||||||
var fn = angular['Function']['compile'](expression);
|
var fn = angular['Function']['compile'](expression);
|
||||||
var sum = 0;
|
var sum = 0;
|
||||||
|
|
@ -49,20 +38,6 @@ var angularArray = {
|
||||||
array.splice(index, 1);
|
array.splice(index, 1);
|
||||||
return value;
|
return value;
|
||||||
},
|
},
|
||||||
'find':function(array, condition, defaultValue) {
|
|
||||||
if (!condition) return undefined;
|
|
||||||
var fn = angular['Function']['compile'](condition);
|
|
||||||
foreach(array, function($){
|
|
||||||
if (fn($)){
|
|
||||||
defaultValue = $;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return defaultValue;
|
|
||||||
},
|
|
||||||
'findById':function(array, id) {
|
|
||||||
return angular.Array.find(array, function($){return $.$id == id;}, null);
|
|
||||||
},
|
|
||||||
'filter':function(array, expression) {
|
'filter':function(array, expression) {
|
||||||
var predicates = [];
|
var predicates = [];
|
||||||
predicates.check = function(value) {
|
predicates.check = function(value) {
|
||||||
|
|
@ -195,52 +170,6 @@ var angularArray = {
|
||||||
var arrayCopy = [];
|
var arrayCopy = [];
|
||||||
for ( var i = 0; i < array.length; i++) { arrayCopy.push(array[i]); }
|
for ( var i = 0; i < array.length; i++) { arrayCopy.push(array[i]); }
|
||||||
return arrayCopy.sort(reverse(comparator, descend));
|
return arrayCopy.sort(reverse(comparator, descend));
|
||||||
},
|
|
||||||
'orderByToggle':function(predicate, attribute) {
|
|
||||||
var STRIP = /^([+|-])?(.*)/;
|
|
||||||
var ascending = false;
|
|
||||||
var index = -1;
|
|
||||||
foreach(predicate, function($, i){
|
|
||||||
if (index == -1) {
|
|
||||||
if ($ == attribute) {
|
|
||||||
ascending = true;
|
|
||||||
index = i;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if (($.charAt(0)=='+'||$.charAt(0)=='-') && $.substring(1) == attribute) {
|
|
||||||
ascending = $.charAt(0) == '+';
|
|
||||||
index = i;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
if (index >= 0) {
|
|
||||||
predicate.splice(index, 1);
|
|
||||||
}
|
|
||||||
predicate.unshift((ascending ? "-" : "+") + attribute);
|
|
||||||
return predicate;
|
|
||||||
},
|
|
||||||
'orderByDirection':function(predicate, attribute, ascend, descend) {
|
|
||||||
ascend = ascend || 'ng-ascend';
|
|
||||||
descend = descend || 'ng-descend';
|
|
||||||
var att = predicate[0] || '';
|
|
||||||
var direction = true;
|
|
||||||
if (att.charAt(0) == '-') {
|
|
||||||
att = att.substring(1);
|
|
||||||
direction = false;
|
|
||||||
} else if(att.charAt(0) == '+') {
|
|
||||||
att = att.substring(1);
|
|
||||||
}
|
|
||||||
return att == attribute ? (direction ? ascend : descend) : "";
|
|
||||||
},
|
|
||||||
'merge':function(array, index, mergeValue) {
|
|
||||||
var value = array[index];
|
|
||||||
if (!value) {
|
|
||||||
value = {};
|
|
||||||
array[index] = value;
|
|
||||||
}
|
|
||||||
merge(mergeValue, value);
|
|
||||||
return array;
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,27 +18,6 @@ ApiTest.prototype.testItShouldReturnSize = function(){
|
||||||
assertEquals(1, angular.Array.size([0]));
|
assertEquals(1, angular.Array.size([0]));
|
||||||
};
|
};
|
||||||
|
|
||||||
ApiTest.prototype.testIncludeIf = function() {
|
|
||||||
var array = [];
|
|
||||||
var obj = {};
|
|
||||||
|
|
||||||
angular.Array.includeIf(array, obj, true);
|
|
||||||
angular.Array.includeIf(array, obj, true);
|
|
||||||
assertTrue(includes(array, obj));
|
|
||||||
assertEquals(1, array.length);
|
|
||||||
|
|
||||||
angular.Array.includeIf(array, obj, false);
|
|
||||||
assertFalse(includes(array, obj));
|
|
||||||
assertEquals(0, array.length);
|
|
||||||
|
|
||||||
angular.Array.includeIf(array, obj, 'x');
|
|
||||||
assertTrue(includes(array, obj));
|
|
||||||
assertEquals(1, array.length);
|
|
||||||
angular.Array.includeIf(array, obj, '');
|
|
||||||
assertFalse(includes(array, obj));
|
|
||||||
assertEquals(0, array.length);
|
|
||||||
};
|
|
||||||
|
|
||||||
ApiTest.prototype.testSum = function(){
|
ApiTest.prototype.testSum = function(){
|
||||||
assertEquals(3, angular.Array.sum([{a:"1"}, {a:"2"}], 'a'));
|
assertEquals(3, angular.Array.sum([{a:"1"}, {a:"2"}], 'a'));
|
||||||
};
|
};
|
||||||
|
|
@ -48,13 +27,6 @@ ApiTest.prototype.testSumContainingNaN = function(){
|
||||||
assertEquals(1, angular.Array.sum([{a:1}, {a:Number.NaN}], function($){return $.a;}));
|
assertEquals(1, angular.Array.sum([{a:1}, {a:Number.NaN}], function($){return $.a;}));
|
||||||
};
|
};
|
||||||
|
|
||||||
ApiTest.prototype.testInclude = function(){
|
|
||||||
assertTrue(angular.Array.include(['a'], 'a'));
|
|
||||||
assertTrue(angular.Array.include(['a', 'b'], 'a'));
|
|
||||||
assertTrue(!angular.Array.include(['c'], 'a'));
|
|
||||||
assertTrue(!angular.Array.include(['c', 'b'], 'a'));
|
|
||||||
};
|
|
||||||
|
|
||||||
ApiTest.prototype.testIndex = function(){
|
ApiTest.prototype.testIndex = function(){
|
||||||
assertEquals(angular.Array.indexOf(['a'], 'a'), 0);
|
assertEquals(angular.Array.indexOf(['a'], 'a'), 0);
|
||||||
assertEquals(angular.Array.indexOf(['a', 'b'], 'a'), 0);
|
assertEquals(angular.Array.indexOf(['a', 'b'], 'a'), 0);
|
||||||
|
|
@ -80,14 +52,6 @@ ApiTest.prototype.testRemove = function(){
|
||||||
assertEquals(items.length, 0);
|
assertEquals(items.length, 0);
|
||||||
};
|
};
|
||||||
|
|
||||||
ApiTest.prototype.testFindById = function() {
|
|
||||||
var items = [{$id:1}, {$id:2}, {$id:3}];
|
|
||||||
assertNull(angular.Array.findById(items, 0));
|
|
||||||
assertEquals(items[0], angular.Array.findById(items, 1));
|
|
||||||
assertEquals(items[1], angular.Array.findById(items, 2));
|
|
||||||
assertEquals(items[2], angular.Array.findById(items, 3));
|
|
||||||
};
|
|
||||||
|
|
||||||
ApiTest.prototype.testFilter = function() {
|
ApiTest.prototype.testFilter = function() {
|
||||||
var items = ["MIsKO", {name:"shyam"}, ["adam"], 1234];
|
var items = ["MIsKO", {name:"shyam"}, ["adam"], 1234];
|
||||||
assertEquals(4, angular.Array.filter(items, "").length);
|
assertEquals(4, angular.Array.filter(items, "").length);
|
||||||
|
|
@ -161,16 +125,6 @@ ApiTest.prototype.testCount = function() {
|
||||||
assertEquals(1, angular.Array.count(array, 'name=="a"'));
|
assertEquals(1, angular.Array.count(array, 'name=="a"'));
|
||||||
};
|
};
|
||||||
|
|
||||||
ApiTest.prototype.testFind = function() {
|
|
||||||
var array = [{name:'a'},{name:'b'},{name:''}];
|
|
||||||
var obj = {};
|
|
||||||
|
|
||||||
assertEquals(undefined, angular.Array.find(array, 'false'));
|
|
||||||
assertEquals('default', angular.Array.find(array, 'false', 'default'));
|
|
||||||
assertEquals('a', angular.Array.find(array, 'name == "a"').name);
|
|
||||||
assertEquals('', angular.Array.find(array, 'name == ""').name);
|
|
||||||
};
|
|
||||||
|
|
||||||
ApiTest.prototype.testItShouldSortArray = function() {
|
ApiTest.prototype.testItShouldSortArray = function() {
|
||||||
assertEquals([2,15], angular.Array.orderBy([15,2]));
|
assertEquals([2,15], angular.Array.orderBy([15,2]));
|
||||||
assertEquals(["a","B", "c"], angular.Array.orderBy(["c","B", "a"]));
|
assertEquals(["a","B", "c"], angular.Array.orderBy(["c","B", "a"]));
|
||||||
|
|
@ -211,33 +165,6 @@ ApiTest.prototype.testQuoteUnicode = function(){
|
||||||
assertEquals('"abc\\u00a0def"', angular.String.quoteUnicode('abc\u00A0def'));
|
assertEquals('"abc\\u00a0def"', angular.String.quoteUnicode('abc\u00A0def'));
|
||||||
};
|
};
|
||||||
|
|
||||||
ApiTest.prototype.testMerge = function() {
|
|
||||||
var array = [{name:"misko"}];
|
|
||||||
angular.Array.merge(array, 0, {name:"", email:"email1"});
|
|
||||||
angular.Array.merge(array, 1, {name:"adam", email:"email2"});
|
|
||||||
assertJsonEquals([{"email":"email1","name":"misko"},{"email":"email2","name":"adam"}], array);
|
|
||||||
};
|
|
||||||
|
|
||||||
ApiTest.prototype.testOrderByToggle = function() {
|
|
||||||
var orderByToggle = angular.Array.orderByToggle;
|
|
||||||
var predicate = [];
|
|
||||||
assertEquals(['+a'], orderByToggle(predicate, 'a'));
|
|
||||||
assertEquals(['-a'], orderByToggle(predicate, 'a'));
|
|
||||||
|
|
||||||
assertEquals(['-a', '-b'], orderByToggle(['-b', 'a'], 'a'));
|
|
||||||
};
|
|
||||||
|
|
||||||
ApiTest.prototype.testOrderByToggle = function() {
|
|
||||||
var orderByDirection = angular.Array.orderByDirection;
|
|
||||||
assertEquals("", orderByDirection(['+a','b'], 'x'));
|
|
||||||
assertEquals("", orderByDirection(['+a','b'], 'b'));
|
|
||||||
assertEquals('ng-ascend', orderByDirection(['a','b'], 'a'));
|
|
||||||
assertEquals('ng-ascend', orderByDirection(['+a','b'], 'a'));
|
|
||||||
assertEquals('ng-descend', orderByDirection(['-a','b'], 'a'));
|
|
||||||
assertEquals('up', orderByDirection(['+a','b'], 'a', 'up', 'down'));
|
|
||||||
assertEquals('down', orderByDirection(['-a','b'], 'a', 'up', 'down'));
|
|
||||||
};
|
|
||||||
|
|
||||||
ApiTest.prototype.testDateToUTC = function(){
|
ApiTest.prototype.testDateToUTC = function(){
|
||||||
var date = new Date("Sep 10 2003 13:02:03 GMT");
|
var date = new Date("Sep 10 2003 13:02:03 GMT");
|
||||||
assertEquals("date", angular.Object.typeOf(date));
|
assertEquals("date", angular.Object.typeOf(date));
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue