45 lines
1.4 KiB
JavaScript
45 lines
1.4 KiB
JavaScript
"use strict";
|
|
(function errorsPrivateClosure () {
|
|
class BasicError {
|
|
/**
|
|
* @param {String} path - path to the file that caused an error
|
|
* @param {String} originalName - original name of the loading file
|
|
* */
|
|
constructor(path, originalName) {
|
|
this.path = path;
|
|
this.originalName = originalName;
|
|
}
|
|
|
|
get message () {return "Unknown error about file " + this.originalName + " (" + this.path + ")"};
|
|
}
|
|
|
|
/**
|
|
* This error happens when Mimicry couldn't access a file
|
|
* */
|
|
class LoadError extends BasicError {
|
|
get message () {
|
|
return "Couldn't load file " + this.originalName +
|
|
" (" + this.path + ")";
|
|
}
|
|
}
|
|
|
|
/**
|
|
* This error happens when Mimicry couldn't evaluate a file
|
|
* */
|
|
class FileError extends BasicError {
|
|
constructor(path, originalName, message, line, col, nativeError) {
|
|
super(path, originalName);
|
|
this._message = message;
|
|
this._line = line;
|
|
this._col = col;
|
|
this._err = nativeError;
|
|
}
|
|
get message () {return this._message;}
|
|
get native () {return this._err;}
|
|
}
|
|
|
|
if (typeof module === 'object' && module.exports)
|
|
module.exports = {BasicError, LoadError, FileError};
|
|
else
|
|
window.__MimicryErrors__ = {BasicError, LoadError, FileError};
|
|
})(); |