PluginDescriptor class final

A descriptor for configuring the plugin system in a Vyuh application.

The PluginDescriptor manages the registration and initialization of all plugins in the application. It ensures that plugins are loaded in the correct order and provides type-safe access to plugin instances.

Plugins are organized into several categories:

Each plugin type has a default implementation that is used if not explicitly provided. Custom implementations can be provided for any plugin type.

Example:

final plugins = PluginDescriptor(
  analytics: MyCustomAnalyticsPlugin(),
  auth: MyCustomAuthPlugin(),
  others: [MyCustomPlugin()],
);

The initialization order of plugins is managed automatically based on their dependencies. Core system plugins are initialized first, followed by custom plugins in the order they are provided.

Constructors

PluginDescriptor.new({DIPlugin? di, ContentPlugin? content, AnalyticsPlugin? analytics, TelemetryPlugin? telemetry, NetworkPlugin? network, AuthPlugin? auth, NavigationPlugin? navigation, EnvPlugin? env, EventPlugin? event, StoragePlugin? storage, SecureStoragePlugin? secureStorage, List<Plugin>? others})

Properties

hashCode int
The hash code for this object.
no setterinherited
plugins List<Plugin>
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

get<T extends Plugin>() → T?
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Properties

system PluginDescriptor
final
systemPluginTypes List<Type>
final