"use strict";
var import_Resource = require("#models/Resource.js");
/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import_Resource.Resource.add({
  tag: "datatype",
  name: "struct",
  description: "Struct",
  xref: "core\xA77.19.1.9",
  details: "A struct is a sequence of fields of any data type. Individual fields are identified by a field ID of unsigned integer, starting at 0 (zero), for the first field.\n  \u2022 A struct itself shall have no constraint qualities.\n  \u2022 Each struct field shall have its own qualities.\n  \u2022 Access, conformance and persistence qualities, when not explicitly defined, shall be inherited     from the instance of the struct itself.\n  \u2022 Struct fields may have optional conformance.\n  \u2022 A struct shall support reading and reporting of all fields.\n  \u2022 A struct shall support reporting changes to one or more fields.\n  \u2022 If the struct is writable, it shall support writing the entire struct.\n  \u2022 If a field of the struct is writable, the struct shall support updating the field.\n  \u2022 Because of optional struct field conformance, instances of the same struct may support multiple     'flavors' of the same struct data type, but with a different set of optional fields.\n### Fabric-Scoped Struct\n  \u2022 A fabric-scoped struct shall only be defined and occur as an entry in a fabric-scoped list.\n  \u2022 A fabric-scoped struct shall support the global FabricIndex field of type fabric-index, which     indicates the associated fabric of the struct, or indicates that there is no associated fabric.\n  \u2022 The table that defines fields of a fabric-scoped struct shall NOT list the global FabricIndex     field, which is a global field and defined implicitly.\n  \u2022 The global FabricIndex field of a fabric-scoped struct SHOULD NOT be indicated in a write     interaction.\n  \u2022 The global FabricIndex field of a fabric-scoped struct shall be ignored in a write interaction.\n  \u2022 The global FabricIndex field SHOULD NOT be indicated on a fabric-scoped struct contained in the     payload of a request command.\n  \u2022 The global FabricIndex field shall be ignored on a fabric-scoped struct contained in the payload     of a request command.\n  \u2022 When a write interaction creates a fabric-scoped struct entry (in a fabric-scoped list), the     server shall implicitly load the accessing fabric-index into the global FabricIndex field of the     struct.\n  \u2022 When the payload of a request command contains a fabric-scoped struct, the server shall     implicitly load the accessing fabric-index into the global FabricIndex field of the struct.\n### \u2022 A fabric-scoped struct may be defined with some fields that are fabric-sensitive.\n  \u2022 For interactions on a fabric-scoped struct that report back data, fabric-sensitive struct fields     shall be omitted when reporting data back to the client, when the struct has an associated     fabric, and it is not the accessing fabric."
});
//# sourceMappingURL=struct.resource.js.map
