readKey<V> method

  1. @override
V readKey<V>(
  1. VMContext context,
  2. Object key
)
override

Implementation

@override
V readKey<V>(VMContext context, Object key) {
  final value = this.value;

  if (value is Map) {
    return value[key];
  } else if (value is Iterable) {
    var idx = key is int ? key : int.tryParse('$key');
    if (idx != null) {
      return value.elementAt(idx);
    }
  }

  throw ApolloVMNullPointerException(
      "Can't read key '$key': type: $type ; value: $value");
}