RestoreSave.resources: def of bendvy-ecs-core@0.1.0.4 Import: import bendvy-ecs-core@0.1.0.4/restore_save.bend as RestoreSave Lines 10-14 of bendvy-ecs-core@0.1.0.4/restore_save.bend: https://jend.leeeet.dev/read.txt?path=bendvy-ecs-core@0.1.0.4/restore_save.bend&start_line=10&end_line=14 import Base import bendvy-ecs-core@0.1.0.4/owner_product.bend as Product import bendvy-ecs-core@0.1.0.4/decode_data.bend as D # Advanced save projection for Product.Owner: project only User and # return both actual owners. Logs are retained unchanged, not serialized as fields. def resources(~User:Type,~Logs:Type,~project:User -> User & List<&2,D.Field>,owner:Product.Owner) -> Product.Owner & List<&2,D.Field>: match owner: case Product.Owner{user,logs}:resources_join(~User,~Logs,logs,project(user)) Uses (5): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.4/decode_data.bend&name=Field https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.4/owner_product.bend&name=Owner https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.4/restore_save.bend&name=resources_join