GControllerExt extension

on

Methods

call<T>() → T

Available on GSInterface, provided by the GControllerExt extension

delete<S>({String? tag, String? key, bool force = false}) bool

Available on GSInterface, provided by the GControllerExt extension

Delete registered Class Instance S (or tag) and, closes any open controllers DisposableInterface, cleans up the memory
deleteAll({bool force = false}) → void

Available on GSInterface, provided by the GControllerExt extension

Delete all registered Class Instances and, closes any open controllers DisposableInterface, cleans up the memory
find<S>({String? tag}) → S

Available on GSInterface, provided by the GControllerExt extension

Finds the registered type <S> (or tag) In case of using GS.spawn to register a type <S> or tag, it will create an instance each time you call find. If the registered type <S> (or tag) is a Controller, it will initialize it's lifecycle.
findOrNull<S>({String? tag}) → S?

Available on GSInterface, provided by the GControllerExt extension

The findOrNull method will return the instance if it is registered; otherwise, it will return null.
getInstanceInfo<S>({String? tag}) InstanceInfo

Available on GSInterface, provided by the GControllerExt extension

isPrepared<S>({String? tag}) bool

Available on GSInterface, provided by the GControllerExt extension

Checks if a lazy factory callback GS.lazyPut() that returns an Instance<S> is registered in memory.
isRegistered<S>({String? tag}) bool

Available on GSInterface, provided by the GControllerExt extension

Check if a Class Instance<S> (or tag) is registered in memory.
lazyPut<S>(InstanceBuilderCallback<S> builder, {String? tag, bool? fenix, bool permanent = false}) → void

Available on GSInterface, provided by the GControllerExt extension

Creates a new Instance lazily from the <S>builder() callback.
lazyReplace<P>(InstanceBuilderCallback<P> builder, {String? tag, bool? fenix}) → void

Available on GSInterface, provided by the GControllerExt extension

Replaces a parent instance with a new Instance
markAsDirty<S>({String? tag, String? key}) → void

Available on GSInterface, provided by the GControllerExt extension

put<S>(S dependency, {String? tag, bool permanent = false}) → S

Available on GSInterface, provided by the GControllerExt extension

putOrFind<S>(InstanceBuilderCallback<S> dep, {String? tag}) → S

Available on GSInterface, provided by the GControllerExt extension

reload<S>({String? tag, String? key, bool force = false}) → void

Available on GSInterface, provided by the GControllerExt extension

reloadAll({bool force = false}) → void

Available on GSInterface, provided by the GControllerExt extension

replace<P>(P child, {String? tag}) → void

Available on GSInterface, provided by the GControllerExt extension

Replace a parent instance of a class in dependency management with a child instance
reset({bool clearRouteBindings = true}) → void

Available on GSInterface, provided by the GControllerExt extension

spawn<S>(InstanceBuilderCallback<S> builder, {String? tag, bool permanent = true}) → void

Available on GSInterface, provided by the GControllerExt extension

Creates a new Class Instance S from the builder callbackS. Every time find<S>() is used, it calls the builder method to generate a new Instance S. It also registers each instance.onClose() with the current Route GS.reference to keep the lifecycle active. Is important to know that the instances created are only stored per Route. So, if you call GS.delete<T>() the "instance factory" used in this method (GS.spawn<T>()) will be removed, but NOT the instances already created by it.