camstreamerlib 4.0.0-beta.9 → 4.0.0-beta.91

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 (360) hide show
  1. package/README.md +143 -38
  2. package/cjs/CamOverlayAPI.d.ts +579 -340
  3. package/cjs/CamOverlayAPI.js +121 -151
  4. package/cjs/CamScripterAPI.d.ts +44 -17
  5. package/cjs/CamScripterAPI.js +50 -34
  6. package/cjs/CamStreamerAPI.d.ts +588 -14
  7. package/cjs/CamStreamerAPI.js +171 -44
  8. package/cjs/CamSwitcherAPI.d.ts +158 -43
  9. package/cjs/CamSwitcherAPI.js +138 -122
  10. package/cjs/PlaneTrackerAPI.d.ts +241 -0
  11. package/cjs/PlaneTrackerAPI.js +254 -0
  12. package/cjs/VapixAPI.d.ts +95 -43
  13. package/cjs/VapixAPI.js +314 -232
  14. package/cjs/{CreatePackage.js → bin/CreatePackage.js} +44 -18
  15. package/cjs/errors/errors.d.ts +69 -4
  16. package/cjs/errors/errors.js +138 -7
  17. package/cjs/index.d.ts +20 -7
  18. package/cjs/index.js +28 -9
  19. package/cjs/internal/ProxyClient.d.ts +8 -9
  20. package/cjs/internal/ProxyClient.js +28 -34
  21. package/cjs/internal/WsEvents.d.ts +37 -0
  22. package/cjs/{CamSwitcherEvents.js → internal/WsEvents.js} +28 -22
  23. package/cjs/internal/types.d.ts +47 -0
  24. package/cjs/internal/types.js +2 -0
  25. package/cjs/internal/utils.d.ts +3 -1
  26. package/cjs/internal/utils.js +15 -3
  27. package/cjs/internal/versionCompare.d.ts +2 -2
  28. package/cjs/node/CamOverlayDrawingAPI.d.ts +41 -0
  29. package/cjs/{CamOverlayDrawingAPI.js → node/CamOverlayDrawingAPI.js} +28 -20
  30. package/{esm → cjs/node}/CamOverlayPainter/Frame.d.ts +8 -37
  31. package/cjs/{CamOverlayPainter → node/CamOverlayPainter}/Frame.js +33 -0
  32. package/cjs/{CamOverlayPainter → node/CamOverlayPainter}/Painter.d.ts +5 -21
  33. package/cjs/{CamOverlayPainter → node/CamOverlayPainter}/Painter.js +5 -17
  34. package/cjs/node/CamOverlayPainter/ResourceManager.d.ts +15 -0
  35. package/cjs/node/CamOverlayPainter/ResourceManager.js +72 -0
  36. package/cjs/node/CamScripterAPICameraEventsGenerator.d.ts +31 -0
  37. package/cjs/{CamScripterAPICameraEventsGenerator.js → node/CamScripterAPICameraEventsGenerator.js} +13 -13
  38. package/cjs/node/DefaultClient.d.ts +6 -5
  39. package/cjs/node/DefaultClient.js +10 -12
  40. package/cjs/{internal → node}/Digest.js +24 -1
  41. package/cjs/node/Digest.test.js +13 -0
  42. package/cjs/node/HttpRequestSender.d.ts +1 -0
  43. package/cjs/node/HttpRequestSender.js +14 -4
  44. package/cjs/node/HttpServer.d.ts +1 -1
  45. package/cjs/node/HttpServer.js +29 -6
  46. package/cjs/node/TimeZoneDaemon.d.ts +6 -0
  47. package/cjs/node/TimeZoneDaemon.js +29 -0
  48. package/cjs/node/VapixEvents.d.ts +16 -0
  49. package/cjs/{VapixEvents.js → node/VapixEvents.js} +10 -10
  50. package/cjs/node/WsClient.d.ts +9 -18
  51. package/cjs/node/WsClient.js +27 -20
  52. package/cjs/node/events/AxisCameraStationEvents.d.ts +12 -0
  53. package/cjs/node/events/AxisCameraStationEvents.js +53 -0
  54. package/cjs/node/events/GenetecAgent.d.ts +16 -0
  55. package/cjs/node/events/GenetecAgent.js +124 -0
  56. package/cjs/node/index.d.ts +18 -2
  57. package/cjs/node/index.js +39 -5
  58. package/cjs/{models/CamOverlayAPI/widgetsSchema.d.ts → types/CamOverlayAPI/CamOverlayAPI.d.ts} +2343 -836
  59. package/cjs/types/CamOverlayAPI/CamOverlayAPI.js +92 -0
  60. package/cjs/{models → types}/CamOverlayAPI/accuweatherSchema.d.ts +19 -19
  61. package/cjs/{models → types}/CamOverlayAPI/accuweatherSchema.js +7 -8
  62. package/cjs/{models → types}/CamOverlayAPI/customGraphicsSchema.d.ts +110 -109
  63. package/cjs/{models → types}/CamOverlayAPI/customGraphicsSchema.js +5 -6
  64. package/{esm/models → cjs/types}/CamOverlayAPI/imagesSchema.d.ts +21 -21
  65. package/cjs/types/CamOverlayAPI/imagesSchema.js +9 -0
  66. package/cjs/{models → types}/CamOverlayAPI/index.d.ts +2 -4
  67. package/cjs/{models → types}/CamOverlayAPI/index.js +2 -4
  68. package/cjs/{models → types}/CamOverlayAPI/infotickerSchema.d.ts +27 -27
  69. package/cjs/{models → types}/CamOverlayAPI/infotickerSchema.js +6 -7
  70. package/{esm/models → cjs/types}/CamOverlayAPI/pipSchema.d.ts +23 -23
  71. package/cjs/{models → types}/CamOverlayAPI/pipSchema.js +5 -6
  72. package/{esm/models → cjs/types}/CamOverlayAPI/ptzCompassSchema.d.ts +20 -17
  73. package/cjs/{models → types}/CamOverlayAPI/ptzCompassSchema.js +5 -5
  74. package/{esm/models → cjs/types}/CamOverlayAPI/ptzSchema.d.ts +30 -30
  75. package/cjs/types/CamOverlayAPI/ptzSchema.js +12 -0
  76. package/cjs/types/CamOverlayAPI/scoreBoardSchema.d.ts +357 -0
  77. package/cjs/types/CamOverlayAPI/scoreBoardSchema.js +132 -0
  78. package/cjs/{models → types}/CamOverlayAPI/screenSharingSchema.d.ts +17 -17
  79. package/cjs/types/CamOverlayAPI/screenSharingSchema.js +8 -0
  80. package/{esm/models/CamOverlayAPI/widgetCommonSchema.d.ts → cjs/types/CamOverlayAPI/serviceCommonTypes.d.ts} +79 -60
  81. package/cjs/{models/CamOverlayAPI/widgetCommonSchema.js → types/CamOverlayAPI/serviceCommonTypes.js} +33 -18
  82. package/{esm/models → cjs/types}/CamOverlayAPI/webCameraSharingSchema.d.ts +17 -17
  83. package/cjs/types/CamOverlayAPI/webCameraSharingSchema.js +8 -0
  84. package/cjs/types/CamOverlayDrawingAPI.d.ts +48 -0
  85. package/cjs/types/CamOverlayDrawingAPI.js +2 -0
  86. package/cjs/types/CamOverlayPainter.d.ts +76 -0
  87. package/cjs/types/CamOverlayPainter.js +14 -0
  88. package/cjs/types/CamScripterAPI.d.ts +86 -23
  89. package/cjs/types/CamScripterAPI.js +24 -8
  90. package/cjs/types/CamScripterAPICameraEventsGenerator.d.ts +45 -0
  91. package/cjs/types/CamScripterAPICameraEventsGenerator.js +2 -0
  92. package/cjs/types/CamStreamerAPI/CamStreamerAPI.d.ts +3839 -0
  93. package/cjs/types/CamStreamerAPI/CamStreamerAPI.js +75 -0
  94. package/cjs/types/CamStreamerAPI/facebookSchema.d.ts +202 -0
  95. package/cjs/types/CamStreamerAPI/facebookSchema.js +11 -0
  96. package/cjs/types/CamStreamerAPI/hlsSchema.d.ts +202 -0
  97. package/cjs/types/CamStreamerAPI/hlsSchema.js +11 -0
  98. package/cjs/types/CamStreamerAPI/index.d.ts +9 -0
  99. package/cjs/types/CamStreamerAPI/index.js +25 -0
  100. package/cjs/types/CamStreamerAPI/mpegDvbSchema.d.ts +250 -0
  101. package/cjs/types/CamStreamerAPI/mpegDvbSchema.js +27 -0
  102. package/cjs/types/{CamStreamerAPI.d.ts → CamStreamerAPI/oldStreamSchema.d.ts} +96 -27
  103. package/cjs/types/CamStreamerAPI/oldStreamSchema.js +53 -0
  104. package/cjs/types/CamStreamerAPI/rtmpSchema.d.ts +202 -0
  105. package/cjs/types/CamStreamerAPI/rtmpSchema.js +11 -0
  106. package/cjs/types/CamStreamerAPI/sdCardSchema.d.ts +202 -0
  107. package/cjs/types/CamStreamerAPI/sdCardSchema.js +11 -0
  108. package/cjs/types/CamStreamerAPI/streamCommonTypes.d.ts +369 -0
  109. package/cjs/types/CamStreamerAPI/streamCommonTypes.js +65 -0
  110. package/cjs/types/CamStreamerAPI/windySchema.d.ts +202 -0
  111. package/cjs/types/CamStreamerAPI/windySchema.js +11 -0
  112. package/cjs/types/CamStreamerAPI/youtubeSchema.d.ts +202 -0
  113. package/cjs/types/CamStreamerAPI/youtubeSchema.js +11 -0
  114. package/cjs/types/CamSwitcherAPI.d.ts +189 -110
  115. package/cjs/types/CamSwitcherAPI.js +38 -1
  116. package/cjs/{events → types}/GenetecAgent.d.ts +47 -47
  117. package/cjs/types/GenetecAgent.js +31 -0
  118. package/cjs/types/PlaneTrackerAPI.d.ts +980 -0
  119. package/cjs/types/PlaneTrackerAPI.js +333 -0
  120. package/cjs/types/VapixAPI.d.ts +338 -248
  121. package/cjs/types/VapixAPI.js +66 -11
  122. package/cjs/types/VapixEvents.d.ts +15 -0
  123. package/cjs/types/VapixEvents.js +2 -0
  124. package/cjs/types/common.d.ts +18 -5
  125. package/cjs/types/common.js +5 -2
  126. package/cjs/types/ws/CamOverlayEvents.d.ts +88 -0
  127. package/cjs/types/ws/CamOverlayEvents.js +19 -0
  128. package/cjs/types/ws/CamStreamerEvents.d.ts +249 -0
  129. package/cjs/types/ws/CamStreamerEvents.js +32 -0
  130. package/cjs/types/ws/PlaneTrackerEvents.d.ts +1703 -0
  131. package/cjs/types/ws/PlaneTrackerEvents.js +207 -0
  132. package/cjs/web/DefaultClient.d.ts +7 -8
  133. package/cjs/web/DefaultClient.js +25 -9
  134. package/cjs/web/WsClient.d.ts +9 -5
  135. package/cjs/web/WsClient.js +16 -18
  136. package/cjs/ws/CamOverlayEvents.d.ts +8 -0
  137. package/cjs/ws/CamOverlayEvents.js +24 -0
  138. package/cjs/ws/CamStreamerEvents.d.ts +8 -0
  139. package/cjs/ws/CamStreamerEvents.js +24 -0
  140. package/cjs/ws/CamSwitcherEvents.d.ts +8 -0
  141. package/cjs/ws/CamSwitcherEvents.js +24 -0
  142. package/cjs/ws/PlaneTrackerEvents.d.ts +9 -0
  143. package/cjs/ws/PlaneTrackerEvents.js +30 -0
  144. package/esm/CamOverlayAPI.js +120 -150
  145. package/esm/CamScripterAPI.js +48 -32
  146. package/esm/CamStreamerAPI.js +166 -40
  147. package/esm/CamSwitcherAPI.js +136 -120
  148. package/esm/PlaneTrackerAPI.js +250 -0
  149. package/esm/VapixAPI.js +314 -232
  150. package/esm/{CreatePackage.js → bin/CreatePackage.js} +16 -16
  151. package/esm/errors/errors.js +120 -6
  152. package/esm/index.js +20 -7
  153. package/esm/internal/ProxyClient.js +28 -34
  154. package/esm/{CamSwitcherEvents.js → internal/WsEvents.js} +26 -20
  155. package/esm/internal/types.js +1 -0
  156. package/esm/internal/utils.js +11 -1
  157. package/esm/{CamOverlayDrawingAPI.js → node/CamOverlayDrawingAPI.js} +26 -18
  158. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/Frame.js +33 -0
  159. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/Painter.js +2 -13
  160. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/ResourceManager.js +7 -5
  161. package/esm/{CamScripterAPICameraEventsGenerator.js → node/CamScripterAPICameraEventsGenerator.js} +11 -11
  162. package/esm/node/DefaultClient.js +10 -12
  163. package/esm/node/Digest.test.js +11 -0
  164. package/esm/node/HttpRequestSender.js +14 -4
  165. package/esm/node/HttpServer.js +1 -1
  166. package/esm/node/TimeZoneDaemon.js +25 -0
  167. package/esm/{VapixEvents.js → node/VapixEvents.js} +10 -10
  168. package/esm/node/WsClient.js +22 -15
  169. package/esm/{events → node/events}/AxisCameraStationEvents.js +18 -13
  170. package/esm/node/events/GenetecAgent.js +120 -0
  171. package/esm/node/index.js +18 -2
  172. package/esm/types/CamOverlayAPI/CamOverlayAPI.js +76 -0
  173. package/esm/{models → types}/CamOverlayAPI/accuweatherSchema.js +3 -4
  174. package/esm/{models → types}/CamOverlayAPI/customGraphicsSchema.js +3 -4
  175. package/esm/types/CamOverlayAPI/imagesSchema.js +6 -0
  176. package/esm/{models → types}/CamOverlayAPI/index.js +2 -4
  177. package/esm/{models → types}/CamOverlayAPI/infotickerSchema.js +3 -4
  178. package/esm/{models → types}/CamOverlayAPI/pipSchema.js +4 -5
  179. package/esm/{models → types}/CamOverlayAPI/ptzCompassSchema.js +4 -4
  180. package/esm/types/CamOverlayAPI/ptzSchema.js +9 -0
  181. package/esm/types/CamOverlayAPI/scoreBoardSchema.js +129 -0
  182. package/esm/types/CamOverlayAPI/screenSharingSchema.js +5 -0
  183. package/esm/{models/CamOverlayAPI/widgetCommonSchema.js → types/CamOverlayAPI/serviceCommonTypes.js} +32 -17
  184. package/esm/types/CamOverlayAPI/webCameraSharingSchema.js +5 -0
  185. package/esm/types/CamOverlayDrawingAPI.js +1 -0
  186. package/esm/types/CamOverlayPainter.js +11 -0
  187. package/esm/types/CamScripterAPI.js +23 -7
  188. package/esm/types/CamScripterAPICameraEventsGenerator.js +1 -0
  189. package/esm/types/CamStreamerAPI/CamStreamerAPI.js +65 -0
  190. package/esm/types/CamStreamerAPI/facebookSchema.js +5 -0
  191. package/esm/types/CamStreamerAPI/hlsSchema.js +5 -0
  192. package/esm/types/CamStreamerAPI/index.js +9 -0
  193. package/esm/types/CamStreamerAPI/mpegDvbSchema.js +21 -0
  194. package/esm/types/CamStreamerAPI/oldStreamSchema.js +50 -0
  195. package/esm/types/CamStreamerAPI/rtmpSchema.js +5 -0
  196. package/esm/types/CamStreamerAPI/sdCardSchema.js +5 -0
  197. package/esm/types/CamStreamerAPI/streamCommonTypes.js +62 -0
  198. package/esm/types/CamStreamerAPI/windySchema.js +5 -0
  199. package/esm/types/CamStreamerAPI/youtubeSchema.js +5 -0
  200. package/esm/types/CamSwitcherAPI.js +38 -1
  201. package/esm/types/GenetecAgent.js +28 -0
  202. package/esm/types/PlaneTrackerAPI.js +330 -0
  203. package/esm/types/VapixAPI.js +65 -10
  204. package/esm/types/VapixEvents.js +1 -0
  205. package/esm/types/common.js +4 -1
  206. package/esm/types/ws/CamOverlayEvents.js +16 -0
  207. package/esm/types/ws/CamStreamerEvents.js +29 -0
  208. package/esm/types/ws/PlaneTrackerEvents.js +204 -0
  209. package/esm/web/DefaultClient.js +25 -9
  210. package/esm/web/WsClient.js +16 -18
  211. package/esm/ws/CamOverlayEvents.js +20 -0
  212. package/esm/ws/CamStreamerEvents.js +20 -0
  213. package/esm/ws/CamSwitcherEvents.js +20 -0
  214. package/esm/ws/PlaneTrackerEvents.js +26 -0
  215. package/package.json +44 -11
  216. package/{esm → types}/CamOverlayAPI.d.ts +579 -340
  217. package/types/CamScripterAPI.d.ts +46 -0
  218. package/types/CamStreamerAPI.d.ts +590 -0
  219. package/types/CamSwitcherAPI.d.ts +167 -0
  220. package/types/PlaneTrackerAPI.d.ts +241 -0
  221. package/types/VapixAPI.d.ts +118 -0
  222. package/types/bin/CreatePackage.d.ts +1 -0
  223. package/types/errors/errors.d.ts +102 -0
  224. package/types/index.d.ts +27 -0
  225. package/types/internal/ProxyClient.d.ts +10 -0
  226. package/types/internal/WsEvents.d.ts +37 -0
  227. package/types/internal/types.d.ts +47 -0
  228. package/{esm → types}/internal/utils.d.ts +3 -1
  229. package/{esm → types}/internal/versionCompare.d.ts +2 -2
  230. package/types/node/CamOverlayDrawingAPI.d.ts +41 -0
  231. package/{cjs → types/node}/CamOverlayPainter/Frame.d.ts +8 -37
  232. package/{esm → types/node}/CamOverlayPainter/Painter.d.ts +5 -21
  233. package/types/node/CamOverlayPainter/ResourceManager.d.ts +15 -0
  234. package/types/node/CamScripterAPICameraEventsGenerator.d.ts +31 -0
  235. package/types/node/DefaultClient.d.ts +16 -0
  236. package/types/node/Digest.test.d.ts +1 -0
  237. package/{esm → types}/node/HttpRequestSender.d.ts +1 -0
  238. package/{esm → types}/node/HttpServer.d.ts +1 -1
  239. package/types/node/TimeZoneDaemon.d.ts +6 -0
  240. package/types/node/VapixEvents.d.ts +16 -0
  241. package/types/node/WsClient.d.ts +30 -0
  242. package/types/node/events/AxisCameraStationEvents.d.ts +12 -0
  243. package/types/node/events/GenetecAgent.d.ts +16 -0
  244. package/types/node/index.d.ts +18 -0
  245. package/{esm/models/CamOverlayAPI/widgetsSchema.d.ts → types/types/CamOverlayAPI/CamOverlayAPI.d.ts} +2343 -836
  246. package/{esm/models → types/types}/CamOverlayAPI/accuweatherSchema.d.ts +19 -19
  247. package/{esm/models → types/types}/CamOverlayAPI/customGraphicsSchema.d.ts +110 -109
  248. package/{cjs/models → types/types}/CamOverlayAPI/imagesSchema.d.ts +21 -21
  249. package/{esm/models → types/types}/CamOverlayAPI/index.d.ts +2 -4
  250. package/{esm/models → types/types}/CamOverlayAPI/infotickerSchema.d.ts +27 -27
  251. package/{cjs/models → types/types}/CamOverlayAPI/pipSchema.d.ts +23 -23
  252. package/{cjs/models → types/types}/CamOverlayAPI/ptzCompassSchema.d.ts +20 -17
  253. package/{cjs/models → types/types}/CamOverlayAPI/ptzSchema.d.ts +30 -30
  254. package/types/types/CamOverlayAPI/scoreBoardSchema.d.ts +357 -0
  255. package/{esm/models → types/types}/CamOverlayAPI/screenSharingSchema.d.ts +17 -17
  256. package/{cjs/models/CamOverlayAPI/widgetCommonSchema.d.ts → types/types/CamOverlayAPI/serviceCommonTypes.d.ts} +79 -60
  257. package/{cjs/models → types/types}/CamOverlayAPI/webCameraSharingSchema.d.ts +17 -17
  258. package/types/types/CamOverlayDrawingAPI.d.ts +48 -0
  259. package/types/types/CamOverlayPainter.d.ts +76 -0
  260. package/types/types/CamScripterAPI.d.ts +130 -0
  261. package/types/types/CamScripterAPICameraEventsGenerator.d.ts +45 -0
  262. package/types/types/CamStreamerAPI/CamStreamerAPI.d.ts +3839 -0
  263. package/types/types/CamStreamerAPI/facebookSchema.d.ts +202 -0
  264. package/types/types/CamStreamerAPI/hlsSchema.d.ts +202 -0
  265. package/types/types/CamStreamerAPI/index.d.ts +9 -0
  266. package/types/types/CamStreamerAPI/mpegDvbSchema.d.ts +250 -0
  267. package/{esm/types/CamStreamerAPI.d.ts → types/types/CamStreamerAPI/oldStreamSchema.d.ts} +96 -27
  268. package/types/types/CamStreamerAPI/rtmpSchema.d.ts +202 -0
  269. package/types/types/CamStreamerAPI/sdCardSchema.d.ts +202 -0
  270. package/types/types/CamStreamerAPI/streamCommonTypes.d.ts +369 -0
  271. package/types/types/CamStreamerAPI/windySchema.d.ts +202 -0
  272. package/types/types/CamStreamerAPI/youtubeSchema.d.ts +202 -0
  273. package/{esm → types}/types/CamSwitcherAPI.d.ts +189 -110
  274. package/{esm/events → types/types}/GenetecAgent.d.ts +47 -47
  275. package/types/types/PlaneTrackerAPI.d.ts +980 -0
  276. package/{esm → types}/types/VapixAPI.d.ts +338 -248
  277. package/types/types/VapixEvents.d.ts +15 -0
  278. package/{esm → types}/types/common.d.ts +18 -5
  279. package/types/types/ws/CamOverlayEvents.d.ts +88 -0
  280. package/types/types/ws/CamStreamerEvents.d.ts +249 -0
  281. package/types/types/ws/PlaneTrackerEvents.d.ts +1703 -0
  282. package/types/web/DefaultClient.d.ts +8 -0
  283. package/types/web/WsClient.d.ts +17 -0
  284. package/types/ws/CamOverlayEvents.d.ts +8 -0
  285. package/types/ws/CamStreamerEvents.d.ts +8 -0
  286. package/types/ws/CamSwitcherEvents.d.ts +8 -0
  287. package/types/ws/PlaneTrackerEvents.d.ts +9 -0
  288. package/cjs/CamOverlayDrawingAPI.d.ts +0 -86
  289. package/cjs/CamOverlayPainter/ResourceManager.d.ts +0 -14
  290. package/cjs/CamOverlayPainter/ResourceManager.js +0 -46
  291. package/cjs/CamScripterAPICameraEventsGenerator.d.ts +0 -74
  292. package/cjs/CamSwitcherEvents.d.ts +0 -18
  293. package/cjs/VapixEvents.d.ts +0 -43
  294. package/cjs/events/AxisCameraStationEvents.d.ts +0 -9
  295. package/cjs/events/AxisCameraStationEvents.js +0 -48
  296. package/cjs/events/GenetecAgent.js +0 -123
  297. package/cjs/internal/common.d.ts +0 -39
  298. package/cjs/internal/common.js +0 -27
  299. package/cjs/models/CamOverlayAPI/constants.d.ts +0 -11
  300. package/cjs/models/CamOverlayAPI/constants.js +0 -14
  301. package/cjs/models/CamOverlayAPI/fileSchema.d.ts +0 -28
  302. package/cjs/models/CamOverlayAPI/fileSchema.js +0 -17
  303. package/cjs/models/CamOverlayAPI/imagesSchema.js +0 -10
  304. package/cjs/models/CamOverlayAPI/ptzSchema.js +0 -13
  305. package/cjs/models/CamOverlayAPI/screenSharingSchema.js +0 -9
  306. package/cjs/models/CamOverlayAPI/webCameraSharingSchema.js +0 -9
  307. package/cjs/models/CamOverlayAPI/widgetsSchema.js +0 -27
  308. package/cjs/node/WsEventClient.d.ts +0 -13
  309. package/cjs/node/WsEventClient.js +0 -22
  310. package/cjs/types/CamOverlayAPI.d.ts +0 -328
  311. package/cjs/types/CamOverlayAPI.js +0 -26
  312. package/cjs/types/CamStreamerAPI.js +0 -28
  313. package/esm/CamOverlayDrawingAPI.d.ts +0 -86
  314. package/esm/CamOverlayPainter/ResourceManager.d.ts +0 -14
  315. package/esm/CamScripterAPI.d.ts +0 -19
  316. package/esm/CamScripterAPICameraEventsGenerator.d.ts +0 -74
  317. package/esm/CamStreamerAPI.d.ts +0 -16
  318. package/esm/CamSwitcherAPI.d.ts +0 -52
  319. package/esm/CamSwitcherEvents.d.ts +0 -18
  320. package/esm/VapixAPI.d.ts +0 -66
  321. package/esm/VapixEvents.d.ts +0 -43
  322. package/esm/errors/errors.d.ts +0 -37
  323. package/esm/events/AxisCameraStationEvents.d.ts +0 -9
  324. package/esm/events/GenetecAgent.js +0 -119
  325. package/esm/index.d.ts +0 -14
  326. package/esm/internal/ProxyClient.d.ts +0 -11
  327. package/esm/internal/common.d.ts +0 -39
  328. package/esm/internal/common.js +0 -20
  329. package/esm/models/CamOverlayAPI/constants.d.ts +0 -11
  330. package/esm/models/CamOverlayAPI/constants.js +0 -11
  331. package/esm/models/CamOverlayAPI/fileSchema.d.ts +0 -28
  332. package/esm/models/CamOverlayAPI/fileSchema.js +0 -14
  333. package/esm/models/CamOverlayAPI/imagesSchema.js +0 -7
  334. package/esm/models/CamOverlayAPI/ptzSchema.js +0 -10
  335. package/esm/models/CamOverlayAPI/screenSharingSchema.js +0 -6
  336. package/esm/models/CamOverlayAPI/webCameraSharingSchema.js +0 -6
  337. package/esm/models/CamOverlayAPI/widgetsSchema.js +0 -24
  338. package/esm/node/DefaultClient.d.ts +0 -15
  339. package/esm/node/WsClient.d.ts +0 -39
  340. package/esm/node/WsEventClient.d.ts +0 -13
  341. package/esm/node/WsEventClient.js +0 -18
  342. package/esm/types/CamOverlayAPI.d.ts +0 -328
  343. package/esm/types/CamOverlayAPI.js +0 -14
  344. package/esm/types/CamScripterAPI.d.ts +0 -67
  345. package/esm/types/CamStreamerAPI.js +0 -25
  346. package/esm/web/DefaultClient.d.ts +0 -9
  347. package/esm/web/WsClient.d.ts +0 -13
  348. package/esm/web/index.d.ts +0 -2
  349. /package/cjs/{CreatePackage.d.ts → bin/CreatePackage.d.ts} +0 -0
  350. /package/cjs/{internal → node}/Digest.d.ts +0 -0
  351. /package/{esm/CreatePackage.d.ts → cjs/node/Digest.test.d.ts} +0 -0
  352. /package/cjs/types/{CamSwitcherEvents.d.ts → ws/CamSwitcherEvents.d.ts} +0 -0
  353. /package/cjs/types/{CamSwitcherEvents.js → ws/CamSwitcherEvents.js} +0 -0
  354. /package/esm/{internal → node}/Digest.js +0 -0
  355. /package/esm/types/{CamSwitcherEvents.js → ws/CamSwitcherEvents.js} +0 -0
  356. /package/{esm → types}/internal/constants.d.ts +0 -0
  357. /package/{esm → types}/internal/transformers.d.ts +0 -0
  358. /package/{esm/internal → types/node}/Digest.d.ts +0 -0
  359. /package/{esm/types → types/types/ws}/CamSwitcherEvents.d.ts +0 -0
  360. /package/{esm/node → types/web}/index.d.ts +0 -0
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CamScripterAPICameraEventsGenerator = void 0;
4
- const EventEmitter = require("events");
5
- const WsClient_1 = require("./node/WsClient");
6
- class CamScripterAPICameraEventsGenerator extends EventEmitter {
4
+ const events_1 = require("events");
5
+ const WsClient_1 = require("./WsClient");
6
+ class CamScripterAPICameraEventsGenerator extends events_1.EventEmitter {
7
7
  tls;
8
8
  tlsInsecure;
9
9
  ip;
@@ -27,14 +27,14 @@ class CamScripterAPICameraEventsGenerator extends EventEmitter {
27
27
  this.sendMessages = {};
28
28
  this.wsConnected = false;
29
29
  this.createWsClient();
30
- EventEmitter.call(this);
30
+ events_1.EventEmitter.call(this);
31
31
  }
32
32
  connect() {
33
33
  this.ws.open();
34
34
  this.startMsgsTimeoutCheck();
35
35
  }
36
36
  disconnect() {
37
- this.ws.close();
37
+ this.ws.destroy();
38
38
  this.stopMsgsTimeoutCheck();
39
39
  }
40
40
  declareEvent(eventDeclaration) {
@@ -70,21 +70,21 @@ class CamScripterAPICameraEventsGenerator extends EventEmitter {
70
70
  protocol: 'camera-events',
71
71
  };
72
72
  this.ws = new WsClient_1.WsClient(options);
73
- this.ws.on('open', () => {
73
+ this.ws.onOpen = () => {
74
74
  this.wsConnected = true;
75
75
  this.emit('open');
76
- });
77
- this.ws.on('message', (msgData) => this.incomingWsMessageHandler(msgData));
78
- this.ws.on('error', (error) => {
76
+ };
77
+ this.ws.onMessage = (data) => this.incomingWsMessageHandler(data.toString());
78
+ this.ws.onError = (error) => {
79
79
  this.reportErr(error);
80
- });
81
- this.ws.on('close', () => {
80
+ };
81
+ this.ws.onClose = () => {
82
82
  this.wsConnected = false;
83
83
  this.reportClose();
84
- });
84
+ };
85
85
  }
86
86
  incomingWsMessageHandler(msgData) {
87
- const dataJSON = JSON.parse(msgData.toString());
87
+ const dataJSON = JSON.parse(msgData);
88
88
  let errorResponse;
89
89
  if ('error' in dataJSON) {
90
90
  errorResponse = dataJSON;
@@ -1,6 +1,8 @@
1
1
  /// <reference types="node" />
2
- import { IClient, HttpOptions, TParameters } from '../internal/common';
3
- export declare class DefaultClient implements IClient {
2
+ /// <reference types="node" />
3
+ import { IClient, HttpOptions, TGetParams, TPostParams } from '../internal/types';
4
+ import { FormData as UndiciFormData, Response as UndiciResponse } from 'undici';
5
+ export declare class DefaultClient implements IClient<UndiciResponse, UndiciFormData | Buffer> {
4
6
  private tls;
5
7
  private ip;
6
8
  private port;
@@ -8,8 +10,7 @@ export declare class DefaultClient implements IClient {
8
10
  private pass;
9
11
  private httpRequestSender;
10
12
  constructor(opt?: HttpOptions);
11
- get url(): string;
12
- get(path: string, parameters?: TParameters, headers?: Record<string, string>): Promise<import("undici").Response>;
13
- post(path: string, data: string | FormData | Buffer, parameters?: TParameters, headers?: Record<string, string>): Promise<import("undici").Response>;
13
+ get(params: TGetParams): Promise<UndiciResponse>;
14
+ post(params: TPostParams<UndiciFormData | Buffer>): Promise<UndiciResponse>;
14
15
  private getBaseConnectionParams;
15
16
  }
@@ -25,29 +25,27 @@ class DefaultClient {
25
25
  }
26
26
  this.httpRequestSender = new HttpRequestSender_1.HttpRequestSender(agentOptions);
27
27
  }
28
- get url() {
29
- return `${this.tls ? 'https' : 'http'}://${this.user}:${this.pass}@${this.ip}:${this.port}`;
30
- }
31
- async get(path, parameters = {}, headers) {
32
- const options = this.getBaseConnectionParams('GET', path, parameters);
33
- options.headers = headers;
28
+ get(params) {
29
+ const { path, parameters, headers, timeout } = params;
30
+ const options = this.getBaseConnectionParams('GET', path, parameters, headers, timeout);
34
31
  return this.httpRequestSender.sendRequest(options);
35
32
  }
36
- async post(path, data, parameters = {}, headers) {
37
- const options = this.getBaseConnectionParams('POST', path, parameters);
38
- options.headers = headers;
33
+ post(params) {
34
+ const { path, data, parameters, headers, timeout } = params;
35
+ const options = this.getBaseConnectionParams('POST', path, parameters, headers, timeout);
39
36
  return this.httpRequestSender.sendRequest(options, data);
40
37
  }
41
- getBaseConnectionParams(method, path, params) {
42
- const pathName = (0, utils_1.addParametersToPath)(path, params);
38
+ getBaseConnectionParams(method, path, params, headers, timeout) {
43
39
  return {
44
40
  method: method,
45
41
  protocol: this.tls ? 'https:' : 'http:',
46
42
  host: this.ip,
47
43
  port: this.port,
48
- path: pathName,
44
+ path: (0, utils_1.addParametersToPath)(path, params),
49
45
  user: this.user,
50
46
  pass: this.pass,
47
+ headers,
48
+ timeout,
51
49
  };
52
50
  }
53
51
  }
@@ -1,7 +1,30 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.Digest = void 0;
4
- const crypto = require("crypto");
27
+ const crypto = __importStar(require("crypto"));
5
28
  class Digest {
6
29
  nonceCount = 1;
7
30
  getAuthHeader(user, pass, method, uri, wwwAuthenticateHeader) {
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const Digest_1 = require("./Digest");
4
+ const globals_1 = require("@jest/globals");
5
+ (0, globals_1.describe)('Digest', () => {
6
+ (0, globals_1.describe)('getAuthHeader', () => {
7
+ (0, globals_1.test)('Checks, that Digest.getAuthHeader() returns correct value.', () => {
8
+ const testString = 'Digest realm="testrealm@host.com", qop="auth,auth-int", nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", opaque="5ccc069c403ebaf9f0171e9517f40e41"';
9
+ const value = 'Digest username="root",realm="testrealm@host.com",nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093",uri="www.cz",response="63f54af3ce5cf193a7435d5c68625472",qop=auth,nc=00000001,cnonce="162d50aa594e9648"';
10
+ (0, globals_1.expect)(new Digest_1.Digest().getAuthHeader('root', 'pass', 'GET', 'www.cz', testString)).toBe(value);
11
+ });
12
+ });
13
+ });
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  import { FormData as UndiciFormData, Response as UndiciResponse } from 'undici';
3
4
  export type HttpRequestOptions = {
4
5
  method?: string;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HttpRequestSender = void 0;
4
- const Digest_1 = require("../internal/Digest");
4
+ const Digest_1 = require("./Digest");
5
5
  const undici_1 = require("undici");
6
6
  class HttpRequestSender {
7
7
  agent;
@@ -11,8 +11,18 @@ class HttpRequestSender {
11
11
  connect: { rejectUnauthorized: agentOptions?.rejectUnaurhorized, keepAlive: agentOptions?.keepAlive },
12
12
  });
13
13
  }
14
- sendRequest(options, postData) {
15
- return this.sendRequestWithAuth(options, postData);
14
+ async sendRequest(options, postData) {
15
+ const stackHolder = { stack: '' };
16
+ Error.captureStackTrace(stackHolder, this.sendRequest);
17
+ try {
18
+ return await this.sendRequestWithAuth(options, postData);
19
+ }
20
+ catch (err) {
21
+ if (err instanceof Error) {
22
+ err.stack = `${err.stack}\nCaptured at:\n${stackHolder.stack}`;
23
+ }
24
+ throw err;
25
+ }
16
26
  }
17
27
  async sendRequestWithAuth(options, postData, wwwAuthenticateHeader) {
18
28
  options.timeout ??= 10000;
@@ -82,7 +92,7 @@ class HttpRequestSender {
82
92
  return authData.digest.getAuthHeader(options.user, options.pass, options.method ?? 'GET', options.path, authData.wwwAuthenticateHeader);
83
93
  }
84
94
  else {
85
- return `Basic ${btoa(options.user + ':' + options.pass)}`;
95
+ return `Basic ${Buffer.from(`${options.user}:${options.pass}`).toString('base64')}`;
86
96
  }
87
97
  }
88
98
  }
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
3
  import * as http from 'http';
4
- import * as EventEmitter from 'events';
4
+ import { EventEmitter } from 'events';
5
5
  export type HttpServerOptions = {
6
6
  host?: string;
7
7
  port?: number;
@@ -1,12 +1,35 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.HttpServer = void 0;
4
- const http = require("http");
5
- const url = require("url");
6
- const fs = require("fs");
7
- const path = require("path");
8
- const EventEmitter = require("events");
9
- class HttpServer extends EventEmitter {
27
+ const http = __importStar(require("http"));
28
+ const url = __importStar(require("url"));
29
+ const fs = __importStar(require("fs"));
30
+ const path = __importStar(require("path"));
31
+ const events_1 = require("events");
32
+ class HttpServer extends events_1.EventEmitter {
10
33
  host;
11
34
  port;
12
35
  registeredPaths;
@@ -0,0 +1,6 @@
1
+ export declare class TimeZoneDaemon {
2
+ private checkTimer?;
3
+ constructor(checkInterval?: number);
4
+ stop(): void;
5
+ private checkAndUpdateTimeZone;
6
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TimeZoneDaemon = void 0;
4
+ const child_process_1 = require("child_process");
5
+ const util_1 = require("util");
6
+ const execPromise = (0, util_1.promisify)(child_process_1.exec);
7
+ class TimeZoneDaemon {
8
+ checkTimer;
9
+ constructor(checkInterval = 60000) {
10
+ this.checkTimer = setInterval(() => this.checkAndUpdateTimeZone(), checkInterval);
11
+ }
12
+ stop() {
13
+ clearInterval(this.checkTimer);
14
+ }
15
+ async checkAndUpdateTimeZone() {
16
+ try {
17
+ const { stdout } = await execPromise('timedatectl show -p Timezone --value');
18
+ const systemTimezone = stdout.toString().trim();
19
+ const nodeTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
20
+ if (systemTimezone !== nodeTimezone) {
21
+ process.env.TZ = systemTimezone;
22
+ }
23
+ }
24
+ catch (error) {
25
+ console.error('Error checking/updating timezone:', error);
26
+ }
27
+ }
28
+ }
29
+ exports.TimeZoneDaemon = TimeZoneDaemon;
@@ -0,0 +1,16 @@
1
+ import { EventEmitter2 as EventEmitter } from 'eventemitter2';
2
+ import { Options } from '../internal/types';
3
+ export declare class VapixEvents extends EventEmitter {
4
+ private tls;
5
+ private tlsInsecure;
6
+ private ip;
7
+ private port;
8
+ private user;
9
+ private pass;
10
+ private ws;
11
+ constructor(options?: Options);
12
+ connect(): void;
13
+ disconnect(): void;
14
+ private createWsClient;
15
+ private isReservedEventName;
16
+ }
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VapixEvents = void 0;
4
4
  const eventemitter2_1 = require("eventemitter2");
5
- const WsClient_1 = require("./node/WsClient");
5
+ const WsClient_1 = require("./WsClient");
6
6
  class VapixEvents extends eventemitter2_1.EventEmitter2 {
7
7
  tls;
8
8
  tlsInsecure;
@@ -26,7 +26,7 @@ class VapixEvents extends eventemitter2_1.EventEmitter2 {
26
26
  this.ws.open();
27
27
  }
28
28
  disconnect() {
29
- this.ws.close();
29
+ this.ws.destroy();
30
30
  }
31
31
  createWsClient() {
32
32
  const options = {
@@ -39,7 +39,7 @@ class VapixEvents extends eventemitter2_1.EventEmitter2 {
39
39
  address: '/vapix/ws-data-stream?sources=events',
40
40
  };
41
41
  this.ws = new WsClient_1.WsClient(options);
42
- this.ws.on('open', () => {
42
+ this.ws.onOpen = () => {
43
43
  const topics = [];
44
44
  const eventNames = this.eventNames();
45
45
  for (const eventName of eventNames) {
@@ -58,8 +58,8 @@ class VapixEvents extends eventemitter2_1.EventEmitter2 {
58
58
  },
59
59
  };
60
60
  this.ws.send(JSON.stringify(topicFilter));
61
- });
62
- this.ws.on('message', (data) => {
61
+ };
62
+ this.ws.onMessage = (data) => {
63
63
  const dataJSON = JSON.parse(data.toString());
64
64
  if (dataJSON.method === 'events:configure') {
65
65
  if (dataJSON.error === undefined) {
@@ -73,13 +73,13 @@ class VapixEvents extends eventemitter2_1.EventEmitter2 {
73
73
  }
74
74
  const eventName = dataJSON.params.notification.topic;
75
75
  this.emit(eventName, dataJSON);
76
- });
77
- this.ws.on('error', (error) => {
76
+ };
77
+ this.ws.onError = (error) => {
78
78
  this.emit('error', error);
79
- });
80
- this.ws.on('close', () => {
79
+ };
80
+ this.ws.onClose = () => {
81
81
  this.emit('close');
82
- });
82
+ };
83
83
  }
84
84
  isReservedEventName(eventName) {
85
85
  return eventName === 'open' || eventName === 'close' || eventName === 'error';
@@ -1,24 +1,11 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import * as EventEmitter from 'events';
4
- import { WsOptions } from '../internal/common';
5
- export type WsClientOptions = WsOptions & {
1
+ import { IWsClient, Options } from '../internal/types';
2
+ export type WsClientOptions = Options & {
6
3
  address: string;
7
4
  headers?: Record<string, string>;
8
5
  pingInterval?: number;
9
6
  protocol?: string;
10
7
  };
11
- export interface WsClient {
12
- on(event: 'open', listener: () => void): this;
13
- on(event: 'close', listener: () => void): this;
14
- on(event: 'message', listener: (data: Buffer) => void): this;
15
- on(event: 'error', listener: (err: Error) => void): this;
16
- emit(event: 'open'): boolean;
17
- emit(event: 'close'): boolean;
18
- emit(event: 'message', data: Buffer): boolean;
19
- emit(event: 'error', err: Error): boolean;
20
- }
21
- export declare class WsClient extends EventEmitter {
8
+ export declare class WsClient implements IWsClient {
22
9
  private user;
23
10
  private pass;
24
11
  private address;
@@ -32,8 +19,12 @@ export declare class WsClient extends EventEmitter {
32
19
  private isClosed;
33
20
  constructor(options: WsClientOptions);
34
21
  open(wwwAuthenticateHeader?: string): void;
35
- send(data: Buffer | string): void;
36
- close(): void;
22
+ onMessage: (_: ArrayBuffer | string) => void;
23
+ onOpen: () => void;
24
+ onClose: () => void;
25
+ onError: (error: Error) => void;
26
+ send(data: ArrayBuffer | string): void;
27
+ destroy(): void;
37
28
  reconnect(): void;
38
29
  private closeWsConnection;
39
30
  }
@@ -1,10 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WsClient = void 0;
4
- const EventEmitter = require("events");
5
- const WebSocket = require("ws");
6
- const Digest_1 = require("../internal/Digest");
7
- class WsClient extends EventEmitter {
4
+ const ws_1 = require("ws");
5
+ const Digest_1 = require("./Digest");
6
+ class WsClient {
8
7
  user;
9
8
  pass;
10
9
  address;
@@ -17,7 +16,6 @@ class WsClient extends EventEmitter {
17
16
  ws;
18
17
  isClosed = false;
19
18
  constructor(options) {
20
- super();
21
19
  const tls = options.tls ?? false;
22
20
  const tlsInsecure = options.tlsInsecure ?? false;
23
21
  const ip = options.ip ?? '127.0.0.1';
@@ -42,17 +40,17 @@ class WsClient extends EventEmitter {
42
40
  }
43
41
  this.isClosed = false;
44
42
  if (this.protocol === undefined) {
45
- this.ws = new WebSocket(this.address, this.wsOptions);
43
+ this.ws = new ws_1.WebSocket(this.address, this.wsOptions);
46
44
  }
47
45
  else {
48
- this.ws = new WebSocket(this.address, this.protocol, this.wsOptions);
46
+ this.ws = new ws_1.WebSocket(this.address, this.protocol, this.wsOptions);
49
47
  }
50
48
  this.ws.binaryType = 'arraybuffer';
51
49
  this.isAlive = true;
52
- this.pingTimer = setInterval(async () => {
53
- if ((this.ws && this.ws.readyState !== WebSocket.OPEN) || this.isAlive === false) {
54
- this.emit('error', new Error('Connection timeout'));
55
- await this.closeWsConnection();
50
+ this.pingTimer = setInterval(() => {
51
+ if ((this.ws && this.ws.readyState !== ws_1.WebSocket.OPEN) || this.isAlive === false) {
52
+ this.onError(new Error('Connection timeout'));
53
+ this.closeWsConnection();
56
54
  }
57
55
  else {
58
56
  this.isAlive = false;
@@ -75,23 +73,32 @@ class WsClient extends EventEmitter {
75
73
  this.open(res.headers['www-authenticate']);
76
74
  }
77
75
  else {
78
- this.emit('error', new Error('Status code: ' + res.statusCode));
76
+ this.onError(new Error('Status code: ' + res.statusCode));
79
77
  this.closeWsConnection();
80
78
  }
81
79
  });
82
- this.ws.on('open', () => this.emit('open'));
83
- this.ws.on('message', (data) => this.emit('message', data));
80
+ this.ws.on('open', () => this.onOpen());
81
+ this.ws.on('message', (data, isBinary) => {
82
+ const message = isBinary ? data : data.toString();
83
+ this.onMessage(message);
84
+ });
84
85
  this.ws.on('error', (error) => {
85
- this.emit('error', error);
86
+ this.onError(error);
86
87
  this.closeWsConnection();
87
88
  });
88
89
  this.ws.on('close', () => this.closeWsConnection());
89
90
  }
90
91
  catch (error) {
91
- this.emit('error', error instanceof Error ? error : new Error('Unknown error'));
92
+ this.onError(error instanceof Error ? error : new Error('Unknown error'));
92
93
  this.closeWsConnection();
93
94
  }
94
95
  }
96
+ onMessage = (_) => { };
97
+ onOpen = () => { };
98
+ onClose = () => { };
99
+ onError = (error) => {
100
+ console.error(error);
101
+ };
95
102
  send(data) {
96
103
  if (this.ws === undefined) {
97
104
  throw new Error("This websocket hasn't been opened yet.");
@@ -100,7 +107,7 @@ class WsClient extends EventEmitter {
100
107
  this.ws.send(data);
101
108
  }
102
109
  }
103
- close() {
110
+ destroy() {
104
111
  if (this.isClosed) {
105
112
  return;
106
113
  }
@@ -122,15 +129,15 @@ class WsClient extends EventEmitter {
122
129
  }
123
130
  wsCopy.removeAllListeners();
124
131
  wsCopy.on('error', () => { });
125
- if (wsCopy.readyState !== WebSocket.CLOSING && wsCopy.readyState !== WebSocket.CLOSED) {
132
+ if (wsCopy.readyState !== ws_1.WebSocket.CLOSING && wsCopy.readyState !== ws_1.WebSocket.CLOSED) {
126
133
  wsCopy.close();
127
134
  }
128
135
  setTimeout(() => {
129
- if (wsCopy.readyState !== WebSocket.CLOSED) {
136
+ if (wsCopy.readyState !== ws_1.WebSocket.CLOSED) {
130
137
  wsCopy.terminate();
131
138
  }
132
139
  }, 5000);
133
- this.emit('close');
140
+ this.onClose();
134
141
  }
135
142
  catch (err) {
136
143
  console.error(err);
@@ -0,0 +1,12 @@
1
+ import { HttpOptions } from '../../internal/types';
2
+ import { ProxyClient } from '../../internal/ProxyClient';
3
+ import { THttpRequestOptions, TProxyParams } from '../../types/common';
4
+ import { DefaultClient } from '../DefaultClient';
5
+ export declare class AxisCameraStationEvents {
6
+ private sourceKey;
7
+ private client;
8
+ constructor(clientOptions: HttpOptions, sourceKey: string);
9
+ getClient(proxyParams?: TProxyParams): DefaultClient | ProxyClient<DefaultClient>;
10
+ sendEvent(data: Record<string, string>, eventType: string, options?: THttpRequestOptions): Promise<void>;
11
+ private getDate;
12
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AxisCameraStationEvents = void 0;
4
+ const utils_1 = require("../../internal/utils");
5
+ const ProxyClient_1 = require("../../internal/ProxyClient");
6
+ const DefaultClient_1 = require("../DefaultClient");
7
+ class AxisCameraStationEvents {
8
+ sourceKey;
9
+ client;
10
+ constructor(clientOptions, sourceKey) {
11
+ this.sourceKey = sourceKey;
12
+ this.client = new DefaultClient_1.DefaultClient(clientOptions);
13
+ }
14
+ getClient(proxyParams) {
15
+ return proxyParams ? new ProxyClient_1.ProxyClient(this.client, proxyParams) : this.client;
16
+ }
17
+ async sendEvent(data, eventType, options) {
18
+ const dateString = this.getDate();
19
+ const event = {
20
+ addExternalDataRequest: {
21
+ occurrenceTime: dateString,
22
+ source: this.sourceKey,
23
+ externalDataType: eventType,
24
+ data: data,
25
+ },
26
+ };
27
+ const eventData = JSON.stringify(event);
28
+ const agent = this.getClient(options?.proxyParams);
29
+ const res = await agent.post({
30
+ path: '/Acs/Api/ExternalDataFacade/AddExternalData',
31
+ data: eventData,
32
+ headers: {
33
+ 'Content-Type': 'application/json',
34
+ 'Content-Length': eventData.length.toString(),
35
+ },
36
+ timeout: options?.timeout,
37
+ });
38
+ if (!res.ok) {
39
+ throw new Error(`ACS status code: ${res.status}`);
40
+ }
41
+ }
42
+ getDate() {
43
+ const date = new Date();
44
+ const year = date.getUTCFullYear();
45
+ const month = (0, utils_1.pad)(date.getUTCMonth() + 1, 2);
46
+ const day = (0, utils_1.pad)(date.getUTCDate(), 2);
47
+ const hours = (0, utils_1.pad)(date.getUTCHours(), 2);
48
+ const minutes = (0, utils_1.pad)(date.getUTCMinutes(), 2);
49
+ const seconds = (0, utils_1.pad)(date.getUTCSeconds(), 2);
50
+ return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
51
+ }
52
+ }
53
+ exports.AxisCameraStationEvents = AxisCameraStationEvents;
@@ -0,0 +1,16 @@
1
+ import { GenetecAgentOptions, TCameraDetail, TCameraGuidsResponse, TParams } from '../../types/GenetecAgent';
2
+ export declare class GenetecAgent {
3
+ private settings;
4
+ private baseUrl;
5
+ private credentials;
6
+ constructor(options?: GenetecAgentOptions);
7
+ checkConnection(): Promise<void>;
8
+ getAllCameraGuids(): Promise<TCameraGuidsResponse>;
9
+ getCameraDetails(guids: {
10
+ Guid: string;
11
+ }[], parameters: TParams): Promise<TCameraDetail[]>;
12
+ sendBookmark(guids: string[], bookmarkText: string): Promise<void>;
13
+ private getRequestOptions;
14
+ private getTimeStamp;
15
+ private fetchWithTimeout;
16
+ }