camstreamerlib
Version:
Helper library for CamStreamer ACAP applications.
126 lines (125 loc) • 4.91 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.audioSampleRatesResponseSchema = exports.dateTimeinfoSchema = exports.maxFpsResponseSchema = exports.audioDeviceRequestSchema = exports.audioDeviceSchema = exports.audioDeviceInputOutputSchema = exports.audioDeviceConnectionTypeSchema = exports.audioDeviceSignalingTypeSchema = exports.audioDeviceSignalingChannelTypeSchema = exports.cameraPTZItemSchema = exports.cameraPTZItemDataSchema = exports.PtzOverviewSchema = exports.sdCardWatchedStatuses = exports.guardTourSchema = exports.APP_IDS = exports.applicationSchema = void 0;
const zod_1 = require("zod");
const transformers_1 = require("../internal/transformers");
exports.applicationSchema = zod_1.z.object({
Name: zod_1.z.string(),
NiceName: zod_1.z.string(),
Vendor: zod_1.z.string(),
Version: zod_1.z.string(),
ApplicationID: zod_1.z.string().optional(),
License: zod_1.z.string(),
Status: zod_1.z.string(),
ConfigurationPage: zod_1.z.string().optional(),
VendorHomePage: zod_1.z.string().optional(),
LicenseName: zod_1.z.string().optional(),
});
exports.APP_IDS = [
'CamStreamer',
'CamSwitcher',
'CamOverlay',
'CamScripter',
'PlaneTracker',
'Ndihxplugin',
'SportTracker',
];
exports.guardTourSchema = zod_1.z.object({
id: zod_1.z.string(),
camNbr: zod_1.z.unknown(),
name: zod_1.z.string(),
randomEnabled: zod_1.z.unknown(),
running: zod_1.z.string(),
timeBetweenSequences: zod_1.z.unknown(),
tour: zod_1.z.array(zod_1.z.object({
moveSpeed: zod_1.z.unknown(),
position: zod_1.z.unknown(),
presetNbr: zod_1.z.unknown(),
waitTime: zod_1.z.unknown(),
waitTimeViewType: zod_1.z.unknown(),
})),
});
const audioSampleRatesSchema = zod_1.z.object({
sample_rate: zod_1.z.number(),
bit_rates: zod_1.z.array(zod_1.z.number()),
});
const audioSampleRatesOutSchema = audioSampleRatesSchema.transform(transformers_1.toCamelCaseDeep);
exports.sdCardWatchedStatuses = ['OK', 'connected', 'disconnected'];
exports.PtzOverviewSchema = zod_1.z.record(zod_1.z.number(), zod_1.z.array(zod_1.z.object({ id: zod_1.z.number(), name: zod_1.z.string() })));
exports.cameraPTZItemDataSchema = zod_1.z.object({
pan: zod_1.z.number().optional(),
tilt: zod_1.z.number().optional(),
zoom: zod_1.z.number().optional(),
});
exports.cameraPTZItemSchema = zod_1.z.object({
name: zod_1.z.string(),
id: zod_1.z.number(),
data: exports.cameraPTZItemDataSchema,
});
exports.audioDeviceSignalingChannelTypeSchema = zod_1.z.object({
id: zod_1.z.string(),
gain: zod_1.z.number(),
mute: zod_1.z.boolean(),
});
exports.audioDeviceSignalingTypeSchema = zod_1.z.object({
id: zod_1.z.string(),
powerType: zod_1.z.string().optional(),
channels: zod_1.z.array(exports.audioDeviceSignalingChannelTypeSchema),
});
exports.audioDeviceConnectionTypeSchema = zod_1.z.object({
id: zod_1.z.string(),
signalingTypeSelected: zod_1.z.string(),
signalingTypes: zod_1.z.array(exports.audioDeviceSignalingTypeSchema),
});
exports.audioDeviceInputOutputSchema = zod_1.z.object({
id: zod_1.z.string(),
name: zod_1.z.string(),
enabled: zod_1.z.boolean(),
connectionTypes: zod_1.z.array(exports.audioDeviceConnectionTypeSchema),
connectionTypeSelected: zod_1.z.string(),
});
exports.audioDeviceSchema = zod_1.z.object({
id: zod_1.z.string(),
name: zod_1.z.string(),
inputs: zod_1.z.array(exports.audioDeviceInputOutputSchema),
outputs: zod_1.z.array(exports.audioDeviceInputOutputSchema),
});
const audioDeviceFromRequestSchema = zod_1.z.object({
id: zod_1.z.string(),
name: zod_1.z.string(),
inputs: zod_1.z.array(exports.audioDeviceInputOutputSchema).optional(),
outputs: zod_1.z.array(exports.audioDeviceInputOutputSchema).optional(),
});
exports.audioDeviceRequestSchema = zod_1.z.object({
data: zod_1.z.object({ devices: zod_1.z.array(audioDeviceFromRequestSchema) }),
});
exports.maxFpsResponseSchema = zod_1.z.object({
data: zod_1.z
.array(zod_1.z.object({
channel: zod_1.z.number(),
captureMode: zod_1.z.array(zod_1.z.object({
enabled: zod_1.z.boolean(),
maxFPS: zod_1.z.number().optional(),
})),
}))
.optional(),
});
exports.dateTimeinfoSchema = zod_1.z.object({
data: zod_1.z.object({
dateTime: zod_1.z.string(),
dstEnabled: zod_1.z.boolean(),
localDateTime: zod_1.z.string(),
posixTimeZone: zod_1.z.string(),
timeZone: zod_1.z.string(),
}),
});
exports.audioSampleRatesResponseSchema = zod_1.z.object({
data: zod_1.z.object({
encoders: zod_1.z
.object({
aac: zod_1.z.array(audioSampleRatesSchema),
AAC: zod_1.z.array(audioSampleRatesSchema),
})
.partial(),
}),
});