PullCollection<Item>.rest constructor

PullCollection<Item>.rest(
  1. RestClient client,
  2. String endpoint, {
  3. Map<String, dynamic> urlParams = const {},
  4. Map<String, List<String>> query = const {},
  5. Map<String, List<String>> headers = const {},
  6. TransferBean<Item>? bean,
})

Implementation

factory PullCollection.rest(
  RestClient client,
  String endpoint, {
  Map<String, dynamic> urlParams = const {},
  Map<String, List<String>> query = const {},
  Map<String, List<String>> headers = const {},
  TransferBean<Item>? bean,
}) =>
    PullCollection<Item>.delegate(
      (p, q) async {
        final response = await client.get(
          endpoint,
          urlParams: {...urlParams, ...p},
          query: {
            ...query,
            ...q,
            '\$count': ['']
          },
          headers: headers,
        );
        final data = await response.getBody();
        return data['count'] as int;
      },
      (offset, limit, p, q) async {
        final response = await client.get(
          endpoint,
          urlParams: {...urlParams, ...p},
          query: {...query, ...q},
          headers: headers,
        );
        return await response.getBody<List<Item>>(bean: bean);
      },
    );