gpt4 book ai didi

TypeScript - 构建 .d.ts 定义文件 - 嵌套函数。

转载 作者:行者123 更新时间:2023-12-02 04:22:36 26 4
gpt4 key购买 nike

我正在为 RiotJS 创建 TypeScript 定义。该库使用如下嵌套函数:

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()”嵌套函数的定义,并想知道是否有人对此有任何见解可以分享?

谢谢

最佳答案

这是一个使用内联类型的实现:

declare var riot: {
route: {
(callback: Function): void
parser: {
(args): any;
}
};

}

riot.route(() => null); // function
riot.route.parser(1); // function in function

我建议您将其分解为接口(interface),并根据 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;
}
};

}

关于TypeScript - 构建 .d.ts 定义文件 - 嵌套函数。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29252229/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com