returnFuture<T> static method

Future<T> returnFuture<T>(
  1. Object? ret
)

Implementation

static Future<T> returnFuture<T>(Object? ret) {
  if (ret is Future<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 Future<T>.value(ret);
  }
}