Skip to content

Commit 7474441

Browse files
committed
Parse.Error inherits Error now
1 parent c5d9863 commit 7474441

File tree

3 files changed

+111
-101
lines changed

3 files changed

+111
-101
lines changed

package-lock.json

Lines changed: 97 additions & 99 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/ParseError.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,18 @@
1111
* Constructs a new Parse.Error object with the given code and message.
1212
* @alias Parse.Error
1313
*/
14-
class ParseError {
14+
class ParseError extends Error {
1515
/**
1616
* @param {Number} code An error code constant from <code>Parse.Error</code>.
1717
* @param {String} message A detailed description of the error.
1818
*/
1919
constructor(code, message) {
20+
super(message);
2021
this.code = code;
21-
this.message = message;
22+
Object.defineProperty(this, 'message', {
23+
enumerable: true,
24+
value: message
25+
});
2226
}
2327

2428
toString() {

src/__tests__/ParseError-test.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,12 @@ describe('ParseError', () => {
1919
expect(error.toString()).toMatch('123');
2020
expect(error.toString()).toMatch('some error message');
2121
});
22+
23+
it('has a proper json representation', () => {
24+
const error = new ParseError(123, 'some error message');
25+
expect(JSON.parse(JSON.stringify(error))).toEqual({
26+
message: 'some error message',
27+
code: 123,
28+
});
29+
});
2230
});

0 commit comments

Comments
 (0)