Logo FS-Skia-UI

Diagnostics Module

Constructors for `ControlDiagnostic` values reported by the controls runtime and validation passes.

Functions and values

Function or value Description

catalogOmission controlId requiredField

Full Usage: catalogOmission controlId requiredField

Parameters:
    controlId : string
    requiredField : string

Returns: ControlDiagnostic

Reports that the catalog entry for `controlId` omits a `requiredField`.

controlId : string
requiredField : string
Returns: ControlDiagnostic

create controlId kind code severity message

Full Usage: create controlId kind code severity message

Parameters:
Returns: ControlDiagnostic

Builds a `ControlDiagnostic` from an explicit `code`, `severity`, and `message`, optionally scoped to a `controlId` and `kind`.

controlId : ControlId option
kind : ControlKind
code : ControlDiagnosticCode
severity : ControlDiagnosticSeverity
message : string
Returns: ControlDiagnostic

customExtension kind extensionName

Full Usage: customExtension kind extensionName

Parameters:
    kind : string
    extensionName : string

Returns: ControlDiagnostic

Reports that a control `kind` declares a non-standard `extensionName` outside the standard contract.

kind : string
extensionName : string
Returns: ControlDiagnostic

dependencyLeak packageId dependencyPath

Full Usage: dependencyLeak packageId dependencyPath

Parameters:
    packageId : string
    dependencyPath : string

Returns: ControlDiagnostic

Reports that `packageId` exposes a transitive `dependencyPath` that should not leak across the package boundary.

packageId : string
dependencyPath : string
Returns: ControlDiagnostic

duplicateAttribute controlId kind name

Full Usage: duplicateAttribute controlId kind name

Parameters:
Returns: ControlDiagnostic

Reports that attribute `name` was supplied more than once on a control of `kind`.

controlId : ControlId option
kind : ControlKind
name : string
Returns: ControlDiagnostic

duplicateRuntimeDefinition runtimeName path

Full Usage: duplicateRuntimeDefinition runtimeName path

Parameters:
    runtimeName : string
    path : string

Returns: ControlDiagnostic

Reports that `runtimeName` is defined more than once, the duplicate residing at `path`.

runtimeName : string
path : string
Returns: ControlDiagnostic

keyCollision key kind

Full Usage: keyCollision key kind

Parameters:
Returns: ControlDiagnostic

Reports that the same `key` identifies two sibling controls, a `ControlId` collision.

key : ControlId
kind : ControlKind
Returns: ControlDiagnostic

missingAccessibility controlId kind

Full Usage: missingAccessibility controlId kind

Parameters:
Returns: ControlDiagnostic

Reports that a control of `kind` lacks the accessibility metadata it requires.

controlId : ControlId option
kind : ControlKind
Returns: ControlDiagnostic

missingRequired controlId kind name

Full Usage: missingRequired controlId kind name

Parameters:
Returns: ControlDiagnostic

Reports that a control of `kind` is missing a required attribute `name`.

controlId : ControlId option
kind : ControlKind
name : string
Returns: ControlDiagnostic

missingStandardAttribute kind name

Full Usage: missingStandardAttribute kind name

Parameters:
Returns: ControlDiagnostic

Reports that standard control `kind` omits a required standard attribute `name`.

kind : StandardControlKind
name : StandardAttributeName
Returns: ControlDiagnostic

stabilityReport first second

Full Usage: stabilityReport first second

Parameters:
Returns: ControlDiagnostic list
Type parameters: 'msg

Feature 113 (Phase 5) — the stability-diagnostic report (report-only, NOT an enforced gate). Given TWO builds of the SAME logical control (sub)tree (`first`/`second` — the same model run through `View` twice), walk them in parallel and return one `UnstableReuseInput` finding per attribute/event that compared UNEQUAL despite no semantic change: a rebuilt `UntypedValue`, a per-frame event closure (reference-fresh each build), or an unstable key. Each finding names the control (`ControlId` + `ControlKind`) and the offending attribute/event name. An empty list ⇒ the tree's inputs are stable across builds (the case memoization can exploit). Stable structural values (`TextValue`, `StringListValue`, …) and reference-shared event handlers do not flag. Pure, total, deterministic; never compares a function with `=` (uses reference identity for closures).

first : Control<'msg>
second : Control<'msg>
Returns: ControlDiagnostic list

staleEventTarget controlId eventKind

Full Usage: staleEventTarget controlId eventKind

Parameters:
Returns: ControlDiagnostic

Reports that an `eventKind` binding targets a `controlId` that no longer exists in the tree.

controlId : ControlId
eventKind : string
Returns: ControlDiagnostic

stalePackageReference packageId path

Full Usage: stalePackageReference packageId path

Parameters:
    packageId : string
    path : string

Returns: ControlDiagnostic

Reports a `packageId` reference at `path` that no longer resolves to a current package.

packageId : string
path : string
Returns: ControlDiagnostic

unsupportedEnvironment kind capability

Full Usage: unsupportedEnvironment kind capability

Parameters:
Returns: ControlDiagnostic

Reports that a control of `kind` requested a `capability` the host environment does not support.

kind : ControlKind
capability : string
Returns: ControlDiagnostic

unsupportedScopeExpansion scopeName owner

Full Usage: unsupportedScopeExpansion scopeName owner

Parameters:
    scopeName : string
    owner : string

Returns: ControlDiagnostic

Reports that `scopeName` owned by `owner` cannot be expanded as requested.

scopeName : string
owner : string
Returns: ControlDiagnostic

unsupportedStandardAttribute kind name

Full Usage: unsupportedStandardAttribute kind name

Parameters:
Returns: ControlDiagnostic

Reports that standard control `kind` does not support the standard attribute `name`.

kind : StandardControlKind
name : StandardAttributeName
Returns: ControlDiagnostic

unsupportedStandardEvent kind eventKind

Full Usage: unsupportedStandardEvent kind eventKind

Parameters:
Returns: ControlDiagnostic

Reports that standard control `kind` does not raise the standard event `eventKind`.

kind : StandardControlKind
eventKind : StandardEventKind
Returns: ControlDiagnostic

Type something to start searching.