@applitools/eyes
Version:
136 lines (135 loc) • 3.72 kB
JavaScript
"use strict";
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.RegionData = void 0;
const utils = __importStar(require("@applitools/utils"));
class RegionData {
constructor(regionOrLocationOrX, sizeOrY, width, height) {
let region;
if (utils.types.isNumber(regionOrLocationOrX)) {
region = { x: regionOrLocationOrX, y: sizeOrY, width: width, height: height };
}
else if (!utils.types.has(regionOrLocationOrX, ['width', 'height'])) {
region = { ...regionOrLocationOrX, ...sizeOrY };
}
else {
region = regionOrLocationOrX;
}
utils.guard.isNumber(region.x, { name: 'x' });
utils.guard.isNumber(region.y, { name: 'y' });
utils.guard.isNumber(region.width, { name: 'width', gte: 0 });
utils.guard.isNumber(region.height, { name: 'height', gte: 0 });
this._region = region;
}
get x() {
return this._region.x;
}
set x(x) {
utils.guard.isNumber(x, { name: 'x' });
this._region.x = x;
}
get left() {
return this.x;
}
set left(left) {
this.x = left;
}
getX() {
return this.x;
}
setX(x) {
this.x = x;
}
getLeft() {
return this.x;
}
setLeft(left) {
this.x = left;
}
get y() {
return this._region.y;
}
set y(y) {
utils.guard.isNumber(y, { name: 'y' });
this._region.y = y;
}
get top() {
return this.y;
}
set top(top) {
this.y = top;
}
getY() {
return this.y;
}
setY(y) {
this.y = y;
}
getTop() {
return this.y;
}
setTop(top) {
this.y = top;
}
get width() {
return this._region.width;
}
set width(width) {
utils.guard.isNumber(width, { name: 'width', gte: 0 });
this._region.width = width;
}
getWidth() {
return this._region.width;
}
setWidth(width) {
this.width = width;
}
get height() {
return this._region.height;
}
set height(height) {
utils.guard.isNumber(height, { name: 'height', gte: 0 });
this._region.height = height;
}
getHeight() {
return this._region.height;
}
setHeight(height) {
this.height = height;
}
/** @internal */
toObject() {
return this._region;
}
/** @internal */
toJSON() {
return utils.general.toJSON(this._region);
}
/** @internal */
toString() {
return `(${this.x}, ${this.y}) ${this.width}x${this.height}`;
}
}
exports.RegionData = RegionData;