TModelDocs<DTO extends TWriteableId, MODEL extends TModel<DTO>>.fromDtos constructor

TModelDocs<DTO extends TWriteableId, MODEL extends TModel<DTO>>.fromDtos({
  1. required List<DTO> dtos,
  2. required TModelBuilderDef<DTO, MODEL> modelBuilder,
  3. required TSortOption? sort,
  4. required Set<TFilterInput<dynamic, TFilterOption, dynamic>>? filters,
})

Implementation

factory TModelDocs.fromDtos({
  required List<DTO> dtos,
  required TModelBuilderDef<DTO, MODEL> modelBuilder,
  required TSortOption? sort,
  required Set<TFilterInput>? filters,
}) {
  final idMap = <String, MODEL>{};
  final models = <MODEL>[];
  for (final dto in dtos) {
    final model = modelBuilder(dto);
    models.add(model);
    idMap[model.id] = model;
  }
  return TModelDocs<DTO, MODEL>(
    idMap: idMap,
    modelBuilder: modelBuilder,
    list: TList(
      filters: filters,
      sort: sort,
      models: models,
    ),
  );
}