errors, readline: migrate to use internal/errors.js
PR-URL: https://github.com/nodejs/node/pull/11390 Ref: https://github.com/nodejs/node/issues/11273 Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
This commit is contained in:
parent
224dbb1233
commit
7f3f72c19b
@ -594,6 +594,12 @@ an argument of the wrong type has been passed to a Node.js API.
|
|||||||
The `'ERR_INVALID_CALLBACK'` error code is used generically to identify that
|
The `'ERR_INVALID_CALLBACK'` error code is used generically to identify that
|
||||||
a callback function is required and has not been provided to a Node.js API.
|
a callback function is required and has not been provided to a Node.js API.
|
||||||
|
|
||||||
|
<a id="ERR_INVALID_CURSOR_POS"></a>
|
||||||
|
### ERR_INVALID_CURSOR_POS
|
||||||
|
|
||||||
|
The `'ERR_INVALID_CURSOR_POS'` is thrown specifically when a cursor on a given
|
||||||
|
stream is attempted to move to a specified row without a specified column.
|
||||||
|
|
||||||
<a id="ERR_INVALID_FILE_URL_HOST"></a>
|
<a id="ERR_INVALID_FILE_URL_HOST"></a>
|
||||||
### ERR_INVALID_FILE_URL_HOST
|
### ERR_INVALID_FILE_URL_HOST
|
||||||
|
|
||||||
|
@ -124,6 +124,8 @@ E('ERR_INDEX_OUT_OF_RANGE', 'Index out of range');
|
|||||||
E('ERR_INVALID_ARG_TYPE', invalidArgType);
|
E('ERR_INVALID_ARG_TYPE', invalidArgType);
|
||||||
E('ERR_INVALID_CALLBACK', 'callback must be a function');
|
E('ERR_INVALID_CALLBACK', 'callback must be a function');
|
||||||
E('ERR_INVALID_FD', (fd) => `"fd" must be a positive integer: ${fd}`);
|
E('ERR_INVALID_FD', (fd) => `"fd" must be a positive integer: ${fd}`);
|
||||||
|
E('ERR_INVALID_CURSOR_POS',
|
||||||
|
'Cannot set cursor row without setting its column');
|
||||||
E('ERR_INVALID_FILE_URL_HOST', 'File URL host %s');
|
E('ERR_INVALID_FILE_URL_HOST', 'File URL host %s');
|
||||||
E('ERR_INVALID_FILE_URL_PATH', 'File URL path %s');
|
E('ERR_INVALID_FILE_URL_PATH', 'File URL path %s');
|
||||||
E('ERR_INVALID_HANDLE_TYPE', 'This handle type cannot be sent');
|
E('ERR_INVALID_HANDLE_TYPE', 'This handle type cannot be sent');
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
const errors = require('internal/errors');
|
||||||
const { debug, inherits } = require('util');
|
const { debug, inherits } = require('util');
|
||||||
const Buffer = require('buffer').Buffer;
|
const Buffer = require('buffer').Buffer;
|
||||||
const EventEmitter = require('events');
|
const EventEmitter = require('events');
|
||||||
@ -95,7 +96,7 @@ function Interface(input, output, completer, terminal) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (completer && typeof completer !== 'function') {
|
if (completer && typeof completer !== 'function') {
|
||||||
throw new TypeError('Argument "completer" must be a function');
|
throw new errors.TypeError('ERR_INVALID_OPT_VALUE', 'completer', completer);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (historySize === undefined) {
|
if (historySize === undefined) {
|
||||||
@ -105,7 +106,11 @@ function Interface(input, output, completer, terminal) {
|
|||||||
if (typeof historySize !== 'number' ||
|
if (typeof historySize !== 'number' ||
|
||||||
isNaN(historySize) ||
|
isNaN(historySize) ||
|
||||||
historySize < 0) {
|
historySize < 0) {
|
||||||
throw new TypeError('Argument "historySize" must be a positive number');
|
throw new errors.RangeError(
|
||||||
|
'ERR_INVALID_OPT_VALUE',
|
||||||
|
'historySize',
|
||||||
|
historySize
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// backwards compat; check the isTTY prop of the output stream
|
// backwards compat; check the isTTY prop of the output stream
|
||||||
@ -281,7 +286,12 @@ Interface.prototype._onLine = function(line) {
|
|||||||
|
|
||||||
Interface.prototype._writeToOutput = function _writeToOutput(stringToWrite) {
|
Interface.prototype._writeToOutput = function _writeToOutput(stringToWrite) {
|
||||||
if (typeof stringToWrite !== 'string')
|
if (typeof stringToWrite !== 'string')
|
||||||
throw new TypeError('"stringToWrite" argument must be a string');
|
throw new errors.TypeError(
|
||||||
|
'ERR_INVALID_ARG_TYPE',
|
||||||
|
'stringToWrite',
|
||||||
|
'string',
|
||||||
|
stringToWrite
|
||||||
|
);
|
||||||
|
|
||||||
if (this.output !== null && this.output !== undefined)
|
if (this.output !== null && this.output !== undefined)
|
||||||
this.output.write(stringToWrite);
|
this.output.write(stringToWrite);
|
||||||
@ -1053,7 +1063,7 @@ function cursorTo(stream, x, y) {
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
if (typeof x !== 'number')
|
if (typeof x !== 'number')
|
||||||
throw new Error('Can\'t set cursor row without also setting it\'s column');
|
throw new errors.Error('ERR_INVALID_CURSOR_POS');
|
||||||
|
|
||||||
if (typeof y !== 'number') {
|
if (typeof y !== 'number') {
|
||||||
stream.write(CSI`${x + 1}G`);
|
stream.write(CSI`${x + 1}G`);
|
||||||
|
@ -77,7 +77,8 @@ assert.throws(
|
|||||||
() => readline.cursorTo(writable, 'a', 1),
|
() => readline.cursorTo(writable, 'a', 1),
|
||||||
common.expectsError({
|
common.expectsError({
|
||||||
type: Error,
|
type: Error,
|
||||||
message: /^Can't set cursor row without also setting it's column$/
|
code: 'ERR_INVALID_CURSOR_POS',
|
||||||
|
message: 'Cannot set cursor row without setting its column'
|
||||||
}));
|
}));
|
||||||
assert.strictEqual(writable.data, '');
|
assert.strictEqual(writable.data, '');
|
||||||
|
|
||||||
|
@ -315,14 +315,10 @@ function isWarned(emitter) {
|
|||||||
input: fi,
|
input: fi,
|
||||||
completer: 'string is not valid'
|
completer: 'string is not valid'
|
||||||
});
|
});
|
||||||
}, function(err) {
|
}, common.expectsError({
|
||||||
if (err instanceof TypeError) {
|
type: TypeError,
|
||||||
if (/Argument "completer" must be a function/.test(err)) {
|
code: 'ERR_INVALID_OPT_VALUE'
|
||||||
return true;
|
}));
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
|
|
||||||
// duplicate lines are removed from history when
|
// duplicate lines are removed from history when
|
||||||
// `options.removeHistoryDuplicates` is `true`
|
// `options.removeHistoryDuplicates` is `true`
|
||||||
|
Loading…
x
Reference in New Issue
Block a user