15 lines
369 B
TypeScript
15 lines
369 B
TypeScript
import z from "zod";
|
|
|
|
export const PlayOptionsSchema = z
|
|
.object({
|
|
speaker: z
|
|
.object({
|
|
play: z.custom<(...args: unknown[]) => Promise<void>>(
|
|
(v) => typeof v === "function"
|
|
),
|
|
})
|
|
.optional(),
|
|
signal: z.instanceof(AbortSignal).optional(),
|
|
})
|
|
.strict();
|