NodeOPCUA API Documentation
    Preparing search index...
    interface UADataType {
        basicDataType: DataType;
        binaryEncoding: BaseNode<BaseNodeEvents> | null;
        binaryEncodingDefinition: string | null;
        binaryEncodingNodeId: ExpandedNodeId | null;
        browseName: QualifiedName;
        declaredAccessRestrictions?: string;
        designToolOnly?: boolean;
        isAbstract: boolean;
        jsonEncoding: BaseNode<BaseNodeEvents> | null;
        jsonEncodingNodeId: ExpandedNodeId | null;
        nodeClass: DataType;
        nodeId: NodeId;
        nodesetCategory?: string[];
        nodesetDocumentation?: string;
        onFirstBrowseAction?: (this: BaseNode) => Promise<void>;
        releaseStatus?: "Draft" | "Deprecated";
        subtypeOf: NodeId | null;
        subtypeOfObj: UADataType | null;
        symbolicName: string;
        xmlEncoding: BaseNode<BaseNodeEvents> | null;
        xmlEncodingDefinition: string | null;
        xmlEncodingNodeId: ExpandedNodeId | null;
        get accessRestrictions(): AccessRestrictionsFlag | undefined;
        get addressSpace(): IAddressSpace;
        get description(): LocalizedText;
        get displayName(): LocalizedText[];
        get modellingRule(): ModellingRuleType | undefined;
        get namespace(): INamespace;
        get namespaceIndex(): number;
        get namespaceUri(): string;
        get parentNodeId(): NodeId | undefined;
        get rolePermissions(): RolePermissionType[] | undefined;
        addReference(options: AddReferenceOpts): void;
        allReferences(): UAReference[];
        browseNode(
            browseDescription: BrowseDescriptionOptions2,
            session?: ISessionContext,
        ): ReferenceDescription[];
        browseNodeByTargetName(
            relativePathElement: RelativePathElement,
            isLast: boolean,
        ): NodeId[];
        emit<K extends keyof BaseNodeEvents>(
            event: K,
            ...args: Parameters<BaseNodeEvents[K]>,
        ): boolean;
        findReference(
            referenceType: string | NodeId | UAReferenceType,
            isForward?: boolean,
        ): UAReference | null;
        findReferences(
            referenceType: string | NodeId | UAReferenceType,
            isForward?: boolean,
        ): UAReference[];
        findReferencesAsObject(
            referenceType: string | NodeId | UAReferenceType,
            isForward?: boolean,
        ): BaseNode<BaseNodeEvents>[];
        findReferencesEx(
            referenceType: string | NodeId | UAReferenceType,
            browseDirection?: BrowseDirection,
        ): UAReference[];
        findReferencesExAsObject(
            referenceType: string | NodeId | UAReferenceType,
            browseDirection?: BrowseDirection,
        ): BaseNode<BaseNodeEvents>[];
        fullName(): string;
        getAccessRestrictions(inherited: boolean): AccessRestrictionsFlag;
        getAggregates(): BaseNode<BaseNodeEvents>[];
        getBasicDataType(): DataType;
        getChildByName(
            browseName: QualifiedNameOptions,
        ): BaseNode<BaseNodeEvents> | null;
        getChildByName(
            browseName: string,
            namespaceIndex?: number,
        ): BaseNode<BaseNodeEvents> | null;
        getDefinition(): DataTypeDefinition;
        getDisplayName(locale?: string): string;
        getEncodingNode(encodingName: string): BaseNode<BaseNodeEvents> | null;
        getEnumDefinition(): EnumDefinition;
        getEventSourceOfs(): BaseNode<BaseNodeEvents>[];
        getEventSources(): BaseNode<BaseNodeEvents>[];
        getNodeVersion(): UAProperty<UAString, String> | null;
        getRolePermissions(inherited: boolean): RolePermissionType[] | null;
        getStructureDefinition(): StructureDefinition;
        install_extra_properties(): void;
        isDisposed(): boolean;
        isEnumeration(): boolean;
        isStructure(): boolean;
        isSubtypeOf(referenceType: NodeIdLike | UADataType): boolean;
        isSupertypeOf(referenceType: NodeIdLike | UADataType): boolean;
        listenerCount<K extends keyof BaseNodeEvents>(event: K): number;
        off<K extends keyof BaseNodeEvents>(
            event: K,
            listener: BaseNodeEvents[K],
        ): this;
        on<K extends keyof BaseNodeEvents>(
            event: K,
            listener: BaseNodeEvents[K],
        ): this;
        once<K extends keyof BaseNodeEvents>(
            event: K,
            listener: BaseNodeEvents[K],
        ): this;
        readAttribute(
            context: ISessionContext | null,
            attributeId: AttributeIds,
            indexRange?: NumericRange,
            dataEncoding?: QualifiedNameLike | null,
        ): DataValue;
        removeAllListeners(): void;
        removeListener<K extends keyof BaseNodeEvents>(
            event: K,
            listener: BaseNodeEvents[K],
        ): void;
        removeReference(referenceOpts: AddReferenceOpts): void;
        setAccessRestrictions(accessRestrictions: AccessRestrictionsFlag): void;
        setDescription(value: LocalizedTextLike | null): void;
        setDisplayName(value: LocalizedTextLike | LocalizedTextLike[]): void;
        setMaxListeners(n: number): void;
        setRolePermissions(rolePermissions: RolePermissionTypeOptions[]): void;
        writeAttribute(
            context: ISessionContext | null,
            writeValue: WriteValueOptions,
            callback: (err: Error | null, statusCode?: StatusCode) => void,
        ): void;
    }

    Hierarchy (View Summary)

    Index
    basicDataType: DataType
    binaryEncoding: BaseNode<BaseNodeEvents> | null
    binaryEncodingDefinition: string | null
    binaryEncodingNodeId: ExpandedNodeId | null
    browseName: QualifiedName
    declaredAccessRestrictions?: string

    the AccessRestrictions the nodeset declared, verbatim, whether or not this loader was asked to apply them. accessRestrictions above is what is enforced and is gated by the loader's option; this is what the document said, and is documentation only. Without it a document loaded with the default policy cannot be written back out as the document it was.

    designToolOnly?: boolean

    the nodeset's DesignToolOnly="true": the node is there for design tools only (a name to reuse, such as OPC 10000-100 DI's Configuration, Tuning, ... FunctionalGroups), so nothing is expected to reference it. Documentation only, kept so the node is written back out as declared.

    isAbstract: boolean
    jsonEncoding: BaseNode<BaseNodeEvents> | null
    jsonEncodingNodeId: ExpandedNodeId | null
    nodeClass: DataType
    nodeId: NodeId
    nodesetCategory?: string[]

    the <Category> elements of the nodeset, in order: the conformance units or facets the working group filed this node under. Kept, and named, for the same reasons as nodesetDocumentation: I4AAS has types with a Category property.

    nodesetDocumentation?: string

    the <Documentation> element of the nodeset: a link into the specification text that defines this node (https://reference.opcfoundation.org/...), at most one. It is not the Description attribute and no service exposes it; it is kept so that a tool can show where a node comes from, and so that the node can be written back out as the document that created it.

    Named after the element, not documentation: the children of a node are reachable as properties under their browse name, and DI's ISupportInfoType has a Documentation folder.

    onFirstBrowseAction?: (this: BaseNode) => Promise<void>
    releaseStatus?: "Draft" | "Deprecated"

    the maturity a nodeset declares for this node: "Draft" or "Deprecated", or undefined for the default, "Released". It is documentation rather than behaviour -- nothing in the address space acts on it -- but a NodeSet2 document states it, and a node that has forgotten it cannot be written back out as the document that created it.

    subtypeOf: NodeId | null
    subtypeOfObj: UADataType | null
    symbolicName: string
    xmlEncoding: BaseNode<BaseNodeEvents> | null
    xmlEncodingDefinition: string | null
    xmlEncodingNodeId: ExpandedNodeId | null