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:
atlowChemi 2024-03-14 10:55:07 +02:00 committed by Node.js GitHub Bot
parent d89fc73d45
commit ff93f3e1a8
3 changed files with 5 additions and 4 deletions

View File

@ -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]);
} }
} }

View File

@ -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]();

View File

@ -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) => {