readIndex<V> method

  1. @override
V readIndex<V>(
  1. VMContext context,
  2. int index
)
override

Implementation

@override
V readIndex<V>(VMContext context, int index) {
  final value = this.value;

  if (value is List) {
    return value[index] as V;
  } else if (value is Iterable) {
    return value.elementAt(index);
  } else if (value is Map) {
    var entry = value.entries.elementAt(index);
    return entry.value;
  }

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