Optionalhistorizingwhen this flag is set, properties and components are not added as javascript member of the UAObject/UAVariable node
Stop collecting GeneralModelChangeEventType material, and stop bumping NodeVersion.
Defaults to false. Set it only while nothing subscribes to model change events - around
a bulk load or a bulk delete - where the per-node probe the bookkeeping performs is pure
cost.
Register a method call interceptor. Interceptors are called sequentially before each UAMethod.execute(). If any interceptor returns a non-Good StatusCode, the method call is rejected and subsequent interceptors are skipped.
Optionalcontext: ISessionContextconstruct a simple javascript object with all the default properties of the event
eventTypeId can be a UAObjectType deriving from EventType or an instance of a ConditionType
construct an extension object constructor from a DataType nodeID or UADataType object
Optionaloptions: Record<string, unknown>Empty a namespace, leaving the rest of the address space exactly as it was before that namespace was populated, and the namespace itself registered under the same index and uri, ready to be populated again.
This is what lets an address space be recycled rather than rebuilt: the base nodesets stay loaded and only the namespace being edited is rebuilt. Every node of the namespace goes, and so does every reference between one of them and a node of another namespace, in one model-change transaction.
Namespace 0 cannot be deleted.
the namespace index, or its uri
OptionalnamespaceIndex: numberfind an EventType node in the address space
the eventType to find
OptionalnamespaceIndex: number
an optional index to restrict the search in a given namespace
the EventType found or null.
note:
find an EventType node in the address space
the eventType to find
OptionalnamespaceIndex: number
an optional index to restrict the search in a given namespace
the EventType found or null.
notes:
const objectType = addressSpace.findObjectType("ns=0;i=58");
objectType.browseName.toString().should.eql("BaseObjectType");
const objectType = addressSpace.findObjectType("BaseObjectType");
objectType.browseName.toString().should.eql("BaseObjectType");
const objectType = addressSpace.findObjectType(resolveNodeId("ns=0;i=58"));
objectType.browseName.toString().should.eql("BaseObjectType");
const objectType = addressSpace.findObjectType("CustomObjectType",36);
objectType.nodeId.namespace.should.eql(36);
objectType.browseName.toString().should.eql("BaseObjectType");
const objectType = addressSpace.findObjectType("36:CustomObjectType");
objectType.nodeId.namespace.should.eql(36);
objectType.browseName.toString().should.eql("BaseObjectType");
OptionalnamespaceIndex: numberfind a ReferenceType by its inverse name.
the inverse name of the ReferenceType to find
OptionalnamespaceIndex: number const variableType = addressSpace.findVariableType("ns=0;i=62");
variableType.browseName.toString().should.eql("BaseVariableType");
const variableType = addressSpace.findVariableType("BaseVariableType");
variableType.browseName.toString().should.eql("BaseVariableType");
const variableType = addressSpace.findVariableType(resolveNodeId("ns=0;i=62"));
variableType.browseName.toString().should.eql("BaseVariableType");
EventId is generated by the Server to uniquely identify a particular Event Notification.
get the extension object constructor from a DataType nodeID or UADataType object
Optionaloptions: IHistoricalDataNodeOptionsRun action with the model-change bookkeeping batched: the changes every node addition
and deletion inside it collects are reported as one GeneralModelChangeEventType event when
the outermost transaction ends, rather than one event per change.
Re-entrant - a nested call joins the transaction already open.
OptionalonCalled once a Variable has been turned into a HistoricalDataNode by
installHistoricalDataNode, after the node has been recorded in historizingNodes.
A Server uses this hook to advertise a history-related Profile or Facet URI (OPC 10000-7) only once it actually has a historized Variable to back it, since an AddressSpace with no historian installed has nothing for a HistoryRead conformance test to read. node-opcua-server sets this hook to add the HistoricalRawData Facet.
Give browse names created at runtime the treatment of the names a nodeset declares:
parent.<name> then resolves through one getter shared by every node instead of an accessor
installed on each parent. Nodes created before the call are covered too.
Only worth it when many nodes carry the same browse name; a name used once costs the same either way.
register a task that will be executed just before the address space is disposed.
Remove a previously registered method call interceptor.
The address space: the set of nodes a server exposes, and the namespaces they live in.
Obtain one with AddressSpace.create. This is the published shape of it; the class behind it carries a great deal more, none of which is API.