Skip to main content

Module package

Module package 

Source
Expand description

Catalog negotiation and declarative app packages (VAPP-82: a manifest + A2UI templates + bindings, data never code).

Structs§

AvailableExtension
VAPP-161: an extension as a host registered it (available_extensions).
PackageIssue

Constants§

EXTENSION_VERSION_PATTERN
package.extensions.versionPattern.
PACKAGE_FORMAT_VERSION
VAPP-161: the package format version this host reads (catalog/host.json package.formatVersion; docs/package-format.md). A package names it, and it is exactly this one: no older format is read (eApps keeps no backwards compatibility).
QUERY_NAME_PATTERN
VAPP-190: a package query’s name (catalog/host.json package.records.query.queryNamePattern).

Functions§

available_extensions
A host’s extension catalogs as validate_package_with checks them: the version when set (an empty one is unset), the components then the macros.
client_capabilities
A2UI’s a2uiClientCapabilities.
is_query_name
QUERY_NAME_PATTERN without a regex engine.
merge_data
The template’s data under the caller’s (objects merge one level deep in key order; anything else: the caller’s wins). None = undefined.
package_sources
A package’s sources allowlist (None = unset: any source).
source_allowed
VAPP-107: may a package whose sources list is allowed follow this source URI? None = yes; else the URI’s scheme:name (scheme lower-cased, the query dropped) must match a listed source exactly or a prefix* pattern.
supported_catalog_ids
The core, the core lite, the A2UI basic catalog, then every registered extension id in order, de-duplicated.
template_messages
A template as the messages that create it: createSurface, the components, the merged initial data, one bindDataModel per binding. None when the package has no such template. data = the caller’s data (Some(Null) is a value, unlike None).
validate_package
Every problem with a package, each with a JSON pointer into it. catalog_ids = the supported ids (default: supported_catalog_ids of none). A declared extension only has to be in catalog_ids (validate_package_with checks versions and components too).
validate_package_with
validate_package with the host’s registered extensions (versions and components); None = a declared extension only has to be in catalog_ids.
version_satisfies
Caret: have has want’s major and is not lower.