UNPKG

@4players/odin-common

Version:

A collection of commonly used type definitions and utility functions across ODIN web projects

23 lines (22 loc) 690 B
import * as z from 'zod'; export const MediaIdSchema = z.number(); export const MediaAudioPropertiesSchema = z.object({ kind: z.optional(z.literal('audio')), uid: z.optional(z.string()), customType: z.optional(z.string()), }); export const MediaVideoPropertiesSchema = z.object({ kind: z.optional(z.literal('video')), codec: z.optional(z.string()), uid: z.optional(z.string()), customType: z.optional(z.string()), }); export const MediaPropertiesSchema = z.union([ MediaAudioPropertiesSchema, MediaVideoPropertiesSchema, ]); export const MediaSchema = z.object({ id: MediaIdSchema, properties: MediaPropertiesSchema, paused: z.boolean(), });