• Create a simple tag template from ES6 template literal strings

    Usage:

    import { RegisterTokenIds, createTemplateTags, Token, TokenInvoke } from "@xarc/tag-renderer";
    import { myTokenHandler } from "./my-token-handler";
    import { myHtmlRenderHandler } from "./my-html-render-handler";
    import { myTokenIdRegister } from "./my-token-id-handler"

    const subTemplate = createTemplateTags`${(context: any) => {
    const { query } = context.options.request;
    if (query.userName) {
    return `hello there ${query.userName}`;
    }
    }}`;

    export const templateTags = createTemplateTags`<!DOCTYPE html>
    ${RegisterTokenIds(myTokenIdRegister)}
    <html>${Token("INITIALIZE", {})}
    <head>
    ${TokenInvoke(myTokenHandler, {})}
    ${subTemplate}
    ${() => subTemplate}
    ${() => Promise.resolve(subTemplate)}
    </head>
    <body>${TokenInvoke(myHtmlRenderHandler, {})}</body>
    </html>
    `

    Parameters

    • literals: TemplateStringsArray

      string array

    • Rest ...args: any[]

      template literal tag arguments

    Returns any[]

    tag template