An operational view of conformance as defined by the Matter Specification.

We extend the specification's syntax to add ">", "<", ">=" and "<=". These are required to encode some portions of the specification that are described in prose.

"Conformance" controls when a data field or cluster element is allowed or required.

Hierarchy (view full)

Constructors

  • Initialize from a Conformance.Definition or the conformance DSL defined by the Matter Specification.

    Parameters

    Returns Conformance

Properties

ast: Ast
definition: Definition
errors?: DefinitionError[]

Accessors

  • get empty(): boolean
  • Returns boolean

  • get isMandatory(): boolean
  • Is the associated element mandatory?

    This supports a limited subset of conformance and is only appropriate for field and requirement conformance.

    Returns boolean

  • get type():
        | Special
        | Flag
        | NOT
        | EQ
        | NE
        | OR
        | XOR
        | AND
        | GT
        | LT
        | GTE
        | LTE
  • Returns
        | Special
        | Flag
        | NOT
        | EQ
        | NE
        | OR
        | XOR
        | AND
        | GT
        | LT
        | GTE
        | LTE

  • get valid(): boolean
  • Returns boolean

Methods

  • Test for logical equivalence.

    Parameters

    • other: any

    Returns boolean

  • Parameters

    • code: string
    • message: string

    Returns void

  • Returns void

  • Perform limited conformance evaluation to determine whether this conformance is applicable given a feature combination.

    Ignores subexpressions that reference field values.

    This is useful for filtering elements at compile time. For complete accuracy you then need to filter at runtime once field values are known.

    Parameters

    • features: Iterable<string, any, any>
    • supportedFeatures: Iterable<string, any, any>

    Returns boolean

  • Returns string

  • Parameters

    Returns void

  • Returns string