instance_manager library

June Instance Manager is a modern and intelligent dependency injector that injects and removes dependencies seasonally.

Classes

Connections
Connections should be extended or implemented. When using JuneMaterialApp, all JunePages and navigation methods (like June.to()) have a binding property that takes an instance of Connections to manage the dependencies() (via June.put()) for the Route you are opening.
ConnectionsInterface<T>
Engine
InstanceDetails
JuneInterface
JuneInterface allows any auxiliary package to be merged into the "June" class through extensions
JuneService
Unlike JuneState, which serves to control events on each of its pages, JuneService is not automatically disposed (nor can be removed with June.delete()). It is ideal for situations where, once started, that service will remain in memory, such as Auth control for example. Only way to remove it is June.reset().
RouterReportManager<T>

Enums

IntelligentManagement
JuneX by default disposes unused controllers from memory, Through different behaviors. IntelligentManagement.full IntelligentManagement.full is the default one. Dispose classes that are not being used and were not set to be permanent. In the majority of the cases you will want to keep this config untouched. If you new to JuneX then don't change this. IntelligentManagement.onlyBuilder only controllers started in init: or loaded into a Binding with June.lazyPut() will be disposed. If you use June.put() or June.putAsync() or any other approach, IntelligentManagement will not have permissions to exclude this dependency. With the default behavior, even widgets instantiated with "June.put" will be removed, unlike IntelligentManagement.onlyBuilders. IntelligentManagement.keepFactoryJust like IntelligentManagement.full, it will remove it's dependencies when it's not being used anymore. However, it will keep their factory, which means it will recreate the dependency if you need that instance again.

Mixins

JuneLifeCycleMixin
The JuneLifeCycle
JuneServiceMixin
Allow track difference between JuneServices and JuneStates

Properties

June → _JuneImpl
final

Functions

obscure<T>(T? value) → T?
This allows a value of type T or T? to be treated as a value of type T?.

Typedefs

AdapterCallback = void Function()
AsyncBuilderPattern<S> = Future<S> Function()
BuilderPattern<S> = S Function()
InstanceCreateBuilderCallback<S> = S Function(BuildContext _)
StateUpdater<T> = T Function()