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)))

Uses (14)

Used by (1)