in packages/dag-history-component/src/components/BranchProfile/calculateSpans.ts [7:46]
export default function calculateSpans(
type: string,
max: number,
startArg: number,
endArg: number,
branchStartArg: number,
branchEndArg: number,
activeIndexArg: number,
) {
const offset = startArg
const start = startArg - offset
const end = endArg - offset
const branchStart = branchStartArg - offset
const branchEnd = branchEndArg - offset
const activeIndex = convertArg(activeIndexArg, offset)
// Set up the initial spans ranges; culling out empty ranges
let spans = initialSpans(start, max)
const isCurrent = type === 'current'
spans = insertSpan(spans, new Span(start, end + 1, 'UNRELATED_UNIQUE'))
if (
isNumber(branchStart) &&
isNumber(branchEnd) &&
branchStart >= 0 &&
branchEnd >= 0
) {
const color = isCurrent ? 'CURRENT' : 'ANCESTOR'
const span = new Span(branchStart, branchEnd + 1, color)
spans = insertSpan(spans, span)
}
if (isNumber(activeIndex)) {
const color = isCurrent ? 'CURRENT_ACTIVE' : 'LEGACY_ACTIVE'
const span = new Span(activeIndex, activeIndex + 1, color)
spans = insertSpan(spans, span)
}
return spans
}