Spec-Zone.ru › Valibot

fallbackAsync

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

const Schema = v.fallbackAsync<TSchema, TFallback>(schema, fallback);

Обобщения

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

Параметры

  • schema TSchema
  • fallback TFallback

Пояснение

fallbackAsync позволяет задать резервное значение для результата, которое будет использоваться, если проверка входных данных завершится неудачей. Это означает, что при использовании fallbackAsync ошибки возвращаться не будут, а схема всегда будет возвращать результат.

Если вы хотите задать значение по умолчанию только для входных данных null или undefined, используйте вместо этого optionalAsync, nullableAsync или nullishAsync.

Резервное значение не проверяется. Убедитесь, что оно соответствует вашей схеме.

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

  • Schema SchemaWithFallbackAsync<TSchema, TFallback>

Примеры

В следующих примерах показано, как можно использовать fallbackAsync.

Схема уникального имени пользователя

Схема, которая всегда возвращает уникальное имя пользователя.

Если передать функцию в качестве параметра fallbackAsync, схема будет возвращать уникальное имя пользователя каждый раз, когда входные данные не соответствуют схеме.

import { getAnyUniqueUsername, isUsernameUnique } from '~/api';

const UniqueUsernameSchema = v.fallbackAsync(
  v.pipeAsync(v.string(), v.minLength(4), v.checkAsync(isUsernameUnique)),
  getAnyUniqueUsername
);

Связанные API

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

Схемы

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

Методы

config, getDefault, getFallback, keyof, message, omit, pick, unwrap

Действия

args, base64, bic, brand, bytes, check, checkItems, codePoints, creditCard, cuid2, decimal, description, digits, domain, email, emoji, empty, endsWith, entries, everyItem, excludes, filterItems, findItem, finite, flavor, graphemes, gtValue, guard, hash, hexadecimal, hexColor, imei, includes, integer, ip, ipv4, ipv6, isbn, isrc, isoDate, isoDateTime, isoDateTimeSecond, isoTime, isoTimeSecond, isoTimestamp, isoWeek, ksuid, length, ltValue, mac, mac48, mac64, mapItems, maxBytes, maxCodePoints, maxEntries, maxGraphemes, maxLength, maxSize, maxValue, maxWords, metadata, mimeType, minBytes, minCodePoints, minEntries, minGraphemes, minLength, minSize, minValue, minWords, multipleOf, nanoid, nonEmpty, notBytes, notCodePoints, notEntries, notGraphemes, notLength, notSize, notValue, notValues, notWords, octal, parseJson, partialCheck, rawCheck, rawTransform, readonly, reduceItems, regex, returns, rfcEmail, safeInteger, size, slug, someItem, sortItems, startsWith, stringifyJson, title, toCamelCase, toKebabCase, toLowerCase, toMaxValue, toMinValue, toPascalCase, toSnakeCase, toUpperCase, transform, trim, trimEnd, trimStart, ulid, url, uuid, value, values, words

Утилиты

isOfKind, isOfType

Асинхронные операции

arrayAsync, awaitAsync, checkAsync, customAsync, exactOptionalAsync, getDefaultsAsync, getFallbacksAsync, intersectAsync, lazyAsync, looseObjectAsync, looseTupleAsync, mapAsync, nonNullableAsync, nonNullishAsync, nonOptionalAsync, nullableAsync, nullishAsync, objectAsync, objectWithRestAsync, optionalAsync, parseAsync, parserAsync, partialAsync, partialCheckAsync, pipeAsync, rawCheckAsync, rawTransformAsync, recordAsync, requiredAsync, safeParseAsync, safeParserAsync, setAsync, strictObjectAsync, strictTupleAsync, transformAsync, tupleAsync, tupleWithRestAsync, unionAsync, variantAsync

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

Spec-Zone.ru

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