constructAndInitializeInstance<MInstance extends MvvmInstance> method

MInstance constructAndInitializeInstance<MInstance extends MvvmInstance>(
  1. String id, {
  2. dynamic params,
  3. bool withNoConnections = false,
  4. void beforeInitialize(
    1. dynamic
    )?,
})

Implementation

MInstance constructAndInitializeInstance<MInstance extends MvvmInstance>(
  String id, {
  dynamic params,
  bool withNoConnections = false,
  void Function(dynamic)? beforeInitialize,
}) {
  final builder = builders[id];

  final instance = builder!() as MInstance;

  if (beforeInitialize != null) {
    beforeInitialize(instance);
  }

  if (instance.isInitialized) {
    return instance;
  }

  if (withNoConnections) {
    instance.initializeWithoutConnections(params);
  } else {
    instance.initialize(params);
  }

  return instance;
}