camstreamerlib 4.0.0-beta.2 → 4.0.0-beta.21

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 (238) hide show
  1. package/README.md +5 -1
  2. package/cjs/CamOverlayAPI.d.ts +629 -0
  3. package/cjs/CamOverlayAPI.js +255 -0
  4. package/{CamOverlayDrawingAPI.d.ts → cjs/CamOverlayDrawingAPI.d.ts} +1 -1
  5. package/cjs/CamOverlayDrawingAPI.js +235 -0
  6. package/cjs/CamOverlayPainter/Frame.js +301 -0
  7. package/{CamOverlayPainter → cjs/CamOverlayPainter}/Painter.d.ts +14 -3
  8. package/cjs/CamOverlayPainter/Painter.js +171 -0
  9. package/cjs/CamOverlayPainter/ResourceManager.js +46 -0
  10. package/cjs/CamScripterAPI.d.ts +36 -0
  11. package/cjs/CamScripterAPI.js +73 -0
  12. package/{CamScripterAPICameraEventsGenerator.d.ts → cjs/CamScripterAPICameraEventsGenerator.d.ts} +1 -1
  13. package/cjs/CamScripterAPICameraEventsGenerator.js +162 -0
  14. package/{CamStreamerAPI.d.ts → cjs/CamStreamerAPI.d.ts} +5 -5
  15. package/cjs/CamStreamerAPI.js +59 -0
  16. package/{CamSwitcherAPI.d.ts → cjs/CamSwitcherAPI.d.ts} +10 -6
  17. package/cjs/CamSwitcherAPI.js +351 -0
  18. package/{CamSwitcherEvents.d.ts → cjs/CamSwitcherEvents.d.ts} +2 -2
  19. package/cjs/CamSwitcherEvents.js +67 -0
  20. package/cjs/CreatePackage.js +106 -0
  21. package/cjs/PlaneTrackerAPI.d.ts +47 -0
  22. package/cjs/PlaneTrackerAPI.js +176 -0
  23. package/{VapixAPI.d.ts → cjs/VapixAPI.d.ts} +19 -7
  24. package/cjs/VapixAPI.js +491 -0
  25. package/{VapixEvents.d.ts → cjs/VapixEvents.d.ts} +1 -1
  26. package/cjs/VapixEvents.js +88 -0
  27. package/{errors → cjs/errors}/errors.d.ts +3 -0
  28. package/cjs/errors/errors.js +86 -0
  29. package/{events → cjs/events}/AxisCameraStationEvents.d.ts +3 -2
  30. package/cjs/events/AxisCameraStationEvents.js +48 -0
  31. package/{events → cjs/events}/GenetecAgent.d.ts +4 -3
  32. package/cjs/events/GenetecAgent.js +123 -0
  33. package/cjs/index.d.ts +18 -0
  34. package/cjs/index.js +42 -0
  35. package/cjs/internal/Digest.js +42 -0
  36. package/cjs/internal/ProxyClient.d.ts +11 -0
  37. package/cjs/internal/ProxyClient.js +46 -0
  38. package/cjs/internal/constants.js +4 -0
  39. package/cjs/internal/transformers.js +32 -0
  40. package/cjs/internal/types.d.ts +35 -0
  41. package/cjs/internal/types.js +2 -0
  42. package/{internal → cjs/internal}/utils.d.ts +5 -1
  43. package/cjs/internal/utils.js +69 -0
  44. package/{internal → cjs/internal}/versionCompare.d.ts +2 -2
  45. package/cjs/internal/versionCompare.js +53 -0
  46. package/cjs/models/CamOverlayAPI/accuweatherSchema.d.ts +84 -0
  47. package/cjs/models/CamOverlayAPI/accuweatherSchema.js +48 -0
  48. package/cjs/models/CamOverlayAPI/constants.d.ts +11 -0
  49. package/cjs/models/CamOverlayAPI/constants.js +14 -0
  50. package/cjs/models/CamOverlayAPI/customGraphicsSchema.d.ts +699 -0
  51. package/cjs/models/CamOverlayAPI/customGraphicsSchema.js +73 -0
  52. package/cjs/models/CamOverlayAPI/fileSchema.d.ts +28 -0
  53. package/cjs/models/CamOverlayAPI/fileSchema.js +17 -0
  54. package/cjs/models/CamOverlayAPI/imagesSchema.d.ts +95 -0
  55. package/cjs/models/CamOverlayAPI/imagesSchema.js +10 -0
  56. package/cjs/models/CamOverlayAPI/index.d.ts +13 -0
  57. package/cjs/models/CamOverlayAPI/index.js +29 -0
  58. package/cjs/models/CamOverlayAPI/infotickerSchema.d.ts +96 -0
  59. package/cjs/models/CamOverlayAPI/infotickerSchema.js +27 -0
  60. package/cjs/models/CamOverlayAPI/pipSchema.d.ts +125 -0
  61. package/cjs/models/CamOverlayAPI/pipSchema.js +40 -0
  62. package/cjs/models/CamOverlayAPI/ptzCompassSchema.d.ts +93 -0
  63. package/cjs/models/CamOverlayAPI/ptzCompassSchema.js +26 -0
  64. package/cjs/models/CamOverlayAPI/ptzSchema.d.ts +118 -0
  65. package/cjs/models/CamOverlayAPI/ptzSchema.js +13 -0
  66. package/cjs/models/CamOverlayAPI/screenSharingSchema.d.ts +58 -0
  67. package/cjs/models/CamOverlayAPI/screenSharingSchema.js +9 -0
  68. package/cjs/models/CamOverlayAPI/webCameraSharingSchema.d.ts +58 -0
  69. package/cjs/models/CamOverlayAPI/webCameraSharingSchema.js +9 -0
  70. package/cjs/models/CamOverlayAPI/widgetCommonSchema.d.ts +126 -0
  71. package/cjs/models/CamOverlayAPI/widgetCommonSchema.js +76 -0
  72. package/cjs/models/CamOverlayAPI/widgetsSchema.d.ts +2823 -0
  73. package/cjs/models/CamOverlayAPI/widgetsSchema.js +27 -0
  74. package/cjs/node/DefaultClient.d.ts +16 -0
  75. package/cjs/node/DefaultClient.js +56 -0
  76. package/cjs/node/HttpRequestSender.js +89 -0
  77. package/cjs/node/HttpServer.js +96 -0
  78. package/{node → cjs/node}/WsClient.d.ts +1 -1
  79. package/cjs/node/WsClient.js +149 -0
  80. package/{node → cjs/node}/WsEventClient.d.ts +1 -1
  81. package/cjs/node/WsEventClient.js +22 -0
  82. package/cjs/node/index.d.ts +2 -0
  83. package/cjs/node/index.js +7 -0
  84. package/cjs/types/CamOverlayAPI.d.ts +328 -0
  85. package/cjs/types/CamOverlayAPI.js +26 -0
  86. package/{types → cjs/types}/CamScripterAPI.d.ts +66 -7
  87. package/cjs/types/CamScripterAPI.js +35 -0
  88. package/{types → cjs/types}/CamStreamerAPI.d.ts +16 -5
  89. package/cjs/types/CamStreamerAPI.js +32 -0
  90. package/{types → cjs/types}/CamSwitcherAPI.d.ts +5 -5
  91. package/cjs/types/CamSwitcherAPI.js +137 -0
  92. package/{types/CamswitcherEvents.d.ts → cjs/types/CamSwitcherEvents.d.ts} +77 -0
  93. package/cjs/types/CamSwitcherEvents.js +70 -0
  94. package/cjs/types/PlaneTrackerAPI.d.ts +2 -0
  95. package/cjs/types/PlaneTrackerAPI.js +2 -0
  96. package/{types → cjs/types}/VapixAPI.d.ts +479 -519
  97. package/cjs/types/VapixAPI.js +139 -0
  98. package/cjs/types/common.js +14 -0
  99. package/cjs/web/DefaultClient.d.ts +6 -0
  100. package/cjs/web/DefaultClient.js +22 -0
  101. package/cjs/web/WsClient.js +62 -0
  102. package/cjs/web/index.d.ts +2 -0
  103. package/cjs/web/index.js +7 -0
  104. package/esm/CamOverlayAPI.d.ts +629 -0
  105. package/esm/CamOverlayAPI.js +251 -0
  106. package/esm/CamOverlayDrawingAPI.d.ts +86 -0
  107. package/{CamOverlayDrawingAPI.js → esm/CamOverlayDrawingAPI.js} +6 -3
  108. package/esm/CamOverlayPainter/Frame.d.ts +96 -0
  109. package/esm/CamOverlayPainter/Painter.d.ts +48 -0
  110. package/{CamOverlayPainter → esm/CamOverlayPainter}/Painter.js +4 -1
  111. package/esm/CamOverlayPainter/ResourceManager.d.ts +14 -0
  112. package/{CamOverlayPainter → esm/CamOverlayPainter}/ResourceManager.js +6 -10
  113. package/esm/CamScripterAPI.d.ts +36 -0
  114. package/esm/CamScripterAPI.js +69 -0
  115. package/esm/CamScripterAPICameraEventsGenerator.d.ts +74 -0
  116. package/{CamScripterAPICameraEventsGenerator.js → esm/CamScripterAPICameraEventsGenerator.js} +6 -3
  117. package/esm/CamStreamerAPI.d.ts +16 -0
  118. package/{CamStreamerAPI.js → esm/CamStreamerAPI.js} +4 -10
  119. package/esm/CamSwitcherAPI.d.ts +52 -0
  120. package/{CamSwitcherAPI.js → esm/CamSwitcherAPI.js} +24 -27
  121. package/esm/CamSwitcherEvents.d.ts +18 -0
  122. package/{CamSwitcherEvents.js → esm/CamSwitcherEvents.js} +1 -1
  123. package/esm/CreatePackage.d.ts +1 -0
  124. package/esm/PlaneTrackerAPI.d.ts +47 -0
  125. package/esm/PlaneTrackerAPI.js +172 -0
  126. package/esm/VapixAPI.d.ts +78 -0
  127. package/{VapixAPI.js → esm/VapixAPI.js} +93 -60
  128. package/esm/VapixEvents.d.ts +43 -0
  129. package/{VapixEvents.js → esm/VapixEvents.js} +3 -3
  130. package/esm/errors/errors.d.ts +37 -0
  131. package/{errors → esm/errors}/errors.js +6 -0
  132. package/esm/events/AxisCameraStationEvents.d.ts +10 -0
  133. package/{events → esm/events}/AxisCameraStationEvents.js +1 -1
  134. package/esm/events/GenetecAgent.d.ts +175 -0
  135. package/{events → esm/events}/GenetecAgent.js +5 -5
  136. package/esm/index.d.ts +18 -0
  137. package/esm/index.js +18 -0
  138. package/esm/internal/Digest.d.ts +4 -0
  139. package/{internal → esm/internal}/Digest.js +6 -6
  140. package/esm/internal/ProxyClient.d.ts +11 -0
  141. package/{internal → esm/internal}/ProxyClient.js +6 -4
  142. package/esm/internal/constants.d.ts +1 -0
  143. package/esm/internal/transformers.d.ts +5 -0
  144. package/esm/internal/types.d.ts +35 -0
  145. package/esm/internal/types.js +1 -0
  146. package/esm/internal/utils.d.ts +15 -0
  147. package/{internal → esm/internal}/utils.js +20 -1
  148. package/esm/internal/versionCompare.d.ts +6 -0
  149. package/esm/models/CamOverlayAPI/accuweatherSchema.d.ts +84 -0
  150. package/esm/models/CamOverlayAPI/accuweatherSchema.js +45 -0
  151. package/esm/models/CamOverlayAPI/constants.d.ts +11 -0
  152. package/esm/models/CamOverlayAPI/constants.js +11 -0
  153. package/esm/models/CamOverlayAPI/customGraphicsSchema.d.ts +699 -0
  154. package/esm/models/CamOverlayAPI/customGraphicsSchema.js +70 -0
  155. package/esm/models/CamOverlayAPI/fileSchema.d.ts +28 -0
  156. package/esm/models/CamOverlayAPI/fileSchema.js +14 -0
  157. package/esm/models/CamOverlayAPI/imagesSchema.d.ts +95 -0
  158. package/esm/models/CamOverlayAPI/imagesSchema.js +7 -0
  159. package/esm/models/CamOverlayAPI/index.d.ts +13 -0
  160. package/esm/models/CamOverlayAPI/index.js +13 -0
  161. package/esm/models/CamOverlayAPI/infotickerSchema.d.ts +96 -0
  162. package/esm/models/CamOverlayAPI/infotickerSchema.js +24 -0
  163. package/esm/models/CamOverlayAPI/pipSchema.d.ts +125 -0
  164. package/esm/models/CamOverlayAPI/pipSchema.js +37 -0
  165. package/esm/models/CamOverlayAPI/ptzCompassSchema.d.ts +93 -0
  166. package/esm/models/CamOverlayAPI/ptzCompassSchema.js +23 -0
  167. package/esm/models/CamOverlayAPI/ptzSchema.d.ts +118 -0
  168. package/esm/models/CamOverlayAPI/ptzSchema.js +10 -0
  169. package/esm/models/CamOverlayAPI/screenSharingSchema.d.ts +58 -0
  170. package/esm/models/CamOverlayAPI/screenSharingSchema.js +6 -0
  171. package/esm/models/CamOverlayAPI/webCameraSharingSchema.d.ts +58 -0
  172. package/esm/models/CamOverlayAPI/webCameraSharingSchema.js +6 -0
  173. package/esm/models/CamOverlayAPI/widgetCommonSchema.d.ts +126 -0
  174. package/esm/models/CamOverlayAPI/widgetCommonSchema.js +73 -0
  175. package/esm/models/CamOverlayAPI/widgetsSchema.d.ts +2823 -0
  176. package/esm/models/CamOverlayAPI/widgetsSchema.js +24 -0
  177. package/esm/node/DefaultClient.d.ts +16 -0
  178. package/{node → esm/node}/DefaultClient.js +9 -7
  179. package/esm/node/HttpRequestSender.d.ts +28 -0
  180. package/esm/node/HttpServer.d.ts +21 -0
  181. package/{node → esm/node}/HttpServer.js +1 -1
  182. package/esm/node/WsClient.d.ts +39 -0
  183. package/esm/node/WsEventClient.d.ts +13 -0
  184. package/esm/node/index.d.ts +2 -0
  185. package/esm/node/index.js +2 -0
  186. package/esm/types/CamOverlayAPI.d.ts +328 -0
  187. package/esm/types/CamOverlayAPI.js +14 -0
  188. package/esm/types/CamScripterAPI.d.ts +126 -0
  189. package/esm/types/CamScripterAPI.js +32 -0
  190. package/esm/types/CamStreamerAPI.d.ts +150 -0
  191. package/{types → esm/types}/CamStreamerAPI.js +4 -0
  192. package/esm/types/CamSwitcherAPI.d.ts +814 -0
  193. package/esm/types/CamSwitcherEvents.d.ts +568 -0
  194. package/{types/CamswitcherEvents.js → esm/types/CamSwitcherEvents.js} +8 -0
  195. package/esm/types/PlaneTrackerAPI.d.ts +2 -0
  196. package/esm/types/PlaneTrackerAPI.js +1 -0
  197. package/esm/types/VapixAPI.d.ts +1664 -0
  198. package/{types → esm/types}/VapixAPI.js +30 -23
  199. package/esm/types/common.d.ts +37 -0
  200. package/esm/web/DefaultClient.d.ts +6 -0
  201. package/{web → esm/web}/DefaultClient.js +6 -4
  202. package/esm/web/WsClient.d.ts +13 -0
  203. package/{web → esm/web}/WsClient.js +2 -2
  204. package/esm/web/index.d.ts +2 -0
  205. package/esm/web/index.js +2 -0
  206. package/package.json +6 -6
  207. package/CamOverlayAPI.d.ts +0 -31
  208. package/CamOverlayAPI.js +0 -172
  209. package/CamScripterAPI.d.ts +0 -19
  210. package/CamScripterAPI.js +0 -66
  211. package/internal/ProxyClient.d.ts +0 -11
  212. package/internal/common.d.ts +0 -40
  213. package/internal/common.js +0 -23
  214. package/node/DefaultClient.d.ts +0 -15
  215. package/types/CamOverlayAPI.d.ts +0 -188
  216. package/types/CamOverlayAPI.js +0 -44
  217. package/types/CamScripterAPI.js +0 -17
  218. package/web/DefaultClient.d.ts +0 -6
  219. package/{CamOverlayPainter → cjs/CamOverlayPainter}/Frame.d.ts +0 -0
  220. package/{CamOverlayPainter → cjs/CamOverlayPainter}/ResourceManager.d.ts +0 -0
  221. package/{CreatePackage.d.ts → cjs/CreatePackage.d.ts} +0 -0
  222. package/{internal → cjs/internal}/Digest.d.ts +0 -0
  223. package/{internal → cjs/internal}/constants.d.ts +0 -0
  224. package/{internal → cjs/internal}/transformers.d.ts +0 -0
  225. package/{node → cjs/node}/HttpRequestSender.d.ts +0 -0
  226. package/{node → cjs/node}/HttpServer.d.ts +0 -0
  227. package/{types → cjs/types}/common.d.ts +2 -2
  228. /package/{web → cjs/web}/WsClient.d.ts +0 -0
  229. /package/{CamOverlayPainter → esm/CamOverlayPainter}/Frame.js +0 -0
  230. /package/{CreatePackage.js → esm/CreatePackage.js} +0 -0
  231. /package/{internal → esm/internal}/constants.js +0 -0
  232. /package/{internal → esm/internal}/transformers.js +0 -0
  233. /package/{internal → esm/internal}/versionCompare.js +0 -0
  234. /package/{node → esm/node}/HttpRequestSender.js +0 -0
  235. /package/{node → esm/node}/WsClient.js +0 -0
  236. /package/{node → esm/node}/WsEventClient.js +0 -0
  237. /package/{types → esm/types}/CamSwitcherAPI.js +0 -0
  238. /package/{types → esm/types}/common.js +0 -0
@@ -0,0 +1,24 @@
1
+ import { customGraphicsSchema } from './customGraphicsSchema';
2
+ import { imagesSchema } from './imagesSchema';
3
+ import { accuweatherSchema } from './accuweatherSchema';
4
+ import { infoTickerSchema } from './infotickerSchema';
5
+ import { pipSchema } from './pipSchema';
6
+ import { ptzCompassSchema } from './ptzCompassSchema';
7
+ import { ptzSchema } from './ptzSchema';
8
+ import { screenSharingSchema } from './screenSharingSchema';
9
+ import { webCameraSharingSchema } from './webCameraSharingSchema';
10
+ import { z } from 'zod';
11
+ export const widgetsSchema = z.discriminatedUnion('name', [
12
+ infoTickerSchema,
13
+ accuweatherSchema,
14
+ ptzCompassSchema,
15
+ imagesSchema,
16
+ ptzSchema,
17
+ pipSchema,
18
+ customGraphicsSchema,
19
+ screenSharingSchema,
20
+ webCameraSharingSchema,
21
+ ]);
22
+ export const widgetListSchema = z.object({
23
+ services: z.array(widgetsSchema),
24
+ });
@@ -0,0 +1,16 @@
1
+ /// <reference types="node" />
2
+ import { IClient, HttpOptions, TParameters } from '../internal/types';
3
+ import { Response as UndiciResponse } from 'undici';
4
+ export declare class DefaultClient implements IClient<UndiciResponse> {
5
+ private tls;
6
+ private ip;
7
+ private port;
8
+ private user;
9
+ private pass;
10
+ private httpRequestSender;
11
+ constructor(opt?: HttpOptions);
12
+ get url(): string;
13
+ get: (url: string, parameters?: TParameters | undefined, headers?: Record<string, string> | undefined) => Promise<UndiciResponse>;
14
+ post: (url: string, data: string | Buffer | FormData, parameters?: TParameters | undefined, headers?: Record<string, string> | undefined) => Promise<UndiciResponse>;
15
+ private getBaseConnectionParams;
16
+ }
@@ -25,18 +25,20 @@ export class DefaultClient {
25
25
  get url() {
26
26
  return `${this.tls ? 'https' : 'http'}://${this.user}:${this.pass}@${this.ip}:${this.port}`;
27
27
  }
28
- async get(path, parameters = {}, headers) {
29
- const options = this.getBaseConnectionParams('GET', path, parameters);
28
+ get = (...params) => {
29
+ const [path, parameters, headers] = params;
30
+ const options = this.getBaseConnectionParams('GET', path, parameters ?? {});
30
31
  options.headers = headers;
31
32
  return this.httpRequestSender.sendRequest(options);
32
- }
33
- async post(path, data, parameters = {}, headers) {
34
- const options = this.getBaseConnectionParams('POST', path, parameters);
33
+ };
34
+ post = (...params) => {
35
+ const [path, data, parameters, headers] = params;
36
+ const options = this.getBaseConnectionParams('POST', path, parameters ?? {});
35
37
  options.headers = headers;
36
38
  return this.httpRequestSender.sendRequest(options, data);
37
- }
39
+ };
38
40
  getBaseConnectionParams(method, path, params) {
39
- let pathName = addParametersToPath(path, params);
41
+ const pathName = addParametersToPath(path, params);
40
42
  return {
41
43
  method: method,
42
44
  protocol: this.tls ? 'https:' : 'http:',
@@ -0,0 +1,28 @@
1
+ /// <reference types="node" />
2
+ import { FormData as UndiciFormData, Response as UndiciResponse } from 'undici';
3
+ export type HttpRequestOptions = {
4
+ method?: string;
5
+ protocol: string;
6
+ host: string;
7
+ port: number;
8
+ path: string;
9
+ user?: string;
10
+ pass?: string;
11
+ timeout?: number;
12
+ headers?: Record<string, string>;
13
+ };
14
+ export type AgentOptions = {
15
+ rejectUnaurhorized?: boolean;
16
+ keepAlive?: boolean;
17
+ };
18
+ export declare class HttpRequestSender {
19
+ private agent?;
20
+ private authData?;
21
+ constructor(agentOptions?: AgentOptions);
22
+ sendRequest(options: HttpRequestOptions, postData?: Buffer | string | UndiciFormData): Promise<UndiciResponse>;
23
+ private sendRequestWithAuth;
24
+ private static getURL;
25
+ private getAuthorization;
26
+ private invalidateAuthorization;
27
+ private static getAuthHeader;
28
+ }
@@ -0,0 +1,21 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import * as http from 'http';
4
+ import * as EventEmitter from 'events';
5
+ export type HttpServerOptions = {
6
+ host?: string;
7
+ port?: number;
8
+ };
9
+ type TOnRequestCallback = (req: http.IncomingMessage, res: http.ServerResponse) => void;
10
+ export declare class HttpServer extends EventEmitter {
11
+ private host;
12
+ private port;
13
+ private registeredPaths;
14
+ private server;
15
+ private sockets;
16
+ constructor(options?: HttpServerOptions);
17
+ getServer(): http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>;
18
+ onRequest(pathName: string, callback: TOnRequestCallback): void;
19
+ close(): void;
20
+ }
21
+ export {};
@@ -86,7 +86,7 @@ export class HttpServer extends EventEmitter {
86
86
  close() {
87
87
  this.server.close();
88
88
  for (const key in this.sockets) {
89
- this.sockets[key].destroy();
89
+ this.sockets[key]?.destroy();
90
90
  }
91
91
  }
92
92
  }
@@ -0,0 +1,39 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import * as EventEmitter from 'events';
4
+ import { WsOptions } from '../internal/types';
5
+ export type WsClientOptions = WsOptions & {
6
+ address: string;
7
+ headers?: Record<string, string>;
8
+ pingInterval?: number;
9
+ protocol?: string;
10
+ };
11
+ export interface WsClient {
12
+ on(event: 'open', listener: () => void): this;
13
+ on(event: 'close', listener: () => void): this;
14
+ on(event: 'message', listener: (data: Buffer) => void): this;
15
+ on(event: 'error', listener: (err: Error) => void): this;
16
+ emit(event: 'open'): boolean;
17
+ emit(event: 'close'): boolean;
18
+ emit(event: 'message', data: Buffer): boolean;
19
+ emit(event: 'error', err: Error): boolean;
20
+ }
21
+ export declare class WsClient extends EventEmitter {
22
+ private user;
23
+ private pass;
24
+ private address;
25
+ private protocol?;
26
+ private pingInterval;
27
+ private wsOptions;
28
+ private digestAddress;
29
+ private isAlive;
30
+ private pingTimer?;
31
+ private ws?;
32
+ private isClosed;
33
+ constructor(options: WsClientOptions);
34
+ open(wwwAuthenticateHeader?: string): void;
35
+ send(data: Buffer | string): void;
36
+ close(): void;
37
+ reconnect(): void;
38
+ private closeWsConnection;
39
+ }
@@ -0,0 +1,13 @@
1
+ import { IWebsocket } from '../internal/types';
2
+ import { WsClientOptions } from './WsClient';
3
+ type TEvent = {
4
+ data: string;
5
+ };
6
+ export declare class WsEventClient implements IWebsocket<TEvent> {
7
+ private wsClient;
8
+ constructor(options: WsClientOptions);
9
+ send: (data: string) => void;
10
+ destroy: () => void;
11
+ onmessage: ((event: TEvent) => void) | null;
12
+ }
13
+ export {};
@@ -0,0 +1,2 @@
1
+ export { DefaultClient } from './DefaultClient';
2
+ export { WsClient } from './WsClient';
@@ -0,0 +1,2 @@
1
+ export { DefaultClient } from './DefaultClient';
2
+ export { WsClient } from './WsClient';
@@ -0,0 +1,328 @@
1
+ import { HttpOptions } from '../internal/types';
2
+ import { z } from 'zod';
3
+ import { widgetListSchema, widgetsSchema } from '../models/CamOverlayAPI/widgetsSchema';
4
+ import { fileListSchema, fileSchema, storageSchema } from '../models/CamOverlayAPI/fileSchema';
5
+ import { customGraphicsSchema, fieldSchema } from '../models/CamOverlayAPI/customGraphicsSchema';
6
+ import { infoTickerSchema, accuweatherSchema, ptzCompassSchema, imagesSchema, ptzSchema, pipSchema, screenSharingSchema, webCameraSharingSchema } from '../models/CamOverlayAPI';
7
+ export type CamOverlayOptions = HttpOptions;
8
+ export type TFileType = 'image' | 'font';
9
+ export type TCoordinates = 'top_left' | 'top_right' | 'top' | 'bottom_left' | 'bottom_right' | 'bottom' | 'left' | 'right' | 'center' | '';
10
+ export type TWidget = z.infer<typeof widgetsSchema>;
11
+ export type TWidgetList = z.infer<typeof widgetListSchema>;
12
+ export type TField = z.infer<typeof fieldSchema>;
13
+ export type TFile = z.infer<typeof fileSchema>;
14
+ export type TFileList = z.infer<typeof fileListSchema>;
15
+ export declare enum ImageType {
16
+ PNG = 0,
17
+ JPEG = 1
18
+ }
19
+ export type TStorage = z.infer<typeof storageSchema>;
20
+ export type TInfoticker = z.infer<typeof infoTickerSchema>;
21
+ export type TAccuweather = z.infer<typeof accuweatherSchema>;
22
+ export type TPtzCompass = z.infer<typeof ptzCompassSchema>;
23
+ export type TImages = z.infer<typeof imagesSchema>;
24
+ export type TPtz = z.infer<typeof ptzSchema>;
25
+ export type TPip = z.infer<typeof pipSchema>;
26
+ export type TCustomGraphics = z.infer<typeof customGraphicsSchema>;
27
+ export type TScreenSharing = z.infer<typeof screenSharingSchema>;
28
+ export type TWebCameraSharing = z.infer<typeof webCameraSharingSchema>;
29
+ export declare const isInfoticker: (widget: TWidget) => widget is {
30
+ name: "infoticker";
31
+ enabled: 0 | 1;
32
+ id: number;
33
+ width: number;
34
+ height: number;
35
+ source: string;
36
+ automationType: "time" | "manual" | "schedule" | `input${number}`;
37
+ cameraList: number[];
38
+ customName: string;
39
+ coordSystem: "top" | "bottom";
40
+ pos_y: number;
41
+ textColor: string;
42
+ font: string;
43
+ fontSize: number;
44
+ switchingTime: number;
45
+ clockType: "12h" | "24h";
46
+ showClock: 0 | 1;
47
+ bgColor: string;
48
+ weatherLocation: string;
49
+ weatherLocationName: string;
50
+ weatherLang: "en-us" | "fr-fr" | "ja-jp" | "pt-pt" | "es-es" | "de-de" | "ko-kr" | "zh-hk" | "zh-cn" | "nl-nl" | "cs-cz" | "ru-ru" | "sv-se";
51
+ weatherUnits: "Metric" | "Imperial";
52
+ numberOfLines: number;
53
+ crawlLeft: boolean;
54
+ crawlSpeed: number;
55
+ sourceType: "url" | "text";
56
+ schedule?: string | undefined;
57
+ invertInput?: boolean | undefined;
58
+ camera?: number | undefined;
59
+ zIndex?: number | undefined;
60
+ };
61
+ export declare const isAccuweather: (widget: TWidget) => widget is {
62
+ name: "accuweather";
63
+ enabled: 0 | 1;
64
+ id: number;
65
+ width: number;
66
+ height: number;
67
+ automationType: "time" | "manual" | "schedule" | `input${number}`;
68
+ cameraList: number[];
69
+ customName: string;
70
+ coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
71
+ pos_x: number;
72
+ pos_y: number;
73
+ scale: number;
74
+ font: string;
75
+ location: string;
76
+ locationName: string;
77
+ title: string;
78
+ bgStartColor: "237,143,73,0.93" | "0,0,0,0.75" | "31,32,73,0.9" | "76,94,127,0.95";
79
+ bgEndColor: "0,0,0,0.75" | "234,181,89,0.93" | "73,96,213,0.9" | "140,150,168,0.95";
80
+ clockType: "12h" | "24h";
81
+ lang: "en-us" | "fr-fr" | "ja-jp" | "pt-pt" | "es-es" | "de-de" | "ko-kr" | "zh-hk" | "zh-cn" | "nl-nl" | "cs-cz" | "ru-ru" | "sv-se";
82
+ units: "Metric" | "Imperial";
83
+ layout: "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "13";
84
+ schedule?: string | undefined;
85
+ invertInput?: boolean | undefined;
86
+ camera?: number | undefined;
87
+ zIndex?: number | undefined;
88
+ };
89
+ export declare const isPtzCompass: (widget: TWidget) => widget is {
90
+ type: "map" | "image" | "compass";
91
+ name: "ptzCompass";
92
+ enabled: 0 | 1;
93
+ id: number;
94
+ width: number;
95
+ height: number;
96
+ automationType: "time" | "manual" | "schedule" | `input${number}`;
97
+ cameraList: number[];
98
+ customName: string;
99
+ coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
100
+ pos_x: number;
101
+ pos_y: number;
102
+ scale: number;
103
+ image: string;
104
+ northPan: number;
105
+ cameraPosX: number;
106
+ cameraPosY: number;
107
+ colorScheme: "black" | "white" | "orange";
108
+ schedule?: string | undefined;
109
+ invertInput?: boolean | undefined;
110
+ camera?: number | undefined;
111
+ zIndex?: number | undefined;
112
+ generalLng?: number | undefined;
113
+ generalLat?: number | undefined;
114
+ generalZoom?: number | undefined;
115
+ generalMapType?: string | undefined;
116
+ generalIframeWidth?: number | undefined;
117
+ generalIframeHeight?: number | undefined;
118
+ generalAddress?: string | undefined;
119
+ };
120
+ export declare const isImages: (widget: TWidget) => widget is {
121
+ name: "images";
122
+ enabled: 0 | 1;
123
+ id: number;
124
+ width: number;
125
+ height: number;
126
+ automationType: "time" | "manual" | "schedule" | `input${number}`;
127
+ cameraList: number[];
128
+ customName: string;
129
+ overlayList: {
130
+ duration: number;
131
+ active: boolean;
132
+ coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
133
+ pos_x: number;
134
+ pos_y: number;
135
+ imgPath: string;
136
+ imgName: string;
137
+ scale: number;
138
+ fps?: number | undefined;
139
+ }[];
140
+ schedule?: string | undefined;
141
+ invertInput?: boolean | undefined;
142
+ camera?: number | undefined;
143
+ zIndex?: number | undefined;
144
+ };
145
+ export declare const isPtz: (widget: TWidget) => widget is {
146
+ name: "ptz";
147
+ enabled: 0 | 1;
148
+ id: number;
149
+ width: number;
150
+ height: number;
151
+ automationType: "time" | "manual" | "schedule" | `input${number}`;
152
+ cameraList: number[];
153
+ customName: string;
154
+ ptz_positions: Record<string, {
155
+ loop: boolean;
156
+ overlayList: {
157
+ duration: number;
158
+ coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
159
+ pos_x: number;
160
+ pos_y: number;
161
+ imgPath: string;
162
+ imgName: string;
163
+ scale: number;
164
+ }[];
165
+ }>;
166
+ schedule?: string | undefined;
167
+ invertInput?: boolean | undefined;
168
+ camera?: number | undefined;
169
+ zIndex?: number | undefined;
170
+ };
171
+ export declare const isPip: (widget: TWidget) => widget is {
172
+ name: "pip";
173
+ enabled: 0 | 1;
174
+ id: number;
175
+ width: number;
176
+ height: number;
177
+ fps: number;
178
+ automationType: "time" | "manual" | "schedule" | `input${number}`;
179
+ cameraList: number[];
180
+ customName: string;
181
+ coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
182
+ pos_x: number;
183
+ pos_y: number;
184
+ scale: number;
185
+ screenSize: number;
186
+ compression: number;
187
+ source_type: "axis_camera" | "mjpeg_url";
188
+ mjpeg_url: string;
189
+ camera_ip: string;
190
+ camera_port: number;
191
+ camera_user: string;
192
+ camera_pass: string;
193
+ camera_width: number;
194
+ camera_height: number;
195
+ camera_view_area: string;
196
+ camera_overlay_params: "overlays=off" | "overlays=all" | "overlays=text" | "overlays=image" | "overlays=application";
197
+ rotate: 0 | 90 | 180 | 270;
198
+ dewarping: {
199
+ enabled: boolean;
200
+ rectangle: [number, number][];
201
+ aspectRatioCorrection: number;
202
+ };
203
+ borderColor: string;
204
+ borderWidth: number;
205
+ schedule?: string | undefined;
206
+ invertInput?: boolean | undefined;
207
+ camera?: number | undefined;
208
+ zIndex?: number | undefined;
209
+ };
210
+ export declare const isCustomGraphics: (widget: TWidget) => widget is {
211
+ name: "customGraphics";
212
+ enabled: 0 | 1;
213
+ id: number;
214
+ width: number;
215
+ height: number;
216
+ automationType: "time" | "manual" | "schedule" | `input${number}`;
217
+ cameraList: number[];
218
+ customName: string;
219
+ coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
220
+ pos_x: number;
221
+ pos_y: number;
222
+ clockFormat: "12h" | "24h";
223
+ background: "custom" | "image";
224
+ image: string;
225
+ customAreaColor: string;
226
+ customAreaWidth: number;
227
+ customAreaHeight: number;
228
+ customAreaCorners: "sharp" | "rounded";
229
+ mappingZones: ({
230
+ type: "plain";
231
+ name: string;
232
+ pos_x: number;
233
+ pos_y: number;
234
+ wrapText: boolean;
235
+ textLines: number;
236
+ textWidth: number;
237
+ textAlign: "A_LEFT" | "A_CENTER" | "A_RIGHT";
238
+ textVerticalAlign: "VA_TOP" | "VA_CENTER" | "VA_BOTTOM";
239
+ textColor: string;
240
+ font: string;
241
+ fontSize: number;
242
+ switchingTime: number;
243
+ text?: {
244
+ source: string;
245
+ active: boolean;
246
+ }[] | undefined;
247
+ } | {
248
+ type: "countdown";
249
+ name: string;
250
+ pos_x: number;
251
+ pos_y: number;
252
+ wrapText: boolean;
253
+ textLines: number;
254
+ textWidth: number;
255
+ textAlign: "A_LEFT" | "A_CENTER" | "A_RIGHT";
256
+ textVerticalAlign: "VA_TOP" | "VA_CENTER" | "VA_BOTTOM";
257
+ textColor: string;
258
+ font: string;
259
+ fontSize: number;
260
+ switchingTime: number;
261
+ settings: {
262
+ startDate: number;
263
+ targetDate: number;
264
+ countdown: boolean;
265
+ countup: boolean;
266
+ displayDay: boolean;
267
+ displayHour: boolean;
268
+ displayMinute: boolean;
269
+ displaySeconds: boolean;
270
+ idleText: string;
271
+ hideZeros: boolean;
272
+ delimiter: "colon" | "letters";
273
+ suffixSeconds: string;
274
+ suffixMinute: string;
275
+ suffixHour: string;
276
+ suffixDay: string;
277
+ loop: boolean;
278
+ loopPeriod: number;
279
+ waitingPeriod: number;
280
+ };
281
+ text?: {
282
+ source: string;
283
+ active: boolean;
284
+ }[] | undefined;
285
+ })[];
286
+ schedule?: string | undefined;
287
+ invertInput?: boolean | undefined;
288
+ camera?: number | undefined;
289
+ zIndex?: number | undefined;
290
+ };
291
+ export declare const isScreenSharing: (widget: TWidget) => widget is {
292
+ name: "screenSharing";
293
+ enabled: 0 | 1;
294
+ id: number;
295
+ width: number;
296
+ height: number;
297
+ fps: number;
298
+ automationType: "time" | "manual" | "schedule" | `input${number}`;
299
+ cameraList: number[];
300
+ customName: string;
301
+ coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
302
+ pos_x: number;
303
+ pos_y: number;
304
+ screenSize: number;
305
+ schedule?: string | undefined;
306
+ invertInput?: boolean | undefined;
307
+ camera?: number | undefined;
308
+ zIndex?: number | undefined;
309
+ };
310
+ export declare const isWebCameraSharing: (widget: TWidget) => widget is {
311
+ name: "web_camera";
312
+ enabled: 0 | 1;
313
+ id: number;
314
+ width: number;
315
+ height: number;
316
+ fps: number;
317
+ automationType: "time" | "manual" | "schedule" | `input${number}`;
318
+ cameraList: number[];
319
+ customName: string;
320
+ coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
321
+ pos_x: number;
322
+ pos_y: number;
323
+ screenSize: number;
324
+ schedule?: string | undefined;
325
+ invertInput?: boolean | undefined;
326
+ camera?: number | undefined;
327
+ zIndex?: number | undefined;
328
+ };
@@ -0,0 +1,14 @@
1
+ export var ImageType;
2
+ (function (ImageType) {
3
+ ImageType[ImageType["PNG"] = 0] = "PNG";
4
+ ImageType[ImageType["JPEG"] = 1] = "JPEG";
5
+ })(ImageType || (ImageType = {}));
6
+ export const isInfoticker = (widget) => widget.name === 'infoticker';
7
+ export const isAccuweather = (widget) => widget.name === 'accuweather';
8
+ export const isPtzCompass = (widget) => widget.name === 'ptzCompass';
9
+ export const isImages = (widget) => widget.name === 'images';
10
+ export const isPtz = (widget) => widget.name === 'ptz';
11
+ export const isPip = (widget) => widget.name === 'pip';
12
+ export const isCustomGraphics = (widget) => widget.name === 'customGraphics';
13
+ export const isScreenSharing = (widget) => widget.name === 'screenSharing';
14
+ export const isWebCameraSharing = (widget) => widget.name === 'web_camera';
@@ -0,0 +1,126 @@
1
+ import { HttpOptions } from '../internal/types';
2
+ import { z } from 'zod';
3
+ export type CamScripterOptions = HttpOptions;
4
+ export type TStorageType = 'INTERNAL' | 'SD_CARD';
5
+ export declare const nodeStateSchema: z.ZodObject<{
6
+ node_state: z.ZodUnion<[z.ZodLiteral<"OK">, z.ZodLiteral<"NOT_INSTALLED">, z.ZodLiteral<"NOT_FOUND">]>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ node_state: "OK" | "NOT_INSTALLED" | "NOT_FOUND";
9
+ }, {
10
+ node_state: "OK" | "NOT_INSTALLED" | "NOT_FOUND";
11
+ }>;
12
+ export type TNodeState = z.infer<typeof nodeStateSchema>;
13
+ export declare const packageInfoListSchema: z.ZodArray<z.ZodObject<{
14
+ storage: z.ZodUnion<[z.ZodLiteral<"SD_CARD">, z.ZodLiteral<"INTERNAL">]>;
15
+ manifest: z.ZodObject<{
16
+ package_name: z.ZodString;
17
+ package_menu_name: z.ZodString;
18
+ package_version: z.ZodString;
19
+ vendor: z.ZodString;
20
+ required_camscripter_version: z.ZodString;
21
+ required_camscripter_rbi_version: z.ZodString;
22
+ ui_link: z.ZodString;
23
+ }, "strip", z.ZodTypeAny, {
24
+ package_name: string;
25
+ package_menu_name: string;
26
+ package_version: string;
27
+ vendor: string;
28
+ required_camscripter_version: string;
29
+ required_camscripter_rbi_version: string;
30
+ ui_link: string;
31
+ }, {
32
+ package_name: string;
33
+ package_menu_name: string;
34
+ package_version: string;
35
+ vendor: string;
36
+ required_camscripter_version: string;
37
+ required_camscripter_rbi_version: string;
38
+ ui_link: string;
39
+ }>;
40
+ }, "strip", z.ZodTypeAny, {
41
+ storage: "INTERNAL" | "SD_CARD";
42
+ manifest: {
43
+ package_name: string;
44
+ package_menu_name: string;
45
+ package_version: string;
46
+ vendor: string;
47
+ required_camscripter_version: string;
48
+ required_camscripter_rbi_version: string;
49
+ ui_link: string;
50
+ };
51
+ }, {
52
+ storage: "INTERNAL" | "SD_CARD";
53
+ manifest: {
54
+ package_name: string;
55
+ package_menu_name: string;
56
+ package_version: string;
57
+ vendor: string;
58
+ required_camscripter_version: string;
59
+ required_camscripter_rbi_version: string;
60
+ ui_link: string;
61
+ };
62
+ }>, "many">;
63
+ export type TPackageInfoList = z.infer<typeof packageInfoListSchema>;
64
+ export declare const packageConfigSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
65
+ enabled: z.ZodBoolean;
66
+ }, "strip", z.ZodTypeAny, {
67
+ enabled: boolean;
68
+ }, {
69
+ enabled: boolean;
70
+ }>>;
71
+ export type TPackageConfig = z.infer<typeof packageConfigSchema>;
72
+ export declare const storageSchema: z.ZodUnion<[z.ZodTuple<[z.ZodObject<{
73
+ type: z.ZodLiteral<"INTERNAL">;
74
+ capacity_mb: z.ZodNumber;
75
+ }, "strip", z.ZodTypeAny, {
76
+ type: "INTERNAL";
77
+ capacity_mb: number;
78
+ }, {
79
+ type: "INTERNAL";
80
+ capacity_mb: number;
81
+ }>, z.ZodObject<{
82
+ type: z.ZodLiteral<"SD_CARD">;
83
+ capacity_mb: z.ZodNumber;
84
+ }, "strip", z.ZodTypeAny, {
85
+ type: "SD_CARD";
86
+ capacity_mb: number;
87
+ }, {
88
+ type: "SD_CARD";
89
+ capacity_mb: number;
90
+ }>], null>, z.ZodTuple<[z.ZodObject<{
91
+ type: z.ZodLiteral<"INTERNAL">;
92
+ capacity_mb: z.ZodNumber;
93
+ }, "strip", z.ZodTypeAny, {
94
+ type: "INTERNAL";
95
+ capacity_mb: number;
96
+ }, {
97
+ type: "INTERNAL";
98
+ capacity_mb: number;
99
+ }>], null>]>;
100
+ export type TStorage = z.infer<typeof storageSchema>;
101
+ export type TStorageParsedData = {
102
+ size: number;
103
+ storageType: TStorageType;
104
+ }[];
105
+ export declare const camscripterApiResponseSchema: z.ZodObject<{
106
+ status: z.ZodNumber;
107
+ message: z.ZodString;
108
+ }, "strip", z.ZodTypeAny, {
109
+ status: number;
110
+ message: string;
111
+ }, {
112
+ status: number;
113
+ message: string;
114
+ }>;
115
+ export type TCamscripterApiResponse = z.infer<typeof camscripterApiResponseSchema>;
116
+ export declare const cameraTimeResponseSchema: z.ZodObject<{
117
+ state: z.ZodBoolean;
118
+ code: z.ZodNumber;
119
+ }, "strip", z.ZodTypeAny, {
120
+ code: number;
121
+ state: boolean;
122
+ }, {
123
+ code: number;
124
+ state: boolean;
125
+ }>;
126
+ export type TCameraTimeResponse = z.infer<typeof cameraTimeResponseSchema>;