• A string matcher which uses a sum-of-squares algorithm.

    Parameters

    • source: string

      The source text which should be searched.

    • query: string

      The characters to locate in the source text.

    • start: number = 0

      The index to start the search.

    Returns IMatchResult | null

    The match result, or null if there is no match. A lower score represents a stronger match.

    Complexity

    Linear on sourceText.

    Notes

    This scoring algorithm uses a sum-of-squares approach to determine the score. In order for there to be a match, all of the characters in query must appear in source in order. The index of each matching character is squared and added to the score. This means that early and consecutive character matches are preferred, while late matches are heavily penalized.