registerModule method

  1. @protected
void registerModule(
  1. ThrioModule module,
  2. ModuleContext moduleContext
)

A function for registering a module, which will call the onModuleRegister function of the module.

Implementation

@protected
void registerModule(ThrioModule module, ModuleContext moduleContext) {
  if (modules.containsKey(module.key)) {
    throw ThrioException('A module with the same key ${module.key} already exists');
  } else {
    final submoduleContext = ModuleContext(entrypoint: moduleContext.entrypoint);
    moduleOf[submoduleContext] = module;
    modules[module.key] = module;
    parentOf[module] = this;
    module
      .._moduleContext = submoduleContext
      ..onModuleRegister(submoduleContext);
  }
}