def init_checked

bendvy-ecs-core@0.1.0.4 · ordinary_machine_initialization.bend:80

import bendvy-ecs-core@0.1.0.4/ordinary_machine_initialization.bend as OrdinaryMachineInitialization
import Base
import bendvy-ecs-core@0.1.0.4/machine.bend as M
import bendvy-ecs-core@0.1.0.4/ordinary_machine_declaration.bend as OD
import bendvy-ecs-core@0.1.0.4/world.bend as W

80def init_checked(~S:Data,~K:Data,~V:Data,~R:Type,~take:R -> R & State<S,K,V>,~put:R -> State<S,K,V> -> R,~C:Type,~E:Data,~declaration:OD.Declaration<S,K,V,R,take_slot(~S,~K,~V,~R,~take,~put)>,~make:W.World<S,C,R,E> -> W.World<S,C,R,E> & V,pair:W.World<S,C,R,E> & M.Slot<S,K,V>) -> W.World<S,C,R,E>:
81  match pair:
82    case (world,M.Missing{}):defaulted(~S,~K,~V,~R,~take,~put,~C,~E,~declaration,make(world))
83    case (world,_):world

Uses (8)

Used by (1)