2025-12-09 23:16:13 +01:00
|
|
|
import { IRenderer, IRenderContext } from './IGroupingRenderer';
|
2025-12-09 00:51:41 +01:00
|
|
|
|
2025-12-09 21:02:44 +01:00
|
|
|
export interface Pipeline {
|
2025-12-09 23:16:13 +01:00
|
|
|
run(context: IRenderContext): Promise<void>;
|
2025-12-09 00:51:41 +01:00
|
|
|
}
|
|
|
|
|
|
2025-12-09 23:16:13 +01:00
|
|
|
export function buildPipeline(renderers: IRenderer[]): Pipeline {
|
2025-12-09 21:02:44 +01:00
|
|
|
return {
|
2025-12-09 23:16:13 +01:00
|
|
|
async run(context: IRenderContext) {
|
2025-12-09 21:32:30 +01:00
|
|
|
for (const renderer of renderers) {
|
2025-12-09 23:16:13 +01:00
|
|
|
await renderer.render(context);
|
2025-12-09 21:32:30 +01:00
|
|
|
}
|
2025-12-09 00:51:41 +01:00
|
|
|
}
|
2025-12-09 21:02:44 +01:00
|
|
|
};
|
2025-12-09 00:51:41 +01:00
|
|
|
}
|