getDefaultsAsync
Возвращает значения по умолчанию для схемы.
Отличие от
getDefaultзаключается в том, что для схем объектов и кортежей эта функция рекурсивно возвращает значения по умолчанию для подсхем вместоundefined.
const values = v.getDefaultsAsync<TSchema>(schema);
Дженерики
TSchemaextends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>
Параметры
schemaTSchema
Возвращаемое значение
valuesPromise<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/