using<T, E extends IDisposable> function
A convenience method to execute a function and dispose the given IDisposable object.
Implementation
FutureOr<T> using<T, E extends IDisposable>(
E disposable,
FutureOr<T> Function(E instance) delegate,
) async {
try {
return delegate(disposable);
} finally {
disposable.dispose();
}
}