QuerySnapshot<T extends Object?>.fromJson constructor
- dynamic jsonString,
- dynamic db
Creates a QuerySnapshot from JSON data.
Parameters:
jsonString: The JSON data to parse.
Returns: A QuerySnapshot instance.
Example:
var snapshot = QuerySnapshot.fromJson(jsonData);
Implementation
factory QuerySnapshot.fromJson(dynamic jsonString, dynamic db) {
dynamic data = jsonString;
QuerySnapshot qSnap = QuerySnapshot([],
data["type"] == "dualityviewcollection" ? DualityViewColReference(helper: QueryHelper(),
oracledb: db,
path: data["path"]) : CollectionReference(
helper: QueryHelper(),
oracledb: db,
path: data["path"])
,SnapshotMetadata(hasPendingWrites: false,isFromCache: false));
List<DocumentChange> docCh = [];
List<QueryDocumentSnapshot<T>> docsList = [];
for (var i =0;i<data["docChanges"].length;i++) {
docCh.add(DocumentChange.fromJson(data["docChanges"][i], db));
}
for (var i =0;i<data["docs"].length;i++) {
docsList.add(QueryDocumentSnapshot.fromJson(data["docs"][i]));
}
qSnap._docChanges = docCh;
qSnap._docs = docsList;
qSnap._size = data["size"];
qSnap.query._conditions = data["conditions"];
qSnap.query._aggregate = data["aggregate"];
qSnap.query._explicitOrder = data["explicitOrder"];
qSnap.query._joins = data["joins"];
qSnap.query._col_group = data["col_group"];
qSnap.query._limit = data["limit"];
qSnap.query.type = data["type"];
return qSnap as QuerySnapshot<T>;
}