Skip to content

Commit

Permalink
Merge branch 'timtucker-patch-4'
Browse files Browse the repository at this point in the history
Conflicts:
	src/utils.js
  • Loading branch information
mbest committed Nov 27, 2017
2 parents f33833e + 1689461 commit 9f7afe8
Showing 1 changed file with 36 additions and 28 deletions.
64 changes: 36 additions & 28 deletions src/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -102,32 +102,38 @@ ko.utils = (function () {
fieldsIncludedWithJsonPost: ['authenticity_token', /^__RequestVerificationToken(_.*)?$/],

arrayForEach: function (array, action, actionOwner) {
if (array && typeof array.forEach == 'function') {
array.forEach(action, actionOwner);
} else {
for (var i = 0, j = array.length; i < j; i++) {
action.call(actionOwner, array[i], i, array);
if (array) {
if (typeof array.forEach == 'function') {
array.forEach(action, actionOwner);
} else {
for (var i = 0, j = array.length; i < j; i++) {
action.call(actionOwner, array[i], i, array);
}
}
}
},

arrayIndexOf: function (array, item) {
if (array && typeof array.indexOf == 'function') {
return array.indexOf(item);
if (array) {
if (typeof array.indexOf == 'function') {
return array.indexOf(item);
}
for (var i = 0, j = array.length; i < j; i++)
if (array[i] === item)
return i;
}
for (var i = 0, j = array.length; i < j; i++)
if (array[i] === item)
return i;
return -1;
},

arrayFirst: function (array, predicate, predicateOwner) {
if (array && typeof array.find == 'function') {
return array.find(predicate, predicateOwner);
if (array) {
if (typeof array.find == 'function') {
return array.find(predicate, predicateOwner);
}
for (var i = 0, j = array.length; i < j; i++)
if (predicate.call(predicateOwner, array[i], i, array))
return array[i];
}
for (var i = 0, j = array.length; i < j; i++)
if (predicate.call(predicateOwner, array[i], i, array))
return array[i];
return undefined;
},

Expand All @@ -142,36 +148,38 @@ ko.utils = (function () {
},

arrayGetDistinctValues: function (array) {
array = array || [];
var result = [];
ko.utils.arrayForEach(array, function(item) {
if (ko.utils.arrayIndexOf(result, item) < 0)
result.push(item);
});

if (array) {
ko.utils.arrayForEach(array, function(item) {
if (ko.utils.arrayIndexOf(result, item) < 0)
result.push(item);
});
}
return result;
},

arrayMap: function (array, mapping, mappingOwner) {
if (array && typeof array.map == 'function') {
return array.map(mapping, mappingOwner);
}
array = array || [];
var result = [];
for (var i = 0, j = array.length; i < j; i++)
result.push(mapping.call(mappingOwner, array[i], i));
if (array) {
for (var i = 0, j = array.length; i < j; i++)
result.push(mapping.call(mappingOwner, array[i], i));
}
return result;
},

arrayFilter: function (array, predicate, predicateOwner) {
if (array && typeof array.filter == 'function') {
return array.filter(predicate, predicateOwner);
}
array = array || [];
var result = [];
for (var i = 0, j = array.length; i < j; i++)
if (predicate.call(predicateOwner, array[i], i))
result.push(array[i]);
if (array) {
for (var i = 0, j = array.length; i < j; i++)
if (predicate.call(predicateOwner, array[i], i))
result.push(array[i]);
}
return result;
},

Expand Down

0 comments on commit 9f7afe8

Please sign in to comment.