• Compares values first using a Predicate, and if both values don't match the Predicate it will fall back to a Comparator.

    Example

    predicateComparator(isNull)(numberComparator)(0, null) => 1
    predicateComparator(isNull)(numberComparator)(null, -1) => -1
    predicateComparator(isNull)(numberComparator)(null, null) => 0

    Returns

    a Comparator

    Type Parameters

    Parameters

    • predicate: ((value: unknown) => value is U)
        • (value: unknown): value is U
        • Parameters

          • value: unknown

          Returns value is U

    • trueFirst: boolean = true

    Returns (<T>(comparator: Comparator<T>) => Comparator<U | T>)

Generated using TypeDoc