react-native-whip-whep
Version:
An implementation of WHIP and WHEP protocols functionalities for React Native.
35 lines • 1.15 kB
JavaScript
import { z } from "zod";
import { ReceivableEvents, } from "../ReactNativeMobileWhepClientModule";
const ReconnectionStatusChangedEventSchema = z.object({
status: z.enum([
"reconnectionStarted",
"reconnected",
"reconnectionRetriesLimitReached",
]),
});
const PeerConnectionStateChangedEventSchema = z.object({
state: z.enum([
"new",
"connecting",
"connected",
"disconnected",
"failed",
"closed",
]),
});
export function validateNativeEventPayload(eventName, payload) {
switch (eventName) {
case ReceivableEvents.ReconnectionStatusChanged:
ReconnectionStatusChangedEventSchema.parse(payload);
break;
case ReceivableEvents.WhepPeerConnectionStateChanged:
PeerConnectionStateChangedEventSchema.parse(payload);
break;
case ReceivableEvents.WhipPeerConnectionStateChanged:
PeerConnectionStateChangedEventSchema.parse(payload);
break;
default:
throw new Error(`Unknown event: ${eventName}`);
}
}
//# sourceMappingURL=eventPayloadValidator.js.map