summaryrefslogtreecommitdiff
path: root/lib/internal/assert/assertion_error.js
diff options
context:
space:
mode:
authorRuben Bridgewater <ruben@bridgewater.de>2019-03-16 12:09:14 +0100
committerRuben Bridgewater <ruben@bridgewater.de>2019-03-23 02:55:54 +0100
commit1ed3c54ecbd72a33693e5954f86bcc9fd9b1cc09 (patch)
treeb708974383e0c32b07b1c1525b10ba8426307737 /lib/internal/assert/assertion_error.js
parentc757cb1b9870de9297df736d5e831b7eb627644a (diff)
downloadandroid-node-v8-1ed3c54ecbd72a33693e5954f86bcc9fd9b1cc09.tar.gz
android-node-v8-1ed3c54ecbd72a33693e5954f86bcc9fd9b1cc09.tar.bz2
android-node-v8-1ed3c54ecbd72a33693e5954f86bcc9fd9b1cc09.zip
errors: update error name
This updates all Node.js errors by removing the `code` being part of the `name` property. Instead, the name is just changed once on instantiation, the stack is accessed to create the stack as expected and then the `name` property is set back to it's original form. PR-URL: https://github.com/nodejs/node/pull/26738 Fixes: https://github.com/nodejs/node/issues/26669 Fixes: https://github.com/nodejs/node/issues/20253 Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Michaƫl Zasso <targos@protonmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Diffstat (limited to 'lib/internal/assert/assertion_error.js')
-rw-r--r--lib/internal/assert/assertion_error.js15
1 files changed, 14 insertions, 1 deletions
diff --git a/lib/internal/assert/assertion_error.js b/lib/internal/assert/assertion_error.js
index a13a610da1..ded5ef00c9 100644
--- a/lib/internal/assert/assertion_error.js
+++ b/lib/internal/assert/assertion_error.js
@@ -388,12 +388,25 @@ class AssertionError extends Error {
}
this.generatedMessage = !message;
- this.name = 'AssertionError [ERR_ASSERTION]';
+ Object.defineProperty(this, 'name', {
+ value: 'AssertionError [ERR_ASSERTION]',
+ enumerable: false,
+ writable: true,
+ configurable: true
+ });
this.code = 'ERR_ASSERTION';
this.actual = actual;
this.expected = expected;
this.operator = operator;
Error.captureStackTrace(this, stackStartFn);
+ // Create error message including the error code in the name.
+ this.stack;
+ // Reset the name.
+ this.name = 'AssertionError';
+ }
+
+ toString() {
+ return `${this.name} [${this.code}]: ${this.message}`;
}
[inspect.custom](recurseTimes, ctx) {