returnFutureOr<T> static method

FutureOr<T> returnFutureOr<T>(
  1. Object? ret
)

Implementation

static FutureOr<T> returnFutureOr<T>(Object? ret) {
  if (ret is Future<T>) return ret;
  if (ret is T) return ret;

  if (ret is Future) {
    return ret.then((v) {
      if (v is! T) {
        throw ClassProxyCallError.returnedValueError(T, v);
      }
      return v;
    });
  } else {
    if (ret is! T) {
      throw ClassProxyCallError.returnedValueError(T, ret);
    }
    return ret;
  }
}