@rimbu/common
Version:
Common types and objects used in many other Rimbu packages
35 lines • 1.19 kB
JavaScript
export 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) {
let start = undefined;
let 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, end };
}
Range.getNormalizedRange = getNormalizedRange;
})(Range || (Range = {}));
//# sourceMappingURL=range.mjs.map