node-opcua-alias-name-server 2.186.9 → 2.186.12

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/README.md CHANGED
@@ -260,14 +260,14 @@ the same decision, so they happen together — leaving it to each caller to reme
260
260
  it will sometimes be forgotten, and a Server that omits it is simply never discovered by
261
261
  anything looking for alias-capable Servers, with nothing reporting the failure.
262
262
 
263
- It is idempotent, case-insensitive, and replaces node-opcua's `NA` placeholder rather
264
- than producing the meaningless `["NA", "ALIAS"]`:
263
+ It is idempotent, case-insensitive, replaces node-opcua's `NA` placeholder rather
264
+ than producing the meaningless `["NA", "ALIAS"]`, and leaves the list sorted:
265
265
 
266
266
  | Before | After |
267
267
  |---|---|
268
268
  | `[]` | `["ALIAS"]` |
269
269
  | `["NA"]` | `["ALIAS"]` |
270
- | `["DA", "HD"]` | `["DA", "HD", "ALIAS"]` |
270
+ | `["DA", "HD"]` | `["ALIAS", "DA", "HD"]` |
271
271
  | `["Alias"]` | `["Alias"]` — already declared |
272
272
 
273
273
  The normative identifier is `ALIAS`; Part 17's prose writes it `Alias`, and Part 12
@@ -281,6 +281,10 @@ import { advertiseAliasCapability } from "node-opcua-alias-name-server";
281
281
  advertiseAliasCapability(server.capabilitiesForMDNS);
282
282
  ```
283
283
 
284
+ It is a shorthand for `addCapabilityIdentifier(capabilities, "ALIAS")` from
285
+ `node-opcua-data-model` (or `addServerCapabilityIdentifier(server, "ALIAS")` from
286
+ `node-opcua-server`), which apply the same rules to any Annex D identifier.
287
+
284
288
  ## `LastChange` (clause 6.3.1)
285
289
 
286
290
  A **`VersionTime`: a UInt32 count of seconds since 2000-01-01T00:00:00Z**, not a
@@ -221,7 +221,11 @@ export declare const ALIAS_SERVER_CAPABILITY_ID = "ALIAS";
221
221
  * Add `ALIAS` to a Server's Annex D capability list, in place.
222
222
  *
223
223
  * Idempotent, case-insensitive, and replaces the `NA` placeholder rather than
224
- * producing the meaningless `["NA", "ALIAS"]`.
224
+ * producing the meaningless `["NA", "ALIAS"]`. The list is left deduplicated
225
+ * and sorted.
226
+ *
227
+ * A shorthand for `addCapabilityIdentifier(capabilities, "ALIAS")` from
228
+ * node-opcua-data-model, which does the same for any Annex D identifier.
225
229
  *
226
230
  * @returns true when the list was changed.
227
231
  */
@@ -1 +1 @@
1
- {"version":3,"file":"install_alias_names.d.ts","sourceRoot":"","sources":["../source/install_alias_names.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install_alias_names.d.ts","sourceRoot":"","sources":["../source/install_alias_names.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@
9
9
  * advertise the AliasName feature and then fail its only required Method. This
10
10
  * binds them.
11
11
  */
12
+ import { addCapabilityIdentifier } from "node-opcua-data-model";
12
13
  import { AddressSpaceAliasStore } from "./address_space_alias_store.js";
13
14
  import { collectAllCategories } from "./alias_hierarchy.js";
14
15
  import { bindAliasCategory, getInstalledAliasNames, setInstalledAliasNames } from "./bind_alias_category.js";
@@ -33,27 +34,20 @@ export function defaultCategoryProvider(additionalRoots) {
33
34
  * writes `ALIAS`, matched case-insensitively.
34
35
  */
35
36
  export const ALIAS_SERVER_CAPABILITY_ID = "ALIAS";
36
- /** The placeholder node-opcua uses for "no capabilities declared". */
37
- const NO_CAPABILITY_PLACEHOLDER = "NA";
38
37
  /**
39
38
  * Add `ALIAS` to a Server's Annex D capability list, in place.
40
39
  *
41
40
  * Idempotent, case-insensitive, and replaces the `NA` placeholder rather than
42
- * producing the meaningless `["NA", "ALIAS"]`.
41
+ * producing the meaningless `["NA", "ALIAS"]`. The list is left deduplicated
42
+ * and sorted.
43
+ *
44
+ * A shorthand for `addCapabilityIdentifier(capabilities, "ALIAS")` from
45
+ * node-opcua-data-model, which does the same for any Annex D identifier.
43
46
  *
44
47
  * @returns true when the list was changed.
45
48
  */
46
49
  export function advertiseAliasCapability(capabilities) {
47
- if (capabilities.some((c) => c.toUpperCase() === ALIAS_SERVER_CAPABILITY_ID)) {
48
- return false;
49
- }
50
- // "NA" means "none"; it cannot coexist with a real capability
51
- const placeholderIndex = capabilities.findIndex((c) => c.toUpperCase() === NO_CAPABILITY_PLACEHOLDER);
52
- if (placeholderIndex >= 0) {
53
- capabilities.splice(placeholderIndex, 1);
54
- }
55
- capabilities.push(ALIAS_SERVER_CAPABILITY_ID);
56
- return true;
50
+ return addCapabilityIdentifier(capabilities, ALIAS_SERVER_CAPABILITY_ID);
57
51
  }
58
52
  /**
59
53
  * Install AliasName support on a Server.
@@ -1 +1 @@
1
- {"version":3,"file":"install_alias_names.js","sourceRoot":"","sources":["../source/install_alias_names.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install_alias_names.js","sourceRoot":"","sources":["../source/install_alias_names.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "node-opcua-alias-name-server",
3
3
  "type": "module",
4
- "version": "2.186.9",
4
+ "version": "2.186.12",
5
5
  "description": "pure nodejs OPCUA SDK - server-side alias names (OPC 10000-17)",
6
6
  "scripts": {
7
7
  "build": "tsc -b",
@@ -21,18 +21,18 @@
21
21
  "node": ">=22.13.0"
22
22
  },
23
23
  "dependencies": {
24
- "node-opcua-address-space-base": "2.186.7",
24
+ "node-opcua-address-space-base": "2.186.10",
25
25
  "node-opcua-alias-name-common": "2.186.7",
26
26
  "node-opcua-constants": "2.185.0",
27
- "node-opcua-data-model": "2.186.7",
27
+ "node-opcua-data-model": "2.186.10",
28
28
  "node-opcua-nodeid": "2.186.7",
29
- "node-opcua-service-call": "2.186.7",
29
+ "node-opcua-service-call": "2.186.10",
30
30
  "node-opcua-status-code": "2.186.7",
31
- "node-opcua-types": "2.186.7",
32
- "node-opcua-variant": "2.186.7"
31
+ "node-opcua-types": "2.186.10",
32
+ "node-opcua-variant": "2.186.10"
33
33
  },
34
34
  "devDependencies": {
35
- "node-opcua-address-space": "2.186.9",
35
+ "node-opcua-address-space": "2.186.12",
36
36
  "node-opcua-leak-detector": "2.186.7",
37
37
  "node-opcua-nodesets": "2.185.0"
38
38
  },
@@ -55,5 +55,5 @@
55
55
  "dist",
56
56
  "source"
57
57
  ],
58
- "gitHead": "b63bbd461cbfc04d32fb39da3b15c88448867e7d"
58
+ "gitHead": "0c9e997639836bd5eacb1a297c00a66702dbb18b"
59
59
  }
@@ -12,6 +12,7 @@
12
12
 
13
13
  import type { IAddressSpace, ISessionContext, UAObject } from "node-opcua-address-space-base";
14
14
  import type { IAliasStore, LikeOptions } from "node-opcua-alias-name-common";
15
+ import { addCapabilityIdentifier } from "node-opcua-data-model";
15
16
  import type { NodeId } from "node-opcua-nodeid";
16
17
  import { AddressSpaceAliasStore } from "./address_space_alias_store.js";
17
18
  import { collectAllCategories } from "./alias_hierarchy.js";
@@ -235,28 +236,20 @@ export interface IServerForAliasNames {
235
236
  */
236
237
  export const ALIAS_SERVER_CAPABILITY_ID = "ALIAS";
237
238
 
238
- /** The placeholder node-opcua uses for "no capabilities declared". */
239
- const NO_CAPABILITY_PLACEHOLDER = "NA";
240
-
241
239
  /**
242
240
  * Add `ALIAS` to a Server's Annex D capability list, in place.
243
241
  *
244
242
  * Idempotent, case-insensitive, and replaces the `NA` placeholder rather than
245
- * producing the meaningless `["NA", "ALIAS"]`.
243
+ * producing the meaningless `["NA", "ALIAS"]`. The list is left deduplicated
244
+ * and sorted.
245
+ *
246
+ * A shorthand for `addCapabilityIdentifier(capabilities, "ALIAS")` from
247
+ * node-opcua-data-model, which does the same for any Annex D identifier.
246
248
  *
247
249
  * @returns true when the list was changed.
248
250
  */
249
251
  export function advertiseAliasCapability(capabilities: string[]): boolean {
250
- if (capabilities.some((c) => c.toUpperCase() === ALIAS_SERVER_CAPABILITY_ID)) {
251
- return false;
252
- }
253
- // "NA" means "none"; it cannot coexist with a real capability
254
- const placeholderIndex = capabilities.findIndex((c) => c.toUpperCase() === NO_CAPABILITY_PLACEHOLDER);
255
- if (placeholderIndex >= 0) {
256
- capabilities.splice(placeholderIndex, 1);
257
- }
258
- capabilities.push(ALIAS_SERVER_CAPABILITY_ID);
259
- return true;
252
+ return addCapabilityIdentifier(capabilities, ALIAS_SERVER_CAPABILITY_ID);
260
253
  }
261
254
 
262
255
  /**