node-opcua-address-space 2.71.0 → 2.72.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.
Files changed (407) hide show
  1. package/dist/source/address_space_ts.d.ts +118 -118
  2. package/dist/source/address_space_ts.js +17 -17
  3. package/dist/source/continuation_points/continuation_point_manager.d.ts +32 -32
  4. package/dist/source/continuation_points/continuation_point_manager.js +195 -195
  5. package/dist/source/helpers/adjust_browse_direction.d.ts +5 -5
  6. package/dist/source/helpers/adjust_browse_direction.js +11 -11
  7. package/dist/source/helpers/argument_list.d.ts +34 -34
  8. package/dist/source/helpers/argument_list.js +285 -285
  9. package/dist/source/helpers/call_helpers.d.ts +6 -6
  10. package/dist/source/helpers/call_helpers.js +70 -70
  11. package/dist/source/helpers/check_event_clause.d.ts +17 -17
  12. package/dist/source/helpers/check_event_clause.js +52 -52
  13. package/dist/source/helpers/coerce_enum_value.d.ts +6 -6
  14. package/dist/source/helpers/coerce_enum_value.js +33 -33
  15. package/dist/source/helpers/dump_tools.d.ts +14 -14
  16. package/dist/source/helpers/dump_tools.js +78 -78
  17. package/dist/source/helpers/ensure_secure_access.d.ts +9 -9
  18. package/dist/source/helpers/ensure_secure_access.js +76 -76
  19. package/dist/source/helpers/make_optionals_map.d.ts +21 -21
  20. package/dist/source/helpers/make_optionals_map.js +29 -29
  21. package/dist/source/helpers/multiform_func.d.ts +11 -11
  22. package/dist/source/helpers/multiform_func.js +73 -73
  23. package/dist/source/helpers/resolve_opaque_on_address_space.d.ts +3 -3
  24. package/dist/source/helpers/resolve_opaque_on_address_space.js +36 -36
  25. package/dist/source/index.d.ts +40 -40
  26. package/dist/source/index.js +66 -66
  27. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.d.ts +12 -12
  28. package/dist/source/interfaces/alarms_and_conditions/condition_info_i.js +2 -2
  29. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.d.ts +21 -21
  30. package/dist/source/interfaces/data_access/ua_multistate_discrete_ex.js +2 -2
  31. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.d.ts +24 -24
  32. package/dist/source/interfaces/data_access/ua_multistate_value_discrete_ex.js +2 -2
  33. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.d.ts +12 -12
  34. package/dist/source/interfaces/data_access/ua_two_state_discrete_ex.js +2 -2
  35. package/dist/source/interfaces/data_access/ua_y_array_item_ex.d.ts +8 -8
  36. package/dist/source/interfaces/data_access/ua_y_array_item_ex.js +2 -2
  37. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.d.ts +12 -12
  38. package/dist/source/interfaces/state_machine/ua_exclusive_limit_state_machine_type_ex.js +2 -2
  39. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.d.ts +49 -49
  40. package/dist/source/interfaces/state_machine/ua_finite_state_machine_type.js +2 -2
  41. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.d.ts +11 -11
  42. package/dist/source/interfaces/state_machine/ua_program_state_machine_type.js +2 -2
  43. package/dist/source/interfaces/state_machine/ua_state_machine_type.d.ts +222 -222
  44. package/dist/source/interfaces/state_machine/ua_state_machine_type.js +2 -2
  45. package/dist/source/interfaces/state_machine/ua_transition_ex.d.ts +6 -6
  46. package/dist/source/interfaces/state_machine/ua_transition_ex.js +2 -2
  47. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.d.ts +8 -8
  48. package/dist/source/interfaces/ua_subscription_diagnostics_variable_ex.js +2 -2
  49. package/dist/source/loader/decode_xml_extension_object.d.ts +6 -6
  50. package/dist/source/loader/decode_xml_extension_object.js +71 -71
  51. package/dist/source/loader/ensure_datatype_extracted.d.ts +5 -5
  52. package/dist/source/loader/ensure_datatype_extracted.js +45 -45
  53. package/dist/source/loader/generateAddressSpaceRaw.d.ts +10 -10
  54. package/dist/source/loader/generateAddressSpaceRaw.js +45 -45
  55. package/dist/source/loader/load_nodeset2.d.ts +16 -16
  56. package/dist/source/loader/load_nodeset2.js +1463 -1464
  57. package/dist/source/loader/load_nodeset2.js.map +1 -1
  58. package/dist/source/loader/make_semver_compatible.d.ts +6 -0
  59. package/dist/source/loader/make_semver_compatible.js +26 -0
  60. package/dist/source/loader/make_semver_compatible.js.map +1 -0
  61. package/dist/source/loader/make_xml_extension_object_parser.d.ts +28 -28
  62. package/dist/source/loader/make_xml_extension_object_parser.js +324 -315
  63. package/dist/source/loader/make_xml_extension_object_parser.js.map +1 -1
  64. package/dist/source/loader/namespace_post_step.d.ts +6 -6
  65. package/dist/source/loader/namespace_post_step.js +47 -47
  66. package/dist/source/loader/register_node_promoter.d.ts +3 -3
  67. package/dist/source/loader/register_node_promoter.js +9 -9
  68. package/dist/source/namespace.d.ts +6 -6
  69. package/dist/source/namespace.js +2 -2
  70. package/dist/source/namespace_alarm_and_condition.d.ts +24 -24
  71. package/dist/source/namespace_alarm_and_condition.js +2 -2
  72. package/dist/source/namespace_data_access.d.ts +42 -42
  73. package/dist/source/namespace_data_access.js +2 -2
  74. package/dist/source/namespace_machine_state.d.ts +7 -7
  75. package/dist/source/namespace_machine_state.js +2 -2
  76. package/dist/source/pseudo_session.d.ts +55 -55
  77. package/dist/source/pseudo_session.js +203 -203
  78. package/dist/source/session_context.d.ts +111 -111
  79. package/dist/source/session_context.js +265 -265
  80. package/dist/source/set_namespace_meta_data.d.ts +2 -2
  81. package/dist/source/set_namespace_meta_data.js +59 -59
  82. package/dist/source/ua_root_folder.d.ts +9 -9
  83. package/dist/source/ua_root_folder.js +2 -2
  84. package/dist/source/ua_two_state_variable_ex.d.ts +23 -23
  85. package/dist/source/ua_two_state_variable_ex.js +2 -2
  86. package/dist/source/xml_writer.d.ts +9 -9
  87. package/dist/source/xml_writer.js +2 -2
  88. package/dist/src/address_space.d.ts +392 -392
  89. package/dist/src/address_space.js +1387 -1387
  90. package/dist/src/address_space_change_event_tools.d.ts +6 -6
  91. package/dist/src/address_space_change_event_tools.js +149 -149
  92. package/dist/src/address_space_private.d.ts +43 -43
  93. package/dist/src/address_space_private.js +2 -2
  94. package/dist/src/alarms_and_conditions/check_where_clause.d.ts +4 -4
  95. package/dist/src/alarms_and_conditions/check_where_clause.js +109 -109
  96. package/dist/src/alarms_and_conditions/condition.d.ts +5 -5
  97. package/dist/src/alarms_and_conditions/condition.js +80 -80
  98. package/dist/src/alarms_and_conditions/condition_info.d.ts +27 -27
  99. package/dist/src/alarms_and_conditions/condition_info.js +54 -54
  100. package/dist/src/alarms_and_conditions/condition_snapshot.d.ts +233 -233
  101. package/dist/src/alarms_and_conditions/condition_snapshot.js +666 -666
  102. package/dist/src/alarms_and_conditions/deviation_alarm_helper.d.ts +21 -21
  103. package/dist/src/alarms_and_conditions/deviation_alarm_helper.js +46 -46
  104. package/dist/src/alarms_and_conditions/extract_event_fields.d.ts +10 -10
  105. package/dist/src/alarms_and_conditions/extract_event_fields.js +89 -89
  106. package/dist/src/alarms_and_conditions/index.d.ts +18 -18
  107. package/dist/src/alarms_and_conditions/index.js +34 -34
  108. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.d.ts +64 -62
  109. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js +244 -244
  110. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.js.map +1 -1
  111. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.d.ts +124 -118
  112. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js +416 -416
  113. package/dist/src/alarms_and_conditions/ua_alarm_condition_impl.js.map +1 -1
  114. package/dist/src/alarms_and_conditions/ua_base_event_impl.d.ts +29 -29
  115. package/dist/src/alarms_and_conditions/ua_base_event_impl.js +38 -38
  116. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.d.ts +36 -21
  117. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js +115 -25
  118. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.js.map +1 -1
  119. package/dist/src/alarms_and_conditions/ua_condition_impl.d.ts +187 -182
  120. package/dist/src/alarms_and_conditions/ua_condition_impl.js +1024 -1022
  121. package/dist/src/alarms_and_conditions/ua_condition_impl.js.map +1 -1
  122. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.d.ts +18 -17
  123. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js +57 -57
  124. package/dist/src/alarms_and_conditions/ua_discrete_alarm_impl.js.map +1 -1
  125. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.d.ts +30 -27
  126. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js +56 -56
  127. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.js.map +1 -1
  128. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.d.ts +11 -9
  129. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js +11 -11
  130. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.js.map +1 -1
  131. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.d.ts +40 -38
  132. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js +86 -86
  133. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.js.map +1 -1
  134. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.d.ts +10 -10
  135. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.js +7 -7
  136. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.d.ts +105 -97
  137. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js +250 -250
  138. package/dist/src/alarms_and_conditions/ua_limit_alarm_impl.js.map +1 -1
  139. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.d.ts +29 -28
  140. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js +50 -50
  141. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.js.map +1 -1
  142. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.d.ts +26 -25
  143. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js +162 -162
  144. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.js.map +1 -1
  145. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.d.ts +48 -39
  146. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js +161 -135
  147. package/dist/src/alarms_and_conditions/ua_off_normal_alarm_impl.js.map +1 -1
  148. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.d.ts +17 -16
  149. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js +17 -17
  150. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.js.map +1 -1
  151. package/dist/src/apply_condition_refresh.d.ts +6 -6
  152. package/dist/src/apply_condition_refresh.js +27 -27
  153. package/dist/src/base_node_impl.d.ts +281 -281
  154. package/dist/src/base_node_impl.js +1395 -1395
  155. package/dist/src/base_node_private.d.ts +61 -61
  156. package/dist/src/base_node_private.js +705 -705
  157. package/dist/src/data_access/add_dataItem_stuff.d.ts +11 -11
  158. package/dist/src/data_access/add_dataItem_stuff.js +61 -61
  159. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.d.ts +1 -1
  160. package/dist/src/data_access/check_variant_compatibility_ua_analog_item.js +34 -34
  161. package/dist/src/data_access/ua_multistate_discrete_impl.d.ts +32 -32
  162. package/dist/src/data_access/ua_multistate_discrete_impl.js +130 -130
  163. package/dist/src/data_access/ua_multistate_value_discrete.d.ts +51 -51
  164. package/dist/src/data_access/ua_multistate_value_discrete.js +249 -249
  165. package/dist/src/data_access/ua_two_state_discrete.d.ts +25 -25
  166. package/dist/src/data_access/ua_two_state_discrete.js +153 -153
  167. package/dist/src/event_data.d.ts +29 -29
  168. package/dist/src/event_data.js +95 -95
  169. package/dist/src/extension_object_array_node.d.ts +61 -61
  170. package/dist/src/extension_object_array_node.js +276 -276
  171. package/dist/src/historical_access/address_space_historical_data_node.d.ts +26 -26
  172. package/dist/src/historical_access/address_space_historical_data_node.js +630 -630
  173. package/dist/src/index_current.d.ts +45 -45
  174. package/dist/src/index_current.js +77 -77
  175. package/dist/src/namespace_impl.d.ts +457 -457
  176. package/dist/src/namespace_impl.js +1733 -1733
  177. package/dist/src/namespace_private.d.ts +21 -21
  178. package/dist/src/namespace_private.js +32 -32
  179. package/dist/src/nodeid_manager.d.ts +36 -36
  180. package/dist/src/nodeid_manager.js +197 -197
  181. package/dist/src/nodeset_tools/adjust_namespace_array.d.ts +2 -2
  182. package/dist/src/nodeset_tools/adjust_namespace_array.js +13 -13
  183. package/dist/src/nodeset_tools/construct_namespace_dependency.d.ts +2 -2
  184. package/dist/src/nodeset_tools/construct_namespace_dependency.js +83 -83
  185. package/dist/src/nodeset_tools/nodeset_to_xml.d.ts +2 -2
  186. package/dist/src/nodeset_tools/nodeset_to_xml.js +1143 -1143
  187. package/dist/src/nodeset_tools/typedictionary_to_xml.d.ts +2 -2
  188. package/dist/src/nodeset_tools/typedictionary_to_xml.js +154 -154
  189. package/dist/src/reference_impl.d.ts +43 -43
  190. package/dist/src/reference_impl.js +139 -139
  191. package/dist/src/role_permissions.d.ts +2 -2
  192. package/dist/src/role_permissions.js +10 -10
  193. package/dist/src/state_machine/finite_state_machine.d.ts +67 -67
  194. package/dist/src/state_machine/finite_state_machine.js +353 -353
  195. package/dist/src/state_machine/ua_shelving_state_machine_ex.d.ts +34 -34
  196. package/dist/src/state_machine/ua_shelving_state_machine_ex.js +250 -250
  197. package/dist/src/state_machine/ua_two_state_variable.d.ts +61 -61
  198. package/dist/src/state_machine/ua_two_state_variable.js +331 -331
  199. package/dist/src/tool_isSupertypeOf.d.ts +17 -17
  200. package/dist/src/tool_isSupertypeOf.js +108 -108
  201. package/dist/src/ua_condition_type.d.ts +8 -8
  202. package/dist/src/ua_condition_type.js +2 -2
  203. package/dist/src/ua_data_type_impl.d.ts +93 -93
  204. package/dist/src/ua_data_type_impl.js +368 -368
  205. package/dist/src/ua_method_impl.d.ts +41 -41
  206. package/dist/src/ua_method_impl.js +208 -208
  207. package/dist/src/ua_object_impl.d.ts +35 -33
  208. package/dist/src/ua_object_impl.js +162 -156
  209. package/dist/src/ua_object_impl.js.map +1 -1
  210. package/dist/src/ua_object_type_impl.d.ts +48 -48
  211. package/dist/src/ua_object_type_impl.js +124 -124
  212. package/dist/src/ua_reference_type_impl.d.ts +43 -43
  213. package/dist/src/ua_reference_type_impl.js +139 -139
  214. package/dist/src/ua_variable_impl.d.ts +351 -351
  215. package/dist/src/ua_variable_impl.js +1604 -1604
  216. package/dist/src/ua_variable_impl_ext_obj.d.ts +17 -17
  217. package/dist/src/ua_variable_impl_ext_obj.js +437 -437
  218. package/dist/src/ua_variable_type_impl.d.ts +62 -62
  219. package/dist/src/ua_variable_type_impl.js +570 -570
  220. package/dist/src/ua_view_impl.d.ts +19 -15
  221. package/dist/src/ua_view_impl.js +43 -36
  222. package/dist/src/ua_view_impl.js.map +1 -1
  223. package/distHelpers/add_event_generator_object.d.ts +3 -3
  224. package/distHelpers/add_event_generator_object.js +65 -65
  225. package/distHelpers/alarms_and_conditions_demo.d.ts +10 -10
  226. package/distHelpers/alarms_and_conditions_demo.js +114 -114
  227. package/distHelpers/assertHasMatchingReference.d.ts +19 -19
  228. package/distHelpers/assertHasMatchingReference.js +40 -40
  229. package/distHelpers/boiler_system.d.ts +113 -113
  230. package/distHelpers/boiler_system.js +395 -395
  231. package/distHelpers/create_minimalist_address_space_nodeset.d.ts +5 -5
  232. package/distHelpers/create_minimalist_address_space_nodeset.js +171 -171
  233. package/distHelpers/date_utils.d.ts +3 -3
  234. package/distHelpers/date_utils.js +9 -9
  235. package/distHelpers/dump_statemachine.js +127 -127
  236. package/distHelpers/get_address_space_fixture.d.ts +1 -1
  237. package/distHelpers/get_address_space_fixture.js +30 -30
  238. package/distHelpers/get_mini_address_space.d.ts +7 -7
  239. package/distHelpers/get_mini_address_space.js +36 -36
  240. package/distHelpers/index.d.ts +12 -12
  241. package/distHelpers/index.js +28 -28
  242. package/distHelpers/mock_session.d.ts +14 -14
  243. package/distHelpers/mock_session.js +25 -25
  244. package/distNodeJS/generate_address_space.d.ts +4 -4
  245. package/distNodeJS/generate_address_space.js +41 -41
  246. package/distNodeJS/index.d.ts +1 -1
  247. package/distNodeJS/index.js +17 -17
  248. package/package.json +15 -15
  249. package/source/loader/load_nodeset2.ts +14 -17
  250. package/source/loader/make_semver_compatible.ts +23 -0
  251. package/source/loader/make_xml_extension_object_parser.ts +10 -0
  252. package/src/alarms_and_conditions/ua_acknowledgeable_condition_impl.ts +13 -6
  253. package/src/alarms_and_conditions/ua_alarm_condition_impl.ts +15 -10
  254. package/src/alarms_and_conditions/ua_certificate_expiration_alarm_impl.ts +126 -10
  255. package/src/alarms_and_conditions/ua_condition_impl.ts +26 -13
  256. package/src/alarms_and_conditions/ua_discrete_alarm_impl.ts +10 -4
  257. package/src/alarms_and_conditions/ua_exclusive_deviation_alarm_impl.ts +7 -6
  258. package/src/alarms_and_conditions/ua_exclusive_level_alarm_impl.ts +5 -3
  259. package/src/alarms_and_conditions/ua_exclusive_limit_alarm_impl.ts +7 -6
  260. package/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm_impl.ts +1 -1
  261. package/src/alarms_and_conditions/ua_limit_alarm_impl.ts +23 -13
  262. package/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm_impl.ts +6 -7
  263. package/src/alarms_and_conditions/ua_non_exclusive_limit_alarm_impl.ts +6 -7
  264. package/src/alarms_and_conditions/ua_off_normal_alarm_impl.ts +62 -30
  265. package/src/alarms_and_conditions/ua_system_off_normal_alarm_impl.ts +5 -5
  266. package/src/ua_object_impl.ts +11 -3
  267. package/src/ua_view_impl.ts +6 -4
  268. package/test_helpers/test_fixtures/dataType_issue.xml +9 -9
  269. package/test_helpers/test_fixtures/nodeset_with_guid.xml +1441 -0
  270. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.d.ts +0 -23
  271. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js +0 -3
  272. package/dist/source/interfaces/alarms_and_conditions/ua_condition_base_i.js.map +0 -1
  273. package/dist/source/interfaces/data_access/ua_discrete_item.d.ts +0 -6
  274. package/dist/source/interfaces/data_access/ua_discrete_item.js +0 -3
  275. package/dist/source/interfaces/data_access/ua_discrete_item.js.map +0 -1
  276. package/dist/source/interfaces/data_access/ua_multistate_discrete.d.ts +0 -25
  277. package/dist/source/interfaces/data_access/ua_multistate_discrete.js +0 -3
  278. package/dist/source/interfaces/data_access/ua_multistate_discrete.js.map +0 -1
  279. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.d.ts +0 -27
  280. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js +0 -3
  281. package/dist/source/interfaces/data_access/ua_multistate_value_discrete.js.map +0 -1
  282. package/dist/source/interfaces/data_access/ua_two_state_discrete.d.ts +0 -17
  283. package/dist/source/interfaces/data_access/ua_two_state_discrete.js +0 -3
  284. package/dist/source/interfaces/data_access/ua_two_state_discrete.js.map +0 -1
  285. package/dist/source/interfaces/data_access/ua_y_array_item.d.ts +0 -19
  286. package/dist/source/interfaces/data_access/ua_y_array_item.js +0 -3
  287. package/dist/source/interfaces/data_access/ua_y_array_item.js.map +0 -1
  288. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.d.ts +0 -11
  289. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js +0 -3
  290. package/dist/source/interfaces/state_machine/exclusive_limit_state_machine.js.map +0 -1
  291. package/dist/source/interfaces/state_machine/finite_state_machine.d.ts +0 -70
  292. package/dist/source/interfaces/state_machine/finite_state_machine.js +0 -3
  293. package/dist/source/interfaces/state_machine/finite_state_machine.js.map +0 -1
  294. package/dist/source/interfaces/state_machine/program_finite_state_machine.d.ts +0 -74
  295. package/dist/source/interfaces/state_machine/program_finite_state_machine.js +0 -3
  296. package/dist/source/interfaces/state_machine/program_finite_state_machine.js.map +0 -1
  297. package/dist/source/interfaces/state_machine/state_machine.d.ts +0 -342
  298. package/dist/source/interfaces/state_machine/state_machine.js +0 -3
  299. package/dist/source/interfaces/state_machine/state_machine.js.map +0 -1
  300. package/dist/source/interfaces/state_machine/ua_finite_state_variable.d.ts +0 -18
  301. package/dist/source/interfaces/state_machine/ua_finite_state_variable.js +0 -3
  302. package/dist/source/interfaces/state_machine/ua_finite_state_variable.js.map +0 -1
  303. package/dist/source/interfaces/state_machine/ua_state_variable.d.ts +0 -29
  304. package/dist/source/interfaces/state_machine/ua_state_variable.js +0 -3
  305. package/dist/source/interfaces/state_machine/ua_state_variable.js.map +0 -1
  306. package/dist/source/interfaces/state_machine/ua_two_state_variable.d.ts +0 -26
  307. package/dist/source/interfaces/state_machine/ua_two_state_variable.js +0 -3
  308. package/dist/source/interfaces/state_machine/ua_two_state_variable.js.map +0 -1
  309. package/dist/source/interfaces/subscription_diagnostics_variable.d.ts +0 -41
  310. package/dist/source/interfaces/subscription_diagnostics_variable.js +0 -3
  311. package/dist/source/interfaces/subscription_diagnostics_variable.js.map +0 -1
  312. package/dist/src/alarms_and_conditions/base_event_type.d.ts +0 -26
  313. package/dist/src/alarms_and_conditions/base_event_type.js +0 -41
  314. package/dist/src/alarms_and_conditions/base_event_type.js.map +0 -1
  315. package/dist/src/alarms_and_conditions/shelving_state_machine.d.ts +0 -22
  316. package/dist/src/alarms_and_conditions/shelving_state_machine.js +0 -241
  317. package/dist/src/alarms_and_conditions/shelving_state_machine.js.map +0 -1
  318. package/dist/src/alarms_and_conditions/trip_alarm.d.ts +0 -16
  319. package/dist/src/alarms_and_conditions/trip_alarm.js +0 -21
  320. package/dist/src/alarms_and_conditions/trip_alarm.js.map +0 -1
  321. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.d.ts +0 -54
  322. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js +0 -255
  323. package/dist/src/alarms_and_conditions/ua_acknowledgeable_condition_base.js.map +0 -1
  324. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.d.ts +0 -138
  325. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js +0 -460
  326. package/dist/src/alarms_and_conditions/ua_alarm_condition_base.js.map +0 -1
  327. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.d.ts +0 -35
  328. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js +0 -32
  329. package/dist/src/alarms_and_conditions/ua_certificate_expiration_alarm.js.map +0 -1
  330. package/dist/src/alarms_and_conditions/ua_condition_base.d.ts +0 -191
  331. package/dist/src/alarms_and_conditions/ua_condition_base.js +0 -1029
  332. package/dist/src/alarms_and_conditions/ua_condition_base.js.map +0 -1
  333. package/dist/src/alarms_and_conditions/ua_discrete_alarm.d.ts +0 -11
  334. package/dist/src/alarms_and_conditions/ua_discrete_alarm.js +0 -58
  335. package/dist/src/alarms_and_conditions/ua_discrete_alarm.js.map +0 -1
  336. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.d.ts +0 -24
  337. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js +0 -59
  338. package/dist/src/alarms_and_conditions/ua_exclusive_deviation_alarm.js.map +0 -1
  339. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.d.ts +0 -14
  340. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js +0 -17
  341. package/dist/src/alarms_and_conditions/ua_exclusive_level_alarm.js.map +0 -1
  342. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.d.ts +0 -22
  343. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js +0 -87
  344. package/dist/src/alarms_and_conditions/ua_exclusive_limit_alarm.js.map +0 -1
  345. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.d.ts +0 -6
  346. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js +0 -11
  347. package/dist/src/alarms_and_conditions/ua_exclusive_rate_of_change_alarm.js.map +0 -1
  348. package/dist/src/alarms_and_conditions/ua_limit_alarm.d.ts +0 -76
  349. package/dist/src/alarms_and_conditions/ua_limit_alarm.js +0 -237
  350. package/dist/src/alarms_and_conditions/ua_limit_alarm.js.map +0 -1
  351. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.d.ts +0 -27
  352. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js +0 -62
  353. package/dist/src/alarms_and_conditions/ua_non_exclusive_deviation_alarm.js.map +0 -1
  354. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.d.ts +0 -49
  355. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js +0 -176
  356. package/dist/src/alarms_and_conditions/ua_non_exclusive_limit_alarm.js.map +0 -1
  357. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.d.ts +0 -47
  358. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js +0 -151
  359. package/dist/src/alarms_and_conditions/ua_off_normal_alarm.js.map +0 -1
  360. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.d.ts +0 -16
  361. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js +0 -18
  362. package/dist/src/alarms_and_conditions/ua_system_off_normal_alarm.js.map +0 -1
  363. package/dist/src/base_node.d.ts +0 -270
  364. package/dist/src/base_node.js +0 -1299
  365. package/dist/src/base_node.js.map +0 -1
  366. package/dist/src/data_access/ua_analog_item.d.ts +0 -13
  367. package/dist/src/data_access/ua_analog_item.js +0 -37
  368. package/dist/src/data_access/ua_analog_item.js.map +0 -1
  369. package/dist/src/data_access/ua_data_item.d.ts +0 -16
  370. package/dist/src/data_access/ua_data_item.js +0 -66
  371. package/dist/src/data_access/ua_data_item.js.map +0 -1
  372. package/dist/src/data_access/ua_multistate_discrete.d.ts +0 -24
  373. package/dist/src/data_access/ua_multistate_discrete.js +0 -132
  374. package/dist/src/data_access/ua_multistate_discrete.js.map +0 -1
  375. package/dist/src/namespace.d.ts +0 -472
  376. package/dist/src/namespace.js +0 -1759
  377. package/dist/src/namespace.js.map +0 -1
  378. package/dist/src/reference.d.ts +0 -43
  379. package/dist/src/reference.js +0 -138
  380. package/dist/src/reference.js.map +0 -1
  381. package/dist/src/session_context.d.ts +0 -4
  382. package/dist/src/session_context.js +0 -9
  383. package/dist/src/session_context.js.map +0 -1
  384. package/dist/src/ua_data_type.d.ts +0 -81
  385. package/dist/src/ua_data_type.js +0 -259
  386. package/dist/src/ua_data_type.js.map +0 -1
  387. package/dist/src/ua_method.d.ts +0 -33
  388. package/dist/src/ua_method.js +0 -194
  389. package/dist/src/ua_method.js.map +0 -1
  390. package/dist/src/ua_object.d.ts +0 -27
  391. package/dist/src/ua_object.js +0 -153
  392. package/dist/src/ua_object.js.map +0 -1
  393. package/dist/src/ua_object_type.d.ts +0 -49
  394. package/dist/src/ua_object_type.js +0 -123
  395. package/dist/src/ua_object_type.js.map +0 -1
  396. package/dist/src/ua_reference_type.d.ts +0 -31
  397. package/dist/src/ua_reference_type.js +0 -108
  398. package/dist/src/ua_reference_type.js.map +0 -1
  399. package/dist/src/ua_variable.d.ts +0 -346
  400. package/dist/src/ua_variable.js +0 -1651
  401. package/dist/src/ua_variable.js.map +0 -1
  402. package/dist/src/ua_variable_type.d.ts +0 -57
  403. package/dist/src/ua_variable_type.js +0 -530
  404. package/dist/src/ua_variable_type.js.map +0 -1
  405. package/dist/src/ua_view.d.ts +0 -16
  406. package/dist/src/ua_view.js +0 -41
  407. package/dist/src/ua_view.js.map +0 -1
@@ -1,316 +1,325 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeXmlExtensionObjectReader = void 0;
4
- const node_opcua_debug_1 = require("node-opcua-debug");
5
- const node_opcua_nodeid_1 = require("node-opcua-nodeid");
6
- const node_opcua_types_1 = require("node-opcua-types");
7
- const node_opcua_utils_1 = require("node-opcua-utils");
8
- const node_opcua_variant_1 = require("node-opcua-variant");
9
- const node_opcua_xml2json_1 = require("node-opcua-xml2json");
10
- const warningLog = (0, node_opcua_debug_1.make_warningLog)(__filename);
11
- const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
12
- const qualifiedNameReader = {
13
- init() {
14
- this.qualifiedName = {};
15
- this.value = {};
16
- },
17
- parser: {
18
- Name: {
19
- finish() {
20
- this.parent.qualifiedName.name = this.text.trim();
21
- }
22
- },
23
- NamespaceIndex: {
24
- finish() {
25
- const ns = parseInt(this.text, 10);
26
- this.parent.qualifiedName.namespaceIndex = ns;
27
- }
28
- }
29
- },
30
- finish() {
31
- this.value = this.qualifiedName;
32
- this.value.name = "qdqsdqs";
33
- }
34
- };
35
- const localizedTextReader = {
36
- init() {
37
- this.localizedText = {};
38
- },
39
- parser: {
40
- Locale: {
41
- finish() {
42
- this.parent.localizedText = this.parent.localizedText || {};
43
- this.parent.localizedText.locale = this.text.trim();
44
- }
45
- },
46
- Text: {
47
- finish() {
48
- this.parent.localizedText = this.parent.localizedText || {};
49
- this.parent.localizedText.text = this.text.trim();
50
- }
51
- }
52
- },
53
- finish() {
54
- this.value = this.localizedText;
55
- }
56
- };
57
- function clamp(value, minValue, maxValue) {
58
- if (value < minValue) {
59
- warningLog(`invalid value range : ${value} < ${minValue} but should be [${minValue} , ${maxValue}]`);
60
- return minValue;
61
- }
62
- if (value > maxValue) {
63
- warningLog(`invalid value range : ${value} > ${maxValue} but should be [${minValue} , ${maxValue}]`);
64
- return maxValue;
65
- }
66
- return value;
67
- }
68
- const partials = {
69
- LocalizedText: localizedTextReader,
70
- QualifiedName: qualifiedNameReader,
71
- String: {
72
- finish() {
73
- this.value = this.text;
74
- }
75
- },
76
- Boolean: {
77
- finish() {
78
- this.value = this.text.toLowerCase() === "true" ? true : false;
79
- }
80
- },
81
- ByteString: {
82
- init() {
83
- this.value = null;
84
- },
85
- finish() {
86
- const base64text = this.text;
87
- const byteString = Buffer.from(base64text, "base64");
88
- this.value = byteString;
89
- }
90
- },
91
- Float: {
92
- finish() {
93
- this.value = parseFloat(this.text);
94
- }
95
- },
96
- Double: {
97
- finish() {
98
- this.value = parseFloat(this.text);
99
- }
100
- },
101
- Byte: {
102
- finish() {
103
- this.value = clamp(parseInt(this.text, 10), 0, 255);
104
- }
105
- },
106
- SByte: {
107
- finish() {
108
- this.value = clamp(parseInt(this.text, 10), -128, 127);
109
- }
110
- },
111
- Int8: {
112
- finish() {
113
- this.value = clamp(parseInt(this.text, 10), -128, 127);
114
- }
115
- },
116
- Int16: {
117
- finish() {
118
- this.value = clamp(parseInt(this.text, 10), -32768, 32767);
119
- }
120
- },
121
- Int32: {
122
- finish() {
123
- this.value = clamp(parseInt(this.text, 10), -2147483648, 2147483647);
124
- }
125
- },
126
- Int64: {
127
- finish() {
128
- this.value = parseInt(this.text, 10);
129
- }
130
- },
131
- UInt8: {
132
- finish() {
133
- this.value = clamp(parseInt(this.text, 10), 0, 255);
134
- }
135
- },
136
- UInt16: {
137
- finish() {
138
- this.value = clamp(parseInt(this.text, 10), 0, 65535);
139
- }
140
- },
141
- UInt32: {
142
- finish() {
143
- this.value = clamp(parseInt(this.text, 10), 0, 4294967295);
144
- }
145
- },
146
- UInt64: {
147
- finish() {
148
- this.value = parseInt(this.text, 10);
149
- }
150
- },
151
- DateTime: {
152
- finish() {
153
- // to do check Local or GMT
154
- this.value = new Date(this.text);
155
- }
156
- },
157
- Variant: {
158
- finish() {
159
- /** to do */
160
- console.log(" Missing Implemntation contact sterfive.com!");
161
- }
162
- },
163
- NodeId: {
164
- finish() {
165
- // to do check Local or GMT
166
- this.value = (0, node_opcua_nodeid_1.coerceNodeId)(this.text);
167
- }
168
- }
169
- };
170
- function _clone(a) {
171
- if (typeof a === "string" || typeof a === "number" || typeof a === "boolean") {
172
- return a;
173
- }
174
- if (a instanceof Buffer) {
175
- return Buffer.from(a);
176
- }
177
- if (a instanceof Date) {
178
- return new Date(a);
179
- }
180
- if (a instanceof Array) {
181
- return a.map((x) => _clone(x));
182
- }
183
- return Object.assign({}, a);
184
- }
185
- function _makeTypeReader(dataTypeNodeId, definitionMap, readerMap) {
186
- if (dataTypeNodeId.namespace === 0 && dataTypeNodeId.value === 0) {
187
- // a generic Extension Object
188
- return { name: "Variant", parser: partials["Variant"] };
189
- }
190
- if (dataTypeNodeId.namespace === 0 &&
191
- dataTypeNodeId.identifierType === node_opcua_nodeid_1.NodeIdType.NUMERIC &&
192
- dataTypeNodeId.value < node_opcua_variant_1.DataType.ExtensionObject) {
193
- const name = node_opcua_variant_1.DataType[dataTypeNodeId.value];
194
- const parser = partials[name];
195
- return { name, parser };
196
- }
197
- const { name, definition } = definitionMap.findDefinition(dataTypeNodeId);
198
- const dataTypeName = name;
199
- // console.log("NAME = ", dataTypeNodeId.toString(), name, definition);
200
- let reader = readerMap[dataTypeName];
201
- if (reader) {
202
- return { name, parser: reader.parser };
203
- }
204
- reader = {
205
- finish() {
206
- /** empty */
207
- },
208
- parser: {}
209
- };
210
- if (definition instanceof node_opcua_types_1.StructureDefinition) {
211
- for (const field of definition.fields || []) {
212
- const typeReader = _makeTypeReader(field.dataType, definitionMap, readerMap);
213
- const fieldParser = typeReader.parser;
214
- const fieldTypename = typeReader.name;
215
- // istanbul ignore next
216
- if (!fieldParser) {
217
- throw new Error(" Cannot find reader for dataType " + field.dataType + " fieldTypename=" + fieldTypename);
218
- }
219
- if (field.valueRank === undefined || field.valueRank === -1) {
220
- // scalar
221
- const parser = fieldParser;
222
- if (!parser) {
223
- throw new Error("??? " + field.dataType + " " + field.name);
224
- }
225
- reader.parser[field.name] = {
226
- parser: fieldParser.parser,
227
- // endElement: fieldReader.endElement,
228
- finish() {
229
- const elName = (0, node_opcua_utils_1.lowerFirstLetter)(field.name);
230
- if (fieldParser.finish) {
231
- fieldParser.finish.call(this);
232
- }
233
- else {
234
- debugLog("xxx check " + fieldTypename);
235
- }
236
- this.parent.value = this.parent.value || {};
237
- this.parent.value[elName] = _clone(this.value);
238
- }
239
- };
240
- }
241
- else if (field.valueRank === 1) {
242
- const listReader = {
243
- init() {
244
- this.value = [];
245
- },
246
- parser: {},
247
- finish() {
248
- const elName = (0, node_opcua_utils_1.lowerFirstLetter)(this.name);
249
- this.parent.value = this.parent.value || {};
250
- this.parent.value[elName] = this.value;
251
- this.value = undefined;
252
- },
253
- startElement(name, attrs) {
254
- // empty
255
- },
256
- endElement(element) {
257
- this.value.push(_clone(this.parser[element].value));
258
- }
259
- };
260
- listReader.parser[fieldTypename] = fieldParser;
261
- reader.parser[field.name] = listReader;
262
- }
263
- else {
264
- throw new Error("Unsupported ValueRank !");
265
- }
266
- }
267
- // xx const parser: ParserLike = {};
268
- // xx parser[definition.name] = reader;
269
- readerMap[dataTypeName] = reader;
270
- return { name, parser: reader };
271
- }
272
- else if (definition instanceof node_opcua_types_1.EnumDefinition) {
273
- // console.log("xxxx enum found !", definition.toString());
274
- const turnToInt = (value) => {
275
- // Green_100
276
- return parseInt(value.split("_")[1], 10);
277
- };
278
- return {
279
- name,
280
- parser: {
281
- finish() {
282
- this.value = turnToInt(this.text);
283
- }
284
- }
285
- };
286
- }
287
- else {
288
- // basic datatype
289
- const typeName = node_opcua_variant_1.DataType[definition.dataType];
290
- const parser = partials[typeName];
291
- // istanbul ignore next
292
- if (!parser) {
293
- throw new Error("missing parse for " + typeName);
294
- }
295
- return { name, parser };
296
- }
297
- }
298
- function makeXmlExtensionObjectReader(dataTypeNodeId, definitionMap, readerMap) {
299
- const { name, definition } = definitionMap.findDefinition(dataTypeNodeId);
300
- // istanbul ignore next
301
- if (!(definition instanceof node_opcua_types_1.StructureDefinition)) {
302
- throw new Error("Expecting StructureDefinition");
303
- }
304
- //
305
- const reader1 = {
306
- parser: {},
307
- endElement() {
308
- this._pojo = this.parser[name].value;
309
- }
310
- };
311
- const { parser } = _makeTypeReader(dataTypeNodeId, definitionMap, readerMap);
312
- reader1.parser[name] = parser;
313
- return new node_opcua_xml2json_1.ReaderState(reader1);
314
- }
315
- exports.makeXmlExtensionObjectReader = makeXmlExtensionObjectReader;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeXmlExtensionObjectReader = void 0;
4
+ const node_opcua_debug_1 = require("node-opcua-debug");
5
+ const node_opcua_nodeid_1 = require("node-opcua-nodeid");
6
+ const node_opcua_types_1 = require("node-opcua-types");
7
+ const node_opcua_utils_1 = require("node-opcua-utils");
8
+ const node_opcua_variant_1 = require("node-opcua-variant");
9
+ const node_opcua_xml2json_1 = require("node-opcua-xml2json");
10
+ const warningLog = (0, node_opcua_debug_1.make_warningLog)(__filename);
11
+ const debugLog = (0, node_opcua_debug_1.make_debugLog)(__filename);
12
+ const qualifiedNameReader = {
13
+ init() {
14
+ this.qualifiedName = {};
15
+ this.value = {};
16
+ },
17
+ parser: {
18
+ Name: {
19
+ finish() {
20
+ this.parent.qualifiedName.name = this.text.trim();
21
+ }
22
+ },
23
+ NamespaceIndex: {
24
+ finish() {
25
+ const ns = parseInt(this.text, 10);
26
+ this.parent.qualifiedName.namespaceIndex = ns;
27
+ }
28
+ }
29
+ },
30
+ finish() {
31
+ this.value = this.qualifiedName;
32
+ this.value.name = "qdqsdqs";
33
+ }
34
+ };
35
+ const localizedTextReader = {
36
+ init() {
37
+ this.localizedText = {};
38
+ },
39
+ parser: {
40
+ Locale: {
41
+ finish() {
42
+ this.parent.localizedText = this.parent.localizedText || {};
43
+ this.parent.localizedText.locale = this.text.trim();
44
+ }
45
+ },
46
+ Text: {
47
+ finish() {
48
+ this.parent.localizedText = this.parent.localizedText || {};
49
+ this.parent.localizedText.text = this.text.trim();
50
+ }
51
+ }
52
+ },
53
+ finish() {
54
+ this.value = this.localizedText;
55
+ }
56
+ };
57
+ function clamp(value, minValue, maxValue) {
58
+ if (value < minValue) {
59
+ warningLog(`invalid value range : ${value} < ${minValue} but should be [${minValue} , ${maxValue}]`);
60
+ return minValue;
61
+ }
62
+ if (value > maxValue) {
63
+ warningLog(`invalid value range : ${value} > ${maxValue} but should be [${minValue} , ${maxValue}]`);
64
+ return maxValue;
65
+ }
66
+ return value;
67
+ }
68
+ const partials = {
69
+ LocalizedText: localizedTextReader,
70
+ QualifiedName: qualifiedNameReader,
71
+ String: {
72
+ finish() {
73
+ this.value = this.text;
74
+ }
75
+ },
76
+ Guid: {
77
+ parser: {
78
+ String: {
79
+ finish() {
80
+ this.parent.value = this.text;
81
+ }
82
+ }
83
+ }
84
+ },
85
+ Boolean: {
86
+ finish() {
87
+ this.value = this.text.toLowerCase() === "true" ? true : false;
88
+ }
89
+ },
90
+ ByteString: {
91
+ init() {
92
+ this.value = null;
93
+ },
94
+ finish() {
95
+ const base64text = this.text;
96
+ const byteString = Buffer.from(base64text, "base64");
97
+ this.value = byteString;
98
+ }
99
+ },
100
+ Float: {
101
+ finish() {
102
+ this.value = parseFloat(this.text);
103
+ }
104
+ },
105
+ Double: {
106
+ finish() {
107
+ this.value = parseFloat(this.text);
108
+ }
109
+ },
110
+ Byte: {
111
+ finish() {
112
+ this.value = clamp(parseInt(this.text, 10), 0, 255);
113
+ }
114
+ },
115
+ SByte: {
116
+ finish() {
117
+ this.value = clamp(parseInt(this.text, 10), -128, 127);
118
+ }
119
+ },
120
+ Int8: {
121
+ finish() {
122
+ this.value = clamp(parseInt(this.text, 10), -128, 127);
123
+ }
124
+ },
125
+ Int16: {
126
+ finish() {
127
+ this.value = clamp(parseInt(this.text, 10), -32768, 32767);
128
+ }
129
+ },
130
+ Int32: {
131
+ finish() {
132
+ this.value = clamp(parseInt(this.text, 10), -2147483648, 2147483647);
133
+ }
134
+ },
135
+ Int64: {
136
+ finish() {
137
+ this.value = parseInt(this.text, 10);
138
+ }
139
+ },
140
+ UInt8: {
141
+ finish() {
142
+ this.value = clamp(parseInt(this.text, 10), 0, 255);
143
+ }
144
+ },
145
+ UInt16: {
146
+ finish() {
147
+ this.value = clamp(parseInt(this.text, 10), 0, 65535);
148
+ }
149
+ },
150
+ UInt32: {
151
+ finish() {
152
+ this.value = clamp(parseInt(this.text, 10), 0, 4294967295);
153
+ }
154
+ },
155
+ UInt64: {
156
+ finish() {
157
+ this.value = parseInt(this.text, 10);
158
+ }
159
+ },
160
+ DateTime: {
161
+ finish() {
162
+ // to do check Local or GMT
163
+ this.value = new Date(this.text);
164
+ }
165
+ },
166
+ Variant: {
167
+ finish() {
168
+ /** to do */
169
+ console.log(" Missing Implemntation contact sterfive.com!");
170
+ }
171
+ },
172
+ NodeId: {
173
+ finish() {
174
+ // to do check Local or GMT
175
+ this.value = (0, node_opcua_nodeid_1.coerceNodeId)(this.text);
176
+ }
177
+ }
178
+ };
179
+ function _clone(a) {
180
+ if (typeof a === "string" || typeof a === "number" || typeof a === "boolean") {
181
+ return a;
182
+ }
183
+ if (a instanceof Buffer) {
184
+ return Buffer.from(a);
185
+ }
186
+ if (a instanceof Date) {
187
+ return new Date(a);
188
+ }
189
+ if (a instanceof Array) {
190
+ return a.map((x) => _clone(x));
191
+ }
192
+ return Object.assign({}, a);
193
+ }
194
+ function _makeTypeReader(dataTypeNodeId, definitionMap, readerMap) {
195
+ if (dataTypeNodeId.namespace === 0 && dataTypeNodeId.value === 0) {
196
+ // a generic Extension Object
197
+ return { name: "Variant", parser: partials["Variant"] };
198
+ }
199
+ if (dataTypeNodeId.namespace === 0 &&
200
+ dataTypeNodeId.identifierType === node_opcua_nodeid_1.NodeIdType.NUMERIC &&
201
+ dataTypeNodeId.value < node_opcua_variant_1.DataType.ExtensionObject) {
202
+ const name = node_opcua_variant_1.DataType[dataTypeNodeId.value];
203
+ const parser = partials[name];
204
+ return { name, parser };
205
+ }
206
+ const { name, definition } = definitionMap.findDefinition(dataTypeNodeId);
207
+ const dataTypeName = name;
208
+ // console.log("NAME = ", dataTypeNodeId.toString(), name, definition);
209
+ let reader = readerMap[dataTypeName];
210
+ if (reader) {
211
+ return { name, parser: reader.parser };
212
+ }
213
+ reader = {
214
+ finish() {
215
+ /** empty */
216
+ },
217
+ parser: {}
218
+ };
219
+ if (definition instanceof node_opcua_types_1.StructureDefinition) {
220
+ for (const field of definition.fields || []) {
221
+ const typeReader = _makeTypeReader(field.dataType, definitionMap, readerMap);
222
+ const fieldParser = typeReader.parser;
223
+ const fieldTypename = typeReader.name;
224
+ // istanbul ignore next
225
+ if (!fieldParser) {
226
+ throw new Error(" Cannot find reader for dataType " + field.dataType + " fieldTypename=" + fieldTypename);
227
+ }
228
+ if (field.valueRank === undefined || field.valueRank === -1) {
229
+ // scalar
230
+ const parser = fieldParser;
231
+ if (!parser) {
232
+ throw new Error("??? " + field.dataType + " " + field.name);
233
+ }
234
+ reader.parser[field.name] = {
235
+ parser: fieldParser.parser,
236
+ // endElement: fieldReader.endElement,
237
+ finish() {
238
+ const elName = (0, node_opcua_utils_1.lowerFirstLetter)(field.name);
239
+ if (fieldParser.finish) {
240
+ fieldParser.finish.call(this);
241
+ }
242
+ else {
243
+ debugLog("xxx check " + fieldTypename);
244
+ }
245
+ this.parent.value = this.parent.value || {};
246
+ this.parent.value[elName] = _clone(this.value);
247
+ }
248
+ };
249
+ }
250
+ else if (field.valueRank === 1) {
251
+ const listReader = {
252
+ init() {
253
+ this.value = [];
254
+ },
255
+ parser: {},
256
+ finish() {
257
+ const elName = (0, node_opcua_utils_1.lowerFirstLetter)(this.name);
258
+ this.parent.value = this.parent.value || {};
259
+ this.parent.value[elName] = this.value;
260
+ this.value = undefined;
261
+ },
262
+ startElement(name, attrs) {
263
+ // empty
264
+ },
265
+ endElement(element) {
266
+ this.value.push(_clone(this.parser[element].value));
267
+ }
268
+ };
269
+ listReader.parser[fieldTypename] = fieldParser;
270
+ reader.parser[field.name] = listReader;
271
+ }
272
+ else {
273
+ throw new Error("Unsupported ValueRank !");
274
+ }
275
+ }
276
+ // xx const parser: ParserLike = {};
277
+ // xx parser[definition.name] = reader;
278
+ readerMap[dataTypeName] = reader;
279
+ return { name, parser: reader };
280
+ }
281
+ else if (definition instanceof node_opcua_types_1.EnumDefinition) {
282
+ // console.log("xxxx enum found !", definition.toString());
283
+ const turnToInt = (value) => {
284
+ // Green_100
285
+ return parseInt(value.split("_")[1], 10);
286
+ };
287
+ return {
288
+ name,
289
+ parser: {
290
+ finish() {
291
+ this.value = turnToInt(this.text);
292
+ }
293
+ }
294
+ };
295
+ }
296
+ else {
297
+ // basic datatype
298
+ const typeName = node_opcua_variant_1.DataType[definition.dataType];
299
+ const parser = partials[typeName];
300
+ // istanbul ignore next
301
+ if (!parser) {
302
+ throw new Error("missing parse for " + typeName);
303
+ }
304
+ return { name, parser };
305
+ }
306
+ }
307
+ function makeXmlExtensionObjectReader(dataTypeNodeId, definitionMap, readerMap) {
308
+ const { name, definition } = definitionMap.findDefinition(dataTypeNodeId);
309
+ // istanbul ignore next
310
+ if (!(definition instanceof node_opcua_types_1.StructureDefinition)) {
311
+ throw new Error("Expecting StructureDefinition");
312
+ }
313
+ //
314
+ const reader1 = {
315
+ parser: {},
316
+ endElement() {
317
+ this._pojo = this.parser[name].value;
318
+ }
319
+ };
320
+ const { parser } = _makeTypeReader(dataTypeNodeId, definitionMap, readerMap);
321
+ reader1.parser[name] = parser;
322
+ return new node_opcua_xml2json_1.ReaderState(reader1);
323
+ }
324
+ exports.makeXmlExtensionObjectReader = makeXmlExtensionObjectReader;
316
325
  //# sourceMappingURL=make_xml_extension_object_parser.js.map