MatrixApp class final

An app of the matrix: the modules to ask for, which name every module of the app so that no question is left, and the options of its roles.

Constructors

MatrixApp(String name, List<ModuleId> modules, {Map<String, String?> roleOptions = const {}, Map<String, String> modes = const {}, List<ModuleId>? everyModuleWith, RoleHookRequest? hook, List<String> warnings = const []})
Creates the app that the contract harness built for name.
const

Properties

everyModuleWith → List<ModuleId>?
For an app with every module, one of those that the contract harness builds for each combination of the providers of the roles that take one (see ContractHarness.casesOfAll): the providers of its roles that take one other than the first registered provider of each, in the order of the roles, such as [riverpod] for the app with riverpod rather than bloc, and none for the app with the first provider of every role. The providers of a role that takes many, which every app with every module has, set no app apart. null for any other app of the matrix.
final
hashCode → int
The hash code for this object.
no setterinherited
hook → RoleHookRequest?
The data and roles of the app, as for the hooks of its roles, with the choices that the roles made when the contract harness rendered it, which smf create makes the same with the roleOptions; null for an app that the harness did not build.
final
modes → Map<String, String>
The values of the mode options (see RoleOption.mode) that set the app apart from the app with the same modules and the first value of each, by the name of the option, such as {'clock-hours': '12'}: those that its case of the contract harness gives (see ContractHarness.casesOfRole and ContractHarness.casesOfModes), which are among the roleOptions too. None for the app of any other case, whose mode options have their first value, or the value that the options of every app of the matrix give them.
final
modules → List<ModuleId>
The modules of the app.
final
name → String
The case of the contract harness that the app comes from.
final
roleOptions → Map<String, String?>
The values of role options by name, which smf create gets as its options (createArguments).
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
warnings → List<String>
The codes of the warnings about what the app is made of that smf create reports for the app (see SmfIssue.code), such as router.no_start for an app that no route starts, sorted and each once: those that the contract harness found when it built the app (see ContractResult.warnings). None for an app that the harness did not build.
final

Methods

createArguments(String appName, String directory) → List<String>
The arguments of smf create that generate the app as appName in directory, as CI does: without questions, external setup or the full dart fix, and failing instead of leaving out a module and on a warning about the app other than its warnings.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
packageName(String base) → String
The name of the package of this app with every module among the apps generated as base: base and the ids of everyModuleWith after it, such as start_app and start_app_riverpod. So the app keeps its name when another role gets a second provider, and so do the ids that come from it, by which an external service may know the app.
toString() → String
A string representation of this object.
override

Operators

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