pet/uni_modules/uview-next/components/u-barcode/JsBarcode/exceptions/ErrorHandler.js

40 lines
660 B
JavaScript

/*eslint no-console: 0 */
class ErrorHandler{
constructor(api){
this.api = api;
}
handleCatch(e){
// If babel supported extending of Error in a correct way instanceof would be used here
if(e.name === "InvalidInputException"){
if(this.api._options.valid !== this.api._defaults.valid){
this.api._options.valid(false);
}
else{
throw e.message;
}
}
else{
throw e;
}
this.api.render = function(){};
}
wrapBarcodeCall(func){
try{
var result = func(...arguments);
this.api._options.valid(true);
return result;
}
catch(e){
this.handleCatch(e);
return this.api;
}
}
}
export default ErrorHandler;