release method

void release({
  1. void onDispose()?,
})

Implementation

void release({void Function()? onDispose}) {
  assert(refCount > 0, '[Hypen] is released more than acquired');
  refCount--;
  try {
    if (isDisposable) {
      dispose();
      onDispose?.call();
    }
  } on AccessWhileLoadingError {
    dispose();
    onDispose?.call();
  } catch (e) {
    rethrow;
  }
}