Hyperlinkv0.8.0-beta.28

Array

Array.everyconsteffect/Array.ts:4141
<A, B extends A>(refinement: (a: NoInfer<A>, i: number) => a is B): (
  self: ReadonlyArray<A>
) => self is ReadonlyArray<B>
<A>(predicate: (a: NoInfer<A>, i: number) => boolean): (
  self: ReadonlyArray<A>
) => boolean
<A, B extends A>(
  self: ReadonlyArray<A>,
  refinement: (a: A, i: number) => a is B
): self is ReadonlyArray<B>
<A>(
  self: ReadonlyArray<A>,
  predicate: (a: A, i: number) => boolean
): boolean

Checks whether all elements satisfy the predicate. Supports refinements for type narrowing.

When to use

Use to check whether every array element satisfies a predicate, including refinement-based type narrowing.

Example (Testing all elements)

import { Array } from "effect"

console.log(Array.every([2, 4, 6], (x) => x % 2 === 0)) // true
console.log(Array.every([2, 3, 6], (x) => x % 2 === 0)) // false
elementssome
Source effect/Array.ts:414112 lines
export const every: {
  <A, B extends A>(
    refinement: (a: NoInfer<A>, i: number) => a is B
  ): (self: ReadonlyArray<A>) => self is ReadonlyArray<B>
  <A>(predicate: (a: NoInfer<A>, i: number) => boolean): (self: ReadonlyArray<A>) => boolean
  <A, B extends A>(self: ReadonlyArray<A>, refinement: (a: A, i: number) => a is B): self is ReadonlyArray<B>
  <A>(self: ReadonlyArray<A>, predicate: (a: A, i: number) => boolean): boolean
} = dual(
  2,
  <A, B extends A>(self: ReadonlyArray<A>, refinement: (a: A, i: number) => a is B): self is ReadonlyArray<B> =>
    self.every(refinement)
)