Skip to content

Commit d453fa8

Browse files
committed
refactor(utils): [createNodeError] access this.code from message
Signed-off-by: Lexus Drumgold <[email protected]>
1 parent ec32053 commit d453fa8

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

src/utils/create-node-error.ts

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -59,21 +59,22 @@ function createNodeError<
5959
*/
6060
const error: NodeError<T> = new Base() as NodeError<T>
6161

62-
// define error symbol
63-
Object.defineProperty(error, kIsNodeError, {
62+
// define error code
63+
// note: defined first to ensure `this.code` can be used in message function
64+
Object.defineProperty(error, 'code', {
6465
configurable: true,
6566
enumerable: false,
66-
value: true,
67-
writable: false
67+
value: code,
68+
writable: true
6869
})
6970

70-
// define instance properties and methods
71+
// define error symbol and message + redefine toString method
7172
Object.defineProperties(error, {
72-
code: {
73+
[kIsNodeError]: {
7374
configurable: true,
7475
enumerable: false,
75-
value: code,
76-
writable: true
76+
value: true,
77+
writable: false
7778
},
7879
message: {
7980
configurable: true,

0 commit comments

Comments
 (0)