{ "version": 3, "sources": ["../../../../../../../../source/febe/ui/src/scripts/classes/Hatch.ts"], "sourcesContent": ["function _escape(str = \"\") {\n let r = /[&<>\"'\\/]/g;\n return (\n \"\" +\n str.replace(r, (m) => {\n return {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\",\n \"/\": \"/\",\n }[m];\n })\n );\n}\n\nexport class SafeString {\n s: string;\n constructor(s: string) {\n this.s = s;\n }\n toString() {\n return this.s;\n }\n}\n\nexport function Domifier(str: string) {\n const dom = new DOMParser();\n return dom.parseFromString(str, \"text/html\").querySelector(\"body\").firstChild as Element;\n}\n\nexport function Hatch(tmpl: any, ...vs: any): SafeString {\n let result = \"\";\n for (let i = 0; i < vs.length; i++) {\n if (vs[i] instanceof SafeString) result += tmpl[i] + vs[i].toString();\n else result += tmpl[i] + _escape(String(vs[i]));\n }\n return new SafeString(result + tmpl[vs.length]);\n}\n\nexport function HatchMap(list: any, func: Function) {\n let mapped = list.map(func);\n return new SafeString(mapped.map((v: any) => (v instanceof SafeString ? v : _escape(String(v)))).join(\"\"));\n}\n"], "mappings": "AAAA,SAASA,EAAQC,EAAM,GAAI,CACzB,IAAIC,EAAI,aACR,MACE,GACAD,EAAI,QAAQC,EAAIC,IACP,CACL,IAAK,QACL,IAAK,OACL,IAAK,OACL,IAAK,SACL,IAAK,SACL,IAAK,QACP,GAAEA,CAAC,CACJ,CAEL,CAEO,IAAMC,EAAN,KAAiB,CAEtB,YAAYC,EAAW,CACrB,KAAK,EAAIA,CACX,CACA,UAAW,CACT,OAAe,KAAK,CACtB,CACF,EAEO,SAASC,EAASL,EAAa,CAEpC,OADY,IAAI,UAAU,EACf,gBAAgBA,EAAK,WAAW,EAAE,cAAc,MAAM,EAAE,UACrE,CAEO,SAASM,EAAMC,KAAcC,EAAqB,CACvD,IAAIC,EAAS,GACb,QAASC,EAAI,EAAGA,EAAIF,EAAG,OAAQE,IACzBF,EAAGE,CAAC,YAAaP,EAAYM,GAAUF,EAAKG,CAAC,EAAIF,EAAGE,CAAC,EAAE,SAAS,EAC/DD,GAAUF,EAAKG,CAAC,EAAIX,EAAQ,OAAOS,EAAGE,CAAC,CAAC,CAAC,EAEhD,OAAO,IAAIP,EAAWM,EAASF,EAAKC,EAAG,MAAM,CAAC,CAChD,CAEO,SAASG,EAASC,EAAWC,EAAgB,CAClD,IAAIC,EAASF,EAAK,IAAIC,CAAI,EAC1B,OAAO,IAAIV,EAAWW,EAAO,IAAKC,GAAYA,aAAaZ,EAAaY,EAAIhB,EAAQ,OAAOgB,CAAC,CAAC,CAAE,EAAE,KAAK,EAAE,CAAC,CAC3G", "names": ["_escape", "str", "r", "m", "SafeString", "s", "Domifier", "Hatch", "tmpl", "vs", "result", "i", "HatchMap", "list", "func", "mapped", "v"] }