Spec-Zone.ru › Valibot

unionAsync

Создает схему объединения.

Рекомендуем ознакомиться с руководством по объединениям перед использованием этой функции схемы.

const Schema = v.unionAsync<TOptions, TMessage>(options, message);

Обобщения

  • TOptions extends UnionOptionsAsync
  • TMessage extends ErrorMessage<UnionIssue<InferIssue<TOptions[number]>>> | undefined

Параметры

  • options TOptions
  • message TMessage

Пояснение

С помощью unionAsync можно проверить, соответствует ли входное значение одной из заданных options. Если входное значение не соответствует схеме и его нельзя однозначно отнести к одному из вариантов, можно использовать message, чтобы настроить сообщение об ошибке.

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

Возвращает

  • Schema UnionSchemaAsync<TOptions, TMessage>

Примеры

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

Схема пользователя

Схема для проверки адреса электронной почты или имени пользователя.

import { isEmailPresent, isUsernamePresent } from '~/api';

const UserSchema = v.unionAsync([
  v.pipeAsync(
    v.string(),
    v.email(),
    v.checkAsync(isEmailPresent, 'The email is not in the database.')
  ),
  v.pipeAsync(
    v.string(),
    v.nonEmpty(),
    v.checkAsync(isUsernamePresent, 'The username is not in the database.')
  ),
]);

Связанные API

Следующие API можно использовать вместе с unionAsync.

Схемы

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

Действия

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, 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

Утилиты

entriesFromList, isOfKind, isOfType

Асинхронные

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

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

Spec-Zone.ru

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