languageSeed function

String languageSeed(
  1. String code
)

Returns the seed document for code, English included.

The code is matched without regard to case, so 'EN', 'En' and 'en' all resolve. A language tag arrives upper-cased often enough --- from a locale, a header, a database column --- that refusing one would be a trap.

Pass this straight to a builder or a preset:

final filter = VulgarityFilter.fromPreset(
  json,
  languageResolver: languageSeed,
);

Throws ArgumentError when this package carries no pack for the code.

Implementation

String languageSeed(String code) {
  final String key = code.toLowerCase();
  if (key == 'en') {
    return kSeedEn;
  }
  final String? seed = kLanguageSeeds[key];
  if (seed == null) {
    throw ArgumentError.value(
      code,
      'code',
      'No pack for this language. Available: '
          "${kAvailableLanguages.join(', ')}",
    );
  }
  return seed;
}