def optional
bendvy-ecs-core@0.1.0.4 · ordinary_query_observable.bend:56
import bendvy-ecs-core@0.1.0.4/ordinary_query_observable.bend as OrdinaryQueryObservable
import Base
import bendvy-ecs-core@0.1.0.4/ordinary_query_declaration.bend as N
import bendvy-ecs-core@0.1.0.4/ordinary_component_binding.bend as B
import bendvy-ecs-core@0.1.0.4/ordinary_query_selections.bend as F
import bendvy-ecs-core@0.1.0.4/inspector_query_families.bend as Families
import bendvy-ecs-core@0.1.0.4/inspector.bend as I
import bendvy-ecs-core@0.1.0.4/compose.bend as Q
import bendvy-ecs-core@0.1.0.4/column.bend as Col
import bendvy-ecs-core@0.1.0.4/component.bend as C
import bendvy-ecs-core@0.1.0.4/capabilities.bend as Cap
56
57
58
59def optional(~S:Data,~Store:Type,~Rest:Type,~Payload:Type,~V:Data,~Token:Data,~take:Store -> Rest & Col.Column<S,Payload>,~put:Rest -> Col.Column<S,Payload> -> Store,~view:Payload -> Payload & V,~R:Type,~E:Data,~binding:B.Binding<S,Store,Rest,Payload,V,Token,take,put,view>) -> Declaration<S,Q.Frame<S,Store,R,E>,Cap.Read<Q.Frame<S,Store,R,E>,V>,I.Frame<S,Store,R,E>,C.Access<V>>:
60 Declaration{_=>(N.optional(~S,~Payload,~Store,~R,~E,~Rest,~V,~Token,~B.identity(~S,~Store,~Rest,~Payload,~V,~Token,~take,~put,~view,binding),~view,~take,~put)),_=>(F.inspect_slot(~S,~Store,~R,~E,~Rest,~Payload,~V,~Token,~take,~put,~view,~binding,~Families.Optional{}))}