@glowlamp/control-sequences
Version:
Builds ANSI control sequences for terminals
49 lines (37 loc) • 1.46 kB
JavaScript
;
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
_Object$defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/createClass"));
var _move_cursor_up = _interopRequireDefault(require("./move_cursor_up"));
var _move_cursor_down = _interopRequireDefault(require("./move_cursor_down"));
/**
* @class
* @property {int} n
* @property {MoveCursorUp|MoveCursorDown} sequence
*/
var MoveCursorVertically = /*#__PURE__*/function () {
function MoveCursorVertically(n) {
(0, _classCallCheck2["default"])(this, MoveCursorVertically);
this.n = n;
this.absoluteN = Math.abs(this.n);
this.sequence = n > 0 ? (0, _move_cursor_up["default"])(this.absoluteN) : (0, _move_cursor_down["default"])(this.absoluteN);
}
/**
* @method
* @param sequence
* @returns MoveCursorVertically
*/
(0, _createClass2["default"])(MoveCursorVertically, [{
key: "merge",
value: function merge(sequence) {
return new MoveCursorVertically(this.n + sequence.n);
}
}]);
return MoveCursorVertically;
}();
exports["default"] = MoveCursorVertically;