ts-custom-error
Advanced tools
Comparing version 2.1.0 to 2.2.0
@@ -0,1 +1,19 @@ | ||
<a name="2.2.0"></a> | ||
# [2.2.0](https://github.com/adriengibrat/ts-custom-error/compare/v2.1.0...v2.2.0) (2018-04-04) | ||
### Features | ||
* Add custom error name support ([7791153](https://github.com/adriengibrat/ts-custom-error/commit/7791153)) | ||
<a name="2.1.0"></a> | ||
# [2.1.0](https://github.com/adriengibrat/ts-custom-error/compare/v2.0.0...v2.1.0) (2018-03-24) | ||
### Features | ||
* Improve factory typings ([dc1eed6](https://github.com/adriengibrat/ts-custom-error/commit/dc1eed6)) | ||
<a name="2.0.0"></a> | ||
@@ -2,0 +20,0 @@ # [2.0.0](https://github.com/adriengibrat/ts-custom-error/compare/v1.0.1...v2.0.0) (2018-03-16) |
export declare class CustomError extends Error { | ||
name: string; | ||
constructor(message?: string); | ||
} |
@@ -45,2 +45,3 @@ /*! ***************************************************************************** | ||
var _this = _super.call(this, message) || this; | ||
_this.name = _newTarget.name; | ||
fixProto(_this, _newTarget.prototype); | ||
@@ -67,2 +68,3 @@ fixStack(_this); | ||
fn.apply(this, args); | ||
this.name = fn.name || parent.name; | ||
fixStack(this, CustomError); | ||
@@ -69,0 +71,0 @@ } |
@@ -55,2 +55,3 @@ (function (global, factory) { | ||
var _this = _super.call(this, message) || this; | ||
_this.name = _newTarget.name; | ||
fixProto(_this, _newTarget.prototype); | ||
@@ -66,3 +67,3 @@ fixStack(_this); | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImN1c3RvbS1lcnJvci50cyhvcmlnaW5hbCkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxhQUFhO0FBQ3pCLFFBQVMsVUFBVSxlQUFnQjtBQUNuQyxHQUFBLENBQUksZUFBZSxVQUFVLFFBQVE7SUFDakMsT0FBQSxDQUFRLFNBQVIsQ0FBa0IsYUFBYTtJQUMvQixTQUFTLFlBQVksU0FBUztRQUMxQixHQUFBLENBQUksYUFBYSxJQUFBLENBQUs7UUFDdEIsR0FBQSxDQUFJLFFBQVEsTUFBQSxDQUFPLElBQVAsQ0FBWSxNQUFNLFFBQWxCLENBQUEsRUFBQSxDQUE4QjtRQUMxQyxRQUFBLENBQVMsT0FBTyxVQUFBLENBQVc7UUFDM0IsUUFBQSxDQUFTO1FBQ1QsT0FBTztJQUNmOztJQUNJLE9BQU87QUFDWCxFQVZtQixDQVVqQjtBQUNGLE9BQUEsQ0FBUztBQWJUIiwiZmlsZSI6ImN1c3RvbS1lcnJvci50cyhvcmlnaW5hbCkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB0c2xpYl8xIGZyb20gXCJ0c2xpYlwiO1xyXG5pbXBvcnQgeyBmaXhQcm90bywgZml4U3RhY2sgfSBmcm9tICcuL3V0aWxzJztcclxudmFyIEN1c3RvbUVycm9yID0gKGZ1bmN0aW9uIChfc3VwZXIpIHtcclxuICAgIHRzbGliXzEuX19leHRlbmRzKEN1c3RvbUVycm9yLCBfc3VwZXIpO1xyXG4gICAgZnVuY3Rpb24gQ3VzdG9tRXJyb3IobWVzc2FnZSkge1xyXG4gICAgICAgIHZhciBfbmV3VGFyZ2V0ID0gdGhpcy5jb25zdHJ1Y3RvcjtcclxuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBtZXNzYWdlKSB8fCB0aGlzO1xyXG4gICAgICAgIGZpeFByb3RvKF90aGlzLCBfbmV3VGFyZ2V0LnByb3RvdHlwZSk7XHJcbiAgICAgICAgZml4U3RhY2soX3RoaXMpO1xyXG4gICAgICAgIHJldHVybiBfdGhpcztcclxuICAgIH1cclxuICAgIHJldHVybiBDdXN0b21FcnJvcjtcclxufShFcnJvcikpO1xyXG5leHBvcnQgeyBDdXN0b21FcnJvciB9O1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1jdXN0b20tZXJyb3IuanMubWFwIl19 | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImN1c3RvbS1lcnJvci50cyhvcmlnaW5hbCkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxhQUFhO0FBQ3pCLFFBQVMsVUFBVSxlQUFnQjtBQUNuQyxHQUFBLENBQUksZUFBZSxVQUFVLFFBQVE7SUFDakMsT0FBQSxDQUFRLFNBQVIsQ0FBa0IsYUFBYTtJQUMvQixTQUFTLFlBQVksU0FBUztRQUMxQixHQUFBLENBQUksYUFBYSxJQUFBLENBQUs7UUFDdEIsR0FBQSxDQUFJLFFBQVEsTUFBQSxDQUFPLElBQVAsQ0FBWSxNQUFNLFFBQWxCLENBQUEsRUFBQSxDQUE4QjtRQUMxQyxLQUFBLENBQU0sSUFBTixDQUFBLENBQUEsQ0FBYSxVQUFBLENBQVc7UUFDeEIsUUFBQSxDQUFTLE9BQU8sVUFBQSxDQUFXO1FBQzNCLFFBQUEsQ0FBUztRQUNULE9BQU87SUFDZjs7SUFDSSxPQUFPO0FBQ1gsRUFYbUIsQ0FXakI7QUFDRixPQUFBLENBQVM7QUFkVCIsImZpbGUiOiJjdXN0b20tZXJyb3IudHMob3JpZ2luYWwpIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdHNsaWJfMSBmcm9tIFwidHNsaWJcIjtcclxuaW1wb3J0IHsgZml4UHJvdG8sIGZpeFN0YWNrIH0gZnJvbSAnLi91dGlscyc7XHJcbnZhciBDdXN0b21FcnJvciA9IChmdW5jdGlvbiAoX3N1cGVyKSB7XHJcbiAgICB0c2xpYl8xLl9fZXh0ZW5kcyhDdXN0b21FcnJvciwgX3N1cGVyKTtcclxuICAgIGZ1bmN0aW9uIEN1c3RvbUVycm9yKG1lc3NhZ2UpIHtcclxuICAgICAgICB2YXIgX25ld1RhcmdldCA9IHRoaXMuY29uc3RydWN0b3I7XHJcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgbWVzc2FnZSkgfHwgdGhpcztcclxuICAgICAgICBfdGhpcy5uYW1lID0gX25ld1RhcmdldC5uYW1lO1xyXG4gICAgICAgIGZpeFByb3RvKF90aGlzLCBfbmV3VGFyZ2V0LnByb3RvdHlwZSk7XHJcbiAgICAgICAgZml4U3RhY2soX3RoaXMpO1xyXG4gICAgICAgIHJldHVybiBfdGhpcztcclxuICAgIH1cclxuICAgIHJldHVybiBDdXN0b21FcnJvcjtcclxufShFcnJvcikpO1xyXG5leHBvcnQgeyBDdXN0b21FcnJvciB9O1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1jdXN0b20tZXJyb3IuanMubWFwIl19 | ||
@@ -82,2 +83,3 @@ function customErrorFactory(fn, parent) { | ||
fn.apply(this, args); | ||
this.name = fn.name || parent.name; | ||
fixStack(this, CustomError); | ||
@@ -101,3 +103,3 @@ } | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZhY3RvcnkudHMob3JpZ2luYWwpIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFFBQVMsZUFBZ0I7QUFDekIsT0FBTyxTQUFTLG1CQUFtQixFQUFJLEVBQUEsUUFBUTtJQUMzQyxJQUFJLE1BQUEsQ0FBQSxHQUFBLENBQVcsSUFBQSxDQUFLLEdBQUc7UUFBRSxNQUFBLENBQUEsQ0FBQSxDQUFTO0lBQXRDO0lBQ0ksU0FBUyxjQUFjO1FBQ25CLEdBQUEsQ0FBSSxPQUFPO1FBQ1gsS0FBSyxHQUFBLENBQUksS0FBSyxFQUFHLEVBQUEsQ0FBQSxDQUFBLENBQUssU0FBQSxDQUFVLFFBQVEsRUFBQSxJQUFNO1lBQzFDLElBQUEsQ0FBSyxHQUFMLENBQUEsQ0FBQSxDQUFXLFNBQUEsQ0FBVTtRQUNqQztRQUNRLElBQUksRUFBRSxJQUFBLENBQUEsVUFBQSxDQUFnQjtZQUNsQixPQUFPLEtBQUssV0FBQSxDQUFZLElBQVosQ0FBaUIsS0FBakIsQ0FBdUIsYUFBYSxDQUFDLElBQUEsQ0FBSyxFQUFOLENBQVMsTUFBVCxDQUFnQixPQUF6RDtRQUNYLE1BQUEsQ0FBTyxLQUFQLENBQWEsTUFBTTtRQUNuQixFQUFBLENBQUcsS0FBSCxDQUFTLE1BQU07UUFDZixRQUFBLENBQVMsTUFBTTtJQUN2Qjs7SUFDSSxPQUFPLE1BQUEsQ0FBTyxnQkFBUCxDQUF3QixhQUFhO1FBQ3hDLFdBQVc7WUFDUCxPQUFPLE1BQUEsQ0FBTyxNQUFQLENBQWMsTUFBQSxDQUFPLFdBQVc7Z0JBQ25DLGFBQWE7b0JBQ1QsT0FBTyxXQURFLENBQUE7b0JBRVQsVUFBVSxJQUZELENBQUE7b0JBR1QsY0FBYzs7Ozs7QUFLbEM7O0FBekJBIiwiZmlsZSI6ImZhY3RvcnkudHMob3JpZ2luYWwpIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZml4U3RhY2sgfSBmcm9tICcuL3V0aWxzJztcclxuZXhwb3J0IGZ1bmN0aW9uIGN1c3RvbUVycm9yRmFjdG9yeShmbiwgcGFyZW50KSB7XHJcbiAgICBpZiAocGFyZW50ID09PSB2b2lkIDApIHsgcGFyZW50ID0gRXJyb3I7IH1cclxuICAgIGZ1bmN0aW9uIEN1c3RvbUVycm9yKCkge1xyXG4gICAgICAgIHZhciBhcmdzID0gW107XHJcbiAgICAgICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcclxuICAgICAgICAgICAgYXJnc1tfaV0gPSBhcmd1bWVudHNbX2ldO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoISh0aGlzIGluc3RhbmNlb2YgQ3VzdG9tRXJyb3IpKVxyXG4gICAgICAgICAgICByZXR1cm4gbmV3IChDdXN0b21FcnJvci5iaW5kLmFwcGx5KEN1c3RvbUVycm9yLCBbdm9pZCAwXS5jb25jYXQoYXJncykpKSgpO1xyXG4gICAgICAgIHBhcmVudC5hcHBseSh0aGlzLCBhcmdzKTtcclxuICAgICAgICBmbi5hcHBseSh0aGlzLCBhcmdzKTtcclxuICAgICAgICBmaXhTdGFjayh0aGlzLCBDdXN0b21FcnJvcik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoQ3VzdG9tRXJyb3IsIHtcclxuICAgICAgICBwcm90b3R5cGU6IHtcclxuICAgICAgICAgICAgdmFsdWU6IE9iamVjdC5jcmVhdGUocGFyZW50LnByb3RvdHlwZSwge1xyXG4gICAgICAgICAgICAgICAgY29uc3RydWN0b3I6IHtcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogQ3VzdG9tRXJyb3IsXHJcbiAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgfSxcclxuICAgIH0pO1xyXG59XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWZhY3RvcnkuanMubWFwIl19 | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZhY3RvcnkudHMob3JpZ2luYWwpIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFFBQVMsZUFBZ0I7QUFDekIsT0FBTyxTQUFTLG1CQUFtQixFQUFJLEVBQUEsUUFBUTtJQUMzQyxJQUFJLE1BQUEsQ0FBQSxHQUFBLENBQVcsSUFBQSxDQUFLLEdBQUc7UUFBRSxNQUFBLENBQUEsQ0FBQSxDQUFTO0lBQXRDO0lBQ0ksU0FBUyxjQUFjO1FBQ25CLEdBQUEsQ0FBSSxPQUFPO1FBQ1gsS0FBSyxHQUFBLENBQUksS0FBSyxFQUFHLEVBQUEsQ0FBQSxDQUFBLENBQUssU0FBQSxDQUFVLFFBQVEsRUFBQSxJQUFNO1lBQzFDLElBQUEsQ0FBSyxHQUFMLENBQUEsQ0FBQSxDQUFXLFNBQUEsQ0FBVTtRQUNqQztRQUNRLElBQUksRUFBRSxJQUFBLENBQUEsVUFBQSxDQUFnQjtZQUNsQixPQUFPLEtBQUssV0FBQSxDQUFZLElBQVosQ0FBaUIsS0FBakIsQ0FBdUIsYUFBYSxDQUFDLElBQUEsQ0FBSyxFQUFOLENBQVMsTUFBVCxDQUFnQixPQUF6RDtRQUNYLE1BQUEsQ0FBTyxLQUFQLENBQWEsTUFBTTtRQUNuQixFQUFBLENBQUcsS0FBSCxDQUFTLE1BQU07UUFDZixJQUFBLENBQUssSUFBTCxDQUFBLENBQUEsQ0FBWSxFQUFBLENBQUcsSUFBSCxDQUFBLEVBQUEsQ0FBVyxNQUFBLENBQU87UUFDOUIsUUFBQSxDQUFTLE1BQU07SUFDdkI7O0lBQ0ksT0FBTyxNQUFBLENBQU8sZ0JBQVAsQ0FBd0IsYUFBYTtRQUN4QyxXQUFXO1lBQ1AsT0FBTyxNQUFBLENBQU8sTUFBUCxDQUFjLE1BQUEsQ0FBTyxXQUFXO2dCQUNuQyxhQUFhO29CQUNULE9BQU8sV0FERSxDQUFBO29CQUVULFVBQVUsSUFGRCxDQUFBO29CQUdULGNBQWM7Ozs7O0FBS2xDOztBQTFCQSIsImZpbGUiOiJmYWN0b3J5LnRzKG9yaWdpbmFsKSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpeFN0YWNrIH0gZnJvbSAnLi91dGlscyc7XHJcbmV4cG9ydCBmdW5jdGlvbiBjdXN0b21FcnJvckZhY3RvcnkoZm4sIHBhcmVudCkge1xyXG4gICAgaWYgKHBhcmVudCA9PT0gdm9pZCAwKSB7IHBhcmVudCA9IEVycm9yOyB9XHJcbiAgICBmdW5jdGlvbiBDdXN0b21FcnJvcigpIHtcclxuICAgICAgICB2YXIgYXJncyA9IFtdO1xyXG4gICAgICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBhcmd1bWVudHMubGVuZ3RoOyBfaSsrKSB7XHJcbiAgICAgICAgICAgIGFyZ3NbX2ldID0gYXJndW1lbnRzW19pXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIEN1c3RvbUVycm9yKSlcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyAoQ3VzdG9tRXJyb3IuYmluZC5hcHBseShDdXN0b21FcnJvciwgW3ZvaWQgMF0uY29uY2F0KGFyZ3MpKSkoKTtcclxuICAgICAgICBwYXJlbnQuYXBwbHkodGhpcywgYXJncyk7XHJcbiAgICAgICAgZm4uYXBwbHkodGhpcywgYXJncyk7XHJcbiAgICAgICAgdGhpcy5uYW1lID0gZm4ubmFtZSB8fCBwYXJlbnQubmFtZTtcclxuICAgICAgICBmaXhTdGFjayh0aGlzLCBDdXN0b21FcnJvcik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoQ3VzdG9tRXJyb3IsIHtcclxuICAgICAgICBwcm90b3R5cGU6IHtcclxuICAgICAgICAgICAgdmFsdWU6IE9iamVjdC5jcmVhdGUocGFyZW50LnByb3RvdHlwZSwge1xyXG4gICAgICAgICAgICAgICAgY29uc3RydWN0b3I6IHtcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogQ3VzdG9tRXJyb3IsXHJcbiAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgfSxcclxuICAgIH0pO1xyXG59XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWZhY3RvcnkuanMubWFwIl19 | ||
@@ -104,0 +106,0 @@ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzKG9yaWdpbmFsKSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFBO0FBQ2QsY0FBYyxXQUFBO0FBRGQiLCJmaWxlIjoiaW5kZXgudHMob3JpZ2luYWwpIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jdXN0b20tZXJyb3InO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZhY3RvcnknO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= |
@@ -1,1 +0,1 @@ | ||
!function(t,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports):"function"==typeof define&&define.amd?define(["exports"],o):o(t.tsCustomError={})}(this,function(t){function o(t,o){function r(){this.constructor=t}c(t,o),t.prototype=null===o?Object.create(o):(r.prototype=o.prototype,new r)}function r(t,o){var r=Object.setPrototypeOf;r?r(t,o):t.__proto__=o}function e(t,o){void 0===o&&(o=t.constructor);var r=Error.captureStackTrace;r&&r(t,o)}function n(t,o){function r(){for(var n=[],c=0;c<arguments.length;c++)n[c]=arguments[c];if(!(this instanceof r))return new(r.bind.apply(r,[void 0].concat(n)));o.apply(this,n),t.apply(this,n),e(this,r)}return void 0===o&&(o=Error),Object.defineProperties(r,{prototype:{value:Object.create(o.prototype,{constructor:{value:r,writable:!0,configurable:!0}})}})}var c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,o){t.__proto__=o}||function(t,o){for(var r in o)o.hasOwnProperty(r)&&(t[r]=o[r])},i=function(t){function n(o){var n=this.constructor,c=t.call(this,o)||this;return r(c,n.prototype),e(c),c}return o(n,t),n}(Error);t.CustomError=i,t.customErrorFactory=n}); | ||
!function(t,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports):"function"==typeof define&&define.amd?define(["exports"],o):o(t.tsCustomError={})}(this,function(t){function o(t,o){function r(){this.constructor=t}c(t,o),t.prototype=null===o?Object.create(o):(r.prototype=o.prototype,new r)}function r(t,o){var r=Object.setPrototypeOf;r?r(t,o):t.__proto__=o}function e(t,o){void 0===o&&(o=t.constructor);var r=Error.captureStackTrace;r&&r(t,o)}function n(t,o){function r(){for(var n=[],c=0;c<arguments.length;c++)n[c]=arguments[c];if(!(this instanceof r))return new(r.bind.apply(r,[void 0].concat(n)));o.apply(this,n),t.apply(this,n),this.name=t.name||o.name,e(this,r)}return void 0===o&&(o=Error),Object.defineProperties(r,{prototype:{value:Object.create(o.prototype,{constructor:{value:r,writable:!0,configurable:!0}})}})}var c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,o){t.__proto__=o}||function(t,o){for(var r in o)o.hasOwnProperty(r)&&(t[r]=o[r])},i=function(t){function n(o){var n=this.constructor,c=t.call(this,o)||this;return c.name=n.name,r(c,n.prototype),e(c),c}return o(n,t),n}(Error);t.CustomError=i,t.customErrorFactory=n}); |
{ | ||
"name": "ts-custom-error", | ||
"version": "2.1.0", | ||
"version": "2.2.0", | ||
"description": "Extend native Error to create custom errors", | ||
@@ -28,3 +28,3 @@ "repository": "github:adriengibrat/ts-custom-error", | ||
"postbuild": "uglifyjs --compress --mangle --output $npm_package_browser_min -- $npm_package_browser", | ||
"test": "jest --notify", | ||
"test": "jest", | ||
"coverage": "jest --coverage", | ||
@@ -35,2 +35,4 @@ "commit": "lint-staged && git-cz", | ||
"devDependencies": { | ||
"@semantic-release/changelog": "^2.0.1", | ||
"@semantic-release/git": "^4.0.1", | ||
"@types/jest": "^22.2.2", | ||
@@ -41,3 +43,3 @@ "commitizen": "^2.9.6", | ||
"jest-tap-reporter": "^1.9.0", | ||
"lint-staged": "^7.0.0", | ||
"lint-staged": "^7.0.2", | ||
"microbundle": "^0.4.4", | ||
@@ -52,3 +54,3 @@ "prettier": "^1.11.1", | ||
"tslint-config-standard": "^7.0.0", | ||
"typescript": "^2.7.2" | ||
"typescript": "^2.8.1" | ||
}, | ||
@@ -92,12 +94,20 @@ "config": { | ||
"release": { | ||
"verifyConditions": [ | ||
"@semantic-release/changelog", | ||
"@semantic-release/npm", | ||
"@semantic-release/git" | ||
], | ||
"prepare": [ | ||
"@semantic-release/changelog", | ||
"@semantic-release/npm", | ||
"@semantic-release/git" | ||
], | ||
"publish": [ | ||
"@semantic-release/npm", | ||
{ | ||
"path": "@semantic-release/npm", | ||
"tarballDir": "." | ||
}, | ||
{ | ||
"path": "@semantic-release/github", | ||
"assets": [ | ||
{ | ||
"path": "dist", | ||
"label": "Bundled code" | ||
} | ||
] | ||
"assets": "*.tgz" | ||
} | ||
@@ -104,0 +114,0 @@ ] |
@@ -87,4 +87,11 @@ # Typescript Custom Error | ||
- Error name is always `Error` (or the name of the underlying native Error when using `customErrorFactory`). You may fix this behaviour if it's an issue with some legacy code: | ||
#### Minification and transpilation mangle custom Error names. | ||
Unexpected results are: | ||
- Minified identifiers in place of custom Error name in Stacktrace | ||
- Wrong error recognition where using errors name (bad practice) instead of `instanceof` | ||
You may fix this behaviour by: | ||
- Using [uglifyjs options](https://github.com/mishoo/UglifyJS2/blob/harmony/README.md) `--mangle 'except=["MyError"]'` (need to specify all custom error names) or `--keep_fnames` / `--keep_classnames` (nothing to specify but your bundle size will be larger) | ||
- Setting explicitly error name: | ||
```ts | ||
@@ -96,6 +103,3 @@ import { CustomError } from 'ts-custom-error' | ||
super() | ||
// Optional - CustomError does not try to set `name`, | ||
// because minification can mangle the name and | ||
// using errors name instead of `instanceof` is a bad idea. | ||
// But you may want to do it explicitly anyway: | ||
// Set name explicitly as minification can mangle class names | ||
this.name = 'MyError' | ||
@@ -109,3 +113,4 @@ } | ||
const MyError = customErrorFactory(function () { | ||
const MyError = customErrorFactory(function MyError () { | ||
// Set name explicitly as minification can remove function expression names | ||
this.name = 'MyError' | ||
@@ -112,0 +117,0 @@ }) |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
12802637
298
159
18