initialize method
Initialization implementation. Do not call it directly, use doInitialization.
It can be a synchronous (returning an InitializationResult) or an asynchronous implementation (returning a Future). A thrown error, or an InitializationResult.error, fails the initialization.
The returned InitializationResult.dependencies are initialized after this (post-dependencies). A result of another Initializable makes it a post-dependency too (its dependencies are reported as this one's).
Implementation
@override
FutureOr<InitializationResult> initialize() {
return adapter.resolveMapped((adapter) {
var repositories = buildRepositories(adapter);
var duplicatedError = _checkDuplicatedRepositories(repositories);
if (duplicatedError != null) return duplicatedError;
return extraDependencies().resolveMapped((extraDependencies) {
return InitializationResult.ok(
this,
dependencies: [adapter, ...repositories, ...extraDependencies],
);
});
});
}