close method

  1. @override
void close()
override

Permanently closes the reactive object and releases all internal resources.

After calling close, the object should no longer be used.

Implementation

@override
void close() {
  if (LevitReactiveMiddleware.bypassMiddleware ||
      !LevitReactiveMiddleware.hasDisposeMiddlewares) {
    unbind();
    _controller?.close();
    super.dispose();
    _checkActive();
  } else {
    final wrapped = LevitStateMiddlewareChain.applyOnDispose(() {
      unbind();
      _controller?.close();
      super.dispose();
      _checkActive();
    }, this);
    wrapped();
  }
}