@terminus/ngx-tools
Version:
[![CircleCI][circle-badge]][circle-link] [![codecov][codecov-badge]][codecov-project] [![semantic-release][semantic-release-badge]][semantic-release] [![MIT License][license-image]][license-url] <br> [![NPM version][npm-version-image]][npm-url] [![Github
25 lines • 2.38 kB
JavaScript
import { isFunction } from '../is-function/is-function';
/**
* Determine if all array elements are of a certain type
*
* @param x - The array to test
* @param guard - The function to test for the specific type
* @returns The result
*
* @example
* isArrayOfType<number>([1, 5], isNumber) // Returns: true
* isArrayOfType<number>([1, 'foo'], isNumber) // Returns: false
*/
// eslint-disable-next-line @typescript-eslint/no-explicit-any
export function isArrayOfType(x, guard) {
if (!guard || !isFunction(guard)) {
return false;
}
for (const value of x) {
if (!guard(value)) {
return false;
}
}
return true;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtYXJyYXktb2YtdHlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0ZXJtaW51cy9uZ3gtdG9vbHMvdHlwZS1ndWFyZHMvIiwic291cmNlcyI6WyJpcy1hcnJheS1vZi10eXBlL2lzLWFycmF5LW9mLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXhEOzs7Ozs7Ozs7O0dBVUc7QUFDSCw4REFBOEQ7QUFDOUQsTUFBTSxVQUFVLGFBQWEsQ0FBSSxDQUFRLEVBQUUsS0FBeUI7SUFDbEUsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUNoQyxPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsS0FBSyxNQUFNLEtBQUssSUFBSSxDQUFDLEVBQUU7UUFDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqQixPQUFPLEtBQUssQ0FBQztTQUNkO0tBQ0Y7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnLi4vaXMtZnVuY3Rpb24vaXMtZnVuY3Rpb24nO1xuXG4vKipcbiAqIERldGVybWluZSBpZiBhbGwgYXJyYXkgZWxlbWVudHMgYXJlIG9mIGEgY2VydGFpbiB0eXBlXG4gKlxuICogQHBhcmFtIHggLSBUaGUgYXJyYXkgdG8gdGVzdFxuICogQHBhcmFtIGd1YXJkIC0gVGhlIGZ1bmN0aW9uIHRvIHRlc3QgZm9yIHRoZSBzcGVjaWZpYyB0eXBlXG4gKiBAcmV0dXJucyBUaGUgcmVzdWx0XG4gKlxuICogQGV4YW1wbGVcbiAqIGlzQXJyYXlPZlR5cGU8bnVtYmVyPihbMSwgNV0sIGlzTnVtYmVyKSAgICAgLy8gUmV0dXJuczogdHJ1ZVxuICogaXNBcnJheU9mVHlwZTxudW1iZXI+KFsxLCAnZm9vJ10sIGlzTnVtYmVyKSAvLyBSZXR1cm5zOiBmYWxzZVxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuZXhwb3J0IGZ1bmN0aW9uIGlzQXJyYXlPZlR5cGU8VD4oeDogYW55W10sIGd1YXJkOiAoeTogYW55KSA9PiB5IGlzIFQpOiB4IGlzIFRbXSB7XG4gIGlmICghZ3VhcmQgfHwgIWlzRnVuY3Rpb24oZ3VhcmQpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGZvciAoY29uc3QgdmFsdWUgb2YgeCkge1xuICAgIGlmICghZ3VhcmQodmFsdWUpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG4gIHJldHVybiB0cnVlO1xufVxuIl19