UNPKG

blade

Version:
32 lines (31 loc) 1.08 kB
//#region ../../node_modules/hono/dist/utils/html.js var HtmlEscapedCallbackPhase = { Stringify: 1, BeforeStream: 2, Stream: 3 }; var raw = (value, callbacks) => { const escapedString = new String(value); escapedString.isEscaped = true; escapedString.callbacks = callbacks; return escapedString; }; var resolveCallback = async (str, phase, preserveCallbacks, context, buffer) => { if (typeof str === "object" && !(str instanceof String)) { if (!(str instanceof Promise)) str = str.toString(); if (str instanceof Promise) str = await str; } const callbacks = str.callbacks; if (!callbacks?.length) return Promise.resolve(str); if (buffer) buffer[0] += str; else buffer = [str]; const resStr = Promise.all(callbacks.map((c) => c({ phase, buffer, context }))).then((res) => Promise.all(res.filter(Boolean).map((str2) => resolveCallback(str2, phase, false, context, buffer))).then(() => buffer[0])); if (preserveCallbacks) return raw(await resStr, callbacks); else return resStr; }; //#endregion export { resolveCallback as n, HtmlEscapedCallbackPhase as t };