def entities
bendvy-ecs-core@0.1.0.3 · restore_prepare.bend:40
import bendvy-ecs-core@0.1.0.3/restore_prepare.bend as RestorePrepare
import Base
import bendvy-ecs-core@0.1.0.3/restore_data.bend as R
import bendvy-ecs-core@0.1.0.3/snapshot_data.bend as Snapshot
import bendvy-ecs-core@0.1.0.3/decode_data.bend as D
import bendvy-ecs-core@0.1.0.3/entity_key.bend as Key
40def entities(~State:Type,~Custom:Data,~stage:State -> R.Position -> D.Field -> State & R.Dispatch<Custom>,values:List<&2,Snapshot.Entity>,+previous:List<&2,Key.Key>,state:State) -> Walk<State,Custom>:
41 match values:
42 case []:Working{state}
43 case Snapshot.Entity{+key,components} <> rest:entity_checked(~State,~Custom,seen(key,previous),key,components,state,next => entities(~State,~Custom,~stage,rest,key <> previous,next),(next => values => fields(~State,~Custom,~stage,R.Component{key},values,next)))