pick
Создает модифицированную копию схемы объекта, содержащую только выбранные записи.
const Schema = v.pick<TSchema, TKeys>(schema, keys);
Дженерики
TSchemaextends SchemaWithoutPipe<LooseObjectSchema<ObjectEntries, ErrorMessage<ObjectIssue> | undefined> | LooseObjectSchemaAsync<ObjectEntriesAsync, ErrorMessage<ObjectIssue> | undefined> | ObjectSchema<ObjectEntries, ErrorMessage<ObjectIssue> | undefined> | ObjectSchemaAsync<ObjectEntriesAsync, ErrorMessage<ObjectIssue> | undefined> | ObjectWithRestSchema<ObjectEntries, BaseSchema<unknown, unknown, BaseIssue<unknown>>, ErrorMessage<ObjectWithRestIssue> | undefined> | ObjectWithRestSchemaAsync<ObjectEntriesAsync, BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>, ErrorMessage<ObjectWithRestIssue> | undefined> | StrictObjectSchema<ObjectEntries, ErrorMessage<ObjectIssue> | undefined> | StrictObjectSchemaAsync<ObjectEntriesAsync, ErrorMessage<ObjectIssue> | undefined>>TKeysextends ObjectKeys<TSchema>
Параметры
schemaTSchemakeysTKey
Пояснение
pick создает модифицированную копию переданного объекта schema, содержащую только выбранные keys. Это похоже на утилитный тип TypeScript Pick.
Поскольку
pickизменяет тип данных входных и выходных значений, запрещено передавать схему, измененную методомpipe, так как это может вызвать ошибки во время выполнения. Пожалуйста, используйте методpipeпосле изменения схемы с помощьюpick.
Возвращаемое значение
SchemaSchemaWithPick<TSchema, TKeys>
Примеры
Следующие примеры показывают, как можно использовать pick.
Выбор определенных ключей
Схема, содержащая только выбранные ключи существующей схемы.
const PickedSchema = v.pick(
v.object({
key1: string(),
key2: number(),
key3: boolean(),
}),
['key1', 'key3']
); // { key1: string; key3: boolean }
Связанные компоненты
Следующие API можно комбинировать с pick.
Схемы
array, exactOptional, intersect, lazy, looseObject, looseTuple, map, nonNullable, nonNullish, nonOptional, nullable, nullish, object, objectWithRest, optional, record, set, strictObject, strictTuple, tuple, tupleWithRest, undefinedable, union
Методы
assert, config, fallback, forward, getDefault, getDefaults, getFallback, getFallbacks, is, keyof, message, omit, parse, parser, partial, required, safeParse, safeParser, unwrap
Действия
check, brand, description, entries, flavor, guard, maxEntries, metadata, minEntries, notEntries, partialCheck, rawCheck, rawTransform, readonly, title, transform
Утилиты
Асинхронные
arrayAsync, checkAsync, exactOptionalAsync, fallbackAsync, getDefaultsAsync, getFallbacksAsync, intersectAsync, lazyAsync, looseObjectAsync, looseTupleAsync, mapAsync, nonNullableAsync, nonNullishAsync, nonOptionalAsync, nullableAsync, nullishAsync, objectAsync, objectWithRestAsync, optionalAsync, parseAsync, parserAsync, partialAsync, partialCheckAsync, rawCheckAsync, rawTransformAsync, recordAsync, requiredAsync, safeParseAsync, safeParserAsync, setAsync, strictObjectAsync, strictTupleAsync, transformAsync, tupleAsync, tupleWithRestAsync, undefinedableAsync, unionAsync
© Fabian Hiller
Licensed under the MIT License.
https://valibot.dev/api/pick/