camstreamerlib 4.0.0-beta.16 → 4.0.0-beta.161

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 (361) hide show
  1. package/README.md +143 -38
  2. package/cjs/CamOverlayAPI.d.ts +603 -327
  3. package/cjs/CamOverlayAPI.js +99 -184
  4. package/cjs/CamScripterAPI.d.ts +41 -17
  5. package/cjs/CamScripterAPI.js +54 -56
  6. package/cjs/CamStreamerAPI.d.ts +3557 -14
  7. package/cjs/CamStreamerAPI.js +174 -52
  8. package/cjs/CamSwitcherAPI.d.ts +158 -42
  9. package/cjs/CamSwitcherAPI.js +148 -189
  10. package/cjs/PlaneTrackerAPI.d.ts +238 -29
  11. package/cjs/PlaneTrackerAPI.js +187 -101
  12. package/cjs/VapixAPI.d.ts +97 -44
  13. package/cjs/VapixAPI.js +400 -207
  14. package/cjs/{CreatePackage.js → bin/CreatePackage.js} +44 -18
  15. package/cjs/errors/errors.d.ts +75 -4
  16. package/cjs/errors/errors.js +142 -7
  17. package/cjs/index.d.ts +20 -9
  18. package/cjs/index.js +28 -14
  19. package/cjs/internal/BasicAPI.d.ts +15 -0
  20. package/cjs/internal/BasicAPI.js +93 -0
  21. package/cjs/internal/ProxyClient.d.ts +8 -9
  22. package/cjs/internal/ProxyClient.js +28 -34
  23. package/cjs/internal/WsEvents.d.ts +38 -0
  24. package/cjs/{CamSwitcherEvents.js → internal/WsEvents.js} +33 -22
  25. package/cjs/internal/constants.d.ts +1 -0
  26. package/cjs/internal/constants.js +2 -1
  27. package/cjs/internal/convertors.d.ts +6 -0
  28. package/cjs/internal/convertors.js +115 -0
  29. package/cjs/internal/transformers.js +8 -8
  30. package/cjs/internal/types.d.ts +32 -20
  31. package/cjs/internal/utils.d.ts +1 -3
  32. package/cjs/internal/utils.js +1 -12
  33. package/cjs/internal/versionCompare.d.ts +2 -2
  34. package/cjs/node/CamOverlayDrawingAPI.d.ts +41 -0
  35. package/cjs/{CamOverlayDrawingAPI.js → node/CamOverlayDrawingAPI.js} +28 -20
  36. package/{esm → cjs/node}/CamOverlayPainter/Frame.d.ts +8 -37
  37. package/cjs/{CamOverlayPainter → node/CamOverlayPainter}/Frame.js +33 -0
  38. package/cjs/{CamOverlayPainter → node/CamOverlayPainter}/Painter.d.ts +5 -21
  39. package/cjs/{CamOverlayPainter → node/CamOverlayPainter}/Painter.js +5 -17
  40. package/cjs/node/CamOverlayPainter/ResourceManager.d.ts +15 -0
  41. package/cjs/node/CamOverlayPainter/ResourceManager.js +72 -0
  42. package/cjs/node/CamScripterAPICameraEventsGenerator.d.ts +31 -0
  43. package/cjs/{CamScripterAPICameraEventsGenerator.js → node/CamScripterAPICameraEventsGenerator.js} +13 -13
  44. package/cjs/node/DefaultClient.d.ts +6 -6
  45. package/cjs/node/DefaultClient.js +12 -16
  46. package/cjs/{internal → node}/Digest.js +24 -1
  47. package/cjs/node/Digest.test.js +13 -0
  48. package/cjs/node/HttpRequestSender.d.ts +1 -0
  49. package/cjs/node/HttpRequestSender.js +14 -4
  50. package/cjs/node/HttpServer.d.ts +1 -1
  51. package/cjs/node/HttpServer.js +29 -6
  52. package/cjs/node/TimeZoneDaemon.d.ts +6 -0
  53. package/cjs/node/TimeZoneDaemon.js +29 -0
  54. package/cjs/node/VapixEvents.d.ts +16 -0
  55. package/cjs/{VapixEvents.js → node/VapixEvents.js} +10 -10
  56. package/cjs/node/WsClient.d.ts +9 -18
  57. package/cjs/node/WsClient.js +27 -20
  58. package/cjs/node/events/AxisCameraStationEvents.d.ts +12 -0
  59. package/cjs/{events → node/events}/AxisCameraStationEvents.js +18 -13
  60. package/cjs/node/events/GenetecAgent.d.ts +16 -0
  61. package/cjs/node/events/GenetecAgent.js +124 -0
  62. package/cjs/node/index.d.ts +18 -2
  63. package/cjs/node/index.js +39 -5
  64. package/cjs/{models/CamOverlayAPI/widgetsSchema.d.ts → types/CamOverlayAPI/CamOverlayAPI.d.ts} +2794 -767
  65. package/cjs/types/CamOverlayAPI/CamOverlayAPI.js +135 -0
  66. package/cjs/{models → types}/CamOverlayAPI/accuweatherSchema.d.ts +19 -19
  67. package/cjs/{models → types}/CamOverlayAPI/accuweatherSchema.js +7 -8
  68. package/cjs/{models → types}/CamOverlayAPI/customGraphicsSchema.d.ts +108 -107
  69. package/cjs/{models → types}/CamOverlayAPI/customGraphicsSchema.js +5 -6
  70. package/cjs/types/CamOverlayAPI/htmlOverlaySchema.d.ts +81 -0
  71. package/cjs/types/CamOverlayAPI/htmlOverlaySchema.js +21 -0
  72. package/{esm/models → cjs/types}/CamOverlayAPI/imagesSchema.d.ts +19 -19
  73. package/cjs/types/CamOverlayAPI/imagesSchema.js +9 -0
  74. package/cjs/{models → types}/CamOverlayAPI/index.d.ts +3 -4
  75. package/cjs/{models → types}/CamOverlayAPI/index.js +3 -4
  76. package/cjs/{models → types}/CamOverlayAPI/infotickerSchema.d.ts +27 -27
  77. package/cjs/{models → types}/CamOverlayAPI/infotickerSchema.js +6 -7
  78. package/{esm/models → cjs/types}/CamOverlayAPI/pipSchema.d.ts +21 -21
  79. package/cjs/{models → types}/CamOverlayAPI/pipSchema.js +5 -6
  80. package/{esm/models → cjs/types}/CamOverlayAPI/ptzCompassSchema.d.ts +18 -15
  81. package/cjs/{models → types}/CamOverlayAPI/ptzCompassSchema.js +5 -5
  82. package/cjs/{models → types}/CamOverlayAPI/ptzSchema.d.ts +28 -28
  83. package/cjs/types/CamOverlayAPI/ptzSchema.js +12 -0
  84. package/cjs/types/CamOverlayAPI/scoreBoardSchema.d.ts +357 -0
  85. package/cjs/types/CamOverlayAPI/scoreBoardSchema.js +132 -0
  86. package/{esm/models → cjs/types}/CamOverlayAPI/screenSharingSchema.d.ts +15 -15
  87. package/cjs/types/CamOverlayAPI/screenSharingSchema.js +8 -0
  88. package/{esm/models/CamOverlayAPI/widgetCommonSchema.d.ts → cjs/types/CamOverlayAPI/serviceCommonTypes.d.ts} +80 -60
  89. package/cjs/{models/CamOverlayAPI/widgetCommonSchema.js → types/CamOverlayAPI/serviceCommonTypes.js} +39 -21
  90. package/{esm/models → cjs/types}/CamOverlayAPI/webCameraSharingSchema.d.ts +15 -15
  91. package/cjs/types/CamOverlayAPI/webCameraSharingSchema.js +8 -0
  92. package/cjs/types/CamOverlayDrawingAPI.d.ts +48 -0
  93. package/cjs/types/CamOverlayDrawingAPI.js +2 -0
  94. package/cjs/types/CamOverlayPainter.d.ts +76 -0
  95. package/cjs/types/CamOverlayPainter.js +14 -0
  96. package/cjs/types/CamScripterAPI.d.ts +75 -23
  97. package/cjs/types/CamScripterAPI.js +20 -8
  98. package/cjs/types/CamScripterAPICameraEventsGenerator.d.ts +45 -0
  99. package/cjs/types/CamScripterAPICameraEventsGenerator.js +2 -0
  100. package/cjs/types/CamStreamerAPI/CamStreamerAPI.d.ts +26085 -0
  101. package/cjs/types/CamStreamerAPI/CamStreamerAPI.js +222 -0
  102. package/cjs/types/CamStreamerAPI/facebookSchema.d.ts +574 -0
  103. package/cjs/types/CamStreamerAPI/facebookSchema.js +23 -0
  104. package/cjs/types/CamStreamerAPI/index.d.ts +6 -0
  105. package/cjs/types/CamStreamerAPI/index.js +22 -0
  106. package/cjs/types/{CamStreamerAPI.d.ts → CamStreamerAPI/oldStreamSchema.d.ts} +104 -35
  107. package/cjs/types/CamStreamerAPI/oldStreamSchema.js +53 -0
  108. package/cjs/types/CamStreamerAPI/streamCommonTypes.d.ts +570 -0
  109. package/cjs/types/CamStreamerAPI/streamCommonTypes.js +123 -0
  110. package/cjs/types/CamStreamerAPI/streamsSchema.d.ts +8642 -0
  111. package/cjs/types/CamStreamerAPI/streamsSchema.js +81 -0
  112. package/cjs/types/CamStreamerAPI/windySchema.d.ts +534 -0
  113. package/cjs/types/CamStreamerAPI/windySchema.js +19 -0
  114. package/cjs/types/CamStreamerAPI/youtubeSchema.d.ts +542 -0
  115. package/cjs/types/CamStreamerAPI/youtubeSchema.js +22 -0
  116. package/cjs/types/CamSwitcherAPI.d.ts +205 -121
  117. package/cjs/types/CamSwitcherAPI.js +38 -1
  118. package/cjs/{events → types}/GenetecAgent.d.ts +47 -47
  119. package/cjs/types/GenetecAgent.js +31 -0
  120. package/cjs/types/PlaneTrackerAPI.d.ts +993 -0
  121. package/cjs/types/PlaneTrackerAPI.js +336 -0
  122. package/cjs/types/VapixAPI.d.ts +281 -22
  123. package/cjs/types/VapixAPI.js +74 -4
  124. package/cjs/types/VapixEvents.d.ts +15 -0
  125. package/cjs/types/VapixEvents.js +2 -0
  126. package/cjs/types/common.d.ts +43 -3
  127. package/cjs/types/common.js +17 -2
  128. package/cjs/types/ws/CamOverlayEvents.d.ts +88 -0
  129. package/cjs/types/ws/CamOverlayEvents.js +19 -0
  130. package/cjs/types/ws/CamStreamerEvents.d.ts +282 -0
  131. package/cjs/types/ws/CamStreamerEvents.js +36 -0
  132. package/cjs/types/ws/PlaneTrackerEvents.d.ts +1703 -0
  133. package/cjs/types/ws/PlaneTrackerEvents.js +207 -0
  134. package/cjs/web/DefaultClient.d.ts +7 -5
  135. package/cjs/web/DefaultClient.js +25 -11
  136. package/cjs/web/WsClient.d.ts +9 -5
  137. package/cjs/web/WsClient.js +16 -18
  138. package/cjs/ws/CamOverlayEvents.d.ts +8 -0
  139. package/cjs/ws/CamOverlayEvents.js +24 -0
  140. package/cjs/ws/CamStreamerEvents.d.ts +8 -0
  141. package/cjs/ws/CamStreamerEvents.js +24 -0
  142. package/cjs/ws/CamSwitcherEvents.d.ts +8 -0
  143. package/cjs/ws/CamSwitcherEvents.js +24 -0
  144. package/cjs/ws/PlaneTrackerEvents.d.ts +9 -0
  145. package/cjs/ws/PlaneTrackerEvents.js +30 -0
  146. package/esm/CamOverlayAPI.js +99 -184
  147. package/esm/CamScripterAPI.js +52 -57
  148. package/esm/CamStreamerAPI.js +172 -51
  149. package/esm/CamSwitcherAPI.js +151 -192
  150. package/esm/PlaneTrackerAPI.js +186 -100
  151. package/esm/VapixAPI.js +402 -209
  152. package/esm/{CreatePackage.js → bin/CreatePackage.js} +16 -16
  153. package/esm/errors/errors.js +124 -6
  154. package/esm/index.js +20 -9
  155. package/esm/internal/BasicAPI.js +89 -0
  156. package/esm/internal/ProxyClient.js +28 -34
  157. package/esm/{CamSwitcherEvents.js → internal/WsEvents.js} +31 -20
  158. package/esm/internal/constants.js +1 -0
  159. package/esm/internal/convertors.js +108 -0
  160. package/esm/internal/transformers.js +1 -1
  161. package/esm/internal/utils.js +0 -9
  162. package/esm/{CamOverlayDrawingAPI.js → node/CamOverlayDrawingAPI.js} +26 -18
  163. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/Frame.js +33 -0
  164. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/Painter.js +2 -13
  165. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/ResourceManager.js +7 -5
  166. package/esm/{CamScripterAPICameraEventsGenerator.js → node/CamScripterAPICameraEventsGenerator.js} +11 -11
  167. package/esm/node/DefaultClient.js +12 -16
  168. package/esm/node/Digest.test.js +11 -0
  169. package/esm/node/HttpRequestSender.js +14 -4
  170. package/esm/node/HttpServer.js +1 -1
  171. package/esm/node/TimeZoneDaemon.js +25 -0
  172. package/esm/{VapixEvents.js → node/VapixEvents.js} +10 -10
  173. package/esm/node/WsClient.js +22 -15
  174. package/esm/{events → node/events}/AxisCameraStationEvents.js +18 -13
  175. package/esm/node/events/GenetecAgent.js +120 -0
  176. package/esm/node/index.js +18 -2
  177. package/esm/types/CamOverlayAPI/CamOverlayAPI.js +113 -0
  178. package/esm/{models → types}/CamOverlayAPI/accuweatherSchema.js +3 -4
  179. package/esm/{models → types}/CamOverlayAPI/customGraphicsSchema.js +3 -4
  180. package/esm/types/CamOverlayAPI/htmlOverlaySchema.js +18 -0
  181. package/esm/types/CamOverlayAPI/imagesSchema.js +6 -0
  182. package/esm/{models → types}/CamOverlayAPI/index.js +3 -4
  183. package/esm/{models → types}/CamOverlayAPI/infotickerSchema.js +3 -4
  184. package/esm/{models → types}/CamOverlayAPI/pipSchema.js +4 -5
  185. package/esm/{models → types}/CamOverlayAPI/ptzCompassSchema.js +4 -4
  186. package/esm/types/CamOverlayAPI/ptzSchema.js +9 -0
  187. package/esm/types/CamOverlayAPI/scoreBoardSchema.js +129 -0
  188. package/esm/types/CamOverlayAPI/screenSharingSchema.js +5 -0
  189. package/esm/{models/CamOverlayAPI/widgetCommonSchema.js → types/CamOverlayAPI/serviceCommonTypes.js} +38 -20
  190. package/esm/types/CamOverlayAPI/webCameraSharingSchema.js +5 -0
  191. package/esm/types/CamOverlayDrawingAPI.js +1 -0
  192. package/esm/types/CamOverlayPainter.js +11 -0
  193. package/esm/types/CamScripterAPI.js +19 -7
  194. package/esm/types/CamScripterAPICameraEventsGenerator.js +1 -0
  195. package/esm/types/CamStreamerAPI/CamStreamerAPI.js +199 -0
  196. package/esm/types/CamStreamerAPI/facebookSchema.js +17 -0
  197. package/esm/types/CamStreamerAPI/index.js +6 -0
  198. package/esm/types/CamStreamerAPI/oldStreamSchema.js +50 -0
  199. package/esm/types/CamStreamerAPI/streamCommonTypes.js +120 -0
  200. package/esm/types/CamStreamerAPI/streamsSchema.js +75 -0
  201. package/esm/types/CamStreamerAPI/windySchema.js +13 -0
  202. package/esm/types/CamStreamerAPI/youtubeSchema.js +16 -0
  203. package/esm/types/CamSwitcherAPI.js +38 -1
  204. package/esm/types/GenetecAgent.js +28 -0
  205. package/esm/types/PlaneTrackerAPI.js +333 -0
  206. package/esm/types/VapixAPI.js +73 -3
  207. package/esm/types/VapixEvents.js +1 -0
  208. package/esm/types/common.js +16 -1
  209. package/esm/types/ws/CamOverlayEvents.js +16 -0
  210. package/esm/types/ws/CamStreamerEvents.js +33 -0
  211. package/esm/types/ws/PlaneTrackerEvents.js +204 -0
  212. package/esm/web/DefaultClient.js +25 -11
  213. package/esm/web/WsClient.js +16 -18
  214. package/esm/ws/CamOverlayEvents.js +20 -0
  215. package/esm/ws/CamStreamerEvents.js +20 -0
  216. package/esm/ws/CamSwitcherEvents.js +20 -0
  217. package/esm/ws/PlaneTrackerEvents.js +26 -0
  218. package/package.json +46 -12
  219. package/{esm → types}/CamOverlayAPI.d.ts +603 -327
  220. package/types/CamScripterAPI.d.ts +43 -0
  221. package/types/CamStreamerAPI.d.ts +3559 -0
  222. package/types/CamSwitcherAPI.d.ts +168 -0
  223. package/types/PlaneTrackerAPI.d.ts +239 -0
  224. package/types/VapixAPI.d.ts +131 -0
  225. package/types/bin/CreatePackage.d.ts +1 -0
  226. package/types/errors/errors.d.ts +108 -0
  227. package/types/index.d.ts +28 -0
  228. package/types/internal/BasicAPI.d.ts +15 -0
  229. package/types/internal/ProxyClient.d.ts +10 -0
  230. package/types/internal/WsEvents.d.ts +38 -0
  231. package/{esm → types}/internal/constants.d.ts +1 -0
  232. package/types/internal/convertors.d.ts +6 -0
  233. package/types/internal/types.d.ts +47 -0
  234. package/{esm → types}/internal/utils.d.ts +1 -3
  235. package/{esm → types}/internal/versionCompare.d.ts +2 -2
  236. package/types/node/CamOverlayDrawingAPI.d.ts +41 -0
  237. package/{cjs → types/node}/CamOverlayPainter/Frame.d.ts +8 -37
  238. package/{esm → types/node}/CamOverlayPainter/Painter.d.ts +5 -21
  239. package/types/node/CamOverlayPainter/ResourceManager.d.ts +15 -0
  240. package/types/node/CamScripterAPICameraEventsGenerator.d.ts +31 -0
  241. package/types/node/DefaultClient.d.ts +16 -0
  242. package/types/node/Digest.test.d.ts +1 -0
  243. package/{esm → types}/node/HttpRequestSender.d.ts +1 -0
  244. package/{esm → types}/node/HttpServer.d.ts +1 -1
  245. package/types/node/TimeZoneDaemon.d.ts +6 -0
  246. package/types/node/VapixEvents.d.ts +16 -0
  247. package/types/node/WsClient.d.ts +30 -0
  248. package/types/node/events/AxisCameraStationEvents.d.ts +12 -0
  249. package/types/node/events/GenetecAgent.d.ts +16 -0
  250. package/types/node/index.d.ts +18 -0
  251. package/{esm/models/CamOverlayAPI/widgetsSchema.d.ts → types/types/CamOverlayAPI/CamOverlayAPI.d.ts} +2794 -767
  252. package/{esm/models → types/types}/CamOverlayAPI/accuweatherSchema.d.ts +19 -19
  253. package/{esm/models → types/types}/CamOverlayAPI/customGraphicsSchema.d.ts +108 -107
  254. package/types/types/CamOverlayAPI/htmlOverlaySchema.d.ts +81 -0
  255. package/{cjs/models → types/types}/CamOverlayAPI/imagesSchema.d.ts +19 -19
  256. package/{esm/models → types/types}/CamOverlayAPI/index.d.ts +3 -4
  257. package/{esm/models → types/types}/CamOverlayAPI/infotickerSchema.d.ts +27 -27
  258. package/{cjs/models → types/types}/CamOverlayAPI/pipSchema.d.ts +21 -21
  259. package/{cjs/models → types/types}/CamOverlayAPI/ptzCompassSchema.d.ts +18 -15
  260. package/{esm/models → types/types}/CamOverlayAPI/ptzSchema.d.ts +28 -28
  261. package/types/types/CamOverlayAPI/scoreBoardSchema.d.ts +357 -0
  262. package/{cjs/models → types/types}/CamOverlayAPI/screenSharingSchema.d.ts +15 -15
  263. package/{cjs/models/CamOverlayAPI/widgetCommonSchema.d.ts → types/types/CamOverlayAPI/serviceCommonTypes.d.ts} +80 -60
  264. package/{cjs/models → types/types}/CamOverlayAPI/webCameraSharingSchema.d.ts +15 -15
  265. package/types/types/CamOverlayDrawingAPI.d.ts +48 -0
  266. package/types/types/CamOverlayPainter.d.ts +76 -0
  267. package/types/types/CamScripterAPI.d.ts +119 -0
  268. package/types/types/CamScripterAPICameraEventsGenerator.d.ts +45 -0
  269. package/types/types/CamStreamerAPI/CamStreamerAPI.d.ts +26085 -0
  270. package/types/types/CamStreamerAPI/facebookSchema.d.ts +574 -0
  271. package/types/types/CamStreamerAPI/index.d.ts +6 -0
  272. package/{esm/types/CamStreamerAPI.d.ts → types/types/CamStreamerAPI/oldStreamSchema.d.ts} +104 -35
  273. package/types/types/CamStreamerAPI/streamCommonTypes.d.ts +570 -0
  274. package/types/types/CamStreamerAPI/streamsSchema.d.ts +8642 -0
  275. package/types/types/CamStreamerAPI/windySchema.d.ts +534 -0
  276. package/types/types/CamStreamerAPI/youtubeSchema.d.ts +542 -0
  277. package/{esm → types}/types/CamSwitcherAPI.d.ts +205 -121
  278. package/{esm/events → types/types}/GenetecAgent.d.ts +47 -47
  279. package/types/types/PlaneTrackerAPI.d.ts +993 -0
  280. package/{esm → types}/types/VapixAPI.d.ts +281 -22
  281. package/types/types/VapixEvents.d.ts +15 -0
  282. package/types/types/common.d.ts +77 -0
  283. package/types/types/ws/CamOverlayEvents.d.ts +88 -0
  284. package/types/types/ws/CamStreamerEvents.d.ts +282 -0
  285. package/types/types/ws/PlaneTrackerEvents.d.ts +1703 -0
  286. package/types/web/DefaultClient.d.ts +8 -0
  287. package/types/web/WsClient.d.ts +17 -0
  288. package/types/ws/CamOverlayEvents.d.ts +8 -0
  289. package/types/ws/CamStreamerEvents.d.ts +8 -0
  290. package/types/ws/CamSwitcherEvents.d.ts +8 -0
  291. package/types/ws/PlaneTrackerEvents.d.ts +9 -0
  292. package/cjs/CamOverlayDrawingAPI.d.ts +0 -86
  293. package/cjs/CamOverlayPainter/ResourceManager.d.ts +0 -14
  294. package/cjs/CamOverlayPainter/ResourceManager.js +0 -46
  295. package/cjs/CamScripterAPICameraEventsGenerator.d.ts +0 -74
  296. package/cjs/CamSwitcherEvents.d.ts +0 -18
  297. package/cjs/VapixEvents.d.ts +0 -43
  298. package/cjs/events/AxisCameraStationEvents.d.ts +0 -10
  299. package/cjs/events/GenetecAgent.js +0 -123
  300. package/cjs/models/CamOverlayAPI/constants.d.ts +0 -11
  301. package/cjs/models/CamOverlayAPI/constants.js +0 -14
  302. package/cjs/models/CamOverlayAPI/fileSchema.d.ts +0 -28
  303. package/cjs/models/CamOverlayAPI/fileSchema.js +0 -17
  304. package/cjs/models/CamOverlayAPI/imagesSchema.js +0 -10
  305. package/cjs/models/CamOverlayAPI/ptzSchema.js +0 -13
  306. package/cjs/models/CamOverlayAPI/screenSharingSchema.js +0 -9
  307. package/cjs/models/CamOverlayAPI/webCameraSharingSchema.js +0 -9
  308. package/cjs/models/CamOverlayAPI/widgetsSchema.js +0 -27
  309. package/cjs/node/WsEventClient.d.ts +0 -13
  310. package/cjs/node/WsEventClient.js +0 -22
  311. package/cjs/types/CamOverlayAPI.d.ts +0 -328
  312. package/cjs/types/CamOverlayAPI.js +0 -26
  313. package/cjs/types/CamStreamerAPI.js +0 -28
  314. package/esm/CamOverlayDrawingAPI.d.ts +0 -86
  315. package/esm/CamOverlayPainter/ResourceManager.d.ts +0 -14
  316. package/esm/CamScripterAPI.d.ts +0 -19
  317. package/esm/CamScripterAPICameraEventsGenerator.d.ts +0 -74
  318. package/esm/CamStreamerAPI.d.ts +0 -16
  319. package/esm/CamSwitcherAPI.d.ts +0 -52
  320. package/esm/CamSwitcherEvents.d.ts +0 -18
  321. package/esm/PlaneTrackerAPI.d.ts +0 -30
  322. package/esm/VapixAPI.d.ts +0 -78
  323. package/esm/VapixEvents.d.ts +0 -43
  324. package/esm/errors/errors.d.ts +0 -37
  325. package/esm/events/AxisCameraStationEvents.d.ts +0 -10
  326. package/esm/events/GenetecAgent.js +0 -119
  327. package/esm/index.d.ts +0 -17
  328. package/esm/internal/ProxyClient.d.ts +0 -11
  329. package/esm/internal/types.d.ts +0 -35
  330. package/esm/models/CamOverlayAPI/constants.d.ts +0 -11
  331. package/esm/models/CamOverlayAPI/constants.js +0 -11
  332. package/esm/models/CamOverlayAPI/fileSchema.d.ts +0 -28
  333. package/esm/models/CamOverlayAPI/fileSchema.js +0 -14
  334. package/esm/models/CamOverlayAPI/imagesSchema.js +0 -7
  335. package/esm/models/CamOverlayAPI/ptzSchema.js +0 -10
  336. package/esm/models/CamOverlayAPI/screenSharingSchema.js +0 -6
  337. package/esm/models/CamOverlayAPI/webCameraSharingSchema.js +0 -6
  338. package/esm/models/CamOverlayAPI/widgetsSchema.js +0 -24
  339. package/esm/node/DefaultClient.d.ts +0 -16
  340. package/esm/node/WsClient.d.ts +0 -39
  341. package/esm/node/WsEventClient.d.ts +0 -13
  342. package/esm/node/WsEventClient.js +0 -18
  343. package/esm/types/CamOverlayAPI.d.ts +0 -328
  344. package/esm/types/CamOverlayAPI.js +0 -14
  345. package/esm/types/CamScripterAPI.d.ts +0 -67
  346. package/esm/types/CamStreamerAPI.js +0 -25
  347. package/esm/types/common.d.ts +0 -37
  348. package/esm/web/DefaultClient.d.ts +0 -6
  349. package/esm/web/WsClient.d.ts +0 -13
  350. package/esm/web/index.d.ts +0 -2
  351. package/cjs/{CreatePackage.d.ts → bin/CreatePackage.d.ts} +0 -0
  352. package/cjs/{internal → node}/Digest.d.ts +0 -0
  353. package/{esm/CreatePackage.d.ts → cjs/node/Digest.test.d.ts} +0 -0
  354. package/{esm/types → cjs/types/ws}/CamSwitcherEvents.d.ts +8 -8
  355. package/cjs/types/{CamSwitcherEvents.js → ws/CamSwitcherEvents.js} +0 -0
  356. package/esm/{internal → node}/Digest.js +0 -0
  357. package/esm/types/{CamSwitcherEvents.js → ws/CamSwitcherEvents.js} +0 -0
  358. package/{esm → types}/internal/transformers.d.ts +0 -0
  359. package/{esm/internal → types/node}/Digest.d.ts +0 -0
  360. package/{cjs/types → types/types/ws}/CamSwitcherEvents.d.ts +8 -8
  361. /package/{esm/node → types/web}/index.d.ts +0 -0
@@ -0,0 +1,120 @@
1
+ import { ErrorWithResponse } from '../../errors/errors';
2
+ import { pad } from '../../internal/utils';
3
+ import { cameraDetailsResponseSchema, cameraGuidsResponseSchema, successResponseSchema, } from '../../types/GenetecAgent';
4
+ export class GenetecAgent {
5
+ settings;
6
+ baseUrl;
7
+ credentials;
8
+ constructor(options = {}) {
9
+ this.settings = {
10
+ protocol: options.protocol ?? 'http',
11
+ ip: options.ip ?? '127.0.0.1',
12
+ port: options.port ?? 80,
13
+ baseUri: options.baseUri ?? 'WebSdk',
14
+ user: options.user ?? 'root',
15
+ pass: options.pass ?? '',
16
+ appId: options.appId ?? '',
17
+ timeout: options.timeout ?? 10000,
18
+ };
19
+ this.baseUrl = `${this.settings.protocol}://${this.settings.ip}:${this.settings.port}/${this.settings.baseUri}`;
20
+ this.credentials = btoa(`${this.settings.user};${this.settings.appId}:${this.settings.pass}`);
21
+ }
22
+ async checkConnection() {
23
+ const requestOptions = this.getRequestOptions('GET');
24
+ const res = await this.fetchWithTimeout(new URL(this.baseUrl), requestOptions);
25
+ if (!res.ok) {
26
+ throw new ErrorWithResponse(res);
27
+ }
28
+ const responseBody = await res.text();
29
+ const result = await successResponseSchema.safeParseAsync(JSON.parse(responseBody));
30
+ if (!result.success) {
31
+ throw new Error('Genetec connection test failed: ' + JSON.stringify(result.error.issues) + '\n' + responseBody);
32
+ }
33
+ }
34
+ async getAllCameraGuids() {
35
+ const requestOptions = this.getRequestOptions('GET');
36
+ const url = new URL(`${this.baseUrl}/report/EntityConfiguration`);
37
+ url.searchParams.set('q', 'EntityTypes@Camera');
38
+ const res = await this.fetchWithTimeout(url, requestOptions);
39
+ if (!res.ok) {
40
+ throw new ErrorWithResponse(res);
41
+ }
42
+ const responseBody = await res.text();
43
+ const result = await cameraGuidsResponseSchema.safeParseAsync(JSON.parse(responseBody));
44
+ if (!result.success) {
45
+ throw new Error('Genetec get camera guids failed: ' + JSON.stringify(result.error.issues) + '\n' + responseBody);
46
+ }
47
+ return result.data;
48
+ }
49
+ async getCameraDetails(guids, parameters) {
50
+ const params = parameters.join(',');
51
+ const requestOptions = this.getRequestOptions('GET');
52
+ const allCameras = [];
53
+ const chunkSize = 10;
54
+ while (guids.length > 0) {
55
+ const chunk = guids.slice(0, chunkSize);
56
+ guids.splice(0, chunkSize);
57
+ const url = new URL(`${this.baseUrl}/entity`);
58
+ url.searchParams.set('q', chunk.map((item) => `entity=${item.Guid},${params}`).join(','));
59
+ const res = await this.fetchWithTimeout(url, requestOptions);
60
+ if (!res.ok) {
61
+ throw new ErrorWithResponse(res);
62
+ }
63
+ const responseBody = await res.text();
64
+ const result = await cameraDetailsResponseSchema.safeParseAsync(JSON.parse(responseBody));
65
+ if (!result.success) {
66
+ throw new Error('Genetec get camera details failed: ' + JSON.stringify(result.error.issues) + '\n' + responseBody);
67
+ }
68
+ const data = result.data;
69
+ const resultArray = Array.isArray(data.Rsp.Result) ? data.Rsp.Result : [data.Rsp.Result];
70
+ allCameras.push(...resultArray);
71
+ }
72
+ return allCameras;
73
+ }
74
+ async sendBookmark(guids, bookmarkText) {
75
+ const timeStamp = this.getTimeStamp();
76
+ const requestOptions = this.getRequestOptions('POST');
77
+ const url = new URL(`${this.baseUrl}/action`);
78
+ url.searchParams.set('q', guids.map((guid) => `AddCameraBookmark(${guid},${timeStamp},${bookmarkText})`).join(','));
79
+ const res = await this.fetchWithTimeout(url, requestOptions);
80
+ if (!res.ok) {
81
+ throw new ErrorWithResponse(res);
82
+ }
83
+ const responseBody = await res.text();
84
+ const result = await successResponseSchema.safeParseAsync(JSON.parse(responseBody));
85
+ if (!result.success) {
86
+ throw new Error('Genetec send bookmark failed: ' + JSON.stringify(result.error.issues) + '\n' + responseBody);
87
+ }
88
+ }
89
+ getRequestOptions(method) {
90
+ return {
91
+ method,
92
+ headers: new Headers({
93
+ Authorization: `Basic ${this.credentials}`,
94
+ Accept: 'text/json',
95
+ }),
96
+ redirect: 'follow',
97
+ };
98
+ }
99
+ getTimeStamp() {
100
+ const date = new Date();
101
+ const year = date.getUTCFullYear();
102
+ const month = pad(date.getUTCMonth() + 1, 2);
103
+ const day = pad(date.getUTCDate(), 2);
104
+ const hours = pad(date.getUTCHours(), 2);
105
+ const minutes = pad(date.getUTCMinutes(), 2);
106
+ const seconds = pad(date.getUTCSeconds(), 2);
107
+ const miliSeconds = pad(date.getUTCMilliseconds(), 2);
108
+ return `${year}-${month}-${day}T${hours}:${minutes}:${seconds}.${miliSeconds}Z`;
109
+ }
110
+ async fetchWithTimeout(url, options) {
111
+ const controller = new AbortController();
112
+ const timeoutId = setTimeout(() => controller.abort(), this.settings.timeout);
113
+ try {
114
+ return await fetch(url, { ...options, signal: controller.signal });
115
+ }
116
+ finally {
117
+ clearTimeout(timeoutId);
118
+ }
119
+ }
120
+ }
package/esm/node/index.js CHANGED
@@ -1,2 +1,18 @@
1
- export { DefaultClient } from './DefaultClient';
2
- export { WsClient } from './WsClient';
1
+ export * from './DefaultClient';
2
+ export * from './WsClient';
3
+ export * from './HttpServer';
4
+ export * from './HttpRequestSender';
5
+ export * from './events/AxisCameraStationEvents';
6
+ export * from './TimeZoneDaemon';
7
+ export * from './events/GenetecAgent';
8
+ export * from '../types/GenetecAgent';
9
+ export { ResourceManager } from './CamOverlayPainter/ResourceManager';
10
+ export { Painter } from './CamOverlayPainter/Painter';
11
+ export { Frame } from './CamOverlayPainter/Frame';
12
+ export * from '../types/CamOverlayPainter';
13
+ export { CamOverlayDrawingAPI } from './CamOverlayDrawingAPI';
14
+ export * from '../types/CamOverlayDrawingAPI';
15
+ export { CamScripterAPICameraEventsGenerator } from './CamScripterAPICameraEventsGenerator';
16
+ export * from '../types/CamScripterAPICameraEventsGenerator';
17
+ export { VapixEvents } from './VapixEvents';
18
+ export * from '../types/VapixEvents';
@@ -0,0 +1,113 @@
1
+ import { z } from 'zod';
2
+ import { infoTickerSchema } from './infotickerSchema';
3
+ import { accuweatherSchema } from './accuweatherSchema';
4
+ import { ptzCompassSchema } from './ptzCompassSchema';
5
+ import { imagesSchema } from './imagesSchema';
6
+ import { ptzSchema } from './ptzSchema';
7
+ import { pipSchema } from './pipSchema';
8
+ import { customGraphicsSchema } from './customGraphicsSchema';
9
+ import { screenSharingSchema } from './screenSharingSchema';
10
+ import { webCameraSharingSchema } from './webCameraSharingSchema';
11
+ import { baseballScoreBoardAutomaticSchema, baseballScoreBoardSchema, scoreBoardSchema, scoreOverviewSchema, } from './scoreBoardSchema';
12
+ import { htmlOverlaySchema } from './htmlOverlaySchema';
13
+ export const wsResponseSchema = z.object({
14
+ status: z.number(),
15
+ message: z.string(),
16
+ });
17
+ export const servicesSchema = z.discriminatedUnion('name', [
18
+ infoTickerSchema,
19
+ accuweatherSchema,
20
+ ptzCompassSchema,
21
+ imagesSchema,
22
+ ptzSchema,
23
+ pipSchema,
24
+ customGraphicsSchema,
25
+ screenSharingSchema,
26
+ webCameraSharingSchema,
27
+ scoreBoardSchema,
28
+ baseballScoreBoardSchema,
29
+ baseballScoreBoardAutomaticSchema,
30
+ scoreOverviewSchema,
31
+ htmlOverlaySchema,
32
+ ]);
33
+ export const serviceListSchema = z.object({
34
+ services: z.array(servicesSchema),
35
+ });
36
+ export const isAccuweather = (service) => service.name === 'accuweather';
37
+ export const isCustomGraphics = (service) => service.name === 'customGraphics';
38
+ export const isImages = (service) => service.name === 'images';
39
+ export const isInfoticker = (service) => service.name === 'infoticker';
40
+ export const isPip = (service) => service.name === 'pip';
41
+ export const isPtzCompass = (service) => service.name === 'ptzCompass';
42
+ export const isPtz = (service) => service.name === 'ptz';
43
+ export const isScreenSharing = (service) => service.name === 'screenSharing';
44
+ export const isWebCameraSharing = (service) => service.name === 'web_camera';
45
+ export const isScoreBoard = (service) => service.name === 'scoreBoard';
46
+ export const isBaseballScoreBoard = (service) => service.name === 'baseballScoreBoard';
47
+ export const isBaseballScoreBoardAutomatic = (service) => service.name === 'myBallBaseballWidgets';
48
+ export const isScoreOverview = (service) => service.name === 'scoreOverview';
49
+ export const isHtmlOverlay = (service) => service.name === 'htmlOverlay';
50
+ export var ImageType;
51
+ (function (ImageType) {
52
+ ImageType[ImageType["PNG"] = 0] = "PNG";
53
+ ImageType[ImageType["JPEG"] = 1] = "JPEG";
54
+ })(ImageType || (ImageType = {}));
55
+ export const imageFileStorageTypeSchema = z.union([
56
+ z.literal('flash'),
57
+ z.literal('SD0'),
58
+ z.literal('ftp'),
59
+ z.literal('samba'),
60
+ z.literal('url'),
61
+ ]);
62
+ export const fontFileStorageTypeSchema = z.union([z.literal('flash'), z.literal('SD0')]);
63
+ export const imageFilestorageDataListSchema = z.array(z.object({
64
+ type: imageFileStorageTypeSchema,
65
+ state: z.string(),
66
+ }));
67
+ export const fontStorageDataListSchema = z.array(z.object({
68
+ type: fontFileStorageTypeSchema,
69
+ state: z.string(),
70
+ }));
71
+ export const getStorageDataListSchema = (fileType) => {
72
+ return fileType === 'image' ? imageFilestorageDataListSchema : fontStorageDataListSchema;
73
+ };
74
+ export const imageStorageResponseSchema = z.object({
75
+ code: z.number(),
76
+ list: imageFilestorageDataListSchema,
77
+ });
78
+ export const fontStorageResponseSchema = z.object({
79
+ code: z.number(),
80
+ list: fontStorageDataListSchema,
81
+ });
82
+ export const getStorageResponseSchema = (fileType) => {
83
+ return fileType === 'image' ? imageStorageResponseSchema : fontStorageResponseSchema;
84
+ };
85
+ export const imageFileSchema = z.object({
86
+ name: z.string(),
87
+ path: z.string().url(),
88
+ storage: imageFileStorageTypeSchema,
89
+ });
90
+ export const fontFileSchema = z.object({
91
+ name: z.string(),
92
+ path: z.string().url(),
93
+ storage: fontFileStorageTypeSchema,
94
+ });
95
+ export const getFileSchema = (fileType) => {
96
+ return fileType === 'image' ? imageFileSchema : fontFileSchema;
97
+ };
98
+ export const imageFileListSchema = z.array(imageFileSchema);
99
+ export const fontFileListSchema = z.array(fontFileSchema);
100
+ export const getFileListSchema = (fileType) => {
101
+ return fileType === 'image' ? imageFileListSchema : fontFileListSchema;
102
+ };
103
+ export const imageFileDataSchema = z.object({
104
+ code: z.number(),
105
+ list: imageFileListSchema,
106
+ });
107
+ export const fontFileDataSchema = z.object({
108
+ code: z.number(),
109
+ list: fontFileListSchema,
110
+ });
111
+ export const getFileDataSchema = (fileType) => {
112
+ return fileType === 'image' ? imageFileDataSchema : fontFileDataSchema;
113
+ };
@@ -1,8 +1,7 @@
1
- import { allowedWidgetNames } from './constants';
2
- import { coordinateSystemSchema, fontSchema, languageSchema, weatherUnitSchema, widgetCommonSchema, } from './widgetCommonSchema';
3
1
  import { z } from 'zod';
4
- export const accuweatherSchema = widgetCommonSchema.extend({
5
- name: z.literal(allowedWidgetNames.accuweather),
2
+ import { serviceNames, coordinateSystemSchema, fontSchema, languageSchema, weatherUnitSchema, serviceCommonSchema, } from './serviceCommonTypes';
3
+ export const accuweatherSchema = serviceCommonSchema.extend({
4
+ name: z.literal(serviceNames.accuweather),
6
5
  location: z.string(),
7
6
  locationName: z.string(),
8
7
  title: z.string(),
@@ -1,6 +1,5 @@
1
- import { allowedWidgetNames } from './constants';
2
- import { coordinateSystemSchema, fontSchema, widgetCommonSchema } from './widgetCommonSchema';
3
1
  import { z } from 'zod';
2
+ import { serviceNames, coordinateSystemSchema, fontSchema, serviceCommonSchema } from './serviceCommonTypes';
4
3
  const mappingZonesCommonSchema = z.object({
5
4
  name: z.string(),
6
5
  pos_x: z.number(),
@@ -49,8 +48,8 @@ const mappingZoneCountdownSchema = mappingZonesCommonSchema.extend({
49
48
  settings: mappingZonesCountdownSettingsSchema,
50
49
  });
51
50
  export const mappingZoneSchema = z.discriminatedUnion('type', [mappingZonePlainSchema, mappingZoneCountdownSchema]);
52
- export const customGraphicsSchema = widgetCommonSchema.extend({
53
- name: z.literal(allowedWidgetNames.customGraphics),
51
+ export const customGraphicsSchema = serviceCommonSchema.extend({
52
+ name: z.literal(serviceNames.customGraphics),
54
53
  pos_x: z.number(),
55
54
  pos_y: z.number(),
56
55
  coordSystem: coordinateSystemSchema,
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ import { serviceNames, serviceCommonSchema, coordinateSystemSchema } from './serviceCommonTypes';
3
+ export const htmlOverlaySchema = serviceCommonSchema.extend({
4
+ name: z.literal(serviceNames.htmlOverlay),
5
+ pos_x: z.number().nonnegative(),
6
+ pos_y: z.number().nonnegative(),
7
+ coordSystem: coordinateSystemSchema,
8
+ url: z.string().url().or(z.literal('')).default(''),
9
+ pageWidth: z.number().nonnegative(),
10
+ pageHeight: z.number().nonnegative(),
11
+ fps: z.number().nonnegative(),
12
+ scale: z.number(),
13
+ cropEnabled: z.boolean(),
14
+ cropLeft: z.number().nonnegative(),
15
+ cropTop: z.number().nonnegative(),
16
+ cropWidth: z.number().nonnegative(),
17
+ cropHeight: z.number().nonnegative(),
18
+ });
@@ -0,0 +1,6 @@
1
+ import { z } from 'zod';
2
+ import { serviceNames, overlaySchema, serviceCommonSchema } from './serviceCommonTypes';
3
+ export const imagesSchema = serviceCommonSchema.extend({
4
+ name: z.literal(serviceNames.images),
5
+ overlayList: z.array(overlaySchema),
6
+ });
@@ -1,3 +1,5 @@
1
+ export * from './CamOverlayAPI';
2
+ export * from './serviceCommonTypes';
1
3
  export * from './accuweatherSchema';
2
4
  export * from './customGraphicsSchema';
3
5
  export * from './imagesSchema';
@@ -7,7 +9,4 @@ export * from './ptzCompassSchema';
7
9
  export * from './ptzSchema';
8
10
  export * from './screenSharingSchema';
9
11
  export * from './webCameraSharingSchema';
10
- export * from './widgetCommonSchema';
11
- export * from './widgetsSchema';
12
- export * from './constants';
13
- export * from './fileSchema';
12
+ export * from './htmlOverlaySchema';
@@ -1,8 +1,7 @@
1
- import { allowedWidgetNames } from './constants';
2
- import { fontSchema, languageSchema, weatherUnitSchema, widgetCommonSchema } from './widgetCommonSchema';
3
1
  import { z } from 'zod';
4
- export const infoTickerSchema = widgetCommonSchema.extend({
5
- name: z.literal(allowedWidgetNames.infoticker),
2
+ import { serviceNames, fontSchema, languageSchema, weatherUnitSchema, serviceCommonSchema } from './serviceCommonTypes';
3
+ export const infoTickerSchema = serviceCommonSchema.extend({
4
+ name: z.literal(serviceNames.infoticker),
6
5
  showClock: z.union([z.literal(0), z.literal(1)]),
7
6
  clockType: z.union([z.literal('12h'), z.literal('24h')]),
8
7
  textColor: z.string(),
@@ -1,8 +1,7 @@
1
- import { allowedWidgetNames } from './constants';
2
- import { coordinateSystemSchema, widgetCommonSchema } from './widgetCommonSchema';
3
1
  import { z } from 'zod';
4
- export const pipSchema = widgetCommonSchema.extend({
5
- name: z.literal(allowedWidgetNames.pip),
2
+ import { serviceNames, coordinateSystemSchema, serviceCommonSchema } from './serviceCommonTypes';
3
+ export const pipSchema = serviceCommonSchema.extend({
4
+ name: z.literal(serviceNames.pip),
6
5
  coordSystem: coordinateSystemSchema,
7
6
  pos_x: z.number(),
8
7
  pos_y: z.number(),
@@ -25,7 +24,7 @@ export const pipSchema = widgetCommonSchema.extend({
25
24
  z.literal('overlays=image'),
26
25
  z.literal('overlays=application'),
27
26
  ]),
28
- rotate: z.union([z.literal(0), z.literal(90), z.literal(180), z.literal(270)]),
27
+ rotate: z.union([z.literal(0), z.literal(90), z.literal(180), z.literal(270)]).default(0),
29
28
  dewarping: z.object({
30
29
  enabled: z.boolean(),
31
30
  rectangle: z.array(z.tuple([z.number(), z.number()])),
@@ -1,8 +1,7 @@
1
- import { allowedWidgetNames } from './constants';
2
- import { coordinateSystemSchema, widgetCommonSchema } from './widgetCommonSchema';
3
1
  import { z } from 'zod';
4
- export const ptzCompassSchema = widgetCommonSchema.extend({
5
- name: z.literal(allowedWidgetNames.ptzCompass),
2
+ import { serviceNames, coordinateSystemSchema, serviceCommonSchema } from './serviceCommonTypes';
3
+ export const ptzCompassSchema = serviceCommonSchema.extend({
4
+ name: z.literal(serviceNames.ptzCompass),
6
5
  pos_x: z.number(),
7
6
  pos_y: z.number(),
8
7
  coordSystem: coordinateSystemSchema,
@@ -20,4 +19,5 @@ export const ptzCompassSchema = widgetCommonSchema.extend({
20
19
  generalIframeWidth: z.number().optional(),
21
20
  generalIframeHeight: z.number().optional(),
22
21
  generalAddress: z.string().optional(),
22
+ showDegrees: z.boolean().default(false),
23
23
  });
@@ -0,0 +1,9 @@
1
+ import { z } from 'zod';
2
+ import { serviceNames, overlaySchema, serviceCommonSchema } from './serviceCommonTypes';
3
+ export const ptzSchema = serviceCommonSchema.extend({
4
+ name: z.literal(serviceNames.ptz),
5
+ ptz_positions: z.record(z.string(), z.object({
6
+ overlayList: z.array(overlaySchema.omit({ active: true, fps: true })),
7
+ loop: z.boolean(),
8
+ })),
9
+ });
@@ -0,0 +1,129 @@
1
+ import { z } from 'zod';
2
+ import { coordinateSystemSchema, serviceNames } from './serviceCommonTypes';
3
+ export const sportFontSchema = z.union([
4
+ z.literal('classic'),
5
+ z.custom((val) => {
6
+ return typeof val === 'string';
7
+ }),
8
+ ]);
9
+ export const scoreBoardSchema = z.object({
10
+ id: z.number().nonnegative(),
11
+ enabled: z.union([z.literal(0), z.literal(1)]),
12
+ schedule: z.string().optional(),
13
+ cameraList: z.array(z.number()),
14
+ zIndex: z.number().nonnegative(),
15
+ name: z.literal(serviceNames.scoreBoard),
16
+ pos_x: z.number(),
17
+ pos_y: z.number(),
18
+ coordSystem: coordinateSystemSchema,
19
+ width: z.number(),
20
+ height: z.number(),
21
+ scale: z.number(),
22
+ teamHomeShortname: z.string(),
23
+ teamGuestShortname: z.string(),
24
+ teamHomeBackgroundColor: z.string(),
25
+ teamGuestBackgroundColor: z.string(),
26
+ teamHomeTextColor: z.string(),
27
+ teamGuestTextColor: z.string(),
28
+ teamHomeImgPath: z.string(),
29
+ teamGuestImgPath: z.string(),
30
+ teamHomeCurrentScore: z.number(),
31
+ teamGuestCurrentScore: z.number(),
32
+ baseTimeTimestamp: z.number(),
33
+ baseTimePlaytime: z.number(),
34
+ currentPeriodPlaytime: z.number(),
35
+ timeIsRunning: z.boolean(),
36
+ currentPeriodLength: z.number(),
37
+ currentPeriod: z.number(),
38
+ font: sportFontSchema.default('classic'),
39
+ });
40
+ export const baseballScoreBoardSchema = z.object({
41
+ id: z.number().nonnegative(),
42
+ enabled: z.union([z.literal(0), z.literal(1)]),
43
+ schedule: z.string().optional(),
44
+ cameraList: z.array(z.number()),
45
+ zIndex: z.number().nonnegative(),
46
+ name: z.literal(serviceNames.baseballScoreBoard),
47
+ pos_x: z.number(),
48
+ pos_y: z.number(),
49
+ coordSystem: coordinateSystemSchema,
50
+ width: z.number(),
51
+ height: z.number(),
52
+ scale: z.number(),
53
+ matchFinished: z.boolean(),
54
+ bases: z.tuple([z.boolean(), z.boolean(), z.boolean()]),
55
+ homeInning: z.boolean(),
56
+ inning: z.number().nonnegative(),
57
+ outs: z.number().nonnegative(),
58
+ balls: z.number().nonnegative(),
59
+ strikes: z.number().nonnegative(),
60
+ baseTimeTimestamp: z.number(),
61
+ baseTimePlaytime: z.number(),
62
+ timeIsRunning: z.boolean(),
63
+ teamHomeShortname: z.string(),
64
+ teamGuestShortname: z.string(),
65
+ teamHomeBackgroundColor: z.string(),
66
+ teamGuestBackgroundColor: z.string(),
67
+ teamHomeTextColor: z.string(),
68
+ teamGuestTextColor: z.string(),
69
+ teamHomeCurrentScore: z.number(),
70
+ teamGuestCurrentScore: z.number(),
71
+ footerImgPath: z.string().optional(),
72
+ footerText: z.string().optional(),
73
+ footerBackgroundColor: z.string().optional(),
74
+ footerTextColor: z.string().optional(),
75
+ font: sportFontSchema.default('classic'),
76
+ });
77
+ export const baseballScoreBoardAutomaticSchema = z.object({
78
+ id: z.number().nonnegative(),
79
+ enabled: z.union([z.literal(0), z.literal(1)]),
80
+ schedule: z.string().optional(),
81
+ cameraList: z.array(z.number()),
82
+ zIndex: z.number().nonnegative(),
83
+ name: z.literal(serviceNames.myBallBaseballWidgets),
84
+ width: z.number(),
85
+ height: z.number(),
86
+ scale: z.number(),
87
+ matchDetailLink: z.string(),
88
+ matchListLink: z.string(),
89
+ mirrored: z.boolean(),
90
+ pregameWidgetText: z.string(),
91
+ teamHomeBackgroundColor: z.string(),
92
+ teamGuestBackgroundColor: z.string(),
93
+ teamHomeTextColor: z.string(),
94
+ teamGuestTextColor: z.string(),
95
+ homeLogoPath: z.string(),
96
+ guestLogoPath: z.string(),
97
+ footerImgPath: z.string().optional(),
98
+ footerText: z.string().optional(),
99
+ footerBackgroundColor: z.string().optional(),
100
+ footerTextColor: z.string().optional(),
101
+ font: sportFontSchema.default('classic'),
102
+ });
103
+ export const scoreOverviewSchema = z.object({
104
+ id: z.number().nonnegative(),
105
+ enabled: z.union([z.literal(0), z.literal(1)]),
106
+ cameraList: z.array(z.number()),
107
+ zIndex: z.number().nonnegative(),
108
+ name: z.literal(serviceNames.scoreOverview),
109
+ pos_x: z.number(),
110
+ pos_y: z.number(),
111
+ coordSystem: coordinateSystemSchema,
112
+ width: z.number(),
113
+ height: z.number(),
114
+ scale: z.number(),
115
+ teamHomeName: z.string(),
116
+ teamGuestName: z.string(),
117
+ teamHomeBackgroundColor: z.string(),
118
+ teamGuestBackgroundColor: z.string(),
119
+ teamHomeTextColor: z.string(),
120
+ teamGuestTextColor: z.string(),
121
+ teamHomeImgPath: z.string(),
122
+ teamGuestImgPath: z.string(),
123
+ teamHomeCurrentScore: z.number(),
124
+ teamGuestCurrentScore: z.number(),
125
+ scoreVisible: z.boolean(),
126
+ description: z.string(),
127
+ textFont: sportFontSchema.default('classic'),
128
+ scoreFont: z.literal('classic'),
129
+ });
@@ -0,0 +1,5 @@
1
+ import { z } from 'zod';
2
+ import { serviceNames, sharingSchema } from './serviceCommonTypes';
3
+ export const screenSharingSchema = sharingSchema.extend({
4
+ name: z.literal(serviceNames.screenSharing),
5
+ });
@@ -1,4 +1,20 @@
1
1
  import { z } from 'zod';
2
+ export const serviceNames = {
3
+ accuweather: 'accuweather',
4
+ infoticker: 'infoticker',
5
+ customGraphics: 'customGraphics',
6
+ ptzCompass: 'ptzCompass',
7
+ images: 'images',
8
+ ptz: 'ptz',
9
+ pip: 'pip',
10
+ screenSharing: 'screenSharing',
11
+ web_camera: 'web_camera',
12
+ scoreBoard: 'scoreBoard',
13
+ baseballScoreBoard: 'baseballScoreBoard',
14
+ myBallBaseballWidgets: 'myBallBaseballWidgets',
15
+ scoreOverview: 'scoreOverview',
16
+ htmlOverlay: 'htmlOverlay',
17
+ };
2
18
  export const coordinateSystemSchema = z.union([
3
19
  z.literal('top_left'),
4
20
  z.literal('top'),
@@ -25,34 +41,43 @@ export const languageSchema = z.union([
25
41
  z.literal('ru-ru'),
26
42
  z.literal('sv-se'),
27
43
  ]);
28
- export const widgetCommonSchema = z.object({
44
+ export const fontSchema = z.union([
45
+ z.literal('classic'),
46
+ z.literal('digital'),
47
+ z.custom((val) => {
48
+ return typeof val === 'string';
49
+ }),
50
+ ]);
51
+ export const weatherUnitSchema = z.union([z.literal('Metric'), z.literal('Imperial')]);
52
+ export const serviceCommonSchema = z.object({
29
53
  id: z.number().nonnegative(),
30
54
  enabled: z.union([z.literal(0), z.literal(1)]),
31
- automationType: z.union([
55
+ automationType: z
56
+ .union([
32
57
  z.literal('time'),
33
58
  z.literal('manual'),
34
59
  z.literal('schedule'),
35
60
  z.custom((val) => {
36
61
  return typeof val === 'string' ? /^input\d+$/.test(val) : false;
37
62
  }),
38
- ]),
63
+ ])
64
+ .default('manual'),
39
65
  invertInput: z.boolean().optional(),
40
- cameraList: z.array(z.number()),
66
+ cameraList: z.array(z.number()).default([0]),
41
67
  camera: z.number().nonnegative().optional(),
42
68
  schedule: z.string().optional(),
43
- customName: z.string(),
69
+ customName: z.string().default(''),
44
70
  zIndex: z.number().optional(),
45
71
  width: z.number().nonnegative(),
46
72
  height: z.number().nonnegative(),
47
73
  });
48
- export const fontSchema = z.union([
49
- z.literal('classic'),
50
- z.literal('digital'),
51
- z.custom((val) => {
52
- return typeof val === 'string';
53
- }),
54
- ]);
55
- export const weatherUnitSchema = z.union([z.literal('Metric'), z.literal('Imperial')]);
74
+ export const sharingSchema = serviceCommonSchema.extend({
75
+ pos_x: z.number().nonnegative(),
76
+ pos_y: z.number().nonnegative(),
77
+ coordSystem: coordinateSystemSchema,
78
+ screenSize: z.number().positive(),
79
+ fps: z.number(),
80
+ });
56
81
  export const overlaySchema = z.object({
57
82
  active: z.boolean(),
58
83
  coordSystem: coordinateSystemSchema,
@@ -64,10 +89,3 @@ export const overlaySchema = z.object({
64
89
  scale: z.number(),
65
90
  fps: z.number().optional(),
66
91
  });
67
- export const sharingSchema = widgetCommonSchema.extend({
68
- pos_x: z.number().nonnegative(),
69
- pos_y: z.number().nonnegative(),
70
- coordSystem: coordinateSystemSchema,
71
- screenSize: z.number().positive(),
72
- fps: z.number(),
73
- });
@@ -0,0 +1,5 @@
1
+ import { z } from 'zod';
2
+ import { serviceNames, sharingSchema } from './serviceCommonTypes';
3
+ export const webCameraSharingSchema = sharingSchema.extend({
4
+ name: z.literal(serviceNames.web_camera),
5
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,11 @@
1
+ export const COORD = {
2
+ top_left: [-1, -1],
3
+ center_left: [-1, 0],
4
+ bottom_left: [-1, 1],
5
+ top_center: [0, -1],
6
+ center: [0, 0],
7
+ bottom_center: [0, 1],
8
+ top_right: [1, -1],
9
+ center_right: [1, 0],
10
+ bottom_right: [1, 1],
11
+ };