Skip to content

ShapesChoice

ShapesChoice = { shapes: readonly string[]; shapeless?: never; keepShapes?: never; } | { shapeless: true; shapes?: never; keepShapes?: never; }

How an add or revise states its Shapes: exactly one of shapes or shapeless. A revise may instead use keepShapes.

{ shapes: readonly string[]; shapeless?: never; keepShapes?: never; }

readonly shapes: readonly string[]

Bare Shape names (Deal), never pinned: a write always certifies under each Shape’s head version. Empty for a Shape write (hub/shapes/X, see shapeName).

readonly optional shapeless?: never

readonly optional keepShapes?: never


{ shapeless: true; shapes?: never; keepShapes?: never; }

readonly shapeless: true

Write the Thing with no Shape. Its data is stored but not validated, and the result carries warnings.shapeless. Not for a Shape (hub/shapes/X), which is written with shapes: []. The raw operation spells a shapeless write shapes: [].

readonly optional shapes?: never

readonly optional keepShapes?: never