getRegionOptions static method

Future<List<Map<String, dynamic>>> getRegionOptions({
  1. required String regionNo,
})

Returns the selectable region options for a PCIC regionNo.

Implementation

static Future<List<Map<String, dynamic>>> getRegionOptions({
  required String regionNo,
}) async {
  final regions = await getRegionNumbers();
  final normalizedRegionNo = _normalizeValue(regionNo);
  if (normalizedRegionNo == null) {
    return [];
  }

  for (final region in regions) {
    if (region['regionNo'] != normalizedRegionNo) {
      continue;
    }

    final regionOptions =
        List<String>.from(region['regionOptions'] as List<dynamic>);

    return regionOptions
        .map(
          (option) => {
            'regionNo': normalizedRegionNo,
            'regionOption': option,
            'label': option,
            'isSpecialRegion': option != normalizedRegionNo,
          },
        )
        .toList();
  }

  return [];
}