$read<T extends HypenGeneratedData> method

  1. @override
T $read<T extends HypenGeneratedData>(
  1. Object infoKey,
  2. T build(), {
  3. Object? actionKey,
})
override

Implementation

@override
T $read<T extends HypenGeneratedData>(
  Object infoKey,
  T Function() build, {
  Object? actionKey,
}) {
  var info = container.find<T>(infoKey);
  if (info == null) {
    info = build()..watcher = this;

    container.add(
      infoKey,
      info,
    );
    actionKey = actionKey ?? infoKey;
    final actorElements = HypenElement._effectOwner[actionKey] ?? [];
    for (final elm in actorElements) {
      elm._registerWaitingActions(info, actionKey);
    }
  }

  return info..watcher = this;
}