camstreamerlib 4.0.0-beta.9 → 4.0.0-beta.90

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 +64 -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 +61 -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,15 +1,15 @@
1
- import * as AdmZip from 'adm-zip';
2
- import * as Path from 'path';
1
+ import AdmZip from 'adm-zip';
2
+ import * as path from 'path';
3
3
  import * as fs from 'fs';
4
4
  import { execSync } from 'child_process';
5
5
  const productionModulesFolder = 'production_modules';
6
- function isDirectory(path) {
7
- const stat = fs.statSync(path);
6
+ function isDirectory(filePath) {
7
+ const stat = fs.statSync(filePath);
8
8
  return stat.isDirectory();
9
9
  }
10
10
  function getPackageInfo(folder) {
11
11
  try {
12
- const manifest = fs.readFileSync(Path.join(folder, 'manifest.json'));
12
+ const manifest = fs.readFileSync(path.join(folder, 'manifest.json'));
13
13
  const manifestParsed = JSON.parse(manifest.toString());
14
14
  return {
15
15
  packageName: manifestParsed.package_name,
@@ -21,11 +21,11 @@ function getPackageInfo(folder) {
21
21
  }
22
22
  }
23
23
  function createZipArchive(zip, folder, options) {
24
- const zipFileRegex = new RegExp(`${Path.basename(folder)}(_[0-9]){3}\\.zip`);
24
+ const zipFileRegex = new RegExp(`${path.basename(folder)}(_[0-9]){3}\\.zip`);
25
25
  const files = fs.readdirSync(folder);
26
26
  for (const file of files) {
27
- const path = Path.join(folder, file);
28
- const isDir = isDirectory(path);
27
+ const filePath = path.join(folder, file);
28
+ const isDir = isDirectory(filePath);
29
29
  if (file[0] === '.' ||
30
30
  zipFileRegex.test(file) ||
31
31
  file === 'node_modules' ||
@@ -34,16 +34,16 @@ function createZipArchive(zip, folder, options) {
34
34
  continue;
35
35
  }
36
36
  else if (file === 'dist' && options.typeScriptPackage) {
37
- zip.addLocalFolder(path);
37
+ zip.addLocalFolder(filePath);
38
38
  }
39
39
  else if (file === productionModulesFolder && options.includeNodeModules) {
40
- zip.addLocalFolder(Path.join(productionModulesFolder, 'node_modules'), 'node_modules');
40
+ zip.addLocalFolder(path.join(productionModulesFolder, 'node_modules'), 'node_modules');
41
41
  }
42
42
  else if (isDir) {
43
- zip.addLocalFolder(path, file);
43
+ zip.addLocalFolder(filePath, file);
44
44
  }
45
45
  else {
46
- zip.addLocalFile(path);
46
+ zip.addLocalFile(filePath);
47
47
  }
48
48
  }
49
49
  }
@@ -51,10 +51,10 @@ function installDependencies() {
51
51
  if (!fs.existsSync(productionModulesFolder)) {
52
52
  fs.mkdirSync(productionModulesFolder, {});
53
53
  }
54
- fs.cpSync('package.json', Path.join(productionModulesFolder, 'package.json'));
55
- fs.cpSync('package-lock.json', Path.join(productionModulesFolder, 'package-lock.json'));
54
+ fs.cpSync('package.json', path.join(productionModulesFolder, 'package.json'));
55
+ fs.cpSync('package-lock.json', path.join(productionModulesFolder, 'package-lock.json'));
56
56
  execSync(`npm ci --omit=dev`, {
57
- cwd: Path.join(process.cwd(), productionModulesFolder),
57
+ cwd: path.join(process.cwd(), productionModulesFolder),
58
58
  });
59
59
  }
60
60
  function main(args) {
@@ -81,7 +81,7 @@ function main(args) {
81
81
  if (fs.existsSync('dist')) {
82
82
  options.typeScriptPackage = true;
83
83
  }
84
- const folder = Path.resolve('.');
84
+ const folder = path.resolve('.');
85
85
  const packageInfo = getPackageInfo(folder);
86
86
  if (packageInfo === undefined) {
87
87
  console.error('Package info not found');
@@ -1,3 +1,11 @@
1
+ export class ErrorWithResponse extends Error {
2
+ res;
3
+ constructor(res) {
4
+ super(res.statusText);
5
+ this.res = res;
6
+ this.name = 'ErrorWithResponse';
7
+ }
8
+ }
1
9
  export class ServiceUnavailableError extends Error {
2
10
  constructor() {
3
11
  super('Service is unavailable.');
@@ -16,21 +24,43 @@ export class ParsingBlobError extends Error {
16
24
  this.name = 'ParsingBlobError';
17
25
  }
18
26
  }
27
+ export class JsonParseError extends Error {
28
+ constructor(paramName, data) {
29
+ super(`Error: in JSON parsing of ${paramName}. Cannot parse: ${data}`);
30
+ this.name = 'JsonParseError';
31
+ }
32
+ }
33
+ export class ParameterNotFoundError extends Error {
34
+ constructor(paramName) {
35
+ super(`Error: no parameter '${paramName}' was found`);
36
+ this.name = 'ParameterNotFoundError';
37
+ }
38
+ }
39
+ export class SettingParameterError extends Error {
40
+ constructor(message) {
41
+ super(`Error setting parameter to camera: ${message}`);
42
+ this.name = 'SettingParameterError';
43
+ }
44
+ }
19
45
  export class ApplicationAPIError extends Error {
20
- constructor(action, res) {
21
- super(`[APP ${action}] Error: ` + res);
46
+ action;
47
+ constructor(action, reason) {
48
+ super(`Error performing application action '${action}': ${reason}`);
49
+ this.action = action;
22
50
  this.name = 'ApplicationAPIError';
23
51
  }
24
52
  }
25
53
  export class SDCardActionError extends Error {
26
- constructor(action, res) {
27
- super(`[SD_CARD ${action}] Error: ` + res);
54
+ action;
55
+ constructor(action, reason) {
56
+ super(`Error performing SD card action '${action}': ${reason}`);
57
+ this.action = action;
28
58
  this.name = 'SDCardActionError';
29
59
  }
30
60
  }
31
61
  export class SDCardJobError extends Error {
32
- constructor() {
33
- super('Error while fetching SD card job progress');
62
+ constructor(reason) {
63
+ super(`Error while fetching SD card job progress: ${reason}`);
34
64
  this.name = 'SDCardJobError';
35
65
  }
36
66
  }
@@ -70,3 +100,87 @@ export class PtzNotSupportedError extends Error {
70
100
  this.name = 'PtzNotSupportedError';
71
101
  }
72
102
  }
103
+ export class StorageDataFetchError extends Error {
104
+ constructor(err) {
105
+ super('Error fetching storage data: ' + err);
106
+ this.name = 'StorageDataFetchError';
107
+ }
108
+ }
109
+ export class WsAuthorizationError extends Error {
110
+ constructor(message) {
111
+ super('Server error on ws authorization: ' + message);
112
+ this.name = 'WsAuthorizationError';
113
+ }
114
+ }
115
+ export class UtcTimeFetchError extends Error {
116
+ constructor(message) {
117
+ super('Server error on get UTC time: ' + message);
118
+ this.name = 'UtcTimeFetchError';
119
+ }
120
+ }
121
+ export class TimezoneNotSetupError extends Error {
122
+ constructor() {
123
+ super('Time zone not setup on the device');
124
+ this.name = 'TimezoneNotSetupError';
125
+ }
126
+ }
127
+ export class TimezoneFetchError extends Error {
128
+ constructor(err) {
129
+ super('Error fetching time zone information: ' + err);
130
+ this.name = 'TimezoneFetchError';
131
+ }
132
+ }
133
+ export class ResetCalibrationError extends ErrorWithResponse {
134
+ type;
135
+ constructor(type, res) {
136
+ super(res);
137
+ this.type = type;
138
+ this.name = 'ResetCalibrationError';
139
+ }
140
+ }
141
+ export class ImportSettingsError extends ErrorWithResponse {
142
+ constructor(res) {
143
+ super(res);
144
+ this.name = 'ImportSettingsError';
145
+ }
146
+ }
147
+ export class CannotSetCoordsInAutoModeError extends Error {
148
+ constructor() {
149
+ super("The automatic mode doesn't allow control of the camera.");
150
+ this.name = 'CannotSetCoordsInAutoModeError';
151
+ }
152
+ }
153
+ export class InvalidLatLngError extends Error {
154
+ constructor() {
155
+ super('The provided latitude or longitude parameters are invalid.');
156
+ this.name = 'InvalidLatLngError';
157
+ }
158
+ }
159
+ export class InvalidAltitudeError extends Error {
160
+ constructor() {
161
+ super('The provided altitude parameter is invalid.');
162
+ this.name = 'InvalidAltitudeError';
163
+ }
164
+ }
165
+ export class ServerError extends Error {
166
+ constructor() {
167
+ super('An internal server error occurred.');
168
+ this.name = 'ServerError';
169
+ }
170
+ }
171
+ export class BadRequestError extends ErrorWithResponse {
172
+ constructor(res) {
173
+ super(res);
174
+ this.name = 'BadRequestError';
175
+ }
176
+ }
177
+ export class MigrationError extends Error {
178
+ valid;
179
+ invalid;
180
+ constructor(valid, invalid) {
181
+ super('Migration to newer version is needed: some stream entries failed to parse.');
182
+ this.name = 'MigrationError';
183
+ this.valid = valid;
184
+ this.invalid = invalid;
185
+ }
186
+ }
package/esm/index.js CHANGED
@@ -1,14 +1,27 @@
1
- export * from './internal/common';
1
+ export * from './errors/errors';
2
+ export * from './internal/types';
2
3
  export * from './internal/constants';
3
4
  export * from './internal/utils';
4
5
  export * from './internal/versionCompare';
6
+ export * from './internal/ProxyClient';
5
7
  export * from './types/common';
6
- export { CamSwitcherAPI } from './CamSwitcherAPI';
7
- export { CamSwitcherEvents } from './CamSwitcherEvents';
8
- export { VapixAPI } from './VapixAPI';
8
+ export { CamStreamerAPI } from './CamStreamerAPI';
9
+ export * from './types/CamStreamerAPI';
10
+ export { CamStreamerEvents } from './ws/CamStreamerEvents';
11
+ export * from './types/ws/CamStreamerEvents';
9
12
  export { CamOverlayAPI } from './CamOverlayAPI';
10
- export * from './types/CamSwitcherEvents';
13
+ export * from './types/CamOverlayAPI';
14
+ export { CamOverlayEvents } from './ws/CamOverlayEvents';
15
+ export * from './types/ws/CamOverlayEvents';
16
+ export { CamSwitcherAPI } from './CamSwitcherAPI';
11
17
  export * from './types/CamSwitcherAPI';
18
+ export { CamSwitcherEvents } from './ws/CamSwitcherEvents';
19
+ export * from './types/ws/CamSwitcherEvents';
20
+ export { PlaneTrackerAPI } from './PlaneTrackerAPI';
21
+ export * from './types/PlaneTrackerAPI';
22
+ export { PlaneTrackerEvents } from './ws/PlaneTrackerEvents';
23
+ export * from './types/ws/PlaneTrackerEvents';
24
+ export { CamScripterAPI } from './CamScripterAPI';
25
+ export * from './types/CamScripterAPI';
26
+ export { VapixAPI } from './VapixAPI';
12
27
  export * from './types/VapixAPI';
13
- export * from './types/CamOverlayAPI';
14
- export * from './models/CamOverlayAPI';
@@ -1,42 +1,36 @@
1
1
  import { addParametersToPath } from './utils';
2
2
  export class ProxyClient {
3
3
  client;
4
- getProxyUrl;
5
- constructor(client, getProxyUrl) {
4
+ proxyParams;
5
+ constructor(client, proxyParams) {
6
6
  this.client = client;
7
- this.getProxyUrl = getProxyUrl;
7
+ this.proxyParams = proxyParams;
8
8
  }
9
- get = (proxy, ...args) => {
10
- const [path, parameters, headers] = args;
11
- const url = addParametersToPath(path, parameters);
12
- const { realUrl, realHeaders } = this.getReal(proxy, url, headers);
13
- return this.client.get(realUrl, {}, realHeaders);
14
- };
15
- post = (proxy, ...args) => {
16
- const [path, data, parameters, headers] = args;
17
- const url = addParametersToPath(path, parameters);
18
- const { realUrl, realHeaders } = this.getReal(proxy, url, headers);
19
- return this.client.post(realUrl, data, {}, realHeaders);
20
- };
21
- getReal = (proxy, url, headers) => {
22
- if (proxy !== null) {
23
- return {
24
- realUrl: this.getProxyUrl(),
25
- realHeaders: {
26
- ...(headers ?? {}),
27
- 'x-target-camera-protocol': proxy.port === 443 ? 'https' : 'http',
28
- 'x-target-camera-path': url,
29
- 'x-target-camera-ip': proxy.ip,
30
- 'x-target-camera-mdns': proxy.mdnsName,
31
- 'x-target-camera-port': String(proxy.port),
32
- 'x-target-camera-pass': encodeURIComponent(proxy.pass),
33
- 'x-target-camera-user': encodeURIComponent(proxy.user),
34
- },
35
- };
36
- }
9
+ get(params) {
10
+ const { path, parameters, headers, timeout } = params;
11
+ const targetPath = addParametersToPath(path, parameters);
12
+ const { realPath, realHeaders } = this.getReal(targetPath, headers);
13
+ return this.client.get({ path: realPath, headers: realHeaders, timeout });
14
+ }
15
+ post(params) {
16
+ const { path, data, parameters, headers, timeout } = params;
17
+ const targetPath = addParametersToPath(path, parameters);
18
+ const { realPath, realHeaders } = this.getReal(targetPath, headers);
19
+ return this.client.post({ path: realPath, data, headers: realHeaders, timeout });
20
+ }
21
+ getReal(targetPath, headers) {
37
22
  return {
38
- realUrl: url,
39
- realHeaders: headers,
23
+ realPath: this.proxyParams.path,
24
+ realHeaders: {
25
+ ...(headers ?? {}),
26
+ 'x-target-camera-protocol': this.proxyParams.target.port === 443 ? 'https' : 'http',
27
+ 'x-target-camera-path': targetPath,
28
+ 'x-target-camera-ip': this.proxyParams.target.ip,
29
+ 'x-target-camera-mdns': this.proxyParams.target.mdnsName,
30
+ 'x-target-camera-port': String(this.proxyParams.target.port),
31
+ 'x-target-camera-pass': this.proxyParams.target.pass,
32
+ 'x-target-camera-user': this.proxyParams.target.user,
33
+ },
40
34
  };
41
- };
35
+ }
42
36
  }
@@ -1,20 +1,21 @@
1
- import { cswEventsSchema, } from './types/CamSwitcherEvents';
2
- export class CamSwitcherEvents {
3
- isDestroyed = false;
4
- ws = null;
1
+ export class WsEvents {
2
+ validate;
3
+ ws;
4
+ _isDestroyed = false;
5
5
  listeners = {};
6
- setWebsocket(ws) {
7
- if (this.ws) {
8
- this.ws.destroy();
9
- }
6
+ constructor(validate, ws) {
7
+ this.validate = validate;
10
8
  this.ws = ws;
11
- this.ws.onmessage = (e) => this.onMessage(e);
9
+ this.ws.onMessage = (e) => this.onMessage(e);
10
+ }
11
+ get isDestroyed() {
12
+ return this._isDestroyed;
12
13
  }
13
14
  resendInitData() {
14
15
  const request = {
15
16
  command: 'sendInitData',
16
17
  };
17
- this.ws?.send(JSON.stringify(request));
18
+ this.ws.send(JSON.stringify(request));
18
19
  }
19
20
  addListener(type, listener, id) {
20
21
  const typeList = this.listeners[type];
@@ -28,23 +29,26 @@ export class CamSwitcherEvents {
28
29
  const typeList = this.listeners[type];
29
30
  if (typeList) {
30
31
  delete typeList[id];
32
+ if (Object.keys(typeList).length === 0) {
33
+ delete this.listeners[type];
34
+ }
31
35
  }
32
36
  }
33
- onMessage(evt) {
37
+ onMessage(incomeData) {
34
38
  if (this.isDestroyed) {
35
39
  return;
36
40
  }
37
41
  try {
38
- const eventData = JSON.parse(evt.data);
39
- const data = cswEventsSchema.parse(eventData);
40
- if (data.type === 'init') {
42
+ const eventData = JSON.parse(incomeData.toString());
43
+ const data = this.validate(eventData);
44
+ if (isInitEvent(data)) {
41
45
  this.processMessage(data.data, true);
42
46
  return;
43
47
  }
44
48
  this.processMessage(data, false);
45
49
  }
46
50
  catch (error) {
47
- console.error('Error parsing event data:', evt.data, error);
51
+ console.error('Error parsing event data:', incomeData.toString(), error);
48
52
  }
49
53
  }
50
54
  processMessage(event, isInit) {
@@ -53,11 +57,13 @@ export class CamSwitcherEvents {
53
57
  list.forEach((listener) => listener(event, isInit));
54
58
  }
55
59
  destroy() {
56
- this.isDestroyed = true;
57
- if (this.ws) {
58
- this.ws.destroy();
59
- this.ws = null;
60
- }
60
+ this._isDestroyed = true;
61
+ this.ws.onMessage = () => { };
62
+ this.ws.onOpen = () => Promise.reject(new Error('Websocket is destroyed'));
63
+ this.ws.destroy();
61
64
  this.listeners = {};
62
65
  }
63
66
  }
67
+ const isInitEvent = (event) => {
68
+ return event.type === 'init';
69
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -1,4 +1,3 @@
1
- import { isNullish } from './common';
2
1
  export const addParametersToPath = (path, params) => {
3
2
  if (params === undefined || Object.keys(params).length === 0) {
4
3
  return path;
@@ -32,3 +31,14 @@ export const isClip = (id) => id?.charAt(0) === 's';
32
31
  export const isTracker = (id) => id?.charAt(0) === 't';
33
32
  export const isPlaylist = (id) => id?.charAt(0) === 'p';
34
33
  export const isLoopPlayType = (playType) => playType.includes('LOOP');
34
+ export function pad(num, size) {
35
+ const sign = Math.sign(num) === -1 ? '-' : '';
36
+ return (sign +
37
+ new Array(size)
38
+ .concat([Math.abs(num)])
39
+ .join('0')
40
+ .slice(-size));
41
+ }
42
+ export function isNullish(value) {
43
+ return value === null || value === undefined;
44
+ }
@@ -1,5 +1,5 @@
1
- import * as EventEmitter from 'events';
2
- import { WsClient } from './node/WsClient';
1
+ import { EventEmitter } from 'events';
2
+ import { WsClient } from './WsClient';
3
3
  export class CamOverlayDrawingAPI extends EventEmitter {
4
4
  tls;
5
5
  tlsInsecure;
@@ -41,7 +41,7 @@ export class CamOverlayDrawingAPI extends EventEmitter {
41
41
  this.startMsgsTimeoutCheck();
42
42
  }
43
43
  disconnect() {
44
- this.ws.close();
44
+ this.ws.destroy();
45
45
  this.stopMsgsTimeoutCheck();
46
46
  }
47
47
  isConnected() {
@@ -98,23 +98,23 @@ export class CamOverlayDrawingAPI extends EventEmitter {
98
98
  tlsInsecure: this.tlsInsecure,
99
99
  };
100
100
  this.ws = new WsClient(options);
101
- this.ws.on('open', () => {
101
+ this.ws.onOpen = () => {
102
102
  console.log('CamOverlay connection opened');
103
103
  this.wsConnected = true;
104
104
  this.emit('open');
105
- });
106
- this.ws.on('message', (msgData) => this.incomingWsMessageHandler(msgData));
107
- this.ws.on('error', (error) => {
105
+ };
106
+ this.ws.onMessage = (data) => this.incomingWsMessageHandler(data.toString());
107
+ this.ws.onError = (error) => {
108
108
  this.reportError(error);
109
- });
110
- this.ws.on('close', () => {
109
+ };
110
+ this.ws.onClose = () => {
111
111
  console.log('CamOverlay connection closed');
112
112
  this.wsConnected = false;
113
113
  this.reportClose();
114
- });
114
+ };
115
115
  }
116
116
  incomingWsMessageHandler(msgData) {
117
- const dataJSON = JSON.parse(msgData.toString());
117
+ const dataJSON = JSON.parse(msgData);
118
118
  let errorResponse;
119
119
  if ('error' in dataJSON) {
120
120
  errorResponse = dataJSON;
@@ -165,13 +165,21 @@ export class CamOverlayDrawingAPI extends EventEmitter {
165
165
  throw new Error('No CamOverlay connection');
166
166
  }
167
167
  msgJson.call_id = ++this.callId;
168
- const jsonBuffer = Buffer.from(JSON.stringify(msgJson));
169
- const header = new ArrayBuffer(5);
170
- const headerView = new DataView(header);
171
- headerView.setInt8(0, 1);
172
- headerView.setInt32(1, jsonBuffer.byteLength);
173
- const msgBuffer = Buffer.concat([Buffer.from(header), jsonBuffer, data]);
174
- this.ws.send(msgBuffer);
168
+ const jsonString = JSON.stringify(msgJson);
169
+ const jsonByteLength = Buffer.byteLength(jsonString);
170
+ const headerLength = 5;
171
+ const totalLength = headerLength + jsonByteLength + data.byteLength;
172
+ const arrayBuffer = new ArrayBuffer(totalLength);
173
+ const view = new DataView(arrayBuffer);
174
+ view.setInt8(0, 1);
175
+ view.setInt32(1, jsonByteLength);
176
+ const jsonBuffer = new Uint8Array(arrayBuffer, 5, jsonByteLength);
177
+ for (let i = 0; i < jsonString.length; i++) {
178
+ jsonBuffer[i] = jsonString.charCodeAt(i);
179
+ }
180
+ const dataBuffer = new Uint8Array(arrayBuffer, 5 + jsonByteLength, data.byteLength);
181
+ data.copy(dataBuffer);
182
+ this.ws.send(arrayBuffer);
175
183
  this.sendMessages[this.callId] = { resolve, reject, sentTimestamp: Date.now() };
176
184
  }
177
185
  catch (err) {
@@ -54,6 +54,14 @@ export class Frame extends EventEmitter {
54
54
  this.width = width;
55
55
  this.height = height;
56
56
  }
57
+ getFrameInfo() {
58
+ return {
59
+ x: this.posX,
60
+ y: this.posY,
61
+ width: this.width,
62
+ height: this.height,
63
+ };
64
+ }
57
65
  setText(text, align, textType = 'TFM_OVERFLOW', fontColor) {
58
66
  this.text = text;
59
67
  this.align = align;
@@ -73,6 +81,16 @@ export class Frame extends EventEmitter {
73
81
  this.fontName = undefined;
74
82
  this.font = fontData;
75
83
  }
84
+ getTextInfo() {
85
+ return {
86
+ text: this.text,
87
+ textAlign: this.align,
88
+ textType: this.textType,
89
+ fontColor: this.fontColor,
90
+ font: this.font,
91
+ fontName: this.fontName,
92
+ };
93
+ }
76
94
  setBgColor(color) {
77
95
  this.bgColor = color;
78
96
  }
@@ -89,6 +107,14 @@ export class Frame extends EventEmitter {
89
107
  setBgType(type) {
90
108
  this.bgType = type;
91
109
  }
110
+ getBgInfo() {
111
+ return {
112
+ bgColor: this.bgColor,
113
+ bgImage: this.bgImage,
114
+ bgImageName: this.bgImageName,
115
+ bgType: this.bgType,
116
+ };
117
+ }
92
118
  setBorderRadius(radius) {
93
119
  this.borderRadius = radius;
94
120
  }
@@ -98,6 +124,13 @@ export class Frame extends EventEmitter {
98
124
  setBorderColor(color) {
99
125
  this.borderColor = color;
100
126
  }
127
+ getBorderInfo() {
128
+ return {
129
+ borderRadius: this.borderRadius,
130
+ borderWidth: this.borderWidth,
131
+ borderColor: this.borderColor,
132
+ };
133
+ }
101
134
  setCustomDraw(customDraw) {
102
135
  this.customDraw = customDraw;
103
136
  }
@@ -1,17 +1,7 @@
1
1
  import { CamOverlayDrawingAPI } from '../CamOverlayDrawingAPI';
2
- import ResourceManager from './ResourceManager';
2
+ import { ResourceManager } from './ResourceManager';
3
3
  import { Frame } from './Frame';
4
- export const COORD = {
5
- top_left: [-1, -1],
6
- center_left: [-1, 0],
7
- bottom_left: [-1, 1],
8
- top_center: [0, -1],
9
- center: [0, 0],
10
- bottom_center: [0, 1],
11
- top_right: [1, -1],
12
- center_right: [1, 0],
13
- bottom_right: [1, 1],
14
- };
4
+ import { COORD } from '../../types/CamOverlayPainter';
15
5
  export class Painter extends Frame {
16
6
  screenWidth;
17
7
  screenHeight;
@@ -163,4 +153,3 @@ export class Painter extends Frame {
163
153
  }
164
154
  }
165
155
  }
166
- export { Frame, ResourceManager };
@@ -1,5 +1,5 @@
1
1
  import * as fs from 'fs/promises';
2
- export default class ResourceManager {
2
+ export class ResourceManager {
3
3
  co;
4
4
  imgFileNames = {};
5
5
  fontFileNames = {};
@@ -18,8 +18,9 @@ export default class ResourceManager {
18
18
  if (this.images[moniker] !== undefined) {
19
19
  return this.images[moniker];
20
20
  }
21
- if (this.imgFileNames[moniker] !== undefined) {
22
- const imgData = await fs.readFile(this.imgFileNames[moniker]);
21
+ const path = this.imgFileNames[moniker];
22
+ if (path !== undefined) {
23
+ const imgData = await fs.readFile(path);
23
24
  this.images[moniker] = await this.co.uploadImageData(imgData);
24
25
  return this.images[moniker];
25
26
  }
@@ -29,8 +30,9 @@ export default class ResourceManager {
29
30
  if (this.fonts[moniker] !== undefined) {
30
31
  return this.fonts[moniker];
31
32
  }
32
- if (this.fontFileNames[moniker] !== undefined) {
33
- const fontData = await fs.readFile(this.fontFileNames[moniker]);
33
+ const path = this.fontFileNames[moniker];
34
+ if (path !== undefined) {
35
+ const fontData = await fs.readFile(path);
34
36
  this.fonts[moniker] = await this.co.uploadFontData(fontData);
35
37
  return this.fonts[moniker];
36
38
  }