Skip to content

omit ​

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

Сигнатура ​

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

Параметры ​

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

Особенности ​

По умолчанию лишние поля удаляются из data (режим strip), поэтому omit удобно использовать и для ответа API: прогнать объект из базы через схему без пароля — и пароль не уйдёт клиенту.

Пример ​

Публичный профиль ​

ts
const User = object({
  id: number(),
  name: string(),
  email: string(),
  password: string(),
});

const PublicUser = omit(User, ['password', 'email']);

parse(PublicUser, userFromDb); // { id: 1, name: 'Ivan' }

См. также ​

  • pick — наоборот: только перечисленные поля
  • partial, extend