camstreamerlib 4.0.0-beta.3 → 4.0.0-beta.30

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 (192) hide show
  1. package/README.md +8 -2
  2. package/cjs/CamOverlayAPI.d.ts +47 -26
  3. package/cjs/CamOverlayAPI.js +171 -88
  4. package/cjs/CamOverlayDrawingAPI.d.ts +2 -47
  5. package/cjs/CamOverlayDrawingAPI.js +6 -3
  6. package/cjs/CamOverlayPainter/Frame.d.ts +8 -37
  7. package/cjs/CamOverlayPainter/Frame.js +33 -0
  8. package/cjs/CamOverlayPainter/Painter.d.ts +16 -10
  9. package/cjs/CamOverlayPainter/Painter.js +6 -5
  10. package/cjs/CamOverlayPainter/ResourceManager.d.ts +3 -2
  11. package/cjs/CamOverlayPainter/ResourceManager.js +8 -11
  12. package/cjs/CamScripterAPI.d.ts +33 -16
  13. package/cjs/CamScripterAPI.js +50 -41
  14. package/cjs/CamScripterAPICameraEventsGenerator.d.ts +1 -1
  15. package/cjs/CamScripterAPICameraEventsGenerator.js +6 -3
  16. package/cjs/CamStreamerAPI.d.ts +16 -14
  17. package/cjs/CamStreamerAPI.js +32 -32
  18. package/cjs/CamSwitcherAPI.d.ts +42 -37
  19. package/cjs/CamSwitcherAPI.js +123 -114
  20. package/cjs/CamSwitcherEvents.d.ts +1 -1
  21. package/cjs/PlaneTrackerAPI.d.ts +42 -0
  22. package/cjs/PlaneTrackerAPI.js +211 -0
  23. package/cjs/VapixAPI.d.ts +56 -43
  24. package/cjs/VapixAPI.js +305 -216
  25. package/cjs/VapixEvents.d.ts +1 -1
  26. package/cjs/VapixEvents.js +3 -3
  27. package/cjs/errors/errors.d.ts +3 -0
  28. package/cjs/errors/errors.js +8 -1
  29. package/cjs/events/AxisCameraStationEvents.d.ts +5 -4
  30. package/cjs/events/AxisCameraStationEvents.js +23 -18
  31. package/cjs/events/GenetecAgent.d.ts +6 -3
  32. package/cjs/events/GenetecAgent.js +30 -19
  33. package/cjs/index.d.ts +14 -1
  34. package/cjs/index.js +23 -2
  35. package/cjs/internal/Digest.js +6 -6
  36. package/cjs/internal/ProxyClient.d.ts +8 -9
  37. package/cjs/internal/ProxyClient.js +25 -29
  38. package/cjs/internal/types.d.ts +42 -0
  39. package/cjs/internal/types.js +2 -0
  40. package/cjs/internal/utils.d.ts +4 -1
  41. package/cjs/internal/utils.js +22 -3
  42. package/cjs/internal/versionCompare.d.ts +2 -2
  43. package/cjs/node/DefaultClient.d.ts +5 -6
  44. package/cjs/node/DefaultClient.js +12 -14
  45. package/cjs/node/HttpRequestSender.d.ts +1 -0
  46. package/cjs/node/HttpRequestSender.js +13 -3
  47. package/cjs/node/HttpServer.js +1 -1
  48. package/cjs/node/WsClient.d.ts +2 -1
  49. package/cjs/node/WsEventClient.d.ts +1 -1
  50. package/cjs/node/index.d.ts +2 -0
  51. package/cjs/node/index.js +18 -1
  52. package/cjs/types/CamOverlayAPI/CamOverlayAPI.d.ts +3073 -0
  53. package/cjs/types/CamOverlayAPI/CamOverlayAPI.js +127 -0
  54. package/cjs/types/CamOverlayAPI/accuweatherSchema.d.ts +114 -0
  55. package/cjs/types/CamOverlayAPI/accuweatherSchema.js +50 -0
  56. package/cjs/types/CamOverlayAPI/customGraphicsSchema.d.ts +783 -0
  57. package/cjs/types/CamOverlayAPI/customGraphicsSchema.js +75 -0
  58. package/cjs/types/CamOverlayAPI/imagesSchema.d.ts +122 -0
  59. package/cjs/types/CamOverlayAPI/imagesSchema.js +12 -0
  60. package/cjs/types/CamOverlayAPI/index.d.ts +9 -0
  61. package/cjs/types/CamOverlayAPI/index.js +25 -0
  62. package/cjs/types/CamOverlayAPI/infotickerSchema.d.ts +130 -0
  63. package/cjs/types/CamOverlayAPI/infotickerSchema.js +29 -0
  64. package/cjs/types/CamOverlayAPI/pipSchema.d.ts +166 -0
  65. package/cjs/types/CamOverlayAPI/pipSchema.js +42 -0
  66. package/cjs/types/CamOverlayAPI/ptzCompassSchema.d.ts +126 -0
  67. package/cjs/types/CamOverlayAPI/ptzCompassSchema.js +28 -0
  68. package/cjs/types/CamOverlayAPI/ptzSchema.d.ts +146 -0
  69. package/cjs/types/CamOverlayAPI/ptzSchema.js +15 -0
  70. package/cjs/types/CamOverlayAPI/screenSharingSchema.d.ts +79 -0
  71. package/cjs/types/CamOverlayAPI/screenSharingSchema.js +11 -0
  72. package/cjs/types/CamOverlayAPI/webCameraSharingSchema.d.ts +79 -0
  73. package/cjs/types/CamOverlayAPI/webCameraSharingSchema.js +11 -0
  74. package/cjs/types/CamOverlayDrawingAPI.d.ts +58 -0
  75. package/cjs/types/CamOverlayDrawingAPI.js +2 -0
  76. package/cjs/types/CamOverlayPainter.d.ts +74 -0
  77. package/cjs/types/CamOverlayPainter.js +2 -0
  78. package/cjs/types/CamScripterAPI.d.ts +82 -17
  79. package/cjs/types/CamScripterAPI.js +22 -7
  80. package/cjs/types/CamStreamerAPI.d.ts +16 -5
  81. package/cjs/types/CamStreamerAPI.js +5 -1
  82. package/cjs/types/CamSwitcherAPI.d.ts +5 -5
  83. package/cjs/types/CamSwitcherEvents.d.ts +77 -0
  84. package/cjs/types/CamSwitcherEvents.js +8 -0
  85. package/cjs/types/PlaneTrackerAPI.d.ts +8 -0
  86. package/cjs/types/PlaneTrackerAPI.js +2 -0
  87. package/cjs/types/VapixAPI.d.ts +636 -519
  88. package/cjs/types/VapixAPI.js +62 -24
  89. package/cjs/types/common.d.ts +14 -5
  90. package/cjs/web/DefaultClient.d.ts +5 -5
  91. package/cjs/web/DefaultClient.js +22 -10
  92. package/cjs/web/WsClient.js +2 -2
  93. package/esm/CamOverlayAPI.d.ts +47 -26
  94. package/esm/CamOverlayAPI.js +169 -86
  95. package/esm/CamOverlayDrawingAPI.d.ts +2 -47
  96. package/esm/CamOverlayDrawingAPI.js +6 -3
  97. package/esm/CamOverlayPainter/Frame.d.ts +8 -37
  98. package/esm/CamOverlayPainter/Frame.js +33 -0
  99. package/esm/CamOverlayPainter/Painter.d.ts +16 -10
  100. package/esm/CamOverlayPainter/Painter.js +5 -3
  101. package/esm/CamOverlayPainter/ResourceManager.d.ts +3 -2
  102. package/esm/CamOverlayPainter/ResourceManager.js +7 -11
  103. package/esm/CamScripterAPI.d.ts +33 -16
  104. package/esm/CamScripterAPI.js +46 -37
  105. package/esm/CamScripterAPICameraEventsGenerator.d.ts +1 -1
  106. package/esm/CamScripterAPICameraEventsGenerator.js +6 -3
  107. package/esm/CamStreamerAPI.d.ts +16 -14
  108. package/esm/CamStreamerAPI.js +32 -32
  109. package/esm/CamSwitcherAPI.d.ts +42 -37
  110. package/esm/CamSwitcherAPI.js +116 -107
  111. package/esm/CamSwitcherEvents.d.ts +1 -1
  112. package/esm/PlaneTrackerAPI.d.ts +42 -0
  113. package/esm/PlaneTrackerAPI.js +207 -0
  114. package/esm/VapixAPI.d.ts +56 -43
  115. package/esm/VapixAPI.js +297 -208
  116. package/esm/VapixEvents.d.ts +1 -1
  117. package/esm/VapixEvents.js +3 -3
  118. package/esm/errors/errors.d.ts +3 -0
  119. package/esm/errors/errors.js +6 -0
  120. package/esm/events/AxisCameraStationEvents.d.ts +5 -4
  121. package/esm/events/AxisCameraStationEvents.js +18 -13
  122. package/esm/events/GenetecAgent.d.ts +6 -3
  123. package/esm/events/GenetecAgent.js +20 -9
  124. package/esm/index.d.ts +14 -1
  125. package/esm/index.js +14 -1
  126. package/esm/internal/Digest.js +6 -6
  127. package/esm/internal/ProxyClient.d.ts +8 -9
  128. package/esm/internal/ProxyClient.js +25 -29
  129. package/esm/internal/types.d.ts +42 -0
  130. package/esm/internal/types.js +1 -0
  131. package/esm/internal/utils.d.ts +4 -1
  132. package/esm/internal/utils.js +17 -1
  133. package/esm/internal/versionCompare.d.ts +2 -2
  134. package/esm/node/DefaultClient.d.ts +5 -6
  135. package/esm/node/DefaultClient.js +12 -14
  136. package/esm/node/HttpRequestSender.d.ts +1 -0
  137. package/esm/node/HttpRequestSender.js +13 -3
  138. package/esm/node/HttpServer.js +1 -1
  139. package/esm/node/WsClient.d.ts +2 -1
  140. package/esm/node/WsEventClient.d.ts +1 -1
  141. package/esm/node/index.d.ts +2 -0
  142. package/esm/node/index.js +2 -0
  143. package/esm/types/CamOverlayAPI/CamOverlayAPI.d.ts +3073 -0
  144. package/esm/types/CamOverlayAPI/CamOverlayAPI.js +124 -0
  145. package/esm/types/CamOverlayAPI/accuweatherSchema.d.ts +114 -0
  146. package/esm/types/CamOverlayAPI/accuweatherSchema.js +46 -0
  147. package/esm/types/CamOverlayAPI/customGraphicsSchema.d.ts +783 -0
  148. package/esm/types/CamOverlayAPI/customGraphicsSchema.js +71 -0
  149. package/esm/types/CamOverlayAPI/imagesSchema.d.ts +122 -0
  150. package/esm/types/CamOverlayAPI/imagesSchema.js +8 -0
  151. package/esm/types/CamOverlayAPI/index.d.ts +9 -0
  152. package/esm/types/CamOverlayAPI/index.js +9 -0
  153. package/esm/types/CamOverlayAPI/infotickerSchema.d.ts +130 -0
  154. package/esm/types/CamOverlayAPI/infotickerSchema.js +25 -0
  155. package/esm/types/CamOverlayAPI/pipSchema.d.ts +166 -0
  156. package/esm/types/CamOverlayAPI/pipSchema.js +38 -0
  157. package/esm/types/CamOverlayAPI/ptzCompassSchema.d.ts +126 -0
  158. package/esm/types/CamOverlayAPI/ptzCompassSchema.js +24 -0
  159. package/esm/types/CamOverlayAPI/ptzSchema.d.ts +146 -0
  160. package/esm/types/CamOverlayAPI/ptzSchema.js +11 -0
  161. package/esm/types/CamOverlayAPI/screenSharingSchema.d.ts +79 -0
  162. package/esm/types/CamOverlayAPI/screenSharingSchema.js +7 -0
  163. package/esm/types/CamOverlayAPI/webCameraSharingSchema.d.ts +79 -0
  164. package/esm/types/CamOverlayAPI/webCameraSharingSchema.js +7 -0
  165. package/esm/types/CamOverlayDrawingAPI.d.ts +58 -0
  166. package/esm/types/CamOverlayDrawingAPI.js +1 -0
  167. package/esm/types/CamOverlayPainter.d.ts +74 -0
  168. package/esm/types/CamOverlayPainter.js +1 -0
  169. package/esm/types/CamScripterAPI.d.ts +82 -17
  170. package/esm/types/CamScripterAPI.js +21 -6
  171. package/esm/types/CamStreamerAPI.d.ts +16 -5
  172. package/esm/types/CamStreamerAPI.js +4 -0
  173. package/esm/types/CamSwitcherAPI.d.ts +5 -5
  174. package/esm/types/CamSwitcherEvents.d.ts +77 -0
  175. package/esm/types/CamSwitcherEvents.js +8 -0
  176. package/esm/types/PlaneTrackerAPI.d.ts +8 -0
  177. package/esm/types/PlaneTrackerAPI.js +1 -0
  178. package/esm/types/VapixAPI.d.ts +636 -519
  179. package/esm/types/VapixAPI.js +61 -23
  180. package/esm/types/common.d.ts +14 -5
  181. package/esm/web/DefaultClient.d.ts +5 -5
  182. package/esm/web/DefaultClient.js +22 -10
  183. package/esm/web/WsClient.js +2 -2
  184. package/package.json +9 -8
  185. package/cjs/internal/common.d.ts +0 -39
  186. package/cjs/internal/common.js +0 -27
  187. package/cjs/types/CamOverlayAPI.d.ts +0 -188
  188. package/cjs/types/CamOverlayAPI.js +0 -47
  189. package/esm/internal/common.d.ts +0 -39
  190. package/esm/internal/common.js +0 -20
  191. package/esm/types/CamOverlayAPI.d.ts +0 -188
  192. package/esm/types/CamOverlayAPI.js +0 -44
@@ -0,0 +1,71 @@
1
+ import { coordinateSystemSchema, fontSchema, widgetCommonSchema } from './CamOverlayAPI';
2
+ import { allowedWidgetNames } from '../../CamOverlayAPI';
3
+ import { z } from 'zod';
4
+ const mappingZonesCommonSchema = z.object({
5
+ name: z.string(),
6
+ pos_x: z.number(),
7
+ pos_y: z.number(),
8
+ text: z
9
+ .array(z.object({
10
+ source: z.string(),
11
+ active: z.boolean(),
12
+ }))
13
+ .optional(),
14
+ wrapText: z.boolean(),
15
+ textLines: z.number().positive(),
16
+ textWidth: z.number().nonnegative(),
17
+ textAlign: z.union([z.literal('A_LEFT'), z.literal('A_CENTER'), z.literal('A_RIGHT')]),
18
+ textVerticalAlign: z.union([z.literal('VA_TOP'), z.literal('VA_CENTER'), z.literal('VA_BOTTOM')]),
19
+ textColor: z.string(),
20
+ font: fontSchema,
21
+ fontSize: z.number().nonnegative(),
22
+ switchingTime: z.number().nonnegative(),
23
+ });
24
+ export const mappingZonesCountdownSettingsSchema = z.object({
25
+ startDate: z.number().nonnegative(),
26
+ targetDate: z.number().nonnegative(),
27
+ countdown: z.boolean(),
28
+ countup: z.boolean(),
29
+ displayDay: z.boolean(),
30
+ displayHour: z.boolean(),
31
+ displayMinute: z.boolean(),
32
+ displaySeconds: z.boolean(),
33
+ idleText: z.string(),
34
+ hideZeros: z.boolean(),
35
+ delimiter: z.union([z.literal('colon'), z.literal('letters')]),
36
+ suffixSeconds: z.string(),
37
+ suffixMinute: z.string(),
38
+ suffixHour: z.string(),
39
+ suffixDay: z.string(),
40
+ loop: z.boolean(),
41
+ loopPeriod: z.number().nonnegative(),
42
+ waitingPeriod: z.number().nonnegative(),
43
+ });
44
+ const mappingZonePlainSchema = mappingZonesCommonSchema.extend({
45
+ type: z.literal('plain'),
46
+ });
47
+ const mappingZoneCountdownSchema = mappingZonesCommonSchema.extend({
48
+ type: z.literal('countdown'),
49
+ settings: mappingZonesCountdownSettingsSchema,
50
+ });
51
+ export const mappingZoneSchema = z.discriminatedUnion('type', [mappingZonePlainSchema, mappingZoneCountdownSchema]);
52
+ export const customGraphicsSchema = widgetCommonSchema.extend({
53
+ name: z.literal(allowedWidgetNames.customGraphics),
54
+ pos_x: z.number(),
55
+ pos_y: z.number(),
56
+ coordSystem: coordinateSystemSchema,
57
+ clockFormat: z.union([z.literal('12h'), z.literal('24h')]),
58
+ background: z.enum(['custom', 'image']),
59
+ image: z.string(),
60
+ customAreaColor: z.string(),
61
+ customAreaWidth: z.number().nonnegative(),
62
+ customAreaHeight: z.number().nonnegative(),
63
+ customAreaCorners: z.union([z.literal('sharp'), z.literal('rounded')]),
64
+ mappingZones: z.array(mappingZoneSchema),
65
+ });
66
+ export const isCustomGraphics = (widget) => widget.name === 'customGraphics';
67
+ export const fieldSchema = z.object({
68
+ field_name: z.string(),
69
+ text: z.string(),
70
+ color: z.string().optional(),
71
+ });
@@ -0,0 +1,122 @@
1
+ import { TWidget } from './CamOverlayAPI';
2
+ import { z } from 'zod';
3
+ export declare const imagesSchema: z.ZodObject<{
4
+ id: z.ZodNumber;
5
+ enabled: z.ZodUnion<[z.ZodLiteral<0>, z.ZodLiteral<1>]>;
6
+ automationType: z.ZodUnion<[z.ZodLiteral<"time">, z.ZodLiteral<"manual">, z.ZodLiteral<"schedule">, z.ZodType<`input${number}`, z.ZodTypeDef, `input${number}`>]>;
7
+ invertInput: z.ZodOptional<z.ZodBoolean>;
8
+ cameraList: z.ZodArray<z.ZodNumber, "many">;
9
+ camera: z.ZodOptional<z.ZodNumber>;
10
+ schedule: z.ZodOptional<z.ZodString>;
11
+ customName: z.ZodString;
12
+ zIndex: z.ZodOptional<z.ZodNumber>;
13
+ width: z.ZodNumber;
14
+ height: z.ZodNumber;
15
+ } & {
16
+ name: z.ZodLiteral<"images">;
17
+ overlayList: z.ZodArray<z.ZodObject<{
18
+ active: z.ZodBoolean;
19
+ coordSystem: z.ZodUnion<[z.ZodLiteral<"top_left">, z.ZodLiteral<"top">, z.ZodLiteral<"top_right">, z.ZodLiteral<"left">, z.ZodLiteral<"center">, z.ZodLiteral<"right">, z.ZodLiteral<"bottom_left">, z.ZodLiteral<"bottom">, z.ZodLiteral<"bottom_right">]>;
20
+ pos_x: z.ZodNumber;
21
+ pos_y: z.ZodNumber;
22
+ imgPath: z.ZodString;
23
+ imgName: z.ZodString;
24
+ duration: z.ZodNumber;
25
+ scale: z.ZodNumber;
26
+ fps: z.ZodOptional<z.ZodNumber>;
27
+ }, "strip", z.ZodTypeAny, {
28
+ duration: number;
29
+ pos_x: number;
30
+ pos_y: number;
31
+ active: boolean;
32
+ coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
33
+ scale: number;
34
+ imgPath: string;
35
+ imgName: string;
36
+ fps?: number | undefined;
37
+ }, {
38
+ duration: number;
39
+ pos_x: number;
40
+ pos_y: number;
41
+ active: boolean;
42
+ coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
43
+ scale: number;
44
+ imgPath: string;
45
+ imgName: string;
46
+ fps?: number | undefined;
47
+ }>, "many">;
48
+ }, "strip", z.ZodTypeAny, {
49
+ name: "images";
50
+ enabled: 0 | 1;
51
+ id: number;
52
+ width: number;
53
+ height: number;
54
+ automationType: "time" | "manual" | "schedule" | `input${number}`;
55
+ cameraList: number[];
56
+ customName: string;
57
+ overlayList: {
58
+ duration: number;
59
+ pos_x: number;
60
+ pos_y: number;
61
+ active: boolean;
62
+ coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
63
+ scale: number;
64
+ imgPath: string;
65
+ imgName: string;
66
+ fps?: number | undefined;
67
+ }[];
68
+ camera?: number | undefined;
69
+ schedule?: string | undefined;
70
+ invertInput?: boolean | undefined;
71
+ zIndex?: number | undefined;
72
+ }, {
73
+ name: "images";
74
+ enabled: 0 | 1;
75
+ id: number;
76
+ width: number;
77
+ height: number;
78
+ automationType: "time" | "manual" | "schedule" | `input${number}`;
79
+ cameraList: number[];
80
+ customName: string;
81
+ overlayList: {
82
+ duration: number;
83
+ pos_x: number;
84
+ pos_y: number;
85
+ active: boolean;
86
+ coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
87
+ scale: number;
88
+ imgPath: string;
89
+ imgName: string;
90
+ fps?: number | undefined;
91
+ }[];
92
+ camera?: number | undefined;
93
+ schedule?: string | undefined;
94
+ invertInput?: boolean | undefined;
95
+ zIndex?: number | undefined;
96
+ }>;
97
+ export type TImages = z.infer<typeof imagesSchema>;
98
+ export declare const isImages: (widget: TWidget) => widget is {
99
+ name: "images";
100
+ enabled: 0 | 1;
101
+ id: number;
102
+ width: number;
103
+ height: number;
104
+ automationType: "time" | "manual" | "schedule" | `input${number}`;
105
+ cameraList: number[];
106
+ customName: string;
107
+ overlayList: {
108
+ duration: number;
109
+ pos_x: number;
110
+ pos_y: number;
111
+ active: boolean;
112
+ coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
113
+ scale: number;
114
+ imgPath: string;
115
+ imgName: string;
116
+ fps?: number | undefined;
117
+ }[];
118
+ camera?: number | undefined;
119
+ schedule?: string | undefined;
120
+ invertInput?: boolean | undefined;
121
+ zIndex?: number | undefined;
122
+ };
@@ -0,0 +1,8 @@
1
+ import { overlaySchema, widgetCommonSchema } from './CamOverlayAPI';
2
+ import { allowedWidgetNames } from '../../CamOverlayAPI';
3
+ import { z } from 'zod';
4
+ export const imagesSchema = widgetCommonSchema.extend({
5
+ name: z.literal(allowedWidgetNames.images),
6
+ overlayList: z.array(overlaySchema),
7
+ });
8
+ export const isImages = (widget) => widget.name === 'images';
@@ -0,0 +1,9 @@
1
+ export * from './accuweatherSchema';
2
+ export * from './customGraphicsSchema';
3
+ export * from './imagesSchema';
4
+ export * from './infotickerSchema';
5
+ export * from './pipSchema';
6
+ export * from './ptzCompassSchema';
7
+ export * from './ptzSchema';
8
+ export * from './screenSharingSchema';
9
+ export * from './webCameraSharingSchema';
@@ -0,0 +1,9 @@
1
+ export * from './accuweatherSchema';
2
+ export * from './customGraphicsSchema';
3
+ export * from './imagesSchema';
4
+ export * from './infotickerSchema';
5
+ export * from './pipSchema';
6
+ export * from './ptzCompassSchema';
7
+ export * from './ptzSchema';
8
+ export * from './screenSharingSchema';
9
+ export * from './webCameraSharingSchema';
@@ -0,0 +1,130 @@
1
+ import { TWidget } from './CamOverlayAPI';
2
+ import { z } from 'zod';
3
+ export declare const infoTickerSchema: z.ZodObject<{
4
+ id: z.ZodNumber;
5
+ enabled: z.ZodUnion<[z.ZodLiteral<0>, z.ZodLiteral<1>]>;
6
+ automationType: z.ZodUnion<[z.ZodLiteral<"time">, z.ZodLiteral<"manual">, z.ZodLiteral<"schedule">, z.ZodType<`input${number}`, z.ZodTypeDef, `input${number}`>]>;
7
+ invertInput: z.ZodOptional<z.ZodBoolean>;
8
+ cameraList: z.ZodArray<z.ZodNumber, "many">;
9
+ camera: z.ZodOptional<z.ZodNumber>;
10
+ schedule: z.ZodOptional<z.ZodString>;
11
+ customName: z.ZodString;
12
+ zIndex: z.ZodOptional<z.ZodNumber>;
13
+ width: z.ZodNumber;
14
+ height: z.ZodNumber;
15
+ } & {
16
+ name: z.ZodLiteral<"infoticker">;
17
+ showClock: z.ZodUnion<[z.ZodLiteral<0>, z.ZodLiteral<1>]>;
18
+ clockType: z.ZodUnion<[z.ZodLiteral<"12h">, z.ZodLiteral<"24h">]>;
19
+ textColor: z.ZodString;
20
+ bgColor: z.ZodString;
21
+ weatherLocation: z.ZodString;
22
+ weatherLocationName: z.ZodString;
23
+ weatherLang: z.ZodUnion<[z.ZodLiteral<"en-us">, z.ZodLiteral<"fr-fr">, z.ZodLiteral<"ja-jp">, z.ZodLiteral<"pt-pt">, z.ZodLiteral<"es-es">, z.ZodLiteral<"de-de">, z.ZodLiteral<"ko-kr">, z.ZodLiteral<"zh-hk">, z.ZodLiteral<"zh-cn">, z.ZodLiteral<"nl-nl">, z.ZodLiteral<"cs-cz">, z.ZodLiteral<"ru-ru">, z.ZodLiteral<"sv-se">]>;
24
+ weatherUnits: z.ZodUnion<[z.ZodLiteral<"Metric">, z.ZodLiteral<"Imperial">]>;
25
+ numberOfLines: z.ZodNumber;
26
+ switchingTime: z.ZodNumber;
27
+ crawlLeft: z.ZodBoolean;
28
+ crawlSpeed: z.ZodNumber;
29
+ coordSystem: z.ZodUnion<[z.ZodLiteral<"top">, z.ZodLiteral<"bottom">]>;
30
+ pos_y: z.ZodNumber;
31
+ font: z.ZodUnion<[z.ZodLiteral<"classic">, z.ZodLiteral<"digital">, z.ZodType<string, z.ZodTypeDef, string>]>;
32
+ fontSize: z.ZodNumber;
33
+ sourceType: z.ZodUnion<[z.ZodLiteral<"text">, z.ZodLiteral<"url">]>;
34
+ source: z.ZodString;
35
+ }, "strip", z.ZodTypeAny, {
36
+ name: "infoticker";
37
+ enabled: 0 | 1;
38
+ id: number;
39
+ width: number;
40
+ height: number;
41
+ source: string;
42
+ pos_y: number;
43
+ textColor: string;
44
+ font: string;
45
+ fontSize: number;
46
+ switchingTime: number;
47
+ automationType: "time" | "manual" | "schedule" | `input${number}`;
48
+ cameraList: number[];
49
+ customName: string;
50
+ coordSystem: "top" | "bottom";
51
+ showClock: 0 | 1;
52
+ clockType: "12h" | "24h";
53
+ bgColor: string;
54
+ weatherLocation: string;
55
+ weatherLocationName: string;
56
+ 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";
57
+ weatherUnits: "Metric" | "Imperial";
58
+ numberOfLines: number;
59
+ crawlLeft: boolean;
60
+ crawlSpeed: number;
61
+ sourceType: "url" | "text";
62
+ camera?: number | undefined;
63
+ schedule?: string | undefined;
64
+ invertInput?: boolean | undefined;
65
+ zIndex?: number | undefined;
66
+ }, {
67
+ name: "infoticker";
68
+ enabled: 0 | 1;
69
+ id: number;
70
+ width: number;
71
+ height: number;
72
+ source: string;
73
+ pos_y: number;
74
+ textColor: string;
75
+ font: string;
76
+ fontSize: number;
77
+ switchingTime: number;
78
+ automationType: "time" | "manual" | "schedule" | `input${number}`;
79
+ cameraList: number[];
80
+ customName: string;
81
+ coordSystem: "top" | "bottom";
82
+ showClock: 0 | 1;
83
+ clockType: "12h" | "24h";
84
+ bgColor: string;
85
+ weatherLocation: string;
86
+ weatherLocationName: string;
87
+ 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";
88
+ weatherUnits: "Metric" | "Imperial";
89
+ numberOfLines: number;
90
+ crawlLeft: boolean;
91
+ crawlSpeed: number;
92
+ sourceType: "url" | "text";
93
+ camera?: number | undefined;
94
+ schedule?: string | undefined;
95
+ invertInput?: boolean | undefined;
96
+ zIndex?: number | undefined;
97
+ }>;
98
+ export type TInfoticker = z.infer<typeof infoTickerSchema>;
99
+ export declare const isInfoticker: (widget: TWidget) => widget is {
100
+ name: "infoticker";
101
+ enabled: 0 | 1;
102
+ id: number;
103
+ width: number;
104
+ height: number;
105
+ source: string;
106
+ pos_y: number;
107
+ textColor: string;
108
+ font: string;
109
+ fontSize: number;
110
+ switchingTime: number;
111
+ automationType: "time" | "manual" | "schedule" | `input${number}`;
112
+ cameraList: number[];
113
+ customName: string;
114
+ coordSystem: "top" | "bottom";
115
+ showClock: 0 | 1;
116
+ clockType: "12h" | "24h";
117
+ bgColor: string;
118
+ weatherLocation: string;
119
+ weatherLocationName: string;
120
+ 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";
121
+ weatherUnits: "Metric" | "Imperial";
122
+ numberOfLines: number;
123
+ crawlLeft: boolean;
124
+ crawlSpeed: number;
125
+ sourceType: "url" | "text";
126
+ camera?: number | undefined;
127
+ schedule?: string | undefined;
128
+ invertInput?: boolean | undefined;
129
+ zIndex?: number | undefined;
130
+ };
@@ -0,0 +1,25 @@
1
+ import { fontSchema, languageSchema, weatherUnitSchema, widgetCommonSchema } from './CamOverlayAPI';
2
+ import { allowedWidgetNames } from '../../CamOverlayAPI';
3
+ import { z } from 'zod';
4
+ export const infoTickerSchema = widgetCommonSchema.extend({
5
+ name: z.literal(allowedWidgetNames.infoticker),
6
+ showClock: z.union([z.literal(0), z.literal(1)]),
7
+ clockType: z.union([z.literal('12h'), z.literal('24h')]),
8
+ textColor: z.string(),
9
+ bgColor: z.string(),
10
+ weatherLocation: z.string(),
11
+ weatherLocationName: z.string(),
12
+ weatherLang: languageSchema,
13
+ weatherUnits: weatherUnitSchema,
14
+ numberOfLines: z.number().positive(),
15
+ switchingTime: z.number().nonnegative(),
16
+ crawlLeft: z.boolean(),
17
+ crawlSpeed: z.number(),
18
+ coordSystem: z.union([z.literal('top'), z.literal('bottom')]),
19
+ pos_y: z.number(),
20
+ font: fontSchema,
21
+ fontSize: z.number().nonnegative(),
22
+ sourceType: z.union([z.literal('text'), z.literal('url')]),
23
+ source: z.string(),
24
+ });
25
+ export const isInfoticker = (widget) => widget.name === 'infoticker';
@@ -0,0 +1,166 @@
1
+ import { TWidget } from './CamOverlayAPI';
2
+ import { z } from 'zod';
3
+ export declare const pipSchema: z.ZodObject<{
4
+ id: z.ZodNumber;
5
+ enabled: z.ZodUnion<[z.ZodLiteral<0>, z.ZodLiteral<1>]>;
6
+ automationType: z.ZodUnion<[z.ZodLiteral<"time">, z.ZodLiteral<"manual">, z.ZodLiteral<"schedule">, z.ZodType<`input${number}`, z.ZodTypeDef, `input${number}`>]>;
7
+ invertInput: z.ZodOptional<z.ZodBoolean>;
8
+ cameraList: z.ZodArray<z.ZodNumber, "many">;
9
+ camera: z.ZodOptional<z.ZodNumber>;
10
+ schedule: z.ZodOptional<z.ZodString>;
11
+ customName: z.ZodString;
12
+ zIndex: z.ZodOptional<z.ZodNumber>;
13
+ width: z.ZodNumber;
14
+ height: z.ZodNumber;
15
+ } & {
16
+ name: z.ZodLiteral<"pip">;
17
+ coordSystem: z.ZodUnion<[z.ZodLiteral<"top_left">, z.ZodLiteral<"top">, z.ZodLiteral<"top_right">, z.ZodLiteral<"left">, z.ZodLiteral<"center">, z.ZodLiteral<"right">, z.ZodLiteral<"bottom_left">, z.ZodLiteral<"bottom">, z.ZodLiteral<"bottom_right">]>;
18
+ pos_x: z.ZodNumber;
19
+ pos_y: z.ZodNumber;
20
+ fps: z.ZodNumber;
21
+ compression: z.ZodNumber;
22
+ screenSize: z.ZodNumber;
23
+ source_type: z.ZodUnion<[z.ZodLiteral<"axis_camera">, z.ZodLiteral<"mjpeg_url">]>;
24
+ mjpeg_url: z.ZodUnion<[z.ZodString, z.ZodLiteral<"">]>;
25
+ camera_ip: z.ZodUnion<[z.ZodString, z.ZodLiteral<"">]>;
26
+ camera_port: z.ZodNumber;
27
+ camera_user: z.ZodString;
28
+ camera_pass: z.ZodString;
29
+ camera_width: z.ZodNumber;
30
+ camera_height: z.ZodNumber;
31
+ camera_view_area: z.ZodString;
32
+ camera_overlay_params: z.ZodUnion<[z.ZodLiteral<"overlays=off">, z.ZodLiteral<"overlays=all">, z.ZodLiteral<"overlays=text">, z.ZodLiteral<"overlays=image">, z.ZodLiteral<"overlays=application">]>;
33
+ rotate: z.ZodUnion<[z.ZodLiteral<0>, z.ZodLiteral<90>, z.ZodLiteral<180>, z.ZodLiteral<270>]>;
34
+ dewarping: z.ZodObject<{
35
+ enabled: z.ZodBoolean;
36
+ rectangle: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">;
37
+ aspectRatioCorrection: z.ZodNumber;
38
+ }, "strip", z.ZodTypeAny, {
39
+ enabled: boolean;
40
+ rectangle: [number, number][];
41
+ aspectRatioCorrection: number;
42
+ }, {
43
+ enabled: boolean;
44
+ rectangle: [number, number][];
45
+ aspectRatioCorrection: number;
46
+ }>;
47
+ borderColor: z.ZodString;
48
+ borderWidth: z.ZodNumber;
49
+ scale: z.ZodNumber;
50
+ }, "strip", z.ZodTypeAny, {
51
+ name: "pip";
52
+ compression: number;
53
+ enabled: 0 | 1;
54
+ id: number;
55
+ width: number;
56
+ height: number;
57
+ fps: number;
58
+ pos_x: number;
59
+ pos_y: number;
60
+ automationType: "time" | "manual" | "schedule" | `input${number}`;
61
+ cameraList: number[];
62
+ customName: string;
63
+ coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
64
+ scale: number;
65
+ screenSize: number;
66
+ source_type: "axis_camera" | "mjpeg_url";
67
+ mjpeg_url: string;
68
+ camera_ip: string;
69
+ camera_port: number;
70
+ camera_user: string;
71
+ camera_pass: string;
72
+ camera_width: number;
73
+ camera_height: number;
74
+ camera_view_area: string;
75
+ camera_overlay_params: "overlays=off" | "overlays=all" | "overlays=text" | "overlays=image" | "overlays=application";
76
+ rotate: 0 | 90 | 180 | 270;
77
+ dewarping: {
78
+ enabled: boolean;
79
+ rectangle: [number, number][];
80
+ aspectRatioCorrection: number;
81
+ };
82
+ borderColor: string;
83
+ borderWidth: number;
84
+ camera?: number | undefined;
85
+ schedule?: string | undefined;
86
+ invertInput?: boolean | undefined;
87
+ zIndex?: number | undefined;
88
+ }, {
89
+ name: "pip";
90
+ compression: number;
91
+ enabled: 0 | 1;
92
+ id: number;
93
+ width: number;
94
+ height: number;
95
+ fps: number;
96
+ pos_x: number;
97
+ pos_y: number;
98
+ automationType: "time" | "manual" | "schedule" | `input${number}`;
99
+ cameraList: number[];
100
+ customName: string;
101
+ coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
102
+ scale: number;
103
+ screenSize: number;
104
+ source_type: "axis_camera" | "mjpeg_url";
105
+ mjpeg_url: string;
106
+ camera_ip: string;
107
+ camera_port: number;
108
+ camera_user: string;
109
+ camera_pass: string;
110
+ camera_width: number;
111
+ camera_height: number;
112
+ camera_view_area: string;
113
+ camera_overlay_params: "overlays=off" | "overlays=all" | "overlays=text" | "overlays=image" | "overlays=application";
114
+ rotate: 0 | 90 | 180 | 270;
115
+ dewarping: {
116
+ enabled: boolean;
117
+ rectangle: [number, number][];
118
+ aspectRatioCorrection: number;
119
+ };
120
+ borderColor: string;
121
+ borderWidth: number;
122
+ camera?: number | undefined;
123
+ schedule?: string | undefined;
124
+ invertInput?: boolean | undefined;
125
+ zIndex?: number | undefined;
126
+ }>;
127
+ export type TPip = z.infer<typeof pipSchema>;
128
+ export declare const isPip: (widget: TWidget) => widget is {
129
+ name: "pip";
130
+ compression: number;
131
+ enabled: 0 | 1;
132
+ id: number;
133
+ width: number;
134
+ height: number;
135
+ fps: number;
136
+ pos_x: number;
137
+ pos_y: number;
138
+ automationType: "time" | "manual" | "schedule" | `input${number}`;
139
+ cameraList: number[];
140
+ customName: string;
141
+ coordSystem: "top_left" | "top" | "top_right" | "left" | "center" | "right" | "bottom_left" | "bottom" | "bottom_right";
142
+ scale: number;
143
+ screenSize: number;
144
+ source_type: "axis_camera" | "mjpeg_url";
145
+ mjpeg_url: string;
146
+ camera_ip: string;
147
+ camera_port: number;
148
+ camera_user: string;
149
+ camera_pass: string;
150
+ camera_width: number;
151
+ camera_height: number;
152
+ camera_view_area: string;
153
+ camera_overlay_params: "overlays=off" | "overlays=all" | "overlays=text" | "overlays=image" | "overlays=application";
154
+ rotate: 0 | 90 | 180 | 270;
155
+ dewarping: {
156
+ enabled: boolean;
157
+ rectangle: [number, number][];
158
+ aspectRatioCorrection: number;
159
+ };
160
+ borderColor: string;
161
+ borderWidth: number;
162
+ camera?: number | undefined;
163
+ schedule?: string | undefined;
164
+ invertInput?: boolean | undefined;
165
+ zIndex?: number | undefined;
166
+ };
@@ -0,0 +1,38 @@
1
+ import { coordinateSystemSchema, widgetCommonSchema } from './CamOverlayAPI';
2
+ import { allowedWidgetNames } from '../../CamOverlayAPI';
3
+ import { z } from 'zod';
4
+ export const pipSchema = widgetCommonSchema.extend({
5
+ name: z.literal(allowedWidgetNames.pip),
6
+ coordSystem: coordinateSystemSchema,
7
+ pos_x: z.number(),
8
+ pos_y: z.number(),
9
+ fps: z.number(),
10
+ compression: z.number().nonnegative(),
11
+ screenSize: z.number().nonnegative(),
12
+ source_type: z.union([z.literal('axis_camera'), z.literal('mjpeg_url')]),
13
+ mjpeg_url: z.union([z.string().url(), z.literal('')]),
14
+ camera_ip: z.union([z.string().ip(), z.literal('')]),
15
+ camera_port: z.number().nonnegative(),
16
+ camera_user: z.string(),
17
+ camera_pass: z.string(),
18
+ camera_width: z.number().nonnegative(),
19
+ camera_height: z.number().nonnegative(),
20
+ camera_view_area: z.string(),
21
+ camera_overlay_params: z.union([
22
+ z.literal('overlays=off'),
23
+ z.literal('overlays=all'),
24
+ z.literal('overlays=text'),
25
+ z.literal('overlays=image'),
26
+ z.literal('overlays=application'),
27
+ ]),
28
+ rotate: z.union([z.literal(0), z.literal(90), z.literal(180), z.literal(270)]),
29
+ dewarping: z.object({
30
+ enabled: z.boolean(),
31
+ rectangle: z.array(z.tuple([z.number(), z.number()])),
32
+ aspectRatioCorrection: z.number(),
33
+ }),
34
+ borderColor: z.string(),
35
+ borderWidth: z.number(),
36
+ scale: z.number(),
37
+ });
38
+ export const isPip = (widget) => widget.name === 'pip';