def product

bendvy-ecs-core@0.1.0.3 · ordinary_schema.bend:42

import bendvy-ecs-core@0.1.0.3/ordinary_schema.bend as OrdinarySchema
import Base
import bendvy-ecs-core@0.1.0.3/owner_product.bend as Product
import bendvy-ecs-core@0.1.0.3/schema_fragments.bend as Fragment

42# Compose two same-schema declarations, appending entries left then right
43# and deriving matching component/resource Product.Owner types. Supports
44# arbitrary affine payload types; does not copy payloads or reject collisions.
45def product(~S:Data,~LC:Type,~LR:Type,~RC:Type,~RR:Type,left:Schema<S,LC,LR>,right:Schema<S,RC,RR>) -> Schema<S,Product.Owner<LC,RC>,Product.Owner<LR,RR>>:
46  Schema{List.append(&2,Fragment.Entry<S>,entries(~S,~LC,~LR,left),entries(~S,~RC,~RR,right))}

Uses (5)

Used by (0)

No other definition uses this definition.