dispose method
Implementation
@override
Future<void> dispose(AsyncDepAccess<V, D> access) async {
assert(
_initialized,
'Dispose of ${access.dep.runtimeType} has been called without initialization',
);
final value = super.getValue(access);
try {
_initialized = false;
access.asyncDepObserver?.onDepStartDispose(access.dep);
await access.disposeCallback(value);
access.asyncDepObserver?.onDepDisposed(access.dep);
} on Object catch (e, s) {
access.asyncDepObserver?.onDepDisposeFailed(access.dep, e, s);
rethrow;
}
}