ts-data-forge
    Preparing search index...
    • Finds the first element that satisfies a predicate.

      Type Parameters

      • E
      • F

      Parameters

      • array: readonly E[]
      • predicate: (value: E, index: Uint32, arr: readonly E[]) => value is F

      Returns Optional<F>

      const users = [
      { id: 1, name: 'Ada' },
      { id: 2, name: 'Grace' },
      ];

      const found = Arr.find(users, (user) => user.id === 2);
      const missing = Arr.find<{ id: number }>((user) => user.id === 3)(users);

      assert.deepStrictEqual(found, Optional.some({ id: 2, name: 'Grace' }));
      assert.deepStrictEqual(missing, Optional.none);
    • Finds the first element that satisfies a predicate.

      Type Parameters

      • const Ar extends readonly unknown[]

      Parameters

      • array: Ar
      • predicate: (value: Ar[number], index: ArrayIndex<Ar>, arr: Ar) => boolean

      Returns Optional<Ar[number]>

      const users = [
      { id: 1, name: 'Ada' },
      { id: 2, name: 'Grace' },
      ];

      const found = Arr.find(users, (user) => user.id === 2);
      const missing = Arr.find<{ id: number }>((user) => user.id === 3)(users);

      assert.deepStrictEqual(found, Optional.some({ id: 2, name: 'Grace' }));
      assert.deepStrictEqual(missing, Optional.none);
    • Finds the first element that satisfies a predicate.

      Type Parameters

      • E

      Parameters

      • predicate: (value: E, index: Uint32, arr: readonly E[]) => boolean

      Returns (array: readonly E[]) => Optional<E>

      const users = [
      { id: 1, name: 'Ada' },
      { id: 2, name: 'Grace' },
      ];

      const found = Arr.find(users, (user) => user.id === 2);
      const missing = Arr.find<{ id: number }>((user) => user.id === 3)(users);

      assert.deepStrictEqual(found, Optional.some({ id: 2, name: 'Grace' }));
      assert.deepStrictEqual(missing, Optional.none);