/*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;
|