Map<String, dynamic> toJson() { return { 'loaderId': loaderId.toJson(), 'action': action.toJson(), 'url': url, if (targetHint != null) 'targetHint': targetHint!.toJson(), }; }