aboutsummaryrefslogtreecommitdiff
path: root/node_modules/es5-ext/error/custom.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/es5-ext/error/custom.js')
-rw-r--r--node_modules/es5-ext/error/custom.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/node_modules/es5-ext/error/custom.js b/node_modules/es5-ext/error/custom.js
new file mode 100644
index 000000000..0e4c8cb1f
--- /dev/null
+++ b/node_modules/es5-ext/error/custom.js
@@ -0,0 +1,20 @@
+"use strict";
+
+var assign = require("../object/assign")
+ , isObject = require("../object/is-object")
+ , isValue = require("../object/is-value")
+ , captureStackTrace = Error.captureStackTrace;
+
+exports = module.exports = function (message /*, code, ext*/) {
+ var err = new Error(message), code = arguments[1], ext = arguments[2];
+ if (!isValue(ext)) {
+ if (isObject(code)) {
+ ext = code;
+ code = null;
+ }
+ }
+ if (isValue(ext)) assign(err, ext);
+ if (isValue(code)) err.code = code;
+ if (captureStackTrace) captureStackTrace(err, exports);
+ return err;
+};