private async send()

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');
        });
    }