ts-data-forge
    Preparing search index...
    • Filters an Optional based on a predicate. If the Optional is Some and the predicate returns true, returns the original Optional. Otherwise returns None.

      Type Parameters

      Parameters

      • optional: O

        The Optional to filter.

      • predicate: (value: Unwrap<O>) => boolean

        The predicate function.

      Returns Optional<Unwrap<O>>

      The filtered Optional.

      const even = Optional.filter(Optional.some(4), (value) => value % 2 === 0);
      const odd = Optional.filter(Optional.some(3), (value) => value % 2 === 0);

      assert.deepStrictEqual(even, Optional.some(4));
      assert.deepStrictEqual(odd, Optional.none);

      const filterEven = Optional.filter((value: number) => value % 2 === 0);

      assert.deepStrictEqual(filterEven(Optional.some(6)), Optional.some(6));
      assert.deepStrictEqual(filterEven(Optional.some(5)), Optional.none);
    • Filters an Optional based on a predicate. If the Optional is Some and the predicate returns true, returns the original Optional. Otherwise returns None.

      Type Parameters

      • S

      Parameters

      • predicate: (value: S) => boolean

        The predicate function.

      Returns (optional: Optional<S>) => Optional<S>

      The filtered Optional.

      const even = Optional.filter(Optional.some(4), (value) => value % 2 === 0);
      const odd = Optional.filter(Optional.some(3), (value) => value % 2 === 0);

      assert.deepStrictEqual(even, Optional.some(4));
      assert.deepStrictEqual(odd, Optional.none);

      const filterEven = Optional.filter((value: number) => value % 2 === 0);

      assert.deepStrictEqual(filterEven(Optional.some(6)), Optional.some(6));
      assert.deepStrictEqual(filterEven(Optional.some(5)), Optional.none);