Checks the function calls nested in a v1.0 updateComponents batch
against the catalogs they run in, before anything is committed.
From v1.0 a call runs in the catalog it names, or else in the surface's
default catalog, which need not be the catalog of the component that
holds it. Every call's catalog must resolve on the surface (a
:catalog error otherwise, raised at once, even without a validation
configuration, since the call could never run). With a configuration,
the arguments of a call that runs outside its component's catalog are
validated here; component validation
(A2UICore.Validation.Payload.validate_component/3) checks the others.
Calls to system functions (@index) belong to no catalog and are
skipped; the calls in their arguments are still checked.
Summary
Functions
Checks the calls nested in components (state components bound for
surface). catalogs are all the catalogs the processor holds, which
tell a catalog the surface cannot use apart from one that does not
exist. config is the validation configuration, or nil.
A protocol version as a vX.Y label, or as given when it is not one.
Combines the errors of the nested-call pass (first) and of component
validation (second), keeping a detail both report once.
Functions
@spec check( A2UICore.State.Surface.t(), [A2UICore.State.Component.t()], [A2UICore.Catalog.t()], A2UICore.Validation.Config.t() | nil ) :: :ok | {:error, A2UICore.Error.t()}
Checks the calls nested in components (state components bound for
surface). catalogs are all the catalogs the processor holds, which
tell a catalog the surface cannot use apart from one that does not
exist. config is the validation configuration, or nil.
A protocol version as a vX.Y label, or as given when it is not one.
@spec merge(A2UICore.Error.t(), A2UICore.Error.t()) :: A2UICore.Error.t()
Combines the errors of the nested-call pass (first) and of component
validation (second), keeping a detail both report once.