mapAsync
Создаёт схему map.
const Schema = v.mapAsync<TKey, TValue, TMessage>(key, value, message);
Дженерики
TKeyextends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>TValueextends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>TMessageextends ErrorMessage<MapIssue> | undefined
Параметры
keyTKeyvalueTValuemessageTMessage
Описание
С помощью mapAsync вы можете проверять тип данных входного значения и соответствие записей key и value. Если входное значение не является map, вы можете использовать message для настройки сообщения об ошибке.
Возвращаемое значение
SchemaMapSchemaAsync<TKey, TValue, TMessage>
Примеры
Следующие примеры показывают, как можно использовать mapAsync.
Схема списка покупок
Схема для валидации map, где ключами являются имена пользователей, которым разрешено совершать покупки, а значениями — общее количество приобретенных товаров.
import { isUserVerified } from '~/api';
const ShoppingItemsSchema = v.mapAsync(
v.pipeAsync(
v.string(),
v.checkAsync(isUserVerified, 'The username is not allowed to shop.')
),
v.pipe(v.number(), v.minValue(0))
);
Связанные элементы
Следующие API можно комбинировать с mapAsync.
Схемы
any, array, bigint, blob, boolean, custom, date, enum, exactOptional, file, function, instance, intersect, lazy, literal, looseObject, looseTuple, 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
Действия
check, brand, description, flavor, guard, maxSize, metadata, minSize, notSize, rawCheck, rawTransform, readonly, size, title, transform
Утилиты
entriesFromList, isOfKind, isOfType
Асинхронные
arrayAsync, checkAsync, customAsync, exactOptionalAsync, fallbackAsync, getDefaultsAsync, getFallbacksAsync, intersectAsync, lazyAsync, looseObjectAsync, looseTupleAsync, nonNullableAsync, nonNullishAsync, nonOptionalAsync, nullableAsync, nullishAsync, objectAsync, objectWithRestAsync, optionalAsync, parseAsync, parserAsync, 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/mapAsync/