camstreamerlib 4.0.0-beta.4 → 4.0.0-beta.41

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 (240) hide show
  1. package/README.md +112 -0
  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/CamSwitcherEvents.js +4 -60
  7. package/cjs/PlaneTrackerAPI.js +210 -0
  8. package/cjs/VapixAPI.js +323 -233
  9. package/cjs/{CreatePackage.js → bin/CreatePackage.js} +22 -19
  10. package/cjs/errors/errors.js +78 -1
  11. package/cjs/index.js +17 -4
  12. package/cjs/internal/ProxyClient.js +28 -32
  13. package/cjs/internal/WsEvents.js +72 -0
  14. package/cjs/internal/types.js +2 -0
  15. package/cjs/internal/utils.js +22 -3
  16. package/cjs/{CamOverlayDrawingAPI.js → node/CamOverlayDrawingAPI.js} +7 -4
  17. package/cjs/{CamOverlayPainter → node/CamOverlayPainter}/Frame.js +33 -0
  18. package/cjs/{CamOverlayPainter → node/CamOverlayPainter}/Painter.js +5 -17
  19. package/cjs/node/CamOverlayPainter/ResourceManager.js +72 -0
  20. package/cjs/{CamScripterAPICameraEventsGenerator.js → node/CamScripterAPICameraEventsGenerator.js} +7 -4
  21. package/cjs/node/DefaultClient.js +10 -12
  22. package/cjs/{internal → node}/Digest.js +8 -5
  23. package/cjs/node/HttpRequestSender.js +14 -4
  24. package/cjs/node/HttpServer.js +15 -12
  25. package/cjs/{VapixEvents.js → node/VapixEvents.js} +1 -1
  26. package/cjs/node/WsClient.js +12 -9
  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 +25 -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 +22 -7
  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/CamSwitcherEvents.js +8 -0
  50. package/cjs/types/GenetecAgent.js +31 -0
  51. package/cjs/types/PlaneTrackerAPI.js +286 -0
  52. package/cjs/types/VapixAPI.js +71 -13
  53. package/cjs/types/VapixEvents.js +2 -0
  54. package/cjs/web/DefaultClient.js +22 -10
  55. package/cjs/web/WsClient.js +3 -3
  56. package/esm/CamOverlayAPI.js +131 -88
  57. package/esm/CamScripterAPI.js +48 -38
  58. package/esm/CamStreamerAPI.js +81 -38
  59. package/esm/CamSwitcherAPI.js +137 -119
  60. package/esm/CamSwitcherEvents.js +5 -61
  61. package/esm/PlaneTrackerAPI.js +206 -0
  62. package/esm/VapixAPI.js +315 -225
  63. package/esm/{CreatePackage.js → bin/CreatePackage.js} +3 -3
  64. package/esm/errors/errors.js +66 -0
  65. package/esm/index.js +12 -3
  66. package/esm/internal/ProxyClient.js +28 -32
  67. package/esm/internal/WsEvents.js +68 -0
  68. package/esm/internal/utils.js +17 -1
  69. package/esm/{CamOverlayDrawingAPI.js → node/CamOverlayDrawingAPI.js} +2 -2
  70. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/Frame.js +33 -0
  71. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/Painter.js +2 -13
  72. package/esm/{CamOverlayPainter → node/CamOverlayPainter}/ResourceManager.js +7 -5
  73. package/esm/{CamScripterAPICameraEventsGenerator.js → node/CamScripterAPICameraEventsGenerator.js} +2 -2
  74. package/esm/node/DefaultClient.js +10 -12
  75. package/esm/{internal → node}/Digest.js +1 -1
  76. package/esm/node/HttpRequestSender.js +14 -4
  77. package/esm/node/HttpServer.js +5 -5
  78. package/esm/{VapixEvents.js → node/VapixEvents.js} +1 -1
  79. package/esm/node/WsClient.js +3 -3
  80. package/esm/{events → node/events}/AxisCameraStationEvents.js +18 -13
  81. package/esm/node/events/GenetecAgent.js +119 -0
  82. package/esm/node/index.js +17 -2
  83. package/esm/types/CamOverlayAPI/CamOverlayAPI.js +76 -0
  84. package/esm/types/CamOverlayAPI/accuweatherSchema.js +44 -0
  85. package/esm/types/CamOverlayAPI/customGraphicsSchema.js +69 -0
  86. package/esm/types/CamOverlayAPI/imagesSchema.js +6 -0
  87. package/esm/types/CamOverlayAPI/index.js +11 -0
  88. package/esm/types/CamOverlayAPI/infotickerSchema.js +23 -0
  89. package/esm/types/CamOverlayAPI/pipSchema.js +36 -0
  90. package/esm/types/CamOverlayAPI/ptzCompassSchema.js +22 -0
  91. package/esm/types/CamOverlayAPI/ptzSchema.js +9 -0
  92. package/esm/types/CamOverlayAPI/scoreBoardSchema.js +129 -0
  93. package/esm/types/CamOverlayAPI/screenSharingSchema.js +5 -0
  94. package/esm/types/CamOverlayAPI/serviceCommonTypes.js +88 -0
  95. package/esm/types/CamOverlayAPI/webCameraSharingSchema.js +5 -0
  96. package/esm/types/CamOverlayPainter.js +11 -0
  97. package/esm/types/CamScripterAPI.js +21 -6
  98. package/esm/types/CamScripterAPICameraEventsGenerator.js +1 -0
  99. package/esm/types/CamStreamerAPI.js +33 -2
  100. package/esm/types/CamSwitcherAPI.js +38 -1
  101. package/esm/types/CamSwitcherEvents.js +8 -0
  102. package/esm/types/GenetecAgent.js +28 -0
  103. package/esm/types/PlaneTrackerAPI.js +283 -0
  104. package/esm/types/VapixAPI.js +70 -12
  105. package/esm/types/VapixEvents.js +1 -0
  106. package/esm/web/DefaultClient.js +22 -10
  107. package/esm/web/WsClient.js +3 -3
  108. package/package.json +30 -12
  109. package/types/CamOverlayAPI.d.ts +865 -0
  110. package/types/CamScripterAPI.d.ts +47 -0
  111. package/types/CamStreamerAPI.d.ts +64 -0
  112. package/types/CamSwitcherAPI.d.ts +167 -0
  113. package/types/CamSwitcherEvents.d.ts +8 -0
  114. package/types/PlaneTrackerAPI.d.ts +230 -0
  115. package/types/VapixAPI.d.ts +118 -0
  116. package/types/bin/CreatePackage.d.ts +1 -0
  117. package/types/errors/errors.d.ts +68 -0
  118. package/types/index.d.ts +20 -0
  119. package/types/internal/ProxyClient.d.ts +10 -0
  120. package/types/internal/WsEvents.d.ts +41 -0
  121. package/types/internal/types.d.ts +45 -0
  122. package/{cjs → types}/internal/utils.d.ts +4 -1
  123. package/{cjs → types}/internal/versionCompare.d.ts +2 -2
  124. package/types/node/CamOverlayDrawingAPI.d.ts +41 -0
  125. package/{esm → types/node}/CamOverlayPainter/Frame.d.ts +8 -37
  126. package/{cjs → types/node}/CamOverlayPainter/Painter.d.ts +5 -21
  127. package/types/node/CamOverlayPainter/ResourceManager.d.ts +15 -0
  128. package/types/node/CamScripterAPICameraEventsGenerator.d.ts +31 -0
  129. package/types/node/DefaultClient.d.ts +16 -0
  130. package/{esm → types}/node/HttpRequestSender.d.ts +1 -0
  131. package/{cjs → types}/node/HttpServer.d.ts +2 -2
  132. package/types/node/VapixEvents.d.ts +16 -0
  133. package/{cjs → types}/node/WsClient.d.ts +3 -2
  134. package/types/node/events/AxisCameraStationEvents.d.ts +12 -0
  135. package/types/node/events/GenetecAgent.d.ts +16 -0
  136. package/types/node/index.d.ts +17 -0
  137. package/types/types/CamOverlayAPI/CamOverlayAPI.d.ts +4321 -0
  138. package/types/types/CamOverlayAPI/accuweatherSchema.d.ts +84 -0
  139. package/types/types/CamOverlayAPI/customGraphicsSchema.d.ts +700 -0
  140. package/types/types/CamOverlayAPI/imagesSchema.d.ts +95 -0
  141. package/types/types/CamOverlayAPI/index.d.ts +11 -0
  142. package/types/types/CamOverlayAPI/infotickerSchema.d.ts +96 -0
  143. package/types/types/CamOverlayAPI/pipSchema.d.ts +125 -0
  144. package/types/types/CamOverlayAPI/ptzCompassSchema.d.ts +93 -0
  145. package/types/types/CamOverlayAPI/ptzSchema.d.ts +118 -0
  146. package/types/types/CamOverlayAPI/scoreBoardSchema.d.ts +357 -0
  147. package/types/types/CamOverlayAPI/screenSharingSchema.d.ts +58 -0
  148. package/types/types/CamOverlayAPI/serviceCommonTypes.d.ts +145 -0
  149. package/types/types/CamOverlayAPI/webCameraSharingSchema.d.ts +58 -0
  150. package/types/types/CamOverlayDrawingAPI.d.ts +48 -0
  151. package/types/types/CamOverlayPainter.d.ts +76 -0
  152. package/types/types/CamScripterAPI.d.ts +130 -0
  153. package/types/types/CamScripterAPICameraEventsGenerator.d.ts +45 -0
  154. package/types/types/CamStreamerAPI.d.ts +272 -0
  155. package/{esm → types}/types/CamSwitcherAPI.d.ts +115 -36
  156. package/{cjs → types}/types/CamSwitcherEvents.d.ts +77 -0
  157. package/{esm/events → types/types}/GenetecAgent.d.ts +47 -47
  158. package/types/types/PlaneTrackerAPI.d.ts +890 -0
  159. package/{cjs → types}/types/VapixAPI.d.ts +647 -465
  160. package/types/types/VapixEvents.d.ts +15 -0
  161. package/{esm → types}/types/common.d.ts +15 -5
  162. package/types/web/DefaultClient.d.ts +6 -0
  163. package/cjs/CamOverlayAPI.d.ts +0 -31
  164. package/cjs/CamOverlayDrawingAPI.d.ts +0 -86
  165. package/cjs/CamOverlayPainter/Frame.d.ts +0 -96
  166. package/cjs/CamOverlayPainter/ResourceManager.d.ts +0 -14
  167. package/cjs/CamOverlayPainter/ResourceManager.js +0 -46
  168. package/cjs/CamScripterAPI.d.ts +0 -19
  169. package/cjs/CamScripterAPICameraEventsGenerator.d.ts +0 -74
  170. package/cjs/CamStreamerAPI.d.ts +0 -16
  171. package/cjs/CamSwitcherAPI.d.ts +0 -48
  172. package/cjs/CamSwitcherEvents.d.ts +0 -18
  173. package/cjs/VapixAPI.d.ts +0 -66
  174. package/cjs/VapixEvents.d.ts +0 -43
  175. package/cjs/errors/errors.d.ts +0 -34
  176. package/cjs/events/AxisCameraStationEvents.d.ts +0 -9
  177. package/cjs/events/AxisCameraStationEvents.js +0 -48
  178. package/cjs/events/GenetecAgent.d.ts +0 -174
  179. package/cjs/events/GenetecAgent.js +0 -123
  180. package/cjs/index.d.ts +0 -11
  181. package/cjs/internal/ProxyClient.d.ts +0 -11
  182. package/cjs/internal/common.d.ts +0 -39
  183. package/cjs/internal/common.js +0 -27
  184. package/cjs/node/DefaultClient.d.ts +0 -15
  185. package/cjs/node/HttpRequestSender.d.ts +0 -28
  186. package/cjs/node/WsEventClient.d.ts +0 -13
  187. package/cjs/node/WsEventClient.js +0 -22
  188. package/cjs/types/CamOverlayAPI.d.ts +0 -188
  189. package/cjs/types/CamOverlayAPI.js +0 -47
  190. package/cjs/types/CamScripterAPI.d.ts +0 -67
  191. package/cjs/types/CamStreamerAPI.d.ts +0 -139
  192. package/cjs/types/CamSwitcherAPI.d.ts +0 -814
  193. package/cjs/types/common.d.ts +0 -37
  194. package/cjs/web/DefaultClient.d.ts +0 -6
  195. package/cjs/web/index.d.ts +0 -2
  196. package/esm/CamOverlayAPI.d.ts +0 -31
  197. package/esm/CamOverlayDrawingAPI.d.ts +0 -86
  198. package/esm/CamOverlayPainter/Painter.d.ts +0 -48
  199. package/esm/CamOverlayPainter/ResourceManager.d.ts +0 -14
  200. package/esm/CamScripterAPI.d.ts +0 -19
  201. package/esm/CamScripterAPICameraEventsGenerator.d.ts +0 -74
  202. package/esm/CamStreamerAPI.d.ts +0 -16
  203. package/esm/CamSwitcherAPI.d.ts +0 -48
  204. package/esm/CamSwitcherEvents.d.ts +0 -18
  205. package/esm/VapixAPI.d.ts +0 -66
  206. package/esm/VapixEvents.d.ts +0 -43
  207. package/esm/errors/errors.d.ts +0 -34
  208. package/esm/events/AxisCameraStationEvents.d.ts +0 -9
  209. package/esm/events/GenetecAgent.js +0 -119
  210. package/esm/index.d.ts +0 -11
  211. package/esm/internal/Digest.d.ts +0 -4
  212. package/esm/internal/ProxyClient.d.ts +0 -11
  213. package/esm/internal/common.d.ts +0 -39
  214. package/esm/internal/common.js +0 -20
  215. package/esm/internal/constants.d.ts +0 -1
  216. package/esm/internal/transformers.d.ts +0 -5
  217. package/esm/internal/utils.d.ts +0 -11
  218. package/esm/internal/versionCompare.d.ts +0 -6
  219. package/esm/node/DefaultClient.d.ts +0 -15
  220. package/esm/node/HttpServer.d.ts +0 -21
  221. package/esm/node/WsClient.d.ts +0 -39
  222. package/esm/node/WsEventClient.d.ts +0 -13
  223. package/esm/node/WsEventClient.js +0 -18
  224. package/esm/node/index.d.ts +0 -2
  225. package/esm/types/CamOverlayAPI.d.ts +0 -188
  226. package/esm/types/CamOverlayAPI.js +0 -44
  227. package/esm/types/CamScripterAPI.d.ts +0 -67
  228. package/esm/types/CamStreamerAPI.d.ts +0 -139
  229. package/esm/types/CamSwitcherEvents.d.ts +0 -491
  230. package/esm/types/VapixAPI.d.ts +0 -1683
  231. package/esm/web/DefaultClient.d.ts +0 -6
  232. package/esm/web/WsClient.d.ts +0 -13
  233. package/esm/web/index.d.ts +0 -2
  234. /package/{cjs/CreatePackage.d.ts → esm/internal/types.js} +0 -0
  235. /package/esm/{CreatePackage.d.ts → types/CamOverlayDrawingAPI.js} +0 -0
  236. /package/{cjs → types}/internal/constants.d.ts +0 -0
  237. /package/{cjs → types}/internal/transformers.d.ts +0 -0
  238. /package/{cjs/internal → types/node}/Digest.d.ts +0 -0
  239. /package/{cjs → types}/web/WsClient.d.ts +0 -0
  240. /package/{cjs/node → types/web}/index.d.ts +0 -0
@@ -1,119 +0,0 @@
1
- import { z } from 'zod';
2
- import { responseStringify, pad } from '../internal/common';
3
- const ACTION = 'AddCameraBookmark';
4
- const GET_CAMERAS_URL = 'report/EntityConfiguration?q=EntityTypes@Camera';
5
- const GET_CAMERAS_DETAILS_URL = '/entity?q=';
6
- const cameraGuidsResponseSchema = z.object({
7
- Rsp: z.object({
8
- Status: z.string(),
9
- Result: z.array(z.object({ Guid: z.string() })),
10
- }),
11
- });
12
- const connectionResponseSchema = z.object({
13
- Rsp: z.object({
14
- Status: z.string(),
15
- }),
16
- });
17
- export const cameraDetailSchema = z.object({
18
- Guid: z.string().optional(),
19
- Name: z.string().optional(),
20
- EntityType: z.string().optional(),
21
- });
22
- export const cameraDetailsResponseSchema = z.object({
23
- Rsp: z.object({
24
- Status: z.string(),
25
- Result: z.union([z.array(cameraDetailSchema), cameraDetailSchema]),
26
- }),
27
- });
28
- export class GenetecAgent {
29
- settings;
30
- baseUrl;
31
- credentials;
32
- constructor(options = {}) {
33
- this.settings = {
34
- protocol: options.protocol ?? 'http',
35
- ip: options.ip ?? '127.0.0.1',
36
- port: options.port ?? 80,
37
- base_uri: options.base_uri ?? 'WebSdk',
38
- user: options.user ?? 'root',
39
- pass: options.pass ?? '',
40
- app_id: options.app_id ?? '',
41
- };
42
- this.baseUrl = `${this.settings.protocol}://${this.settings.ip}:${this.settings.port}/${this.settings.base_uri}`;
43
- this.credentials = btoa(`${this.settings.user};${this.settings.app_id}:${this.settings.pass}`);
44
- }
45
- async checkConnection() {
46
- const requestOptions = this.getRequestOptions('GET');
47
- const res = await fetch(`${this.baseUrl}/`, requestOptions);
48
- if (!res.ok) {
49
- throw new Error(await responseStringify(res));
50
- }
51
- return connectionResponseSchema.parse(await res.json());
52
- }
53
- async getAllCameraGuids() {
54
- const requestOptions = this.getRequestOptions('GET');
55
- const res = await fetch(`${this.baseUrl}/${GET_CAMERAS_URL}`, requestOptions);
56
- if (!res.ok) {
57
- throw new Error(await responseStringify(res));
58
- }
59
- return cameraGuidsResponseSchema.parse(await res.json());
60
- }
61
- async getCameraDetails(guids, parameters) {
62
- const params = parameters.join(',');
63
- let camerasGuids = [];
64
- const requestOptions = this.getRequestOptions('GET');
65
- const allCameras = [];
66
- const chunkSize = 10;
67
- while (guids.length > 0) {
68
- const chunk = guids.slice(0, chunkSize);
69
- guids.splice(0, chunkSize);
70
- camerasGuids = chunk.map((item) => item.Guid);
71
- const camerasDetailsUrl = [];
72
- for (const guid of camerasGuids) {
73
- camerasDetailsUrl.push(`entity=${guid},${params}`);
74
- }
75
- const res = await fetch(`${this.baseUrl}/${GET_CAMERAS_DETAILS_URL}${camerasDetailsUrl.join(',')}`, requestOptions);
76
- if (!res.ok) {
77
- throw new Error(await responseStringify(res));
78
- }
79
- const data = cameraDetailsResponseSchema.parse(await res.json());
80
- const resultArray = Array.isArray(data.Rsp.Result) ? data.Rsp.Result : [data.Rsp.Result];
81
- allCameras.push(...resultArray);
82
- }
83
- return allCameras;
84
- }
85
- async sendBookmark(guids, bookmarkText) {
86
- const cameraEntitiesUrl = [];
87
- const timeStamp = this.getTimeStamp();
88
- const requestOptions = this.getRequestOptions('POST');
89
- for (const guid of guids) {
90
- cameraEntitiesUrl.push(`${ACTION}(${guid},${timeStamp},${bookmarkText})`);
91
- }
92
- const res = await fetch(`${this.baseUrl}/action?q=${cameraEntitiesUrl.join(',')}`, requestOptions);
93
- if (!res.ok) {
94
- throw new Error(await responseStringify(res));
95
- }
96
- return res;
97
- }
98
- getRequestOptions(method) {
99
- return {
100
- method,
101
- headers: new Headers({
102
- Authorization: `Basic ${this.credentials}`,
103
- Accept: 'text/json',
104
- }),
105
- redirect: 'follow',
106
- };
107
- }
108
- getTimeStamp() {
109
- const date = new Date();
110
- const year = date.getUTCFullYear();
111
- const month = pad(date.getUTCMonth() + 1, 2);
112
- const day = pad(date.getUTCDate(), 2);
113
- const hours = pad(date.getUTCHours(), 2);
114
- const minutes = pad(date.getUTCMinutes(), 2);
115
- const seconds = pad(date.getUTCSeconds(), 2);
116
- const miliSeconds = pad(date.getUTCMilliseconds(), 2);
117
- return `${year}-${month}-${day}T${hours}:${minutes}:${seconds}.${miliSeconds}Z`;
118
- }
119
- }
package/esm/index.d.ts DELETED
@@ -1,11 +0,0 @@
1
- export * from './internal/common';
2
- export * from './internal/constants';
3
- export * from './internal/utils';
4
- export * from './internal/versionCompare';
5
- export * from './types/common';
6
- export { CamSwitcherAPI } from './CamSwitcherAPI';
7
- export { CamSwitcherEvents } from './CamSwitcherEvents';
8
- export { VapixAPI } from './VapixAPI';
9
- export * from './types/CamSwitcherEvents';
10
- export * from './types/CamSwitcherAPI';
11
- export * from './types/VapixAPI';
@@ -1,4 +0,0 @@
1
- export declare class Digest {
2
- private nonceCount;
3
- getAuthHeader(user: string, pass: string, method: string, uri: string, wwwAuthenticateHeader: string): string;
4
- }
@@ -1,11 +0,0 @@
1
- /// <reference types="node" />
2
- import { IClient, TParameters } from './common';
3
- import { TProxyParam } from '../types/common';
4
- export declare class ProxyClient<Client extends IClient = IClient> {
5
- client: Client;
6
- getProxyUrl: () => string;
7
- constructor(client: Client, getProxyUrl: () => string);
8
- get: (proxy: TProxyParam, path: string, parameters?: TParameters, headers?: Record<string, string>) => Promise<import("./common").TResponse>;
9
- post: (proxy: TProxyParam, path: string, data: string | Buffer | FormData, parameters?: TParameters, headers?: Record<string, string>) => Promise<import("./common").TResponse>;
10
- private getReal;
11
- }
@@ -1,39 +0,0 @@
1
- /// <reference types="node" />
2
- type Options = {
3
- ip?: string;
4
- port?: number;
5
- user?: string;
6
- pass?: string;
7
- tls?: boolean;
8
- tlsInsecure?: boolean;
9
- };
10
- export type HttpOptions = Options & {
11
- keepAlive?: boolean;
12
- };
13
- export type WsOptions = Options;
14
- export type TResponse = {
15
- ok: boolean;
16
- json: () => Promise<any>;
17
- text: () => Promise<string>;
18
- status: number;
19
- body: any | null;
20
- };
21
- export type TParameters = Record<string, string | number | boolean | null | undefined>;
22
- export type TGetFunction = (url: string, parameters?: TParameters, headers?: Record<string, string>) => Promise<TResponse>;
23
- export type TPostFunction = (url: string, data: string | Buffer | FormData, parameters?: TParameters, headers?: Record<string, string>) => Promise<TResponse>;
24
- export interface IClient {
25
- get: TGetFunction;
26
- post: TPostFunction;
27
- }
28
- export interface IWebsocket<Event extends {
29
- readonly data: string;
30
- }> {
31
- destroy: () => void;
32
- onmessage: null | ((event: Event) => void);
33
- send: (data: string) => void;
34
- }
35
- export declare function isClient(arg?: Options | IClient): arg is IClient;
36
- export declare function responseStringify(res: TResponse): Promise<string>;
37
- export declare function pad(num: number, size: number): string;
38
- export declare function isNullish<T>(value: T | undefined | null): value is undefined | null;
39
- export {};
@@ -1,20 +0,0 @@
1
- export function isClient(arg = {}) {
2
- return 'get' in arg && 'post' in arg;
3
- }
4
- export async function responseStringify(res) {
5
- return JSON.stringify({
6
- status: res.status,
7
- body: await res.text(),
8
- });
9
- }
10
- export function pad(num, size) {
11
- const sign = Math.sign(num) === -1 ? '-' : '';
12
- return (sign +
13
- new Array(size)
14
- .concat([Math.abs(num)])
15
- .join('0')
16
- .slice(-size));
17
- }
18
- export function isNullish(value) {
19
- return value === null || value === undefined;
20
- }
@@ -1 +0,0 @@
1
- export declare const FIRMWARE_WITH_BITRATE_MODES_SUPPORT = "11.11.73";
@@ -1,5 +0,0 @@
1
- import type { CamelCasedProperties, CamelCasedPropertiesDeep, SnakeCasedProperties, SnakeCasedPropertiesDeep } from 'type-fest';
2
- export declare const toCamelCase: <T extends object>(o: T) => CamelCasedProperties<T>;
3
- export declare const toCamelCaseDeep: <T extends object>(o: T) => CamelCasedPropertiesDeep<T>;
4
- export declare const toSnakeCase: <T extends object>(o: T) => SnakeCasedProperties<T>;
5
- export declare const toSnakeCaseDeep: <T extends object>(o: T) => SnakeCasedPropertiesDeep<T>;
@@ -1,11 +0,0 @@
1
- import { TPlaylistPlayType } from '../types/CamSwitcherAPI';
2
- import { TParameters } from './common';
3
- export declare const addParametersToPath: (path: string, params?: TParameters) => string;
4
- export declare const paramToUrl: (params?: TParameters) => string;
5
- export declare const arrayToUrl: (arr: string | string[]) => string;
6
- export declare const isCamera: (id?: string) => boolean;
7
- export declare const isStream: (id?: string) => boolean;
8
- export declare const isClip: (id?: string) => boolean;
9
- export declare const isTracker: (id?: string) => boolean;
10
- export declare const isPlaylist: (id?: string) => boolean;
11
- export declare const isLoopPlayType: (playType: TPlaylistPlayType) => boolean;
@@ -1,6 +0,0 @@
1
- export declare const assertVersionString: (s: string, msg?: string) => void;
2
- export declare const isFirmwareVersionAtLeast: (version: string, compareVersion: string) => boolean;
3
- export declare const isVersionAtLeast: (version: string, compareVersion: string) => boolean;
4
- export declare const firmwareVersionCompare: (a: string, b: string) => 1 | -1 | 0;
5
- export declare const versionCompare: (a: string, b: string) => 1 | -1 | 0;
6
- export declare const fixVersionToDots: (version: string) => string;
@@ -1,15 +0,0 @@
1
- /// <reference types="node" />
2
- import { IClient, HttpOptions, TParameters } from '../internal/common';
3
- export declare class DefaultClient implements IClient {
4
- private tls;
5
- private ip;
6
- private port;
7
- private user;
8
- private pass;
9
- private httpRequestSender;
10
- constructor(opt?: HttpOptions);
11
- get url(): string;
12
- get(path: string, parameters?: TParameters, headers?: Record<string, string>): Promise<import("undici").Response>;
13
- post(path: string, data: string | FormData | Buffer, parameters?: TParameters, headers?: Record<string, string>): Promise<import("undici").Response>;
14
- private getBaseConnectionParams;
15
- }
@@ -1,21 +0,0 @@
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 {};
@@ -1,39 +0,0 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import * as EventEmitter from 'events';
4
- import { WsOptions } from '../internal/common';
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
- }
@@ -1,13 +0,0 @@
1
- import { IWebsocket } from '../internal/common';
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 {};
@@ -1,18 +0,0 @@
1
- import { WsClient } from './WsClient';
2
- export class WsEventClient {
3
- wsClient;
4
- constructor(options) {
5
- this.wsClient = new WsClient(options);
6
- this.wsClient.on('message', (data) => {
7
- this.onmessage?.({ data: data.toString() });
8
- });
9
- }
10
- send = (data) => {
11
- this.wsClient.send(data);
12
- };
13
- destroy = () => {
14
- this.wsClient.close();
15
- this.onmessage = null;
16
- };
17
- onmessage = null;
18
- }
@@ -1,2 +0,0 @@
1
- export { DefaultClient } from './DefaultClient';
2
- export { WsClient } from './WsClient';
@@ -1,188 +0,0 @@
1
- import { HttpOptions } from '../internal/common';
2
- import { z } from 'zod';
3
- export type CamOverlayOptions = HttpOptions;
4
- export type TFileType = 'image' | 'font';
5
- export type TCoordinates = 'top_left' | 'top_right' | 'top' | 'bottom_left' | 'bottom_right' | 'bottom' | 'left' | 'right' | 'center' | '';
6
- export declare const serviceSchema: z.ZodRecord<z.ZodString, z.ZodAny>;
7
- export type TService = z.infer<typeof serviceSchema>;
8
- export type TServiceList = {
9
- services: TService[];
10
- };
11
- export declare const fieldSchema: z.ZodObject<{
12
- field_name: z.ZodString;
13
- text: z.ZodString;
14
- color: z.ZodOptional<z.ZodString>;
15
- }, "strip", z.ZodTypeAny, {
16
- field_name: string;
17
- text: string;
18
- color?: string | undefined;
19
- }, {
20
- field_name: string;
21
- text: string;
22
- color?: string | undefined;
23
- }>;
24
- export type TField = z.infer<typeof fieldSchema>;
25
- export declare const fileSchema: z.ZodObject<{
26
- name: z.ZodString;
27
- path: z.ZodString;
28
- storage: z.ZodString;
29
- }, "strip", z.ZodTypeAny, {
30
- path: string;
31
- name: string;
32
- storage: string;
33
- }, {
34
- path: string;
35
- name: string;
36
- storage: string;
37
- }>;
38
- export type TFile = z.infer<typeof fileSchema>;
39
- export declare const fileListSchema: z.ZodArray<z.ZodObject<{
40
- name: z.ZodString;
41
- path: z.ZodString;
42
- storage: z.ZodString;
43
- }, "strip", z.ZodTypeAny, {
44
- path: string;
45
- name: string;
46
- storage: string;
47
- }, {
48
- path: string;
49
- name: string;
50
- storage: string;
51
- }>, "many">;
52
- export type TFileList = z.infer<typeof fileListSchema>;
53
- export declare enum ImageType {
54
- PNG = 0,
55
- JPEG = 1
56
- }
57
- export declare const fontStorageSchema: z.ZodTuple<[z.ZodObject<{
58
- type: z.ZodLiteral<"SD0">;
59
- state: z.ZodLiteral<"SD Card">;
60
- }, "strip", z.ZodTypeAny, {
61
- type: "SD0";
62
- state: "SD Card";
63
- }, {
64
- type: "SD0";
65
- state: "SD Card";
66
- }>, z.ZodObject<{
67
- type: z.ZodLiteral<"flash">;
68
- state: z.ZodString;
69
- }, "strip", z.ZodTypeAny, {
70
- type: "flash";
71
- state: string;
72
- }, {
73
- type: "flash";
74
- state: string;
75
- }>], null>;
76
- export type TFontStorage = z.infer<typeof fontStorageSchema>;
77
- export declare const imageStorageSchema: z.ZodTuple<[z.ZodObject<{
78
- type: z.ZodLiteral<"SD0">;
79
- state: z.ZodLiteral<"SD Card">;
80
- }, "strip", z.ZodTypeAny, {
81
- type: "SD0";
82
- state: "SD Card";
83
- }, {
84
- type: "SD0";
85
- state: "SD Card";
86
- }>, z.ZodObject<{
87
- type: z.ZodLiteral<"flash">;
88
- state: z.ZodString;
89
- }, "strip", z.ZodTypeAny, {
90
- type: "flash";
91
- state: string;
92
- }, {
93
- type: "flash";
94
- state: string;
95
- }>, z.ZodObject<{
96
- type: z.ZodLiteral<"samba">;
97
- state: z.ZodLiteral<"Microsoft Network Share">;
98
- }, "strip", z.ZodTypeAny, {
99
- type: "samba";
100
- state: "Microsoft Network Share";
101
- }, {
102
- type: "samba";
103
- state: "Microsoft Network Share";
104
- }>, z.ZodObject<{
105
- type: z.ZodLiteral<"url">;
106
- state: z.ZodLiteral<"URL">;
107
- }, "strip", z.ZodTypeAny, {
108
- type: "url";
109
- state: "URL";
110
- }, {
111
- type: "url";
112
- state: "URL";
113
- }>, z.ZodObject<{
114
- type: z.ZodLiteral<"ftp">;
115
- state: z.ZodLiteral<"FTP">;
116
- }, "strip", z.ZodTypeAny, {
117
- type: "ftp";
118
- state: "FTP";
119
- }, {
120
- type: "ftp";
121
- state: "FTP";
122
- }>], null>;
123
- export type TImageStorage = z.infer<typeof imageStorageSchema>;
124
- export declare const storageSchema: z.ZodUnion<[z.ZodTuple<[z.ZodObject<{
125
- type: z.ZodLiteral<"SD0">;
126
- state: z.ZodLiteral<"SD Card">;
127
- }, "strip", z.ZodTypeAny, {
128
- type: "SD0";
129
- state: "SD Card";
130
- }, {
131
- type: "SD0";
132
- state: "SD Card";
133
- }>, z.ZodObject<{
134
- type: z.ZodLiteral<"flash">;
135
- state: z.ZodString;
136
- }, "strip", z.ZodTypeAny, {
137
- type: "flash";
138
- state: string;
139
- }, {
140
- type: "flash";
141
- state: string;
142
- }>], null>, z.ZodTuple<[z.ZodObject<{
143
- type: z.ZodLiteral<"SD0">;
144
- state: z.ZodLiteral<"SD Card">;
145
- }, "strip", z.ZodTypeAny, {
146
- type: "SD0";
147
- state: "SD Card";
148
- }, {
149
- type: "SD0";
150
- state: "SD Card";
151
- }>, z.ZodObject<{
152
- type: z.ZodLiteral<"flash">;
153
- state: z.ZodString;
154
- }, "strip", z.ZodTypeAny, {
155
- type: "flash";
156
- state: string;
157
- }, {
158
- type: "flash";
159
- state: string;
160
- }>, z.ZodObject<{
161
- type: z.ZodLiteral<"samba">;
162
- state: z.ZodLiteral<"Microsoft Network Share">;
163
- }, "strip", z.ZodTypeAny, {
164
- type: "samba";
165
- state: "Microsoft Network Share";
166
- }, {
167
- type: "samba";
168
- state: "Microsoft Network Share";
169
- }>, z.ZodObject<{
170
- type: z.ZodLiteral<"url">;
171
- state: z.ZodLiteral<"URL">;
172
- }, "strip", z.ZodTypeAny, {
173
- type: "url";
174
- state: "URL";
175
- }, {
176
- type: "url";
177
- state: "URL";
178
- }>, z.ZodObject<{
179
- type: z.ZodLiteral<"ftp">;
180
- state: z.ZodLiteral<"FTP">;
181
- }, "strip", z.ZodTypeAny, {
182
- type: "ftp";
183
- state: "FTP";
184
- }, {
185
- type: "ftp";
186
- state: "FTP";
187
- }>], null>]>;
188
- export type TStorage = z.infer<typeof storageSchema>;
@@ -1,44 +0,0 @@
1
- import { z } from 'zod';
2
- export const serviceSchema = z.record(z.string(), z.any());
3
- export const fieldSchema = z.object({
4
- field_name: z.string(),
5
- text: z.string(),
6
- color: z.string().optional(),
7
- });
8
- export const fileSchema = z.object({
9
- name: z.string(),
10
- path: z.string(),
11
- storage: z.string(),
12
- });
13
- export const fileListSchema = z.array(fileSchema);
14
- export var ImageType;
15
- (function (ImageType) {
16
- ImageType[ImageType["PNG"] = 0] = "PNG";
17
- ImageType[ImageType["JPEG"] = 1] = "JPEG";
18
- })(ImageType || (ImageType = {}));
19
- export const fontStorageSchema = z.tuple([
20
- z.object({
21
- type: z.literal('SD0'),
22
- state: z.literal('SD Card'),
23
- }),
24
- z.object({
25
- type: z.literal('flash'),
26
- state: z.string(),
27
- }),
28
- ]);
29
- export const imageStorageSchema = z.tuple([
30
- ...fontStorageSchema.items,
31
- z.object({
32
- type: z.literal('samba'),
33
- state: z.literal('Microsoft Network Share'),
34
- }),
35
- z.object({
36
- type: z.literal('url'),
37
- state: z.literal('URL'),
38
- }),
39
- z.object({
40
- type: z.literal('ftp'),
41
- state: z.literal('FTP'),
42
- }),
43
- ]);
44
- export const storageSchema = z.union([fontStorageSchema, imageStorageSchema]);
@@ -1,67 +0,0 @@
1
- import { HttpOptions } from '../internal/common';
2
- import { z } from 'zod';
3
- export type CamScripterOptions = HttpOptions;
4
- export type TStorageType = 'INTERNAL' | 'SD_CARD';
5
- export type TNodeState = 'OK' | 'NOT_INSTALLED' | 'NOT_FOUND';
6
- export declare const packageInfoListSchema: z.ZodArray<z.ZodObject<{
7
- storage: z.ZodUnion<[z.ZodLiteral<"SD_CARD">, z.ZodLiteral<"INTERNAL">]>;
8
- manifest: z.ZodObject<{
9
- package_name: z.ZodString;
10
- package_menu_name: z.ZodString;
11
- package_version: z.ZodString;
12
- vendor: z.ZodString;
13
- required_camscripter_version: z.ZodString;
14
- required_camscripter_rbi_version: z.ZodString;
15
- ui_link: z.ZodString;
16
- }, "strip", z.ZodTypeAny, {
17
- package_name: string;
18
- package_menu_name: string;
19
- package_version: string;
20
- vendor: string;
21
- required_camscripter_version: string;
22
- required_camscripter_rbi_version: string;
23
- ui_link: string;
24
- }, {
25
- package_name: string;
26
- package_menu_name: string;
27
- package_version: string;
28
- vendor: string;
29
- required_camscripter_version: string;
30
- required_camscripter_rbi_version: string;
31
- ui_link: string;
32
- }>;
33
- }, "strip", z.ZodTypeAny, {
34
- storage: "INTERNAL" | "SD_CARD";
35
- manifest: {
36
- package_name: string;
37
- package_menu_name: string;
38
- package_version: string;
39
- vendor: string;
40
- required_camscripter_version: string;
41
- required_camscripter_rbi_version: string;
42
- ui_link: string;
43
- };
44
- }, {
45
- storage: "INTERNAL" | "SD_CARD";
46
- manifest: {
47
- package_name: string;
48
- package_menu_name: string;
49
- package_version: string;
50
- vendor: string;
51
- required_camscripter_version: string;
52
- required_camscripter_rbi_version: string;
53
- ui_link: string;
54
- };
55
- }>, "many">;
56
- export type TPackageInfoList = z.infer<typeof packageInfoListSchema>;
57
- export declare const storageSchema: z.ZodArray<z.ZodObject<{
58
- type: z.ZodUnion<[z.ZodLiteral<"INTERNAL">, z.ZodLiteral<"SD_CARD">]>;
59
- capacity_mb: z.ZodNumber;
60
- }, "strip", z.ZodTypeAny, {
61
- type: "INTERNAL" | "SD_CARD";
62
- capacity_mb: number;
63
- }, {
64
- type: "INTERNAL" | "SD_CARD";
65
- capacity_mb: number;
66
- }>, "many">;
67
- export type TStorage = z.infer<typeof storageSchema>;