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() {
final decorationEncoded =
_JsonAnimatedContainerBuilder._encodeDecoration(decoration);
final foregroundDecorationEncoded =
_JsonAnimatedContainerBuilder._encodeForegroundDecoration(
foregroundDecoration);
return JsonClass.removeNull({
'alignment': ThemeEncoder.encodeAlignmentGeometry(
alignment,
),
'clipBehavior': Clip.none == clipBehavior
? null
: ThemeEncoder.encodeClip(
clipBehavior,
),
'color': ThemeEncoder.encodeColor(
color,
),
'constraints': ThemeEncoder.encodeBoxConstraints(
constraints,
),
'curve': Curves.linear == curve ? null : CurvesValues.encode(curve),
'decoration': decorationEncoded,
'duration': duration.inMilliseconds,
'foregroundDecoration': foregroundDecorationEncoded,
'height': height,
'margin': ThemeEncoder.encodeEdgeInsetsGeometry(
margin,
),
'onEnd': onEnd,
'padding': ThemeEncoder.encodeEdgeInsetsGeometry(
padding,
),
'transform': ThemeEncoder.encodeMatrix4(
transform,
),
'transformAlignment': ThemeEncoder.encodeAlignmentGeometry(
transformAlignment,
),
'width': width,
'child': child?.toJson(),
...args,
});
}