Skip to main content

Module list

Module list 

Source
Expand description

CRUDUI list-spec structure validation (SPEC §9).

A list contains no row data, so this module performs only composition and forbidden-key scanning. The server supplies rows separately.

Pass 1 — compose (G5): compose_spec/compose_properties expand $ref/$patch on the list root, the columns map, and the search sub-form. An unresolved composition is a LOAD failure (ComposeLoadError), never a silent pass — the same engine, the same error.

Pass 2 — forbidden-scan (§6): scan_forbidden_keys walks the COMPOSED list tree (columns / each Column / open format-options bucket / actions / sort / pagination / design / search) to ARBITRARY depth and rejects any forbidden meta key (display_switch/if/when/show_if/x{key}…) as a LOAD failure.

The meta-schema separately checks closed objects, required columns, enums and CellFormat polymorphism. This runtime does not repeat those shape checks. The shared fixture tests/fixtures/list-validity/cases.json declares both results.

Structs§

ValidateListOptions
Options for a list-spec validation run (the form ValidateOptions shape — no data, so no data field).

Functions§

validate_list
Validate a list-spec’s STRUCTURE: compose (§5 G5) then forbidden-scan (§6).