mirror of https://github.com/nodejs/node.git
readline: use internal addAbortListener
PR-URL: https://github.com/nodejs/node/pull/52081 Refs: https://github.com/nodejs/node/pull/48596 Reviewed-By: Moshe Atlow <moshe@atlow.co.il> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
This commit is contained in:
parent
d89fc73d45
commit
ff93f3e1a8
|
@ -53,6 +53,7 @@ const {
|
||||||
stripVTControlCharacters,
|
stripVTControlCharacters,
|
||||||
} = require('internal/util/inspect');
|
} = require('internal/util/inspect');
|
||||||
const EventEmitter = require('events');
|
const EventEmitter = require('events');
|
||||||
|
const { addAbortListener } = require('internal/events/abort_listener');
|
||||||
const {
|
const {
|
||||||
charLengthAt,
|
charLengthAt,
|
||||||
charLengthLeft,
|
charLengthLeft,
|
||||||
|
@ -326,7 +327,7 @@ function InterfaceConstructor(input, output, completer, terminal) {
|
||||||
if (signal.aborted) {
|
if (signal.aborted) {
|
||||||
process.nextTick(onAborted);
|
process.nextTick(onAborted);
|
||||||
} else {
|
} else {
|
||||||
const disposable = EventEmitter.addAbortListener(signal, onAborted);
|
const disposable = addAbortListener(signal, onAborted);
|
||||||
self.once('close', disposable[SymbolDispose]);
|
self.once('close', disposable[SymbolDispose]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -145,7 +145,7 @@ Interface.prototype.question = function question(query, options, cb) {
|
||||||
const onAbort = () => {
|
const onAbort = () => {
|
||||||
this[kQuestionCancel]();
|
this[kQuestionCancel]();
|
||||||
};
|
};
|
||||||
addAbortListener ??= require('events').addAbortListener;
|
addAbortListener ??= require('internal/events/abort_listener').addAbortListener;
|
||||||
const disposable = addAbortListener(options.signal, onAbort);
|
const disposable = addAbortListener(options.signal, onAbort);
|
||||||
const originalCb = cb;
|
const originalCb = cb;
|
||||||
cb = typeof cb === 'function' ? (answer) => {
|
cb = typeof cb === 'function' ? (answer) => {
|
||||||
|
@ -175,7 +175,7 @@ Interface.prototype.question[promisify.custom] = function question(query, option
|
||||||
const onAbort = () => {
|
const onAbort = () => {
|
||||||
reject(new AbortError(undefined, { cause: options.signal.reason }));
|
reject(new AbortError(undefined, { cause: options.signal.reason }));
|
||||||
};
|
};
|
||||||
addAbortListener ??= require('events').addAbortListener;
|
addAbortListener ??= require('internal/events/abort_listener').addAbortListener;
|
||||||
const disposable = addAbortListener(options.signal, onAbort);
|
const disposable = addAbortListener(options.signal, onAbort);
|
||||||
cb = (answer) => {
|
cb = (answer) => {
|
||||||
disposable[SymbolDispose]();
|
disposable[SymbolDispose]();
|
||||||
|
|
|
@ -45,7 +45,7 @@ class Interface extends _Interface {
|
||||||
this[kQuestionCancel]();
|
this[kQuestionCancel]();
|
||||||
reject(new AbortError(undefined, { cause: options.signal.reason }));
|
reject(new AbortError(undefined, { cause: options.signal.reason }));
|
||||||
};
|
};
|
||||||
addAbortListener ??= require('events').addAbortListener;
|
addAbortListener ??= require('internal/events/abort_listener').addAbortListener;
|
||||||
const disposable = addAbortListener(options.signal, onAbort);
|
const disposable = addAbortListener(options.signal, onAbort);
|
||||||
|
|
||||||
cb = (answer) => {
|
cb = (answer) => {
|
||||||
|
|
Loading…
Reference in New Issue