string_search_algorithms library

High-performance string similarity and substring search algorithms for Dart.

This umbrella library re-exports the similarity and search APIs so you can import a single entry point.

Classes

AlgorithmOptions
Configuration options for specific similarity algorithms.
CacheOptions
Configuration options for internal caching.
CompiledPattern
Represents a pre-compiled search pattern for efficient reuse.
FuzzyMatch<T>
Represents a match result from a fuzzy search against a list of candidates.
NgramCacheKey
Key for caching n-grams (string + n).
NormalizationOptions
Configuration options for string normalization.
SearchMatch
Represents a successful match of a pattern in a text.
SimilarityCaches
Holds references to the various caches used by the engine.
SimilarityContext
Context passed to SimilarityMetric.score.
SimilarityMetric
Interface for a string similarity or distance metric.
SimilarityMetricRegistry
Registry for mapping SimilarityAlgorithm enums to SimilarityMetric implementations.
SimilarityOptions
Comprehensive configuration for the StringSimilarityEngine.
SimilarityResult
Detailed result of a similarity comparison.
StringSearch
Static facade for common string search operations.
StringSearchEngine
Engine for performing substring searches using various algorithms.
StringSimilarity
Static facade for common string similarity operations.
StringSimilarityEngine
Engine for performing string similarity comparisons and fuzzy matching.

Enums

SearchAlgorithm
Enumeration of supported substring search algorithms.
SimilarityAlgorithm
Enumeration of supported string similarity/distance algorithms.

Extensions

StringSearchExtensions on String
Convenience extensions for using StringSearch on String instances.
StringSimilarityExtensions on String
Convenience extensions for using StringSimilarity on String instances.

Typedefs

Distance = int
Represents an edit distance (integer count of operations).
PostProcessor = String Function(String)
Function that transforms a string after normalization.
PreProcessor = String Function(String)
Function that transforms a string before processing (e.g. trimming).
SimilarityScore = double
Represents a similarity score between 0.0 (no match) and 1.0 (exact match).
Tokenizer = List<String> Function(String)
Function that splits a string into a list of tokens.

Exceptions / Errors

AlgorithmNotSupportedException
Thrown when an algorithm is not supported/registered.
InvalidConfigurationException
Thrown when options/configuration are invalid.
InvalidInputException
Thrown when a required input is invalid (e.g., empty pattern for compile).
StringSearchAlgorithmsException
Base exception for the package.