yakforward-ou / yak_packages

a collection of packages for Flutter
MIT License
12 stars 0 forks source link

[yak_runner] runBypassAsync should take a FutureOr returning function #250

Closed iapicca closed 4 months ago

iapicca commented 4 months ago
extension RunBypassAsyncX<S extends Object> on FutureResult<S> {
  FutureResult<S> runBypassAsync(
--    UnaryAsync<void, S> function,
  ) async {
    final result = await this;
    if (result.isSuccess) {
      final bypass = await function.runVoidAsync(result.asSuccess);
      if (bypass.isFailure) {
        return bypass.asFailure.recast();
      }
    }
    return result;
  }
}