export default {}


// type MyType<T> = T extends any ? T : never;
// type res = MyType<string | number | boolean>;

// 从 T 中提出可以赋值给U的类型。 Exclude
// type res = Exclude<string | number | boolean, boolean | number>;

// 从中剔除null和undefined NonNullable
// type res = NonNullable<string | number | boolean | null | undefined>;

// 获取函数返回值类型 ReturnType
// type res = ReturnType<() => string>;


// 获取一个类的构造函数组成的元组类型 ConstructorParamsters
// class Person {
// constructor(name: string, age: number) {}
// }

// type res = ConstructorParameters<typeof Person>;


// 获得函数的参数类型组成的元组类型 Parameters
// function show(name: string, age: number, sex: boolean) {

// }

// type res = Parameters<typeof show>;