toJson method
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,
});
}