toJson method
As JSON.
Implementation
Map<String, dynamic> toJson() => <String, dynamic>{
// A sourceId request never stores its resolved URL.
if (url.isNotEmpty) "url": url,
if (sourceId != null) "sourceId": sourceId,
if (mirrors.isNotEmpty) "mirrors": mirrors,
if (headers.isNotEmpty) "headers": headers,
if (fileName != null) "fileName": fileName,
if (title != null) "title": title,
if (mimeType != null) "mimeType": mimeType,
"destination": destination.toJson(),
"priority": priority.name,
if (connections != null) "connections": connections,
if (speedLimit > 0) "speedLimit": speedLimit,
if (checksum != null) "checksum": checksum!.toJson(),
if (wifiOnly) "wifiOnly": true,
if (startAt != null) "startAt": startAt!.millisecondsSinceEpoch,
"conflict": conflict.name,
"maxRetries": maxRetries,
if (useSystemDownloader) "system": true,
if (openWhenDone) "openWhenDone": true,
if (notifyWhenDone) "notifyWhenDone": true,
if (!visible) "visible": false,
if (expireIn != null) "expireIn": expireIn!.inSeconds,
if (tag != null) "tag": tag,
if (metadata.isNotEmpty) "metadata": metadata,
};