toJson method

  1. @override
Map<String, dynamic>? toJson(
  1. CupertinoThemeData? value
)
override

Implementation

@override
Map<String, dynamic>? toJson(CupertinoThemeData? value) {
  if (value == null) return null;

  var runtimeTypeStr = value.runtimeType.toString();
  // In Flutter < 1.24, the type is: CupertinoThemeData or _NoDefaultCupertinoThemeData
  // In Flutter >= 1.24, the type is: NoDefaultCupertinoThemeData
  assert(runtimeTypeStr == 'CupertinoThemeData' ||
      runtimeTypeStr == 'NoDefaultCupertinoThemeData' ||
      runtimeTypeStr == '_NoDefaultCupertinoThemeData');

  if (runtimeTypeStr == 'CupertinoThemeData' ||
      runtimeTypeStr == 'NoDefaultCupertinoThemeData' ||
      runtimeTypeStr == '_NoDefaultCupertinoThemeData') {
    return <String, dynamic>{
      'barBackgroundColor':
          const NullableColorConverter().toJson(value.barBackgroundColor),
      'brightness':
          const NullableBrightnessConverter().toJson(value.brightness),
      'primaryColor':
          const NullableColorConverter().toJson(value.primaryColor),
      'primaryContrastingColor': const NullableColorConverter()
          .toJson(value.primaryContrastingColor),
      'scaffoldBackgroundColor': const NullableColorConverter()
          .toJson(value.scaffoldBackgroundColor),
      'textTheme': const NullableCupertinoTextThemeDataConverter()
          .toJson(value.textTheme),
    };
  } else {
    throw Exception(
      'Unknown type passed in to [const NullableCupertinoThemeDataConverter().toJson]: [$runtimeTypeStr]',
    );
  }

  throw 'Json_Unsuported_Value';
}