aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMisko Hevery2010-08-11 11:44:12 -0700
committerMisko Hevery2010-08-11 11:44:12 -0700
commit3d5719cd44868f89352ebbedd0e1b1f2575520cb (patch)
tree3947d275110c464b8b40d8cd9d0446983e419256
parentab2213e80e09c763782bebc5e0ff7509056e828a (diff)
downloadangular.js-3d5719cd44868f89352ebbedd0e1b1f2575520cb.tar.bz2
removed undocumented/unneeded methods from Array API
-rw-r--r--src/Angular.js20
-rw-r--r--src/apis.js71
-rw-r--r--test/ApiTest.js73
3 files changed, 9 insertions, 155 deletions
diff --git a/src/Angular.js b/src/Angular.js
index 902ae013..3970f762 100644
--- a/src/Angular.js
+++ b/src/Angular.js
@@ -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;
}
}
diff --git a/src/apis.js b/src/apis.js
index 136473b6..0cf24016 100644
--- a/src/apis.js
+++ b/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;
}
};
diff --git a/test/ApiTest.js b/test/ApiTest.js
index 4035cdbb..9f09773d 100644
--- a/test/ApiTest.js
+++ b/test/ApiTest.js
@@ -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));