A cluster describes a set of related functionality.

interface ClusterElement {
    constructor: any;
    asOf?: `${number}.${number}`;
    children?: Child[];
    classification?: "endpoint" | "node" | "application";
    description?: string;
    details?: string;
    id?: number;
    isGlobal?: boolean;
    isSeed?: boolean;
    name: string;
    pics?: string;
    quality?: Definition;
    tag: "cluster";
    type?: string;
    until?: `${number}.${number}`;
    xref?: Specification.CrossReference;
}

Hierarchy (view full)

Implemented by

Constructors

constructor: any

Properties

asOf?: `${number}.${number}`

The first Matter specification in which this element appears.

children?: Child[]

Child elements.

classification?: "endpoint" | "node" | "application"

Encodes both classification and scope from the Matter specification.

description?: string

A short summary of the element.

details?: string

A paragraph summary of the element.

id?: number

The ID of the element per Matter specification, either global or context-specific. A "machine appropriate" semantic differentiator.

isGlobal?: boolean

Is this a global element? Global elements are available in-scope for every cluster.

isSeed?: boolean

Is this a "seed" element? These are global types and cluster elements defined in the core specification, without which we are fairly incapacitated.

name: string

The key used for storing this element. A "human appropriate" semantic differentiator.

pics?: string

The cluster's PICS code.

quality?: Definition

Other qualities.

Quality flags allowed for clusters are "I" (singleton) and "K" (diagnostics). The spec as of 1.3 does not appear to use the singleton flag, however.

tag
type?: string

If an element derives from another element, the name of the parent element goes here.

until?: `${number}.${number}`

The Matter specification revision in which this element was removed.

Reference to Matter specification document.