babel-plugin-transform-builtin-classes
babel-plugin-transform-builtin-classes copied to clipboard
Not working with Node.js 8.9.0
Hello, I just try this with Node.js 8.9.0, but it doesn't worked.
This is the code am I tried:
.babelrc
{
"presets": ["env", "flow"],
"plugins": [
"transform-flow-strip-types",
"babel-plugin-transform-es2015-classes",
["babel-plugin-transform-builtin-classes", {
"globals": ["Error"],
"logIfPatched": true
}]
]
}
exceptions.js
/* @flow */
class BadRequestError extends Error {
constructor(message:string) {
super(message);
}
}
class InvalidRequestBodyError extends Error {
constructor(message:string) {
super(message);
}
}
class UnauthorizedError extends Error {
constructor(message:string) {
super(message);
}
}
class ExpiredResourceError extends Error {
constructor(message:string) {
super(message);
}
}
class InternalServerError extends Error {
constructor(message:string) {
super(message);
}
}
class ResourceNotFoundError extends Error {
constructor(message:string) {
super(message);
}
}
module.exports = {
BadRequestError,
InvalidRequestBodyError,
UnauthorizedError,
ExpiredResourceError,
InternalServerError,
ResourceNotFoundError
};
index.js
/**
* Return proper status code
* @param {Error} error
*/
function getStatusCode(error:Error):number {
console.log(error instanceof ResourceNotFoundError); // Returns false here!!
if(error instanceof InvalidRequestBodyError)
return 400;
else if(error instanceof BadRequestError)
return 400;
else if(error instanceof UnauthorizedError)
return 401;
else if(error instanceof ResourceNotFoundError)
return 404;
else if(error instanceof ExpiredResourceError)
return 410;
return 500;
}
Using [email protected] and [email protected]