const obj = { username: 'foo', password: 'bar', __typename: 'User' }
const newObj = deepOmit({ username, password }, ['__typename'])
console.log(newObj) -> { username: 'foo', password: 'bar' }
const obj = { username: 'foo', password: 'bar', __typename: 'User' }
const newObj = deepOmit({ username, password }, '__typename')
console.log(newObj) -> { username: 'foo', password: 'bar' }
const obj = { username: 'foo', password: 'bar', other: { prop: 'test', __typename: 'User' } }
const newObj = deepOmit({ username, password }, ['__typename'])
console.log(newObj) -> { username: 'foo', password: 'bar', other: { prop: 'test' } }