UNPKG

@altostra/core

Version:

Core library for shared types and logic

1 lines 4.09 kB
"use strict";var _AltoError_verboseMessage,__classPrivateFieldGet=this&&this.__classPrivateFieldGet||function(e,t,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(e):s?s.value:t.get(e)},__classPrivateFieldSet=this&&this.__classPrivateFieldSet||function(e,t,r,s,o){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?o.call(e,r):o?o.value=r:t.set(e,r),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getFullStack=exports.getFullErrorMessage=exports.getErrorMessage=exports.AltoError=void 0;const util_1=require("util"),Common_1=require("./Common"),VerboseMessage_1=require("./VerboseMessage"),instanceInspectionOptions=new WeakMap;class AltoError extends Error{constructor(e,t,r,s){super(e&&"string"==typeof e||!(0,Common_1.isErrorLike)(t)?e:t.message),_AltoError_verboseMessage.set(this,void 0),this.inner=t,this.code=r,this.data=s}get fullMessage(){return getFullErrorMessage(this)}get fullStack(){return getFullStack(this)}get verboseMessage(){return __classPrivateFieldGet(this,_AltoError_verboseMessage,"f")||__classPrivateFieldSet(this,_AltoError_verboseMessage,new VerboseMessage_1.VerboseMessage(e=>(0,util_1.inspect)(e,this._inspectOptions).split("\n"),this.message,this.data,this.inner instanceof AltoError?this.inner.verboseMessage:void 0),"f"),__classPrivateFieldGet(this,_AltoError_verboseMessage,"f")}setInspectionOptions(e){e?instanceInspectionOptions.set(this,e):instanceInspectionOptions.delete(this)}resetInspectionOptions(){this.setInspectionOptions(void 0)}get _inspectOptions(){var e,t;return null!==(t=null!==(e=instanceInspectionOptions.get(this))&&void 0!==e?e:this._classInspectionOptions)&&void 0!==t?t:Common_1.DEF_INSPECT_OPT}[(_AltoError_verboseMessage=new WeakMap,util_1.inspect.custom)](e){var t;const r=this._inspectOptions;return(0,util_1.inspect)(this,Object.assign(Object.assign({},r),{depth:Math.max(e,null!==(t=r.depth)&&void 0!==t?t:e),customInspect:!1}))}get _classInspectionOptions(){return AltoError._inspectOptions}static create(e,t){let r;if("string"==typeof e)r=Object.assign(Object.assign({},t),{message:e});else{if("object"!=typeof e)throw new AltoError("Invalid AltoError creation params",void 0,void 0,{params:arguments});r=e}const{message:s,code:o,data:n}=r;return altoError(void 0,{message:s,code:o,data:n})}static wrapFunction(e,t){return function(...r){try{return e(...r)}catch(e){throw altoError(e,t)}}}static wrapActionExecution(e,t){return this.wrapFunction(e,t)()}static wrapError(e,t){return altoError(e,t)}static wrapPromise(e,t){return e.catch(e=>{throw AltoError.wrapError(e,t)})}static setInspectionOptions(e){this._inspectOptions=e}static resetInspectionOptions(){return this.setInspectionOptions(void 0)}}function getErrorMessage(e){return(0,Common_1.isErrorLike)(e)?e.message:null!=e?String(e):void 0}function getFullErrorMessage(e){return e instanceof AltoError&&e.inner?`${e.message} ${getFullErrorMessage(e.inner)}`:getErrorMessage(e)}function getFullStack(e){if(e instanceof AltoError&&e.inner){const t=getFullStack(e.inner);return t?`${e.stack}\n${t}`:e.stack}if(e instanceof Error)return e.stack}function altoError(e,{message:t,code:r,data:s,forceWrap:o}={}){if(!(0,Common_1.isErrorLike)(e)){const t=String(e);e=Object.assign(new Error(t),{original:e})}if(e instanceof AltoError&&!o)return e;let n=(0,Common_1.fromHandler)(e,r),i=(0,Common_1.fromHandler)(e,s);e instanceof AltoError&&(n=null!=n?n:e.code,i=null!=i?i:e.data);const a=(0,Common_1.fromHandler)(e,t);return new AltoError(a,e,n,i)}exports.AltoError=AltoError,exports.getErrorMessage=getErrorMessage,exports.getFullErrorMessage=getFullErrorMessage,exports.getFullStack=getFullStack;