jsonIndexedArray<T> function

JsonBuilder<List<T>> jsonIndexedArray<T>(
  1. JsonBuilder<T> elementBuilder(
    1. int index
    )
)

Reads an array of values from JsonReader.

The builder used for each element is provided by the elementBuilder function based on the index of the element. This allows, for example, building an array that alternates between two types.

Implementation

JsonBuilder<List<T>> jsonIndexedArray<T>(
        JsonBuilder<T> Function(int index) elementBuilder) =>
    (JsonReader reader) {
      reader.expectArray();
      var result = <T>[];
      var index = 0;
      while (reader.hasNext()) {
        result.add(elementBuilder(index)(reader));
        index++;
      }
      return result;
    };