UNPKG

hono

Version:

Web framework built on Web Standards

66 lines (65 loc) 2.53 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var html_exports = {}; __export(html_exports, { html: () => html, raw: () => import_html.raw }); module.exports = __toCommonJS(html_exports); var import_html = require("../../utils/html"); const html = (strings, ...values) => { const buffer = [""]; for (let i = 0, len = strings.length - 1; i < len; i++) { buffer[0] += strings[i]; const children = Array.isArray(values[i]) ? values[i].flat(Infinity) : [values[i]]; for (let i2 = 0, len2 = children.length; i2 < len2; i2++) { const child = children[i2]; if (typeof child === "string") { (0, import_html.escapeToBuffer)(child, buffer); } else if (typeof child === "number") { ; buffer[0] += child; } else if (typeof child === "boolean" || child === null || child === void 0) { continue; } else if (typeof child === "object" && child.isEscaped) { if (child.callbacks) { buffer.unshift("", child); } else { const tmp = child.toString(); if (tmp instanceof Promise) { buffer.unshift("", tmp); } else { buffer[0] += tmp; } } } else if (child instanceof Promise) { buffer.unshift("", child); } else { (0, import_html.escapeToBuffer)(child.toString(), buffer); } } } buffer[0] += strings.at(-1); return buffer.length === 1 ? "callbacks" in buffer ? (0, import_html.raw)((0, import_html.resolveCallbackSync)((0, import_html.raw)(buffer[0], buffer.callbacks))) : (0, import_html.raw)(buffer[0]) : (0, import_html.stringBufferToString)(buffer, buffer.callbacks); }; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { html, raw });