Function whenFalsy

  • Like when, but when is falsy the value is returned as is.

    Example

    const isEven = (value: number) => value % 2 === 0;
    const whenIsOdd = whenFalsy(isEven);
    const double = (value: number) => value * 2;
    const doubleWhenOdd = whenIsOdd(double);

    doubleWhenOdd(2); // 2
    doubleWhenOdd(3); // 6

    Returns

    Curried function with predicate in context.

    Type Parameters

    • Value

    • Predicated = Value

    Parameters

    • predicate: Predicate<Value, Predicated>

      Predicate to check value against.

    Returns (<FalseInput, FalseOutput>(falsyHandler: Unary<FalseInput, FalseOutput>) => ((value: Value) => Predicated & Value | FalseOutput))

      • <FalseInput, FalseOutput>(falsyHandler: Unary<FalseInput, FalseOutput>): ((value: Value) => Predicated & Value | FalseOutput)
      • Type Parameters

        • FalseInput = Value extends Predicated ? Value : Predicated

        • FalseOutput = Predicated & Value

        Parameters

        • falsyHandler: Unary<FalseInput, FalseOutput>

        Returns ((value: Value) => Predicated & Value | FalseOutput)

          • (value: Value): Predicated & Value | FalseOutput
          • Parameters

            • value: Value

            Returns Predicated & Value | FalseOutput