Spec-Zone.ru › Valibot

pick

Создает модифицированную копию схемы объекта, содержащую только выбранные записи.

const Schema = v.pick<TSchema, TKeys>(schema, keys);

Дженерики

  • TSchema extends 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>>
  • TKeys extends ObjectKeys<TSchema>

Параметры

  • schema TSchema
  • keys TKey

Пояснение

pick создает модифицированную копию переданного объекта schema, содержащую только выбранные keys. Это похоже на утилитный тип TypeScript Pick.

Поскольку pick изменяет тип данных входных и выходных значений, запрещено передавать схему, измененную методом pipe, так как это может вызвать ошибки во время выполнения. Пожалуйста, используйте метод pipe после изменения схемы с помощью pick.

Возвращаемое значение

  • Schema SchemaWithPick<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

Утилиты

isOfKind, isOfType

Асинхронные

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/

Spec-Zone.ru

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