InjectionExtension extension

on

Methods

call<T>() → T

Available on SintInterface, provided by the InjectionExtension extension

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

Available on SintInterface, provided by the InjectionExtension 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 SintInterface, provided by the InjectionExtension extension

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

Available on SintInterface, provided by the InjectionExtension extension

Finds the registered type <S> (or tag) In case of using Sint.create 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 SintInterface, provided by the InjectionExtension extension

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

Available on SintInterface, provided by the InjectionExtension extension

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

Available on SintInterface, provided by the InjectionExtension extension

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

Available on SintInterface, provided by the InjectionExtension extension

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

Available on SintInterface, provided by the InjectionExtension extension

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

Available on SintInterface, provided by the InjectionExtension extension

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

Available on SintInterface, provided by the InjectionExtension extension

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

Available on SintInterface, provided by the InjectionExtension extension

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

Available on SintInterface, provided by the InjectionExtension extension

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

Available on SintInterface, provided by the InjectionExtension extension

reloadAll({bool force = false}) → void

Available on SintInterface, provided by the InjectionExtension extension

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

Available on SintInterface, provided by the InjectionExtension extension

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

Available on SintInterface, provided by the InjectionExtension extension

Clears all registered instances (and/or tags). Even the persistent ones. This should be used at the end or tearDown of unit tests.
spawn<S>(InstanceBuilderCallback<S> builder, {String? tag, bool permanent = true}) → void

Available on SintInterface, provided by the InjectionExtension 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 Sint.reference to keep the lifecycle active. Is important to know that the instances created are only stored per Route. So, if you call Sint.delete<T>() the "instance factory" used in this method (Sint.spawn<T>()) will be removed, but NOT the instances already created by it.