| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- "use strict";
-
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = void 0;
-
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
-
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
-
- var Range =
- /*#__PURE__*/
- function () {
- (0, _createClass2.default)(Range, null, [{
- key: "copy",
- value: function copy(orig) {
- return new Range(orig.start, orig.end);
- }
- }]);
-
- function Range(start, end) {
- (0, _classCallCheck2.default)(this, Range);
- this.start = start;
- this.end = end || start;
- }
-
- (0, _createClass2.default)(Range, [{
- key: "isEmpty",
- value: function isEmpty() {
- return typeof this.start !== 'number' || !this.end || this.end <= this.start;
- }
- /**
- * Set `origStart` and `origEnd` to point to the original source range for
- * this node, which may differ due to dropped CR characters.
- *
- * @param {number[]} cr - Positions of dropped CR characters
- * @param {number} offset - Starting index of `cr` from the last call
- * @returns {number} - The next offset, matching the one found for `origStart`
- */
-
- }, {
- key: "setOrigRange",
- value: function setOrigRange(cr, offset) {
- var start = this.start,
- end = this.end;
-
- if (cr.length === 0 || end <= cr[0]) {
- this.origStart = start;
- this.origEnd = end;
- return offset;
- }
-
- var i = offset;
-
- while (i < cr.length) {
- if (cr[i] > start) break;else ++i;
- }
-
- this.origStart = start + i;
- var nextOffset = i;
-
- while (i < cr.length) {
- // if end was at \n, it should now be at \r
- if (cr[i] >= end) break;else ++i;
- }
-
- this.origEnd = end + i;
- return nextOffset;
- }
- }]);
- return Range;
- }();
-
- exports.default = Range;
|