read method

  1. @override
Object? read(
  1. Object? document, {
  2. Object? orElse()?,
})
override

Reads the referenced value from the document. If no value is referenced, gets the value from orElse or throws BadRoute.

Implementation

@override
Object? read(Object? document, {Object? Function()? orElse}) {
  final node = parent.read(document, orElse: orElse);
  try {
    return _reference.read(node);
  } on ReferenceFailure {
    if (orElse != null) return orElse();
    throw BadRoute(this, document);
  }
}