TModelDocs<DTO extends TWriteableId, MODEL extends TModel<DTO> >.fromDtos constructor
TModelDocs<DTO extends TWriteableId, MODEL extends TModel<DTO> >.fromDtos ({
- required List<
DTO> dtos, - required TModelBuilderDef<
DTO, MODEL> modelBuilder, - TSortFilteredListsMap<
DTO, MODEL> ? sortFilteredListsMap,
Implementation
factory TModelDocs.fromDtos({
required List<DTO> dtos,
required TModelBuilderDef<DTO, MODEL> modelBuilder,
TSortFilteredListsMap<DTO, MODEL>? sortFilteredListsMap,
}) {
final idMap = <String, MODEL>{};
final models = <MODEL>[];
for (final dto in dtos) {
final model = modelBuilder(dto);
models.add(model);
idMap[model.id] = model;
}
final pSortFilteredListsMap =
sortFilteredListsMap ?? <String, TSortFilteredList<DTO, MODEL>>{};
for (final sortFilteredList in pSortFilteredListsMap.values) {
sortFilteredList.apply(models);
}
return TModelDocs<DTO, MODEL>(
idMap: idMap,
modelBuilder: modelBuilder,
sortFilteredListsMap: pSortFilteredListsMap,
);
}