@applitools/eyes
Version:
194 lines (193 loc) • 6.25 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (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.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.RemoteSessionEventHandler = exports.SessionEventHandlers = exports.SessionEventHandler = void 0;
const utils = __importStar(require("@applitools/utils"));
const RectangleSize_1 = require("./input/RectangleSize");
const TestResults_1 = require("./output/TestResults");
const ValidationInfo_1 = require("./output/ValidationInfo");
const ValidationResult_1 = require("./output/ValidationResult");
/** @deprecated */
class SessionEventHandler {
/** @internal */
attach(eyes) {
this._detach = eyes.on((name, data = {}) => {
if (!utils.types.isFunction(this, name))
return;
const args = [];
if (name === 'setSizeWillStart') {
args.push(new RectangleSize_1.RectangleSizeData(data.viewportSize));
}
else if (['testStarted', 'validationWillStart', 'validationEnded', 'testEnded'].includes(name)) {
args.push(data.sessionId);
if (name === 'validationWillStart') {
args.push(new ValidationInfo_1.ValidationInfoData(data.validationInfo));
}
else if (name === 'validationEnded') {
args.push(data.validationId, new ValidationResult_1.ValidationResultData(data.validationResult));
}
else if (name === 'testEnded') {
args.push(new TestResults_1.TestResultsData(data.testResults));
}
}
this[name](...args);
});
}
/** @internal */
detach() {
if (this._detach)
this._detach();
}
}
exports.SessionEventHandler = SessionEventHandler;
/** @deprecated */
class SessionEventHandlers extends SessionEventHandler {
constructor() {
super(...arguments);
this._handlers = new Set();
}
addEventHandler(handler) {
if (handler === this)
return;
this._handlers.add(handler);
}
removeEventHandler(handler) {
if (handler === this)
return;
this._handlers.delete(handler);
}
clearEventHandlers() {
this._handlers.clear();
}
initStarted() {
this._handlers.forEach(handler => handler.initStarted());
}
initEnded() {
this._handlers.forEach(handler => handler.initEnded());
}
setSizeWillStart(viewportSize) {
this._handlers.forEach(handler => handler.setSizeWillStart(viewportSize));
}
setSizeEnded() {
this._handlers.forEach(handler => handler.setSizeEnded());
}
testStarted(sessionId) {
this._handlers.forEach(handler => handler.testStarted(sessionId));
}
testEnded(sessionId, testResults) {
this._handlers.forEach(handler => handler.testEnded(sessionId, testResults));
}
validationWillStart(sessionId, validationInfo) {
this._handlers.forEach(handler => handler.validationWillStart(sessionId, validationInfo));
}
validationEnded(sessionId, validationId, validationResult) {
this._handlers.forEach(handler => handler.validationEnded(sessionId, validationId, validationResult));
}
}
exports.SessionEventHandlers = SessionEventHandlers;
/**
* @undocumented
* @deprecated
*/
class RemoteSessionEventHandler extends SessionEventHandler {
constructor(optionsOrServerUrl, accessKey, timeout) {
super();
const options = utils.types.isObject(optionsOrServerUrl)
? optionsOrServerUrl
: { serverUrl: optionsOrServerUrl, accessKey, timeout };
this._serverUrl = options.serverUrl;
this._accessKey = options.accessKey;
this._timeout = options.timeout;
}
get serverUrl() {
return this._serverUrl;
}
set serverUrl(serverUrl) {
this._serverUrl = serverUrl;
}
getServerUrl() {
return this._serverUrl;
}
setServerUrl(serverUrl) {
this.serverUrl = serverUrl;
}
get accessKey() {
return this._accessKey;
}
set accessKey(accessKey) {
this._accessKey = accessKey;
}
getAccessKey() {
return this.accessKey;
}
setAccessKey(accessKey) {
this._accessKey = accessKey;
}
get timeout() {
return this._timeout;
}
set timeout(timeout) {
this._timeout = timeout;
}
setTimeout(timeout) {
this._timeout = timeout;
}
getTimeout() {
return this._timeout;
}
initStarted() {
return undefined;
}
initEnded() {
return undefined;
}
setSizeWillStart() {
return undefined;
}
setSizeEnded() {
return undefined;
}
testStarted() {
return undefined;
}
testEnded() {
return undefined;
}
validationWillStart() {
return undefined;
}
validationEnded() {
return undefined;
}
/** @internal */
toJSON() {
return utils.general.toJSON(this, ['serverUrl', 'accessKey']);
}
/** @internal */
toString() {
return utils.general.toString(this);
}
}
exports.RemoteSessionEventHandler = RemoteSessionEventHandler;