camstreamerlib 4.0.0-beta.7 → 4.0.0-beta.71

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 (302) hide show
  1. package/README.md +143 -38
  2. package/cjs/CamOverlayAPI.d.ts +863 -27
  3. package/cjs/CamOverlayAPI.js +135 -92
  4. package/cjs/CamScripterAPI.d.ts +44 -17
  5. package/cjs/CamScripterAPI.js +52 -42
  6. package/cjs/CamStreamerAPI.d.ts +62 -14
  7. package/cjs/CamStreamerAPI.js +82 -39
  8. package/cjs/CamSwitcherAPI.d.ts +158 -43
  9. package/cjs/CamSwitcherAPI.js +138 -122
  10. package/cjs/PlaneTrackerAPI.d.ts +233 -0
  11. package/cjs/PlaneTrackerAPI.js +247 -0
  12. package/cjs/VapixAPI.d.ts +94 -42
  13. package/cjs/VapixAPI.js +323 -233
  14. package/cjs/{CreatePackage.js → bin/CreatePackage.js} +44 -18
  15. package/cjs/errors/errors.d.ts +61 -4
  16. package/cjs/errors/errors.js +134 -7
  17. package/cjs/index.d.ts +20 -4
  18. package/cjs/index.js +28 -5
  19. package/cjs/internal/ProxyClient.d.ts +8 -9
  20. package/cjs/internal/ProxyClient.js +28 -32
  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/cjs/{CamOverlayPainter → 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/types/CamOverlayAPI/CamOverlayAPI.d.ts +4330 -0
  59. package/cjs/types/CamOverlayAPI/CamOverlayAPI.js +92 -0
  60. package/cjs/types/CamOverlayAPI/accuweatherSchema.d.ts +84 -0
  61. package/cjs/types/CamOverlayAPI/accuweatherSchema.js +47 -0
  62. package/cjs/types/CamOverlayAPI/customGraphicsSchema.d.ts +700 -0
  63. package/cjs/types/CamOverlayAPI/customGraphicsSchema.js +72 -0
  64. package/cjs/types/CamOverlayAPI/imagesSchema.d.ts +95 -0
  65. package/cjs/types/CamOverlayAPI/imagesSchema.js +9 -0
  66. package/cjs/types/CamOverlayAPI/index.d.ts +11 -0
  67. package/cjs/types/CamOverlayAPI/index.js +27 -0
  68. package/cjs/types/CamOverlayAPI/infotickerSchema.d.ts +96 -0
  69. package/cjs/types/CamOverlayAPI/infotickerSchema.js +26 -0
  70. package/cjs/types/CamOverlayAPI/pipSchema.d.ts +125 -0
  71. package/cjs/types/CamOverlayAPI/pipSchema.js +39 -0
  72. package/cjs/types/CamOverlayAPI/ptzCompassSchema.d.ts +96 -0
  73. package/cjs/types/CamOverlayAPI/ptzCompassSchema.js +26 -0
  74. package/cjs/types/CamOverlayAPI/ptzSchema.d.ts +118 -0
  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/types/CamOverlayAPI/screenSharingSchema.d.ts +58 -0
  79. package/cjs/types/CamOverlayAPI/screenSharingSchema.js +8 -0
  80. package/cjs/types/CamOverlayAPI/serviceCommonTypes.d.ts +145 -0
  81. package/cjs/types/CamOverlayAPI/serviceCommonTypes.js +91 -0
  82. package/cjs/types/CamOverlayAPI/webCameraSharingSchema.d.ts +58 -0
  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.d.ts +180 -47
  93. package/cjs/types/CamStreamerAPI.js +34 -3
  94. package/cjs/types/CamSwitcherAPI.d.ts +145 -66
  95. package/cjs/types/CamSwitcherAPI.js +38 -1
  96. package/cjs/{events → types}/GenetecAgent.d.ts +47 -47
  97. package/cjs/types/GenetecAgent.js +31 -0
  98. package/cjs/types/PlaneTrackerAPI.d.ts +952 -0
  99. package/cjs/types/PlaneTrackerAPI.js +320 -0
  100. package/cjs/types/VapixAPI.d.ts +254 -164
  101. package/cjs/types/VapixAPI.js +66 -11
  102. package/cjs/types/VapixEvents.d.ts +15 -0
  103. package/cjs/types/VapixEvents.js +2 -0
  104. package/cjs/types/common.d.ts +17 -5
  105. package/cjs/types/common.js +4 -2
  106. package/cjs/types/ws/CamOverlayEvents.d.ts +88 -0
  107. package/cjs/types/ws/CamOverlayEvents.js +19 -0
  108. package/cjs/types/ws/CamStreamerEvents.d.ts +249 -0
  109. package/cjs/types/ws/CamStreamerEvents.js +32 -0
  110. package/cjs/types/ws/PlaneTrackerEvents.d.ts +1637 -0
  111. package/cjs/types/ws/PlaneTrackerEvents.js +196 -0
  112. package/cjs/web/DefaultClient.d.ts +7 -5
  113. package/cjs/web/DefaultClient.js +26 -10
  114. package/cjs/web/WsClient.d.ts +9 -5
  115. package/cjs/web/WsClient.js +16 -18
  116. package/cjs/ws/CamOverlayEvents.d.ts +8 -0
  117. package/cjs/ws/CamOverlayEvents.js +24 -0
  118. package/cjs/ws/CamStreamerEvents.d.ts +8 -0
  119. package/cjs/ws/CamStreamerEvents.js +24 -0
  120. package/cjs/ws/CamSwitcherEvents.d.ts +8 -0
  121. package/cjs/ws/CamSwitcherEvents.js +24 -0
  122. package/cjs/ws/PlaneTrackerEvents.d.ts +9 -0
  123. package/cjs/ws/PlaneTrackerEvents.js +30 -0
  124. package/esm/CamOverlayAPI.js +135 -92
  125. package/esm/CamScripterAPI.js +50 -40
  126. package/esm/CamStreamerAPI.js +81 -39
  127. package/esm/CamSwitcherAPI.js +136 -120
  128. package/esm/PlaneTrackerAPI.js +243 -0
  129. package/esm/VapixAPI.js +323 -233
  130. package/esm/{CreatePackage.js → bin/CreatePackage.js} +16 -16
  131. package/esm/errors/errors.js +116 -6
  132. package/esm/index.js +20 -4
  133. package/esm/internal/ProxyClient.js +28 -32
  134. package/esm/{CamSwitcherEvents.js → internal/WsEvents.js} +26 -20
  135. package/esm/internal/types.js +1 -0
  136. package/esm/internal/utils.js +11 -1
  137. package/esm/{CamOverlayDrawingAPI.js → node/CamOverlayDrawingAPI.js} +26 -18
  138. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/Frame.js +33 -0
  139. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/Painter.js +2 -13
  140. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/ResourceManager.js +7 -5
  141. package/esm/{CamScripterAPICameraEventsGenerator.js → node/CamScripterAPICameraEventsGenerator.js} +11 -11
  142. package/esm/node/DefaultClient.js +10 -12
  143. package/esm/node/Digest.test.js +11 -0
  144. package/esm/node/HttpRequestSender.js +14 -4
  145. package/esm/node/HttpServer.js +1 -1
  146. package/esm/node/TimeZoneDaemon.js +25 -0
  147. package/esm/{VapixEvents.js → node/VapixEvents.js} +10 -10
  148. package/esm/node/WsClient.js +22 -15
  149. package/esm/{events → node/events}/AxisCameraStationEvents.js +18 -13
  150. package/esm/node/events/GenetecAgent.js +120 -0
  151. package/esm/node/index.js +18 -2
  152. package/esm/types/CamOverlayAPI/CamOverlayAPI.js +76 -0
  153. package/esm/types/CamOverlayAPI/accuweatherSchema.js +44 -0
  154. package/esm/types/CamOverlayAPI/customGraphicsSchema.js +69 -0
  155. package/esm/types/CamOverlayAPI/imagesSchema.js +6 -0
  156. package/esm/types/CamOverlayAPI/index.js +11 -0
  157. package/esm/types/CamOverlayAPI/infotickerSchema.js +23 -0
  158. package/esm/types/CamOverlayAPI/pipSchema.js +36 -0
  159. package/esm/types/CamOverlayAPI/ptzCompassSchema.js +23 -0
  160. package/esm/types/CamOverlayAPI/ptzSchema.js +9 -0
  161. package/esm/types/CamOverlayAPI/scoreBoardSchema.js +129 -0
  162. package/esm/types/CamOverlayAPI/screenSharingSchema.js +5 -0
  163. package/esm/types/CamOverlayAPI/serviceCommonTypes.js +88 -0
  164. package/esm/types/CamOverlayAPI/webCameraSharingSchema.js +5 -0
  165. package/esm/types/CamOverlayDrawingAPI.js +1 -0
  166. package/esm/types/CamOverlayPainter.js +11 -0
  167. package/esm/types/CamScripterAPI.js +23 -7
  168. package/esm/types/CamScripterAPICameraEventsGenerator.js +1 -0
  169. package/esm/types/CamStreamerAPI.js +33 -2
  170. package/esm/types/CamSwitcherAPI.js +38 -1
  171. package/esm/types/GenetecAgent.js +28 -0
  172. package/esm/types/PlaneTrackerAPI.js +317 -0
  173. package/esm/types/VapixAPI.js +65 -10
  174. package/esm/types/VapixEvents.js +1 -0
  175. package/esm/types/common.js +3 -1
  176. package/esm/types/ws/CamOverlayEvents.js +16 -0
  177. package/esm/types/ws/CamStreamerEvents.js +29 -0
  178. package/esm/types/ws/PlaneTrackerEvents.js +193 -0
  179. package/esm/web/DefaultClient.js +26 -10
  180. package/esm/web/WsClient.js +16 -18
  181. package/esm/ws/CamOverlayEvents.js +20 -0
  182. package/esm/ws/CamStreamerEvents.js +20 -0
  183. package/esm/ws/CamSwitcherEvents.js +20 -0
  184. package/esm/ws/PlaneTrackerEvents.js +26 -0
  185. package/package.json +44 -11
  186. package/types/CamOverlayAPI.d.ts +867 -0
  187. package/types/CamScripterAPI.d.ts +46 -0
  188. package/types/CamStreamerAPI.d.ts +64 -0
  189. package/types/CamSwitcherAPI.d.ts +167 -0
  190. package/types/PlaneTrackerAPI.d.ts +233 -0
  191. package/types/VapixAPI.d.ts +118 -0
  192. package/types/bin/CreatePackage.d.ts +1 -0
  193. package/types/errors/errors.d.ts +91 -0
  194. package/types/index.d.ts +27 -0
  195. package/types/internal/ProxyClient.d.ts +10 -0
  196. package/types/internal/WsEvents.d.ts +37 -0
  197. package/types/internal/types.d.ts +47 -0
  198. package/{esm → types}/internal/utils.d.ts +3 -1
  199. package/{esm → types}/internal/versionCompare.d.ts +2 -2
  200. package/types/node/CamOverlayDrawingAPI.d.ts +41 -0
  201. package/{esm → types/node}/CamOverlayPainter/Frame.d.ts +8 -37
  202. package/{esm → types/node}/CamOverlayPainter/Painter.d.ts +5 -21
  203. package/types/node/CamOverlayPainter/ResourceManager.d.ts +15 -0
  204. package/types/node/CamScripterAPICameraEventsGenerator.d.ts +31 -0
  205. package/types/node/DefaultClient.d.ts +16 -0
  206. package/types/node/Digest.test.d.ts +1 -0
  207. package/{esm → types}/node/HttpRequestSender.d.ts +1 -0
  208. package/{esm → types}/node/HttpServer.d.ts +1 -1
  209. package/types/node/TimeZoneDaemon.d.ts +6 -0
  210. package/types/node/VapixEvents.d.ts +16 -0
  211. package/types/node/WsClient.d.ts +30 -0
  212. package/types/node/events/AxisCameraStationEvents.d.ts +12 -0
  213. package/types/node/events/GenetecAgent.d.ts +16 -0
  214. package/types/node/index.d.ts +18 -0
  215. package/types/types/CamOverlayAPI/CamOverlayAPI.d.ts +4330 -0
  216. package/types/types/CamOverlayAPI/accuweatherSchema.d.ts +84 -0
  217. package/types/types/CamOverlayAPI/customGraphicsSchema.d.ts +700 -0
  218. package/types/types/CamOverlayAPI/imagesSchema.d.ts +95 -0
  219. package/types/types/CamOverlayAPI/index.d.ts +11 -0
  220. package/types/types/CamOverlayAPI/infotickerSchema.d.ts +96 -0
  221. package/types/types/CamOverlayAPI/pipSchema.d.ts +125 -0
  222. package/types/types/CamOverlayAPI/ptzCompassSchema.d.ts +96 -0
  223. package/types/types/CamOverlayAPI/ptzSchema.d.ts +118 -0
  224. package/types/types/CamOverlayAPI/scoreBoardSchema.d.ts +357 -0
  225. package/types/types/CamOverlayAPI/screenSharingSchema.d.ts +58 -0
  226. package/types/types/CamOverlayAPI/serviceCommonTypes.d.ts +145 -0
  227. package/types/types/CamOverlayAPI/webCameraSharingSchema.d.ts +58 -0
  228. package/types/types/CamOverlayDrawingAPI.d.ts +48 -0
  229. package/types/types/CamOverlayPainter.d.ts +76 -0
  230. package/types/types/CamScripterAPI.d.ts +130 -0
  231. package/types/types/CamScripterAPICameraEventsGenerator.d.ts +45 -0
  232. package/types/types/CamStreamerAPI.d.ts +272 -0
  233. package/{esm → types}/types/CamSwitcherAPI.d.ts +145 -66
  234. package/{esm/events → types/types}/GenetecAgent.d.ts +47 -47
  235. package/types/types/PlaneTrackerAPI.d.ts +952 -0
  236. package/{esm → types}/types/VapixAPI.d.ts +254 -164
  237. package/types/types/VapixEvents.d.ts +15 -0
  238. package/{esm → types}/types/common.d.ts +17 -5
  239. package/types/types/ws/CamOverlayEvents.d.ts +88 -0
  240. package/types/types/ws/CamStreamerEvents.d.ts +249 -0
  241. package/types/types/ws/PlaneTrackerEvents.d.ts +1637 -0
  242. package/types/web/DefaultClient.d.ts +8 -0
  243. package/types/web/WsClient.d.ts +17 -0
  244. package/types/ws/CamOverlayEvents.d.ts +8 -0
  245. package/types/ws/CamStreamerEvents.d.ts +8 -0
  246. package/types/ws/CamSwitcherEvents.d.ts +8 -0
  247. package/types/ws/PlaneTrackerEvents.d.ts +9 -0
  248. package/cjs/CamOverlayDrawingAPI.d.ts +0 -86
  249. package/cjs/CamOverlayPainter/ResourceManager.d.ts +0 -14
  250. package/cjs/CamOverlayPainter/ResourceManager.js +0 -46
  251. package/cjs/CamScripterAPICameraEventsGenerator.d.ts +0 -74
  252. package/cjs/CamSwitcherEvents.d.ts +0 -18
  253. package/cjs/VapixEvents.d.ts +0 -43
  254. package/cjs/events/AxisCameraStationEvents.d.ts +0 -9
  255. package/cjs/events/AxisCameraStationEvents.js +0 -48
  256. package/cjs/events/GenetecAgent.js +0 -123
  257. package/cjs/internal/common.d.ts +0 -39
  258. package/cjs/internal/common.js +0 -27
  259. package/cjs/node/WsEventClient.d.ts +0 -13
  260. package/cjs/node/WsEventClient.js +0 -22
  261. package/cjs/types/CamOverlayAPI.d.ts +0 -188
  262. package/cjs/types/CamOverlayAPI.js +0 -47
  263. package/esm/CamOverlayAPI.d.ts +0 -31
  264. package/esm/CamOverlayDrawingAPI.d.ts +0 -86
  265. package/esm/CamOverlayPainter/ResourceManager.d.ts +0 -14
  266. package/esm/CamScripterAPI.d.ts +0 -19
  267. package/esm/CamScripterAPICameraEventsGenerator.d.ts +0 -74
  268. package/esm/CamStreamerAPI.d.ts +0 -16
  269. package/esm/CamSwitcherAPI.d.ts +0 -52
  270. package/esm/CamSwitcherEvents.d.ts +0 -18
  271. package/esm/VapixAPI.d.ts +0 -66
  272. package/esm/VapixEvents.d.ts +0 -43
  273. package/esm/errors/errors.d.ts +0 -34
  274. package/esm/events/AxisCameraStationEvents.d.ts +0 -9
  275. package/esm/events/GenetecAgent.js +0 -119
  276. package/esm/index.d.ts +0 -11
  277. package/esm/internal/ProxyClient.d.ts +0 -11
  278. package/esm/internal/common.d.ts +0 -39
  279. package/esm/internal/common.js +0 -20
  280. package/esm/node/DefaultClient.d.ts +0 -15
  281. package/esm/node/WsClient.d.ts +0 -39
  282. package/esm/node/WsEventClient.d.ts +0 -13
  283. package/esm/node/WsEventClient.js +0 -18
  284. package/esm/types/CamOverlayAPI.d.ts +0 -188
  285. package/esm/types/CamOverlayAPI.js +0 -44
  286. package/esm/types/CamScripterAPI.d.ts +0 -67
  287. package/esm/types/CamStreamerAPI.d.ts +0 -139
  288. package/esm/web/DefaultClient.d.ts +0 -6
  289. package/esm/web/WsClient.d.ts +0 -13
  290. package/esm/web/index.d.ts +0 -2
  291. /package/cjs/{CreatePackage.d.ts → bin/CreatePackage.d.ts} +0 -0
  292. /package/cjs/{internal → node}/Digest.d.ts +0 -0
  293. /package/{esm/CreatePackage.d.ts → cjs/node/Digest.test.d.ts} +0 -0
  294. /package/cjs/types/{CamSwitcherEvents.d.ts → ws/CamSwitcherEvents.d.ts} +0 -0
  295. /package/cjs/types/{CamSwitcherEvents.js → ws/CamSwitcherEvents.js} +0 -0
  296. /package/esm/{internal → node}/Digest.js +0 -0
  297. /package/esm/types/{CamSwitcherEvents.js → ws/CamSwitcherEvents.js} +0 -0
  298. /package/{esm → types}/internal/constants.d.ts +0 -0
  299. /package/{esm → types}/internal/transformers.d.ts +0 -0
  300. /package/{esm/internal → types/node}/Digest.d.ts +0 -0
  301. /package/{esm/types → types/types/ws}/CamSwitcherEvents.d.ts +0 -0
  302. /package/{esm/node → types/web}/index.d.ts +0 -0
@@ -0,0 +1,196 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ptrEventsSchema = exports.planeTrackerUserActionData = exports.PlaneTrackerUserActions = exports.PlaneTrackerWsEvents = void 0;
4
+ const zod_1 = require("zod");
5
+ const PlaneTrackerAPI_1 = require("../PlaneTrackerAPI");
6
+ const apiFlightDataSchema = zod_1.z.object({
7
+ icao: zod_1.z.string(),
8
+ lat: zod_1.z.number(),
9
+ lon: zod_1.z.number(),
10
+ heading: zod_1.z.number(),
11
+ groundSpeed: zod_1.z.number(),
12
+ altitudeAMSL: zod_1.z.number(),
13
+ cameraDistance: zod_1.z.number(),
14
+ autoTrackingOrder: zod_1.z.number(),
15
+ whiteListed: zod_1.z.boolean(),
16
+ blackListed: zod_1.z.boolean(),
17
+ priorityListed: zod_1.z.boolean(),
18
+ autoSelectionIgnored: zod_1.z.boolean(),
19
+ signalQuality: zod_1.z.number(),
20
+ emitterCategorySet: zod_1.z.number().default(4),
21
+ emitterCategory: zod_1.z.number().default(3),
22
+ emergencyState: zod_1.z.boolean(),
23
+ emergencyStatusMessage: zod_1.z.string(),
24
+ });
25
+ const apiUserSchema = zod_1.z.object({
26
+ userId: zod_1.z.string(),
27
+ userName: zod_1.z.string(),
28
+ userPriority: zod_1.z.number(),
29
+ ip: zod_1.z.string(),
30
+ });
31
+ const apiStringUserSchema = zod_1.z.object({
32
+ userId: zod_1.z.string(),
33
+ userName: zod_1.z.string(),
34
+ userPriority: zod_1.z.string(),
35
+ });
36
+ var PlaneTrackerWsEvents;
37
+ (function (PlaneTrackerWsEvents) {
38
+ PlaneTrackerWsEvents["FLIGHT_LIST"] = "FLIGHT_LIST";
39
+ PlaneTrackerWsEvents["CAMERA_POSITION"] = "CAMERA_POSITION";
40
+ PlaneTrackerWsEvents["TRACKING_START"] = "TRACKING_START";
41
+ PlaneTrackerWsEvents["TRACKING_STOP"] = "TRACKING_STOP";
42
+ PlaneTrackerWsEvents["USER_ACTION"] = "USER_ACTION";
43
+ PlaneTrackerWsEvents["CONNECTED_USERS"] = "CONNECTED_USERS";
44
+ PlaneTrackerWsEvents["FORCE_TRACKING_STATUS"] = "FORCE_TRACKING_STATUS";
45
+ })(PlaneTrackerWsEvents || (exports.PlaneTrackerWsEvents = PlaneTrackerWsEvents = {}));
46
+ var PlaneTrackerUserActions;
47
+ (function (PlaneTrackerUserActions) {
48
+ PlaneTrackerUserActions["TRACK_ICAO"] = "trackIcao.cgi";
49
+ PlaneTrackerUserActions["RESET_ICAO"] = "resetIcao.cgi";
50
+ PlaneTrackerUserActions["SET_PRIORITY_LIST"] = "setPriorityList.cgi";
51
+ PlaneTrackerUserActions["SET_BLACK_LIST"] = "setBlackList.cgi";
52
+ PlaneTrackerUserActions["SET_WHITE_LIST"] = "setWhiteList.cgi";
53
+ PlaneTrackerUserActions["GO_TO_COORDINATES"] = "goToCoordinates.cgi";
54
+ PlaneTrackerUserActions["SET_TRACKING_MODE"] = "setTrackingMode.cgi";
55
+ PlaneTrackerUserActions["SET_ZONES"] = "setZones.cgi";
56
+ PlaneTrackerUserActions["RESET_PTZ_CALIBRATION"] = "resetPtzCalibration.cgi";
57
+ PlaneTrackerUserActions["LOCK_API"] = "lockApi.cgi";
58
+ PlaneTrackerUserActions["UNLOCK_API"] = "unlockApi.cgi";
59
+ })(PlaneTrackerUserActions || (exports.PlaneTrackerUserActions = PlaneTrackerUserActions = {}));
60
+ exports.planeTrackerUserActionData = zod_1.z.discriminatedUnion('cgi', [
61
+ zod_1.z.object({
62
+ cgi: zod_1.z.literal(PlaneTrackerUserActions.TRACK_ICAO),
63
+ ip: zod_1.z.string(),
64
+ params: apiStringUserSchema.extend({
65
+ icao: zod_1.z.string(),
66
+ }),
67
+ }),
68
+ zod_1.z.object({
69
+ cgi: zod_1.z.literal(PlaneTrackerUserActions.RESET_ICAO),
70
+ ip: zod_1.z.string(),
71
+ params: apiStringUserSchema,
72
+ }),
73
+ zod_1.z.object({
74
+ cgi: zod_1.z.literal(PlaneTrackerUserActions.SET_PRIORITY_LIST),
75
+ ip: zod_1.z.string(),
76
+ params: apiStringUserSchema,
77
+ postJsonBody: zod_1.z.object({
78
+ priorityList: zod_1.z.array(zod_1.z.string()),
79
+ }),
80
+ }),
81
+ zod_1.z.object({
82
+ cgi: zod_1.z.literal(PlaneTrackerUserActions.SET_BLACK_LIST),
83
+ ip: zod_1.z.string(),
84
+ params: apiStringUserSchema,
85
+ postJsonBody: zod_1.z.object({
86
+ blackList: zod_1.z.array(zod_1.z.string()),
87
+ }),
88
+ }),
89
+ zod_1.z.object({
90
+ cgi: zod_1.z.literal(PlaneTrackerUserActions.SET_WHITE_LIST),
91
+ ip: zod_1.z.string(),
92
+ params: apiStringUserSchema,
93
+ postJsonBody: zod_1.z.object({
94
+ whiteList: zod_1.z.array(zod_1.z.string()),
95
+ }),
96
+ }),
97
+ zod_1.z.object({
98
+ cgi: zod_1.z.literal(PlaneTrackerUserActions.GO_TO_COORDINATES),
99
+ ip: zod_1.z.string(),
100
+ params: apiStringUserSchema.extend({
101
+ lat: zod_1.z.string(),
102
+ lon: zod_1.z.string(),
103
+ }),
104
+ }),
105
+ zod_1.z.object({
106
+ cgi: zod_1.z.literal(PlaneTrackerUserActions.SET_TRACKING_MODE),
107
+ ip: zod_1.z.string(),
108
+ params: apiStringUserSchema,
109
+ postJsonBody: PlaneTrackerAPI_1.trackingModeSchema,
110
+ }),
111
+ zod_1.z.object({
112
+ cgi: zod_1.z.literal(PlaneTrackerUserActions.SET_ZONES),
113
+ ip: zod_1.z.string(),
114
+ params: apiStringUserSchema,
115
+ postJsonBody: PlaneTrackerAPI_1.zonesSchema,
116
+ }),
117
+ zod_1.z.object({
118
+ cgi: zod_1.z.literal(PlaneTrackerUserActions.RESET_PTZ_CALIBRATION),
119
+ ip: zod_1.z.string(),
120
+ params: apiStringUserSchema,
121
+ }),
122
+ zod_1.z.object({
123
+ cgi: zod_1.z.literal(PlaneTrackerUserActions.LOCK_API),
124
+ ip: zod_1.z.string(),
125
+ params: apiStringUserSchema.extend({
126
+ timeout: zod_1.z.string(),
127
+ }),
128
+ }),
129
+ zod_1.z.object({
130
+ cgi: zod_1.z.literal(PlaneTrackerUserActions.UNLOCK_API),
131
+ ip: zod_1.z.string(),
132
+ params: apiStringUserSchema,
133
+ }),
134
+ ]);
135
+ const ptrEventsDataSchema = zod_1.z.discriminatedUnion('type', [
136
+ zod_1.z.object({
137
+ type: zod_1.z.literal('CAMERA_POSITION'),
138
+ lat: zod_1.z.number(),
139
+ lon: zod_1.z.number(),
140
+ azimuth: zod_1.z.number().min(0).max(360),
141
+ elevation: zod_1.z.number().min(-90).max(90),
142
+ fov: zod_1.z.number(),
143
+ }),
144
+ zod_1.z.object({
145
+ type: zod_1.z.literal('TRACKING_START'),
146
+ icao: zod_1.z.string(),
147
+ }),
148
+ zod_1.z.object({
149
+ type: zod_1.z.literal('TRACKING_STOP'),
150
+ }),
151
+ zod_1.z.object({
152
+ type: zod_1.z.literal('FLIGHT_LIST'),
153
+ list: zod_1.z.array(apiFlightDataSchema),
154
+ }),
155
+ zod_1.z.object({
156
+ type: zod_1.z.literal('USER_ACTION'),
157
+ ip: zod_1.z.string(),
158
+ params: apiStringUserSchema.extend({
159
+ lat: zod_1.z.string().optional(),
160
+ lon: zod_1.z.string().optional(),
161
+ timeout: zod_1.z.string().optional(),
162
+ }),
163
+ cgi: zod_1.z.enum([
164
+ PlaneTrackerUserActions.TRACK_ICAO,
165
+ PlaneTrackerUserActions.RESET_ICAO,
166
+ PlaneTrackerUserActions.SET_PRIORITY_LIST,
167
+ PlaneTrackerUserActions.SET_BLACK_LIST,
168
+ PlaneTrackerUserActions.SET_WHITE_LIST,
169
+ PlaneTrackerUserActions.GO_TO_COORDINATES,
170
+ PlaneTrackerUserActions.SET_TRACKING_MODE,
171
+ PlaneTrackerUserActions.SET_ZONES,
172
+ PlaneTrackerUserActions.RESET_PTZ_CALIBRATION,
173
+ PlaneTrackerUserActions.LOCK_API,
174
+ PlaneTrackerUserActions.UNLOCK_API,
175
+ ]),
176
+ postJsonBody: zod_1.z.any(),
177
+ }),
178
+ zod_1.z.object({
179
+ type: zod_1.z.literal('CONNECTED_USERS'),
180
+ users: zod_1.z.array(apiUserSchema),
181
+ }),
182
+ zod_1.z.object({
183
+ type: zod_1.z.literal('FORCE_TRACKING_STATUS'),
184
+ enabled: zod_1.z.boolean(),
185
+ icao: zod_1.z.string().optional(),
186
+ }),
187
+ zod_1.z.object({
188
+ type: zod_1.z.literal('API_LOCK_STATUS'),
189
+ isLocked: zod_1.z.boolean(),
190
+ user: apiUserSchema.optional(),
191
+ }),
192
+ ]);
193
+ exports.ptrEventsSchema = zod_1.z.discriminatedUnion('type', [
194
+ zod_1.z.object({ type: zod_1.z.literal('init'), data: ptrEventsDataSchema }),
195
+ ...ptrEventsDataSchema.options,
196
+ ]);
@@ -1,6 +1,8 @@
1
- /// <reference types="node" />
2
- import { IClient, TParameters } from '../internal/common';
3
- export declare class DefaultClient implements IClient {
4
- get(url: string, parameters?: TParameters, headers?: Record<string, string>): Promise<Response>;
5
- post(url: string, data: string | Buffer | FormData, parameters?: TParameters, headers?: Record<string, string>): Promise<Response>;
1
+ import { IClient, TGetParams, TPostParams } from '../internal/types';
2
+ export declare class DefaultClient implements IClient<Response, FormData | ArrayBuffer> {
3
+ domain: string;
4
+ constructor(domain?: string);
5
+ get: (params: TGetParams) => Promise<Response>;
6
+ post: (params: TPostParams<FormData | ArrayBuffer>) => Promise<Response>;
7
+ private fetchWithTimeout;
6
8
  }
@@ -3,18 +3,34 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DefaultClient = void 0;
4
4
  const utils_1 = require("../internal/utils");
5
5
  class DefaultClient {
6
- get(url, parameters, headers) {
7
- return fetch((0, utils_1.addParametersToPath)(url, parameters), {
8
- method: 'GET',
9
- headers: headers,
10
- });
6
+ domain;
7
+ constructor(domain = '') {
8
+ this.domain = domain;
11
9
  }
12
- post(url, data, parameters, headers) {
13
- return fetch((0, utils_1.addParametersToPath)(url, parameters), {
10
+ get = (params) => {
11
+ return this.fetchWithTimeout((0, utils_1.addParametersToPath)(params.path, params.parameters), {
12
+ method: 'GET',
13
+ headers: params.headers,
14
+ }, params.timeout);
15
+ };
16
+ post = (params) => {
17
+ return this.fetchWithTimeout((0, utils_1.addParametersToPath)(params.path, params.parameters), {
14
18
  method: 'POST',
15
- body: data,
16
- headers: headers,
17
- });
19
+ body: params.data,
20
+ headers: params.headers,
21
+ }, params.timeout);
22
+ };
23
+ async fetchWithTimeout(path, options, timeout) {
24
+ const controller = new AbortController();
25
+ const timeoutId = timeout !== undefined ? setTimeout(() => controller.abort(), timeout) : null;
26
+ try {
27
+ return await fetch(`${this.domain}${path}`, { ...options, signal: controller.signal });
28
+ }
29
+ finally {
30
+ if (timeoutId) {
31
+ clearTimeout(timeoutId);
32
+ }
33
+ }
18
34
  }
19
35
  }
20
36
  exports.DefaultClient = DefaultClient;
@@ -1,13 +1,17 @@
1
- export declare class WsClient {
1
+ import { IWsClient } from '../internal/types';
2
+ export declare class WsClient implements IWsClient {
2
3
  private getUrl;
3
- private getAuthToken;
4
4
  isDestroyed: boolean;
5
5
  private ws;
6
6
  private restartTimeout;
7
- constructor(getUrl: () => string, getAuthToken: () => Promise<string>);
7
+ constructor(getUrl: () => string);
8
8
  init(): void;
9
- send: (msg: string) => void;
10
- onmessage: (_: MessageEvent) => void;
9
+ send: (msg: string | ArrayBuffer) => void;
10
+ onMessage: (_: ArrayBuffer | string) => void;
11
+ onOpen: () => void;
12
+ onClose: () => void;
13
+ onError: (error: Error) => void;
14
+ reconnect: () => void;
11
15
  destroy: () => void;
12
16
  private destroyWebsocket;
13
17
  }
@@ -1,16 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WsClient = void 0;
4
- const REFRESH_TIMEOUT = 5_000;
4
+ const REFRESH_TIMEOUT = 5000;
5
5
  class WsClient {
6
6
  getUrl;
7
- getAuthToken;
8
7
  isDestroyed = false;
9
8
  ws = null;
10
9
  restartTimeout = null;
11
- constructor(getUrl, getAuthToken) {
10
+ constructor(getUrl) {
12
11
  this.getUrl = getUrl;
13
- this.getAuthToken = getAuthToken;
14
12
  }
15
13
  init() {
16
14
  if (this.isDestroyed) {
@@ -18,32 +16,32 @@ class WsClient {
18
16
  }
19
17
  this.destroyWebsocket();
20
18
  const ws = new WebSocket(this.getUrl(), 'events');
21
- ws.onopen = async () => {
22
- try {
23
- const token = await this.getAuthToken();
24
- ws.send(JSON.stringify({ authorization: token }));
25
- }
26
- catch (error) {
27
- console.error('Error sending auth token:', error);
28
- ws.close();
29
- }
30
- };
31
- ws.onmessage = (e) => this.onmessage(e);
19
+ ws.binaryType = 'arraybuffer';
20
+ ws.onopen = () => this.onOpen();
21
+ ws.onmessage = (e) => this.onMessage(e.data);
32
22
  ws.onclose = () => {
33
- this.restartTimeout = setTimeout(() => this.init(), REFRESH_TIMEOUT);
23
+ this.restartTimeout = window.setTimeout(() => this.init(), REFRESH_TIMEOUT);
34
24
  };
35
25
  this.ws = ws;
36
26
  }
37
27
  send = (msg) => {
38
28
  this.ws?.send(msg);
39
29
  };
40
- onmessage = (_) => { };
30
+ onMessage = (_) => { };
31
+ onOpen = () => { };
32
+ onClose = () => { };
33
+ onError = (error) => {
34
+ console.error(error);
35
+ };
36
+ reconnect = () => {
37
+ this.ws?.close();
38
+ };
41
39
  destroy = () => {
42
40
  this.isDestroyed = true;
43
41
  this.destroyWebsocket();
44
42
  };
45
43
  destroyWebsocket() {
46
- if (this.restartTimeout) {
44
+ if (this.restartTimeout !== null) {
47
45
  clearTimeout(this.restartTimeout);
48
46
  this.restartTimeout = null;
49
47
  }
@@ -0,0 +1,8 @@
1
+ import { IWsClient } from '../internal/types';
2
+ import { WsEvents } from '../internal/WsEvents';
3
+ import { TCamOverlayEvent } from '../types/ws/CamOverlayEvents';
4
+ export declare class CamOverlayEvents extends WsEvents<TCamOverlayEvent> {
5
+ private getAuthToken;
6
+ constructor(ws: IWsClient, getAuthToken: () => Promise<string>);
7
+ private sendInitMsg;
8
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CamOverlayEvents = void 0;
4
+ const WsEvents_1 = require("../internal/WsEvents");
5
+ const CamOverlayEvents_1 = require("../types/ws/CamOverlayEvents");
6
+ class CamOverlayEvents extends WsEvents_1.WsEvents {
7
+ getAuthToken;
8
+ constructor(ws, getAuthToken) {
9
+ super((data) => CamOverlayEvents_1.coEventsSchema.parse(data), ws);
10
+ this.getAuthToken = getAuthToken;
11
+ this.ws.onOpen = this.sendInitMsg;
12
+ }
13
+ sendInitMsg = async () => {
14
+ try {
15
+ const token = await this.getAuthToken();
16
+ this.ws.send(JSON.stringify({ authorization: token }));
17
+ }
18
+ catch (error) {
19
+ console.error('Error on open:', error);
20
+ this.ws.reconnect();
21
+ }
22
+ };
23
+ }
24
+ exports.CamOverlayEvents = CamOverlayEvents;
@@ -0,0 +1,8 @@
1
+ import { IWsClient } from '../internal/types';
2
+ import { WsEvents } from '../internal/WsEvents';
3
+ import { TCamStreamerEvent } from '../types/ws/CamStreamerEvents';
4
+ export declare class CamStreamerEvents extends WsEvents<TCamStreamerEvent> {
5
+ private getAuthToken;
6
+ constructor(ws: IWsClient, getAuthToken: () => Promise<string>);
7
+ private sendInitMsg;
8
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CamStreamerEvents = void 0;
4
+ const WsEvents_1 = require("../internal/WsEvents");
5
+ const CamStreamerEvents_1 = require("../types/ws/CamStreamerEvents");
6
+ class CamStreamerEvents extends WsEvents_1.WsEvents {
7
+ getAuthToken;
8
+ constructor(ws, getAuthToken) {
9
+ super((data) => CamStreamerEvents_1.csEventsSchema.parse(data), ws);
10
+ this.getAuthToken = getAuthToken;
11
+ this.ws.onOpen = this.sendInitMsg;
12
+ }
13
+ sendInitMsg = async () => {
14
+ try {
15
+ const token = await this.getAuthToken();
16
+ this.ws.send(JSON.stringify({ authorization: token }));
17
+ }
18
+ catch (error) {
19
+ console.error('Error on open:', error);
20
+ this.ws.reconnect();
21
+ }
22
+ };
23
+ }
24
+ exports.CamStreamerEvents = CamStreamerEvents;
@@ -0,0 +1,8 @@
1
+ import { IWsClient } from '../internal/types';
2
+ import { WsEvents } from '../internal/WsEvents';
3
+ import { TCamSwitcherEvent } from '../types/ws/CamSwitcherEvents';
4
+ export declare class CamSwitcherEvents extends WsEvents<TCamSwitcherEvent> {
5
+ private getAuthToken;
6
+ constructor(ws: IWsClient, getAuthToken: () => Promise<string>);
7
+ private sendInitMsg;
8
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CamSwitcherEvents = void 0;
4
+ const WsEvents_1 = require("../internal/WsEvents");
5
+ const CamSwitcherEvents_1 = require("../types/ws/CamSwitcherEvents");
6
+ class CamSwitcherEvents extends WsEvents_1.WsEvents {
7
+ getAuthToken;
8
+ constructor(ws, getAuthToken) {
9
+ super((data) => CamSwitcherEvents_1.cswEventsSchema.parse(data), ws);
10
+ this.getAuthToken = getAuthToken;
11
+ this.ws.onOpen = this.sendInitMsg;
12
+ }
13
+ sendInitMsg = async () => {
14
+ try {
15
+ const token = await this.getAuthToken();
16
+ this.ws.send(JSON.stringify({ authorization: token }));
17
+ }
18
+ catch (error) {
19
+ console.error('Error on open:', error);
20
+ this.ws.reconnect();
21
+ }
22
+ };
23
+ }
24
+ exports.CamSwitcherEvents = CamSwitcherEvents;
@@ -0,0 +1,9 @@
1
+ import { IWsClient } from '../internal/types';
2
+ import { WsEvents } from '../internal/WsEvents';
3
+ import { TApiUser } from '../types/PlaneTrackerAPI';
4
+ import { TPlaneTrackerEvent } from '../types/ws/PlaneTrackerEvents';
5
+ export declare class PlaneTrackerEvents extends WsEvents<TPlaneTrackerEvent> {
6
+ private _apiUser;
7
+ constructor(ws: IWsClient, _apiUser: TApiUser);
8
+ private sendInitMsg;
9
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PlaneTrackerEvents = void 0;
4
+ const WsEvents_1 = require("../internal/WsEvents");
5
+ const PlaneTrackerEvents_1 = require("../types/ws/PlaneTrackerEvents");
6
+ class PlaneTrackerEvents extends WsEvents_1.WsEvents {
7
+ _apiUser;
8
+ constructor(ws, _apiUser) {
9
+ super((data) => {
10
+ const parsedData = PlaneTrackerEvents_1.ptrEventsSchema.parse(data);
11
+ if (parsedData.type === PlaneTrackerEvents_1.PlaneTrackerWsEvents.USER_ACTION) {
12
+ const { type, ...actionData } = parsedData;
13
+ const userAction = PlaneTrackerEvents_1.planeTrackerUserActionData.parse(actionData);
14
+ return { ...userAction, type };
15
+ }
16
+ return parsedData;
17
+ }, ws);
18
+ this._apiUser = _apiUser;
19
+ this.ws.onOpen = this.sendInitMsg;
20
+ }
21
+ sendInitMsg = () => {
22
+ this.ws.send(JSON.stringify({
23
+ type: 'USER_INFO',
24
+ userId: this._apiUser.userId,
25
+ userName: this._apiUser.userName,
26
+ userPriority: this._apiUser.userPriority,
27
+ }));
28
+ };
29
+ }
30
+ exports.PlaneTrackerEvents = PlaneTrackerEvents;