Type Challenges Judge

Omit

提出詳細

type MyOmit<T, K extends keyof T> = {[P in OmitKeys<keyof T, K>] : T[P]}; type OmitKeys<T, U> = T extends U ? never : T;
提出日時2022-10-06 15:33:25
問題Omit
ユーザーyotarotsukada
ステータスAccepted
テストケース
import type { Equal, Expect } from '@type-challenges/utils' type cases = [ Expect<Equal<Expected1, MyOmit<Todo, 'description'>>>, Expect<Equal<Expected2, MyOmit<Todo, 'description' | 'completed'>>>, ] // @ts-expect-error type error = MyOmit<Todo, 'description' | 'invalid'> interface Todo { title: string description: string completed: boolean } interface Expected1 { title: string completed: boolean } interface Expected2 { title: string }