ts-data-forge
    Preparing search index...
    first: <const Ar extends readonly unknown[]>(
        array: Ar,
    ) => Ar extends readonly []
        ? Readonly<{}>
        : Ar extends readonly [E, unknown]
            ? Readonly<{ value: E }>
            : Ar extends readonly [E, E]
                ? Readonly<{ value: E }>
                : Optional<Ar[number]> = head

    Alias for head.

    Type Declaration

      • <const Ar extends readonly unknown[]>(
            array: Ar,
        ): Ar extends readonly []
            ? Readonly<{}>
            : Ar extends readonly [E, unknown]
                ? Readonly<{ value: E }>
                : Ar extends readonly [E, E]
                    ? Readonly<{ value: E }>
                    : Optional<Ar[number]>
      • Returns the first element of an array as an Optional.

        Type Parameters

        • const Ar extends readonly unknown[]

        Parameters

        Returns Ar extends readonly []
            ? Readonly<{}>
            : Ar extends readonly [E, unknown]
                ? Readonly<{ value: E }>
                : Ar extends readonly [E, E]
                    ? Readonly<{ value: E }>
                    : Optional<Ar[number]>

        const users = [{ id: 1 }, { id: 2 }];
        const empty: { id: number }[] = [];

        const first = Arr.head(users);
        const none = Arr.head(empty);

        assert.deepStrictEqual(first, Optional.some({ id: 1 }));
        assert.deepStrictEqual(none, Optional.none);

    head