fix: support number elements in jsx templates

This commit is contained in:
M. George Hansen 2020-06-02 15:38:39 -07:00
parent 786b2c47d0
commit b32d2a2d8d
3 changed files with 16 additions and 1 deletions

View file

@ -25,7 +25,13 @@ export interface HTMLElement {
/**
* All valid types of elements that can be rendered to HTML.
*/
export type Element = HTMLElement | string | boolean | undefined | null;
export type Element =
| HTMLElement
| string
| number
| boolean
| undefined
| null;
/**
* Custom HTMLElement factory that can be parameterized by props.

View file

@ -22,6 +22,9 @@ const renderElement = (elem: Element): string => {
if (elem == null || typeof elem === "boolean") {
return "";
}
if (typeof elem === "number") {
return elem.toString();
}
if (typeof elem === "string") {
return escapeHtml(elem);
}