node-opcua-address-space 2.71.0 → 2.72.2

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