def transient_resource

bendvy-ecs-core@0.1.0.4 · restore_schema.bend:75

import bendvy-ecs-core@0.1.0.4/restore_schema.bend as RestoreSchema
import Base
import bendvy-ecs-core@0.1.0.4/restore_transient.bend as Transient
import bendvy-ecs-core@0.1.0.4/snapshot_schema.bend as Save
import bendvy-ecs-core@0.1.0.4/snapshot_leaf.bend as Leaf
import bendvy-ecs-core@0.1.0.4/ordinary_declaration.bend as Identity

75# Build an omitted transient resource leaf, preserving its existing actual owner
76# on insertion. Incoming named fields are not admitted through transient staging.
77def transient_resource(~S:Data,~P:Type,~Custom:Data,~identity:Identity.Declaration<S,P>) -> Schema<S,Unit,Leaf.TransientResource<S,P,identity>,Unit,Custom,Transient.stage(~Unit,~Custom),Transient.release(~Unit),resource_clear(~S),Transient.resource_insert(~S,~P,~identity),Unit,Transient.release(~Unit),Transient.take_recovery(~Unit)>:
78  Schema{Save.inventory(~S,~Unit,~Leaf.TransientResource<S,P,identity>,~True{},~Save.unit_component,~Leaf.transient_resource_fields(~S,~P,~identity),Save.transient_resource(~S,~P,~identity))}

Uses (14)

Used by (0)

No other definition uses this definition.