submit method

Future<void> submit({
  1. required DataSubmitter<void> dataSubmitter,
  2. DataOnResponseReceived<void>? onResponseReceived,
  3. Duration timeout = const Duration(seconds: 10),
})

Implementation

Future<void> submit({
  required DataSubmitter<void> dataSubmitter,
  DataOnResponseReceived<void>? onResponseReceived,
  Duration timeout = const Duration(seconds: 10),
}) async {
  final result = await _submit(dataSubmitter: dataSubmitter);

  if (!isClosed) {
    switch (result) {
      case DataSubmitSucceedEmpty() || DataSubmitSucceed<void>():
        emit(SubmitSucceed(result.message));
        onResponseReceived?.call(result);
      case DataSubmitFailed():
        emit(SubmitFailed(result.message, exception: result.exception));
    }
  }
}