registerDependency method

  1. @override
void registerDependency(
  1. dynamic dependency
)
override

Records that the current validation depends on dependency.

Implementation

@override
void registerDependency(dynamic dependency) {
  if (_validationStack.isEmpty) {
    return;
  }
  if (dependency is DraftModeFieldDefinition<dynamic>) {
    dependency = attributeForUntyped(dependency);
  }
  final dependentKey = _validationStack.last;
  final dependencyKey = identityHashCode(dependency);
  if (dependentKey == dependencyKey) {
    return;
  }
  _attributes.putIfAbsent(dependencyKey, () => dependency);
  _dependents.putIfAbsent(dependencyKey, () => <int>{}).add(dependentKey);
}