def component

bendvy-ecs-core@0.1.0.4 · ordinary_binding_provision.bend:57

import bendvy-ecs-core@0.1.0.4/ordinary_binding_provision.bend as OrdinaryBindingProvision
import Base
import bendvy-ecs-core@0.1.0.4/ordinary_component_binding.bend as Binding
import bendvy-ecs-core@0.1.0.4/ordinary_declaration.bend as Identity
import bendvy-ecs-core@0.1.0.4/column.bend as Col
import bendvy-ecs-core@0.1.0.4/ordinary_schema.bend as Schema
import bendvy-ecs-core@0.1.0.4/schema_fragments.bend as Fragment
import bendvy-ecs-core@0.1.0.4/ordinary_schema_provision.bend as Ordinary
import bendvy-ecs-core@0.1.0.4/ordinary_schema_dump.bend as Dump

57# Build dump/population provisioning from the SAME operational binding.
58# Identity, lenses and view are not repeated as debug metadata. render handles
59# detached V; payload/store ownership stays threaded through trusted callbacks.
60# Does not read a World or validate arbitrary lens laws during construction.
61def component(~S:Data,~C:Type,~Rest:Type,~P:Type,~V:Data,~Token:Data,~take:C -> Rest & Col.Column<S,P>,~put:Rest -> Col.Column<S,P> -> C,~view:P -> P & V,~render:V -> String,~empty:Unit -> C,binding:Binding.Binding<S,C,Rest,P,V,Token,take,put,view>) -> Dump.Provision<S,C,Unit,empty,count(~S,~C,~Rest,~P,~take,~put),values(~S,~C,~Rest,~P,~V,~take,~put,~view,~render),no_resource>:
62  match binding:
63    case Binding.Binding{+identity,_}:Dump.Provision{Ordinary.Provision{Schema.Schema{[Fragment.Entry{Fragment.Component{},Identity.key(~S,~P,identity),Identity.key(~S,~P,identity)}]}}}

Uses (15)

Used by (0)

No other definition uses this definition.