我正在为RiotJS创建TypeScript定义。这个lib使用嵌套函数,如:
riot.route( args ); // function
riot.route.parser( args ); // function in function
以下是我到目前为止的摘录:
declare module riot
{
export function route( callback : Function ) : void
export function route( to : string ) : void
}
我不知道如何构建“riot.route.parser()”嵌套函数的定义,并想知道是否有人有任何见解可以分享这个?
谢谢
答案 0 :(得分:3)
以下是使用内联类型的实现:
declare var riot: {
route: {
(callback: Function): void
parser: {
(args): any;
}
};
}
riot.route(() => null); // function
riot.route.parser(1); // function in function
我建议你把它分解成接口,根据a命名它们。)无论是目的还是b。)实际文档如何调用它们。
让你入门的一个例子:
interface Riot {
route: {
(callback: Function): void
parser: {
(args): any;
}
};
}
declare var riot:Riot;
riot.route(() => null); // function
riot.route.parser(1); // function in function
对于函数重载,返回类型/参数个数不变,我建议使用联合类型:
interface Riot {
route: {
(toOrCallback: string|Function): void
(callback: Function): void
parser: {
(args): any;
}
};
}