Calendar/src/v2/core/RenderBuilder.ts
Janus C. H. Knudsen 2ec4b93fa5 wip
2025-12-09 21:02:44 +01:00

20 lines
452 B
TypeScript

import { Renderer, RenderContext } from './IGroupingRenderer';
export interface Pipeline {
run(context: RenderContext): void;
}
export function buildPipeline(renderers: Renderer[]): Pipeline {
// Link renderers
for (let i = 0; i < renderers.length - 1; i++) {
renderers[i].next = renderers[i + 1];
}
const first = renderers[0] ?? null;
return {
run(context: RenderContext) {
if (first) first.render(context);
}
};
}