allPartsById property

  1. @JsonKey.new(includeFromJson: false, includeToJson: false)
Map<String, BodyPart> get allPartsById

A helper getter to provide a flattened map of all body parts, keyed by their ID.

Implementation

@JsonKey(includeFromJson: false, includeToJson: false)
Map<String, BodyPart> get allPartsById {
  final map = <String, BodyPart>{};
  void traverse(BodyPart part) {
    map[part.id] = part;
    for (final child in part.children) {
      traverse(child);
    }
  }

  for (final part in parts) {
    traverse(part);
  }
  return map;
}