Skip to content

pick ​

Новая схема объекта только с перечисленными полями.

Сигнатура ​

ts
function pick<S, K extends keyof S>(schema: ObjectSchema<S>, keys: K[]): ObjectSchema<Pick<S, K>>

Параметры ​

ПараметрТипОписание
schemaObjectSchemaСхема, созданная object
keysstring[]Поля, которые нужно оставить. TypeScript проверяет, что они есть в схеме

Пример ​

Вход по email и паролю ​

ts
const User = object({
  name: string(),
  email: pipe(string(), email()),
  password: pipe(string(), minLength(8)),
});

const Login = pick(User, ['email', 'password']);

validate(Login, { email: 'a@a.ru', password: '12345678', name: 'x' }).data;
// { email: 'a@a.ru', password: '12345678' }

См. также ​

  • omit — наоборот: все поля, кроме перечисленных
  • partial, extend