UNPKG

camstreamerlib

Version:

Helper library for CamStreamer ACAP applications.

77 lines (76 loc) 3.01 kB
import { z } from 'zod'; import { infoTickerSchema } from './infotickerSchema'; import { accuweatherSchema } from './accuweatherSchema'; import { ptzCompassSchema } from './ptzCompassSchema'; import { imagesSchema } from './imagesSchema'; import { ptzSchema } from './ptzSchema'; import { pipSchema } from './pipSchema'; import { customGraphicsSchema } from './customGraphicsSchema'; import { screenSharingSchema } from './screenSharingSchema'; import { webCameraSharingSchema } from './webCameraSharingSchema'; import { baseballScoreBoardAutomaticSchema, baseballScoreBoardSchema, scoreBoardSchema, scoreOverviewSchema, } from './scoreBoardSchema'; export const wsResponseSchema = z.object({ status: z.number(), message: z.string(), }); export const servicesSchema = z.discriminatedUnion('name', [ infoTickerSchema, accuweatherSchema, ptzCompassSchema, imagesSchema, ptzSchema, pipSchema, customGraphicsSchema, screenSharingSchema, webCameraSharingSchema, scoreBoardSchema, baseballScoreBoardSchema, baseballScoreBoardAutomaticSchema, scoreOverviewSchema, ]); export const serviceListSchema = z.object({ services: z.array(servicesSchema), }); export const isAccuweather = (service) => service.name === 'accuweather'; export const isCustomGraphics = (service) => service.name === 'customGraphics'; export const isImages = (service) => service.name === 'images'; export const isInfoticker = (service) => service.name === 'infoticker'; export const isPip = (service) => service.name === 'pip'; export const isPtzCompass = (service) => service.name === 'ptzCompass'; export const isPtz = (service) => service.name === 'ptz'; export const isScreenSharing = (service) => service.name === 'screenSharing'; export const isWebCameraSharing = (service) => service.name === 'web_camera'; export const isScoreBoard = (service) => service.name === 'scoreBoard'; export const isBaseballScoreBoard = (service) => service.name === 'baseballScoreBoard'; export const isBaseballScoreBoardAutomatic = (service) => service.name === 'myBallBaseballWidgets'; export const isScoreOverview = (service) => service.name === 'scoreOverview'; export var ImageType; (function (ImageType) { ImageType[ImageType["PNG"] = 0] = "PNG"; ImageType[ImageType["JPEG"] = 1] = "JPEG"; })(ImageType || (ImageType = {})); export const fileStorageTypeSchema = z.union([ z.literal('flash'), z.literal('SD0'), z.literal('ftp'), z.literal('samba'), z.literal('url'), ]); export const storageDataListSchema = z.array(z.object({ type: fileStorageTypeSchema, state: z.string(), })); export const storageResponseSchema = z.object({ code: z.number(), list: storageDataListSchema, }); export const fileSchema = z.object({ name: z.string(), path: z.string().url(), storage: fileStorageTypeSchema, }); export const fileListSchema = z.array(fileSchema); export const fileDataSchema = z.object({ code: z.number(), list: fileListSchema, });