AddressSpace Class
AddressSpace is a collection of UA nodes.
const addressSpace = new AddressSpace();
Constructor
AddressSpace
        
                - 
                                
conditionTypeId - 
                                
options - 
                                
data 
Parameters:
- 
                                
conditionTypeIdObject - 
                                
optionsObject - 
                                
dataObject 
Returns:
Item Index
Methods
- _coerceNode
 - _isFolder
 - addAlias
 - addEnumerationType
 - addEnumerationType
 - addFolder
 - addMethod
 - addMultiStateValueDiscrete
 - addTransition
 - addTwoStateDiscrete
 - addYArrayItem
 - browsePath
 - browseSingleNode
 - constructExtensionObject
 - dispose
 - extractRootViews
 - findCorrespondingBasicDataType
 - findDataType
 - findNode
 - findObjectType
 - findReferenceType
 - findReferenceTypeFromInverseName
 - findTransitionNode
 - findVariableType
 - getCurrentState
 - getDefaultNamespace
 - getNamespace
 - getNamespaceArray
 - getNamespaceIndex
 - getOwnNamespace objects instances managed by the server will be created in this namespace.
 - getStateByName
 - getStates
 - historyRead
 - installHistoricalDataNode
 - inverseReferenceType
 - isNodeIdString
 - isValidTransition
 - make_back_references
 - normalizeReferenceType
 - registerNamespace register a new namespace
 - registerShutdownTask
 - resolveNodeId
 - setState
 
Properties
Methods
_coerceNode
                    
                            - 
                                            
node 
Parameters:
- 
                                            
nodeObject 
Returns:
_isFolder
                    
                            - 
                                            
addressSpace - 
                                            
folder 
return true if nodeId is a Folder
Parameters:
- 
                                            
addressSpaceObject - 
                                            
folderObject 
Returns:
addEnumerationType
                    
                            - 
                                            
options 
Parameters:
- 
                                            
optionsObject- 
                                                        
browseNameString - 
                                                        
enumerationArray - 
                                                        
enumeration[].displayNameString | LocalizedText - 
                                                        
enumeration[].valueNumber - 
                                                        
enumeration[].descriptionString | LocalizedText | Null 
 - 
                                                        
 
addEnumerationType
                    
                            - 
                                            
options 
Parameters:
- 
                                            
optionsObject- 
                                                        
browseNameString - 
                                                        
enumerationArray - 
                                                        
enumeration[].displayNameString | LocalizedText - 
                                                        
enumeration[].valueNumber - 
                                                        
enumeration[].descriptionString | LocalizedText | Null 
 - 
                                                        
 
addFolder
                    
                            - 
                                            
parentFolder - 
                                            
options 
Parameters:
- 
                                            
parentFolderObject - 
                                            
optionsString | Object- 
                                                        
browseNameStringthe name of the folder
 - 
                                                        
[nodeId]NodeId optional. An optional nodeId for this object
 
 - 
                                                        
 
Returns:
addMethod
                    
                            - 
                                            
parentObject - 
                                            
options 
Parameters:
- 
                                            
parentObjectObject - 
                                            
optionsObject- 
                                                        
[nodeId=null]NodeId optionalthe object nodeid.
 - 
                                                        
[browseName=""]String optionalthe object browse name.
 - 
                                                        
[description=""]String optionalthe object description.
 - 
                                                        
inputArgumentsArray - 
                                                        
outputArgumentsArray 
 - 
                                                        
 
Returns:
addMultiStateValueDiscrete
                    
                            - 
                                            
options - 
                                            
[options.value 
Parameters:
- 
                                            
optionsObject- 
                                                        
browseNameString - 
                                                        
[nodeId]NodeId optional - 
                                                        
enumValuesEnumValueType[] | Key,Value}
 
 - 
                                                        
 - 
                                            
[options.valueUInt32= 0 }
 
Returns:
Example:
 namespace.addMultiStateValueDiscrete({
                          componentOf:parentObj,
                          browseName: "myVar",
                          enumValues: {
                              "Red":    0xFF0000,
                              "Green":  0x00FF00,
                              "Blue":   0x0000FF
                          }
                      });
                      addMultiStateValueDiscrete(parentObj,{
                          browseName: "myVar",
                          enumValues: [
                              {
                                 value: 0xFF0000,
                                 displayName: "Red",
                                 description: " The color Red"
                              },
                              {
                                 value: 0x00FF000,
                                 displayName: "Green",
                                 description: " The color Green"
                              },
                              {
                                 value: 0x0000FF,
                                 displayName: "Blue",
                                 description: " The color Blue"
                              }
                         ]
                      });
                    
                                addTransition
                    
                            - 
                                            
component - 
                                            
fromState - 
                                            
toState - 
                                            
transitionNumber 
Parameters:
- 
                                            
componentUAObject - 
                                            
fromStateStateType | InitialStateType - 
                                            
toStateStateType | InitialStateType - 
                                            
transitionNumberNumber 
Returns:
TransitionType
addTwoStateDiscrete
                    
                            - 
                                            
options - 
                                            
[options.value - 
                                            
[options.trueState - 
                                            
[options.falseState 
Parameters:
- 
                                            
optionsObject- 
                                                        
browseNameString - 
                                                        
[nodeId]NodeId optional 
 - 
                                                        
 - 
                                            
[options.valueBoolean}
 - 
                                            
[options.trueStateString= "ON" }
 - 
                                            
[options.falseStateString= "OFF" }
 
Returns:
addYArrayItem
                    
                            - 
                                            
options 
Parameters:
- 
                                            
optionsObject- 
                                                        
componentOfNodeId - 
                                                        
browseNameString - 
                                                        
titleString - 
                                                        
[instrumentRange]optional- 
                                                                    
[low]Double optional - 
                                                                    
[high]Double optional 
 - 
                                                                    
 - 
                                                        
engineeringUnitsRange.lowDouble - 
                                                        
engineeringUnitsRange.highDouble - 
                                                        
engineeringUnitsString - 
                                                        
[nodeId]NodeId optional - 
                                                        
accessLevel - 
                                                        
userAccessLevel - 
                                                        
titleString - 
                                                        
axisScaleTypeAxisScaleEnumeration - 
                                                        
xAxisDefinitionAxisInformation- 
                                                                    
engineeringUnitsEURange - 
                                                                    
range - 
                                                                    
range.low - 
                                                                    
range.high - 
                                                                    
titleLocalizedText - 
                                                                    
axisScaleTypeAxisScaleEnumeration - 
                                                                    
axisStepsArray= 
 - 
                                                                    
 - 
                                                        
value 
 - 
                                                        
 
browsePath
                    
                            - 
                                            
browsePath 
browse some path.
Parameters:
- 
                                            
browsePathBrowsePath 
Returns:
This service can be used translates one or more browse paths into NodeIds. A browse path is constructed of a starting Node and a RelativePath. The specified starting Node identifies the Node from which the RelativePath is based. The RelativePath contains a sequence of ReferenceTypes and BrowseNames.
| StatusCode | |
|---|---|
| BadNodeIdUnknown | |
| BadNodeIdInvalid | |
| BadNothingToDo | - the relative path contains an empty list ) | 
| BadBrowseNameInvalid | - target name is missing in relative path | 
| UncertainReferenceOutOfServer | - The path element has targets which are in another server. | 
| BadTooManyMatches | |
| BadQueryTooComplex | |
| BadNoMatch | 
browseSingleNode
                    
                            - 
                                            
nodeId - 
                                            
browseDescription - 
                                            
[session] 
Parameters:
- 
                                            
nodeIdNodeId | String: the nodeid of the element to browse
 - 
                                            
browseDescriptionObject- 
                                                        
browseDirectionBrowseDirection:
 - 
                                                        
referenceTypeIdString | NodeId 
 - 
                                                        
 - 
                                            
[session]ServerSession optional 
Returns:
constructExtensionObject
                    
                            - 
                                            
dataType - 
                                            
[options =null] 
Parameters:
- 
                                            
dataTypeUADataType - 
                                            
[options =null]Object optional 
Returns:
Example:
        // example 1
                            var extObj = addressSpace.constructExtensionObject("BuildInfo",{ productName: "PRODUCTNAME"});
                    
                            // example 2
                            serverStatusDataType.should.be.instanceOf(UADataType);
                            serverStatusDataType.browseName.toString().should.eql("ServerStatusDataType");
                            var serverStatus  = addressSpace.constructExtensionObject(serverStatusDataType);
                            serverStatus.constructor.name.should.eql("ServerStatus");
                    
                                dispose
                    
                            ()
                    
                    
                    
                    
                    
                    
                    
                    
                        
                    
                        cleanup all resources maintained by this addressSpace.
extractRootViews
                    
                            - 
                                            
node 
walk up the hierarchy of objects until a view is found objects may belong to multiples views. Note: this method doesn't return the main view => Server object.
Parameters:
- 
                                            
nodeBaseNode 
Returns:
findCorrespondingBasicDataType
                    
                            - 
                                            
dataTypeNode 
Parameters:
- 
                                            
dataTypeNodeObject 
Example:
const dataType = addressSpace.findDataType("ns=0;i=12");
                    addressSpace.findCorrespondingBasicDataType(dataType).should.eql(DataType.String);
                    
                    const dataType = addressSpace.findDataType("ServerStatus"); // ServerStatus
                    addressSpace.findCorrespondingBasicDataType(dataType).should.eql(DataType.ExtensionObject);
                    
                    
                                findDataType
                    
                            - 
                                            
dataType - 
                                            
[namespaceIndex=0] 
Find the DataType node from a NodeId or a browseName
Parameters:
- 
                                            
dataTypeString | NodeId - 
                                            
[namespaceIndex=0]Number optionalan optional namespace index
 
Returns:
Example:
 const dataDouble = addressSpace.findDataType("Double");
                    
                     const dataDouble = addressSpace.findDataType(resolveNodeId("ns=0;i=3"));
                    
                                findNode
                    
                            - 
                                            
nodeId 
find an node by node Id
Parameters:
- 
                                            
nodeIdNodeId | Stringa nodeId or a string coerce-able to nodeID, representing the object to find.
 
Returns:
findObjectType
                    
                            - 
                                            
objectType - 
                                            
[namespaceIndex=0] 
Parameters:
- 
                                            
objectTypeString | NodeId | QualifiedName - 
                                            
[namespaceIndex=0]Number optionalan optional namespace index
 
Returns:
Example:
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");
                    
                                findReferenceType
                    
                            - 
                                            
refType - 
                                            
[namespace=0] 
Parameters:
- 
                                            
refTypeString | NodeId - 
                                            
[namespace=0]Number optionalan optional namespace index
 
Returns:
refType could be a string representing a nodeid : e.g. 'i=9004' or ns=1;i=6030 a string representing a browse name : e.g 'HasTypeDefinition' in this case it should be in the alias list
findReferenceTypeFromInverseName
                    
                            - 
                                            
inverseName 
find a ReferenceType by its inverse name.
Parameters:
- 
                                            
inverseNameStringthe inverse name of the ReferenceType to find
 
Returns:
findVariableType
                    
                            - 
                                            
variableType - 
                                            
[namespaceIndex=0] 
Parameters:
- 
                                            
variableTypeString | NodeId - 
                                            
[namespaceIndex=0]Number optionalan optional namespace index
 
Returns:
Example:
const objectType = addressSpace.findVariableType("ns=0;i=62");
                    objectType.browseName.toString().should.eql("BaseVariableType");
                    
                    const objectType = addressSpace.findVariableType("BaseVariableType");
                    objectType.browseName.toString().should.eql("BaseVariableType");
                    
                    const objectType = addressSpace.findVariableType(resolveNodeId("ns=0;i=62"));
                    objectType.browseName.toString().should.eql("BaseVariableType");
                    
                                getCurrentState
                    
                            ()
                    
                            
                                String
                            
                    
                    
                    
                    
                    
                    
                    
                        
                    
                        Returns:
getDefaultNamespace
                    
                            ()
                    
                            
                                NameSpace
                            
                    
                    
                    
                    
                    
                    
                    
                        
                    
                        Returns:
the default namespace (standard OPCUA namespace)
getNamespace
                    
                            - 
                                            
namespace 
Parameters:
- 
                                            
namespaceString | Numberindex or namespace uri.
 
Returns:
the namespace
getNamespaceArray
                    
                            ()
                    
                            
                                Namespace
                            
                    
                    
                    
                    
                    
                    
                    
                        
                    
                        Returns:
the namespace array
getNamespaceIndex
                    
                            - 
                                            
namespaceUri 
Parameters:
- 
                                            
namespaceUriStrings 
Returns:
the namespace index of a namespace given by its namespace uri
getOwnNamespace
                    objects instances managed by the server will be created in this namespace.
                    
                            ()
                    
                            
                                NameSpace
                            
                    
                    
                    
                    
                    
                    
                    
                        
                    
                        Returns:
address space own namespace
getStates
                    
                            ()
                    
                            
                                
                            
                    
                    
                    
                    
                    
                    
                    
                        
                    
                        Returns:
historyRead
                    
                            - 
                                            
context - 
                                            
historyReadDetails - 
                                            
indexRange - 
                                            
dataEncoding - 
                                            
continuationPoint - 
                                            
callback 
Parameters:
- 
                                            
contextSessionContext - 
                                            
historyReadDetailsHistoryReadDetails - 
                                            
indexRangeNumericRange | Null - 
                                            
dataEncodingString - 
                                            
continuationPointByteString - 
                                            
callbackFunction- 
                                                        
err - 
                                                        
resultHistoryReadResult 
 - 
                                                        
 
installHistoricalDataNode
                    
                            - 
                                            
node - 
                                            
[options] 
Parameters:
- 
                                            
nodeObjectUAVariable
 - 
                                            
[options]Object optional- 
                                                        
[maxOnlineValues= 1000]optional 
 - 
                                                        
 
inverseReferenceType
                    
                            - 
                                            
referenceType 
returns the inverse name of the referenceType.
Parameters:
- 
                                            
referenceTypeString: the reference type name
 
Returns:
the name of the inverse reference type.
Example:
addressSpace.inverseReferenceType("OrganizedBy").should.eql("Organizes");
                    addressSpace.inverseReferenceType("Organizes").should.eql("OrganizedBy");
                    
                    
                                isNodeIdString
                    
                            - 
                                            
str 
returns true if str matches a nodeID, e.g i=123 or ns=...
Parameters:
- 
                                            
strObject 
isValidTransition
                    
                            - 
                                            
toStateNode 
Parameters:
- 
                                            
toStateNodeObject 
Returns:
normalizeReferenceType
                    
                            - 
                                            
params.referenceType - 
                                            
params.isForward 
Parameters:
- 
                                            
params.referenceTypeString | NodeId - 
                                            
params.isForwardBooleandefault value: true;
 
Returns:
a new reference object  with the normalized name { referenceType: 
registerNamespace
                    register a new namespace
                    
                            - 
                                            
namespaceUri 
Parameters:
- 
                                            
namespaceUriString 
Returns:
registerShutdownTask
                    
                            ()
                    
                    
                    
                    
                    
                    
                    
                    
                        
                    
                        register a function that will be called when the server will perform its shut down.
            The NodeOPCUA API