@dark-engine/platform-server
Version:
Dark renderer for server
34 lines (33 loc) • 1.09 kB
TypeScript
import { NodeType } from '@dark-engine/core';
import { type AttributeValue } from '@dark-engine/platform-browser';
declare abstract class NativeElement {
type: NodeType;
parentElement: TagNativeElement;
constructor(type: NodeType);
abstract render(): string;
abstract render(isOpening: boolean): string;
abstract renderToString(): string;
}
declare class TagNativeElement extends NativeElement {
name: string;
attrs: Record<string, AttributeValue>;
children: Array<NativeElement>;
constructor(name: string);
appendChild(element: NativeElement): void;
setAttribute(name: string, value: AttributeValue): void;
render(isOpening?: boolean): string;
renderToString(): string;
}
declare class TextNativeElement extends NativeElement {
private value;
constructor(text: string);
render(): string;
renderToString(): string;
}
declare class CommentNativeElement extends NativeElement {
private value;
constructor(text: string);
render(): string;
renderToString(): string;
}
export { NativeElement, TagNativeElement, TextNativeElement, CommentNativeElement };