{"version":3,"sources":["ansi_compat.ts"],"sourcesContent":["// @ts-ignore\nconst is_worker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\nconst client_type = is_worker ? 'worker' : (\"Deno\" in globalThis && !(globalThis.Deno as any).isPolyfill ? 'deno' : 'browser')\n\n// @ts-ignore - deno and node.js support escape sequences\nconst ansi_escape_codes_full_support = client_type === \"deno\" || !!globalThis.process;\n// @ts-ignore - chrome supports basic escape sequences\nconst ansi_escape_codes_basic_support = ansi_escape_codes_full_support || !!globalThis.chrome;\n\n// @ts-ignore safari doesn't have monospace font per default\nconst is_safari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\nconst requires_console_monsospace_font = is_safari;\n\nconst color_image_esc_seq = /\\x1b\\[(?:((?:\\d+;)*\\d+)?m|1337;File=(.*)\\x07)/g\nconst multiple_cs = /%c(%c)*/g;\n\nconst COLORS = {\n\tRED: \"#ea2b51\",\n\tGREEN: \"#1eda6d\",\n\tBLUE: \"#0669c1\",\n\tYELLOW: \"#ebb626\",\n\tMAGENTA: \"#c470de\",\n\tCYAN: \"#4fa9e8\",\n\tBLACK: \"#050505\",\n\tWHITE: \"#d2d2d2\"\n}\n\nconst COLORS_LIGHT = {\n\tRED: \"#f8b9c6\",\n\tGREEN: \"#bcf6d4\",\n\tBLUE: \"#97ccfc\",\n\tYELLOW: \"#f9e7b9\",\n\tMAGENTA: \"#e5c1f1\",\n\tCYAN: \"#bbdef6\",\n\tBLACK: \"#6b6b6b\",\n\tWHITE: \"#ffffff\"\n}\n\nconst COLORS_8_BIT = [\n\tCOLORS.BLACK,\n    COLORS.RED,\n    COLORS.GREEN,\n   \tCOLORS.YELLOW,\n    COLORS.BLUE,\n    COLORS.MAGENTA,\n    COLORS.CYAN,\n    COLORS.WHITE,\n\tCOLORS_LIGHT.BLACK,\n    COLORS_LIGHT.RED,\n    COLORS_LIGHT.GREEN,\n   \tCOLORS_LIGHT.YELLOW,\n    COLORS_LIGHT.BLUE,\n    COLORS_LIGHT.MAGENTA,\n    COLORS_LIGHT.CYAN,\n    COLORS_LIGHT.WHITE,\n\t'#000000','#00005f','#000087','#0000af','#0000d7','#0000ff','#005f00','#005f5f','#005f87','#005faf','#005fd7','#005fff','#008700','#00875f','#008787','#0087af','#0087d7','#0087ff','#00af00','#00af5f','#00af87','#00afaf','#00afd7','#00afff','#00d700','#00d75f','#00d787','#00d7af','#00d7d7','#00d7ff','#00ff00','#00ff5f','#00ff87','#00ffaf','#00ffd7','#00ffff','#5f0000','#5f005f','#5f0087','#5f00af','#5f00d7','#5f00ff','#5f5f00','#5f5f5f','#5f5f87','#5f5faf','#5f5fd7','#5f5fff','#5f8700','#5f875f','#5f8787','#5f87af','#5f87d7','#5f87ff','#5faf00','#5faf5f','#5faf87','#5fafaf','#5fafd7','#5fafff','#5fd700','#5fd75f','#5fd787','#5fd7af','#5fd7d7','#5fd7ff','#5fff00','#5fff5f','#5fff87','#5fffaf','#5fffd7','#5fffff','#870000','#87005f','#870087','#8700af','#8700d7','#8700ff','#875f00','#875f5f','#875f87','#875faf','#875fd7','#875fff','#878700','#87875f','#878787','#8787af','#8787d7','#8787ff','#87af00','#87af5f','#87af87','#87afaf','#87afd7','#87afff','#87d700','#87d75f','#87d787','#87d7af','#87d7d7','#87d7ff','#87ff00','#87ff5f','#87ff87','#87ffaf','#87ffd7','#87ffff','#af0000','#af005f','#af0087','#af00af','#af00d7','#af00ff','#af5f00','#af5f5f','#af5f87','#af5faf','#af5fd7','#af5fff','#af8700','#af875f','#af8787','#af87af','#af87d7','#af87ff','#afaf00','#afaf5f','#afaf87','#afafaf','#afafd7','#afafff','#afd700','#afd75f','#afd787','#afd7af','#afd7d7','#afd7ff','#afff00','#afff5f','#afff87','#afffaf','#afffd7','#afffff','#d70000','#d7005f','#d70087','#d700af','#d700d7','#d700ff','#d75f00','#d75f5f','#d75f87','#d75faf','#d75fd7','#d75fff','#d78700','#d7875f','#d78787','#d787af','#d787d7','#d787ff','#d7af00','#d7af5f','#d7af87','#d7afaf','#d7afd7','#d7afff','#d7d700','#d7d75f','#d7d787','#d7d7af','#d7d7d7','#d7d7ff','#d7ff00','#d7ff5f','#d7ff87','#d7ffaf','#d7ffd7','#d7ffff','#ff0000','#ff005f','#ff0087','#ff00af','#ff00d7','#ff00ff','#ff5f00','#ff5f5f','#ff5f87','#ff5faf','#ff5fd7','#ff5fff','#ff8700','#ff875f','#ff8787','#ff87af','#ff87d7','#ff87ff','#ffaf00','#ffaf5f','#ffaf87','#ffafaf','#ffafd7','#ffafff','#ffd700','#ffd75f','#ffd787','#ffd7af','#ffd7d7','#ffd7ff','#ffff00','#ffff5f','#ffff87','#ffffaf','#ffffd7','#ffffff','#080808','#121212','#1c1c1c','#262626','#303030','#3a3a3a','#444444','#4e4e4e','#585858','#626262','#6c6c6c','#767676','#808080','#8a8a8a','#949494','#9e9e9e','#a8a8a8','#b2b2b2','#bcbcbc','#c6c6c6','#d0d0d0','#dadada','#e4e4e4','#eeeeee'\n]\n\n/**\n * these css properties are set (overwritten)\n */\nconst ESCAPE_SEQUENCES_SET_CSS = {\n    1: {'font-weight':'bold'},\n    3: {'font-style':'italic'},\n\t5: {'font-weight':'bold'},\n\n\t7: {'-x-invert':'invert'},\n    8: {'-x-conceal':'conceal'},\n\t\n\t21: {'font-weight':''},\n\t23: {'font-style':''},\n\t25: {'font-weight':''},\n\n    // foreground colors\n    30: {'color': COLORS.BLACK},\n    31: {'color': COLORS.RED},\n    32: {'color': COLORS.GREEN},\n    33: {'color': COLORS.YELLOW},\n    34: {'color': COLORS.BLUE},\n    35: {'color': COLORS.MAGENTA},\n    36: {'color': COLORS.CYAN},\n    37: {'color': COLORS.WHITE},\n    39: {'color': 'inherit'},\n\n\t90: {'color': COLORS_LIGHT.BLACK},\n    91: {'color': COLORS_LIGHT.RED},\n    92: {'color': COLORS_LIGHT.GREEN},\n    93: {'color': COLORS_LIGHT.YELLOW},\n    94: {'color': COLORS_LIGHT.BLUE},\n    95: {'color': COLORS_LIGHT.MAGENTA},\n    96: {'color': COLORS_LIGHT.CYAN},\n    97: {'color': COLORS_LIGHT.WHITE},\n\n    // background colors\n    40: {'background-color': COLORS.BLACK}, // background-color required for safari, background does not work\n    41: {'background-color': COLORS.RED},\n    42: {'background-color': COLORS.GREEN},\n    43: {'background-color': COLORS.YELLOW},\n    44: {'background-color': COLORS.BLUE},\n    45: {'background-color': COLORS.MAGENTA},\n    46: {'background-color': COLORS.CYAN},\n    47: {'background-color': COLORS.WHITE},\n    49: {'background-color': 'inherit'},\n\n    100: {'background-color': COLORS_LIGHT.BLACK},\n    101: {'background-color': COLORS_LIGHT.RED},\n    102: {'background-color': COLORS_LIGHT.GREEN},\n    103: {'background-color': COLORS_LIGHT.YELLOW},\n    104: {'background-color': COLORS_LIGHT.BLUE},\n    105: {'background-color': COLORS_LIGHT.MAGENTA},\n    106: {'background-color': COLORS_LIGHT.CYAN},\n    107: {'background-color': COLORS_LIGHT.WHITE},\n} as const\n\n/**\n * these css properties are appended to existing properties\n */\nconst ESCAPE_SEQUENCES_APPEND_CSS = {\n\t4: {'text-decoration':'underline'},\n\t9: {'text-decoration':'line-through'},\n\t53: {'text-decoration':'overline'},\n}  as const\n\n/**\n * these css properties are removed from existing properties\n */\nconst ESCAPE_SEQUENCES_REMOVE_CSS = {\n\t24: {'text-decoration':'underline'},\n\t29: {'text-decoration':'line-through'},\n\t55: {'text-decoration':'overline'},\n\n\t27: {'-x-invert':'invert'},\n\t28: {'-x-conceal':'conceal'},\n} as const;\n\n\nfunction getDefaultStyle(){\n\treturn (requires_console_monsospace_font ? <Record<string,string>>{'font-family': 'monospace'} : {});\n}\n\nfunction parseEscSequence(style:Record<string,string>, params:number[]) {\n\t// rgb foreground\n\tif (params[0] == 38 && params[1] == 2) {\n\t\tstyle['color'] = `rgb(${params[2]},${params[3]},${params[4]})`;\n\t\tparams.splice(0, 5)\n\t}\n\t// rgb background\n\telse if (params[0] == 48 && params[1] == 2) {\n\t\tstyle['background-color'] = `rgb(${params[2]},${params[3]},${params[4]})`\n\t\tparams.splice(0, 5)\n\t}\n\n\t// 8-bit foreground\n\telse if (params[0] == 38 && params[1] == 5) {\n\t\tstyle['color'] = COLORS_8_BIT[params[2]]\n\t\tparams.splice(0, 3)\n\t}\n\t// 8-bit background\n\telse if (params[0] == 48 && params[1] == 5) {\n\t\tstyle['background-color'] = COLORS_8_BIT[params[2]]\n\t\tparams.splice(0, 5)\n\t}\n\n\t// reset\n\telse if (params[0] == 0) {\n\t\t// clear style\n\t\tObject.keys(style).forEach(key => delete style[key]);\n\t\tObject.assign(style, getDefaultStyle());\n\t\tparams.splice(0, 1)\n\t}\n\n\t// other escape sequences\n\telse if (params[0] <= 107) {\t\t\t\n\t\t// set css\n\t\tconst set_css = ESCAPE_SEQUENCES_SET_CSS[<keyof typeof ESCAPE_SEQUENCES_SET_CSS>params[0]];\n\t\tif (set_css) Object.assign(style, set_css)\n\t\telse {\n\t\t\t// append css\n\t\t\tconst append_css = ESCAPE_SEQUENCES_APPEND_CSS[<keyof typeof ESCAPE_SEQUENCES_APPEND_CSS>params[0]];\n\t\t\tif (append_css) {\n\t\t\t\tconst key = <keyof typeof append_css> Object.keys(append_css)[0];\n\t\t\t\tif (!style[key]?.includes(append_css[key])) {\n\t\t\t\t\tstyle[key] = style[key] ? `${style[key]} ${append_css[key]}` : append_css[key];\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\t// remove css\n\t\t\t\tconst remove_css = ESCAPE_SEQUENCES_REMOVE_CSS[<keyof typeof ESCAPE_SEQUENCES_REMOVE_CSS>params[0]];\n\t\t\t\tif (remove_css) {\n\t\t\t\t\tconst key = <keyof typeof remove_css> Object.keys(remove_css)[0];\n\t\t\t\t\tif (style[key]) style[key] = style[key].replace(remove_css[key], ''); // remove value from css property\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tparams.splice(0, 1)\n\t}\n}\n\n\nfunction getImageType(base64:string) {\n\tconst data = atob(base64);\n\tif (data.startsWith('<svg') || data.startsWith('<?xml')) return 'image/svg+xml'\n\tif (data.startsWith('\\x89PNG')) return 'image/png'\n\tif (data.startsWith('GIF')) return 'image/gif'\n\tif (data.startsWith('\\xff\\xd8\\xff')) return 'image/jpeg'\n}\n\n\nfunction parseImage(style:Record<string,string>, data:string): string{\n\tconst parts = data.split(\":\");\n\tif (parts.length<2) return ''; // cannot parse\n\tconst _params = parts[0].split(\";\")\n\tconst params:Record<string,string> = {}\n\tfor (const param of _params) {\n\t\tif (param.includes(\"=\")) {\n\t\t\tconst parts = param.split(\"=\")\n\t\t\tparams[parts[0]] = parts[1].trim();\n\t\t}\n\t}\n\tconst base64 = parts.slice(1).join(\":\");\n\tconst height = params.height?.includes(\"px\") ? parseInt(params.height) : 150\n\tconst width = params.width?.includes(\"px\") ? parseInt(params.width) : 150\n\tconst preserveAspectRatio = params.preserveAspectRatio == '0' ? false : true;\n\n\tconst force_height = params.height?.includes(\"px\") || height >= width;\n\tconst req_Height = force_height ? height : Math.max(height, width*2);\n\tconst char_count = height<=width ? Math.round((width/height)) * 2 : 1;\n\n\n\tObject.assign(style, {\n\t\tcolor:'transparent',\n\t\t'font-size': `${req_Height}px`,\n\t\t'background-size': preserveAspectRatio ? `contain`: `${width}px ${height}px`,\n\t\t'background-image': `url(data:${getImageType(base64)};base64,${base64})`\n\t})\n\n\t\n\tif (!is_safari) style['background-repeat'] = 'no-repeat';\n\n\treturn \" \".repeat(char_count)\n}\n\n\nfunction convertEscapeSequences(content:string){\n    \n\tconst styles:Record<string,string>[] = [];\n\n\t// add monospace font also for text before first %c\n\tif (requires_console_monsospace_font) {\n\t\tcontent = '%c' + content;\n\t\tstyles.push(getDefaultStyle());\n\t}\n\n\t// replace escape seq with %c\n\tcontent = content.replace(color_image_esc_seq, (x,c,img)=> {\n\t\tconst params:number[] = (!c&&!img) ? [0] : c?.split(\";\").map(Number);\n\t\tconst style = styles.length ? {...styles[styles.length-1]} : getDefaultStyle();\n\t\tstyles.push(style);\n\n\t\tif (img) {\n\t\t\treturn \"%c\" + parseImage(style, img);\n\t\t}\n\t\telse {\n\t\t\tlet max = 100;\n\t\t\twhile (params?.length && max--) {\n\t\t\t\tparseEscSequence(style, params)\n\t\t\t}\n\t\t\treturn \"%c\";\n\n\t\t}\n\t});\t\n\n\t// replace multiple %c\n\tlet c_index = 0;\n\n\tcontent = content.replace(multiple_cs, (cs) => {\n\t\tconst nr = cs.length/2;\n\t\t// combine multiple %c, remove unnessecary css\n\t\tif (nr > 1) {\n\t\t\tstyles.splice(c_index, nr-1);\n\t\t}\n\t\tc_index ++;\n\t\treturn \"%c\";\n\t})\n\n\t// parse css\n\tconst css = [];\n\tfor (let style of styles) {\n\t\t// handle invert\n\t\tconst invert = !!style['-x-invert'];\n\t\tconst conceal = !!style['-x-conceal'];\n\t\tdelete style['-x-invert'];\n\t\tdelete style['-x-conceal'];\n\n\t\tif (conceal) {\n\t\t\tstyle['color'] = 'transparent'\n\t\t}\n\t\tif (invert) {\n\t\t\tif (!style['color']) style['color'] = 'black'\n\t\t\tif (style['text-decoration']?.includes('underline')) style['text-decoration'] = style['text-decoration'].replace('underline', ''); // dont show underline on inverted text\n\t\t}\n\n\n\t\tcss.push(Object.entries(style).map(([key,val])=>{\n\t\t\tif (invert && key == 'background-color') key = 'color';\n\t\t\telse if (invert && key == 'color') key = 'background-color';\n\t\t\treturn val.trim() ? `${key}:${val}`: '';\n\t\t}).join(\";\"))\n\t}\n\n\treturn [content, ...css];\n}\n\n\n\n\nfunction getLogMethodWithEscSeq(original_method:Function) {\n    return (...args:any[]) => {\n\t\t// replace escape sequences in first argument\n\t\tif (typeof args[0] == \"string\") args.splice(0, 1, ...convertEscapeSequences(args[0]));\n        original_method(...args)\n    }\n}\n\n/**\n * console object with methods supporting the ANSI escape sequences\n */\nexport const console = {\n\tlog: getLogMethodWithEscSeq(globalThis.console.log.bind(globalThis.console)),\n\terror: getLogMethodWithEscSeq(globalThis.console.error.bind(globalThis.console)),\n\twarn: getLogMethodWithEscSeq(globalThis.console.warn.bind(globalThis.console)),\n\tdebug: getLogMethodWithEscSeq(globalThis.console.debug.bind(globalThis.console))\n}\n\nfunction enable(){\n\tglobalThis.console.log = console.log.bind(globalThis.console);\n\tglobalThis.console.error = console.error.bind(globalThis.console);\n\tglobalThis.console.warn = console.warn.bind(globalThis.console);\n\tglobalThis.console.debug = console.debug.bind(globalThis.console);\n}\n\n\n/**\n * enable the extended ANSI support polyfill for all non-supported browsers\n */\nexport function enableMinimal(){\n\tif (!ansi_escape_codes_basic_support) enable()\n}\n\n/**\n * enable the extended ANSI support polyfill for all browsers (including chrome)\n */\nexport function enableFullSupport(){\n\tif (!ansi_escape_codes_full_support) enable()\n}"],"names":["ansi_escape_codes_full_support","client_type","is_worker","WorkerGlobalScope","self","globalThis","Deno","isPolyfill","process","ansi_escape_codes_basic_support","chrome","is_safari","test","navigator","userAgent","color_image_esc_seq","multiple_cs","COLORS_8_BIT","ESCAPE_SEQUENCES_SET_CSS","ESCAPE_SEQUENCES_APPEND_CSS","ESCAPE_SEQUENCES_REMOVE_CSS","getDefaultStyle","requires_console_monsospace_font","parseEscSequence","style","params","splice","Object","keys","forEach","key","assign","set_css","append_css","includes","remove_css","replace","getImageType","base64","data","atob","startsWith","parseImage","parts","split","length","_params","param","trim","slice","join","height","parseInt","width","preserveAspectRatio","req_Height","force_height","Math","max","char_count","round","color","repeat","convertEscapeSequences","content","styles","push","c_index","x","c","img","map","Number","cs","nr","css","invert","conceal","entries","val","getLogMethodWithEscSeq","original_method","args","console","log","bind","error","warn","debug","enable","enableMinimal","enableFullSupport"],"mappings":"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","sourceRoot":"/lib/datex-core-js-legacy-0.3.15/utils/","file":"ansi_compat.ts"}