def reserve_result

bendvy-ecs-core@0.1.0.3 · world.bend:129

import bendvy-ecs-core@0.1.0.3/world.bend as World
import Base
import bendvy-ecs-core@0.1.0.3/clock_state.bend as Clock
import bendvy-ecs-core@0.1.0.3/execution_lifecycle_notices.bend as Notice
import bendvy-ecs-core@0.1.0.3/deferred_command.bend as Deferred
import entity_allocator.bend as A

129def reserve_result(~S:Data,~C:Type,~R:Type,~E:Data,+namespace:U32,store:C,resource:R,+events:List<&2,E>,pending:List<Deferred.Command<World<S,C,R,E>>>,+registrations:List<&2,RegistrationMeta>,+nextSystemId:U32,+clock:Clock.State,allocator:A.Allocator,reservation:A.Reservation,lifecycle:Notice.Journal<S>) -> World<S,C,R,E> & Reservation<S>:
130  match reservation:
131    case A.Exhausted{}:(World{namespace,allocator,store,resource,events,pending,registrations,nextSystemId,clock,lifecycle},ReservationRejected{CapacityExceeded{}})
132    case A.Reserved{key}:(World{namespace,allocator,store,resource,events,pending,registrations,nextSystemId,clock,lifecycle},Reserved{Handle{namespace,key}})

Uses (14)

Used by (1)