copyWith method

DetailedTask copyWith({
  1. String? taskId,
  2. TaskStatus? status,
  3. String? statusMessage,
  4. String? createdAt,
  5. String? lastUpdatedAt,
  6. Object? ttlMs = absent,
  7. int? pollIntervalMs,
  8. Map<String, InputRequest>? inputRequests,
  9. Map<String, Object?>? result,
  10. ErrorObject? error,
})

A copy with the given properties replaced; everything else, unknown keys included, is kept.

Implementation

DetailedTask copyWith({
  String? taskId,
  TaskStatus? status,
  String? statusMessage,
  String? createdAt,
  String? lastUpdatedAt,
  Object? ttlMs = absent,
  int? pollIntervalMs,
  Map<String, InputRequest>? inputRequests,
  Map<String, Object?>? result,
  ErrorObject? error,
}) =>
    DetailedTask.fromJson({
      ...toJson(),
      if (taskId != null) 'taskId': $encode(taskId),
      if (status != null) 'status': $encode(status),
      if (statusMessage != null) 'statusMessage': $encode(statusMessage),
      if (createdAt != null) 'createdAt': $encode(createdAt),
      if (lastUpdatedAt != null) 'lastUpdatedAt': $encode(lastUpdatedAt),
      if (!identical(ttlMs, absent)) 'ttlMs': $encode(ttlMs),
      if (pollIntervalMs != null) 'pollIntervalMs': $encode(pollIntervalMs),
      if (inputRequests != null) 'inputRequests': $encode(inputRequests),
      if (result != null) 'result': $encode(result),
      if (error != null) 'error': $encode(error),
    });