• If the provided value matches the Predicate, the default value will be returned

    Example

    Default to 1 if value is less than 0

    const defaultTo1IfNegative = defaultIf(value => value < 0)(1);
    const n = defaultTo1IfNegative(-1);
    console.log(n); // 1

    Example

    Call initializer function if value is less than 0

    const callInitFnIfNegative = defaultIf(value => value < 0)(() => 2);
    const n = callInitFnIfNegative(-1);
    console.log(n); // 2

    Returns

    the defaultValue if the Predicate matches, else the provided value

    Type Parameters

    • T

    • S

    Parameters

    • predicate: ((value: T) => value is S)
        • (value: T): value is S
        • Parameters

          • value: T

          Returns value is S

    Returns (<D>(defaultValue: ValueOrProvider<D, []>) => (<V>(value: V) => D | Exclude<V, S>))

      • <D>(defaultValue: ValueOrProvider<D, []>): (<V>(value: V) => D | Exclude<V, S>)
      • Type Parameters

        • D

        Parameters

        Returns (<V>(value: V) => D | Exclude<V, S>)

          • <V>(value: V): D | Exclude<V, S>
          • Type Parameters

            • V

            Parameters

            • value: V

            Returns D | Exclude<V, S>

Generated using TypeDoc