import { z } from 'zod'; | |
const TwitterDlArgsSchema = z.object({ | |
0: z.string().url() | |
}); | |
const TwitterDLVariantSchema = z.object({ | |
bitrate: z.number().optional(), | |
content_type: z.string(), | |
url: z.string().url(), | |
height: z.preprocess( | |
(data) => (typeof data === 'number' ? data.toString() : data), | |
z.string() | |
), | |
width: z.preprocess( | |
(data) => (typeof data === 'number' ? data.toString() : data), | |
z.string() | |
) | |
}); | |
const TwitterDLResponseSchema = z.object({ | |
includes: z.object({ | |
media: z.array( | |
z.object({ | |
media_url_https: z.string().url(), | |
type: z.string(), | |
variants: z.array(TwitterDLVariantSchema).optional() | |
}) | |
) | |
}) | |
}); | |
const TwitterDlSchema = z.array(TwitterDLVariantSchema).or(TwitterDLVariantSchema); | |
export { TwitterDlArgsSchema, TwitterDLVariantSchema, TwitterDLResponseSchema, TwitterDlSchema }; |