ThemeGradients.parse constructor

ThemeGradients.parse(
  1. Object? source
)

Implementation

factory ThemeGradients.parse(Object? source) {
  if (source is String) source = jsonDecode(source);
  if (source is! Map) return ThemeGradients();
  try {
    final primary = source['primary'];
    final secondary = source['secondary'];
    final tertiary = source['tertiary'];
    final error = source['error'];
    final warning = source['warning'];
    final disable = source['disable'];
    final light = source['light'];
    final lightAsFixed = source['lightAsFixed'] ?? source['light_as_fixed'];
    final dark = source['dark'];
    final darkAsFixed = source['darkAsFixed'] ?? source['dark_as_fixed'];
    final mid = source['mid'];
    final holo = source['holo'];
    final soft = source['soft'];
    final deep = source['deep'];
    return ThemeGradients(
      primary: primary is Map ? primary.gradient : null,
      secondary: secondary is Map ? secondary.gradient : null,
      tertiary: tertiary is Map ? tertiary.gradient : null,
      error: error is Map ? error.gradient : null,
      warning: warning is Map ? warning.gradient : null,
      disable: disable is Map ? disable.gradient : null,
      light: light is Map ? light.gradient : null,
      lightAsFixed: lightAsFixed is Map ? lightAsFixed.gradient : null,
      dark: dark is Map ? dark.gradient : null,
      darkAsFixed: darkAsFixed is Map ? darkAsFixed.gradient : null,
      mid: mid is Map ? mid.gradient : null,
      holo: holo is Map ? holo.gradient : null,
      soft: soft is Map ? soft.gradient : null,
      deep: deep is Map ? deep.gradient : null,
    );
  } catch (_) {
    return ThemeGradients();
  }
}