def bind

bendvy-ecs-core@0.1.0.4 · ordinary_component_binding.bend:9

import bendvy-ecs-core@0.1.0.4/ordinary_component_binding.bend as OrdinaryComponentBinding
import Base
import bendvy-ecs-core@0.1.0.4/ordinary_declaration.bend as Identity
import bendvy-ecs-core@0.1.0.4/component.bend as C
import bendvy-ecs-core@0.1.0.4/column.bend as Col

9# Trusted schema setup: connect a component identity to its column take/put
10# lenses and owner-preserving Data projection. The resulting Data binding owns
11# no payload. Callers must supply mutually consistent lenses; this constructor
12# does not prove their laws or establish runtime world identity.
13# Example: examples/scheduled-health/registration.bend component bindings.
14def bind(~S:Data,~Store:Type,~Rest:Type,~P:Type,~V:Data,~Token:Data,~take:Store -> Rest & Col.Column<S,P>,~put:Rest -> Col.Column<S,P> -> Store,~view:P -> P & V,+identity:Identity.Declaration<S,P>) -> Binding<S,Store,Rest,P,V,Token,take,put,view>:
15  Binding{identity,C.Family{Identity.key(~S,~P,identity)}}

Uses (6)

Used by (2)