getDescription
Returns the description of the schema.
If multiple descriptions are defined, the last one of the highest level is returned. If no description is defined,
undefinedis returned.
const description = v.getDescription<TSchema>(schema);
Generics
TSchemaextends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>> | SchemaWithPipe<readonly [BaseSchema<unknown, unknown, BaseIssue<unknown>>, ...(PipeItem<any, unknown, BaseIssue<unknown>> | DescriptionAction<unknown, string>)[]]> | SchemaWithPipeAsync<readonly [BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>, ...(PipeItem<any, unknown, BaseIssue<unknown>> | PipeItemAsync<any, unknown, BaseIssue<unknown>> | DescriptionAction<unknown, string>)[]]>
Parameters
schemaTSchema
Returns
descriptionstring | undefined
Examples
The following examples show how getDescription can be used.
Get description of schema
Get the description of a username schema.
const UsernameSchema = v.pipe(
v.string(),
v.regex(/^[a-z0-9_-]{4,16}$/iu),
v.title('Username'),
v.description(
'A username must be between 4 and 16 characters long and can only contain letters, numbers, underscores and hyphens.'
)
);
const description = v.getDescription(UsernameSchema);
Overriding inherited descriptions
Get the description of a Gmail schema with an overridden description.
const EmailSchema = v.pipe(v.string(), v.email(), v.description('Email'));
const GmailSchema = v.pipe(
EmailSchema,
v.endsWith('@gmail.com'),
v.description('Gmail')
);
const description = v.getDescription(GmailSchema); // 'Gmail'
Related
The following APIs can be combined with getDescription.
Actions
© Fabian Hiller
Licensed under the MIT License.
https://valibot.dev/api/getDescription/