"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.notEmpty = exports.sleep = exports.stringToSnapshot = exports.isInsideRange = exports.getOverlapRange = void 0; function getOverlapRange(range1Start, range1End, range2Start, range2End) { const start = Math.max(range1Start, range2Start); const end = Math.min(range1End, range2End); if (start > end) { return undefined; } return { start, end, }; } exports.getOverlapRange = getOverlapRange; function isInsideRange(parent, child) { if (child.start.line < parent.start.line) { return false; } if (child.end.line > parent.end.line) { return false; } if (child.start.line === parent.start.line && child.start.character < parent.start.character) { return false; } if (child.end.line === parent.end.line && child.end.character > parent.end.character) { return false; } return true; } exports.isInsideRange = isInsideRange; function stringToSnapshot(str) { return { getText: (start, end) => str.substring(start, end), getLength: () => str.length, getChangeRange: () => undefined, }; } exports.stringToSnapshot = stringToSnapshot; function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } exports.sleep = sleep; function notEmpty(value) { return value !== null && value !== undefined; } exports.notEmpty = notEmpty; //# sourceMappingURL=common.js.map