wip
This commit is contained in:
parent
f39e38986c
commit
6fc9be9534
5 changed files with 3 additions and 20 deletions
|
|
@ -6,6 +6,5 @@ export interface RenderContext {
|
|||
|
||||
export interface Renderer {
|
||||
readonly type: string;
|
||||
next: Renderer | null;
|
||||
render(context: RenderContext): void;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,16 +5,11 @@ export interface Pipeline {
|
|||
}
|
||||
|
||||
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);
|
||||
for (const renderer of renderers) {
|
||||
renderer.render(context);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue