copyWith method

FilterOptionGroup copyWith({
  1. FilterOption? imageOption,
  2. FilterOption? videoOption,
  3. FilterOption? audioOption,
  4. DateTimeCond? createTimeCond,
  5. DateTimeCond? updateTimeCond,
  6. bool? containsEmptyAlbum,
  7. bool? containsPathModified,
  8. List<OrderOption>? orders,
})

Implementation

FilterOptionGroup copyWith({
  FilterOption? imageOption,
  FilterOption? videoOption,
  FilterOption? audioOption,
  DateTimeCond? createTimeCond,
  DateTimeCond? updateTimeCond,
  bool? containsEmptyAlbum,
  bool? containsPathModified,
  List<OrderOption>? orders,
}) {
  imageOption ??= _map[AssetType.image];
  videoOption ??= _map[AssetType.video];
  audioOption ??= _map[AssetType.audio];
  containsEmptyAlbum ??= this.containsEmptyAlbum;
  containsPathModified ??= this.containsPathModified;
  createTimeCond ??= this.createTimeCond;
  updateTimeCond ??= this.updateTimeCond;
  orders ??= this.orders;

  final result = FilterOptionGroup()
    ..setOption(AssetType.image, imageOption!)
    ..setOption(AssetType.video, videoOption!)
    ..setOption(AssetType.audio, audioOption!)
    ..createTimeCond = createTimeCond
    ..updateTimeCond = updateTimeCond
    ..containsEmptyAlbum = containsEmptyAlbum
    ..containsPathModified = containsPathModified
    ..orders.addAll(orders);

  return result;
}