Skip to content

Instantly share code, notes, and snippets.

@mblarsen
mblarsen / example.js
Last active August 8, 2016 14:41
Object predicates for ko.utils.arrayFirst and similar
// Override arrayFirst (but remain backward compatible)
ko.utils._arrayFirst = ko.utils.arrayFirst
ko.utils.arrayFirst = function (array, ...predicateParams) {
// In case used as regular arrayFirst
if (typeof predicateParams[0] === 'function') {
return ko.utils._arrayFirst(array, predicateParams[0])
}
// Otherwise wrap
return ko.utils._arrayFirst(array, ko.utils.objectPredicate(...predicateParams))
}