w_module library
The w_module library implements a module encapsulation and lifecycle pattern for Dart that interfaces well with the application architecture defined in the w_flux library.
w_module defines how data should flow in and out of a module, how renderable UI is exposed to consumers, and establishes a common module lifecycle that facilitates dynamic loading / unloading of modules.
Classes
- DispatchKey
- Key that enables dispatching of events. Every Event is associated with a specific key, and that key must be used in order to dispatch an item to that event stream.
-
Event<
T> - An event stream that can be listened to. A dispatch key is required to instantiate the event stream. The same dispatch key must subsequently be used to dispatch all events on the stream, effectively preventing uncontrolled external dispatch.
- EventsCollection
- A base class for a collection of Event instances that are all tied to the same DispatchKey.
- LifecycleModule
- Intended to be extended by most base module classes in order to provide a unified lifecycle API.
- Module
- A Module encapsulates a well-scoped logical unit of functionality and exposes a discrete public interface for consumers. It extends LifecycleModule to ensure that it adheres to a well-defined lifecycle.
- ModuleComponents
- Standard ModuleComponents class. If a module implements a custom class for its components, it should extend ModuleComponents.
- ShouldUnloadResult
- A set of messages returned from the hierarchical application of shouldUnload
- SimpleModule
- A SimpleModule encapsulates a well-scoped logical unit of functionality and exposes a discrete public interface for consumers.
- StartupTimingType
-
The type of 'startup timing metric' to be used by
specifyStartupTiming
Exceptions / Errors
- ModuleUnloadCanceledException
- Exception thrown when unload fails.