Append Argument
提出詳細
type AppendArgument<T extends (...arg: any[]) => any, U> = T extends (...args: infer A) => infer R ? (...args: [...A, U]) => R : T
提出日時 | 2023-05-04 23:28:23 |
---|---|
問題 | Append Argument |
ユーザー | Dowanna |
ステータス | Accepted |
import type { Equal, Expect } from '@type-challenges/utils' type Case1 = AppendArgument<(a: number, b: string) => number, boolean> type Result1 = (a: number, b: string, x: boolean) => number type Case2 = AppendArgument<() => void, undefined> type Result2 = (x: undefined) => void type cases = [ Expect<Equal<Case1, Result1>>, Expect<Equal<Case2, Result2>>, ]