Spec-Zone.ru › Valibot

strictTupleAsync

Создает схему строгого кортежа.

const Schema = v.strictTupleAsync<TItems, TMessage>(items, message);

Обобщения

  • TItems extends TupleItemsAsync
  • TMessage extends ErrorMessage<StrictTupleIssue> | undefined

Параметры

  • items TItems
  • message TMessage

Пояснение

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

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

Возвращает

  • Schema StrictTupleSchemaAsync<TItems, TMessage>

Примеры

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

Кортеж из числа и адреса электронной почты

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

import { isEmailPresent } from '~/api';

const TupleSchema = v.strictTupleAsync([
  v.number(),
  v.pipeAsync(
    v.string(),
    v.email(),
    v.checkAsync(isEmailPresent, 'The email is not in the database.')
  ),
]);

Связанные API

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

Схемы

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, string, symbol, tuple, tupleWithRest, undefined, undefinedable, union, unknown, variant, void

Методы

config, getDefault, getFallback

Действия

check, checkItems, brand, description, empty, everyItem, excludes, filterItems, findItem, flavor, guard, includes, length, mapItems, maxLength, metadata, minLength, nonEmpty, notLength, partialCheck, rawCheck, rawTransform, readonly, reduceItems, someItem, sortItems, title, transform

Утилиты

entriesFromList, isOfKind, isOfType

Асинхронные API

arrayAsync, 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, transformAsync, tupleAsync, tupleWithRestAsync, unionAsync, variantAsync

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

Spec-Zone.ru

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