toJson method

Map<String, dynamic> toJson()

Converts a Configuration to a Map.

Implementation

Map<String, dynamic> toJson() {
  final _canvasActions = mainCanvasActions;
  final _tools = tools;

  final jsonObject = {
    "adjustment": adjustment?._toJson(),
    "audio": audio?._toJson(),
    "brush": brush?._toJson(),
    "composition": composition?._toJson(),
    "enableZoom": enableZoom,
    "export": export?._toJson(),
    "filter": filter?._toJson(),
    "focus": focus?._toJson(),
    "forceCrop": forceCrop,
    "frame": frame?._toJson(),
    "mainCanvasActions": _canvasActions == null
        ? null
        : List<dynamic>.from(
            _canvasActions.map((x) => _mainCanvasActionValues.reverse[x])),
    "overlay": overlay?._toJson(),
    "snapping": snapping?._toJson(),
    "sticker": sticker?._toJson(),
    "text": text?._toJson(),
    "textdesign": textdesign?._toJson(),
    "tools": _tools == null
        ? null
        : List<dynamic>.from(_tools.map((x) => _toolValues.reverse[x])),
    "transform": transform?._toJson(),
    "trim": trim?._toJson(),
    "watermark": watermark?._toJson(),
    "theme": theme?.theme.identifier,
    "toolbarMode":
        toolbarMode == null ? null : _toolbarModeValues[toolbarMode]
  };

  if (theme != null) {
    jsonObject.addAll({
      "custom": {"themes": theme?._toJson()}
        ..removeWhere((key, value) => value == null)
    });
  }
  return jsonObject..removeWhere((key, value) => value == null);
}