node-opcua-nodeid 2.77.0 → 2.81.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/nodeid.d.ts CHANGED
@@ -93,8 +93,9 @@ export declare type NodeIdLike = string | NodeId | number;
93
93
  * @static
94
94
  *
95
95
  * @description:
96
- * - if nodeId is a string of form : "i=1234" => nodeId({value=1234, identifierType: NodeIdType.NUMERIC})
97
- * - if nodeId is a string of form : "s=foo" => nodeId({value="foo", identifierType: NodeIdType.STRING})
96
+ * - if nodeId is a string of form : "i=1234" => nodeId({value=1234, identifierType: NodeIdType.NUMERIC})
97
+ * - if nodeId is a string of form : "s=foo" => nodeId({value="foo", identifierType: NodeIdType.STRING})
98
+ * - if nodeId is a string of form : "b=ABCD=" => nodeId({value=decodeBase64("ABCD="), identifierType: NodeIdType.BYTESTRING})
98
99
  * - if nodeId is a {@link NodeId} : coerceNodeId returns value
99
100
  * @param value
100
101
  * @param namespace {number}
package/dist/nodeid.js CHANGED
@@ -85,6 +85,9 @@ class NodeId {
85
85
  (0, node_opcua_assert_1.assert)(this.identifierType !== NodeIdType.NUMERIC || (this.value !== null && this.value >= 0 && this.value <= 0xffffffff));
86
86
  (0, node_opcua_assert_1.assert)(this.identifierType !== NodeIdType.GUID || (0, node_opcua_guid_1.isValidGuid)(this.value));
87
87
  (0, node_opcua_assert_1.assert)(this.identifierType !== NodeIdType.STRING || typeof this.value === "string");
88
+ if (this.identifierType === NodeIdType.GUID) {
89
+ this.value = (0, node_opcua_guid_1.normalizeGuid)(value);
90
+ }
88
91
  }
89
92
  ;
90
93
  /**
@@ -116,7 +119,7 @@ class NodeId {
116
119
  str = "ns=" + this.namespace + ";s=" + this.value;
117
120
  break;
118
121
  case NodeIdType.GUID:
119
- str = "ns=" + this.namespace + ";g=" + this.value;
122
+ str = "ns=" + this.namespace + ";g=" + (0, node_opcua_guid_1.normalizeGuid)(this.value);
120
123
  break;
121
124
  default:
122
125
  (0, node_opcua_assert_1.assert)(this.identifierType === NodeIdType.BYTESTRING, "invalid identifierType in NodeId : " + this.identifierType);
@@ -188,7 +191,7 @@ NodeId.nullNodeId = new Proxy(new NodeId(NodeIdType.NUMERIC, 0, 0), {
188
191
  const regexNamespaceI = /ns=([0-9]+);i=([0-9]+)/;
189
192
  const regexNamespaceS = /ns=([0-9]+);s=(.*)/;
190
193
  const regexNamespaceB = /ns=([0-9]+);b=(.*)/;
191
- const regexNamespaceG = /ns=([0-9]+);g=(.*)/;
194
+ const regexNamespaceG = /ns=([0-9]+);g=([0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12})/;
192
195
  /**
193
196
  * Convert a value into a nodeId:
194
197
  * @class opcua
@@ -196,12 +199,14 @@ const regexNamespaceG = /ns=([0-9]+);g=(.*)/;
196
199
  * @static
197
200
  *
198
201
  * @description:
199
- * - if nodeId is a string of form : "i=1234" => nodeId({value=1234, identifierType: NodeIdType.NUMERIC})
200
- * - if nodeId is a string of form : "s=foo" => nodeId({value="foo", identifierType: NodeIdType.STRING})
202
+ * - if nodeId is a string of form : "i=1234" => nodeId({value=1234, identifierType: NodeIdType.NUMERIC})
203
+ * - if nodeId is a string of form : "s=foo" => nodeId({value="foo", identifierType: NodeIdType.STRING})
204
+ * - if nodeId is a string of form : "b=ABCD=" => nodeId({value=decodeBase64("ABCD="), identifierType: NodeIdType.BYTESTRING})
201
205
  * - if nodeId is a {@link NodeId} : coerceNodeId returns value
202
206
  * @param value
203
207
  * @param namespace {number}
204
208
  */
209
+ // eslint-disable-next-line max-statements
205
210
  function coerceNodeId(value, namespace) {
206
211
  let matches;
207
212
  let twoFirst;
@@ -228,10 +233,12 @@ function coerceNodeId(value, namespace) {
228
233
  }
229
234
  else if (twoFirst === "g=") {
230
235
  identifierType = NodeIdType.GUID;
231
- value = value.substring(2);
236
+ value = (0, node_opcua_guid_1.normalizeGuid)(value.substring(2));
237
+ (0, node_opcua_assert_1.assert)((0, node_opcua_guid_1.isValidGuid)(value));
232
238
  }
233
239
  else if ((0, node_opcua_guid_1.isValidGuid)(value)) {
234
240
  identifierType = NodeIdType.GUID;
241
+ value = (0, node_opcua_guid_1.normalizeGuid)(value);
235
242
  }
236
243
  else if ((matches = regexNamespaceI.exec(value)) !== null) {
237
244
  identifierType = NodeIdType.NUMERIC;
@@ -251,7 +258,7 @@ function coerceNodeId(value, namespace) {
251
258
  else if ((matches = regexNamespaceG.exec(value)) !== null) {
252
259
  identifierType = NodeIdType.GUID;
253
260
  namespace = parseInt(matches[1], 10);
254
- value = matches[2];
261
+ value = (0, node_opcua_guid_1.normalizeGuid)(matches[2]);
255
262
  }
256
263
  else {
257
264
  throw new Error("String cannot be coerced to a nodeId : " + value);
@@ -294,6 +301,7 @@ function makeNodeId(value, namespace) {
294
301
  // "72962B91-FA75-4AE6-8D28-B404DC7DAF63"
295
302
  if ((0, node_opcua_guid_1.isValidGuid)(value)) {
296
303
  identifierType = NodeIdType.GUID;
304
+ value = (0, node_opcua_guid_1.normalizeGuid)(value);
297
305
  }
298
306
  else {
299
307
  identifierType = NodeIdType.STRING;
@@ -1 +1 @@
1
- {"version":3,"file":"nodeid.js","sourceRoot":"","sources":["../source/nodeid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nodeid.js","sourceRoot":"","sources":["../source/nodeid.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "node-opcua-nodeid",
3
3
  "main": "./dist/index.js",
4
4
  "types": "./dist/index.d.ts",
5
- "version": "2.77.0",
5
+ "version": "2.81.0",
6
6
  "description": "pure nodejs OPCUA SDK - module -nodeid",
7
7
  "scripts": {
8
8
  "build": "tsc -b",
@@ -11,12 +11,12 @@
11
11
  "test": "mocha"
12
12
  },
13
13
  "dependencies": {
14
- "@types/lodash": "4.14.184",
14
+ "@types/lodash": "4.14.185",
15
15
  "chalk": "4.1.2",
16
16
  "lodash": "4.17.21",
17
17
  "node-opcua-assert": "2.77.0",
18
18
  "node-opcua-constants": "2.77.0",
19
- "node-opcua-guid": "2.77.0"
19
+ "node-opcua-guid": "2.81.0"
20
20
  },
21
21
  "devDependencies": {
22
22
  "node-opcua-benchmarker": "2.77.0",
@@ -38,5 +38,5 @@
38
38
  "internet of things"
39
39
  ],
40
40
  "homepage": "http://node-opcua.github.io/",
41
- "gitHead": "5c8d45772d786fa4ba59369dd26679353ab5482b"
41
+ "gitHead": "fd89928bc4a4b9f31a6b6e5921f743e8284eba2b"
42
42
  }
package/source/nodeid.ts CHANGED
@@ -14,7 +14,7 @@ import {
14
14
  VariableIds,
15
15
  VariableTypeIds
16
16
  } from "node-opcua-constants";
17
- import { emptyGuid, Guid, isValidGuid } from "node-opcua-guid";
17
+ import { emptyGuid, Guid, isValidGuid, normalizeGuid } from "node-opcua-guid";
18
18
 
19
19
  /**
20
20
  * `NodeIdType` an enumeration that specifies the possible types of a `NodeId` value.
@@ -102,6 +102,9 @@ export class NodeId {
102
102
  assert(this.identifierType !== NodeIdType.NUMERIC || (this.value !== null && this.value >= 0 && this.value <= 0xffffffff));
103
103
  assert(this.identifierType !== NodeIdType.GUID || isValidGuid(this.value as string));
104
104
  assert(this.identifierType !== NodeIdType.STRING || typeof this.value === "string");
105
+ if (this.identifierType === NodeIdType.GUID) {
106
+ this.value = normalizeGuid(value as string);
107
+ }
105
108
  }
106
109
 
107
110
  /**
@@ -133,7 +136,7 @@ export class NodeId {
133
136
  str = "ns=" + this.namespace + ";s=" + this.value;
134
137
  break;
135
138
  case NodeIdType.GUID:
136
- str = "ns=" + this.namespace + ";g=" + this.value;
139
+ str = "ns=" + this.namespace + ";g=" + normalizeGuid(this.value as string);
137
140
  break;
138
141
  default:
139
142
  assert(this.identifierType === NodeIdType.BYTESTRING, "invalid identifierType in NodeId : " + this.identifierType);
@@ -212,7 +215,7 @@ export type NodeIdLike = string | NodeId | number;
212
215
  const regexNamespaceI = /ns=([0-9]+);i=([0-9]+)/;
213
216
  const regexNamespaceS = /ns=([0-9]+);s=(.*)/;
214
217
  const regexNamespaceB = /ns=([0-9]+);b=(.*)/;
215
- const regexNamespaceG = /ns=([0-9]+);g=(.*)/;
218
+ const regexNamespaceG = /ns=([0-9]+);g=([0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12})/;
216
219
 
217
220
  /**
218
221
  * Convert a value into a nodeId:
@@ -221,12 +224,14 @@ const regexNamespaceG = /ns=([0-9]+);g=(.*)/;
221
224
  * @static
222
225
  *
223
226
  * @description:
224
- * - if nodeId is a string of form : "i=1234" => nodeId({value=1234, identifierType: NodeIdType.NUMERIC})
225
- * - if nodeId is a string of form : "s=foo" => nodeId({value="foo", identifierType: NodeIdType.STRING})
227
+ * - if nodeId is a string of form : "i=1234" => nodeId({value=1234, identifierType: NodeIdType.NUMERIC})
228
+ * - if nodeId is a string of form : "s=foo" => nodeId({value="foo", identifierType: NodeIdType.STRING})
229
+ * - if nodeId is a string of form : "b=ABCD=" => nodeId({value=decodeBase64("ABCD="), identifierType: NodeIdType.BYTESTRING})
226
230
  * - if nodeId is a {@link NodeId} : coerceNodeId returns value
227
231
  * @param value
228
232
  * @param namespace {number}
229
233
  */
234
+ // eslint-disable-next-line max-statements
230
235
  export function coerceNodeId(value: unknown, namespace?: number): NodeId {
231
236
  let matches;
232
237
  let twoFirst;
@@ -254,9 +259,11 @@ export function coerceNodeId(value: unknown, namespace?: number): NodeId {
254
259
  value = Buffer.from(value.substring(2), "base64");
255
260
  } else if (twoFirst === "g=") {
256
261
  identifierType = NodeIdType.GUID;
257
- value = value.substring(2);
262
+ value = normalizeGuid(value.substring(2));
263
+ assert(isValidGuid(value as string));
258
264
  } else if (isValidGuid(value)) {
259
265
  identifierType = NodeIdType.GUID;
266
+ value = normalizeGuid(value);
260
267
  } else if ((matches = regexNamespaceI.exec(value)) !== null) {
261
268
  identifierType = NodeIdType.NUMERIC;
262
269
  namespace = parseInt(matches[1], 10);
@@ -272,7 +279,7 @@ export function coerceNodeId(value: unknown, namespace?: number): NodeId {
272
279
  } else if ((matches = regexNamespaceG.exec(value)) !== null) {
273
280
  identifierType = NodeIdType.GUID;
274
281
  namespace = parseInt(matches[1], 10);
275
- value = matches[2];
282
+ value =normalizeGuid(matches[2]);
276
283
  } else {
277
284
  throw new Error("String cannot be coerced to a nodeId : " + value);
278
285
  }
@@ -313,6 +320,7 @@ export function makeNodeId(value: string | Buffer | number, namespace?: number):
313
320
  // "72962B91-FA75-4AE6-8D28-B404DC7DAF63"
314
321
  if (isValidGuid(value)) {
315
322
  identifierType = NodeIdType.GUID;
323
+ value = normalizeGuid(value);
316
324
  } else {
317
325
  identifierType = NodeIdType.STRING;
318
326
  }