getSnapshotFromDriver method Null safety

Future<Snapshot?> getSnapshotFromDriver(
  1. String id,
  2. SnapshotType type,
  3. FlutterDriver driver,
  4. List<RegExp>? removeExps
)

Implementation

static Future<Snapshot?> getSnapshotFromDriver(String id, SnapshotType type,
    FlutterDriver driver, List<RegExp>? removeExps) async {
  try {
    switch (type) {
      case SnapshotType.image:
        return Snapshot(id, image: (await driver.screenshot()));
      case SnapshotType.render:
        final json = (await driver.getRenderTree()).toJson();
        var s = json['tree'].toString().cleanupTree();
        s = removeExps != null ? s.removeFromList(removeExps) : s;
        return Snapshot(id, render: s);
      case SnapshotType.layer:
        final json = (await driver.getLayerTree()).toJson();
        var s = json['tree'].toString().cleanupTree();
        s = removeExps != null ? s.removeFromList(removeExps) : s;
        return Snapshot(id, layer: s);
    }
  } catch (e) {
    print(
        'SnapshotTest: (getSnapshotFromDriver) snapshot from driver failed for type - $type - $e');
  }
}