def declaration
import bendvy-ecs-core@0.1.0.4/ordinary_recovery_component.bend as OrdinaryRecoveryComponentimport Base
import bendvy-ecs-core@0.1.0.4/recovery_use.bend as Use
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/column.bend as Col
import bendvy-ecs-core@0.1.0.4/owner_product.bend as Product
import bendvy-ecs-core@0.1.0.4/ordinary_component_binding.bend as B
import bendvy-ecs-core@0.1.0.4/ordinary_declaration.bend as Identity
import bendvy-ecs-core@0.1.0.4/ordinary_recovery_declaration.bend as D
import bendvy-ecs-core@0.1.0.4/recoverable_component.bend as RC
44# Build a complete typed component-recovery declaration from its ordinary
45# binding. Derives access/use metadata and the canonical recovery accumulator
46# without executing an operation. Compose with other leaves using
47# ordinary-recovery-declaration.both; semantics: docs/parity/recovery.md.
48def declaration(~S:Data,~C:Type,~R:Type,~E:Data,~Capture: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,~binding:B.Binding<S,C,Rest,P,V,Token,take,put,view>) -> D.Declaration<S,Product.Owner<W.World<S,C,R,E>,Capture>,List<RC.Record<S,P>>,Ops(~S,~P,~B.identity(~S,~C,~Rest,~P,~V,~Token,~take,~put,~view,binding)),grant(~S,~C,~R,~E,~Capture,~Rest,~P,~V,~Token,~take,~put,~view,~binding)>:
49 D.Described{empty(~S,~P),[Identity.key(~S,~P,B.identity(~S,~C,~Rest,~P,~V,~Token,~take,~put,~view,binding))],Use.known([Use.Use{Use.Component{Identity.key(~S,~P,B.identity(~S,~C,~Rest,~P,~V,~Token,~take,~put,~view,binding))},Use.Write{}}])}
Uses (17)
Used by (0)
No other definition uses this definition.