localized static method

String localized(
  1. PasswordRequirement requirement,
  2. PasswordRequirementTexts texts
)

Localized label for requirement using texts.

Built-in requirement types are mapped by class. Custom requirements and user-defined subclasses fall back to matching description against PasswordRequirementTexts.defaults (same behavior as legacy APIs).

Implementation

static String localized(
  PasswordRequirement requirement,
  PasswordRequirementTexts texts,
) {
  return switch (requirement) {
    MinLengthPasswordRequirement(:final length) => texts.minLength(length),
    MaxLengthPasswordRequirement(:final length) => texts.maxLength(length),
    ContainsLowercasePasswordRequirement() => texts.containsLowercase,
    ContainsUppercasePasswordRequirement() => texts.containsUppercase,
    ContainsNumberPasswordRequirement() => texts.containsNumber,
    ContainsSpecialCharacterPasswordRequirement() =>
      texts.containsSpecialCharacter,
    _ => requirement.description,
  };
}