toJson method

Map<String, dynamic> toJson()

Returns a JSON object representation.

Implementation

Map<String, dynamic> toJson() {
  final step = _step;
  final app = _app;

  String? companyId;
  String? connectorId;
  String? companyName;
  bool? singleSwitch;
  List<String>? payments;
  String? accountId;

  if (step is DeeplinkStepLoginCompany) {
    companyId = step.companyId;
    connectorId = step.connectorId;
    singleSwitch = step.singleSwitch;
  } else if (step is DeeplinkStepLoginPayroll) {
    connectorId = step.connectorId;
    companyName = step.companyName;
  }

  if (app is DeeplinkAppPayNow) {
    payments = app.payments;
    accountId = app.accountId;
  }

  return <String, dynamic>{
    'step': step?.id,
    'app': app?.id,
    'companyId': companyId,
    'connectorId': connectorId,
    'companyName': companyName,
    'singleSwitch': singleSwitch,
    'payments': payments,
    'accountId': accountId,
  }..removeWhere((key, value) => value == null);
}