Merge pull request #15120 from sciolizer/master

[node] AsyncCompleter for readline
This commit is contained in:
Paul van Brenk
2017-03-22 16:14:24 -07:00
committed by GitHub
2 changed files with 10 additions and 6 deletions
+4 -6
View File
@@ -1546,22 +1546,20 @@ declare module "readline" {
prependOnceListener(event: "SIGTSTP", listener: () => void): this;
}
export interface Completer {
(line: string): CompleterResult;
(line: string, callback: (err: any, result: CompleterResult) => void): any;
}
type Completer = (line: string) => CompleterResult;
type AsyncCompleter = (line: string, callback: (err: any, result: CompleterResult) => void) => any;
export type CompleterResult = [string[], string];
export interface ReadLineOptions {
input: NodeJS.ReadableStream;
output?: NodeJS.WritableStream;
completer?: Completer;
completer?: Completer | AsyncCompleter;
terminal?: boolean;
historySize?: number;
}
export function createInterface(input: NodeJS.ReadableStream, output?: NodeJS.WritableStream, completer?: Completer, terminal?: boolean): ReadLine;
export function createInterface(input: NodeJS.ReadableStream, output?: NodeJS.WritableStream, completer?: Completer | AsyncCompleter, terminal?: boolean): ReadLine;
export function createInterface(options: ReadLineOptions): ReadLine;
export function cursorTo(stream: NodeJS.WritableStream, x: number, y: number): void;
+6
View File
@@ -1265,6 +1265,12 @@ namespace readline_tests {
return [['test'], 'test'];
}
});
result = readline.createInterface({
input: input,
completer: function(str: string, callback: (err: any, result: readline.CompleterResult) => void): any {
callback(null, [['test'], 'test']);
}
});
}
{