ISpectTheme.fromMap constructor

ISpectTheme.fromMap(
  1. Map<String, dynamic> map
)

Implementation

factory ISpectTheme.fromMap(Map<String, dynamic> map) {
  T cast<T>(String k) => map[k] is T
      ? map[k] as T
      : throw ArgumentError.value(map[k], k, '$T ← ${map[k].runtimeType}');
  return ISpectTheme(
    pageTitle: cast<String?>('page_title'),
    background: map['background'] != null
        ? ISpectDynamicColor.fromMap(Map.from(cast<Map>('background')))
        : null,
    foreground: map['foreground'] != null
        ? ISpectDynamicColor.fromMap(Map.from(cast<Map>('foreground')))
        : null,
    divider: map['divider'] != null
        ? ISpectDynamicColor.fromMap(Map.from(cast<Map>('divider')))
        : null,
    primary: map['primary'] != null
        ? ISpectDynamicColor.fromMap(Map.from(cast<Map>('primary')))
        : null,
    card: map['card'] != null
        ? ISpectDynamicColor.fromMap(Map.from(cast<Map>('card')))
        : null,
    logColors: cast<Map<String, dynamic>?>('log_colors')
            ?.map((k, v) => MapEntry(k, Color((v as num?)?.toInt() ?? 0))) ??
        const <String, Color>{},
    logIcons: cast<Map<String, dynamic>?>('log_icons')?.map(
            (k, v) => MapEntry(k, IconData((v as num?)?.toInt() ?? 0))) ??
        const <String, IconData>{},
    logDescriptions: cast<Map<String, dynamic>?>('log_descriptions')
            ?.map((k, v) => MapEntry(k, v.toString())) ??
        const <String, String>{},
  );
}