camstreamerlib 4.0.0-beta.10 → 4.0.0-beta.101

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (408) hide show
  1. package/README.md +143 -38
  2. package/cjs/CamOverlayAPI.d.ts +579 -341
  3. package/cjs/CamOverlayAPI.js +112 -149
  4. package/cjs/CamScripterAPI.d.ts +44 -17
  5. package/cjs/CamScripterAPI.js +50 -34
  6. package/cjs/CamStreamerAPI.d.ts +2080 -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 +84 -44
  13. package/cjs/VapixAPI.js +285 -213
  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 +7 -6
  39. package/cjs/node/DefaultClient.js +12 -14
  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} +2356 -849
  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 +122 -121
  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 +13791 -0
  93. package/cjs/types/CamStreamerAPI/CamStreamerAPI.js +153 -0
  94. package/cjs/types/CamStreamerAPI/churchSchema.d.ts +275 -0
  95. package/cjs/types/CamStreamerAPI/churchSchema.js +11 -0
  96. package/cjs/types/CamStreamerAPI/daCastSchema.d.ts +275 -0
  97. package/cjs/types/CamStreamerAPI/daCastSchema.js +11 -0
  98. package/cjs/types/CamStreamerAPI/dailymotionSchema.d.ts +275 -0
  99. package/cjs/types/CamStreamerAPI/dailymotionSchema.js +11 -0
  100. package/cjs/types/CamStreamerAPI/facebookSchema.d.ts +275 -0
  101. package/cjs/types/CamStreamerAPI/facebookSchema.js +11 -0
  102. package/cjs/types/CamStreamerAPI/gameChangerSchema.d.ts +275 -0
  103. package/cjs/types/CamStreamerAPI/gameChangerSchema.js +11 -0
  104. package/cjs/types/CamStreamerAPI/hlsPullSchema.d.ts +275 -0
  105. package/cjs/types/CamStreamerAPI/hlsPullSchema.js +11 -0
  106. package/cjs/types/CamStreamerAPI/hlsPushSchema.d.ts +275 -0
  107. package/cjs/types/CamStreamerAPI/hlsPushSchema.js +11 -0
  108. package/cjs/types/CamStreamerAPI/ibmSchema.d.ts +275 -0
  109. package/cjs/types/CamStreamerAPI/ibmSchema.js +11 -0
  110. package/cjs/types/CamStreamerAPI/index.d.ts +8 -0
  111. package/cjs/types/CamStreamerAPI/index.js +24 -0
  112. package/cjs/types/CamStreamerAPI/microsoftAzureSchema.d.ts +275 -0
  113. package/cjs/types/CamStreamerAPI/microsoftAzureSchema.js +11 -0
  114. package/cjs/types/CamStreamerAPI/microsoftStreamSchema.d.ts +275 -0
  115. package/cjs/types/CamStreamerAPI/microsoftStreamSchema.js +11 -0
  116. package/cjs/types/CamStreamerAPI/mpegDvbSchema.d.ts +323 -0
  117. package/cjs/types/CamStreamerAPI/mpegDvbSchema.js +27 -0
  118. package/cjs/types/{CamStreamerAPI.d.ts → CamStreamerAPI/oldStreamSchema.d.ts} +100 -31
  119. package/cjs/types/CamStreamerAPI/oldStreamSchema.js +53 -0
  120. package/cjs/types/CamStreamerAPI/rtmpSchema.d.ts +284 -0
  121. package/cjs/types/CamStreamerAPI/rtmpSchema.js +14 -0
  122. package/cjs/types/CamStreamerAPI/sdCardSchema.d.ts +275 -0
  123. package/cjs/types/CamStreamerAPI/sdCardSchema.js +11 -0
  124. package/cjs/types/CamStreamerAPI/srtSchema.d.ts +275 -0
  125. package/cjs/types/CamStreamerAPI/srtSchema.js +11 -0
  126. package/cjs/types/CamStreamerAPI/streamCommonTypes.d.ts +492 -0
  127. package/cjs/types/CamStreamerAPI/streamCommonTypes.js +85 -0
  128. package/cjs/types/CamStreamerAPI/twitchSchema.d.ts +275 -0
  129. package/cjs/types/CamStreamerAPI/twitchSchema.js +11 -0
  130. package/cjs/types/CamStreamerAPI/vimeoSchema.d.ts +275 -0
  131. package/cjs/types/CamStreamerAPI/vimeoSchema.js +11 -0
  132. package/cjs/types/CamStreamerAPI/windySchema.d.ts +275 -0
  133. package/cjs/types/CamStreamerAPI/windySchema.js +11 -0
  134. package/cjs/types/CamStreamerAPI/wowzaSchema.d.ts +275 -0
  135. package/cjs/types/CamStreamerAPI/wowzaSchema.js +11 -0
  136. package/cjs/types/CamStreamerAPI/youtubeSchema.d.ts +317 -0
  137. package/cjs/types/CamStreamerAPI/youtubeSchema.js +25 -0
  138. package/cjs/types/CamSwitcherAPI.d.ts +189 -110
  139. package/cjs/types/CamSwitcherAPI.js +38 -1
  140. package/cjs/{events → types}/GenetecAgent.d.ts +47 -47
  141. package/cjs/types/GenetecAgent.js +31 -0
  142. package/cjs/types/PlaneTrackerAPI.d.ts +980 -0
  143. package/cjs/types/PlaneTrackerAPI.js +333 -0
  144. package/cjs/types/VapixAPI.d.ts +339 -99
  145. package/cjs/types/VapixAPI.js +66 -3
  146. package/cjs/types/VapixEvents.d.ts +15 -0
  147. package/cjs/types/VapixEvents.js +2 -0
  148. package/cjs/types/common.d.ts +18 -5
  149. package/cjs/types/common.js +5 -2
  150. package/cjs/types/ws/CamOverlayEvents.d.ts +88 -0
  151. package/cjs/types/ws/CamOverlayEvents.js +19 -0
  152. package/cjs/types/ws/CamStreamerEvents.d.ts +249 -0
  153. package/cjs/types/ws/CamStreamerEvents.js +32 -0
  154. package/cjs/types/ws/PlaneTrackerEvents.d.ts +1703 -0
  155. package/cjs/types/ws/PlaneTrackerEvents.js +207 -0
  156. package/cjs/web/DefaultClient.d.ts +7 -4
  157. package/cjs/web/DefaultClient.js +25 -9
  158. package/cjs/web/WsClient.d.ts +9 -5
  159. package/cjs/web/WsClient.js +16 -18
  160. package/cjs/ws/CamOverlayEvents.d.ts +8 -0
  161. package/cjs/ws/CamOverlayEvents.js +24 -0
  162. package/cjs/ws/CamStreamerEvents.d.ts +8 -0
  163. package/cjs/ws/CamStreamerEvents.js +24 -0
  164. package/cjs/ws/CamSwitcherEvents.d.ts +8 -0
  165. package/cjs/ws/CamSwitcherEvents.js +24 -0
  166. package/cjs/ws/PlaneTrackerEvents.d.ts +9 -0
  167. package/cjs/ws/PlaneTrackerEvents.js +30 -0
  168. package/esm/CamOverlayAPI.js +111 -148
  169. package/esm/CamScripterAPI.js +48 -32
  170. package/esm/CamStreamerAPI.js +166 -40
  171. package/esm/CamSwitcherAPI.js +136 -120
  172. package/esm/PlaneTrackerAPI.js +250 -0
  173. package/esm/VapixAPI.js +285 -213
  174. package/esm/{CreatePackage.js → bin/CreatePackage.js} +16 -16
  175. package/esm/errors/errors.js +120 -6
  176. package/esm/index.js +20 -7
  177. package/esm/internal/ProxyClient.js +28 -34
  178. package/esm/{CamSwitcherEvents.js → internal/WsEvents.js} +26 -20
  179. package/esm/internal/types.js +1 -0
  180. package/esm/internal/utils.js +11 -1
  181. package/esm/{CamOverlayDrawingAPI.js → node/CamOverlayDrawingAPI.js} +26 -18
  182. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/Frame.js +33 -0
  183. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/Painter.js +2 -13
  184. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/ResourceManager.js +7 -5
  185. package/esm/{CamScripterAPICameraEventsGenerator.js → node/CamScripterAPICameraEventsGenerator.js} +11 -11
  186. package/esm/node/DefaultClient.js +12 -14
  187. package/esm/node/Digest.test.js +11 -0
  188. package/esm/node/HttpRequestSender.js +14 -4
  189. package/esm/node/HttpServer.js +1 -1
  190. package/esm/node/TimeZoneDaemon.js +25 -0
  191. package/esm/{VapixEvents.js → node/VapixEvents.js} +10 -10
  192. package/esm/node/WsClient.js +22 -15
  193. package/esm/{events → node/events}/AxisCameraStationEvents.js +18 -13
  194. package/esm/node/events/GenetecAgent.js +120 -0
  195. package/esm/node/index.js +18 -2
  196. package/esm/types/CamOverlayAPI/CamOverlayAPI.js +76 -0
  197. package/esm/{models → types}/CamOverlayAPI/accuweatherSchema.js +3 -4
  198. package/esm/{models → types}/CamOverlayAPI/customGraphicsSchema.js +3 -4
  199. package/esm/types/CamOverlayAPI/imagesSchema.js +6 -0
  200. package/esm/{models → types}/CamOverlayAPI/index.js +2 -4
  201. package/esm/{models → types}/CamOverlayAPI/infotickerSchema.js +3 -4
  202. package/esm/{models → types}/CamOverlayAPI/pipSchema.js +4 -5
  203. package/esm/{models → types}/CamOverlayAPI/ptzCompassSchema.js +4 -4
  204. package/esm/types/CamOverlayAPI/ptzSchema.js +9 -0
  205. package/esm/types/CamOverlayAPI/scoreBoardSchema.js +129 -0
  206. package/esm/types/CamOverlayAPI/screenSharingSchema.js +5 -0
  207. package/esm/{models/CamOverlayAPI/widgetCommonSchema.js → types/CamOverlayAPI/serviceCommonTypes.js} +32 -17
  208. package/esm/types/CamOverlayAPI/webCameraSharingSchema.js +5 -0
  209. package/esm/types/CamOverlayDrawingAPI.js +1 -0
  210. package/esm/types/CamOverlayPainter.js +11 -0
  211. package/esm/types/CamScripterAPI.js +23 -7
  212. package/esm/types/CamScripterAPICameraEventsGenerator.js +1 -0
  213. package/esm/types/CamStreamerAPI/CamStreamerAPI.js +131 -0
  214. package/esm/types/CamStreamerAPI/churchSchema.js +5 -0
  215. package/esm/types/CamStreamerAPI/daCastSchema.js +5 -0
  216. package/esm/types/CamStreamerAPI/dailymotionSchema.js +5 -0
  217. package/esm/types/CamStreamerAPI/facebookSchema.js +5 -0
  218. package/esm/types/CamStreamerAPI/gameChangerSchema.js +5 -0
  219. package/esm/types/CamStreamerAPI/hlsPullSchema.js +5 -0
  220. package/esm/types/CamStreamerAPI/hlsPushSchema.js +5 -0
  221. package/esm/types/CamStreamerAPI/ibmSchema.js +5 -0
  222. package/esm/types/CamStreamerAPI/index.js +8 -0
  223. package/esm/types/CamStreamerAPI/microsoftAzureSchema.js +5 -0
  224. package/esm/types/CamStreamerAPI/microsoftStreamSchema.js +5 -0
  225. package/esm/types/CamStreamerAPI/mpegDvbSchema.js +21 -0
  226. package/esm/types/CamStreamerAPI/oldStreamSchema.js +50 -0
  227. package/esm/types/CamStreamerAPI/rtmpSchema.js +8 -0
  228. package/esm/types/CamStreamerAPI/sdCardSchema.js +5 -0
  229. package/esm/types/CamStreamerAPI/srtSchema.js +5 -0
  230. package/esm/types/CamStreamerAPI/streamCommonTypes.js +82 -0
  231. package/esm/types/CamStreamerAPI/twitchSchema.js +5 -0
  232. package/esm/types/CamStreamerAPI/vimeoSchema.js +5 -0
  233. package/esm/types/CamStreamerAPI/windySchema.js +5 -0
  234. package/esm/types/CamStreamerAPI/wowzaSchema.js +5 -0
  235. package/esm/types/CamStreamerAPI/youtubeSchema.js +19 -0
  236. package/esm/types/CamSwitcherAPI.js +38 -1
  237. package/esm/types/GenetecAgent.js +28 -0
  238. package/esm/types/PlaneTrackerAPI.js +330 -0
  239. package/esm/types/VapixAPI.js +65 -2
  240. package/esm/types/VapixEvents.js +1 -0
  241. package/esm/types/common.js +4 -1
  242. package/esm/types/ws/CamOverlayEvents.js +16 -0
  243. package/esm/types/ws/CamStreamerEvents.js +29 -0
  244. package/esm/types/ws/PlaneTrackerEvents.js +204 -0
  245. package/esm/web/DefaultClient.js +25 -9
  246. package/esm/web/WsClient.js +16 -18
  247. package/esm/ws/CamOverlayEvents.js +20 -0
  248. package/esm/ws/CamStreamerEvents.js +20 -0
  249. package/esm/ws/CamSwitcherEvents.js +20 -0
  250. package/esm/ws/PlaneTrackerEvents.js +26 -0
  251. package/package.json +43 -9
  252. package/{esm → types}/CamOverlayAPI.d.ts +579 -341
  253. package/types/CamScripterAPI.d.ts +46 -0
  254. package/types/CamStreamerAPI.d.ts +2082 -0
  255. package/types/CamSwitcherAPI.d.ts +167 -0
  256. package/types/PlaneTrackerAPI.d.ts +241 -0
  257. package/types/VapixAPI.d.ts +118 -0
  258. package/types/bin/CreatePackage.d.ts +1 -0
  259. package/types/errors/errors.d.ts +102 -0
  260. package/types/index.d.ts +27 -0
  261. package/types/internal/ProxyClient.d.ts +10 -0
  262. package/types/internal/WsEvents.d.ts +37 -0
  263. package/types/internal/types.d.ts +47 -0
  264. package/{esm → types}/internal/utils.d.ts +3 -1
  265. package/{esm → types}/internal/versionCompare.d.ts +2 -2
  266. package/types/node/CamOverlayDrawingAPI.d.ts +41 -0
  267. package/{cjs → types/node}/CamOverlayPainter/Frame.d.ts +8 -37
  268. package/{esm → types/node}/CamOverlayPainter/Painter.d.ts +5 -21
  269. package/types/node/CamOverlayPainter/ResourceManager.d.ts +15 -0
  270. package/types/node/CamScripterAPICameraEventsGenerator.d.ts +31 -0
  271. package/types/node/DefaultClient.d.ts +16 -0
  272. package/types/node/Digest.test.d.ts +1 -0
  273. package/{esm → types}/node/HttpRequestSender.d.ts +1 -0
  274. package/{esm → types}/node/HttpServer.d.ts +1 -1
  275. package/types/node/TimeZoneDaemon.d.ts +6 -0
  276. package/types/node/VapixEvents.d.ts +16 -0
  277. package/types/node/WsClient.d.ts +30 -0
  278. package/types/node/events/AxisCameraStationEvents.d.ts +12 -0
  279. package/types/node/events/GenetecAgent.d.ts +16 -0
  280. package/types/node/index.d.ts +18 -0
  281. package/{esm/models/CamOverlayAPI/widgetsSchema.d.ts → types/types/CamOverlayAPI/CamOverlayAPI.d.ts} +2356 -849
  282. package/{esm/models → types/types}/CamOverlayAPI/accuweatherSchema.d.ts +19 -19
  283. package/{esm/models → types/types}/CamOverlayAPI/customGraphicsSchema.d.ts +122 -121
  284. package/{cjs/models → types/types}/CamOverlayAPI/imagesSchema.d.ts +21 -21
  285. package/{esm/models → types/types}/CamOverlayAPI/index.d.ts +2 -4
  286. package/{esm/models → types/types}/CamOverlayAPI/infotickerSchema.d.ts +27 -27
  287. package/{cjs/models → types/types}/CamOverlayAPI/pipSchema.d.ts +23 -23
  288. package/{cjs/models → types/types}/CamOverlayAPI/ptzCompassSchema.d.ts +20 -17
  289. package/{cjs/models → types/types}/CamOverlayAPI/ptzSchema.d.ts +30 -30
  290. package/types/types/CamOverlayAPI/scoreBoardSchema.d.ts +357 -0
  291. package/{esm/models → types/types}/CamOverlayAPI/screenSharingSchema.d.ts +17 -17
  292. package/{cjs/models/CamOverlayAPI/widgetCommonSchema.d.ts → types/types/CamOverlayAPI/serviceCommonTypes.d.ts} +79 -60
  293. package/{cjs/models → types/types}/CamOverlayAPI/webCameraSharingSchema.d.ts +17 -17
  294. package/types/types/CamOverlayDrawingAPI.d.ts +48 -0
  295. package/types/types/CamOverlayPainter.d.ts +76 -0
  296. package/types/types/CamScripterAPI.d.ts +130 -0
  297. package/types/types/CamScripterAPICameraEventsGenerator.d.ts +45 -0
  298. package/types/types/CamStreamerAPI/CamStreamerAPI.d.ts +13791 -0
  299. package/types/types/CamStreamerAPI/churchSchema.d.ts +275 -0
  300. package/types/types/CamStreamerAPI/daCastSchema.d.ts +275 -0
  301. package/types/types/CamStreamerAPI/dailymotionSchema.d.ts +275 -0
  302. package/types/types/CamStreamerAPI/facebookSchema.d.ts +275 -0
  303. package/types/types/CamStreamerAPI/gameChangerSchema.d.ts +275 -0
  304. package/types/types/CamStreamerAPI/hlsPullSchema.d.ts +275 -0
  305. package/types/types/CamStreamerAPI/hlsPushSchema.d.ts +275 -0
  306. package/types/types/CamStreamerAPI/ibmSchema.d.ts +275 -0
  307. package/types/types/CamStreamerAPI/index.d.ts +8 -0
  308. package/types/types/CamStreamerAPI/microsoftAzureSchema.d.ts +275 -0
  309. package/types/types/CamStreamerAPI/microsoftStreamSchema.d.ts +275 -0
  310. package/types/types/CamStreamerAPI/mpegDvbSchema.d.ts +323 -0
  311. package/{esm/types/CamStreamerAPI.d.ts → types/types/CamStreamerAPI/oldStreamSchema.d.ts} +100 -31
  312. package/types/types/CamStreamerAPI/rtmpSchema.d.ts +284 -0
  313. package/types/types/CamStreamerAPI/sdCardSchema.d.ts +275 -0
  314. package/types/types/CamStreamerAPI/srtSchema.d.ts +275 -0
  315. package/types/types/CamStreamerAPI/streamCommonTypes.d.ts +492 -0
  316. package/types/types/CamStreamerAPI/twitchSchema.d.ts +275 -0
  317. package/types/types/CamStreamerAPI/vimeoSchema.d.ts +275 -0
  318. package/types/types/CamStreamerAPI/windySchema.d.ts +275 -0
  319. package/types/types/CamStreamerAPI/wowzaSchema.d.ts +275 -0
  320. package/types/types/CamStreamerAPI/youtubeSchema.d.ts +317 -0
  321. package/{esm → types}/types/CamSwitcherAPI.d.ts +189 -110
  322. package/{esm/events → types/types}/GenetecAgent.d.ts +47 -47
  323. package/types/types/PlaneTrackerAPI.d.ts +980 -0
  324. package/{esm → types}/types/VapixAPI.d.ts +339 -99
  325. package/types/types/VapixEvents.d.ts +15 -0
  326. package/{esm → types}/types/common.d.ts +18 -5
  327. package/types/types/ws/CamOverlayEvents.d.ts +88 -0
  328. package/types/types/ws/CamStreamerEvents.d.ts +249 -0
  329. package/types/types/ws/PlaneTrackerEvents.d.ts +1703 -0
  330. package/types/web/DefaultClient.d.ts +8 -0
  331. package/types/web/WsClient.d.ts +17 -0
  332. package/types/ws/CamOverlayEvents.d.ts +8 -0
  333. package/types/ws/CamStreamerEvents.d.ts +8 -0
  334. package/types/ws/CamSwitcherEvents.d.ts +8 -0
  335. package/types/ws/PlaneTrackerEvents.d.ts +9 -0
  336. package/cjs/CamOverlayDrawingAPI.d.ts +0 -86
  337. package/cjs/CamOverlayPainter/ResourceManager.d.ts +0 -14
  338. package/cjs/CamOverlayPainter/ResourceManager.js +0 -46
  339. package/cjs/CamScripterAPICameraEventsGenerator.d.ts +0 -74
  340. package/cjs/CamSwitcherEvents.d.ts +0 -18
  341. package/cjs/VapixEvents.d.ts +0 -43
  342. package/cjs/events/AxisCameraStationEvents.d.ts +0 -9
  343. package/cjs/events/AxisCameraStationEvents.js +0 -48
  344. package/cjs/events/GenetecAgent.js +0 -123
  345. package/cjs/internal/common.d.ts +0 -34
  346. package/cjs/internal/common.js +0 -27
  347. package/cjs/models/CamOverlayAPI/constants.d.ts +0 -11
  348. package/cjs/models/CamOverlayAPI/constants.js +0 -14
  349. package/cjs/models/CamOverlayAPI/fileSchema.d.ts +0 -28
  350. package/cjs/models/CamOverlayAPI/fileSchema.js +0 -17
  351. package/cjs/models/CamOverlayAPI/imagesSchema.js +0 -10
  352. package/cjs/models/CamOverlayAPI/ptzSchema.js +0 -13
  353. package/cjs/models/CamOverlayAPI/screenSharingSchema.js +0 -9
  354. package/cjs/models/CamOverlayAPI/webCameraSharingSchema.js +0 -9
  355. package/cjs/models/CamOverlayAPI/widgetsSchema.js +0 -27
  356. package/cjs/node/WsEventClient.d.ts +0 -13
  357. package/cjs/node/WsEventClient.js +0 -22
  358. package/cjs/types/CamOverlayAPI.d.ts +0 -328
  359. package/cjs/types/CamOverlayAPI.js +0 -26
  360. package/cjs/types/CamStreamerAPI.js +0 -28
  361. package/esm/CamOverlayDrawingAPI.d.ts +0 -86
  362. package/esm/CamOverlayPainter/ResourceManager.d.ts +0 -14
  363. package/esm/CamScripterAPI.d.ts +0 -19
  364. package/esm/CamScripterAPICameraEventsGenerator.d.ts +0 -74
  365. package/esm/CamStreamerAPI.d.ts +0 -16
  366. package/esm/CamSwitcherAPI.d.ts +0 -52
  367. package/esm/CamSwitcherEvents.d.ts +0 -18
  368. package/esm/VapixAPI.d.ts +0 -78
  369. package/esm/VapixEvents.d.ts +0 -43
  370. package/esm/errors/errors.d.ts +0 -37
  371. package/esm/events/AxisCameraStationEvents.d.ts +0 -9
  372. package/esm/events/GenetecAgent.js +0 -119
  373. package/esm/index.d.ts +0 -14
  374. package/esm/internal/ProxyClient.d.ts +0 -11
  375. package/esm/internal/common.d.ts +0 -34
  376. package/esm/internal/common.js +0 -20
  377. package/esm/models/CamOverlayAPI/constants.d.ts +0 -11
  378. package/esm/models/CamOverlayAPI/constants.js +0 -11
  379. package/esm/models/CamOverlayAPI/fileSchema.d.ts +0 -28
  380. package/esm/models/CamOverlayAPI/fileSchema.js +0 -14
  381. package/esm/models/CamOverlayAPI/imagesSchema.js +0 -7
  382. package/esm/models/CamOverlayAPI/ptzSchema.js +0 -10
  383. package/esm/models/CamOverlayAPI/screenSharingSchema.js +0 -6
  384. package/esm/models/CamOverlayAPI/webCameraSharingSchema.js +0 -6
  385. package/esm/models/CamOverlayAPI/widgetsSchema.js +0 -24
  386. package/esm/node/DefaultClient.d.ts +0 -15
  387. package/esm/node/WsClient.d.ts +0 -39
  388. package/esm/node/WsEventClient.d.ts +0 -13
  389. package/esm/node/WsEventClient.js +0 -18
  390. package/esm/types/CamOverlayAPI.d.ts +0 -328
  391. package/esm/types/CamOverlayAPI.js +0 -14
  392. package/esm/types/CamScripterAPI.d.ts +0 -67
  393. package/esm/types/CamStreamerAPI.js +0 -25
  394. package/esm/web/DefaultClient.d.ts +0 -5
  395. package/esm/web/WsClient.d.ts +0 -13
  396. package/esm/web/index.d.ts +0 -2
  397. /package/cjs/{CreatePackage.d.ts → bin/CreatePackage.d.ts} +0 -0
  398. /package/cjs/{internal → node}/Digest.d.ts +0 -0
  399. /package/{esm/CreatePackage.d.ts → cjs/node/Digest.test.d.ts} +0 -0
  400. /package/cjs/types/{CamSwitcherEvents.d.ts → ws/CamSwitcherEvents.d.ts} +0 -0
  401. /package/cjs/types/{CamSwitcherEvents.js → ws/CamSwitcherEvents.js} +0 -0
  402. /package/esm/{internal → node}/Digest.js +0 -0
  403. /package/esm/types/{CamSwitcherEvents.js → ws/CamSwitcherEvents.js} +0 -0
  404. /package/{esm → types}/internal/constants.d.ts +0 -0
  405. /package/{esm → types}/internal/transformers.d.ts +0 -0
  406. /package/{esm/internal → types/node}/Digest.d.ts +0 -0
  407. /package/{esm/types → types/types/ws}/CamSwitcherEvents.d.ts +0 -0
  408. /package/{esm/node → types/web}/index.d.ts +0 -0
@@ -1,158 +1,112 @@
1
- import { responseStringify } from './internal/common';
2
- import { ImageType, } from './types/CamOverlayAPI';
3
- import { ParsingBlobError, ServiceNotFoundError } from './errors/errors';
1
+ import { paramToUrl } from './internal/utils';
2
+ import { ParsingBlobError, ErrorWithResponse, ServiceNotFoundError, StorageDataFetchError } from './errors/errors';
4
3
  import { networkCameraListSchema } from './types/common';
5
4
  import { z } from 'zod';
6
- import { widgetsSchema } from './models/CamOverlayAPI/widgetsSchema';
7
- import { fileListSchema, storageSchema } from './models/CamOverlayAPI/fileSchema';
8
- import { paramToUrl } from './internal/utils';
9
- export const BASE_URL = '/local/camoverlay/api';
5
+ import { ProxyClient } from './internal/ProxyClient';
6
+ import { fileListSchema, ImageType, storageDataListSchema, serviceListSchema, servicesSchema, wsResponseSchema, } from './types/CamOverlayAPI';
7
+ const BASE_PATH = '/local/camoverlay/api';
10
8
  export class CamOverlayAPI {
11
9
  client;
12
10
  constructor(client) {
13
11
  this.client = client;
14
12
  }
15
- static getProxyUrlPath = () => `${BASE_URL}/proxy.cgi`;
16
- static getFilePreviewPath = (path) => `${BASE_URL}/image.cgi?path=${encodeURIComponent(path)}`;
17
- async checkCameraTime() {
18
- const responseSchema = z.discriminatedUnion('state', [
19
- z.object({
20
- state: z.literal(true),
21
- code: z.number(),
22
- }),
23
- z.object({
24
- state: z.literal(false),
25
- code: z.number(),
26
- reason: z.union([
27
- z.literal('INVALID_TIME'),
28
- z.literal('COULDNT_RESOLVE_HOST'),
29
- z.literal('CONNECTION_ERROR'),
30
- ]),
31
- message: z.string(),
32
- }),
33
- ]);
34
- const response = await this._get(`${BASE_URL}/camera_time.cgi`);
35
- const cameraTime = responseSchema.parse(response);
36
- if (!cameraTime.state) {
37
- console.error(`Camera time check failed: ${cameraTime.reason} - ${cameraTime.message}`);
38
- }
39
- return cameraTime.state;
13
+ static getBasePath = () => BASE_PATH;
14
+ static getProxyPath = () => `${BASE_PATH}/proxy.cgi`;
15
+ static getFilePreviewPath = (path) => `${BASE_PATH}/image.cgi?path=${encodeURIComponent(path)}`;
16
+ getClient(proxyParams) {
17
+ return proxyParams ? new ProxyClient(this.client, proxyParams) : this.client;
40
18
  }
41
- async getNetworkCameraList() {
42
- const response = await this._get(`${BASE_URL}/network_camera_list.cgi`);
43
- return networkCameraListSchema.parse(response.camera_list);
19
+ async checkCameraTime(options) {
20
+ const res = await this._getJson(`${BASE_PATH}/camera_time.cgi`, undefined, options);
21
+ return z.boolean().parse(res.state);
44
22
  }
45
- async wsAuthorization() {
46
- const responseSchema = z.object({
47
- status: z.number(),
48
- message: z.string(),
49
- data: z.string(),
50
- });
51
- const response = await this._get(`${BASE_URL}/ws_authorization.cgi`);
52
- return responseSchema.parse(response).data;
23
+ async getNetworkCameraList(options) {
24
+ const res = await this._getJson(`${BASE_PATH}/network_camera_list.cgi`, undefined, options);
25
+ return networkCameraListSchema.parse(res.camera_list);
53
26
  }
54
- async getMjpegStreamImage(mjpegUrl) {
55
- return await this._getBlob(`${BASE_URL}/fetch_mjpeg_image.cgi?mjpeg_url=${encodeURIComponent(decodeURIComponent(mjpegUrl))}`);
27
+ async wsAuthorization(options) {
28
+ const res = await this._getJson(`${BASE_PATH}/ws_authorization.cgi`, undefined, options);
29
+ return wsResponseSchema.parse(res).message;
56
30
  }
57
- async listFiles(fileType) {
58
- const fileDataSchema = z.object({
59
- code: z.number(),
60
- list: fileListSchema,
61
- });
62
- const files = await this._get(`${BASE_URL}/upload_${fileType}.cgi`, {
63
- action: 'list',
64
- });
65
- return fileListSchema.parse(files.list);
31
+ async getMjpegStreamImage(mjpegUrl, options) {
32
+ return await this._getBlob(`${BASE_PATH}/fetch_mjpeg_image.cgi`, { mjpeg_url: decodeURIComponent(mjpegUrl) }, options);
33
+ }
34
+ async listFiles(fileType, options) {
35
+ const res = await this._getJson(`${BASE_PATH}/upload_${fileType}.cgi`, { action: 'list' }, options);
36
+ return fileListSchema.parse(res.list);
66
37
  }
67
- async uploadFile(fileType, formData, storage) {
68
- const path = `${BASE_URL}/upload_${fileType}.cgi`;
69
- await this._post(path, formData, {
38
+ async uploadFile(fileType, formData, storage, options) {
39
+ await this._post(`${BASE_PATH}/upload_${fileType}.cgi`, formData, {
70
40
  action: 'upload',
71
41
  storage: storage,
72
- });
42
+ }, options);
73
43
  }
74
- async removeFile(fileType, fileParams) {
75
- const path = `${BASE_URL}/upload_${fileType}.cgi`;
76
- await this._postUrlEncoded(path, {
44
+ async removeFile(fileType, fileParams, options) {
45
+ await this._postUrlEncoded(`${BASE_PATH}/upload_${fileType}.cgi`, {
77
46
  action: 'remove',
78
47
  ...fileParams,
79
- });
48
+ }, options, undefined);
80
49
  }
81
- async getFileStorage(fileType) {
82
- const storageDataListSchema = z.array(z.object({
83
- type: storageSchema,
84
- state: z.string(),
85
- }));
86
- const responseSchema = z.object({
87
- code: z.number(),
88
- list: storageDataListSchema,
89
- });
90
- const data = await this._get(`${BASE_URL}/upload_${fileType}.cgi`, {
91
- action: 'get_storage',
92
- });
93
- if (data.code !== 200) {
94
- throw new Error('Error occured while fetching file storage data');
50
+ async getFileStorage(fileType, options) {
51
+ const res = await this._getJson(`${BASE_PATH}/upload_${fileType}.cgi`, { action: 'get_storage' }, options);
52
+ if (res.code !== 200) {
53
+ throw new StorageDataFetchError(res);
95
54
  }
96
- return storageDataListSchema.parse(data.list);
55
+ return storageDataListSchema.parse(res.list);
97
56
  }
98
- async getFilePreviewFromCamera(path) {
99
- return await this._getBlob(CamOverlayAPI.getFilePreviewPath(path));
57
+ async getFilePreviewFromCamera(path, options) {
58
+ return await this._getBlob(CamOverlayAPI.getFilePreviewPath(path), undefined, options);
100
59
  }
101
- async updateInfoticker(serviceID, text) {
102
- await this._get(`${BASE_URL}/infoticker.cgi?service_id=${serviceID}&text=${text}`);
60
+ async updateInfoticker(serviceId, text, options) {
61
+ await this._getJson(`${BASE_PATH}/infoticker.cgi`, { service_id: serviceId, text: text }, options);
103
62
  }
104
- async setEnabled(serviceID, enabled) {
105
- await this._post(`${BASE_URL}/enabled.cgi?id_${serviceID}=${enabled ? 1 : 0}`, '');
63
+ async setEnabled(serviceId, enabled, options) {
64
+ await this._post(`${BASE_PATH}/enabled.cgi`, '', { [`id_${serviceId}`]: enabled ? 1 : 0 }, options);
106
65
  }
107
- async isEnabled(serviceID) {
108
- const res = await this.client.get(`${BASE_URL}/services.cgi?action=get`);
66
+ async isEnabled(serviceId, options) {
67
+ const agent = this.getClient(options?.proxyParams);
68
+ const res = await agent.get({
69
+ path: `${BASE_PATH}/services.cgi`,
70
+ parameters: { action: 'get' },
71
+ timeout: options?.timeout,
72
+ });
109
73
  if (res.ok) {
110
74
  const data = JSON.parse(await res.text());
111
75
  for (const service of data.services) {
112
- if (service.id === serviceID) {
76
+ if (service.id === serviceId) {
113
77
  return service.enabled === 1;
114
78
  }
115
79
  }
116
80
  throw new ServiceNotFoundError();
117
81
  }
118
82
  else {
119
- throw new Error(await responseStringify(res));
83
+ throw new ErrorWithResponse(res);
120
84
  }
121
85
  }
122
- async getSingleWidget(serviceId) {
123
- const data = await this._get(`${BASE_URL}/services.cgi`, {
86
+ async getSingleService(serviceId, options) {
87
+ const res = await this._getJson(`${BASE_PATH}/services.cgi`, {
124
88
  action: 'get',
125
- service_id: serviceId.toString(),
126
- });
127
- return widgetsSchema.parse(data);
89
+ service_id: serviceId,
90
+ }, options);
91
+ return servicesSchema.parse(res);
128
92
  }
129
- async getWidgets() {
130
- const widgetList = await this._get(`${BASE_URL}/services.cgi`, {
131
- action: 'get',
132
- });
133
- const widgets = widgetList.services;
134
- widgets.forEach((widget) => {
135
- const parsedWidget = widgetsSchema.safeParse(widget);
136
- if (!parsedWidget.success) {
137
- console.warn(`[SERVICE SCHEMA MISMATCH]: Service ${widget.name} (${widget.id}) does not match the current schema, or is a hidden service.`);
138
- }
139
- });
140
- return widgets;
93
+ async getServices(options) {
94
+ const res = await this._getJson(`${BASE_PATH}/services.cgi`, { action: 'get' }, options);
95
+ const services = serviceListSchema.parse(res).services;
96
+ return services;
141
97
  }
142
- async updateSingleWidget(widget) {
143
- const path = `${BASE_URL}/services.cgi`;
144
- await this._postJsonEncoded(path, JSON.stringify(widget), {
98
+ async updateSingleService(service, options) {
99
+ await this._postJsonEncoded(`${BASE_PATH}/services.cgi`, JSON.stringify(service), {
145
100
  action: 'set',
146
- service_id: widget.id.toString(),
147
- });
101
+ service_id: service.id,
102
+ }, options, undefined);
148
103
  }
149
- async updateWidgets(widgets) {
150
- const path = `${BASE_URL}/services.cgi`;
151
- await this._postJsonEncoded(path, JSON.stringify({ services: widgets }), {
104
+ async updateServices(services, options) {
105
+ await this._postJsonEncoded(`${BASE_PATH}/services.cgi`, JSON.stringify({ services: services }), {
152
106
  action: 'set',
153
- });
107
+ }, options, undefined);
154
108
  }
155
- updateCGText(serviceID, fields) {
109
+ updateCGText(serviceId, fields, options) {
156
110
  const params = {};
157
111
  for (const field of fields) {
158
112
  const name = field.field_name;
@@ -161,92 +115,101 @@ export class CamOverlayAPI {
161
115
  params[`${name}_color`] = field.color;
162
116
  }
163
117
  }
164
- return this.promiseCGUpdate(serviceID, 'update_text', params);
118
+ return this.promiseCGUpdate(serviceId, 'update_text', params, undefined, undefined, options);
165
119
  }
166
- updateCGImagePos(serviceID, coordinates = '', x = 0, y = 0) {
120
+ updateCGImagePos(serviceId, coordinates = '', x = 0, y = 0, options) {
167
121
  const params = {
168
122
  coord_system: coordinates,
169
123
  pos_x: x,
170
124
  pos_y: y,
171
125
  };
172
- return this.promiseCGUpdate(serviceID, 'update_image', params);
126
+ return this.promiseCGUpdate(serviceId, 'update_image', params, undefined, undefined, options);
173
127
  }
174
- updateCGImage(serviceID, path, coordinates = '', x = 0, y = 0) {
128
+ updateCGImage(serviceId, path, coordinates = '', x = 0, y = 0, options) {
175
129
  const params = {
176
130
  coord_system: coordinates,
177
131
  pos_x: x,
178
132
  pos_y: y,
179
133
  image: path,
180
134
  };
181
- return this.promiseCGUpdate(serviceID, 'update_image', params);
135
+ return this.promiseCGUpdate(serviceId, 'update_image', params, undefined, undefined, options);
182
136
  }
183
- updateCGImageFromData(serviceID, imageType, imageData, coordinates = '', x = 0, y = 0) {
137
+ updateCGImageFromData(serviceId, imageType, imageData, coordinates = '', x = 0, y = 0, options) {
184
138
  const contentType = imageType === ImageType.PNG ? 'image/png' : 'image/jpeg';
185
139
  const params = {
186
140
  coord_system: coordinates,
187
141
  pos_x: x,
188
142
  pos_y: y,
189
143
  };
190
- return this.promiseCGUpdate(serviceID, 'update_image', params, contentType, imageData);
144
+ return this.promiseCGUpdate(serviceId, 'update_image', params, contentType, imageData, options);
191
145
  }
192
- async promiseCGUpdate(serviceID, action, params = {}, contentType, data) {
193
- const path = `${BASE_URL}/customGraphics.cgi`;
146
+ async promiseCGUpdate(serviceId, action, params = {}, contentType, data, options) {
147
+ const path = `${BASE_PATH}/customGraphics.cgi`;
194
148
  let headers = {};
195
- if (contentType !== undefined && data) {
149
+ if (contentType !== undefined && data !== undefined) {
196
150
  headers = { 'Content-Type': contentType };
197
151
  }
198
- const res = await this.client.post(path, data ?? '', {
199
- action: action,
200
- service_id: serviceID.toString(),
201
- ...params,
202
- }, headers);
152
+ const agent = this.getClient(options?.proxyParams);
153
+ const res = await agent.post({
154
+ path,
155
+ data: data ?? '',
156
+ parameters: {
157
+ action: action,
158
+ service_id: serviceId.toString(),
159
+ ...params,
160
+ },
161
+ headers,
162
+ timeout: options?.timeout,
163
+ });
203
164
  if (!res.ok) {
204
- throw new Error(await responseStringify(res));
165
+ throw new ErrorWithResponse(res);
205
166
  }
206
167
  }
207
- async _get(...args) {
208
- const res = await this.client.get(...args);
168
+ async _getJson(path, parameters, options) {
169
+ const agent = this.getClient(options?.proxyParams);
170
+ const res = await agent.get({ path, parameters, timeout: options?.timeout });
209
171
  if (res.ok) {
210
- return (await res.json());
172
+ return await res.json();
211
173
  }
212
174
  else {
213
- throw new Error(await responseStringify(res));
175
+ throw new ErrorWithResponse(res);
214
176
  }
215
177
  }
216
- async _post(...args) {
217
- const res = await this.client.post(...args);
178
+ async _post(path, data, parameters, options, headers) {
179
+ const agent = this.getClient(options?.proxyParams);
180
+ const res = await agent.post({ path, data, parameters, headers, timeout: options?.timeout });
218
181
  if (res.ok) {
219
- return (await res.json());
182
+ return await res.json();
220
183
  }
221
184
  else {
222
- throw new Error(await responseStringify(res));
185
+ throw new ErrorWithResponse(res);
223
186
  }
224
187
  }
225
- async _getBlob(...args) {
226
- const res = await this.client.get(...args);
188
+ async _getBlob(path, parameters, options) {
189
+ const agent = this.getClient(options?.proxyParams);
190
+ const res = await agent.get({ path, parameters, timeout: options?.timeout });
227
191
  if (res.ok) {
228
192
  return await this.parseBlobResponse(res);
229
193
  }
230
194
  else {
231
- throw new Error(await responseStringify(res));
195
+ throw new ErrorWithResponse(res);
232
196
  }
233
197
  }
234
198
  async parseBlobResponse(response) {
235
199
  try {
236
- return await response.blob();
200
+ return (await response.blob());
237
201
  }
238
202
  catch (err) {
239
203
  throw new ParsingBlobError(err);
240
204
  }
241
205
  }
242
- async _postUrlEncoded(path, params, headers) {
243
- const data = paramToUrl(params);
206
+ async _postUrlEncoded(path, parameters, options, headers) {
207
+ const data = paramToUrl(parameters);
244
208
  const baseHeaders = { 'Content-Type': 'application/x-www-form-urlencoded' };
245
- return this._post(path, data, {}, { ...baseHeaders, ...headers });
209
+ return this._post(path, data, undefined, options, { ...baseHeaders, ...headers });
246
210
  }
247
- async _postJsonEncoded(...args) {
248
- const [path, data, params, headers] = args;
211
+ async _postJsonEncoded(path, data, parameters, options, headers) {
249
212
  const baseHeaders = { 'Accept': 'application/json', 'Content-Type': 'application/json' };
250
- return this._post(path, data, params, { ...baseHeaders, ...headers });
213
+ return this._post(path, data, parameters, options, { ...baseHeaders, ...headers });
251
214
  }
252
215
  }
@@ -1,60 +1,76 @@
1
- import { responseStringify } from './internal/common';
2
- import { packageInfoListSchema, storageSchema, } from './types/CamScripterAPI';
1
+ import { ErrorWithResponse } from './errors/errors';
2
+ import { ProxyClient } from './internal/ProxyClient';
3
+ import { cameraTimeResponseSchema, nodeStateSchema, packageInfoListSchema, cameraStorageSchema, } from './types/CamScripterAPI';
3
4
  import { networkCameraListSchema } from './types/common';
4
- export class CamOverlayAPI {
5
+ const BASE_PATH = '/local/camscripter';
6
+ export class CamScripterAPI {
5
7
  client;
6
8
  constructor(client) {
7
9
  this.client = client;
8
10
  }
9
- async checkCameraTime() {
10
- return (await this.get('/local/camscripter/camera_time.cgi')).state;
11
+ static getProxyPath = () => `${BASE_PATH}/proxy.cgi`;
12
+ getClient(proxyParams) {
13
+ return proxyParams ? new ProxyClient(this.client, proxyParams) : this.client;
11
14
  }
12
- async getStorageInfo() {
13
- const data = await this.get(`/local/camscripter/package/get_storage.cgi`);
14
- return storageSchema.parse(data);
15
+ async checkCameraTime(options) {
16
+ const res = await this._getJson(`${BASE_PATH}/camera_time.cgi`, undefined, options);
17
+ return cameraTimeResponseSchema.parse(res).state;
15
18
  }
16
- async getNetworkCameraList() {
17
- const response = await this.get('/local/camscripter/network_camera_list.cgi');
18
- return networkCameraListSchema.parse(response.camera_list);
19
+ async getNetworkCameraList(options) {
20
+ const res = await this._getJson(`${BASE_PATH}/network_camera_list.cgi`, undefined, options);
21
+ return networkCameraListSchema.parse(res.camera_list);
19
22
  }
20
- async getPackageList() {
21
- const data = await this.get('/local/camscripter/package/list.cgi');
22
- return packageInfoListSchema.parse(data);
23
+ async getStorageInfo(options) {
24
+ const res = await this._getJson(`${BASE_PATH}/package/get_storage.cgi`, undefined, options);
25
+ return cameraStorageSchema.parse(res);
23
26
  }
24
- async installPackages(formData, storage) {
25
- await this.post(`/local/camscripter/package/install.cgi?storage=${storage}`, formData);
27
+ async getPackageList(options) {
28
+ const res = await this._getJson(`${BASE_PATH}/package/list.cgi`, undefined, options);
29
+ return packageInfoListSchema.parse(res);
26
30
  }
27
- async uninstallPackage(packageId) {
28
- await this.get(`/local/camscripter/package/remove.cgi?package_name=${packageId}`);
31
+ async installPackages(formData, storage, options) {
32
+ await this._post(`${BASE_PATH}/package/install.cgi`, formData, { storage: storage }, options);
29
33
  }
30
- async importSettings(packageId, formData) {
31
- await this.post(`/local/camscripter/package/data.cgi?action=IMPORT&package_name=${packageId}`, formData);
34
+ async uninstallPackage(packageId, options) {
35
+ await this._getJson(`${BASE_PATH}/package/remove.cgi`, { package_name: packageId }, options);
32
36
  }
33
- async exportSettings(packageId, formData) {
34
- await this.post(`/local/camscripter/package/data.cgi?action=EXPORT&package_name=${packageId}`, formData);
37
+ async importSettings(packageId, formData, options) {
38
+ await this._post(`${BASE_PATH}/package/data.cgi`, formData, {
39
+ action: 'IMPORT',
40
+ package_name: packageId,
41
+ }, options);
35
42
  }
36
- async getNodejsStatus() {
37
- return (await this.get('/local/camscripter/diagnostics.cgi')).node_state;
43
+ async exportSettings(packageId, formData, options) {
44
+ await this._post(`${BASE_PATH}/package/data.cgi`, formData, {
45
+ action: 'EXPORT',
46
+ package_name: packageId,
47
+ }, options);
38
48
  }
39
- async installNodejs(storage) {
40
- await this.get(`/local/camscripter/node_update.cgi?storage=${storage}`);
49
+ async getNodejsStatus(options) {
50
+ const res = await this._getJson(`${BASE_PATH}/diagnostics.cgi`, undefined, options);
51
+ return nodeStateSchema.parse(res);
41
52
  }
42
- async get(path, params) {
43
- const res = await this.client.get(path, params);
53
+ async installNodejs(storage, options) {
54
+ await this._getJson(`${BASE_PATH}/node_update.cgi`, { storage: storage }, options);
55
+ }
56
+ async _getJson(path, parameters, options) {
57
+ const agent = this.getClient(options?.proxyParams);
58
+ const res = await agent.get({ path, parameters, timeout: options?.timeout });
44
59
  if (res.ok) {
45
60
  return await res.json();
46
61
  }
47
62
  else {
48
- throw new Error(await responseStringify(res));
63
+ throw new ErrorWithResponse(res);
49
64
  }
50
65
  }
51
- async post(path, data, params) {
52
- const res = await this.client.post(path, data, params);
66
+ async _post(path, data, parameters, options, headers) {
67
+ const agent = this.getClient(options?.proxyParams);
68
+ const res = await agent.post({ path, data, parameters, headers, timeout: options?.timeout });
53
69
  if (res.ok) {
54
70
  return await res.json();
55
71
  }
56
72
  else {
57
- throw new Error(await responseStringify(res));
73
+ throw new ErrorWithResponse(res);
58
74
  }
59
75
  }
60
76
  }