UNPKG

nitropage

Version:

A free and open source, extensible visual page builder based on SolidStart.

43 lines (33 loc) 925 B
import { demoEnabled } from "../demo"; declare global { var globalConfigs: Record<string, any>; } export const throwOnDemo = function () { if (!demoEnabled()) { return; } throw new Error("Unauthorized"); }; export const resetGlobals = () => { for (const key of Object.keys(globalThis.globalConfigs)) { globalThis.globalConfigs[key] = null; } }; export const DEBUG_PAGE_UPDATE = false; export const createGlobal = <T>(name: string) => { const memory = (globalThis.globalConfigs ??= {}); const getter = () => memory[name] as T; const setter = (v: () => T) => { if (memory[name] == null) { memory[name] = v(); } return memory[name]; }; return [getter, setter] as const; }; export const createXmlResponse = (content: string, type = "text/xml") => new Response('<?xml version="1.0" encoding="UTF-8"?>' + content, { headers: { "Content-Type": type, }, });