@4players/odin-common
Version:
A collection of commonly used type definitions and utility functions across ODIN web projects
24 lines (23 loc) • 756 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.WebRtcUpdateSchema = void 0;
const z = require("zod");
const media_1 = require("./media");
exports.WebRtcUpdateSchema = z.discriminatedUnion('kind', [
z.object({
kind: z.literal('Sdp'),
type: z.enum(['Answer', 'Offer']),
sdp: z.string(),
media_map: z.array(z.tuple([media_1.MediaIdSchema, z.string()])),
}),
z.object({
kind: z.literal('Trickle'),
candidate: z.string(),
spd_mid: z.optional(z.string()),
spd_mline_index: z.optional(z.number()),
username_fragment: z.optional(z.union([z.string(), z.null()])),
}),
z.object({
kind: z.literal('TrickleFinished'),
}),
]);