Spec-Zone.ru › Valibot

intersectAsync

Создаёт схему пересечения.

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

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

Обобщения

  • TOptions extends IntersectOptionsAsync
  • TMessage extends ErrorMessage<IntersectIssue> | undefined

Параметры

  • options TOptions
  • message TMessage

Пояснение

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

Возвращает

  • Schema IntersectSchemaAsync<TOptions, TMessage>

Примеры

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

Схема пожертвования

Схема, объединяющая объекты для проверки сведений о пожертвовании.

import { isOrganizationPresent } from '~/api';

const DonationSchema = v.intersectAsync([
  v.objectAsync({
    organizationId: v.pipeAsync(
      v.string(),
      v.uuid(),
      v.checkAsync(
        isOrganizationPresent,
        'The organization is not in the database.'
      )
    ),
  }),
  // Assume the schemas below are from different files and are reused here
  v.object({
    amount: v.pipe(v.number(), v.minValue(100)),
    message: v.pipe(v.string(), v.nonEmpty()),
  }),
  v.object({
    amount: v.pipe(v.number(), v.maxValue(1_000_000)),
    message: v.pipe(v.string(), v.maxLength(500)),
  }),
]);

Связанные API

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

Схемы

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

Утилиты

entriesFromList, isOfKind, isOfType

Асинхронность

arrayAsync, awaitAsync, checkAsync, customAsync, exactOptionalAsync, fallbackAsync, getDefaultsAsync, getFallbacksAsync, 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, unionAsync, variantAsync

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

Spec-Zone.ru

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