def get_checked_fields

bendvy-ecs-core@0.1.0.3 · component.bend:79

import bendvy-ecs-core@0.1.0.3/component.bend as Component
import Base
import bendvy-ecs-core@0.1.0.3/execution_lifecycle_notices.bend as Notice
import bendvy-ecs-core@0.1.0.3/clock_state.bend as Clock
import bendvy-ecs-core@0.1.0.3/deferred_command.bend as Deferred
import column.bend as Col
import world.bend as W
import entity_key.bend as K
import entity_allocator.bend as A

79def get_checked_fields(~S: Data,~Store: Type,~R: Type,~E: Data,~Rest: Type,~C: Type,~V: Data,~Token: Data,~take: Store -> Rest & Col.Column<S,C>,~put: Rest -> Col.Column<S,C> -> Store,~project: C -> C & V,checked: A.Allocator & Bool,key: K.Key,namespace: U32,store: Store,resource: R,events: List<&2,E>,pending: List<Deferred.Command<W.World<S,Store,R,E>>>,registrations: List<&2,W.RegistrationMeta>,nextSystemId: U32,clock: Clock.State,lifecycle:Notice.Journal<S>) -> W.World<S,Store,R,E> & Access<V>:
80  match checked key:
81    case (allocator,False{}) _: (W.World{namespace,allocator,store,resource,events,pending,registrations,nextSystemId,clock,lifecycle},MissingEntity{})
82    case (allocator,True{}) K.EntityKey{+id,_}:
83      W.with_store_finish(~S,~Store,~R,~E,~Access<V>,get_store(~S,~Store,~R,~E,~Rest,~C,~V,~Token,~take,~put,~project,id,take(store)),namespace,allocator,resource,events,pending,registrations,nextSystemId,clock,lifecycle)

Uses (16)

Used by (1)