gets<R> method

  1. @override
Future<Response<T>> gets<R>({
  1. bool onlyUpdatedData = false,
  2. Map<String, dynamic>? extra,
  3. R? source(
    1. R parent
    )?,
})
override

Implementation

@override
Future<Response<T>> gets<R>({
  bool onlyUpdatedData = false,
  Map<String, dynamic>? extra,
  R? Function(R parent)? source,
}) async {
  final response = Response<T>();
  try {
    final url = currentSource(source);
    final reference = await database.get(url);
    final data = reference.data;
    final code = reference.statusCode;
    if ((code == 200 || code == api.status.ok) && data is List<dynamic>) {
      List<T> result = data.map((item) {
        return build(item);
      }).toList();
      return response.copy(result: result);
    } else {
      final error = "Data unmodified [${reference.statusCode}]";
      return response.copy(snapshot: reference, error: error);
    }
  } catch (_) {
    return response.copy(error: _.toString());
  }
}