tzfileLocationToNativeLocation function

Location tzfileLocationToNativeLocation(
  1. Location loc
)

Implementation

Location tzfileLocationToNativeLocation(tzfile.Location loc) {
  // convert to milliseconds
  final transitionAt = loc.transitionAt
      .map((i) =>
          (i < -_maxSecondsSinceEpoch) ? -_maxMillisecondsSinceEpoch : i * 1000)
      .toList();

  final zones = <TimeZone>[];

  for (final z in loc.zones) {
    zones.add(TimeZone(z.offset * 1000,
        isDst: z.isDst, abbreviation: loc.abbreviations[z.abbreviationIndex]));
  }

  return Location(loc.name, transitionAt, loc.transitionZone, zones);
}