in src/azService.ts [94:116]
private async send<T, R>(data: T, onCancel?: (handle: () => void) => void): Promise<R> {
const process = await this.getProcess();
return new Promise<R>((resolve, reject) => {
if (onCancel) {
onCancel(() => reject('canceled'));
}
const sequence = this.nextSequenceNumber++;
this.listeners[sequence] = (err, response) => {
if (err) {
reject(err);
} else {
try {
resolve(response!.data);
} catch (err) {
reject(err);
}
}
};
const request: Message<T> = { sequence, data };
const str = JSON.stringify(request);
process.stdin.write(str + '\n', 'utf8');
});
}