ModuleDescriptor class final

What a module is and how it relates to other modules and roles.

Annotations
  • @immutable

Constructors

ModuleDescriptor({required ModuleId id, required String description, required ModuleKind kind, Set<ModuleId> dependsOn = const {}, Set<Role<Object>> requires = const {}, Set<Role<Object>> uses = const {}, List<RoleProvider<Object>> providers = const [], Variants? variants, List<SocketRef<SocketKind>> sockets = const [], List<SocketFamily<Object?, SocketKind>> socketFamilies = const []})
Creates the descriptor of the module id.
const

Properties

dependsOn → Set<ModuleId>
The modules this module builds on, such as Firebase Analytics on Firebase Core.
final
description → String
What the module adds to the app, for prompts and diagnostics.
final
effectiveRequires → Set<Role<Object>>
The roles the module requires, including those its kind implies, the role of its variants, and those the roles it provides require.
no setter
effectiveUses → Set<Role<Object>>
The roles the module uses, including those the roles it provides use, except roles it requires or provides.
no setter
hashCode → int
The hash code for this object.
no setterinherited
id → ModuleId
The id of the module.
final
kind → ModuleKind
What kind of module it is, which decides the rules it follows.
final
providers → List<RoleProvider<Object>>
The roles the module provides, one provider object per role.
final
provides → Set<Role<Object>>
The roles the module provides.
no setter
requires → Set<Role<Object>>
Roles the module needs, whichever module provides them.
final
roles → Set<Role<Object>>
All roles of the module: those it provides, requires or uses.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
socketFamilies → List<SocketFamily<Object?, SocketKind>>
Socket families of the module itself; see SocketFamily.module.
final
sockets → List<SocketRef<SocketKind>>
Sockets of the module itself, for the modules that depend on it directly; see SocketRef.module.
final
uses → Set<Role<Object>>
Roles the module works with when they are present.
final
variants → Variants?
Alternative contributions of the module for different providers of a role, such as a feature with a BLoC and a Riverpod variant.
final

Methods

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