The basic catalog of a protocol version, ready to evaluate.
The catalog document is the vendored published one
(A2UICore.Schema.Source.catalog/2); the functions it declares get
their implementations from A2UICore.Functions.Basic, plus the
runtime's system functions (@index in v1.0).
declared/1 is the catalog without implementations — the schema an
agent works with. Only that data is cached; catalog/2 attaches the
implementations on every call, so no closures outlive a code reload.
Summary
Functions
The basic catalog for version ("v0.9", "v0.9.1" or "v1.0"),
with its functions implemented.
The basic catalog for version as published: components and function
schemas, no implementations.
Attaches the basic functions' implementations and the system functions
of version to a catalog that declares them (the basic catalog, or one
derived from it). Functions the catalog does not declare are ignored.
Functions
@spec catalog(String.t(), keyword()) :: A2UICore.Catalog.t()
The basic catalog for version ("v0.9", "v0.9.1" or "v1.0"),
with its functions implemented.
Options: :formatter — an A2UICore.Formatter module for the
locale-sensitive functions.
@spec declared(String.t()) :: A2UICore.Catalog.t()
The basic catalog for version as published: components and function
schemas, no implementations.
@spec implement(A2UICore.Catalog.t(), String.t(), keyword()) :: A2UICore.Catalog.t()
Attaches the basic functions' implementations and the system functions
of version to a catalog that declares them (the basic catalog, or one
derived from it). Functions the catalog does not declare are ignored.
Options: as for catalog/2.