type TA = "typeA"
type TB = "typeB"
type TC = "typeC"
type HA = (arg: number) => void;
type HB = (arg: string) => void;
type HC = (arg: boolean) => void;
// 目的是为了实现下面这样类似的重载
// 但是感觉重载有些麻烦,万一类型多了,得写一堆,很烦
// 有什么办法通过泛型来表达吗?
function func(type: TA, handler: HA): void;
function func(type: TB, handler: HB): void;
function func(type: TC, handler: HC): void;