mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
feat!: use zod v4 (#10922)
* feat: zod 4 * feat: zod v3, but v4 feat: validation error class Co-authored-by: Qjuh <76154676+Qjuh@users.noreply.github.com> * chore: bump --------- Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com> Co-authored-by: Qjuh <76154676+Qjuh@users.noreply.github.com>
This commit is contained in:
@@ -1,21 +1,13 @@
|
||||
import { Locale } from 'discord-api-types/v10';
|
||||
import { z } from 'zod';
|
||||
import { z } from 'zod/v4';
|
||||
|
||||
export const customIdPredicate = z.string().min(1).max(100);
|
||||
|
||||
export const memberPermissionsPredicate = z.coerce.bigint();
|
||||
|
||||
export const localeMapPredicate = z
|
||||
.object(
|
||||
Object.fromEntries(Object.values(Locale).map((loc) => [loc, z.string().optional()])) as Record<
|
||||
Locale,
|
||||
z.ZodOptional<z.ZodString>
|
||||
>,
|
||||
)
|
||||
.strict();
|
||||
|
||||
export const refineURLPredicate = (allowedProtocols: string[]) => (value: string) => {
|
||||
// eslint-disable-next-line n/prefer-global/url
|
||||
const url = new URL(value);
|
||||
return allowedProtocols.includes(url.protocol);
|
||||
};
|
||||
export const localeMapPredicate = z.strictObject(
|
||||
Object.fromEntries(Object.values(Locale).map((loc) => [loc, z.string().optional()])) as Record<
|
||||
Locale,
|
||||
z.ZodOptional<z.ZodString>
|
||||
>,
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user