Function find

  • Find the first element which satisfies a predicate (or a refinement) function. It returns an Option containing the element or None if not found.

    Type Parameters

    • A
    • B

    Parameters

    • refinement: Refinement<A, B>

    Returns ((as) => Option<B>)

      • (as): Option<B>
      • Parameters

        • as: A[]

        Returns Option<B>

    Example

    import { findFirst } from 'fp-ts/Array'
    import { some } from 'fp-ts/Option'

    type X = {
    readonly a: number
    readonly b: number
    }

    assert.deepStrictEqual(findFirst((x: X) => x.a === 1)([{ a: 1, b: 1 }, { a: 1, b: 2 }]), some({ a: 1, b: 1 }))

    Since

    2.0.0

  • Type Parameters

    • A

    Parameters

    • predicate: Predicate<A>

    Returns (<B>(bs) => Option<B>)

      • <B>(bs): Option<B>
      • Type Parameters

        • B extends A

        Parameters

        • bs: B[]

        Returns Option<B>

  • Type Parameters

    • A

    Parameters

    • predicate: Predicate<A>

    Returns ((as) => Option<A>)

      • (as): Option<A>
      • Parameters

        • as: A[]

        Returns Option<A>