UNPKG

testcafe

Version:

Automated browser testing for the modern web development stack.

43 lines 5.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); class AxisValues { constructor(x, y) { this.x = x; this.y = y; } static create(a) { if ('left' in a) return new AxisValues(a.left, a.top); else if ('right' in a) return new AxisValues(a.right, a.bottom); return new AxisValues(a.x, a.y); } add(p) { this.x += p.x; this.y += p.y; return this; } sub(p) { this.x -= p.x; this.y -= p.y; return this; } round(fn = Math.round) { this.x = fn(this.x); this.y = fn(this.y); return this; } eql(p) { return this.x === p.x && this.y === p.y; } mul(n) { this.x *= n; this.y *= n; return this; } distance(p) { return Math.sqrt(Math.pow(this.x - p.x, 2) + Math.pow(this.y - p.y, 2)); } } exports.default = AxisValues; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpcy12YWx1ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvcmUvdXRpbHMvdmFsdWVzL2F4aXMtdmFsdWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBZUEsTUFBcUIsVUFBVTtJQUkzQixZQUFvQixDQUFJLEVBQUUsQ0FBSTtRQUMxQixJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNYLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsQ0FBQztJQUVNLE1BQU0sQ0FBQyxNQUFNLENBQUssQ0FBOEQ7UUFDbkYsSUFBSSxNQUFNLElBQUksQ0FBQztZQUNYLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDcEMsSUFBSSxPQUFPLElBQUksQ0FBQztZQUNqQixPQUFPLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTdDLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVNLEdBQUcsQ0FBNEIsQ0FBeUI7UUFDM0QsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLEdBQUcsQ0FBNEIsQ0FBeUI7UUFDM0QsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLEtBQUssQ0FBNEIsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLO1FBQ25ELElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFcEIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLEdBQUcsQ0FBRSxDQUFvQjtRQUM1QixPQUFPLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLEdBQUcsQ0FBNEIsQ0FBUztRQUMzQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNaLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRVosT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLFFBQVEsQ0FBNEIsQ0FBeUI7UUFDaEUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQztDQUNKO0FBckRELDZCQXFEQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQXhpc1ZhbHVlc0RhdGE8VD4ge1xuICAgIHg6IFQ7XG4gICAgeTogVDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMZWZ0VG9wVmFsdWVzPFQ+IHtcbiAgICBsZWZ0OiBUO1xuICAgIHRvcDogVDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSaWdodEJvdHRvbVZhbHVlczxUPiB7XG4gICAgcmlnaHQ6IFQ7XG4gICAgYm90dG9tOiBUO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBeGlzVmFsdWVzPFQ+IGltcGxlbWVudHMgQXhpc1ZhbHVlc0RhdGE8VD4ge1xuICAgIHB1YmxpYyB4OiBUO1xuICAgIHB1YmxpYyB5OiBUO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yICh4OiBULCB5OiBUKSB7XG4gICAgICAgIHRoaXMueCA9IHg7XG4gICAgICAgIHRoaXMueSA9IHk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGU8VD4gKGE6IEF4aXNWYWx1ZXNEYXRhPFQ+IHwgTGVmdFRvcFZhbHVlczxUPiB8IFJpZ2h0Qm90dG9tVmFsdWVzPFQ+KTogQXhpc1ZhbHVlczxUPiB7XG4gICAgICAgIGlmICgnbGVmdCcgaW4gYSlcbiAgICAgICAgICAgIHJldHVybiBuZXcgQXhpc1ZhbHVlcyhhLmxlZnQsIGEudG9wKTtcbiAgICAgICAgZWxzZSBpZiAoJ3JpZ2h0JyBpbiBhKVxuICAgICAgICAgICAgcmV0dXJuIG5ldyBBeGlzVmFsdWVzKGEucmlnaHQsIGEuYm90dG9tKTtcblxuICAgICAgICByZXR1cm4gbmV3IEF4aXNWYWx1ZXMoYS54LCBhLnkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZGQgKHRoaXM6IEF4aXNWYWx1ZXM8bnVtYmVyPiwgcDogQXhpc1ZhbHVlc0RhdGE8bnVtYmVyPik6IEF4aXNWYWx1ZXM8bnVtYmVyPiB7XG4gICAgICAgIHRoaXMueCArPSBwLng7XG4gICAgICAgIHRoaXMueSArPSBwLnk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHN1YiAodGhpczogQXhpc1ZhbHVlczxudW1iZXI+LCBwOiBBeGlzVmFsdWVzRGF0YTxudW1iZXI+KTogQXhpc1ZhbHVlczxudW1iZXI+IHtcbiAgICAgICAgdGhpcy54IC09IHAueDtcbiAgICAgICAgdGhpcy55IC09IHAueTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgcm91bmQgKHRoaXM6IEF4aXNWYWx1ZXM8bnVtYmVyPiwgZm4gPSBNYXRoLnJvdW5kKTogQXhpc1ZhbHVlczxudW1iZXI+IHtcbiAgICAgICAgdGhpcy54ID0gZm4odGhpcy54KTtcbiAgICAgICAgdGhpcy55ID0gZm4odGhpcy55KTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgZXFsIChwOiBBeGlzVmFsdWVzRGF0YTxUPik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy54ID09PSBwLnggJiYgdGhpcy55ID09PSBwLnk7XG4gICAgfVxuXG4gICAgcHVibGljIG11bCAodGhpczogQXhpc1ZhbHVlczxudW1iZXI+LCBuOiBudW1iZXIpOiBBeGlzVmFsdWVzPG51bWJlcj4ge1xuICAgICAgICB0aGlzLnggKj0gbjtcbiAgICAgICAgdGhpcy55ICo9IG47XG5cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIGRpc3RhbmNlICh0aGlzOiBBeGlzVmFsdWVzPG51bWJlcj4sIHA6IEF4aXNWYWx1ZXNEYXRhPG51bWJlcj4pOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTWF0aC5zcXJ0KE1hdGgucG93KHRoaXMueCAtIHAueCwgMikgKyBNYXRoLnBvdyh0aGlzLnkgLSBwLnksIDIpKTtcbiAgICB9XG59XG4iXX0=