A2UICore.Catalog.Basic (A2UICore v0.1.1)

Copy Markdown View Source

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

catalog(version, options \\ [])

(since 0.1.0)
@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.

declared(version)

(since 0.1.0)
@spec declared(String.t()) :: A2UICore.Catalog.t()

The basic catalog for version as published: components and function schemas, no implementations.

implement(catalog, version, options \\ [])

(since 0.1.0)
@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.