toJson method

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

Abstract function that concrete classes must implement. This must encode the internal data model to a JSON compatible representation.

While not required, it is suggested to call removeNull before returning.

Implementation

@override
Map<String, dynamic> toJson() {
  return JsonClass.removeNull({
    'crossAxisAlignment': CrossAxisAlignment.center == crossAxisAlignment
        ? null
        : ThemeEncoder.encodeCrossAxisAlignment(
            crossAxisAlignment,
          ),
    'mainAxisAlignment': MainAxisAlignment.start == mainAxisAlignment
        ? null
        : ThemeEncoder.encodeMainAxisAlignment(
            mainAxisAlignment,
          ),
    'mainAxisSize': MainAxisSize.max == mainAxisSize
        ? null
        : ThemeEncoder.encodeMainAxisSize(
            mainAxisSize,
          ),
    'textBaseline': ThemeEncoder.encodeTextBaseline(
      textBaseline,
    ),
    'textDirection': ThemeEncoder.encodeTextDirection(
      textDirection,
    ),
    'verticalDirection': VerticalDirection.down == verticalDirection
        ? null
        : ThemeEncoder.encodeVerticalDirection(
            verticalDirection,
          ),
    'children': const <JsonWidgetData>[] == children
        ? null
        : JsonClass.toJsonList(children),
    ...args,
  });
}