GrxPostalCodeRule.fromMap constructor
GrxPostalCodeRule.fromMap(
- Map<String, dynamic>? map
)
Implementation
factory GrxPostalCodeRule.fromMap(Map<String, dynamic>? map) {
if (map == null) return const GrxPostalCodeRule();
final regex = map['regex'] as String? ?? map['regex_pattern'] as String?;
final hint = map['hint'] as String? ?? map['hint_text'] as String?;
List<String>? patterns;
final patternsRaw = map['patterns'] ??
map['regex_patterns'] ??
map['regexList'] ??
map['regex_list'];
if (patternsRaw is List) {
patterns = patternsRaw
.map((e) => e?.toString().trim())
.where((s) => s != null && s.isNotEmpty)
.cast<String>()
.toList();
if (patterns.isEmpty) patterns = null;
}
final stripNonDigits =
map['stripNonDigits'] == true || map['strip_non_digits'] == true;
List<String>? examples;
final examplesRaw = map['examples'];
if (examplesRaw is List) {
examples = examplesRaw
.map((e) => e?.toString().trim())
.where((s) => s != null && s.isNotEmpty)
.cast<String>()
.toList();
if (examples.isEmpty) examples = null;
}
return GrxPostalCodeRule(
regex: regex,
patterns: patterns,
hint: hint,
stripNonDigits: stripNonDigits,
examples: examples,
);
}