Skip to content

Commit 9823a60

Browse files
committed
fix: ParseError messages must be string
1 parent 5c14029 commit 9823a60

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

src/ParseError.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class ParseError extends Error {
2222
this.code = code;
2323
Object.defineProperty(this, 'message', {
2424
enumerable: true,
25-
value: message,
25+
value: typeof message === 'string' ? message : JSON.stringify(message),
2626
});
2727
}
2828

src/__tests__/ParseError-test.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,13 @@ describe('ParseError', () => {
2727
code: 123,
2828
});
2929
});
30+
31+
it('message must be a string', () => {
32+
const someRandomError = { code: 420, message: 'time to chill' };
33+
const error = new ParseError(1337, someRandomError);
34+
expect(JSON.parse(JSON.stringify(error))).toEqual({
35+
message: JSON.stringify(someRandomError),
36+
code: 1337,
37+
});
38+
});
3039
});

0 commit comments

Comments
 (0)