@lamansky/every
v1.0.0
Published
A better Array.prototype.every(). Supports iterables, whitelist testing, and more.
Downloads
8,656
Readme
every
A better Array.prototype.every()
. Supports iterables, whitelist testing, and more.
Installation
Requires Node.js 6.0.0 or above.
npm i @lamansky/every
API
The module exports a single function.
Parameters
- Bindable:
iter
(iterable) - Optional:
test
(function, array, or any): If a function is provided, iterated values will be evaluated on whethertest
returnstrue
when passed the value. If an array is provided, iterated values will be evaluated on whether they are contained in the array. If some other value is provided, iterated values will be evaluated on whether they strictly equaltest
. Iftest
is omitted, iterated values will be evaluated on whether they are truthy. - Optional: Object argument (or a value for
vacuously
):vacuously
(boolean): What to return ifiter
doesn’t iterate anything. Defaults totrue
. Thiis is for consistency withArray.prototype.every()
, which interprets any test on an empty array as being vacuously true.
Return Values
- If
iter
doesn’t iterate anything, returnsvacuously
if set, otherwisetrue
. - Otherwise, returns
true
if every one of the iterated values ofiter
passestest
; otherwise returnsfalse
.
Example
const every = require('@lamansky/every')
const arr = [1, 2, 3]
every(arr, n => n >= 1) // true
every(arr, [1, 2, 3, 4]) // true
every(arr, n => n > 1) // false
every(arr, 1) // false
every(arr, [1, 2]) // false