initModule function

void initModule(
  1. Module module, {
  2. List<Bind<Object>> replaceBinds = const [],
  3. bool initialModule = false,
})

Implementation

void initModule(Module module, {List<Bind<Object>> replaceBinds = const [], bool initialModule = false}) {
  // ignore: invalid_use_of_visible_for_testing_member
  final bindModules = [...module.getProcessBinds()];

  for (var i = 0; i < bindModules.length; i++) {
    final item = bindModules[i];
    var dep = (replaceBinds).firstWhere((dep) {
      return item.runtimeType == dep.runtimeType;
    }, orElse: () => BindEmpty());
    if (dep is! BindEmpty) {
      bindModules[i] = dep;
    }
  }
  // ignore: invalid_use_of_visible_for_testing_member
  module.changeBinds(bindModules);
  if (initialModule) {
    Modular.init(module);
  } else {
    Modular.bindModule(module);
  }
}