我有一个库,我添加了typescript定义类型,我正在测试它是否正确。我有两个功能:
set_prompt
和
get_prompt
第一个函数接受字符串和函数,我想使用
获取\u提示
作为函数或字符串:
var fn: (cb: (prompt: string) => void) => void = term.get_prompt();
var prompt: string = term.get_prompt();
它在第二个代码上抛出错误
我的d.ts文件的代码如下:
declare namespace JQueryTerminal {
type setStringFunction = (value: string) => void;
type ExtendedPrompt = ((this: JQueryTerminal, setPrompt: setStringFunction) => (void | PromiseLike<string>));
}
interface JQueryTerminal<TElement = HTMLElement> extends JQuery<TElement> {
set_prompt(prompt: JQueryTerminal.ExtendedPrompt | string): JQueryTerminal;
get_prompt(): JQueryTerminal.ExtendedPrompt;
get_prompt(): string;
}
| string
结束时
ExtendedPrompt
是否可以将函数的返回值用于两种不同的类型?
我试过使用泛型:
get_prompt<T = string>(): T;
但它适用于任何类型,是否可以将类型限制为string和
JQueryTerminal.ExtendedPrompt
?