Urara-Blog/node_modules/.pnpm-store/v3/files/94/d6709b936f972dc6db023f5abc9b5d5354fad2f823b729fc2d028b130b5e66028284e111f374a46087642b1601d27fe662fde74d74dd14ea0b1833635f13dd
2022-08-14 01:14:53 +08:00

33 lines
881 B
Text

import { AppendTarget, CompileOptions } from '../../interfaces';
import { INode } from '../nodes/interfaces';
import { Expression, TemplateLiteral, Identifier } from 'estree';
export interface RenderOptions extends CompileOptions {
locate: (c: number) => {
line: number;
column: number;
};
head_id?: string;
}
export default class Renderer {
has_bindings: boolean;
name: Identifier;
stack: Array<{
current: {
value: string;
};
literal: TemplateLiteral;
}>;
current: {
value: string;
};
literal: TemplateLiteral;
targets: AppendTarget[];
constructor({ name }: {
name: any;
});
add_string(str: string): void;
add_expression(node: Expression): void;
push(): void;
pop(): TemplateLiteral;
render(nodes: INode[], options: RenderOptions): void;
}