getFallbacksAsync
Возвращает резервные значения схемы.
Отличие от
getFallbackзаключается в том, что для схем объектов и кортежей эта функция рекурсивно возвращает резервные значения подсхем вместоundefined.
const values = v.getFallbacksAsync<TSchema>(schema);
Дженерики
TSchemaextends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>
Параметры
schemaTSchema
Возвращаемое значение
valuesPromise<InferFallbacks<TSchema>>
Примеры
Следующие примеры показывают, как можно использовать getFallbacksAsync.
Резервные значения для нового пользователя
Получение резервных значений схемы нового пользователя.
import { getAnyUniqueUsername, isUsernameUnique } from '~/api';
const NewUserSchema = v.objectAsync({
username: v.fallbackAsync(
v.pipeAsync(v.string(), v.minLength(3), v.checkAsync(isUsernameUnique)),
getAnyUniqueUsername
),
password: v.pipe(v.string(), v.minLength(8)),
});
const fallbackValues = await v.getFallbacksAsync(NewUserSchema);
/*
{
username: "cookieMonster07",
password: undefined
}
*/
Связанные темы
Следующие API можно комбинировать с getFallbacksAsync.
Схемы
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/getFallbacksAsync/