Je travaille sur un petit projet en TypeScript avec tsc -v 2.4.2
et Node v6.10.3. Je voudrais capturer des touches dans la CLI, donc j'ai essayé de import * as readline from 'readline'
et ensuite utiliser readline.emitKeyPressEvents(process.stdin)
, mais il se plaint que the property emitKeyPressEvents is not found on typeof readline
.TypeScript + propriété NodeJS readline manquante
J'ai également fait npm install --save @types/node
.
est ici un M (N) WE:
import * as readline from "readline";
import {SIGINT} from "constants";
export class InputManager
{
private _currentStates: Array<IKeyEntity>;
private _oldStates: Array<IKeyEntity>;
public constructor()
{
// Throws error, won't compile
readline.emitKeyPressEvents(process.stdin);
}
public handleInput()
{
if (process.stdin.isTTY)
process.stdin.setRawMode(true);
process.stdin.on('keypress', (str: string, key: any) => {
process.stdout.write('Handling keypress ['+str+']');
if (key && key.ctrl && (key.name == 'c' || key.name == 'l'))
{
process.kill(process.pid, SIGINT);
}
});
}
}
Il a fallu un peu plus long que d'habitude, mais '@ types/node @ 8.0.36', publié aujourd'hui, inclut' emitKeypressEvents'. – Oblosys