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