@rimbu/common
Version:
Common types and objects used in many other Rimbu packages
38 lines • 1.31 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.Range = void 0;
var Range;
(function (Range) {
/**
* Simplifies a given `range` `Range` input for easier processing, by returning optional
* start and end ranges including whether they are inclusive or exclusive
* @param range - the `Range` to use
*/
function getNormalizedRange(range) {
var start = undefined;
var end = undefined;
if ("start" in range && undefined !== range.start) {
if (Array.isArray(range.start) &&
range.start.length === 2 &&
typeof range.start[1] === 'boolean') {
start = range.start;
}
else {
start = [range.start, true];
}
}
if ("end" in range && undefined !== range.end) {
if (Array.isArray(range.end) &&
range.end.length === 2 &&
typeof range.end[1] === 'boolean') {
end = range.end;
}
else {
end = [range.end, true];
}
}
return { start: start, end: end };
}
Range.getNormalizedRange = getNormalizedRange;
})(Range || (exports.Range = Range = {}));
//# sourceMappingURL=range.cjs.map
;