decodeColorScheme static method

ColorScheme? decodeColorScheme(
  1. dynamic value, {
  2. bool validate = true,
})

Decodes the given value to an CardTheme. This expects the given value to follow the structure below:

{
  "background": <Color>,
  "brightness": <Brightness>,
  "error": <Color>,
  "onBackground": <Color>,
  "onError": <Color>,
  "onPrimary": <Color>,
  "onSecondary": <Color>,
  "onSurface": <Color>,
  "primary": <Color>,
  "primaryVariant": <Color>,
  "secondary": <Color>,
  "secondaryVariant": <Color>,
  "surface": <Color>
}

See also:

Implementation

static ColorScheme? decodeColorScheme(
  dynamic value, {
  bool validate = true,
}) {
  ColorScheme? result;

  if (value is ColorScheme) {
    result = value;
  } else if (value != null) {
    assert(SchemaValidator.validate(
      schemaId: '$_baseSchemaUrl/color_scheme',
      value: value,
      validate: validate,
    ));
    result = ColorScheme(
      background: decodeColor(
        value['background'],
        validate: false,
      )!,
      brightness: decodeBrightness(
        value['brightness'],
        validate: false,
      )!,
      error: decodeColor(
        value['error'],
        validate: false,
      )!,
      onBackground: decodeColor(
        value['onBackground'],
        validate: false,
      )!,
      onError: decodeColor(
        value['onError'],
        validate: false,
      )!,
      onPrimary: decodeColor(
        value['onPrimary'],
        validate: false,
      )!,
      onSecondary: decodeColor(
        value['onSecondary'],
        validate: false,
      )!,
      onSurface: decodeColor(
        value['onSurface'],
        validate: false,
      )!,
      primary: decodeColor(
        value['primary'],
        validate: false,
      )!,
      primaryVariant: decodeColor(
        value['primaryVariant'],
        validate: false,
      )!,
      secondary: decodeColor(
        value['secondary'],
        validate: false,
      )!,
      secondaryVariant: decodeColor(
        value['secondaryVariant'],
        validate: false,
      )!,
      surface: decodeColor(
        value['surface'],
        validate: false,
      )!,
    );
  }

  return result;
}