Spec-Zone.ru › Valibot

getDefaultsAsync

Возвращает значения по умолчанию для схемы.

Отличие от getDefault заключается в том, что для схем объектов и кортежей эта функция рекурсивно возвращает значения по умолчанию для подсхем вместо undefined.

const values = v.getDefaultsAsync<TSchema>(schema);

Дженерики

  • TSchema extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>

Параметры

  • schema TSchema

Возвращаемое значение

  • values Promise<InferDefaults<TSchema>>

Примеры

Следующие примеры показывают, как можно использовать getDefaultsAsync.

Значения по умолчанию схемы пожертвования

Получение значений по умолчанию для схемы пожертвования.

import { getRandomOrgId } from '~/api';

const DonationSchema = v.objectAsync({
  timestamp: v.optional(v.date(), () => new Date()),
  sponsor: v.optional(v.pipe(v.string(), v.nonEmpty()), 'anonymous'),
  organizationId: v.optionalAsync(v.pipe(v.string(), v.uuid()), getRandomOrgId),
  message: v.optional(v.pipe(v.string(), v.minLength(1))),
});

const defaultValues = await v.getDefaultsAsync(DonationSchema);

/*
  {
    timestamp: new Date(),
    sponsor: "anonymous",
    organizationId: "43775869-95f3-4e00-9f37-161ec8f9f7cd",
    message: undefined
  }
*/

Связанные темы

Следующие API могут быть скомбинированы с getDefaultsAsync.

Схемы

any, array, bigint, blob, boolean, custom, date, enum, exactOptional, file, function, instance, intersect, lazy, literal, looseObject, looseTuple, map, nan, never, nonNullable, nonNullish, nonOptional, null, nullable, nullish, number, object, objectWithRest, optional, picklist, promise, record, set, strictObject, strictTuple, string, symbol, tuple, tupleWithRest, undefined, undefinedable, union, unknown, variant, void

Методы

assert, config, fallback, keyof, message, omit, partial, pick, pipe, required, unwrap

Асинхронные методы

arrayAsync, customAsync, exactOptionalAsync, fallbackAsync, intersectAsync, lazyAsync, looseObjectAsync, looseTupleAsync, mapAsync, nonNullableAsync, nonNullishAsync, nonOptionalAsync, nullableAsync, nullishAsync, objectAsync, objectWithRestAsync, optionalAsync, partialAsync, pipeAsync, recordAsync, requiredAsync, setAsync, strictObjectAsync, strictTupleAsync, tupleAsync, tupleWithRestAsync, unionAsync, variantAsync

© Fabian Hiller
Licensed under the MIT License.
https://valibot.dev/api/getDefaultsAsync/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API