getMetadata
Returns the metadata of the schema.
If multiple metadata are defined, it shallowly merges them using depth-first search. If no metadata is defined, an empty object is returned.
const metadata = v.getMetadata<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>> | MetadataAction<unknown, string>)[]]> | SchemaWithPipeAsync<readonly [BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>, ...(PipeItem<any, unknown, BaseIssue<unknown>> | PipeItemAsync<any, unknown, BaseIssue<unknown>> | MetadataAction<unknown, string>)[]]>
Parameters
schemaTSchema
Returns
metadataInferMetadata<TSchema>
Examples
The following examples show how getMetadata can be used.
Get metadata of schema
Get the metadata of a username schema.
const UsernameSchema = v.pipe(
v.string(),
v.regex(/^[a-z0-9_-]{4,16}$/iu),
v.title('Username'),
v.metadata({
length: { min: 4, max: 16 },
chars: ['letters', 'numbers', 'underscores', 'hyphens'],
})
);
const metadata = v.getMetadata(UsernameSchema);
Related
The following APIs can be combined with getMetadata.
Actions
© Fabian Hiller
Licensed under the MIT License.
https://valibot.dev/api/getMetadata/