mirror of
https://github.com/denoland/deno.git
synced 2024-11-23 15:16:54 -05:00
2270 lines
61 KiB
TypeScript
2270 lines
61 KiB
TypeScript
// Copyright Node.js contributors. All rights reserved. MIT License.
|
|
/************ NOT IMPLEMENTED
|
|
* ERR_INVALID_ARG_VALUE
|
|
* ERR_INVALID_MODULE_SPECIFIER
|
|
* ERR_INVALID_PACKAGE_TARGET
|
|
* ERR_INVALID_URL_SCHEME
|
|
* ERR_MANIFEST_ASSERT_INTEGRITY
|
|
* ERR_MODULE_NOT_FOUND
|
|
* ERR_PACKAGE_PATH_NOT_EXPORTED
|
|
* ERR_QUICSESSION_VERSION_NEGOTIATION
|
|
* ERR_REQUIRE_ESM
|
|
* ERR_SOCKET_BAD_PORT
|
|
* ERR_TLS_CERT_ALTNAME_INVALID
|
|
* ERR_UNHANDLED_ERROR
|
|
* ERR_WORKER_INVALID_EXEC_ARGV
|
|
* ERR_WORKER_PATH
|
|
* ERR_QUIC_ERROR
|
|
* ERR_SOCKET_BUFFER_SIZE //System error, shouldn't ever happen inside Deno
|
|
* ERR_SYSTEM_ERROR //System error, shouldn't ever happen inside Deno
|
|
* ERR_TTY_INIT_FAILED //System error, shouldn't ever happen inside Deno
|
|
* ERR_INVALID_PACKAGE_CONFIG // package.json stuff, probably useless
|
|
*************/
|
|
|
|
import { unreachable } from "../testing/asserts.ts";
|
|
|
|
/**
|
|
* All error instances in Node have additional methods and properties
|
|
* This export class is meant to be extended by these instances abstracting native JS error instances
|
|
*/
|
|
export class NodeErrorAbstraction extends Error {
|
|
code: string;
|
|
|
|
constructor(name: string, code: string, message: string) {
|
|
super(message);
|
|
this.code = code;
|
|
this.name = name;
|
|
//This number changes dependending on the name of this class
|
|
//20 characters as of now
|
|
this.stack = this.stack && `${name} [${this.code}]${this.stack.slice(20)}`;
|
|
}
|
|
|
|
toString() {
|
|
return `${this.name} [${this.code}]: ${this.message}`;
|
|
}
|
|
}
|
|
|
|
export class NodeError extends NodeErrorAbstraction {
|
|
constructor(code: string, message: string) {
|
|
super(Error.prototype.name, code, message);
|
|
}
|
|
}
|
|
|
|
export class NodeSyntaxError extends NodeErrorAbstraction
|
|
implements SyntaxError {
|
|
constructor(code: string, message: string) {
|
|
super(SyntaxError.prototype.name, code, message);
|
|
Object.setPrototypeOf(this, SyntaxError.prototype);
|
|
}
|
|
}
|
|
|
|
export class NodeRangeError extends NodeErrorAbstraction {
|
|
constructor(code: string, message: string) {
|
|
super(RangeError.prototype.name, code, message);
|
|
Object.setPrototypeOf(this, RangeError.prototype);
|
|
}
|
|
}
|
|
|
|
export class NodeTypeError extends NodeErrorAbstraction implements TypeError {
|
|
constructor(code: string, message: string) {
|
|
super(TypeError.prototype.name, code, message);
|
|
Object.setPrototypeOf(this, TypeError.prototype);
|
|
}
|
|
}
|
|
|
|
export class NodeURIError extends NodeErrorAbstraction implements URIError {
|
|
constructor(code: string, message: string) {
|
|
super(URIError.prototype.name, code, message);
|
|
Object.setPrototypeOf(this, URIError.prototype);
|
|
}
|
|
}
|
|
|
|
export class ERR_INVALID_ARG_TYPE extends NodeTypeError {
|
|
constructor(a1: string, a2: string | string[], a3: unknown) {
|
|
super(
|
|
"ERR_INVALID_ARG_TYPE",
|
|
`The "${a1}" argument must be of type ${
|
|
typeof a2 === "string"
|
|
? a2.toLocaleLowerCase()
|
|
: a2.map((x) => x.toLocaleLowerCase()).join(", ")
|
|
}. Received ${typeof a3} (${a3})`,
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_OUT_OF_RANGE extends RangeError {
|
|
code = "ERR_OUT_OF_RANGE";
|
|
|
|
constructor(str: string, range: string, received: unknown) {
|
|
super(
|
|
`The value of "${str}" is out of range. It must be ${range}. Received ${received}`,
|
|
);
|
|
|
|
const { name } = this;
|
|
// Add the error code to the name to include it in the stack trace.
|
|
this.name = `${name} [${this.code}]`;
|
|
// Access the stack to generate the error message including the error code from the name.
|
|
this.stack;
|
|
// Reset the name to the actual name.
|
|
this.name = name;
|
|
}
|
|
}
|
|
|
|
export class ERR_AMBIGUOUS_ARGUMENT extends NodeTypeError {
|
|
constructor(x: string, y: string) {
|
|
super("ERR_AMBIGUOUS_ARGUMENT", `The "${x}" argument is ambiguous. ${y}`);
|
|
}
|
|
}
|
|
|
|
export class ERR_ARG_NOT_ITERABLE extends NodeTypeError {
|
|
constructor(x: string) {
|
|
super("ERR_ARG_NOT_ITERABLE", `${x} must be iterable`);
|
|
}
|
|
}
|
|
|
|
export class ERR_ASSERTION extends NodeError {
|
|
constructor(x: string) {
|
|
super("ERR_ASSERTION", `${x}`);
|
|
}
|
|
}
|
|
|
|
export class ERR_ASYNC_CALLBACK extends NodeTypeError {
|
|
constructor(x: string) {
|
|
super("ERR_ASYNC_CALLBACK", `${x} must be a function`);
|
|
}
|
|
}
|
|
|
|
export class ERR_ASYNC_TYPE extends NodeTypeError {
|
|
constructor(x: string) {
|
|
super("ERR_ASYNC_TYPE", `Invalid name for async "type": ${x}`);
|
|
}
|
|
}
|
|
|
|
export class ERR_BROTLI_INVALID_PARAM extends NodeRangeError {
|
|
constructor(x: string) {
|
|
super("ERR_BROTLI_INVALID_PARAM", `${x} is not a valid Brotli parameter`);
|
|
}
|
|
}
|
|
|
|
export class ERR_BUFFER_OUT_OF_BOUNDS extends NodeRangeError {
|
|
constructor(name?: string) {
|
|
super(
|
|
"ERR_BUFFER_OUT_OF_BOUNDS",
|
|
name
|
|
? `"${name}" is outside of buffer bounds`
|
|
: "Attempt to access memory outside buffer bounds",
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_BUFFER_TOO_LARGE extends NodeRangeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_BUFFER_TOO_LARGE",
|
|
`Cannot create a Buffer larger than ${x} bytes`,
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_CANNOT_WATCH_SIGINT extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_CANNOT_WATCH_SIGINT",
|
|
"Cannot watch for SIGINT signals",
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_CHILD_CLOSED_BEFORE_REPLY extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_CHILD_CLOSED_BEFORE_REPLY",
|
|
"Child closed before reply received",
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_CHILD_PROCESS_IPC_REQUIRED extends NodeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_CHILD_PROCESS_IPC_REQUIRED",
|
|
`Forked processes must have an IPC channel, missing value 'ipc' in ${x}`,
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_CHILD_PROCESS_STDIO_MAXBUFFER extends NodeRangeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_CHILD_PROCESS_STDIO_MAXBUFFER",
|
|
`${x} maxBuffer length exceeded`,
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_CONSOLE_WRITABLE_STREAM extends NodeTypeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_CONSOLE_WRITABLE_STREAM",
|
|
`Console expects a writable stream instance for ${x}`,
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_CONTEXT_NOT_INITIALIZED extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_CONTEXT_NOT_INITIALIZED",
|
|
"context used is not initialized",
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_CPU_USAGE extends NodeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_CPU_USAGE",
|
|
`Unable to obtain cpu usage ${x}`,
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTED extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_CRYPTO_CUSTOM_ENGINE_NOT_SUPPORTED",
|
|
"Custom engines not supported by this OpenSSL",
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_CRYPTO_ECDH_INVALID_FORMAT extends NodeTypeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_CRYPTO_ECDH_INVALID_FORMAT",
|
|
`Invalid ECDH format: ${x}`,
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_CRYPTO_ECDH_INVALID_PUBLIC_KEY extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_CRYPTO_ECDH_INVALID_PUBLIC_KEY",
|
|
"Public key is not valid for specified curve",
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_CRYPTO_ENGINE_UNKNOWN extends NodeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_CRYPTO_ENGINE_UNKNOWN",
|
|
`Engine "${x}" was not found`,
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_CRYPTO_FIPS_FORCED extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_CRYPTO_FIPS_FORCED",
|
|
"Cannot set FIPS mode, it was forced with --force-fips at startup.",
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_CRYPTO_FIPS_UNAVAILABLE extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_CRYPTO_FIPS_UNAVAILABLE",
|
|
"Cannot set FIPS mode in a non-FIPS build.",
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_CRYPTO_HASH_FINALIZED extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_CRYPTO_HASH_FINALIZED",
|
|
"Digest already called",
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_CRYPTO_HASH_UPDATE_FAILED extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_CRYPTO_HASH_UPDATE_FAILED",
|
|
"Hash update failed",
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_CRYPTO_INCOMPATIBLE_KEY extends NodeError {
|
|
constructor(x: string, y: string) {
|
|
super(
|
|
"ERR_CRYPTO_INCOMPATIBLE_KEY",
|
|
`Incompatible ${x}: ${y}`,
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_CRYPTO_INCOMPATIBLE_KEY_OPTIONS extends NodeError {
|
|
constructor(x: string, y: string) {
|
|
super(
|
|
"ERR_CRYPTO_INCOMPATIBLE_KEY_OPTIONS",
|
|
`The selected key encoding ${x} ${y}.`,
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_CRYPTO_INVALID_DIGEST extends NodeTypeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_CRYPTO_INVALID_DIGEST",
|
|
`Invalid digest: ${x}`,
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE extends NodeTypeError {
|
|
constructor(x: string, y: string) {
|
|
super(
|
|
"ERR_CRYPTO_INVALID_KEY_OBJECT_TYPE",
|
|
`Invalid key object type ${x}, expected ${y}.`,
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_CRYPTO_INVALID_STATE extends NodeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_CRYPTO_INVALID_STATE",
|
|
`Invalid state for operation ${x}`,
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_CRYPTO_PBKDF2_ERROR extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_CRYPTO_PBKDF2_ERROR",
|
|
"PBKDF2 error",
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_CRYPTO_SCRYPT_INVALID_PARAMETER extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_CRYPTO_SCRYPT_INVALID_PARAMETER",
|
|
"Invalid scrypt parameter",
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_CRYPTO_SCRYPT_NOT_SUPPORTED extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_CRYPTO_SCRYPT_NOT_SUPPORTED",
|
|
"Scrypt algorithm not supported",
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_CRYPTO_SIGN_KEY_REQUIRED extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_CRYPTO_SIGN_KEY_REQUIRED",
|
|
"No key provided to sign",
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_DIR_CLOSED extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_DIR_CLOSED",
|
|
"Directory handle was closed",
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_DIR_CONCURRENT_OPERATION extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_DIR_CONCURRENT_OPERATION",
|
|
"Cannot do synchronous work on directory handle with concurrent asynchronous operations",
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_DNS_SET_SERVERS_FAILED extends NodeError {
|
|
constructor(x: string, y: string) {
|
|
super(
|
|
"ERR_DNS_SET_SERVERS_FAILED",
|
|
`c-ares failed to set servers: "${x}" [${y}]`,
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_DOMAIN_CALLBACK_NOT_AVAILABLE extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_DOMAIN_CALLBACK_NOT_AVAILABLE",
|
|
"A callback was registered through " +
|
|
"process.setUncaughtExceptionCaptureCallback(), which is mutually " +
|
|
"exclusive with using the `domain` module",
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_DOMAIN_CANNOT_SET_UNCAUGHT_EXCEPTION_CAPTURE
|
|
extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_DOMAIN_CANNOT_SET_UNCAUGHT_EXCEPTION_CAPTURE",
|
|
"The `domain` module is in use, which is mutually exclusive with calling " +
|
|
"process.setUncaughtExceptionCaptureCallback()",
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_ENCODING_INVALID_ENCODED_DATA extends NodeErrorAbstraction
|
|
implements TypeError {
|
|
errno: number;
|
|
constructor(encoding: string, ret: number) {
|
|
super(
|
|
TypeError.prototype.name,
|
|
"ERR_ENCODING_INVALID_ENCODED_DATA",
|
|
`The encoded data was not valid for encoding ${encoding}`,
|
|
);
|
|
Object.setPrototypeOf(this, TypeError.prototype);
|
|
|
|
this.errno = ret;
|
|
}
|
|
}
|
|
|
|
// In Node these values are coming from libuv:
|
|
// Ref: https://github.com/libuv/libuv/blob/v1.x/include/uv/errno.h
|
|
// Ref: https://github.com/nodejs/node/blob/524123fbf064ff64bb6fcd83485cfc27db932f68/lib/internal/errors.js#L383
|
|
// Since there is no easy way to port code from libuv and these maps are
|
|
// changing very rarely, we simply extract them from Node and store here.
|
|
|
|
// Note
|
|
// Run the following to get the map:
|
|
// $ node -e "console.log(process.binding('uv').getErrorMap())"
|
|
// This setup automatically exports maps from both "win", "linux" & darwin:
|
|
// https://github.com/schwarzkopfb/node_errno_map
|
|
|
|
type ErrMapData = Array<[number, [string, string]]>;
|
|
|
|
const windows: ErrMapData = [
|
|
[-4093, ["E2BIG", "argument list too long"]],
|
|
[-4092, ["EACCES", "permission denied"]],
|
|
[-4091, ["EADDRINUSE", "address already in use"]],
|
|
[-4090, ["EADDRNOTAVAIL", "address not available"]],
|
|
[-4089, ["EAFNOSUPPORT", "address family not supported"]],
|
|
[-4088, ["EAGAIN", "resource temporarily unavailable"]],
|
|
[-3000, ["EAI_ADDRFAMILY", "address family not supported"]],
|
|
[-3001, ["EAI_AGAIN", "temporary failure"]],
|
|
[-3002, ["EAI_BADFLAGS", "bad ai_flags value"]],
|
|
[-3013, ["EAI_BADHINTS", "invalid value for hints"]],
|
|
[-3003, ["EAI_CANCELED", "request canceled"]],
|
|
[-3004, ["EAI_FAIL", "permanent failure"]],
|
|
[-3005, ["EAI_FAMILY", "ai_family not supported"]],
|
|
[-3006, ["EAI_MEMORY", "out of memory"]],
|
|
[-3007, ["EAI_NODATA", "no address"]],
|
|
[-3008, ["EAI_NONAME", "unknown node or service"]],
|
|
[-3009, ["EAI_OVERFLOW", "argument buffer overflow"]],
|
|
[-3014, ["EAI_PROTOCOL", "resolved protocol is unknown"]],
|
|
[-3010, ["EAI_SERVICE", "service not available for socket type"]],
|
|
[-3011, ["EAI_SOCKTYPE", "socket type not supported"]],
|
|
[-4084, ["EALREADY", "connection already in progress"]],
|
|
[-4083, ["EBADF", "bad file descriptor"]],
|
|
[-4082, ["EBUSY", "resource busy or locked"]],
|
|
[-4081, ["ECANCELED", "operation canceled"]],
|
|
[-4080, ["ECHARSET", "invalid Unicode character"]],
|
|
[-4079, ["ECONNABORTED", "software caused connection abort"]],
|
|
[-4078, ["ECONNREFUSED", "connection refused"]],
|
|
[-4077, ["ECONNRESET", "connection reset by peer"]],
|
|
[-4076, ["EDESTADDRREQ", "destination address required"]],
|
|
[-4075, ["EEXIST", "file already exists"]],
|
|
[-4074, ["EFAULT", "bad address in system call argument"]],
|
|
[-4036, ["EFBIG", "file too large"]],
|
|
[-4073, ["EHOSTUNREACH", "host is unreachable"]],
|
|
[-4072, ["EINTR", "interrupted system call"]],
|
|
[-4071, ["EINVAL", "invalid argument"]],
|
|
[-4070, ["EIO", "i/o error"]],
|
|
[-4069, ["EISCONN", "socket is already connected"]],
|
|
[-4068, ["EISDIR", "illegal operation on a directory"]],
|
|
[-4067, ["ELOOP", "too many symbolic links encountered"]],
|
|
[-4066, ["EMFILE", "too many open files"]],
|
|
[-4065, ["EMSGSIZE", "message too long"]],
|
|
[-4064, ["ENAMETOOLONG", "name too long"]],
|
|
[-4063, ["ENETDOWN", "network is down"]],
|
|
[-4062, ["ENETUNREACH", "network is unreachable"]],
|
|
[-4061, ["ENFILE", "file table overflow"]],
|
|
[-4060, ["ENOBUFS", "no buffer space available"]],
|
|
[-4059, ["ENODEV", "no such device"]],
|
|
[-4058, ["ENOENT", "no such file or directory"]],
|
|
[-4057, ["ENOMEM", "not enough memory"]],
|
|
[-4056, ["ENONET", "machine is not on the network"]],
|
|
[-4035, ["ENOPROTOOPT", "protocol not available"]],
|
|
[-4055, ["ENOSPC", "no space left on device"]],
|
|
[-4054, ["ENOSYS", "function not implemented"]],
|
|
[-4053, ["ENOTCONN", "socket is not connected"]],
|
|
[-4052, ["ENOTDIR", "not a directory"]],
|
|
[-4051, ["ENOTEMPTY", "directory not empty"]],
|
|
[-4050, ["ENOTSOCK", "socket operation on non-socket"]],
|
|
[-4049, ["ENOTSUP", "operation not supported on socket"]],
|
|
[-4048, ["EPERM", "operation not permitted"]],
|
|
[-4047, ["EPIPE", "broken pipe"]],
|
|
[-4046, ["EPROTO", "protocol error"]],
|
|
[-4045, ["EPROTONOSUPPORT", "protocol not supported"]],
|
|
[-4044, ["EPROTOTYPE", "protocol wrong type for socket"]],
|
|
[-4034, ["ERANGE", "result too large"]],
|
|
[-4043, ["EROFS", "read-only file system"]],
|
|
[-4042, ["ESHUTDOWN", "cannot send after transport endpoint shutdown"]],
|
|
[-4041, ["ESPIPE", "invalid seek"]],
|
|
[-4040, ["ESRCH", "no such process"]],
|
|
[-4039, ["ETIMEDOUT", "connection timed out"]],
|
|
[-4038, ["ETXTBSY", "text file is busy"]],
|
|
[-4037, ["EXDEV", "cross-device link not permitted"]],
|
|
[-4094, ["UNKNOWN", "unknown error"]],
|
|
[-4095, ["EOF", "end of file"]],
|
|
[-4033, ["ENXIO", "no such device or address"]],
|
|
[-4032, ["EMLINK", "too many links"]],
|
|
[-4031, ["EHOSTDOWN", "host is down"]],
|
|
[-4030, ["EREMOTEIO", "remote I/O error"]],
|
|
[-4029, ["ENOTTY", "inappropriate ioctl for device"]],
|
|
[-4028, ["EFTYPE", "inappropriate file type or format"]],
|
|
[-4027, ["EILSEQ", "illegal byte sequence"]],
|
|
];
|
|
|
|
const darwin: ErrMapData = [
|
|
[-7, ["E2BIG", "argument list too long"]],
|
|
[-13, ["EACCES", "permission denied"]],
|
|
[-48, ["EADDRINUSE", "address already in use"]],
|
|
[-49, ["EADDRNOTAVAIL", "address not available"]],
|
|
[-47, ["EAFNOSUPPORT", "address family not supported"]],
|
|
[-35, ["EAGAIN", "resource temporarily unavailable"]],
|
|
[-3000, ["EAI_ADDRFAMILY", "address family not supported"]],
|
|
[-3001, ["EAI_AGAIN", "temporary failure"]],
|
|
[-3002, ["EAI_BADFLAGS", "bad ai_flags value"]],
|
|
[-3013, ["EAI_BADHINTS", "invalid value for hints"]],
|
|
[-3003, ["EAI_CANCELED", "request canceled"]],
|
|
[-3004, ["EAI_FAIL", "permanent failure"]],
|
|
[-3005, ["EAI_FAMILY", "ai_family not supported"]],
|
|
[-3006, ["EAI_MEMORY", "out of memory"]],
|
|
[-3007, ["EAI_NODATA", "no address"]],
|
|
[-3008, ["EAI_NONAME", "unknown node or service"]],
|
|
[-3009, ["EAI_OVERFLOW", "argument buffer overflow"]],
|
|
[-3014, ["EAI_PROTOCOL", "resolved protocol is unknown"]],
|
|
[-3010, ["EAI_SERVICE", "service not available for socket type"]],
|
|
[-3011, ["EAI_SOCKTYPE", "socket type not supported"]],
|
|
[-37, ["EALREADY", "connection already in progress"]],
|
|
[-9, ["EBADF", "bad file descriptor"]],
|
|
[-16, ["EBUSY", "resource busy or locked"]],
|
|
[-89, ["ECANCELED", "operation canceled"]],
|
|
[-4080, ["ECHARSET", "invalid Unicode character"]],
|
|
[-53, ["ECONNABORTED", "software caused connection abort"]],
|
|
[-61, ["ECONNREFUSED", "connection refused"]],
|
|
[-54, ["ECONNRESET", "connection reset by peer"]],
|
|
[-39, ["EDESTADDRREQ", "destination address required"]],
|
|
[-17, ["EEXIST", "file already exists"]],
|
|
[-14, ["EFAULT", "bad address in system call argument"]],
|
|
[-27, ["EFBIG", "file too large"]],
|
|
[-65, ["EHOSTUNREACH", "host is unreachable"]],
|
|
[-4, ["EINTR", "interrupted system call"]],
|
|
[-22, ["EINVAL", "invalid argument"]],
|
|
[-5, ["EIO", "i/o error"]],
|
|
[-56, ["EISCONN", "socket is already connected"]],
|
|
[-21, ["EISDIR", "illegal operation on a directory"]],
|
|
[-62, ["ELOOP", "too many symbolic links encountered"]],
|
|
[-24, ["EMFILE", "too many open files"]],
|
|
[-40, ["EMSGSIZE", "message too long"]],
|
|
[-63, ["ENAMETOOLONG", "name too long"]],
|
|
[-50, ["ENETDOWN", "network is down"]],
|
|
[-51, ["ENETUNREACH", "network is unreachable"]],
|
|
[-23, ["ENFILE", "file table overflow"]],
|
|
[-55, ["ENOBUFS", "no buffer space available"]],
|
|
[-19, ["ENODEV", "no such device"]],
|
|
[-2, ["ENOENT", "no such file or directory"]],
|
|
[-12, ["ENOMEM", "not enough memory"]],
|
|
[-4056, ["ENONET", "machine is not on the network"]],
|
|
[-42, ["ENOPROTOOPT", "protocol not available"]],
|
|
[-28, ["ENOSPC", "no space left on device"]],
|
|
[-78, ["ENOSYS", "function not implemented"]],
|
|
[-57, ["ENOTCONN", "socket is not connected"]],
|
|
[-20, ["ENOTDIR", "not a directory"]],
|
|
[-66, ["ENOTEMPTY", "directory not empty"]],
|
|
[-38, ["ENOTSOCK", "socket operation on non-socket"]],
|
|
[-45, ["ENOTSUP", "operation not supported on socket"]],
|
|
[-1, ["EPERM", "operation not permitted"]],
|
|
[-32, ["EPIPE", "broken pipe"]],
|
|
[-100, ["EPROTO", "protocol error"]],
|
|
[-43, ["EPROTONOSUPPORT", "protocol not supported"]],
|
|
[-41, ["EPROTOTYPE", "protocol wrong type for socket"]],
|
|
[-34, ["ERANGE", "result too large"]],
|
|
[-30, ["EROFS", "read-only file system"]],
|
|
[-58, ["ESHUTDOWN", "cannot send after transport endpoint shutdown"]],
|
|
[-29, ["ESPIPE", "invalid seek"]],
|
|
[-3, ["ESRCH", "no such process"]],
|
|
[-60, ["ETIMEDOUT", "connection timed out"]],
|
|
[-26, ["ETXTBSY", "text file is busy"]],
|
|
[-18, ["EXDEV", "cross-device link not permitted"]],
|
|
[-4094, ["UNKNOWN", "unknown error"]],
|
|
[-4095, ["EOF", "end of file"]],
|
|
[-6, ["ENXIO", "no such device or address"]],
|
|
[-31, ["EMLINK", "too many links"]],
|
|
[-64, ["EHOSTDOWN", "host is down"]],
|
|
[-4030, ["EREMOTEIO", "remote I/O error"]],
|
|
[-25, ["ENOTTY", "inappropriate ioctl for device"]],
|
|
[-79, ["EFTYPE", "inappropriate file type or format"]],
|
|
[-92, ["EILSEQ", "illegal byte sequence"]],
|
|
];
|
|
|
|
const linux: ErrMapData = [
|
|
[-7, ["E2BIG", "argument list too long"]],
|
|
[-13, ["EACCES", "permission denied"]],
|
|
[-98, ["EADDRINUSE", "address already in use"]],
|
|
[-99, ["EADDRNOTAVAIL", "address not available"]],
|
|
[-97, ["EAFNOSUPPORT", "address family not supported"]],
|
|
[-11, ["EAGAIN", "resource temporarily unavailable"]],
|
|
[-3000, ["EAI_ADDRFAMILY", "address family not supported"]],
|
|
[-3001, ["EAI_AGAIN", "temporary failure"]],
|
|
[-3002, ["EAI_BADFLAGS", "bad ai_flags value"]],
|
|
[-3013, ["EAI_BADHINTS", "invalid value for hints"]],
|
|
[-3003, ["EAI_CANCELED", "request canceled"]],
|
|
[-3004, ["EAI_FAIL", "permanent failure"]],
|
|
[-3005, ["EAI_FAMILY", "ai_family not supported"]],
|
|
[-3006, ["EAI_MEMORY", "out of memory"]],
|
|
[-3007, ["EAI_NODATA", "no address"]],
|
|
[-3008, ["EAI_NONAME", "unknown node or service"]],
|
|
[-3009, ["EAI_OVERFLOW", "argument buffer overflow"]],
|
|
[-3014, ["EAI_PROTOCOL", "resolved protocol is unknown"]],
|
|
[-3010, ["EAI_SERVICE", "service not available for socket type"]],
|
|
[-3011, ["EAI_SOCKTYPE", "socket type not supported"]],
|
|
[-114, ["EALREADY", "connection already in progress"]],
|
|
[-9, ["EBADF", "bad file descriptor"]],
|
|
[-16, ["EBUSY", "resource busy or locked"]],
|
|
[-125, ["ECANCELED", "operation canceled"]],
|
|
[-4080, ["ECHARSET", "invalid Unicode character"]],
|
|
[-103, ["ECONNABORTED", "software caused connection abort"]],
|
|
[-111, ["ECONNREFUSED", "connection refused"]],
|
|
[-104, ["ECONNRESET", "connection reset by peer"]],
|
|
[-89, ["EDESTADDRREQ", "destination address required"]],
|
|
[-17, ["EEXIST", "file already exists"]],
|
|
[-14, ["EFAULT", "bad address in system call argument"]],
|
|
[-27, ["EFBIG", "file too large"]],
|
|
[-113, ["EHOSTUNREACH", "host is unreachable"]],
|
|
[-4, ["EINTR", "interrupted system call"]],
|
|
[-22, ["EINVAL", "invalid argument"]],
|
|
[-5, ["EIO", "i/o error"]],
|
|
[-106, ["EISCONN", "socket is already connected"]],
|
|
[-21, ["EISDIR", "illegal operation on a directory"]],
|
|
[-40, ["ELOOP", "too many symbolic links encountered"]],
|
|
[-24, ["EMFILE", "too many open files"]],
|
|
[-90, ["EMSGSIZE", "message too long"]],
|
|
[-36, ["ENAMETOOLONG", "name too long"]],
|
|
[-100, ["ENETDOWN", "network is down"]],
|
|
[-101, ["ENETUNREACH", "network is unreachable"]],
|
|
[-23, ["ENFILE", "file table overflow"]],
|
|
[-105, ["ENOBUFS", "no buffer space available"]],
|
|
[-19, ["ENODEV", "no such device"]],
|
|
[-2, ["ENOENT", "no such file or directory"]],
|
|
[-12, ["ENOMEM", "not enough memory"]],
|
|
[-64, ["ENONET", "machine is not on the network"]],
|
|
[-92, ["ENOPROTOOPT", "protocol not available"]],
|
|
[-28, ["ENOSPC", "no space left on device"]],
|
|
[-38, ["ENOSYS", "function not implemented"]],
|
|
[-107, ["ENOTCONN", "socket is not connected"]],
|
|
[-20, ["ENOTDIR", "not a directory"]],
|
|
[-39, ["ENOTEMPTY", "directory not empty"]],
|
|
[-88, ["ENOTSOCK", "socket operation on non-socket"]],
|
|
[-95, ["ENOTSUP", "operation not supported on socket"]],
|
|
[-1, ["EPERM", "operation not permitted"]],
|
|
[-32, ["EPIPE", "broken pipe"]],
|
|
[-71, ["EPROTO", "protocol error"]],
|
|
[-93, ["EPROTONOSUPPORT", "protocol not supported"]],
|
|
[-91, ["EPROTOTYPE", "protocol wrong type for socket"]],
|
|
[-34, ["ERANGE", "result too large"]],
|
|
[-30, ["EROFS", "read-only file system"]],
|
|
[-108, ["ESHUTDOWN", "cannot send after transport endpoint shutdown"]],
|
|
[-29, ["ESPIPE", "invalid seek"]],
|
|
[-3, ["ESRCH", "no such process"]],
|
|
[-110, ["ETIMEDOUT", "connection timed out"]],
|
|
[-26, ["ETXTBSY", "text file is busy"]],
|
|
[-18, ["EXDEV", "cross-device link not permitted"]],
|
|
[-4094, ["UNKNOWN", "unknown error"]],
|
|
[-4095, ["EOF", "end of file"]],
|
|
[-6, ["ENXIO", "no such device or address"]],
|
|
[-31, ["EMLINK", "too many links"]],
|
|
[-112, ["EHOSTDOWN", "host is down"]],
|
|
[-121, ["EREMOTEIO", "remote I/O error"]],
|
|
[-25, ["ENOTTY", "inappropriate ioctl for device"]],
|
|
[-4028, ["EFTYPE", "inappropriate file type or format"]],
|
|
[-84, ["EILSEQ", "illegal byte sequence"]],
|
|
];
|
|
|
|
const { os } = Deno.build;
|
|
export const errorMap = new Map<number, [string, string]>(
|
|
os === "windows"
|
|
? windows
|
|
: os === "darwin"
|
|
? darwin
|
|
: os === "linux"
|
|
? linux
|
|
: unreachable(),
|
|
);
|
|
export class ERR_ENCODING_NOT_SUPPORTED extends NodeRangeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_ENCODING_NOT_SUPPORTED",
|
|
`The "${x}" encoding is not supported`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_EVAL_ESM_CANNOT_PRINT extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_EVAL_ESM_CANNOT_PRINT",
|
|
`--print cannot be used with ESM input`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_EVENT_RECURSION extends NodeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_EVENT_RECURSION",
|
|
`The event "${x}" is already being dispatched`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_FEATURE_UNAVAILABLE_ON_PLATFORM extends NodeTypeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_FEATURE_UNAVAILABLE_ON_PLATFORM",
|
|
`The feature ${x} is unavailable on the current platform, which is being used to run Node.js`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_FS_FILE_TOO_LARGE extends NodeRangeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_FS_FILE_TOO_LARGE",
|
|
`File size (${x}) is greater than 2 GB`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_FS_INVALID_SYMLINK_TYPE extends NodeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_FS_INVALID_SYMLINK_TYPE",
|
|
`Symlink type must be one of "dir", "file", or "junction". Received "${x}"`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_ALTSVC_INVALID_ORIGIN extends NodeTypeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP2_ALTSVC_INVALID_ORIGIN",
|
|
`HTTP/2 ALTSVC frames require a valid origin`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_ALTSVC_LENGTH extends NodeTypeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP2_ALTSVC_LENGTH",
|
|
`HTTP/2 ALTSVC frames are limited to 16382 bytes`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_CONNECT_AUTHORITY extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP2_CONNECT_AUTHORITY",
|
|
`:authority header is required for CONNECT requests`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_CONNECT_PATH extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP2_CONNECT_PATH",
|
|
`The :path header is forbidden for CONNECT requests`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_CONNECT_SCHEME extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP2_CONNECT_SCHEME",
|
|
`The :scheme header is forbidden for CONNECT requests`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_GOAWAY_SESSION extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP2_GOAWAY_SESSION",
|
|
`New streams cannot be created after receiving a GOAWAY`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_HEADERS_AFTER_RESPOND extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP2_HEADERS_AFTER_RESPOND",
|
|
`Cannot specify additional headers after response initiated`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_HEADERS_SENT extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP2_HEADERS_SENT",
|
|
`Response has already been initiated.`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_HEADER_SINGLE_VALUE extends NodeTypeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_HTTP2_HEADER_SINGLE_VALUE",
|
|
`Header field "${x}" must only have a single value`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_INFO_STATUS_NOT_ALLOWED extends NodeRangeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP2_INFO_STATUS_NOT_ALLOWED",
|
|
`Informational status codes cannot be used`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_INVALID_CONNECTION_HEADERS extends NodeTypeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_HTTP2_INVALID_CONNECTION_HEADERS",
|
|
`HTTP/1 Connection specific headers are forbidden: "${x}"`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_INVALID_HEADER_VALUE extends NodeTypeError {
|
|
constructor(x: string, y: string) {
|
|
super(
|
|
"ERR_HTTP2_INVALID_HEADER_VALUE",
|
|
`Invalid value "${x}" for header "${y}"`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_INVALID_INFO_STATUS extends NodeRangeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_HTTP2_INVALID_INFO_STATUS",
|
|
`Invalid informational status code: ${x}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_INVALID_ORIGIN extends NodeTypeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP2_INVALID_ORIGIN",
|
|
`HTTP/2 ORIGIN frames require a valid origin`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_INVALID_PACKED_SETTINGS_LENGTH extends NodeRangeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP2_INVALID_PACKED_SETTINGS_LENGTH",
|
|
`Packed settings length must be a multiple of six`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_INVALID_PSEUDOHEADER extends NodeTypeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_HTTP2_INVALID_PSEUDOHEADER",
|
|
`"${x}" is an invalid pseudoheader or is used incorrectly`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_INVALID_SESSION extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP2_INVALID_SESSION",
|
|
`The session has been destroyed`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_INVALID_STREAM extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP2_INVALID_STREAM",
|
|
`The stream has been destroyed`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_MAX_PENDING_SETTINGS_ACK extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP2_MAX_PENDING_SETTINGS_ACK",
|
|
`Maximum number of pending settings acknowledgements`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_NESTED_PUSH extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP2_NESTED_PUSH",
|
|
`A push stream cannot initiate another push stream.`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_NO_SOCKET_MANIPULATION extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP2_NO_SOCKET_MANIPULATION",
|
|
`HTTP/2 sockets should not be directly manipulated (e.g. read and written)`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_ORIGIN_LENGTH extends NodeTypeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP2_ORIGIN_LENGTH",
|
|
`HTTP/2 ORIGIN frames are limited to 16382 bytes`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_OUT_OF_STREAMS extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP2_OUT_OF_STREAMS",
|
|
`No stream ID is available because maximum stream ID has been reached`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_PAYLOAD_FORBIDDEN extends NodeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_HTTP2_PAYLOAD_FORBIDDEN",
|
|
`Responses with ${x} status must not have a payload`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_PING_CANCEL extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP2_PING_CANCEL",
|
|
`HTTP2 ping cancelled`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_PING_LENGTH extends NodeRangeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP2_PING_LENGTH",
|
|
`HTTP2 ping payload must be 8 bytes`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_PSEUDOHEADER_NOT_ALLOWED extends NodeTypeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP2_PSEUDOHEADER_NOT_ALLOWED",
|
|
`Cannot set HTTP/2 pseudo-headers`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_PUSH_DISABLED extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP2_PUSH_DISABLED",
|
|
`HTTP/2 client has disabled push streams`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_SEND_FILE extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP2_SEND_FILE",
|
|
`Directories cannot be sent`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_SEND_FILE_NOSEEK extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP2_SEND_FILE_NOSEEK",
|
|
`Offset or length can only be specified for regular files`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_SESSION_ERROR extends NodeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_HTTP2_SESSION_ERROR",
|
|
`Session closed with error code ${x}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_SETTINGS_CANCEL extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP2_SETTINGS_CANCEL",
|
|
`HTTP2 session settings canceled`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_SOCKET_BOUND extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP2_SOCKET_BOUND",
|
|
`The socket is already bound to an Http2Session`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_SOCKET_UNBOUND extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP2_SOCKET_UNBOUND",
|
|
`The socket has been disconnected from the Http2Session`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_STATUS_101 extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP2_STATUS_101",
|
|
`HTTP status code 101 (Switching Protocols) is forbidden in HTTP/2`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_STATUS_INVALID extends NodeRangeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_HTTP2_STATUS_INVALID",
|
|
`Invalid status code: ${x}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_STREAM_ERROR extends NodeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_HTTP2_STREAM_ERROR",
|
|
`Stream closed with error code ${x}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_STREAM_SELF_DEPENDENCY extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP2_STREAM_SELF_DEPENDENCY",
|
|
`A stream cannot depend on itself`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_TRAILERS_ALREADY_SENT extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP2_TRAILERS_ALREADY_SENT",
|
|
`Trailing headers have already been sent`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_TRAILERS_NOT_READY extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP2_TRAILERS_NOT_READY",
|
|
`Trailing headers cannot be sent until after the wantTrailers event is emitted`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP2_UNSUPPORTED_PROTOCOL extends NodeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_HTTP2_UNSUPPORTED_PROTOCOL",
|
|
`protocol "${x}" is unsupported.`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP_HEADERS_SENT extends NodeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_HTTP_HEADERS_SENT",
|
|
`Cannot ${x} headers after they are sent to the client`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP_INVALID_HEADER_VALUE extends NodeTypeError {
|
|
constructor(x: string, y: string) {
|
|
super(
|
|
"ERR_HTTP_INVALID_HEADER_VALUE",
|
|
`Invalid value "${x}" for header "${y}"`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP_INVALID_STATUS_CODE extends NodeRangeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_HTTP_INVALID_STATUS_CODE",
|
|
`Invalid status code: ${x}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP_SOCKET_ENCODING extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP_SOCKET_ENCODING",
|
|
`Changing the socket encoding is not allowed per RFC7230 Section 3.`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_HTTP_TRAILER_INVALID extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_HTTP_TRAILER_INVALID",
|
|
`Trailers are invalid with this transfer encoding`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_INCOMPATIBLE_OPTION_PAIR extends NodeTypeError {
|
|
constructor(x: string, y: string) {
|
|
super(
|
|
"ERR_INCOMPATIBLE_OPTION_PAIR",
|
|
`Option "${x}" cannot be used in combination with option "${y}"`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_INPUT_TYPE_NOT_ALLOWED extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_INPUT_TYPE_NOT_ALLOWED",
|
|
`--input-type can only be used with string input via --eval, --print, or STDIN`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_INSPECTOR_ALREADY_ACTIVATED extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_INSPECTOR_ALREADY_ACTIVATED",
|
|
`Inspector is already activated. Close it with inspector.close() before activating it again.`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_INSPECTOR_ALREADY_CONNECTED extends NodeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_INSPECTOR_ALREADY_CONNECTED",
|
|
`${x} is already connected`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_INSPECTOR_CLOSED extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_INSPECTOR_CLOSED",
|
|
`Session was closed`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_INSPECTOR_COMMAND extends NodeError {
|
|
constructor(x: number, y: string) {
|
|
super(
|
|
"ERR_INSPECTOR_COMMAND",
|
|
`Inspector error ${x}: ${y}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_INSPECTOR_NOT_ACTIVE extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_INSPECTOR_NOT_ACTIVE",
|
|
`Inspector is not active`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_INSPECTOR_NOT_AVAILABLE extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_INSPECTOR_NOT_AVAILABLE",
|
|
`Inspector is not available`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_INSPECTOR_NOT_CONNECTED extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_INSPECTOR_NOT_CONNECTED",
|
|
`Session is not connected`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_INSPECTOR_NOT_WORKER extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_INSPECTOR_NOT_WORKER",
|
|
`Current thread is not a worker`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_INVALID_ASYNC_ID extends NodeRangeError {
|
|
constructor(x: string, y: string) {
|
|
super(
|
|
"ERR_INVALID_ASYNC_ID",
|
|
`Invalid ${x} value: ${y}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_INVALID_BUFFER_SIZE extends NodeRangeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_INVALID_BUFFER_SIZE",
|
|
`Buffer size must be a multiple of ${x}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_INVALID_CALLBACK extends NodeTypeError {
|
|
constructor(object: unknown) {
|
|
super(
|
|
"ERR_INVALID_CALLBACK",
|
|
`Callback must be a function. Received ${JSON.stringify(object)}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_INVALID_CURSOR_POS extends NodeTypeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_INVALID_CURSOR_POS",
|
|
`Cannot set cursor row without setting its column`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_INVALID_FD extends NodeRangeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_INVALID_FD",
|
|
`"fd" must be a positive integer: ${x}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_INVALID_FD_TYPE extends NodeTypeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_INVALID_FD_TYPE",
|
|
`Unsupported fd type: ${x}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_INVALID_FILE_URL_HOST extends NodeTypeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_INVALID_FILE_URL_HOST",
|
|
`File URL host must be "localhost" or empty on ${x}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_INVALID_FILE_URL_PATH extends NodeTypeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_INVALID_FILE_URL_PATH",
|
|
`File URL path ${x}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_INVALID_HANDLE_TYPE extends NodeTypeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_INVALID_HANDLE_TYPE",
|
|
`This handle type cannot be sent`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_INVALID_HTTP_TOKEN extends NodeTypeError {
|
|
constructor(x: string, y: string) {
|
|
super(
|
|
"ERR_INVALID_HTTP_TOKEN",
|
|
`${x} must be a valid HTTP token ["${y}"]`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_INVALID_IP_ADDRESS extends NodeTypeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_INVALID_IP_ADDRESS",
|
|
`Invalid IP address: ${x}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_INVALID_OPT_VALUE_ENCODING extends NodeTypeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_INVALID_OPT_VALUE_ENCODING",
|
|
`The value "${x}" is invalid for option "encoding"`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_INVALID_PERFORMANCE_MARK extends NodeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_INVALID_PERFORMANCE_MARK",
|
|
`The "${x}" performance mark has not been set`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_INVALID_PROTOCOL extends NodeTypeError {
|
|
constructor(x: string, y: string) {
|
|
super(
|
|
"ERR_INVALID_PROTOCOL",
|
|
`Protocol "${x}" not supported. Expected "${y}"`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_INVALID_REPL_EVAL_CONFIG extends NodeTypeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_INVALID_REPL_EVAL_CONFIG",
|
|
`Cannot specify both "breakEvalOnSigint" and "eval" for REPL`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_INVALID_REPL_INPUT extends NodeTypeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_INVALID_REPL_INPUT",
|
|
`${x}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_INVALID_SYNC_FORK_INPUT extends NodeTypeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_INVALID_SYNC_FORK_INPUT",
|
|
`Asynchronous forks do not support Buffer, TypedArray, DataView or string input: ${x}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_INVALID_THIS extends NodeTypeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_INVALID_THIS",
|
|
`Value of "this" must be of type ${x}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_INVALID_TUPLE extends NodeTypeError {
|
|
constructor(x: string, y: string) {
|
|
super(
|
|
"ERR_INVALID_TUPLE",
|
|
`${x} must be an iterable ${y} tuple`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_INVALID_URI extends NodeURIError {
|
|
constructor() {
|
|
super(
|
|
"ERR_INVALID_URI",
|
|
`URI malformed`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_IPC_CHANNEL_CLOSED extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_IPC_CHANNEL_CLOSED",
|
|
`Channel closed`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_IPC_DISCONNECTED extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_IPC_DISCONNECTED",
|
|
`IPC channel is already disconnected`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_IPC_ONE_PIPE extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_IPC_ONE_PIPE",
|
|
`Child process can have only one IPC pipe`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_IPC_SYNC_FORK extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_IPC_SYNC_FORK",
|
|
`IPC cannot be used with synchronous forks`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_MANIFEST_DEPENDENCY_MISSING extends NodeError {
|
|
constructor(x: string, y: string) {
|
|
super(
|
|
"ERR_MANIFEST_DEPENDENCY_MISSING",
|
|
`Manifest resource ${x} does not list ${y} as a dependency specifier`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_MANIFEST_INTEGRITY_MISMATCH extends NodeSyntaxError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_MANIFEST_INTEGRITY_MISMATCH",
|
|
`Manifest resource ${x} has multiple entries but integrity lists do not match`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_MANIFEST_INVALID_RESOURCE_FIELD extends NodeTypeError {
|
|
constructor(x: string, y: string) {
|
|
super(
|
|
"ERR_MANIFEST_INVALID_RESOURCE_FIELD",
|
|
`Manifest resource ${x} has invalid property value for ${y}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_MANIFEST_TDZ extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_MANIFEST_TDZ",
|
|
`Manifest initialization has not yet run`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_MANIFEST_UNKNOWN_ONERROR extends NodeSyntaxError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_MANIFEST_UNKNOWN_ONERROR",
|
|
`Manifest specified unknown error behavior "${x}".`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_METHOD_NOT_IMPLEMENTED extends NodeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_METHOD_NOT_IMPLEMENTED",
|
|
`The ${x} method is not implemented`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_MISSING_ARGS extends NodeTypeError {
|
|
constructor(...args: string[]) {
|
|
args = args.map((a) => `"${a}"`);
|
|
|
|
let msg = "The ";
|
|
switch (args.length) {
|
|
case 1:
|
|
msg += `${args[0]} argument`;
|
|
break;
|
|
case 2:
|
|
msg += `${args[0]} and ${args[1]} arguments`;
|
|
break;
|
|
default:
|
|
msg += args.slice(0, args.length - 1).join(", ");
|
|
msg += `, and ${args[args.length - 1]} arguments`;
|
|
break;
|
|
}
|
|
super(
|
|
"ERR_MISSING_ARGS",
|
|
`${msg} must be specified`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_MISSING_OPTION extends NodeTypeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_MISSING_OPTION",
|
|
`${x} is required`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_MULTIPLE_CALLBACK extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_MULTIPLE_CALLBACK",
|
|
`Callback called multiple times`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_NAPI_CONS_FUNCTION extends NodeTypeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_NAPI_CONS_FUNCTION",
|
|
`Constructor must be a function`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_NAPI_INVALID_DATAVIEW_ARGS extends NodeRangeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_NAPI_INVALID_DATAVIEW_ARGS",
|
|
`byte_offset + byte_length should be less than or equal to the size in bytes of the array passed in`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_NAPI_INVALID_TYPEDARRAY_ALIGNMENT extends NodeRangeError {
|
|
constructor(x: string, y: string) {
|
|
super(
|
|
"ERR_NAPI_INVALID_TYPEDARRAY_ALIGNMENT",
|
|
`start offset of ${x} should be a multiple of ${y}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_NAPI_INVALID_TYPEDARRAY_LENGTH extends NodeRangeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_NAPI_INVALID_TYPEDARRAY_LENGTH",
|
|
`Invalid typed array length`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_NO_CRYPTO extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_NO_CRYPTO",
|
|
`Node.js is not compiled with OpenSSL crypto support`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_NO_ICU extends NodeTypeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_NO_ICU",
|
|
`${x} is not supported on Node.js compiled without ICU`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_QUICCLIENTSESSION_FAILED extends NodeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_QUICCLIENTSESSION_FAILED",
|
|
`Failed to create a new QuicClientSession: ${x}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_QUICCLIENTSESSION_FAILED_SETSOCKET extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_QUICCLIENTSESSION_FAILED_SETSOCKET",
|
|
`Failed to set the QuicSocket`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_QUICSESSION_DESTROYED extends NodeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_QUICSESSION_DESTROYED",
|
|
`Cannot call ${x} after a QuicSession has been destroyed`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_QUICSESSION_INVALID_DCID extends NodeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_QUICSESSION_INVALID_DCID",
|
|
`Invalid DCID value: ${x}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_QUICSESSION_UPDATEKEY extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_QUICSESSION_UPDATEKEY",
|
|
`Unable to update QuicSession keys`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_QUICSOCKET_DESTROYED extends NodeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_QUICSOCKET_DESTROYED",
|
|
`Cannot call ${x} after a QuicSocket has been destroyed`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_QUICSOCKET_INVALID_STATELESS_RESET_SECRET_LENGTH
|
|
extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_QUICSOCKET_INVALID_STATELESS_RESET_SECRET_LENGTH",
|
|
`The stateResetToken must be exactly 16-bytes in length`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_QUICSOCKET_LISTENING extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_QUICSOCKET_LISTENING",
|
|
`This QuicSocket is already listening`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_QUICSOCKET_UNBOUND extends NodeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_QUICSOCKET_UNBOUND",
|
|
`Cannot call ${x} before a QuicSocket has been bound`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_QUICSTREAM_DESTROYED extends NodeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_QUICSTREAM_DESTROYED",
|
|
`Cannot call ${x} after a QuicStream has been destroyed`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_QUICSTREAM_INVALID_PUSH extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_QUICSTREAM_INVALID_PUSH",
|
|
`Push streams are only supported on client-initiated, bidirectional streams`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_QUICSTREAM_OPEN_FAILED extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_QUICSTREAM_OPEN_FAILED",
|
|
`Opening a new QuicStream failed`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_QUICSTREAM_UNSUPPORTED_PUSH extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_QUICSTREAM_UNSUPPORTED_PUSH",
|
|
`Push streams are not supported on this QuicSession`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_QUIC_TLS13_REQUIRED extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_QUIC_TLS13_REQUIRED",
|
|
`QUIC requires TLS version 1.3`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_SCRIPT_EXECUTION_INTERRUPTED extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_SCRIPT_EXECUTION_INTERRUPTED",
|
|
"Script execution was interrupted by `SIGINT`",
|
|
);
|
|
}
|
|
}
|
|
export class ERR_SERVER_ALREADY_LISTEN extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_SERVER_ALREADY_LISTEN",
|
|
`Listen method has been called more than once without closing.`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_SERVER_NOT_RUNNING extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_SERVER_NOT_RUNNING",
|
|
`Server is not running.`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_SOCKET_ALREADY_BOUND extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_SOCKET_ALREADY_BOUND",
|
|
`Socket is already bound`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_SOCKET_BAD_BUFFER_SIZE extends NodeTypeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_SOCKET_BAD_BUFFER_SIZE",
|
|
`Buffer size must be a positive integer`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_SOCKET_BAD_TYPE extends NodeTypeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_SOCKET_BAD_TYPE",
|
|
`Bad socket type specified. Valid types are: udp4, udp6`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_SOCKET_CLOSED extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_SOCKET_CLOSED",
|
|
`Socket is closed`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_SOCKET_DGRAM_IS_CONNECTED extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_SOCKET_DGRAM_IS_CONNECTED",
|
|
`Already connected`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_SOCKET_DGRAM_NOT_CONNECTED extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_SOCKET_DGRAM_NOT_CONNECTED",
|
|
`Not connected`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_SOCKET_DGRAM_NOT_RUNNING extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_SOCKET_DGRAM_NOT_RUNNING",
|
|
`Not running`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_SRI_PARSE extends NodeSyntaxError {
|
|
constructor(name: string, char: string, position: number) {
|
|
super(
|
|
"ERR_SRI_PARSE",
|
|
`Subresource Integrity string ${name} had an unexpected ${char} at position ${position}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_STREAM_ALREADY_FINISHED extends NodeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_STREAM_ALREADY_FINISHED",
|
|
`Cannot call ${x} after a stream was finished`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_STREAM_CANNOT_PIPE extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_STREAM_CANNOT_PIPE",
|
|
`Cannot pipe, not readable`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_STREAM_DESTROYED extends NodeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_STREAM_DESTROYED",
|
|
`Cannot call ${x} after a stream was destroyed`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_STREAM_NULL_VALUES extends NodeTypeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_STREAM_NULL_VALUES",
|
|
`May not write null values to stream`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_STREAM_PREMATURE_CLOSE extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_STREAM_PREMATURE_CLOSE",
|
|
`Premature close`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_STREAM_PUSH_AFTER_EOF extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_STREAM_PUSH_AFTER_EOF",
|
|
`stream.push() after EOF`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_STREAM_UNSHIFT_AFTER_END_EVENT extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_STREAM_UNSHIFT_AFTER_END_EVENT",
|
|
`stream.unshift() after end event`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_STREAM_WRAP extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_STREAM_WRAP",
|
|
`Stream has StringDecoder set or is in objectMode`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_STREAM_WRITE_AFTER_END extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_STREAM_WRITE_AFTER_END",
|
|
`write after end`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_SYNTHETIC extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_SYNTHETIC",
|
|
`JavaScript Callstack`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_TLS_DH_PARAM_SIZE extends NodeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_TLS_DH_PARAM_SIZE",
|
|
`DH parameter size ${x} is less than 2048`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_TLS_HANDSHAKE_TIMEOUT extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_TLS_HANDSHAKE_TIMEOUT",
|
|
`TLS handshake timeout`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_TLS_INVALID_CONTEXT extends NodeTypeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_TLS_INVALID_CONTEXT",
|
|
`${x} must be a SecureContext`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_TLS_INVALID_STATE extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_TLS_INVALID_STATE",
|
|
`TLS socket connection must be securely established`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_TLS_INVALID_PROTOCOL_VERSION extends NodeTypeError {
|
|
constructor(protocol: string, x: string) {
|
|
super(
|
|
"ERR_TLS_INVALID_PROTOCOL_VERSION",
|
|
`${protocol} is not a valid ${x} TLS protocol version`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_TLS_PROTOCOL_VERSION_CONFLICT extends NodeTypeError {
|
|
constructor(prevProtocol: string, protocol: string) {
|
|
super(
|
|
"ERR_TLS_PROTOCOL_VERSION_CONFLICT",
|
|
`TLS protocol version ${prevProtocol} conflicts with secureProtocol ${protocol}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_TLS_RENEGOTIATION_DISABLED extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_TLS_RENEGOTIATION_DISABLED",
|
|
`TLS session renegotiation disabled for this socket`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_TLS_REQUIRED_SERVER_NAME extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_TLS_REQUIRED_SERVER_NAME",
|
|
`"servername" is required parameter for Server.addContext`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_TLS_SESSION_ATTACK extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_TLS_SESSION_ATTACK",
|
|
`TLS session renegotiation attack detected`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_TLS_SNI_FROM_SERVER extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_TLS_SNI_FROM_SERVER",
|
|
`Cannot issue SNI from a TLS server-side socket`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_TRACE_EVENTS_CATEGORY_REQUIRED extends NodeTypeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_TRACE_EVENTS_CATEGORY_REQUIRED",
|
|
`At least one category is required`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_TRACE_EVENTS_UNAVAILABLE extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_TRACE_EVENTS_UNAVAILABLE",
|
|
`Trace events are unavailable`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_UNAVAILABLE_DURING_EXIT extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_UNAVAILABLE_DURING_EXIT",
|
|
`Cannot call function in process exit handler`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_UNCAUGHT_EXCEPTION_CAPTURE_ALREADY_SET extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_UNCAUGHT_EXCEPTION_CAPTURE_ALREADY_SET",
|
|
"`process.setupUncaughtExceptionCapture()` was called while a capture callback was already active",
|
|
);
|
|
}
|
|
}
|
|
export class ERR_UNESCAPED_CHARACTERS extends NodeTypeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_UNESCAPED_CHARACTERS",
|
|
`${x} contains unescaped characters`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_UNKNOWN_BUILTIN_MODULE extends NodeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_UNKNOWN_BUILTIN_MODULE",
|
|
`No such built-in module: ${x}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_UNKNOWN_CREDENTIAL extends NodeError {
|
|
constructor(x: string, y: string) {
|
|
super(
|
|
"ERR_UNKNOWN_CREDENTIAL",
|
|
`${x} identifier does not exist: ${y}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_UNKNOWN_ENCODING extends NodeTypeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_UNKNOWN_ENCODING",
|
|
`Unknown encoding: ${x}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_UNKNOWN_FILE_EXTENSION extends NodeTypeError {
|
|
constructor(x: string, y: string) {
|
|
super(
|
|
"ERR_UNKNOWN_FILE_EXTENSION",
|
|
`Unknown file extension "${x}" for ${y}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_UNKNOWN_MODULE_FORMAT extends NodeRangeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_UNKNOWN_MODULE_FORMAT",
|
|
`Unknown module format: ${x}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_UNKNOWN_SIGNAL extends NodeTypeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_UNKNOWN_SIGNAL",
|
|
`Unknown signal: ${x}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_UNSUPPORTED_DIR_IMPORT extends NodeError {
|
|
constructor(x: string, y: string) {
|
|
super(
|
|
"ERR_UNSUPPORTED_DIR_IMPORT",
|
|
`Directory import '${x}' is not supported resolving ES modules, imported from ${y}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_UNSUPPORTED_ESM_URL_SCHEME extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_UNSUPPORTED_ESM_URL_SCHEME",
|
|
`Only file and data URLs are supported by the default ESM loader`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_V8BREAKITERATOR extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_V8BREAKITERATOR",
|
|
`Full ICU data not installed. See https://github.com/nodejs/node/wiki/Intl`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_VALID_PERFORMANCE_ENTRY_TYPE extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_VALID_PERFORMANCE_ENTRY_TYPE",
|
|
`At least one valid performance entry type is required`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING extends NodeTypeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING",
|
|
`A dynamic import callback was not specified.`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_VM_MODULE_ALREADY_LINKED extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_VM_MODULE_ALREADY_LINKED",
|
|
`Module has already been linked`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_VM_MODULE_CANNOT_CREATE_CACHED_DATA extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_VM_MODULE_CANNOT_CREATE_CACHED_DATA",
|
|
`Cached data cannot be created for a module which has been evaluated`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_VM_MODULE_DIFFERENT_CONTEXT extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_VM_MODULE_DIFFERENT_CONTEXT",
|
|
`Linked modules must use the same context`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_VM_MODULE_LINKING_ERRORED extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_VM_MODULE_LINKING_ERRORED",
|
|
`Linking has already failed for the provided module`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_VM_MODULE_NOT_MODULE extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_VM_MODULE_NOT_MODULE",
|
|
`Provided module is not an instance of Module`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_VM_MODULE_STATUS extends NodeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_VM_MODULE_STATUS",
|
|
`Module status ${x}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_WASI_ALREADY_STARTED extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_WASI_ALREADY_STARTED",
|
|
`WASI instance has already started`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_WORKER_INIT_FAILED extends NodeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_WORKER_INIT_FAILED",
|
|
`Worker initialization failure: ${x}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_WORKER_NOT_RUNNING extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_WORKER_NOT_RUNNING",
|
|
`Worker instance not running`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_WORKER_OUT_OF_MEMORY extends NodeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_WORKER_OUT_OF_MEMORY",
|
|
`Worker terminated due to reaching memory limit: ${x}`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_WORKER_UNSERIALIZABLE_ERROR extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_WORKER_UNSERIALIZABLE_ERROR",
|
|
`Serializing an uncaught exception failed`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_WORKER_UNSUPPORTED_EXTENSION extends NodeTypeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_WORKER_UNSUPPORTED_EXTENSION",
|
|
`The worker script extension must be ".js", ".mjs", or ".cjs". Received "${x}"`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_WORKER_UNSUPPORTED_OPERATION extends NodeTypeError {
|
|
constructor(x: string) {
|
|
super(
|
|
"ERR_WORKER_UNSUPPORTED_OPERATION",
|
|
`${x} is not supported in workers`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_ZLIB_INITIALIZATION_FAILED extends NodeError {
|
|
constructor() {
|
|
super(
|
|
"ERR_ZLIB_INITIALIZATION_FAILED",
|
|
`Initialization failed`,
|
|
);
|
|
}
|
|
}
|
|
export class ERR_FALSY_VALUE_REJECTION extends NodeError {
|
|
reason: string;
|
|
constructor(reason: string) {
|
|
super(
|
|
"ERR_FALSY_VALUE_REJECTION",
|
|
"Promise was rejected with falsy value",
|
|
);
|
|
this.reason = reason;
|
|
}
|
|
}
|
|
export class ERR_HTTP2_INVALID_SETTING_VALUE extends NodeRangeError {
|
|
actual: unknown;
|
|
min?: number;
|
|
max?: number;
|
|
|
|
constructor(name: string, actual: unknown, min?: number, max?: number) {
|
|
super(
|
|
"ERR_HTTP2_INVALID_SETTING_VALUE",
|
|
`Invalid value for setting "${name}": ${actual}`,
|
|
);
|
|
this.actual = actual;
|
|
if (min !== undefined) {
|
|
this.min = min;
|
|
this.max = max;
|
|
}
|
|
}
|
|
}
|
|
export class ERR_HTTP2_STREAM_CANCEL extends NodeError {
|
|
cause?: Error;
|
|
constructor(error: Error) {
|
|
super(
|
|
"ERR_HTTP2_STREAM_CANCEL",
|
|
typeof error.message === "string"
|
|
? `The pending stream has been canceled (caused by: ${error.message})`
|
|
: "The pending stream has been canceled",
|
|
);
|
|
if (error) {
|
|
this.cause = error;
|
|
}
|
|
}
|
|
}
|
|
|
|
export class ERR_INVALID_ADDRESS_FAMILY extends NodeRangeError {
|
|
host: string;
|
|
port: number;
|
|
constructor(addressType: string, host: string, port: number) {
|
|
super(
|
|
"ERR_INVALID_ADDRESS_FAMILY",
|
|
`Invalid address family: ${addressType} ${host}:${port}`,
|
|
);
|
|
this.host = host;
|
|
this.port = port;
|
|
}
|
|
}
|
|
|
|
export class ERR_INVALID_CHAR extends NodeTypeError {
|
|
constructor(name: string, field?: string) {
|
|
super(
|
|
"ERR_INVALID_CHAR",
|
|
field
|
|
? `Invalid character in ${name}`
|
|
: `Invalid character in ${name} ["${field}"]`,
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_INVALID_OPT_VALUE extends NodeTypeError {
|
|
constructor(name: string, value: unknown) {
|
|
super(
|
|
"ERR_INVALID_OPT_VALUE",
|
|
`The value "${value}" is invalid for option "${name}"`,
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_INVALID_RETURN_PROPERTY extends NodeTypeError {
|
|
constructor(input: string, name: string, prop: string, value: string) {
|
|
super(
|
|
"ERR_INVALID_RETURN_PROPERTY",
|
|
`Expected a valid ${input} to be returned for the "${prop}" from the "${name}" function but got ${value}.`,
|
|
);
|
|
}
|
|
}
|
|
|
|
// deno-lint-ignore no-explicit-any
|
|
function buildReturnPropertyType(value: any) {
|
|
if (value && value.constructor && value.constructor.name) {
|
|
return `instance of ${value.constructor.name}`;
|
|
} else {
|
|
return `type ${typeof value}`;
|
|
}
|
|
}
|
|
|
|
export class ERR_INVALID_RETURN_PROPERTY_VALUE extends NodeTypeError {
|
|
constructor(input: string, name: string, prop: string, value: unknown) {
|
|
super(
|
|
"ERR_INVALID_RETURN_PROPERTY_VALUE",
|
|
`Expected ${input} to be returned for the "${prop}" from the "${name}" function but got ${
|
|
buildReturnPropertyType(value)
|
|
}.`,
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_INVALID_RETURN_VALUE extends NodeTypeError {
|
|
constructor(input: string, name: string, value: unknown) {
|
|
super(
|
|
"ERR_INVALID_RETURN_VALUE",
|
|
`Expected ${input} to be returned from the "${name}" function but got ${
|
|
buildReturnPropertyType(value)
|
|
}.`,
|
|
);
|
|
}
|
|
}
|
|
|
|
export class ERR_INVALID_URL extends NodeTypeError {
|
|
input: string;
|
|
constructor(input: string) {
|
|
super(
|
|
"ERR_INVALID_URL",
|
|
`Invalid URL: ${input}`,
|
|
);
|
|
this.input = input;
|
|
}
|
|
}
|