Function whenTruthy

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

    Example

    const isEven = (value: number) => value % 2 === 0;
    const whenIsEven = whenTruthy(isEven);
    const double = (value: number) => value * 2;
    const doubleWhenEven = whenIsEven(double);

    doubleWhenEven(2); // 4
    doubleWhenEven(3); // 3

    Returns

    Curried function with predicate in context.

    Type Parameters

    • Value

    • Predicated = Value

    Parameters

    • predicate: Predicate<Value, Predicated>

      Predicate to check value against.

    Returns ((...firstArgument: [truthyHandler: Unary<Predicated & Value, unknown>]) => ((value: Value) => unknown))

      • (...firstArgument: [truthyHandler: Unary<Predicated & Value, unknown>]): ((value: Value) => unknown)
      • Parameters

        • Rest ...firstArgument: [truthyHandler: Unary<Predicated & Value, unknown>]

        Returns ((value: Value) => unknown)

          • (value: Value): unknown
          • Parameters

            • value: Value

            Returns unknown