interface ComparisonStrategy<T> {
    name: string;
    strategy: StrategyFunc<T>;
    isValid?: ((strA: string, strB: string) => boolean);
}

Type Parameters

Properties

name: string

The name of this strategy

strategy: StrategyFunc<T>

A function that accepts two string arguments and returns a number

isValid?: ((strA: string, strB: string) => boolean)

An optional function that accepts two string arguments and returns whether this strategy should be used