setDependency method

  1. @protected
void setDependency(
  1. Dependency<Object> dependency
)

Updates the state by setting or updating dependency.

Implementation

@protected
void setDependency(Dependency dependency) {
  UNSAFE:
  UNSAFE:
  {
    final groupEntity = dependency.metadata.isSome()
        ? dependency.metadata.unwrap().groupEntity
        : const DefaultEntity();
    final typeEntity = dependency.typeEntity;
    final currentDep = Option.from(_state[groupEntity]?[typeEntity]);

    if (currentDep.isNone() || currentDep.unwrap() != dependency) {
      (_state[groupEntity] ??= {})[typeEntity] = dependency;
      onChange.ifSome((self, some) => some.unwrap()()).end();
    }
  }
}