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({
    'alignment': Alignment.topCenter == alignment
        ? null
        : ThemeEncoder.encodeAlignmentGeometry(
            alignment,
          ),
    'crossFadeState': ThemeEncoder.encodeCrossFadeState(
      crossFadeState,
    ),
    'duration': duration.inMilliseconds,
    'excludeBottomFocus':
        true == excludeBottomFocus ? null : excludeBottomFocus,
    'firstChild': firstChild.toJson(),
    'firstCurve':
        Curves.linear == firstCurve ? null : CurvesValues.encode(firstCurve),
    'layoutBuilder': AnimatedCrossFade.defaultLayoutBuilder == layoutBuilder
        ? null
        : layoutBuilder,
    'reverseDuration': reverseDuration?.inMilliseconds,
    'secondChild': secondChild.toJson(),
    'secondCurve': Curves.linear == secondCurve
        ? null
        : CurvesValues.encode(secondCurve),
    'sizeCurve':
        Curves.linear == sizeCurve ? null : CurvesValues.encode(sizeCurve),
    ...args,
  });
}