ModelEntity.fromMap constructor
Implementation
ModelEntity.fromMap(
Map<String, dynamic> data, {
ModelInfo? model,
bool check = true,
}) : _model = model,
id = IdUid.fromString(data[ModelEntityKey.id] as String?),
lastPropertyId = IdUid.fromString(
data[ModelEntityKey.lastPropertyId] as String?,
),
uidRequest = data[ModelEntityKey.uidRequest] as bool? ?? false,
_properties = [],
_relations = [],
_backlinks = [] {
name = data[ModelEntityKey.name] as String?;
externalName = data[ModelEntityKey.externalName] as String?;
flags = data[ModelEntityKey.flags] as int? ?? 0;
final properties = data[ModelEntityKey.properties] as List;
for (final p in properties) {
_properties.add(ModelProperty.fromMap(p as Map<String, dynamic>, this));
}
final relations = data[ModelEntityKey.relations] as List?;
if (relations != null) {
for (final p in relations) {
_relations.add(ModelRelation.fromMap(p as Map<String, dynamic>));
}
}
final backlinks = data[ModelEntityKey.backlinks] as List?;
if (backlinks != null) {
for (final p in backlinks) {
_backlinks.add(ModelBacklink.fromMap(p as Map<String, dynamic>));
}
}
if (data[ModelEntityKey.constructorParams] != null) {
constructorParams = (data[ModelEntityKey.constructorParams]
as List<dynamic>)
.map((dynamic e) => e as String)
.toList(growable: false);
}
if (check) validate();
_idProperty = this.properties.singleWhere(
(p) => (p.flags & OBXPropertyFlags.ID) != 0,
);
}