def header
bendvy-ecs-core@0.1.0.3 · restore_prepare.bend:48
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
48def header(~State:Type,~Custom:Data,~stage:State -> R.Position -> D.Field -> State & R.Dispatch<Custom>,~release:State -> State,version:Bool,progress:Bool,state:State,+input:Snapshot.Snapshot) -> R.Prepared<State,Custom>:
49 match version progress input:
50 case False{} _ Snapshot.Snapshot{value,next,entities,resources}:R.Refused{state,Snapshot.Snapshot{value,next,entities,resources},R.UnsupportedVersion{D.Number{value}}}
51 case True{} False{} Snapshot.Snapshot{version,next,entities,resources}:R.Refused{state,Snapshot.Snapshot{version,next,entities,resources},R.InvalidSnapshot{"$.nextEntity"}}
52 case True{} True{} Snapshot.Snapshot{version,next,+values,+resources}:finished(~State,~Custom,~release,Snapshot.Snapshot{version,next,values,resources},continued(~State,~Custom,state => fields(~State,~Custom,~stage,R.Resource{},resources,state),entities(~State,~Custom,~stage,values,[],state)))