mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-03-17 07:40:22 +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) {
|
||||
var curryArgs = slice.call(arguments, 2, arguments.length);
|
||||
if (typeof _function == 'function') {
|
||||
return curryArgs.length == 0 ?
|
||||
function() {
|
||||
return _function.apply(_this, arguments);
|
||||
} :
|
||||
function() {
|
||||
return _function.apply(_this, curryArgs.concat(slice.call(arguments, 0, arguments.length)));
|
||||
};
|
||||
function bind(self, fn) {
|
||||
var curryArgs = arguments.length > 2 ? slice.call(arguments, 2, arguments.length) : [];
|
||||
if (typeof fn == 'function') {
|
||||
return curryArgs.length ? function() {
|
||||
return arguments.length ? fn.apply(self, curryArgs.concat(slice.call(arguments, 0, arguments.length))) : fn.apply(self, curryArgs);
|
||||
}: function() {
|
||||
return arguments.length ? fn.apply(self, arguments) : fn.call(self);
|
||||
};
|
||||
} else {
|
||||
// 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 = {
|
||||
'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) {
|
||||
var fn = angular['Function']['compile'](expression);
|
||||
var sum = 0;
|
||||
|
|
@ -49,20 +38,6 @@ var angularArray = {
|
|||
array.splice(index, 1);
|
||||
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) {
|
||||
var predicates = [];
|
||||
predicates.check = function(value) {
|
||||
|
|
@ -195,52 +170,6 @@ var angularArray = {
|
|||
var arrayCopy = [];
|
||||
for ( var i = 0; i < array.length; i++) { arrayCopy.push(array[i]); }
|
||||
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]));
|
||||
};
|
||||
|
||||
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(){
|
||||
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;}));
|
||||
};
|
||||
|
||||
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(){
|
||||
assertEquals(angular.Array.indexOf(['a'], 'a'), 0);
|
||||
assertEquals(angular.Array.indexOf(['a', 'b'], 'a'), 0);
|
||||
|
|
@ -80,14 +52,6 @@ ApiTest.prototype.testRemove = function(){
|
|||
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() {
|
||||
var items = ["MIsKO", {name:"shyam"}, ["adam"], 1234];
|
||||
assertEquals(4, angular.Array.filter(items, "").length);
|
||||
|
|
@ -161,16 +125,6 @@ ApiTest.prototype.testCount = function() {
|
|||
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() {
|
||||
assertEquals([2,15], angular.Array.orderBy([15,2]));
|
||||
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'));
|
||||
};
|
||||
|
||||
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(){
|
||||
var date = new Date("Sep 10 2003 13:02:03 GMT");
|
||||
assertEquals("date", angular.Object.typeOf(date));
|
||||
|
|
|
|||
Loading…
Reference in a new issue