camstreamerlib 4.0.0-beta.6 → 4.0.0-beta.60

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 (265) hide show
  1. package/README.md +142 -38
  2. package/cjs/CamOverlayAPI.js +135 -92
  3. package/cjs/CamScripterAPI.js +52 -42
  4. package/cjs/CamStreamerAPI.js +83 -39
  5. package/cjs/CamSwitcherAPI.js +141 -123
  6. package/cjs/PlaneTrackerAPI.js +247 -0
  7. package/cjs/VapixAPI.js +323 -233
  8. package/cjs/{CreatePackage.js → bin/CreatePackage.js} +22 -19
  9. package/cjs/errors/errors.js +113 -1
  10. package/cjs/index.js +28 -5
  11. package/cjs/internal/ProxyClient.js +28 -32
  12. package/cjs/{CamSwitcherEvents.js → internal/WsEvents.js} +28 -22
  13. package/cjs/internal/types.js +2 -0
  14. package/cjs/internal/utils.js +22 -3
  15. package/cjs/{CamOverlayDrawingAPI.js → node/CamOverlayDrawingAPI.js} +17 -14
  16. package/cjs/{CamOverlayPainter → node/CamOverlayPainter}/Frame.js +33 -0
  17. package/cjs/{CamOverlayPainter → node/CamOverlayPainter}/Painter.js +5 -17
  18. package/cjs/node/CamOverlayPainter/ResourceManager.js +72 -0
  19. package/cjs/{CamScripterAPICameraEventsGenerator.js → node/CamScripterAPICameraEventsGenerator.js} +16 -13
  20. package/cjs/node/DefaultClient.js +10 -12
  21. package/cjs/{internal → node}/Digest.js +8 -5
  22. package/cjs/node/Digest.test.js +13 -0
  23. package/cjs/node/HttpRequestSender.js +14 -4
  24. package/cjs/node/HttpServer.js +15 -12
  25. package/cjs/{VapixEvents.js → node/VapixEvents.js} +10 -10
  26. package/cjs/node/WsClient.js +30 -20
  27. package/cjs/node/events/AxisCameraStationEvents.js +53 -0
  28. package/cjs/node/events/GenetecAgent.js +123 -0
  29. package/cjs/node/index.js +38 -5
  30. package/cjs/types/CamOverlayAPI/CamOverlayAPI.js +92 -0
  31. package/cjs/types/CamOverlayAPI/accuweatherSchema.js +47 -0
  32. package/cjs/types/CamOverlayAPI/customGraphicsSchema.js +72 -0
  33. package/cjs/types/CamOverlayAPI/imagesSchema.js +9 -0
  34. package/cjs/types/CamOverlayAPI/index.js +27 -0
  35. package/cjs/types/CamOverlayAPI/infotickerSchema.js +26 -0
  36. package/cjs/types/CamOverlayAPI/pipSchema.js +39 -0
  37. package/cjs/types/CamOverlayAPI/ptzCompassSchema.js +26 -0
  38. package/cjs/types/CamOverlayAPI/ptzSchema.js +12 -0
  39. package/cjs/types/CamOverlayAPI/scoreBoardSchema.js +132 -0
  40. package/cjs/types/CamOverlayAPI/screenSharingSchema.js +8 -0
  41. package/cjs/types/CamOverlayAPI/serviceCommonTypes.js +91 -0
  42. package/cjs/types/CamOverlayAPI/webCameraSharingSchema.js +8 -0
  43. package/cjs/types/CamOverlayDrawingAPI.js +2 -0
  44. package/cjs/types/CamOverlayPainter.js +14 -0
  45. package/cjs/types/CamScripterAPI.js +24 -8
  46. package/cjs/types/CamScripterAPICameraEventsGenerator.js +2 -0
  47. package/cjs/types/CamStreamerAPI.js +34 -3
  48. package/cjs/types/CamSwitcherAPI.js +38 -1
  49. package/cjs/types/GenetecAgent.js +31 -0
  50. package/cjs/types/PlaneTrackerAPI.js +310 -0
  51. package/cjs/types/VapixAPI.js +71 -13
  52. package/cjs/types/VapixEvents.js +2 -0
  53. package/cjs/types/common.js +4 -2
  54. package/cjs/types/ws/CamOverlayEvents.js +19 -0
  55. package/cjs/types/ws/CamStreamerEvents.js +32 -0
  56. package/cjs/types/{CamSwitcherEvents.js → ws/CamSwitcherEvents.js} +8 -0
  57. package/cjs/types/ws/PlaneTrackerEvents.js +194 -0
  58. package/cjs/web/DefaultClient.js +26 -10
  59. package/cjs/web/WsClient.js +16 -18
  60. package/cjs/ws/CamOverlayEvents.js +24 -0
  61. package/cjs/ws/CamStreamerEvents.js +24 -0
  62. package/cjs/ws/CamSwitcherEvents.js +24 -0
  63. package/cjs/ws/PlaneTrackerEvents.js +30 -0
  64. package/esm/CamOverlayAPI.js +131 -88
  65. package/esm/CamScripterAPI.js +48 -38
  66. package/esm/CamStreamerAPI.js +81 -38
  67. package/esm/CamSwitcherAPI.js +137 -119
  68. package/esm/PlaneTrackerAPI.js +243 -0
  69. package/esm/VapixAPI.js +315 -225
  70. package/esm/{CreatePackage.js → bin/CreatePackage.js} +3 -3
  71. package/esm/errors/errors.js +96 -0
  72. package/esm/index.js +20 -4
  73. package/esm/internal/ProxyClient.js +28 -32
  74. package/esm/{CamSwitcherEvents.js → internal/WsEvents.js} +26 -20
  75. package/esm/internal/utils.js +17 -1
  76. package/esm/{CamOverlayDrawingAPI.js → node/CamOverlayDrawingAPI.js} +12 -12
  77. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/Frame.js +33 -0
  78. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/Painter.js +2 -13
  79. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/ResourceManager.js +7 -5
  80. package/esm/{CamScripterAPICameraEventsGenerator.js → node/CamScripterAPICameraEventsGenerator.js} +11 -11
  81. package/esm/node/DefaultClient.js +10 -12
  82. package/esm/{internal → node}/Digest.js +1 -1
  83. package/esm/node/Digest.test.js +11 -0
  84. package/esm/node/HttpRequestSender.js +14 -4
  85. package/esm/node/HttpServer.js +5 -5
  86. package/esm/{VapixEvents.js → node/VapixEvents.js} +10 -10
  87. package/esm/node/WsClient.js +22 -15
  88. package/esm/{events → node/events}/AxisCameraStationEvents.js +18 -13
  89. package/esm/node/events/GenetecAgent.js +119 -0
  90. package/esm/node/index.js +17 -2
  91. package/esm/types/CamOverlayAPI/CamOverlayAPI.js +76 -0
  92. package/esm/types/CamOverlayAPI/accuweatherSchema.js +44 -0
  93. package/esm/types/CamOverlayAPI/customGraphicsSchema.js +69 -0
  94. package/esm/types/CamOverlayAPI/imagesSchema.js +6 -0
  95. package/esm/types/CamOverlayAPI/index.js +11 -0
  96. package/esm/types/CamOverlayAPI/infotickerSchema.js +23 -0
  97. package/esm/types/CamOverlayAPI/pipSchema.js +36 -0
  98. package/esm/types/CamOverlayAPI/ptzCompassSchema.js +23 -0
  99. package/esm/types/CamOverlayAPI/ptzSchema.js +9 -0
  100. package/esm/types/CamOverlayAPI/scoreBoardSchema.js +129 -0
  101. package/esm/types/CamOverlayAPI/screenSharingSchema.js +5 -0
  102. package/esm/types/CamOverlayAPI/serviceCommonTypes.js +88 -0
  103. package/esm/types/CamOverlayAPI/webCameraSharingSchema.js +5 -0
  104. package/esm/types/CamOverlayPainter.js +11 -0
  105. package/esm/types/CamScripterAPI.js +23 -7
  106. package/esm/types/CamScripterAPICameraEventsGenerator.js +1 -0
  107. package/esm/types/CamStreamerAPI.js +33 -2
  108. package/esm/types/CamSwitcherAPI.js +38 -1
  109. package/esm/types/GenetecAgent.js +28 -0
  110. package/esm/types/PlaneTrackerAPI.js +307 -0
  111. package/esm/types/VapixAPI.js +70 -12
  112. package/esm/types/VapixEvents.js +1 -0
  113. package/esm/types/common.js +3 -1
  114. package/esm/types/ws/CamOverlayEvents.js +16 -0
  115. package/esm/types/ws/CamStreamerEvents.js +29 -0
  116. package/esm/types/{CamSwitcherEvents.js → ws/CamSwitcherEvents.js} +8 -0
  117. package/esm/types/ws/PlaneTrackerEvents.js +191 -0
  118. package/esm/web/DefaultClient.js +26 -10
  119. package/esm/web/WsClient.js +16 -18
  120. package/esm/ws/CamOverlayEvents.js +20 -0
  121. package/esm/ws/CamStreamerEvents.js +20 -0
  122. package/esm/ws/CamSwitcherEvents.js +20 -0
  123. package/esm/ws/PlaneTrackerEvents.js +26 -0
  124. package/package.json +29 -11
  125. package/types/CamOverlayAPI.d.ts +867 -0
  126. package/types/CamScripterAPI.d.ts +46 -0
  127. package/types/CamStreamerAPI.d.ts +64 -0
  128. package/types/CamSwitcherAPI.d.ts +167 -0
  129. package/types/PlaneTrackerAPI.d.ts +229 -0
  130. package/types/VapixAPI.d.ts +118 -0
  131. package/types/bin/CreatePackage.d.ts +1 -0
  132. package/types/errors/errors.d.ts +83 -0
  133. package/types/index.d.ts +27 -0
  134. package/types/internal/ProxyClient.d.ts +10 -0
  135. package/types/internal/WsEvents.d.ts +37 -0
  136. package/types/internal/types.d.ts +47 -0
  137. package/{cjs → types}/internal/utils.d.ts +4 -1
  138. package/{cjs → types}/internal/versionCompare.d.ts +2 -2
  139. package/types/node/CamOverlayDrawingAPI.d.ts +41 -0
  140. package/{esm → types/node}/CamOverlayPainter/Frame.d.ts +8 -37
  141. package/{cjs → types/node}/CamOverlayPainter/Painter.d.ts +5 -21
  142. package/types/node/CamOverlayPainter/ResourceManager.d.ts +15 -0
  143. package/types/node/CamScripterAPICameraEventsGenerator.d.ts +31 -0
  144. package/types/node/DefaultClient.d.ts +16 -0
  145. package/types/node/Digest.test.d.ts +1 -0
  146. package/{esm → types}/node/HttpRequestSender.d.ts +1 -0
  147. package/{cjs → types}/node/HttpServer.d.ts +2 -2
  148. package/types/node/VapixEvents.d.ts +16 -0
  149. package/types/node/WsClient.d.ts +30 -0
  150. package/types/node/events/AxisCameraStationEvents.d.ts +12 -0
  151. package/types/node/events/GenetecAgent.d.ts +16 -0
  152. package/types/node/index.d.ts +17 -0
  153. package/types/types/CamOverlayAPI/CamOverlayAPI.d.ts +4330 -0
  154. package/types/types/CamOverlayAPI/accuweatherSchema.d.ts +84 -0
  155. package/types/types/CamOverlayAPI/customGraphicsSchema.d.ts +700 -0
  156. package/types/types/CamOverlayAPI/imagesSchema.d.ts +95 -0
  157. package/types/types/CamOverlayAPI/index.d.ts +11 -0
  158. package/types/types/CamOverlayAPI/infotickerSchema.d.ts +96 -0
  159. package/types/types/CamOverlayAPI/pipSchema.d.ts +125 -0
  160. package/types/types/CamOverlayAPI/ptzCompassSchema.d.ts +96 -0
  161. package/types/types/CamOverlayAPI/ptzSchema.d.ts +118 -0
  162. package/types/types/CamOverlayAPI/scoreBoardSchema.d.ts +357 -0
  163. package/types/types/CamOverlayAPI/screenSharingSchema.d.ts +58 -0
  164. package/types/types/CamOverlayAPI/serviceCommonTypes.d.ts +145 -0
  165. package/types/types/CamOverlayAPI/webCameraSharingSchema.d.ts +58 -0
  166. package/types/types/CamOverlayDrawingAPI.d.ts +48 -0
  167. package/types/types/CamOverlayPainter.d.ts +76 -0
  168. package/types/types/CamScripterAPI.d.ts +130 -0
  169. package/types/types/CamScripterAPICameraEventsGenerator.d.ts +45 -0
  170. package/types/types/CamStreamerAPI.d.ts +272 -0
  171. package/{esm → types}/types/CamSwitcherAPI.d.ts +145 -66
  172. package/{esm/events → types/types}/GenetecAgent.d.ts +47 -47
  173. package/types/types/PlaneTrackerAPI.d.ts +918 -0
  174. package/{cjs → types}/types/VapixAPI.d.ts +647 -465
  175. package/types/types/VapixEvents.d.ts +15 -0
  176. package/{cjs → types}/types/common.d.ts +17 -5
  177. package/types/types/ws/CamOverlayEvents.d.ts +88 -0
  178. package/types/types/ws/CamStreamerEvents.d.ts +249 -0
  179. package/{cjs/types → types/types/ws}/CamSwitcherEvents.d.ts +77 -0
  180. package/types/types/ws/PlaneTrackerEvents.d.ts +1597 -0
  181. package/types/web/DefaultClient.d.ts +8 -0
  182. package/types/web/WsClient.d.ts +17 -0
  183. package/types/ws/CamOverlayEvents.d.ts +8 -0
  184. package/types/ws/CamStreamerEvents.d.ts +8 -0
  185. package/types/ws/CamSwitcherEvents.d.ts +8 -0
  186. package/types/ws/PlaneTrackerEvents.d.ts +9 -0
  187. package/cjs/CamOverlayAPI.d.ts +0 -31
  188. package/cjs/CamOverlayDrawingAPI.d.ts +0 -86
  189. package/cjs/CamOverlayPainter/Frame.d.ts +0 -96
  190. package/cjs/CamOverlayPainter/ResourceManager.d.ts +0 -14
  191. package/cjs/CamOverlayPainter/ResourceManager.js +0 -46
  192. package/cjs/CamScripterAPI.d.ts +0 -19
  193. package/cjs/CamScripterAPICameraEventsGenerator.d.ts +0 -74
  194. package/cjs/CamStreamerAPI.d.ts +0 -16
  195. package/cjs/CamSwitcherAPI.d.ts +0 -48
  196. package/cjs/CamSwitcherEvents.d.ts +0 -18
  197. package/cjs/VapixAPI.d.ts +0 -66
  198. package/cjs/VapixEvents.d.ts +0 -43
  199. package/cjs/errors/errors.d.ts +0 -34
  200. package/cjs/events/AxisCameraStationEvents.d.ts +0 -9
  201. package/cjs/events/AxisCameraStationEvents.js +0 -48
  202. package/cjs/events/GenetecAgent.d.ts +0 -174
  203. package/cjs/events/GenetecAgent.js +0 -123
  204. package/cjs/index.d.ts +0 -11
  205. package/cjs/internal/ProxyClient.d.ts +0 -11
  206. package/cjs/internal/common.d.ts +0 -39
  207. package/cjs/internal/common.js +0 -27
  208. package/cjs/node/DefaultClient.d.ts +0 -15
  209. package/cjs/node/HttpRequestSender.d.ts +0 -28
  210. package/cjs/node/WsClient.d.ts +0 -39
  211. package/cjs/node/WsEventClient.d.ts +0 -13
  212. package/cjs/node/WsEventClient.js +0 -22
  213. package/cjs/types/CamOverlayAPI.d.ts +0 -188
  214. package/cjs/types/CamOverlayAPI.js +0 -47
  215. package/cjs/types/CamScripterAPI.d.ts +0 -67
  216. package/cjs/types/CamStreamerAPI.d.ts +0 -139
  217. package/cjs/types/CamSwitcherAPI.d.ts +0 -814
  218. package/cjs/web/DefaultClient.d.ts +0 -6
  219. package/cjs/web/WsClient.d.ts +0 -13
  220. package/cjs/web/index.d.ts +0 -2
  221. package/esm/CamOverlayAPI.d.ts +0 -31
  222. package/esm/CamOverlayDrawingAPI.d.ts +0 -86
  223. package/esm/CamOverlayPainter/Painter.d.ts +0 -48
  224. package/esm/CamOverlayPainter/ResourceManager.d.ts +0 -14
  225. package/esm/CamScripterAPI.d.ts +0 -19
  226. package/esm/CamScripterAPICameraEventsGenerator.d.ts +0 -74
  227. package/esm/CamStreamerAPI.d.ts +0 -16
  228. package/esm/CamSwitcherAPI.d.ts +0 -48
  229. package/esm/CamSwitcherEvents.d.ts +0 -18
  230. package/esm/VapixAPI.d.ts +0 -66
  231. package/esm/VapixEvents.d.ts +0 -43
  232. package/esm/errors/errors.d.ts +0 -34
  233. package/esm/events/AxisCameraStationEvents.d.ts +0 -9
  234. package/esm/events/GenetecAgent.js +0 -119
  235. package/esm/index.d.ts +0 -11
  236. package/esm/internal/Digest.d.ts +0 -4
  237. package/esm/internal/ProxyClient.d.ts +0 -11
  238. package/esm/internal/common.d.ts +0 -39
  239. package/esm/internal/common.js +0 -20
  240. package/esm/internal/constants.d.ts +0 -1
  241. package/esm/internal/transformers.d.ts +0 -5
  242. package/esm/internal/utils.d.ts +0 -11
  243. package/esm/internal/versionCompare.d.ts +0 -6
  244. package/esm/node/DefaultClient.d.ts +0 -15
  245. package/esm/node/HttpServer.d.ts +0 -21
  246. package/esm/node/WsClient.d.ts +0 -39
  247. package/esm/node/WsEventClient.d.ts +0 -13
  248. package/esm/node/WsEventClient.js +0 -18
  249. package/esm/node/index.d.ts +0 -2
  250. package/esm/types/CamOverlayAPI.d.ts +0 -188
  251. package/esm/types/CamOverlayAPI.js +0 -44
  252. package/esm/types/CamScripterAPI.d.ts +0 -67
  253. package/esm/types/CamStreamerAPI.d.ts +0 -139
  254. package/esm/types/CamSwitcherEvents.d.ts +0 -491
  255. package/esm/types/VapixAPI.d.ts +0 -1683
  256. package/esm/types/common.d.ts +0 -37
  257. package/esm/web/DefaultClient.d.ts +0 -6
  258. package/esm/web/WsClient.d.ts +0 -13
  259. package/esm/web/index.d.ts +0 -2
  260. /package/{cjs/CreatePackage.d.ts → esm/internal/types.js} +0 -0
  261. /package/esm/{CreatePackage.d.ts → types/CamOverlayDrawingAPI.js} +0 -0
  262. /package/{cjs → types}/internal/constants.d.ts +0 -0
  263. /package/{cjs → types}/internal/transformers.d.ts +0 -0
  264. /package/{cjs/internal → types/node}/Digest.d.ts +0 -0
  265. /package/{cjs/node → types/web}/index.d.ts +0 -0
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GenetecAgent = void 0;
4
+ const utils_1 = require("../../internal/utils");
5
+ const GenetecAgent_1 = require("../../types/GenetecAgent");
6
+ class GenetecAgent {
7
+ settings;
8
+ baseUrl;
9
+ credentials;
10
+ constructor(options = {}) {
11
+ this.settings = {
12
+ protocol: options.protocol ?? 'http',
13
+ ip: options.ip ?? '127.0.0.1',
14
+ port: options.port ?? 80,
15
+ baseUri: options.baseUri ?? 'WebSdk',
16
+ user: options.user ?? 'root',
17
+ pass: options.pass ?? '',
18
+ appId: options.appId ?? '',
19
+ timeout: options.timeout ?? 10000,
20
+ };
21
+ this.baseUrl = `${this.settings.protocol}://${this.settings.ip}:${this.settings.port}/${this.settings.baseUri}`;
22
+ this.credentials = btoa(`${this.settings.user};${this.settings.appId}:${this.settings.pass}`);
23
+ }
24
+ async checkConnection() {
25
+ const requestOptions = this.getRequestOptions('GET');
26
+ const res = await this.fetchWithTimeout(new URL(this.baseUrl), requestOptions);
27
+ if (!res.ok) {
28
+ throw new Error(await (0, utils_1.responseStringify)(res));
29
+ }
30
+ const responseBody = await res.text();
31
+ const result = await GenetecAgent_1.successResponseSchema.safeParseAsync(JSON.parse(responseBody));
32
+ if (!result.success) {
33
+ throw new Error('Genetec connection test failed: ' + JSON.stringify(result.error.issues) + '\n' + responseBody);
34
+ }
35
+ }
36
+ async getAllCameraGuids() {
37
+ const requestOptions = this.getRequestOptions('GET');
38
+ const url = new URL(`${this.baseUrl}/report/EntityConfiguration`);
39
+ url.searchParams.set('q', 'EntityTypes@Camera');
40
+ const res = await this.fetchWithTimeout(url, requestOptions);
41
+ if (!res.ok) {
42
+ throw new Error(await (0, utils_1.responseStringify)(res));
43
+ }
44
+ const responseBody = await res.text();
45
+ const result = await GenetecAgent_1.cameraGuidsResponseSchema.safeParseAsync(JSON.parse(responseBody));
46
+ if (!result.success) {
47
+ throw new Error('Genetec get camera guids failed: ' + JSON.stringify(result.error.issues) + '\n' + responseBody);
48
+ }
49
+ return result.data;
50
+ }
51
+ async getCameraDetails(guids, parameters) {
52
+ const params = parameters.join(',');
53
+ const requestOptions = this.getRequestOptions('GET');
54
+ const allCameras = [];
55
+ const chunkSize = 10;
56
+ while (guids.length > 0) {
57
+ const chunk = guids.slice(0, chunkSize);
58
+ guids.splice(0, chunkSize);
59
+ const url = new URL(`${this.baseUrl}/entity`);
60
+ url.searchParams.set('q', chunk.map((item) => `entity=${item.Guid},${params}`).join(','));
61
+ const res = await this.fetchWithTimeout(url, requestOptions);
62
+ if (!res.ok) {
63
+ throw new Error(await (0, utils_1.responseStringify)(res));
64
+ }
65
+ const responseBody = await res.text();
66
+ const result = await GenetecAgent_1.cameraDetailsResponseSchema.safeParseAsync(JSON.parse(responseBody));
67
+ if (!result.success) {
68
+ throw new Error('Genetec get camera details failed: ' + JSON.stringify(result.error.issues) + '\n' + responseBody);
69
+ }
70
+ const data = result.data;
71
+ const resultArray = Array.isArray(data.Rsp.Result) ? data.Rsp.Result : [data.Rsp.Result];
72
+ allCameras.push(...resultArray);
73
+ }
74
+ return allCameras;
75
+ }
76
+ async sendBookmark(guids, bookmarkText) {
77
+ const timeStamp = this.getTimeStamp();
78
+ const requestOptions = this.getRequestOptions('POST');
79
+ const url = new URL(`${this.baseUrl}/action`);
80
+ url.searchParams.set('q', guids.map((guid) => `AddCameraBookmark(${guid},${timeStamp},${bookmarkText})`).join(','));
81
+ const res = await this.fetchWithTimeout(url, requestOptions);
82
+ if (!res.ok) {
83
+ throw new Error(await (0, utils_1.responseStringify)(res));
84
+ }
85
+ const responseBody = await res.text();
86
+ const result = await GenetecAgent_1.successResponseSchema.safeParseAsync(JSON.parse(responseBody));
87
+ if (!result.success) {
88
+ throw new Error('Genetec send bookmark failed: ' + JSON.stringify(result.error.issues) + '\n' + responseBody);
89
+ }
90
+ }
91
+ getRequestOptions(method) {
92
+ return {
93
+ method,
94
+ headers: new Headers({
95
+ Authorization: `Basic ${this.credentials}`,
96
+ Accept: 'text/json',
97
+ }),
98
+ redirect: 'follow',
99
+ };
100
+ }
101
+ getTimeStamp() {
102
+ const date = new Date();
103
+ const year = date.getUTCFullYear();
104
+ const month = (0, utils_1.pad)(date.getUTCMonth() + 1, 2);
105
+ const day = (0, utils_1.pad)(date.getUTCDate(), 2);
106
+ const hours = (0, utils_1.pad)(date.getUTCHours(), 2);
107
+ const minutes = (0, utils_1.pad)(date.getUTCMinutes(), 2);
108
+ const seconds = (0, utils_1.pad)(date.getUTCSeconds(), 2);
109
+ const miliSeconds = (0, utils_1.pad)(date.getUTCMilliseconds(), 2);
110
+ return `${year}-${month}-${day}T${hours}:${minutes}:${seconds}.${miliSeconds}Z`;
111
+ }
112
+ async fetchWithTimeout(url, options) {
113
+ const controller = new AbortController();
114
+ const timeoutId = setTimeout(() => controller.abort(), this.settings.timeout);
115
+ try {
116
+ return await fetch(url, { ...options, signal: controller.signal });
117
+ }
118
+ finally {
119
+ clearTimeout(timeoutId);
120
+ }
121
+ }
122
+ }
123
+ exports.GenetecAgent = GenetecAgent;
package/cjs/node/index.js CHANGED
@@ -1,7 +1,40 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WsClient = exports.DefaultClient = void 0;
4
- var DefaultClient_1 = require("./DefaultClient");
5
- Object.defineProperty(exports, "DefaultClient", { enumerable: true, get: function () { return DefaultClient_1.DefaultClient; } });
6
- var WsClient_1 = require("./WsClient");
7
- Object.defineProperty(exports, "WsClient", { enumerable: true, get: function () { return WsClient_1.WsClient; } });
17
+ exports.VapixEvents = exports.CamScripterAPICameraEventsGenerator = exports.CamOverlayDrawingAPI = exports.Frame = exports.Painter = exports.ResourceManager = void 0;
18
+ __exportStar(require("./DefaultClient"), exports);
19
+ __exportStar(require("./WsClient"), exports);
20
+ __exportStar(require("./HttpServer"), exports);
21
+ __exportStar(require("./HttpRequestSender"), exports);
22
+ __exportStar(require("./events/AxisCameraStationEvents"), exports);
23
+ __exportStar(require("./events/GenetecAgent"), exports);
24
+ __exportStar(require("../types/GenetecAgent"), exports);
25
+ var ResourceManager_1 = require("./CamOverlayPainter/ResourceManager");
26
+ Object.defineProperty(exports, "ResourceManager", { enumerable: true, get: function () { return ResourceManager_1.ResourceManager; } });
27
+ var Painter_1 = require("./CamOverlayPainter/Painter");
28
+ Object.defineProperty(exports, "Painter", { enumerable: true, get: function () { return Painter_1.Painter; } });
29
+ var Frame_1 = require("./CamOverlayPainter/Frame");
30
+ Object.defineProperty(exports, "Frame", { enumerable: true, get: function () { return Frame_1.Frame; } });
31
+ __exportStar(require("../types/CamOverlayPainter"), exports);
32
+ var CamOverlayDrawingAPI_1 = require("./CamOverlayDrawingAPI");
33
+ Object.defineProperty(exports, "CamOverlayDrawingAPI", { enumerable: true, get: function () { return CamOverlayDrawingAPI_1.CamOverlayDrawingAPI; } });
34
+ __exportStar(require("../types/CamOverlayDrawingAPI"), exports);
35
+ var CamScripterAPICameraEventsGenerator_1 = require("./CamScripterAPICameraEventsGenerator");
36
+ Object.defineProperty(exports, "CamScripterAPICameraEventsGenerator", { enumerable: true, get: function () { return CamScripterAPICameraEventsGenerator_1.CamScripterAPICameraEventsGenerator; } });
37
+ __exportStar(require("../types/CamScripterAPICameraEventsGenerator"), exports);
38
+ var VapixEvents_1 = require("./VapixEvents");
39
+ Object.defineProperty(exports, "VapixEvents", { enumerable: true, get: function () { return VapixEvents_1.VapixEvents; } });
40
+ __exportStar(require("../types/VapixEvents"), exports);
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fileDataSchema = exports.fileListSchema = exports.fileSchema = exports.storageResponseSchema = exports.storageDataListSchema = exports.fileStorageTypeSchema = exports.ImageType = exports.isScoreOverview = exports.isBaseballScoreBoardAutomatic = exports.isBaseballScoreBoard = exports.isScoreBoard = exports.isWebCameraSharing = exports.isScreenSharing = exports.isPtz = exports.isPtzCompass = exports.isPip = exports.isInfoticker = exports.isImages = exports.isCustomGraphics = exports.isAccuweather = exports.serviceListSchema = exports.servicesSchema = exports.wsResponseSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const infotickerSchema_1 = require("./infotickerSchema");
6
+ const accuweatherSchema_1 = require("./accuweatherSchema");
7
+ const ptzCompassSchema_1 = require("./ptzCompassSchema");
8
+ const imagesSchema_1 = require("./imagesSchema");
9
+ const ptzSchema_1 = require("./ptzSchema");
10
+ const pipSchema_1 = require("./pipSchema");
11
+ const customGraphicsSchema_1 = require("./customGraphicsSchema");
12
+ const screenSharingSchema_1 = require("./screenSharingSchema");
13
+ const webCameraSharingSchema_1 = require("./webCameraSharingSchema");
14
+ const scoreBoardSchema_1 = require("./scoreBoardSchema");
15
+ exports.wsResponseSchema = zod_1.z.object({
16
+ status: zod_1.z.number(),
17
+ message: zod_1.z.string(),
18
+ });
19
+ exports.servicesSchema = zod_1.z.discriminatedUnion('name', [
20
+ infotickerSchema_1.infoTickerSchema,
21
+ accuweatherSchema_1.accuweatherSchema,
22
+ ptzCompassSchema_1.ptzCompassSchema,
23
+ imagesSchema_1.imagesSchema,
24
+ ptzSchema_1.ptzSchema,
25
+ pipSchema_1.pipSchema,
26
+ customGraphicsSchema_1.customGraphicsSchema,
27
+ screenSharingSchema_1.screenSharingSchema,
28
+ webCameraSharingSchema_1.webCameraSharingSchema,
29
+ scoreBoardSchema_1.scoreBoardSchema,
30
+ scoreBoardSchema_1.baseballScoreBoardSchema,
31
+ scoreBoardSchema_1.baseballScoreBoardAutomaticSchema,
32
+ scoreBoardSchema_1.scoreOverviewSchema,
33
+ ]);
34
+ exports.serviceListSchema = zod_1.z.object({
35
+ services: zod_1.z.array(exports.servicesSchema),
36
+ });
37
+ const isAccuweather = (service) => service.name === 'accuweather';
38
+ exports.isAccuweather = isAccuweather;
39
+ const isCustomGraphics = (service) => service.name === 'customGraphics';
40
+ exports.isCustomGraphics = isCustomGraphics;
41
+ const isImages = (service) => service.name === 'images';
42
+ exports.isImages = isImages;
43
+ const isInfoticker = (service) => service.name === 'infoticker';
44
+ exports.isInfoticker = isInfoticker;
45
+ const isPip = (service) => service.name === 'pip';
46
+ exports.isPip = isPip;
47
+ const isPtzCompass = (service) => service.name === 'ptzCompass';
48
+ exports.isPtzCompass = isPtzCompass;
49
+ const isPtz = (service) => service.name === 'ptz';
50
+ exports.isPtz = isPtz;
51
+ const isScreenSharing = (service) => service.name === 'screenSharing';
52
+ exports.isScreenSharing = isScreenSharing;
53
+ const isWebCameraSharing = (service) => service.name === 'web_camera';
54
+ exports.isWebCameraSharing = isWebCameraSharing;
55
+ const isScoreBoard = (service) => service.name === 'scoreBoard';
56
+ exports.isScoreBoard = isScoreBoard;
57
+ const isBaseballScoreBoard = (service) => service.name === 'baseballScoreBoard';
58
+ exports.isBaseballScoreBoard = isBaseballScoreBoard;
59
+ const isBaseballScoreBoardAutomatic = (service) => service.name === 'myBallBaseballWidgets';
60
+ exports.isBaseballScoreBoardAutomatic = isBaseballScoreBoardAutomatic;
61
+ const isScoreOverview = (service) => service.name === 'scoreOverview';
62
+ exports.isScoreOverview = isScoreOverview;
63
+ var ImageType;
64
+ (function (ImageType) {
65
+ ImageType[ImageType["PNG"] = 0] = "PNG";
66
+ ImageType[ImageType["JPEG"] = 1] = "JPEG";
67
+ })(ImageType || (exports.ImageType = ImageType = {}));
68
+ exports.fileStorageTypeSchema = zod_1.z.union([
69
+ zod_1.z.literal('flash'),
70
+ zod_1.z.literal('SD0'),
71
+ zod_1.z.literal('ftp'),
72
+ zod_1.z.literal('samba'),
73
+ zod_1.z.literal('url'),
74
+ ]);
75
+ exports.storageDataListSchema = zod_1.z.array(zod_1.z.object({
76
+ type: exports.fileStorageTypeSchema,
77
+ state: zod_1.z.string(),
78
+ }));
79
+ exports.storageResponseSchema = zod_1.z.object({
80
+ code: zod_1.z.number(),
81
+ list: exports.storageDataListSchema,
82
+ });
83
+ exports.fileSchema = zod_1.z.object({
84
+ name: zod_1.z.string(),
85
+ path: zod_1.z.string().url(),
86
+ storage: exports.fileStorageTypeSchema,
87
+ });
88
+ exports.fileListSchema = zod_1.z.array(exports.fileSchema);
89
+ exports.fileDataSchema = zod_1.z.object({
90
+ code: zod_1.z.number(),
91
+ list: exports.fileListSchema,
92
+ });
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.accuweatherSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const serviceCommonTypes_1 = require("./serviceCommonTypes");
6
+ exports.accuweatherSchema = serviceCommonTypes_1.serviceCommonSchema.extend({
7
+ name: zod_1.z.literal(serviceCommonTypes_1.serviceNames.accuweather),
8
+ location: zod_1.z.string(),
9
+ locationName: zod_1.z.string(),
10
+ title: zod_1.z.string(),
11
+ bgStartColor: zod_1.z.union([
12
+ zod_1.z.literal('237,143,73,0.93'),
13
+ zod_1.z.literal('0,0,0,0.75'),
14
+ zod_1.z.literal('31,32,73,0.9'),
15
+ zod_1.z.literal('76,94,127,0.95'),
16
+ ]),
17
+ bgEndColor: zod_1.z.union([
18
+ zod_1.z.literal('234,181,89,0.93'),
19
+ zod_1.z.literal('0,0,0,0.75'),
20
+ zod_1.z.literal('73,96,213,0.9'),
21
+ zod_1.z.literal('140,150,168,0.95'),
22
+ ]),
23
+ clockType: zod_1.z.union([zod_1.z.literal('12h'), zod_1.z.literal('24h')]),
24
+ lang: serviceCommonTypes_1.languageSchema,
25
+ font: serviceCommonTypes_1.fontSchema,
26
+ units: serviceCommonTypes_1.weatherUnitSchema,
27
+ pos_x: zod_1.z.number(),
28
+ pos_y: zod_1.z.number(),
29
+ coordSystem: serviceCommonTypes_1.coordinateSystemSchema,
30
+ layout: zod_1.z.union([
31
+ zod_1.z.literal('0'),
32
+ zod_1.z.literal('1'),
33
+ zod_1.z.literal('2'),
34
+ zod_1.z.literal('3'),
35
+ zod_1.z.literal('4'),
36
+ zod_1.z.literal('5'),
37
+ zod_1.z.literal('6'),
38
+ zod_1.z.literal('7'),
39
+ zod_1.z.literal('8'),
40
+ zod_1.z.literal('9'),
41
+ zod_1.z.literal('10'),
42
+ zod_1.z.literal('11'),
43
+ zod_1.z.literal('12'),
44
+ zod_1.z.literal('13'),
45
+ ]),
46
+ scale: zod_1.z.number().nonnegative(),
47
+ });
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fieldSchema = exports.customGraphicsSchema = exports.mappingZoneSchema = exports.mappingZonesCountdownSettingsSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const serviceCommonTypes_1 = require("./serviceCommonTypes");
6
+ const mappingZonesCommonSchema = zod_1.z.object({
7
+ name: zod_1.z.string(),
8
+ pos_x: zod_1.z.number(),
9
+ pos_y: zod_1.z.number(),
10
+ text: zod_1.z
11
+ .array(zod_1.z.object({
12
+ source: zod_1.z.string(),
13
+ active: zod_1.z.boolean(),
14
+ }))
15
+ .optional(),
16
+ wrapText: zod_1.z.boolean(),
17
+ textLines: zod_1.z.number().positive(),
18
+ textWidth: zod_1.z.number().nonnegative(),
19
+ textAlign: zod_1.z.union([zod_1.z.literal('A_LEFT'), zod_1.z.literal('A_CENTER'), zod_1.z.literal('A_RIGHT')]),
20
+ textVerticalAlign: zod_1.z.union([zod_1.z.literal('VA_TOP'), zod_1.z.literal('VA_CENTER'), zod_1.z.literal('VA_BOTTOM')]),
21
+ textColor: zod_1.z.string(),
22
+ font: serviceCommonTypes_1.fontSchema,
23
+ fontSize: zod_1.z.number().nonnegative(),
24
+ switchingTime: zod_1.z.number().nonnegative(),
25
+ });
26
+ exports.mappingZonesCountdownSettingsSchema = zod_1.z.object({
27
+ startDate: zod_1.z.number().nonnegative(),
28
+ targetDate: zod_1.z.number().nonnegative(),
29
+ countdown: zod_1.z.boolean(),
30
+ countup: zod_1.z.boolean(),
31
+ displayDay: zod_1.z.boolean(),
32
+ displayHour: zod_1.z.boolean(),
33
+ displayMinute: zod_1.z.boolean(),
34
+ displaySeconds: zod_1.z.boolean(),
35
+ idleText: zod_1.z.string(),
36
+ hideZeros: zod_1.z.boolean(),
37
+ delimiter: zod_1.z.union([zod_1.z.literal('colon'), zod_1.z.literal('letters')]),
38
+ suffixSeconds: zod_1.z.string(),
39
+ suffixMinute: zod_1.z.string(),
40
+ suffixHour: zod_1.z.string(),
41
+ suffixDay: zod_1.z.string(),
42
+ loop: zod_1.z.boolean(),
43
+ loopPeriod: zod_1.z.number().nonnegative(),
44
+ waitingPeriod: zod_1.z.number().nonnegative(),
45
+ });
46
+ const mappingZonePlainSchema = mappingZonesCommonSchema.extend({
47
+ type: zod_1.z.literal('plain'),
48
+ });
49
+ const mappingZoneCountdownSchema = mappingZonesCommonSchema.extend({
50
+ type: zod_1.z.literal('countdown'),
51
+ settings: exports.mappingZonesCountdownSettingsSchema,
52
+ });
53
+ exports.mappingZoneSchema = zod_1.z.discriminatedUnion('type', [mappingZonePlainSchema, mappingZoneCountdownSchema]);
54
+ exports.customGraphicsSchema = serviceCommonTypes_1.serviceCommonSchema.extend({
55
+ name: zod_1.z.literal(serviceCommonTypes_1.serviceNames.customGraphics),
56
+ pos_x: zod_1.z.number(),
57
+ pos_y: zod_1.z.number(),
58
+ coordSystem: serviceCommonTypes_1.coordinateSystemSchema,
59
+ clockFormat: zod_1.z.union([zod_1.z.literal('12h'), zod_1.z.literal('24h')]),
60
+ background: zod_1.z.enum(['custom', 'image']),
61
+ image: zod_1.z.string(),
62
+ customAreaColor: zod_1.z.string(),
63
+ customAreaWidth: zod_1.z.number().nonnegative(),
64
+ customAreaHeight: zod_1.z.number().nonnegative(),
65
+ customAreaCorners: zod_1.z.union([zod_1.z.literal('sharp'), zod_1.z.literal('rounded')]),
66
+ mappingZones: zod_1.z.array(exports.mappingZoneSchema),
67
+ });
68
+ exports.fieldSchema = zod_1.z.object({
69
+ field_name: zod_1.z.string(),
70
+ text: zod_1.z.string(),
71
+ color: zod_1.z.string().optional(),
72
+ });
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.imagesSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const serviceCommonTypes_1 = require("./serviceCommonTypes");
6
+ exports.imagesSchema = serviceCommonTypes_1.serviceCommonSchema.extend({
7
+ name: zod_1.z.literal(serviceCommonTypes_1.serviceNames.images),
8
+ overlayList: zod_1.z.array(serviceCommonTypes_1.overlaySchema),
9
+ });
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./CamOverlayAPI"), exports);
18
+ __exportStar(require("./serviceCommonTypes"), exports);
19
+ __exportStar(require("./accuweatherSchema"), exports);
20
+ __exportStar(require("./customGraphicsSchema"), exports);
21
+ __exportStar(require("./imagesSchema"), exports);
22
+ __exportStar(require("./infotickerSchema"), exports);
23
+ __exportStar(require("./pipSchema"), exports);
24
+ __exportStar(require("./ptzCompassSchema"), exports);
25
+ __exportStar(require("./ptzSchema"), exports);
26
+ __exportStar(require("./screenSharingSchema"), exports);
27
+ __exportStar(require("./webCameraSharingSchema"), exports);
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.infoTickerSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const serviceCommonTypes_1 = require("./serviceCommonTypes");
6
+ exports.infoTickerSchema = serviceCommonTypes_1.serviceCommonSchema.extend({
7
+ name: zod_1.z.literal(serviceCommonTypes_1.serviceNames.infoticker),
8
+ showClock: zod_1.z.union([zod_1.z.literal(0), zod_1.z.literal(1)]),
9
+ clockType: zod_1.z.union([zod_1.z.literal('12h'), zod_1.z.literal('24h')]),
10
+ textColor: zod_1.z.string(),
11
+ bgColor: zod_1.z.string(),
12
+ weatherLocation: zod_1.z.string(),
13
+ weatherLocationName: zod_1.z.string(),
14
+ weatherLang: serviceCommonTypes_1.languageSchema,
15
+ weatherUnits: serviceCommonTypes_1.weatherUnitSchema,
16
+ numberOfLines: zod_1.z.number().positive(),
17
+ switchingTime: zod_1.z.number().nonnegative(),
18
+ crawlLeft: zod_1.z.boolean(),
19
+ crawlSpeed: zod_1.z.number(),
20
+ coordSystem: zod_1.z.union([zod_1.z.literal('top'), zod_1.z.literal('bottom')]),
21
+ pos_y: zod_1.z.number(),
22
+ font: serviceCommonTypes_1.fontSchema,
23
+ fontSize: zod_1.z.number().nonnegative(),
24
+ sourceType: zod_1.z.union([zod_1.z.literal('text'), zod_1.z.literal('url')]),
25
+ source: zod_1.z.string(),
26
+ });
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pipSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const serviceCommonTypes_1 = require("./serviceCommonTypes");
6
+ exports.pipSchema = serviceCommonTypes_1.serviceCommonSchema.extend({
7
+ name: zod_1.z.literal(serviceCommonTypes_1.serviceNames.pip),
8
+ coordSystem: serviceCommonTypes_1.coordinateSystemSchema,
9
+ pos_x: zod_1.z.number(),
10
+ pos_y: zod_1.z.number(),
11
+ fps: zod_1.z.number(),
12
+ compression: zod_1.z.number().nonnegative(),
13
+ screenSize: zod_1.z.number().nonnegative(),
14
+ source_type: zod_1.z.union([zod_1.z.literal('axis_camera'), zod_1.z.literal('mjpeg_url')]),
15
+ mjpeg_url: zod_1.z.union([zod_1.z.string().url(), zod_1.z.literal('')]),
16
+ camera_ip: zod_1.z.union([zod_1.z.string().ip(), zod_1.z.literal('')]),
17
+ camera_port: zod_1.z.number().nonnegative(),
18
+ camera_user: zod_1.z.string(),
19
+ camera_pass: zod_1.z.string(),
20
+ camera_width: zod_1.z.number().nonnegative(),
21
+ camera_height: zod_1.z.number().nonnegative(),
22
+ camera_view_area: zod_1.z.string(),
23
+ camera_overlay_params: zod_1.z.union([
24
+ zod_1.z.literal('overlays=off'),
25
+ zod_1.z.literal('overlays=all'),
26
+ zod_1.z.literal('overlays=text'),
27
+ zod_1.z.literal('overlays=image'),
28
+ zod_1.z.literal('overlays=application'),
29
+ ]),
30
+ rotate: zod_1.z.union([zod_1.z.literal(0), zod_1.z.literal(90), zod_1.z.literal(180), zod_1.z.literal(270)]).default(0),
31
+ dewarping: zod_1.z.object({
32
+ enabled: zod_1.z.boolean(),
33
+ rectangle: zod_1.z.array(zod_1.z.tuple([zod_1.z.number(), zod_1.z.number()])),
34
+ aspectRatioCorrection: zod_1.z.number(),
35
+ }),
36
+ borderColor: zod_1.z.string(),
37
+ borderWidth: zod_1.z.number(),
38
+ scale: zod_1.z.number(),
39
+ });
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ptzCompassSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const serviceCommonTypes_1 = require("./serviceCommonTypes");
6
+ exports.ptzCompassSchema = serviceCommonTypes_1.serviceCommonSchema.extend({
7
+ name: zod_1.z.literal(serviceCommonTypes_1.serviceNames.ptzCompass),
8
+ pos_x: zod_1.z.number(),
9
+ pos_y: zod_1.z.number(),
10
+ coordSystem: serviceCommonTypes_1.coordinateSystemSchema,
11
+ scale: zod_1.z.number().nonnegative(),
12
+ type: zod_1.z.union([zod_1.z.literal('compass'), zod_1.z.literal('map'), zod_1.z.literal('image')]),
13
+ image: zod_1.z.union([zod_1.z.string().url(), zod_1.z.literal('')]),
14
+ northPan: zod_1.z.number(),
15
+ cameraPosX: zod_1.z.number(),
16
+ cameraPosY: zod_1.z.number(),
17
+ colorScheme: zod_1.z.enum(['black', 'white', 'orange']),
18
+ generalLng: zod_1.z.number().optional(),
19
+ generalLat: zod_1.z.number().optional(),
20
+ generalZoom: zod_1.z.number().nonnegative().optional(),
21
+ generalMapType: zod_1.z.string().optional(),
22
+ generalIframeWidth: zod_1.z.number().optional(),
23
+ generalIframeHeight: zod_1.z.number().optional(),
24
+ generalAddress: zod_1.z.string().optional(),
25
+ showDegrees: zod_1.z.boolean().default(false),
26
+ });
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ptzSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const serviceCommonTypes_1 = require("./serviceCommonTypes");
6
+ exports.ptzSchema = serviceCommonTypes_1.serviceCommonSchema.extend({
7
+ name: zod_1.z.literal(serviceCommonTypes_1.serviceNames.ptz),
8
+ ptz_positions: zod_1.z.record(zod_1.z.string(), zod_1.z.object({
9
+ overlayList: zod_1.z.array(serviceCommonTypes_1.overlaySchema.omit({ active: true, fps: true })),
10
+ loop: zod_1.z.boolean(),
11
+ })),
12
+ });
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.scoreOverviewSchema = exports.baseballScoreBoardAutomaticSchema = exports.baseballScoreBoardSchema = exports.scoreBoardSchema = exports.sportFontSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const serviceCommonTypes_1 = require("./serviceCommonTypes");
6
+ exports.sportFontSchema = zod_1.z.union([
7
+ zod_1.z.literal('classic'),
8
+ zod_1.z.custom((val) => {
9
+ return typeof val === 'string';
10
+ }),
11
+ ]);
12
+ exports.scoreBoardSchema = zod_1.z.object({
13
+ id: zod_1.z.number().nonnegative(),
14
+ enabled: zod_1.z.union([zod_1.z.literal(0), zod_1.z.literal(1)]),
15
+ schedule: zod_1.z.string().optional(),
16
+ cameraList: zod_1.z.array(zod_1.z.number()),
17
+ zIndex: zod_1.z.number().nonnegative(),
18
+ name: zod_1.z.literal(serviceCommonTypes_1.serviceNames.scoreBoard),
19
+ pos_x: zod_1.z.number(),
20
+ pos_y: zod_1.z.number(),
21
+ coordSystem: serviceCommonTypes_1.coordinateSystemSchema,
22
+ width: zod_1.z.number(),
23
+ height: zod_1.z.number(),
24
+ scale: zod_1.z.number(),
25
+ teamHomeShortname: zod_1.z.string(),
26
+ teamGuestShortname: zod_1.z.string(),
27
+ teamHomeBackgroundColor: zod_1.z.string(),
28
+ teamGuestBackgroundColor: zod_1.z.string(),
29
+ teamHomeTextColor: zod_1.z.string(),
30
+ teamGuestTextColor: zod_1.z.string(),
31
+ teamHomeImgPath: zod_1.z.string(),
32
+ teamGuestImgPath: zod_1.z.string(),
33
+ teamHomeCurrentScore: zod_1.z.number(),
34
+ teamGuestCurrentScore: zod_1.z.number(),
35
+ baseTimeTimestamp: zod_1.z.number(),
36
+ baseTimePlaytime: zod_1.z.number(),
37
+ currentPeriodPlaytime: zod_1.z.number(),
38
+ timeIsRunning: zod_1.z.boolean(),
39
+ currentPeriodLength: zod_1.z.number(),
40
+ currentPeriod: zod_1.z.number(),
41
+ font: exports.sportFontSchema.default('classic'),
42
+ });
43
+ exports.baseballScoreBoardSchema = zod_1.z.object({
44
+ id: zod_1.z.number().nonnegative(),
45
+ enabled: zod_1.z.union([zod_1.z.literal(0), zod_1.z.literal(1)]),
46
+ schedule: zod_1.z.string().optional(),
47
+ cameraList: zod_1.z.array(zod_1.z.number()),
48
+ zIndex: zod_1.z.number().nonnegative(),
49
+ name: zod_1.z.literal(serviceCommonTypes_1.serviceNames.baseballScoreBoard),
50
+ pos_x: zod_1.z.number(),
51
+ pos_y: zod_1.z.number(),
52
+ coordSystem: serviceCommonTypes_1.coordinateSystemSchema,
53
+ width: zod_1.z.number(),
54
+ height: zod_1.z.number(),
55
+ scale: zod_1.z.number(),
56
+ matchFinished: zod_1.z.boolean(),
57
+ bases: zod_1.z.tuple([zod_1.z.boolean(), zod_1.z.boolean(), zod_1.z.boolean()]),
58
+ homeInning: zod_1.z.boolean(),
59
+ inning: zod_1.z.number().nonnegative(),
60
+ outs: zod_1.z.number().nonnegative(),
61
+ balls: zod_1.z.number().nonnegative(),
62
+ strikes: zod_1.z.number().nonnegative(),
63
+ baseTimeTimestamp: zod_1.z.number(),
64
+ baseTimePlaytime: zod_1.z.number(),
65
+ timeIsRunning: zod_1.z.boolean(),
66
+ teamHomeShortname: zod_1.z.string(),
67
+ teamGuestShortname: zod_1.z.string(),
68
+ teamHomeBackgroundColor: zod_1.z.string(),
69
+ teamGuestBackgroundColor: zod_1.z.string(),
70
+ teamHomeTextColor: zod_1.z.string(),
71
+ teamGuestTextColor: zod_1.z.string(),
72
+ teamHomeCurrentScore: zod_1.z.number(),
73
+ teamGuestCurrentScore: zod_1.z.number(),
74
+ footerImgPath: zod_1.z.string().optional(),
75
+ footerText: zod_1.z.string().optional(),
76
+ footerBackgroundColor: zod_1.z.string().optional(),
77
+ footerTextColor: zod_1.z.string().optional(),
78
+ font: exports.sportFontSchema.default('classic'),
79
+ });
80
+ exports.baseballScoreBoardAutomaticSchema = zod_1.z.object({
81
+ id: zod_1.z.number().nonnegative(),
82
+ enabled: zod_1.z.union([zod_1.z.literal(0), zod_1.z.literal(1)]),
83
+ schedule: zod_1.z.string().optional(),
84
+ cameraList: zod_1.z.array(zod_1.z.number()),
85
+ zIndex: zod_1.z.number().nonnegative(),
86
+ name: zod_1.z.literal(serviceCommonTypes_1.serviceNames.myBallBaseballWidgets),
87
+ width: zod_1.z.number(),
88
+ height: zod_1.z.number(),
89
+ scale: zod_1.z.number(),
90
+ matchDetailLink: zod_1.z.string(),
91
+ matchListLink: zod_1.z.string(),
92
+ mirrored: zod_1.z.boolean(),
93
+ pregameWidgetText: zod_1.z.string(),
94
+ teamHomeBackgroundColor: zod_1.z.string(),
95
+ teamGuestBackgroundColor: zod_1.z.string(),
96
+ teamHomeTextColor: zod_1.z.string(),
97
+ teamGuestTextColor: zod_1.z.string(),
98
+ homeLogoPath: zod_1.z.string(),
99
+ guestLogoPath: zod_1.z.string(),
100
+ footerImgPath: zod_1.z.string().optional(),
101
+ footerText: zod_1.z.string().optional(),
102
+ footerBackgroundColor: zod_1.z.string().optional(),
103
+ footerTextColor: zod_1.z.string().optional(),
104
+ font: exports.sportFontSchema.default('classic'),
105
+ });
106
+ exports.scoreOverviewSchema = zod_1.z.object({
107
+ id: zod_1.z.number().nonnegative(),
108
+ enabled: zod_1.z.union([zod_1.z.literal(0), zod_1.z.literal(1)]),
109
+ cameraList: zod_1.z.array(zod_1.z.number()),
110
+ zIndex: zod_1.z.number().nonnegative(),
111
+ name: zod_1.z.literal(serviceCommonTypes_1.serviceNames.scoreOverview),
112
+ pos_x: zod_1.z.number(),
113
+ pos_y: zod_1.z.number(),
114
+ coordSystem: serviceCommonTypes_1.coordinateSystemSchema,
115
+ width: zod_1.z.number(),
116
+ height: zod_1.z.number(),
117
+ scale: zod_1.z.number(),
118
+ teamHomeName: zod_1.z.string(),
119
+ teamGuestName: zod_1.z.string(),
120
+ teamHomeBackgroundColor: zod_1.z.string(),
121
+ teamGuestBackgroundColor: zod_1.z.string(),
122
+ teamHomeTextColor: zod_1.z.string(),
123
+ teamGuestTextColor: zod_1.z.string(),
124
+ teamHomeImgPath: zod_1.z.string(),
125
+ teamGuestImgPath: zod_1.z.string(),
126
+ teamHomeCurrentScore: zod_1.z.number(),
127
+ teamGuestCurrentScore: zod_1.z.number(),
128
+ scoreVisible: zod_1.z.boolean(),
129
+ description: zod_1.z.string(),
130
+ textFont: exports.sportFontSchema.default('classic'),
131
+ scoreFont: zod_1.z.literal('classic'),
132
+ });