93 lines
9.6 KiB
JavaScript
93 lines
9.6 KiB
JavaScript
"use strict";
|
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
if (k2 === undefined) k2 = k;
|
|
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
}) : (function(o, m, k, k2) {
|
|
if (k2 === undefined) k2 = k;
|
|
o[k2] = m[k];
|
|
}));
|
|
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
}) : function(o, v) {
|
|
o["default"] = v;
|
|
});
|
|
var __importStar = (this && this.__importStar) || function (mod) {
|
|
if (mod && mod.__esModule) return mod;
|
|
var result = {};
|
|
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
__setModuleDefault(result, mod);
|
|
return result;
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.CODES = exports.CLASSES = exports.MESSAGES = exports.UnableToOpenDisplayError = exports.UnableToAccessScreenRecordingAPIError = exports.UnableToAccessAutomationAPIError = exports.NativeBinaryHasFailedError = exports.UnableToRunBrowsersError = exports.BrowserPathNotSetError = void 0;
|
|
const CODES = __importStar(require("./codes"));
|
|
exports.CODES = CODES;
|
|
const TEMPLATES = __importStar(require("../templates"));
|
|
function getErrorCode(errorClass) {
|
|
const code = Object
|
|
.keys(CODES)
|
|
.find(currentCode => exports.CLASSES[currentCode] === errorClass); // eslint-disable-line no-use-before-define
|
|
return code || CODES.E000;
|
|
}
|
|
function getErrorInfo(errorClass) {
|
|
const code = getErrorCode(errorClass);
|
|
return {
|
|
constructor: exports.CLASSES[code],
|
|
message: exports.MESSAGES[code],
|
|
code
|
|
};
|
|
}
|
|
class BasicError extends Error {
|
|
constructor(data = {}) {
|
|
const { code, constructor, message } = getErrorInfo(new.target);
|
|
super(message(data));
|
|
this.name = constructor.name;
|
|
this.data = data;
|
|
this.code = code;
|
|
}
|
|
}
|
|
class BrowserPathNotSetError extends BasicError {
|
|
}
|
|
exports.BrowserPathNotSetError = BrowserPathNotSetError;
|
|
class UnableToRunBrowsersError extends BasicError {
|
|
constructor({ path }) {
|
|
super({ path });
|
|
}
|
|
}
|
|
exports.UnableToRunBrowsersError = UnableToRunBrowsersError;
|
|
class NativeBinaryHasFailedError extends BasicError {
|
|
constructor({ binary, exitCode, output }) {
|
|
super({ binary, exitCode, output });
|
|
}
|
|
}
|
|
exports.NativeBinaryHasFailedError = NativeBinaryHasFailedError;
|
|
class PermissionError extends NativeBinaryHasFailedError {
|
|
}
|
|
class UnableToAccessAutomationAPIError extends PermissionError {
|
|
}
|
|
exports.UnableToAccessAutomationAPIError = UnableToAccessAutomationAPIError;
|
|
class UnableToAccessScreenRecordingAPIError extends PermissionError {
|
|
}
|
|
exports.UnableToAccessScreenRecordingAPIError = UnableToAccessScreenRecordingAPIError;
|
|
class UnableToOpenDisplayError extends NativeBinaryHasFailedError {
|
|
}
|
|
exports.UnableToOpenDisplayError = UnableToOpenDisplayError;
|
|
exports.MESSAGES = {
|
|
[CODES.E000]: TEMPLATES.BASIC_ERROR_MESSAGE,
|
|
[CODES.E001]: TEMPLATES.BROWSER_PATH_NOT_SET,
|
|
[CODES.E002]: TEMPLATES.UNABLE_TO_RUN_BROWSERS,
|
|
[CODES.E003]: TEMPLATES.NATIVE_BINARY_HAS_FAILED,
|
|
[CODES.E004]: TEMPLATES.UNABLE_TO_ACCESS_AUTOMATION_API,
|
|
[CODES.E005]: TEMPLATES.UNABLE_TO_ACCESS_SCREEN_RECORDING_API,
|
|
[CODES.E006]: TEMPLATES.UNABLE_TO_OPEN_DISPLAY
|
|
};
|
|
exports.CLASSES = {
|
|
[CODES.E000]: BasicError,
|
|
[CODES.E001]: BrowserPathNotSetError,
|
|
[CODES.E002]: UnableToRunBrowsersError,
|
|
[CODES.E003]: NativeBinaryHasFailedError,
|
|
[CODES.E004]: UnableToAccessAutomationAPIError,
|
|
[CODES.E005]: UnableToAccessScreenRecordingAPIError,
|
|
[CODES.E006]: UnableToOpenDisplayError
|
|
};
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXJyb3JzL2luZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUF3RnhCLHNCQUFLO0FBdkZkLHdEQUEwQztBQUcxQyxTQUFTLFlBQVksQ0FBRSxVQUFVO0lBQzdCLE1BQU0sSUFBSSxHQUFHLE1BQU07U0FDZCxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQ1gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsZUFBTyxDQUFDLFdBQVcsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsMkNBQTJDO0lBRTFHLE9BQU8sSUFBSSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUM7QUFDOUIsQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFFLFVBQVU7SUFDN0IsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXRDLE9BQU87UUFDSCxXQUFXLEVBQUUsZUFBTyxDQUFDLElBQUksQ0FBQztRQUMxQixPQUFPLEVBQU0sZ0JBQVEsQ0FBQyxJQUFJLENBQUM7UUFFM0IsSUFBSTtLQUNQLENBQUM7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFXLFNBQVEsS0FBSztJQUMxQixZQUFhLElBQUksR0FBRyxFQUFFO1FBQ2xCLE1BQU0sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxHQUFJLFlBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFakUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRXJCLElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0NBQ0o7QUFFRCxNQUFhLHNCQUF1QixTQUFRLFVBQVU7Q0FFckQ7QUFGRCx3REFFQztBQUVELE1BQWEsd0JBQXlCLFNBQVEsVUFBVTtJQUNwRCxZQUFhLEVBQUUsSUFBSSxFQUFFO1FBQ2pCLEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDcEIsQ0FBQztDQUNKO0FBSkQsNERBSUM7QUFFRCxNQUFhLDBCQUEyQixTQUFRLFVBQVU7SUFDdEQsWUFBYSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFO1FBQ3JDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO0NBQ0o7QUFKRCxnRUFJQztBQUVELE1BQU0sZUFBZ0IsU0FBUSwwQkFBMEI7Q0FFdkQ7QUFFRCxNQUFhLGdDQUFpQyxTQUFRLGVBQWU7Q0FFcEU7QUFGRCw0RUFFQztBQUVELE1BQWEscUNBQXNDLFNBQVEsZUFBZTtDQUV6RTtBQUZELHNGQUVDO0FBRUQsTUFBYSx3QkFBeUIsU0FBUSwwQkFBMEI7Q0FFdkU7QUFGRCw0REFFQztBQUVZLFFBQUEsUUFBUSxHQUFHO0lBQ3BCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxtQkFBbUI7SUFDM0MsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxDQUFDLG9CQUFvQjtJQUM1QyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLENBQUMsc0JBQXNCO0lBQzlDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyx3QkFBd0I7SUFDaEQsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxDQUFDLCtCQUErQjtJQUN2RCxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLENBQUMscUNBQXFDO0lBQzdELENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxzQkFBc0I7Q0FDakQsQ0FBQztBQUVXLFFBQUEsT0FBTyxHQUFHO0lBQ25CLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLFVBQVU7SUFDeEIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsc0JBQXNCO0lBQ3BDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLHdCQUF3QjtJQUN0QyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSwwQkFBMEI7SUFDeEMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsZ0NBQWdDO0lBQzlDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLHFDQUFxQztJQUNuRCxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSx3QkFBd0I7Q0FDekMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIENPREVTIGZyb20gJy4vY29kZXMnO1xuaW1wb3J0ICogYXMgVEVNUExBVEVTIGZyb20gJy4uL3RlbXBsYXRlcyc7XG5cblxuZnVuY3Rpb24gZ2V0RXJyb3JDb2RlIChlcnJvckNsYXNzKSB7XG4gICAgY29uc3QgY29kZSA9IE9iamVjdFxuICAgICAgICAua2V5cyhDT0RFUylcbiAgICAgICAgLmZpbmQoY3VycmVudENvZGUgPT4gQ0xBU1NFU1tjdXJyZW50Q29kZV0gPT09IGVycm9yQ2xhc3MpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVzZS1iZWZvcmUtZGVmaW5lXG5cbiAgICByZXR1cm4gY29kZSB8fCBDT0RFUy5FMDAwO1xufVxuXG5mdW5jdGlvbiBnZXRFcnJvckluZm8gKGVycm9yQ2xhc3MpIHtcbiAgICBjb25zdCBjb2RlID0gZ2V0RXJyb3JDb2RlKGVycm9yQ2xhc3MpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgY29uc3RydWN0b3I6IENMQVNTRVNbY29kZV0sIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdXNlLWJlZm9yZS1kZWZpbmVcbiAgICAgICAgbWVzc2FnZTogICAgIE1FU1NBR0VTW2NvZGVdLCAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVzZS1iZWZvcmUtZGVmaW5lXG5cbiAgICAgICAgY29kZVxuICAgIH07XG59XG5cbmNsYXNzIEJhc2ljRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgY29uc3RydWN0b3IgKGRhdGEgPSB7fSkge1xuICAgICAgICBjb25zdCB7IGNvZGUsIGNvbnN0cnVjdG9yLCBtZXNzYWdlIH0gID0gZ2V0RXJyb3JJbmZvKG5ldy50YXJnZXQpO1xuXG4gICAgICAgIHN1cGVyKG1lc3NhZ2UoZGF0YSkpO1xuXG4gICAgICAgIHRoaXMubmFtZSA9IGNvbnN0cnVjdG9yLm5hbWU7XG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gICAgICAgIHRoaXMuY29kZSA9IGNvZGU7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQnJvd3NlclBhdGhOb3RTZXRFcnJvciBleHRlbmRzIEJhc2ljRXJyb3Ige1xuXG59XG5cbmV4cG9ydCBjbGFzcyBVbmFibGVUb1J1bkJyb3dzZXJzRXJyb3IgZXh0ZW5kcyBCYXNpY0Vycm9yIHtcbiAgICBjb25zdHJ1Y3RvciAoeyBwYXRoIH0pIHtcbiAgICAgICAgc3VwZXIoeyBwYXRoIH0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIE5hdGl2ZUJpbmFyeUhhc0ZhaWxlZEVycm9yIGV4dGVuZHMgQmFzaWNFcnJvciB7XG4gICAgY29uc3RydWN0b3IgKHsgYmluYXJ5LCBleGl0Q29kZSwgb3V0cHV0IH0pIHtcbiAgICAgICAgc3VwZXIoeyBiaW5hcnksIGV4aXRDb2RlLCBvdXRwdXQgfSk7XG4gICAgfVxufVxuXG5jbGFzcyBQZXJtaXNzaW9uRXJyb3IgZXh0ZW5kcyBOYXRpdmVCaW5hcnlIYXNGYWlsZWRFcnJvciB7XG5cbn1cblxuZXhwb3J0IGNsYXNzIFVuYWJsZVRvQWNjZXNzQXV0b21hdGlvbkFQSUVycm9yIGV4dGVuZHMgUGVybWlzc2lvbkVycm9yIHtcblxufVxuXG5leHBvcnQgY2xhc3MgVW5hYmxlVG9BY2Nlc3NTY3JlZW5SZWNvcmRpbmdBUElFcnJvciBleHRlbmRzIFBlcm1pc3Npb25FcnJvciB7XG5cbn1cblxuZXhwb3J0IGNsYXNzIFVuYWJsZVRvT3BlbkRpc3BsYXlFcnJvciBleHRlbmRzIE5hdGl2ZUJpbmFyeUhhc0ZhaWxlZEVycm9yIHtcblxufVxuXG5leHBvcnQgY29uc3QgTUVTU0FHRVMgPSB7XG4gICAgW0NPREVTLkUwMDBdOiBURU1QTEFURVMuQkFTSUNfRVJST1JfTUVTU0FHRSxcbiAgICBbQ09ERVMuRTAwMV06IFRFTVBMQVRFUy5CUk9XU0VSX1BBVEhfTk9UX1NFVCxcbiAgICBbQ09ERVMuRTAwMl06IFRFTVBMQVRFUy5VTkFCTEVfVE9fUlVOX0JST1dTRVJTLFxuICAgIFtDT0RFUy5FMDAzXTogVEVNUExBVEVTLk5BVElWRV9CSU5BUllfSEFTX0ZBSUxFRCxcbiAgICBbQ09ERVMuRTAwNF06IFRFTVBMQVRFUy5VTkFCTEVfVE9fQUNDRVNTX0FVVE9NQVRJT05fQVBJLFxuICAgIFtDT0RFUy5FMDA1XTogVEVNUExBVEVTLlVOQUJMRV9UT19BQ0NFU1NfU0NSRUVOX1JFQ09SRElOR19BUEksXG4gICAgW0NPREVTLkUwMDZdOiBURU1QTEFURVMuVU5BQkxFX1RPX09QRU5fRElTUExBWVxufTtcblxuZXhwb3J0IGNvbnN0IENMQVNTRVMgPSB7XG4gICAgW0NPREVTLkUwMDBdOiBCYXNpY0Vycm9yLFxuICAgIFtDT0RFUy5FMDAxXTogQnJvd3NlclBhdGhOb3RTZXRFcnJvcixcbiAgICBbQ09ERVMuRTAwMl06IFVuYWJsZVRvUnVuQnJvd3NlcnNFcnJvcixcbiAgICBbQ09ERVMuRTAwM106IE5hdGl2ZUJpbmFyeUhhc0ZhaWxlZEVycm9yLFxuICAgIFtDT0RFUy5FMDA0XTogVW5hYmxlVG9BY2Nlc3NBdXRvbWF0aW9uQVBJRXJyb3IsXG4gICAgW0NPREVTLkUwMDVdOiBVbmFibGVUb0FjY2Vzc1NjcmVlblJlY29yZGluZ0FQSUVycm9yLFxuICAgIFtDT0RFUy5FMDA2XTogVW5hYmxlVG9PcGVuRGlzcGxheUVycm9yXG59O1xuXG5cbmV4cG9ydCB7IENPREVTIH07XG4iXX0=
|