docdef/source/outputs/implementations/html.ts

47 lines
792 B
TypeScript

/**
*/
class type_output_html implements type_output<string>
{
public readonly kind : string = "html";
public readonly data : {};
public constructor(data : {}) {this.data = data;}
/**
*/
public render_element(
element : type_element
) : string
{
return lib_plankton.call.distinguish<string>(
element,
{
"text": ({"content": content}) => (
"<span class=\"sd-text\">"
+
content
+
"</span>"
),
"group": ({"members": members}) => (
"<div class=\"sd-group\">\n"
+
members.map(x => this.render_element(x)).join("")
+
"</div>\n"
),
},
{
"fallback": (element) => (
"<pre class=\"sd-unhandled\">"
+
JSON.stringify(element, undefined, " ")
+
"</pre>"
),
}
);
}
}