error-provider
Advanced tools
Comparing version 0.0.3 to 0.0.4
@@ -5,62 +5,64 @@ "use strict"; | ||
errors.UNKNOWN = { errno: -1, code: "UNKNOWN", description: "unknown error" }, | ||
errors.OK = { errno: 0, code: "OK", description: "success" }, | ||
errors.EOF = { errno: 1, code: "EOF", description: "end of file" }, | ||
errors.EADDRINFO = { errno: 2, code: "EADDRINFO", description: "getaddrinfo error" }, | ||
errors.EACCES = { errno: 3, code: "EACCES", description: "permission denied" }, | ||
errors.EAGAIN = { errno: 4, code: "EAGAIN", description: "no more processes" }, | ||
errors.EADDRINUSE = { errno: 5, code: "EADDRINUSE", description: "address already in use" }, | ||
errors.EADDRNOTAVAIL = { errno: 6, code: "EADDRNOTAVAIL", description: "" }, | ||
errors.EAFNOSUPPORT = { errno: 7, code: "EAFNOSUPPORT", description: "" }, | ||
errors.EALREADY = { errno: 8, code: "EALREADY", description: "" }, | ||
errors.EBADF = { errno: 9, code: "EBADF", description: "bad file descriptor" }, | ||
errors.EBUSY = { errno: 10, code: "EBUSY", description: "resource busy or locked" }, | ||
errors.ECONNABORTED = { errno: 11, code: "ECONNABORTED", description: "software caused connection abort" }, | ||
errors.ECONNREFUSED = { errno: 12, code: "ECONNREFUSED", description: "connection refused" }, | ||
errors.ECONNRESET = { errno: 13, code: "ECONNRESET", description: "connection reset by peer" }, | ||
errors.EDESTADDRREQ = { errno: 14, code: "EDESTADDRREQ", description: "destination address required" }, | ||
errors.EFAULT = { errno: 15, code: "EFAULT", description: "bad address in system call argument" }, | ||
errors.EHOSTUNREACH = { errno: 16, code: "EHOSTUNREACH", description: "host is unreachable" }, | ||
errors.EINTR = { errno: 17, code: "EINTR", description: "interrupted system call" }, | ||
errors.EINVAL = { errno: 18, code: "EINVAL", description: "invalid argument" }, | ||
errors.EISCONN = { errno: 19, code: "EISCONN", description: "socket is already connected" }, | ||
errors.EMFILE = { errno: 20, code: "EMFILE", description: "too many open files" }, | ||
errors.EMSGSIZE = { errno: 21, code: "EMSGSIZE", description: "message too long" }, | ||
errors.ENETDOWN = { errno: 22, code: "ENETDOWN", description: "network is down" }, | ||
errors.ENETUNREACH = { errno: 23, code: "ENETUNREACH", description: "network is unreachable" }, | ||
errors.ENFILE = { errno: 24, code: "ENFILE", description: "file table overflow" }, | ||
errors.ENOBUFS = { errno: 25, code: "ENOBUFS", description: "no buffer space available" }, | ||
errors.ENOMEM = { errno: 26, code: "ENOMEM", description: "not enough memory" }, | ||
errors.ENOTDIR = { errno: 27, code: "ENOTDIR", description: "not a directory" }, | ||
errors.EISDIR = { errno: 28, code: "EISDIR", description: "illegal operation on a directory" }, | ||
errors.ENONET = { errno: 29, code: "ENONET", description: "machine is not on the network" }, | ||
errors.ENOTCONN = { errno: 31, code: "ENOTCONN", description: "socket is not connected" }, | ||
errors.ENOTSOCK = { errno: 32, code: "ENOTSOCK", description: "socket operation on non-socket" }, | ||
errors.ENOTSUP = { errno: 33, code: "ENOTSUP", description: "operation not supported on socket" }, | ||
errors.ENOENT = { errno: 34, code: "ENOENT", description: "no such file or directory" }, | ||
errors.ENOSYS = { errno: 35, code: "ENOSYS", description: "function not implemented" }, | ||
errors.EPIPE = { errno: 36, code: "EPIPE", description: "broken pipe" }, | ||
errors.EPROTO = { errno: 37, code: "EPROTO", description: "protocol error" }, | ||
errors.EPROTONOSUPPORT = { errno: 38, code: "EPROTONOSUPPORT", description: "protocol not supported" }, | ||
errors.EPROTOTYPE = { errno: 39, code: "EPROTOTYPE", description: "protocol wrong type for socket" }, | ||
errors.ETIMEDOUT = { errno: 40, code: "ETIMEDOUT", description: "connection timed out" }, | ||
errors.ECHARSET = { errno: 41, code: "ECHARSET", description: "" }, | ||
errors.EAIFAMNOSUPPORT = { errno: 42, code: "EAIFAMNOSUPPORT", description: "" }, | ||
errors.EAISERVICE = { errno: 44, code: "EAISERVICE", description: "" }, | ||
errors.EAISOCKTYPE = { errno: 45, code: "EAISOCKTYPE", description: "" }, | ||
errors.ESHUTDOWN = { errno: 46, code: "ESHUTDOWN", description: "" }, | ||
errors.EEXIST = { errno: 47, code: "EEXIST", description: "file already exists" }, | ||
errors.ESRCH = { errno: 48, code: "ESRCH", description: "no such process" }, | ||
errors.ENAMETOOLONG = { errno: 49, code: "ENAMETOOLONG", description: "name too long" }, | ||
errors.EPERM = { errno: 50, code: "EPERM", description: "operation not permitted" }, | ||
errors.ELOOP = { errno: 51, code: "ELOOP", description: "too many symbolic links encountered" }, | ||
errors.EXDEV = { errno: 52, code: "EXDEV", description: "cross-device link not permitted" }, | ||
errors.ENOTEMPTY = { errno: 53, code: "ENOTEMPTY", description: "directory not empty" }, | ||
errors.ENOSPC = { errno: 54, code: "ENOSPC", description: "no space left on device" }, | ||
errors.EIO = { errno: 55, code: "EIO", description: "i/o error" }, | ||
errors.EROFS = { errno: 56, code: "EROFS", description: "read-only file system" }, | ||
errors.ENODEV = { errno: 57, code: "ENODEV", description: "no such device" }, | ||
errors.ESPIPE = { errno: 58, code: "ESPIPE", description: "invalid seek" }, | ||
errors.ECANCELED = { errno: 59, code: "ECANCELED", description: "operation canceled" } | ||
//https://github.com/joyent/node/blob/master/deps/uv/include/uv.h | ||
errors.UNKNOWN = { errno: -1, code: "UNKNOWN", message: "unknown error" }, | ||
errors.OK = { errno: 0, code: "OK", message: "success" }, | ||
errors.EOF = { errno: 1, code: "EOF", message: "end of file" }, | ||
errors.EADDRINFO = { errno: 2, code: "EADDRINFO", message: "getaddrinfo error" }, | ||
errors.EACCES = { errno: 3, code: "EACCES", message: "permission denied" }, | ||
errors.EAGAIN = { errno: 4, code: "EAGAIN", message: "no more processes" }, | ||
errors.EADDRINUSE = { errno: 5, code: "EADDRINUSE", message: "address already in use" }, | ||
errors.EADDRNOTAVAIL = { errno: 6, code: "EADDRNOTAVAIL", message: "" }, | ||
errors.EAFNOSUPPORT = { errno: 7, code: "EAFNOSUPPORT", message: "" }, | ||
errors.EALREADY = { errno: 8, code: "EALREADY", message: "" }, | ||
errors.EBADF = { errno: 9, code: "EBADF", message: "bad file descriptor" }, | ||
errors.EBUSY = { errno: 10, code: "EBUSY", message: "resource busy or locked" }, | ||
errors.ECONNABORTED = { errno: 11, code: "ECONNABORTED", message: "software caused connection abort" }, | ||
errors.ECONNREFUSED = { errno: 12, code: "ECONNREFUSED", message: "connection refused" }, | ||
errors.ECONNRESET = { errno: 13, code: "ECONNRESET", message: "connection reset by peer" }, | ||
errors.EDESTADDRREQ = { errno: 14, code: "EDESTADDRREQ", message: "destination address required" }, | ||
errors.EFAULT = { errno: 15, code: "EFAULT", message: "bad address in system call argument" }, | ||
errors.EHOSTUNREACH = { errno: 16, code: "EHOSTUNREACH", message: "host is unreachable" }, | ||
errors.EINTR = { errno: 17, code: "EINTR", message: "interrupted system call" }, | ||
errors.EINVAL = { errno: 18, code: "EINVAL", message: "invalid argument" }, | ||
errors.EISCONN = { errno: 19, code: "EISCONN", message: "socket is already connected" }, | ||
errors.EMFILE = { errno: 20, code: "EMFILE", message: "too many open files" }, | ||
errors.EMSGSIZE = { errno: 21, code: "EMSGSIZE", message: "message too long" }, | ||
errors.ENETDOWN = { errno: 22, code: "ENETDOWN", message: "network is down" }, | ||
errors.ENETUNREACH = { errno: 23, code: "ENETUNREACH", message: "network is unreachable" }, | ||
errors.ENFILE = { errno: 24, code: "ENFILE", message: "file table overflow" }, | ||
errors.ENOBUFS = { errno: 25, code: "ENOBUFS", message: "no buffer space available" }, | ||
errors.ENOMEM = { errno: 26, code: "ENOMEM", message: "not enough memory" }, | ||
errors.ENOTDIR = { errno: 27, code: "ENOTDIR", message: "not a directory" }, | ||
errors.EISDIR = { errno: 28, code: "EISDIR", message: "illegal operation on a directory" }, | ||
errors.ENONET = { errno: 29, code: "ENONET", message: "machine is not on the network" }, | ||
errors.ENOTCONN = { errno: 31, code: "ENOTCONN", message: "socket is not connected" }, | ||
errors.ENOTSOCK = { errno: 32, code: "ENOTSOCK", message: "socket operation on non-socket" }, | ||
errors.ENOTSUP = { errno: 33, code: "ENOTSUP", message: "operation not supported on socket" }, | ||
errors.ENOENT = { errno: 34, code: "ENOENT", message: "no such file or directory" }, | ||
errors.ENOSYS = { errno: 35, code: "ENOSYS", message: "function not implemented" }, | ||
errors.EPIPE = { errno: 36, code: "EPIPE", message: "broken pipe" }, | ||
errors.EPROTO = { errno: 37, code: "EPROTO", message: "protocol error" }, | ||
errors.EPROTONOSUPPORT = { errno: 38, code: "EPROTONOSUPPORT", message: "protocol not supported" }, | ||
errors.EPROTOTYPE = { errno: 39, code: "EPROTOTYPE", message: "protocol wrong type for socket" }, | ||
errors.ETIMEDOUT = { errno: 40, code: "ETIMEDOUT", message: "connection timed out" }, | ||
errors.ECHARSET = { errno: 41, code: "ECHARSET", message: "" }, | ||
errors.EAIFAMNOSUPPORT = { errno: 42, code: "EAIFAMNOSUPPORT", message: "" }, | ||
errors.EAISERVICE = { errno: 44, code: "EAISERVICE", message: "" }, | ||
errors.EAISOCKTYPE = { errno: 45, code: "EAISOCKTYPE", message: "" }, | ||
errors.ESHUTDOWN = { errno: 46, code: "ESHUTDOWN", message: "" }, | ||
errors.EEXIST = { errno: 47, code: "EEXIST", message: "file already exists" }, | ||
errors.ESRCH = { errno: 48, code: "ESRCH", message: "no such process" }, | ||
errors.ENAMETOOLONG = { errno: 49, code: "ENAMETOOLONG", message: "name too long" }, | ||
errors.EPERM = { errno: 50, code: "EPERM", message: "operation not permitted" }, | ||
errors.ELOOP = { errno: 51, code: "ELOOP", message: "too many symbolic links encountered" }, | ||
errors.EXDEV = { errno: 52, code: "EXDEV", message: "cross-device link not permitted" }, | ||
errors.ENOTEMPTY = { errno: 53, code: "ENOTEMPTY", message: "directory not empty" }, | ||
errors.ENOSPC = { errno: 54, code: "ENOSPC", message: "no space left on device" }, | ||
errors.EIO = { errno: 55, code: "EIO", message: "i/o error" }, | ||
errors.EROFS = { errno: 56, code: "EROFS", message: "read-only file system" }, | ||
errors.ENODEV = { errno: 57, code: "ENODEV", message: "no such device" }, | ||
errors.ESPIPE = { errno: 58, code: "ESPIPE", message: "invalid seek" }, | ||
errors.ECANCELED = { errno: 59, code: "ECANCELED", message: "operation canceled" } | ||
errors._codes = { | ||
@@ -128,7 +130,7 @@ "-1": "UNKNOWN", | ||
errors.create = function (errno, code, description, props){ | ||
errors.create = function (errno, code, message, props){ | ||
var e = { | ||
errno: errno, | ||
code: code, | ||
description: description | ||
message: message | ||
}; | ||
@@ -159,4 +161,4 @@ | ||
if (!error){ | ||
error = new Error ("ERROR_NOT_FOUND"); | ||
error.description = "Error not found"; | ||
error = new Error ("Error not found"); | ||
error.code = "ERROR_NOT_FOUND"; | ||
error.id = id; | ||
@@ -166,13 +168,10 @@ throw error; | ||
var e = new Error (error.code); | ||
var p; | ||
var v; | ||
for (var p in error){ | ||
e[p] = error[p]; | ||
} | ||
if (vars){ | ||
for (var p in e){ | ||
if (typeof e[p] !== "string") continue; | ||
for (var v in vars){ | ||
e[p] = e[p].replace (new RegExp ("\\{" + v + "\\}", "g"), | ||
for (p in error){ | ||
if (typeof error[p] !== "string") continue; | ||
for (v in vars){ | ||
error[p] = error[p].replace (new RegExp ("\\{" + v + "\\}", "g"), | ||
vars[v]); | ||
@@ -183,2 +182,8 @@ } | ||
var e = new Error (error.message); | ||
for (p in error){ | ||
e[p] = error[p]; | ||
} | ||
return e; | ||
@@ -185,0 +190,0 @@ }; |
{ | ||
"name": "error-provider", | ||
"version": "0.0.3", | ||
"version": "0.0.4", | ||
"description": "Manages errors for third-party modules", | ||
@@ -5,0 +5,0 @@ "keywords": ["error", "errno", "provider", "libuv"], |
@@ -8,3 +8,3 @@ error-provider | ||
Version: 0.0.3 | ||
Version: 0.0.4 | ||
@@ -11,0 +11,0 @@ When you're writing a third-party module you'll probably deal with errors. If you want to send custom errors to your users you should send a code and then in your documentation explain these codes. |
182
12645