Skip to main content

Module surface

Module surface 

Expand description

A resource kind’s public surface as data: its verbs with their parameters, kinds and the value each answers with, and its fields with their schema. An app’s surface.toml holds it (written by tilo-app surface from the code), and it is what a receiver without the app knows about the app’s changes, and what another language compiles its actions and types against.

The file keeps what receipt and the storage check need. The labels, descriptions, field titles and owners the code reports are for people and history; tilo-app surface leaves them out of the file, so they read as empty here.

Structs§

FieldSurface
One stored field.
NamedType
A record or enum with a name, declared once in a surface’s types.
ParamSurface
One parameter of a verb.
ReturnsSurface
What an action answers its caller with: its JSON Schema, and its type (FieldType) with the records and enums it names declared in the surface’s types.
Surface
The public surface of one resource kind. See the module docs.
TypeCase
A case of a named enum, with the fields its value carries.
TypeField
A field of a named record or of an enum case.
TypeSet
The named types a surface declares, gathered while its fields’ types are worked out: each declared once under one name, however often it is used.
VerbSurface
One verb.

Enums§

FieldType
A field’s or value’s type. See the module docs.

Constants§

RECORD_UNIT
The record unit, as footprints and unit indexes name it.
STORED_VALUE
How a field holding a plain value is stored.

Functions§

nest_arguments
The arguments of a call of verb, as (name, value), with each argument of a parameter published as a field of another (ParamSurface::within) nested back under that parameter’s name: what the action’s door reads.