DataSearch constructor

DataSearch({
  1. required String needle,
  2. required String haystack,
})

Implementation

DataSearch({required String needle, required String haystack}) {
  needle = removeDiacritics(needle.toLowerCase());
  haystack = removeDiacritics(haystack.toLowerCase());
  hasMatch = _hasMatch(needle, haystack);
  if (hasMatch) {
    _d = List.generate(
      needle.length,
      (_) => List.filled(haystack.length, _scoreMin),
    );
    _m = List.generate(
      needle.length,
      (_) => List.filled(haystack.length, _scoreMin),
    );
    _compute(needle, haystack);
  }
  score = hasMatch ? _score(needle, haystack) : _scoreMin;
  positions = hasMatch ? _positions(needle, haystack) : [];
}