findByValue method

CompositeValue<K, T>? findByValue(
  1. T? value
)

Implementation

CompositeValue<K, T>? findByValue(T? value) {
  final node = this;
  if (node == null) {
    return null;
  }

  return node.map(
    group: (group) {
      for (final item in group.nodes) {
        final result = item.findByValue(value);
        if (result != null) {
          return result;
        }
      }
      return null;
    },
    value: (value) {
      if (value.value == value) {
        return value;
      } else {
        return null;
      }
    },
  );
}