@orbit/utils
Version:
Core utilities for Orbit.
53 lines • 4.97 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.firstResult = exports.some = exports.every = void 0;
/**
* Like the Lodash _.every function, this function takes an array and a
* predicate function and returns true or false depending on whether the
* predicate is true for every item in the array.
*/
function every(array, predicate) {
let index = -1;
let length = array.length;
while (++index < length) {
if (!predicate(array[index], index)) {
return false;
}
}
return true;
}
exports.every = every;
/**
* Like the Lodash _.some function, this function takes an array and a predicate
* function and returns true or false depending on whether the predicate is true
* for any of the items in the array.
*/
function some(array, predicate) {
let index = -1;
let length = array.length;
while (++index < length) {
if (predicate(array[index], index)) {
return true;
}
}
return false;
}
exports.some = some;
/**
* This function is similar to Array.prototype.find, but it returns the result
* of calling the value function rather than an item of the array.
*
* @deprecated since v0.17, remove in v0.18
*/
function firstResult(array, valueFn) {
let index = -1;
let length = array.length;
while (++index < length) {
let result = valueFn(array[index], index);
if (result) {
return result;
}
}
}
exports.firstResult = firstResult;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXlzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FycmF5cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7OztHQUlHO0FBQ0gsU0FBZ0IsS0FBSyxDQUNuQixLQUFZLEVBQ1osU0FBa0Q7SUFFbEQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDZixJQUFJLE1BQU0sR0FBVyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBRWxDLE9BQU8sRUFBRSxLQUFLLEdBQUcsTUFBTSxFQUFFO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ25DLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7S0FDRjtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQWRELHNCQWNDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLElBQUksQ0FDbEIsS0FBWSxFQUNaLFNBQWtEO0lBRWxELElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2YsSUFBSSxNQUFNLEdBQVcsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUVsQyxPQUFPLEVBQUUsS0FBSyxHQUFHLE1BQU0sRUFBRTtRQUN2QixJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDbEMsT0FBTyxJQUFJLENBQUM7U0FDYjtLQUNGO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBZEQsb0JBY0M7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLFdBQVcsQ0FDekIsS0FBWSxFQUNaLE9BQTRDO0lBRTVDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2YsSUFBSSxNQUFNLEdBQVcsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUVsQyxPQUFPLEVBQUUsS0FBSyxHQUFHLE1BQU0sRUFBRTtRQUN2QixJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFDLElBQUksTUFBTSxFQUFFO1lBQ1YsT0FBTyxNQUFNLENBQUM7U0FDZjtLQUNGO0FBQ0gsQ0FBQztBQWJELGtDQWFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBMaWtlIHRoZSBMb2Rhc2ggXy5ldmVyeSBmdW5jdGlvbiwgdGhpcyBmdW5jdGlvbiB0YWtlcyBhbiBhcnJheSBhbmQgYVxuICogcHJlZGljYXRlIGZ1bmN0aW9uIGFuZCByZXR1cm5zIHRydWUgb3IgZmFsc2UgZGVwZW5kaW5nIG9uIHdoZXRoZXIgdGhlXG4gKiBwcmVkaWNhdGUgaXMgdHJ1ZSBmb3IgZXZlcnkgaXRlbSBpbiB0aGUgYXJyYXkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBldmVyeShcbiAgYXJyYXk6IGFueVtdLFxuICBwcmVkaWNhdGU6IChtZW1iZXI6IGFueSwgaW5kZXg6IG51bWJlcikgPT4gYm9vbGVhblxuKTogYm9vbGVhbiB7XG4gIGxldCBpbmRleCA9IC0xO1xuICBsZXQgbGVuZ3RoOiBudW1iZXIgPSBhcnJheS5sZW5ndGg7XG5cbiAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICBpZiAoIXByZWRpY2F0ZShhcnJheVtpbmRleF0sIGluZGV4KSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG4vKipcbiAqIExpa2UgdGhlIExvZGFzaCBfLnNvbWUgZnVuY3Rpb24sIHRoaXMgZnVuY3Rpb24gdGFrZXMgYW4gYXJyYXkgYW5kIGEgcHJlZGljYXRlXG4gKiBmdW5jdGlvbiBhbmQgcmV0dXJucyB0cnVlIG9yIGZhbHNlIGRlcGVuZGluZyBvbiB3aGV0aGVyIHRoZSBwcmVkaWNhdGUgaXMgdHJ1ZVxuICogZm9yIGFueSBvZiB0aGUgaXRlbXMgaW4gdGhlIGFycmF5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gc29tZShcbiAgYXJyYXk6IGFueVtdLFxuICBwcmVkaWNhdGU6IChtZW1iZXI6IGFueSwgaW5kZXg6IG51bWJlcikgPT4gYm9vbGVhblxuKTogYm9vbGVhbiB7XG4gIGxldCBpbmRleCA9IC0xO1xuICBsZXQgbGVuZ3RoOiBudW1iZXIgPSBhcnJheS5sZW5ndGg7XG5cbiAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICBpZiAocHJlZGljYXRlKGFycmF5W2luZGV4XSwgaW5kZXgpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBpcyBzaW1pbGFyIHRvIEFycmF5LnByb3RvdHlwZS5maW5kLCBidXQgaXQgcmV0dXJucyB0aGUgcmVzdWx0XG4gKiBvZiBjYWxsaW5nIHRoZSB2YWx1ZSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhbiBpdGVtIG9mIHRoZSBhcnJheS5cbiAqXG4gKiBAZGVwcmVjYXRlZCBzaW5jZSB2MC4xNywgcmVtb3ZlIGluIHYwLjE4XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaXJzdFJlc3VsdChcbiAgYXJyYXk6IGFueVtdLFxuICB2YWx1ZUZuOiAobWVtYmVyOiBhbnksIGluZGV4OiBudW1iZXIpID0+IGFueVxuKTogYW55IHtcbiAgbGV0IGluZGV4ID0gLTE7XG4gIGxldCBsZW5ndGg6IG51bWJlciA9IGFycmF5Lmxlbmd0aDtcblxuICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgIGxldCByZXN1bHQgPSB2YWx1ZUZuKGFycmF5W2luZGV4XSwgaW5kZXgpO1xuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICB9XG59XG4iXX0=