camstreamerlib
Version:
Helper library for CamStreamer ACAP applications.
30 lines (29 loc) • 1.96 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.fileSchema = exports.bitrateVapixParamsSchema = exports.bitrateModeSchema = exports.keyboardShortcutsSchema = exports.keyboardShortcutSchema = exports.networkCameraListSchema = exports.storageTypeSchema = exports.sdCardStorageTypeSchema = exports.flashStorageTypeSchema = exports.h264ProfileSchema = exports.audioChannelCountSchema = exports.audioChannelSchema = exports.booleanSchema = void 0;
const zod_1 = require("zod");
exports.booleanSchema = zod_1.z.union([zod_1.z.literal(0), zod_1.z.literal(1)]);
exports.audioChannelSchema = zod_1.z.union([zod_1.z.literal('mono'), zod_1.z.literal('stereo')]);
exports.audioChannelCountSchema = zod_1.z.union([zod_1.z.literal(1), zod_1.z.literal(2)]);
exports.h264ProfileSchema = zod_1.z.union([zod_1.z.literal('high'), zod_1.z.literal('main'), zod_1.z.literal('baseline')]);
exports.flashStorageTypeSchema = zod_1.z.literal('FLASH');
exports.sdCardStorageTypeSchema = zod_1.z.literal('SD_DISK');
exports.storageTypeSchema = zod_1.z.union([exports.sdCardStorageTypeSchema, exports.flashStorageTypeSchema]);
exports.networkCameraListSchema = zod_1.z.array(zod_1.z.object({
name: zod_1.z.string(),
ip: zod_1.z.string(),
}));
exports.keyboardShortcutSchema = zod_1.z.string().nullable();
exports.keyboardShortcutsSchema = zod_1.z.record(exports.keyboardShortcutSchema);
exports.bitrateModeSchema = zod_1.z.union([zod_1.z.literal('VBR'), zod_1.z.literal('MBR'), zod_1.z.literal('ABR')]);
exports.bitrateVapixParamsSchema = zod_1.z.object({
bitrateMode: exports.bitrateModeSchema,
maximumBitRate: zod_1.z.number(),
retentionTime: zod_1.z.number(),
bitRateLimit: zod_1.z.number(),
});
exports.fileSchema = typeof File !== 'undefined'
? zod_1.z.instanceof(File)
: zod_1.z.custom((val) => {
return val !== null && typeof val === 'object' && 'name' in val && 'size' in val && 'type' in val;
});