get method

  1. @override
T get()
override

A forwarding computable returns the most recently updated value added to it directly or from one of its dependencies.

Implementation

@override
get() {
  if (_dependencies.isEmpty) {
    return super.get();
  }

  final latestUpdate = (_dependencies.toList()
        ..sort((a, b) => b.updateIndex.compareTo(a.updateIndex)))
      .first;

  if (latestUpdate.updateIndex > updateIndex) {
    // Mark that this computable is now updated to its latest dependency's index.
    _updateIndex = latestUpdate.updateIndex;
    _value = latestUpdate.get();
  }

  return super.get();
}