mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
BREAKING CHANGE: formatters export removed (prev. deprecated) BREAKING CHANGE: `SelectMenuBuilder` and `SelectMenuOptionBuilder` have been removed (prev. deprecated) BREAKING CHANGE: `EmbedBuilder` no longer takes camalCase options BREAKING CHANGE: `ActionRowBuilder` now has specialized `[add/set]X` methods as opposed to the current `[add/set]Components` BREAKING CHANGE: Removed `equals` methods BREAKING CHANGE: Sapphire -> zod for validation BREAKING CHANGE: Removed the ability to pass `null`/`undefined` to clear fields, use `clearX()` instead BREAKING CHANGE: Renamed all "slash command" symbols to instead use "chat input command" BREAKING CHANGE: Removed `ContextMenuCommandBuilder` in favor of `MessageCommandBuilder` and `UserCommandBuilder` BREAKING CHANGE: Removed support for passing the "string key"s of enums BREAKING CHANGE: Removed `Button` class in favor for specialized classes depending on the style BREAKING CHANGE: Removed nested `addX` styled-methods in favor of plural `addXs` Co-authored-by: Vlad Frangu <me@vladfrangu.dev> Co-authored-by: Almeida <github@almeidx.dev>
22 lines
502 B
TypeScript
22 lines
502 B
TypeScript
import { ComponentType } from 'discord-api-types/v10';
|
|
import { z } from 'zod';
|
|
import { customIdPredicate } from '../../Assertions.js';
|
|
|
|
const titlePredicate = z.string().min(1).max(45);
|
|
|
|
export const modalPredicate = z.object({
|
|
title: titlePredicate,
|
|
custom_id: customIdPredicate,
|
|
components: z
|
|
.object({
|
|
type: z.literal(ComponentType.ActionRow),
|
|
components: z
|
|
.object({ type: z.literal(ComponentType.TextInput) })
|
|
.array()
|
|
.length(1),
|
|
})
|
|
.array()
|
|
.min(1)
|
|
.max(5),
|
|
});
|