|
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) |
|
}) |
|
) |
|
}) |
|
}); |
|
|
|
const TwitterDlSchema = z.array(TwitterDLVariantSchema); |
|
|
|
|
|
export { TwitterDlArgsSchema, TwitterDLVariantSchema, TwitterDLResponseSchema, TwitterDlSchema }; |
|
|