getDocument<T extends Object<T>> method

Future<T?> getDocument<T extends Object<T>>(
  1. DocumentReference<Object?> reference
)

Implementation

Future<T?> getDocument<T extends object.Object<T>>(
    DocumentReference reference) async {
  try {
    DocumentSnapshot snapshot = await reference.get();
    if (snapshot.exists) {
      var data = snapshot.data() as Map<String, dynamic>;
      T instance = object.ObjectLib().instance<T>(T, data['id']);
      instance.fromJson(data);
      return instance;
    }
  } catch (e) {
    printDebug(e);
  }
  return null;
}