node-opcua-server 2.53.0 → 2.56.1

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.
Files changed (75) hide show
  1. package/LICENSE +20 -20
  2. package/dist/base_server.js +12 -14
  3. package/dist/base_server.js.map +1 -1
  4. package/dist/factory.d.ts +4 -2
  5. package/dist/factory.js.map +1 -1
  6. package/dist/history_server_capabilities.js.map +1 -1
  7. package/dist/i_server_side_publish_engine.d.ts +1 -1
  8. package/dist/i_server_side_publish_engine.js +1 -1
  9. package/dist/i_server_side_publish_engine.js.map +1 -1
  10. package/dist/monitored_item.d.ts +3 -0
  11. package/dist/monitored_item.js +7 -14
  12. package/dist/monitored_item.js.map +1 -1
  13. package/dist/node_sampler.js +1 -1
  14. package/dist/node_sampler.js.map +1 -1
  15. package/dist/opcua_server.d.ts +29 -44
  16. package/dist/opcua_server.js +218 -262
  17. package/dist/opcua_server.js.map +1 -1
  18. package/dist/queue.js +1 -0
  19. package/dist/queue.js.map +1 -1
  20. package/dist/register_server_manager.d.ts +4 -1
  21. package/dist/register_server_manager.js +5 -5
  22. package/dist/register_server_manager.js.map +1 -1
  23. package/dist/register_server_manager_hidden.d.ts +1 -1
  24. package/dist/register_server_manager_hidden.js.map +1 -1
  25. package/dist/register_server_manager_mdns_only.d.ts +4 -1
  26. package/dist/register_server_manager_mdns_only.js +1 -1
  27. package/dist/register_server_manager_mdns_only.js.map +1 -1
  28. package/dist/server_capabilities.js.map +1 -1
  29. package/dist/server_end_point.d.ts +4 -1
  30. package/dist/server_end_point.js +10 -11
  31. package/dist/server_end_point.js.map +1 -1
  32. package/dist/server_engine.d.ts +11 -7
  33. package/dist/server_engine.js +72 -74
  34. package/dist/server_engine.js.map +1 -1
  35. package/dist/server_publish_engine.d.ts +4 -1
  36. package/dist/server_publish_engine.js +5 -5
  37. package/dist/server_publish_engine.js.map +1 -1
  38. package/dist/server_publish_engine_for_orphan_subscriptions.d.ts +2 -2
  39. package/dist/server_publish_engine_for_orphan_subscriptions.js.map +1 -1
  40. package/dist/server_session.d.ts +1 -1
  41. package/dist/server_session.js +24 -29
  42. package/dist/server_session.js.map +1 -1
  43. package/dist/server_subscription.d.ts +3 -1
  44. package/dist/server_subscription.js +6 -6
  45. package/dist/server_subscription.js.map +1 -1
  46. package/dist/sessions_compatible_for_transfer.js +2 -1
  47. package/dist/sessions_compatible_for_transfer.js.map +1 -1
  48. package/dist/validate_filter.js +4 -7
  49. package/dist/validate_filter.js.map +1 -1
  50. package/package.json +45 -44
  51. package/source/base_server.ts +19 -22
  52. package/source/factory.ts +5 -2
  53. package/source/history_server_capabilities.ts +3 -4
  54. package/source/i_channel_data.ts +4 -8
  55. package/source/i_register_server_manager.ts +0 -3
  56. package/source/i_server_side_publish_engine.ts +5 -6
  57. package/source/i_socket_data.ts +1 -1
  58. package/source/index.ts +14 -14
  59. package/source/monitored_item.ts +32 -44
  60. package/source/node_sampler.ts +82 -82
  61. package/source/opcua_server.ts +326 -357
  62. package/source/queue.ts +6 -7
  63. package/source/register_server_manager.ts +35 -23
  64. package/source/register_server_manager_hidden.ts +8 -10
  65. package/source/register_server_manager_mdns_only.ts +8 -13
  66. package/source/server_capabilities.ts +0 -5
  67. package/source/server_end_point.ts +28 -30
  68. package/source/server_engine.ts +122 -122
  69. package/source/server_publish_engine.ts +24 -21
  70. package/source/server_publish_engine_for_orphan_subscriptions.ts +26 -26
  71. package/source/server_session.ts +44 -49
  72. package/source/server_subscription.ts +23 -23
  73. package/source/sessions_compatible_for_transfer.ts +26 -25
  74. package/source/validate_filter.ts +8 -22
  75. package/test_helpers/create_certificates.js +1 -1
@@ -1,33 +1,34 @@
1
- import { ServerSession } from "./server_session";
2
1
  import { assert } from "node-opcua-assert";
3
2
  import { UserIdentityToken, AnonymousIdentityToken, UserNameIdentityToken, X509IdentityToken } from "node-opcua-types";
3
+ import { ServerSession } from "./server_session";
4
4
 
5
5
  export function sessionsCompatibleForTransfer(sessionSrc: ServerSession, sessionDest: ServerSession): boolean {
6
- assert(sessionDest);
7
- assert(sessionSrc);
8
- if (!sessionSrc.userIdentityToken && !sessionDest.userIdentityToken) {
9
- return true;
10
- }
11
- if (sessionSrc.userIdentityToken instanceof AnonymousIdentityToken) {
12
- if (!(sessionDest.userIdentityToken instanceof AnonymousIdentityToken)) {
13
- return false;
6
+ assert(sessionDest);
7
+ assert(sessionSrc);
8
+ if (!sessionSrc.userIdentityToken && !sessionDest.userIdentityToken) {
9
+ return true;
14
10
  }
15
- return true;
16
- } else if (sessionSrc.userIdentityToken instanceof UserNameIdentityToken) {
17
- if (!(sessionDest.userIdentityToken instanceof UserNameIdentityToken)) {
18
- return false;
11
+ if (sessionSrc.userIdentityToken instanceof AnonymousIdentityToken) {
12
+ if (!(sessionDest.userIdentityToken instanceof AnonymousIdentityToken)) {
13
+ return false;
14
+ }
15
+ return true;
16
+ } else if (sessionSrc.userIdentityToken instanceof UserNameIdentityToken) {
17
+ if (!(sessionDest.userIdentityToken instanceof UserNameIdentityToken)) {
18
+ return false;
19
+ }
20
+ return sessionSrc.userIdentityToken.userName === sessionDest.userIdentityToken.userName;
19
21
  }
20
- return sessionSrc.userIdentityToken.userName === sessionDest.userIdentityToken.userName;
21
- }
22
- // istanbul ignore else
23
- else if (sessionSrc.userIdentityToken instanceof X509IdentityToken) {
24
- if (!(sessionDest.userIdentityToken instanceof X509IdentityToken)) {
25
- return false;
22
+ // istanbul ignore else
23
+ else if (sessionSrc.userIdentityToken instanceof X509IdentityToken) {
24
+ if (!(sessionDest.userIdentityToken instanceof X509IdentityToken)) {
25
+ return false;
26
+ }
27
+ return (
28
+ sessionSrc.userIdentityToken.certificateData.toString("hex") ===
29
+ sessionDest.userIdentityToken.certificateData.toString("hex")
30
+ );
31
+ } else {
32
+ throw new Error("Unsupported Identity token");
26
33
  }
27
- return (
28
- sessionSrc.userIdentityToken.certificateData.toString("hex") === sessionDest.userIdentityToken.certificateData.toString("hex")
29
- );
30
- } else {
31
- throw new Error("Unsupported Identity token");
32
- }
33
34
  }
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { assert } from "node-opcua-assert";
5
5
 
6
- import {BaseNode, UAVariable} from "node-opcua-address-space";
6
+ import { BaseNode, UAVariable } from "node-opcua-address-space";
7
7
  import { AttributeIds } from "node-opcua-data-model";
8
8
  import { NodeClass } from "node-opcua-data-model";
9
9
  import { ExtensionObject } from "node-opcua-extension-object";
@@ -11,18 +11,12 @@ import { NodeId } from "node-opcua-nodeid";
11
11
  import { DataChangeFilter, EventFilter } from "node-opcua-service-filter";
12
12
  import { DeadbandType } from "node-opcua-service-subscription";
13
13
  import { StatusCode, StatusCodes } from "node-opcua-status-code";
14
- import {ReadValueIdOptions} from "node-opcua-types";
15
- import {BaseNode2} from "./monitored_item";
16
-
17
- function __validateDataChangeFilter(
18
- filter: DataChangeFilter,
19
- itemToMonitor: ReadValueIdOptions,
20
- node: UAVariable
21
- ): StatusCode {
14
+ import { ReadValueIdOptions } from "node-opcua-types";
22
15
 
16
+ function __validateDataChangeFilter(filter: DataChangeFilter, itemToMonitor: ReadValueIdOptions, node: UAVariable): StatusCode {
23
17
  assert(itemToMonitor.attributeId === AttributeIds.Value);
24
18
 
25
- if ((node.nodeClass !== NodeClass.Variable)) {
19
+ if (node.nodeClass !== NodeClass.Variable) {
26
20
  return StatusCodes.BadNodeIdInvalid;
27
21
  }
28
22
 
@@ -54,27 +48,19 @@ function __validateDataChangeFilter(
54
48
  return StatusCodes.Good;
55
49
  }
56
50
 
57
- export function validateFilter(
58
- filter: ExtensionObject | null,
59
- itemToMonitor: ReadValueIdOptions,
60
- node: BaseNode
61
- ) {
62
-
51
+ export function validateFilter(filter: ExtensionObject | null, itemToMonitor: ReadValueIdOptions, node: BaseNode): StatusCode {
63
52
  // handle filter information
64
- if (filter && filter instanceof EventFilter
65
- && itemToMonitor.attributeId !== AttributeIds.EventNotifier) {
53
+ if (filter && filter instanceof EventFilter && itemToMonitor.attributeId !== AttributeIds.EventNotifier) {
66
54
  // invalid filter on Event
67
55
  return StatusCodes.BadFilterNotAllowed;
68
56
  }
69
57
 
70
- if (filter && filter instanceof DataChangeFilter
71
- && itemToMonitor.attributeId !== AttributeIds.Value) {
58
+ if (filter && filter instanceof DataChangeFilter && itemToMonitor.attributeId !== AttributeIds.Value) {
72
59
  // invalid DataChange filter on non Value Attribute
73
60
  return StatusCodes.BadFilterNotAllowed;
74
61
  }
75
62
 
76
- if (filter && itemToMonitor.attributeId !== AttributeIds.EventNotifier
77
- && itemToMonitor.attributeId !== AttributeIds.Value) {
63
+ if (filter && itemToMonitor.attributeId !== AttributeIds.EventNotifier && itemToMonitor.attributeId !== AttributeIds.Value) {
78
64
  return StatusCodes.BadFilterNotAllowed;
79
65
  }
80
66
 
@@ -1 +1 @@
1
- require("node-opcua-pki/bin/crypto_create_CA");
1
+ require("node-opcua-pki/bin/crypto_create_CA");