UNPKG

@softwarefactory-project/re-ansi

Version:
1,777 lines (1,770 loc) 36.8 kB
var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); // node_modules/rescript/lib/es6/caml_option.js function some(x) { if (x === void 0) { return { BS_PRIVATE_NESTED_SOME_NONE: 0 }; } else if (x !== null && x.BS_PRIVATE_NESTED_SOME_NONE !== void 0) { return { BS_PRIVATE_NESTED_SOME_NONE: x.BS_PRIVATE_NESTED_SOME_NONE + 1 | 0 }; } else { return x; } } __name(some, "some"); function nullable_to_opt(x) { if (x == null) { return; } else { return some(x); } } __name(nullable_to_opt, "nullable_to_opt"); function valFromOption(x) { if (!(x !== null && x.BS_PRIVATE_NESTED_SOME_NONE !== void 0)) { return x; } var depth = x.BS_PRIVATE_NESTED_SOME_NONE; if (depth === 0) { return; } else { return { BS_PRIVATE_NESTED_SOME_NONE: depth - 1 | 0 }; } } __name(valFromOption, "valFromOption"); // node_modules/rescript/lib/es6/js_string.js function codePointAt(arg1, obj) { return obj.codePointAt(arg1); } __name(codePointAt, "codePointAt"); function slice(from, to_, obj) { return obj.slice(from, to_); } __name(slice, "slice"); function sliceToEnd(from, obj) { return obj.slice(from); } __name(sliceToEnd, "sliceToEnd"); // src/AnsiColors.res.mjs function heightBitColors(code) { switch (code) { case 1: return "#800000"; case 2: return "#008000"; case 3: return "#808000"; case 4: return "#000080"; case 5: return "#800080"; case 6: return "#008080"; case 7: return "#c0c0c0"; case 0: case 16: return "#000000"; case 17: return "#00005f"; case 18: return "#000087"; case 19: return "#0000af"; case 20: return "#0000d7"; case 12: case 21: return "#0000ff"; case 22: return "#005f00"; case 23: return "#005f5f"; case 24: return "#005f87"; case 25: return "#005faf"; case 26: return "#005fd7"; case 27: return "#005fff"; case 28: return "#008700"; case 29: return "#00875f"; case 30: return "#008787"; case 31: return "#0087af"; case 32: return "#0087d7"; case 33: return "#0087ff"; case 34: return "#00af00"; case 35: return "#00af5f"; case 36: return "#00af87"; case 37: return "#00afaf"; case 38: return "#00afd7"; case 39: return "#00afff"; case 40: return "#00d700"; case 41: return "#00d75f"; case 42: return "#00d787"; case 43: return "#00d7af"; case 44: return "#00d7d7"; case 45: return "#00d7ff"; case 10: case 46: return "#00ff00"; case 47: return "#00ff5f"; case 48: return "#00ff87"; case 49: return "#00ffaf"; case 50: return "#00ffd7"; case 14: case 51: return "#00ffff"; case 52: return "#5f0000"; case 53: return "#5f005f"; case 54: return "#5f0087"; case 55: return "#5f00af"; case 56: return "#5f00d7"; case 57: return "#5f00ff"; case 58: return "#5f5f00"; case 59: return "#5f5f5f"; case 60: return "#5f5f87"; case 61: return "#5f5faf"; case 62: return "#5f5fd7"; case 63: return "#5f5fff"; case 64: return "#5f8700"; case 65: return "#5f875f"; case 66: return "#5f8787"; case 67: return "#5f87af"; case 68: return "#5f87d7"; case 69: return "#5f87ff"; case 70: return "#5faf00"; case 71: return "#5faf5f"; case 72: return "#5faf87"; case 73: return "#5fafaf"; case 74: return "#5fafd7"; case 75: return "#5fafff"; case 76: return "#5fd700"; case 77: return "#5fd75f"; case 78: return "#5fd787"; case 79: return "#5fd7af"; case 80: return "#5fd7d7"; case 81: return "#5fd7ff"; case 82: return "#5fff00"; case 83: return "#5fff5f"; case 84: return "#5fff87"; case 85: return "#5fffaf"; case 86: return "#5fffd7"; case 87: return "#5fffff"; case 88: return "#870000"; case 89: return "#87005f"; case 90: return "#870087"; case 91: return "#8700af"; case 92: return "#8700d7"; case 93: return "#8700ff"; case 94: return "#875f00"; case 95: return "#875f5f"; case 96: return "#875f87"; case 97: return "#875faf"; case 98: return "#875fd7"; case 99: return "#875fff"; case 100: return "#878700"; case 101: return "#87875f"; case 102: return "#878787"; case 103: return "#8787af"; case 104: return "#8787d7"; case 105: return "#8787ff"; case 106: return "#87af00"; case 107: return "#87af5f"; case 108: return "#87af87"; case 109: return "#87afaf"; case 110: return "#87afd7"; case 111: return "#87afff"; case 112: return "#87d700"; case 113: return "#87d75f"; case 114: return "#87d787"; case 115: return "#87d7af"; case 116: return "#87d7d7"; case 117: return "#87d7ff"; case 118: return "#87ff00"; case 119: return "#87ff5f"; case 120: return "#87ff87"; case 121: return "#87ffaf"; case 122: return "#87ffd7"; case 123: return "#87ffff"; case 124: return "#af0000"; case 125: return "#af005f"; case 126: return "#af0087"; case 127: return "#af00af"; case 128: return "#af00d7"; case 129: return "#af00ff"; case 130: return "#af5f00"; case 131: return "#af5f5f"; case 132: return "#af5f87"; case 133: return "#af5faf"; case 134: return "#af5fd7"; case 135: return "#af5fff"; case 136: return "#af8700"; case 137: return "#af875f"; case 138: return "#af8787"; case 139: return "#af87af"; case 140: return "#af87d7"; case 141: return "#af87ff"; case 142: return "#afaf00"; case 143: return "#afaf5f"; case 144: return "#afaf87"; case 145: return "#afafaf"; case 146: return "#afafd7"; case 147: return "#afafff"; case 148: return "#afd700"; case 149: return "#afd75f"; case 150: return "#afd787"; case 151: return "#afd7af"; case 152: return "#afd7d7"; case 153: return "#afd7ff"; case 154: return "#afff00"; case 155: return "#afff5f"; case 156: return "#afff87"; case 157: return "#afffaf"; case 158: return "#afffd7"; case 159: return "#afffff"; case 160: return "#d70000"; case 161: return "#d7005f"; case 162: return "#d70087"; case 163: return "#d700af"; case 164: return "#d700d7"; case 165: return "#d700ff"; case 166: return "#d75f00"; case 167: return "#d75f5f"; case 168: return "#d75f87"; case 169: return "#d75faf"; case 170: return "#d75fd7"; case 171: return "#d75fff"; case 172: return "#d78700"; case 173: return "#d7875f"; case 174: return "#d78787"; case 175: return "#d787af"; case 176: return "#d787d7"; case 177: return "#d787ff"; case 178: return "#d7af00"; case 179: return "#d7af5f"; case 180: return "#d7af87"; case 181: return "#d7afaf"; case 182: return "#d7afd7"; case 183: return "#d7afff"; case 184: return "#d7d700"; case 185: return "#d7d75f"; case 186: return "#d7d787"; case 187: return "#d7d7af"; case 188: return "#d7d7d7"; case 189: return "#d7d7ff"; case 190: return "#d7ff00"; case 191: return "#d7ff5f"; case 192: return "#d7ff87"; case 193: return "#d7ffaf"; case 194: return "#d7ffd7"; case 195: return "#d7ffff"; case 9: case 196: return "#ff0000"; case 197: return "#ff005f"; case 198: return "#ff0087"; case 199: return "#ff00af"; case 200: return "#ff00d7"; case 13: case 201: return "#ff00ff"; case 202: return "#ff5f00"; case 203: return "#ff5f5f"; case 204: return "#ff5f87"; case 205: return "#ff5faf"; case 206: return "#ff5fd7"; case 207: return "#ff5fff"; case 208: return "#ff8700"; case 209: return "#ff875f"; case 210: return "#ff8787"; case 211: return "#ff87af"; case 212: return "#ff87d7"; case 213: return "#ff87ff"; case 214: return "#ffaf00"; case 215: return "#ffaf5f"; case 216: return "#ffaf87"; case 217: return "#ffafaf"; case 218: return "#ffafd7"; case 219: return "#ffafff"; case 220: return "#ffd700"; case 221: return "#ffd75f"; case 222: return "#ffd787"; case 223: return "#ffd7af"; case 224: return "#ffd7d7"; case 225: return "#ffd7ff"; case 11: case 226: return "#ffff00"; case 227: return "#ffff5f"; case 228: return "#ffff87"; case 229: return "#ffffaf"; case 230: return "#ffffd7"; case 15: case 231: return "#ffffff"; case 232: return "#080808"; case 233: return "#121212"; case 234: return "#1c1c1c"; case 235: return "#262626"; case 236: return "#303030"; case 237: return "#3a3a3a"; case 238: return "#444444"; case 239: return "#4e4e4e"; case 240: return "#585858"; case 241: return "#626262"; case 242: return "#6c6c6c"; case 243: return "#767676"; case 8: case 244: return "#808080"; case 245: return "#8a8a8a"; case 246: return "#949494"; case 247: return "#9e9e9e"; case 248: return "#a8a8a8"; case 249: return "#b2b2b2"; case 250: return "#bcbcbc"; case 251: return "#c6c6c6"; case 252: return "#d0d0d0"; case 253: return "#dadada"; case 254: return "#e4e4e4"; case 255: return "#eeeeee"; default: return; } } __name(heightBitColors, "heightBitColors"); // node_modules/@rescript/core/src/Core__List.res.mjs function add(xs, x) { return { hd: x, tl: xs }; } __name(add, "add"); function copyAuxCont(_cellX, _prec) { while (true) { var prec = _prec; var cellX = _cellX; if (!cellX) { return prec; } var next = { hd: cellX.hd, tl: ( /* [] */ 0 ) }; prec.tl = next; _prec = next; _cellX = cellX.tl; continue; } ; } __name(copyAuxCont, "copyAuxCont"); function length(xs) { var _x = xs; var _acc = 0; while (true) { var acc = _acc; var x = _x; if (!x) { return acc; } _acc = acc + 1 | 0; _x = x.tl; continue; } ; } __name(length, "length"); function fillAux(arr, _i, _x) { while (true) { var x = _x; var i = _i; if (!x) { return; } arr[i] = x.hd; _x = x.tl; _i = i + 1 | 0; continue; } ; } __name(fillAux, "fillAux"); function toArray(x) { var len = length(x); var arr = new Array(len); fillAux(arr, 0, x); return arr; } __name(toArray, "toArray"); function reverseConcat(_l1, _l2) { while (true) { var l2 = _l2; var l1 = _l1; if (!l1) { return l2; } _l2 = { hd: l1.hd, tl: l2 }; _l1 = l1.tl; continue; } ; } __name(reverseConcat, "reverseConcat"); function reverse(l) { return reverseConcat( l, /* [] */ 0 ); } __name(reverse, "reverse"); function flatAux(_prec, _xs) { while (true) { var xs = _xs; var prec = _prec; if (xs) { _xs = xs.tl; _prec = copyAuxCont(xs.hd, prec); continue; } prec.tl = /* [] */ 0; return; } ; } __name(flatAux, "flatAux"); function flat(_xs) { while (true) { var xs = _xs; if (!xs) { return ( /* [] */ 0 ); } var match = xs.hd; if (match) { var cell = { hd: match.hd, tl: ( /* [] */ 0 ) }; flatAux(copyAuxCont(match.tl, cell), xs.tl); return cell; } _xs = xs.tl; continue; } ; } __name(flat, "flat"); // node_modules/@rescript/core/src/Core__Option.res.mjs function flatMap(opt, f) { if (opt !== void 0) { return f(valFromOption(opt)); } } __name(flatMap, "flatMap"); function getOr(opt, $$default2) { if (opt !== void 0) { return valFromOption(opt); } else { return $$default2; } } __name(getOr, "getOr"); // src/Ansi.res.mjs import * as JsxRuntime from "react/jsx-runtime"; function fourBitColors(code) { switch (code) { case 0: return "black"; case 1: return "red"; case 2: return "green"; case 3: return "yellow"; case 4: return "blue"; case 5: return "magenta"; case 6: return "cyan"; case 9: return "initial"; case 10: return "grey"; case 11: return "#DA2647"; case 12: return "#87FF2A"; case 13: return "#FFF700"; case 14: return "#5DADEC"; case 15: return "#FF3399"; case 16: return "#8DD9CC"; case 7: case 17: return "white"; default: console.log("Unknown color value:", code); return; } } __name(fourBitColors, "fourBitColors"); function threeBitColors(code) { switch (code) { case 0: return "grey"; case 1: return "red"; case 2: return "green"; case 3: return "yellow"; case 4: return "blue"; case 5: return "magenta"; case 6: return "cyan"; case 7: return "white"; default: console.log("Unknown color value:", code); return; } } __name(threeBitColors, "threeBitColors"); function combine(css1, css2) { return Object.assign({}, css1, css2); } __name(combine, "combine"); function addWeight(fontWeight) { return { fontWeight }; } __name(addWeight, "addWeight"); function addStyle(fontStyle) { return { fontStyle }; } __name(addStyle, "addStyle"); function addDecoration(textDecoration) { return { textDecoration }; } __name(addDecoration, "addDecoration"); function int_of_cp(c) { return c - 48 | 0; } __name(int_of_cp, "int_of_cp"); function int_of_3bcd(d3, d2, d1) { return (Math.imul(d3 - 48 | 0, 100) + Math.imul(d2 - 48 | 0, 10) | 0) + (d1 - 48 | 0) | 0; } __name(int_of_3bcd, "int_of_3bcd"); function get(colorMode, colorValue) { return flatMap(heightBitColors(colorValue), function(color) { var match = colorMode - 48 | 0; if (match !== 3) { if (match !== 4) { console.log("Unknown 256color code:", colorMode, colorValue); return; } else { return { TAG: "Style", _0: { background: color } }; } } else { return { TAG: "Style", _0: { color } }; } }); } __name(get, "get"); var Color256 = { get }; function getColorStyle(colorMode, colorValue) { switch (colorMode) { case 3: return { TAG: "Foreground", _0: colorValue }; case 0: case 4: return { TAG: "Background", _0: colorValue }; case 9: return { TAG: "BrightForeground", _0: colorValue }; default: } console.log("Unknown color code:", colorMode, colorValue); } __name(getColorStyle, "getColorStyle"); function getColorStyleCss(color) { switch (color.TAG) { case "Foreground": return flatMap(fourBitColors(color._0), function(color2) { return { color: color2 }; }); case "BrightForeground": return flatMap(threeBitColors(color._0), function(color2) { return { color: color2, fontWeight: "bold" }; }); case "Background": return flatMap(fourBitColors(color._0), function(background) { return { background }; }); } } __name(getColorStyleCss, "getColorStyleCss"); function get$1(colorMode, colorValue) { return flatMap(getColorStyle(colorMode - 48 | 0, colorValue - 48 | 0), getColorStyleCss); } __name(get$1, "get$1"); var ColorCss = { getColorStyle, getColorStyleCss, get: get$1 }; function getFontStyle(fontMode) { switch (fontMode) { case 1: return { TAG: "FontStyle", _0: addWeight("bold") }; case 2: return { TAG: "FontStyle", _0: addWeight("lighter") }; case 3: return { TAG: "FontStyle", _0: addStyle("italic") }; case 4: return { TAG: "FontStyle", _0: addDecoration("underline") }; case 0: case 7: return "Regular"; case 9: return { TAG: "FontStyle", _0: addDecoration("line-through") }; default: return; } } __name(getFontStyle, "getFontStyle"); function getFontStyleCss(font) { if (typeof font !== "object") { return; } else { return font._0; } } __name(getFontStyleCss, "getFontStyleCss"); function get$2(fontMode) { return flatMap(getFontStyle(fontMode - 48 | 0), getFontStyleCss); } __name(get$2, "get$2"); var FontCss = { getFontStyle, getFontStyleCss, get: get$2 }; var linkRe = new RegExp("^(http(s)?:\\/\\/[^\\)>\\s\x1B]+)"); function get$3(txt) { return getOr(flatMap(nullable_to_opt(linkRe.exec(txt)), function(res) { return flatMap(res[0], function(url) { return [ url.length, { TAG: "HRef", _0: url } ]; }); }), [ 1, void 0 ]); } __name(get$3, "get$3"); var HttpLink = { linkRe, get: get$3 }; function parse(txt, pos) { var match = codePointAt(pos, txt); var exit = 0; if (match === void 0) { return [ 0, void 0 ]; } if (match >= 14) { if (match !== 27) { if (match !== 104) { return [ 0, void 0 ]; } else { return get$3(slice(pos, 512, txt)); } } exit = 1; } else { if (match === 10) { return [ 1, "CarriageReturn" ]; } if (match < 13) { return [ 0, void 0 ]; } exit = 1; } if (exit === 1) { var codePoints = []; var readCodePoints = /* @__PURE__ */ __name(function(_idx) { while (true) { var idx = _idx; var match2 = idx > 10; var match$110 = codePointAt(pos + idx | 0, txt); if (match2) { return; } if (match$110 === void 0) { return; } if (match$110 === 109) { return; } codePoints.push(match$110); _idx = idx + 1 | 0; continue; } ; }, "readCodePoints"); readCodePoints(1); var length2 = codePoints.length + 2 | 0; var exit$1 = 0; var colorMode; var colorValue; var xs; var colorMode$1; var colorValue$1; var style; var style$1; var cm1; var cv1; var cm2; var cv2; var xs$1; if (codePoints[0] === 10 && codePoints[1] === 27 && codePoints[2] === 91 && codePoints[3] === 49 && codePoints[4] === 65 && codePoints[5] === 27 && codePoints[6] === 91 && codePoints[7] === 74) { return [ 9, "EraseLine" ]; } if (codePoints[0] === 91 && codePoints[2] === 75) { return [ 4, "EraseLine" ]; } if (codePoints[0] === 91 && codePoints[1] === 75) { return [ 3, "EraseLine" ]; } var len = codePoints.length; if (len >= 11) { return [ 1, void 0 ]; } switch (len) { case 0: return [ 1, void 0 ]; case 1: var match$1 = codePoints[0]; if (match$1 !== 91) { return [ 1, void 0 ]; } else { return [ length2, "Clear" ]; } case 2: var match$2 = codePoints[0]; if (match$2 !== 91) { return [ 1, void 0 ]; } var style$2 = codePoints[1]; if (style$2 !== 48) { return [ length2, flatMap(get$2(style$2), function(style2) { return { TAG: "Style", _0: style2 }; }) ]; } else { return [ length2, "Clear" ]; } case 3: var match$3 = codePoints[0]; if (match$3 !== 91) { return [ 1, void 0 ]; } var colorMode$2 = codePoints[1]; var exit$2 = 0; if (colorMode$2 !== 48) { exit$2 = 5; } else { var match$4 = codePoints[2]; if (match$4 === 48) { return [ length2, "Clear" ]; } exit$2 = 5; } if (exit$2 === 5) { var colorValue$2 = codePoints[2]; colorMode = colorMode$2; colorValue = colorValue$2; xs = codePoints; exit$1 = 2; } break; case 4: var match$5 = codePoints[0]; if (match$5 !== 91) { return [ 1, void 0 ]; } var match$6 = codePoints[1]; if (match$6 !== 49) { return [ 1, void 0 ]; } var colorMode$3 = codePoints[2]; var colorValue$3 = codePoints[3]; colorMode = colorMode$3; colorValue = colorValue$3; xs = codePoints; exit$1 = 2; break; case 5: var match$7 = codePoints[0]; if (match$7 !== 91) { return [ 1, void 0 ]; } var colorMode$4 = codePoints[1]; var colorValue$4 = codePoints[2]; var match$8 = codePoints[3]; if (match$8 !== 59) { if (colorValue$4 !== 59) { return [ 1, void 0 ]; } var colorMode$5 = codePoints[3]; var colorValue$5 = codePoints[4]; colorMode$1 = colorMode$5; colorValue$1 = colorValue$5; style = colorMode$4; exit$1 = 3; } else { var style$3 = codePoints[4]; colorMode$1 = colorMode$4; colorValue$1 = colorValue$4; style = style$3; exit$1 = 3; } break; case 6: var match$9 = codePoints[0]; if (match$9 !== 91) { return [ 1, void 0 ]; } var match$10 = codePoints[1]; if (match$10 !== 48) { return [ 1, void 0 ]; } var style$4 = codePoints[2]; var match$11 = codePoints[3]; if (match$11 !== 59) { return [ 1, void 0 ]; } var colorMode$6 = codePoints[4]; var colorValue$6 = codePoints[5]; colorMode$1 = colorMode$6; colorValue$1 = colorValue$6; style = style$4; exit$1 = 3; break; case 7: var match$12 = codePoints[0]; if (match$12 !== 91) { return [ 1, void 0 ]; } var fgbg = codePoints[1]; var match$13 = codePoints[2]; if (match$13 !== 56) { return [ 1, void 0 ]; } var match$14 = codePoints[3]; if (match$14 !== 59) { return [ 1, void 0 ]; } var match$15 = codePoints[4]; if (match$15 !== 53) { return [ 1, void 0 ]; } var match$16 = codePoints[5]; if (match$16 !== 59) { return [ 1, void 0 ]; } var c1 = codePoints[6]; return [ length2, get(fgbg, c1 - 48 | 0) ]; case 8: var match$17 = codePoints[0]; if (match$17 !== 91) { return [ 1, void 0 ]; } var fgbg$1 = codePoints[1]; var match$18 = codePoints[2]; if (match$18 !== 56) { if (match$18 !== 59) { return [ 1, void 0 ]; } var cm1$1 = codePoints[3]; var cv1$1 = codePoints[4]; var match$19 = codePoints[5]; if (match$19 !== 59) { return [ 1, void 0 ]; } var cm2$1 = codePoints[6]; var cv2$1 = codePoints[7]; style$1 = fgbg$1; cm1 = cm1$1; cv1 = cv1$1; cm2 = cm2$1; cv2 = cv2$1; xs$1 = codePoints; exit$1 = 4; } else { var match$20 = codePoints[3]; if (match$20 !== 59) { return [ 1, void 0 ]; } var match$21 = codePoints[4]; if (match$21 !== 53) { return [ 1, void 0 ]; } var match$22 = codePoints[5]; if (match$22 !== 59) { return [ 1, void 0 ]; } var c2 = codePoints[6]; var c1$1 = codePoints[7]; return [ length2, get(fgbg$1, int_of_3bcd(0, c2, c1$1)) ]; } break; case 9: var match$23 = codePoints[0]; if (match$23 !== 91) { return [ 1, void 0 ]; } var fgbg$2 = codePoints[1]; var exit$3 = 0; var match$24 = codePoints[2]; if (match$24 !== 56) { if (match$24 !== 59) { exit$3 = 5; } else { var cm1$2 = codePoints[3]; var cv1$2 = codePoints[4]; var match$25 = codePoints[5]; if (match$25 !== 59) { exit$3 = 5; } else { var match$26 = codePoints[6]; if (match$26 !== 49) { exit$3 = 5; } else { var cm2$2 = codePoints[7]; var cv2$2 = codePoints[8]; style$1 = fgbg$2; cm1 = cm1$2; cv1 = cv1$2; cm2 = cm2$2; cv2 = cv2$2; xs$1 = codePoints; exit$1 = 4; } } } } else { var match$27 = codePoints[3]; if (match$27 !== 59) { exit$3 = 5; } else { var match$28 = codePoints[4]; if (match$28 !== 53) { exit$3 = 5; } else { var match$29 = codePoints[5]; if (match$29 !== 59) { exit$3 = 5; } else { var c3 = codePoints[6]; var c2$1 = codePoints[7]; var c1$2 = codePoints[8]; return [ length2, get(fgbg$2, int_of_3bcd(c3, c2$1, c1$2)) ]; } } } } if (exit$3 === 5) { if (fgbg$2 !== 48) { return [ 1, void 0 ]; } var style$5 = codePoints[2]; var match$30 = codePoints[3]; if (match$30 !== 59) { return [ 1, void 0 ]; } var cm1$3 = codePoints[4]; var cv1$3 = codePoints[5]; var match$31 = codePoints[6]; if (match$31 !== 59) { return [ 1, void 0 ]; } var cm2$3 = codePoints[7]; var cv2$3 = codePoints[8]; style$1 = style$5; cm1 = cm1$3; cv1 = cv1$3; cm2 = cm2$3; cv2 = cv2$3; xs$1 = codePoints; exit$1 = 4; } break; case 10: var match$32 = codePoints[0]; if (match$32 !== 91) { return [ 1, void 0 ]; } var match$33 = codePoints[1]; if (match$33 !== 48) { return [ 1, void 0 ]; } var style$6 = codePoints[2]; var match$34 = codePoints[3]; if (match$34 !== 59) { return [ 1, void 0 ]; } var cm1$4 = codePoints[4]; var cv1$4 = codePoints[5]; var match$35 = codePoints[6]; if (match$35 !== 59) { return [ 1, void 0 ]; } var match$36 = codePoints[7]; if (match$36 !== 49) { return [ 1, void 0 ]; } var cm2$4 = codePoints[8]; var cv2$4 = codePoints[9]; style$1 = style$6; cm1 = cm1$4; cv1 = cv1$4; cm2 = cm2$4; cv2 = cv2$4; xs$1 = codePoints; exit$1 = 4; break; } switch (exit$1) { case 2: return [ length2, flatMap(get$1(colorMode, colorValue + (xs.length === 4 ? 10 : 0) | 0), function(colorCss) { return { TAG: "Style", _0: colorCss }; }) ]; case 3: return [ length2, flatMap(get$1(colorMode$1, colorValue$1), function(colorCss) { var fontCss = get$2(style); if (fontCss !== void 0) { return { TAG: "Style", _0: Object.assign({}, colorCss, fontCss) }; } else { return { TAG: "Style", _0: colorCss }; } }) ]; case 4: return [ length2, flatMap(get$1(cm1, cv1), function(colorCss1) { return flatMap(get$1(cm2, cv2 + (xs$1.length === 9 ? 10 : 0) | 0), function(colorCss2) { var css = Object.assign({}, colorCss1, colorCss2); var fontCss = get$2(style$1); if (fontCss !== void 0) { return { TAG: "Style", _0: Object.assign({}, css, fontCss) }; } else { return { TAG: "Style", _0: css }; } }); }) ]; } } } __name(parse, "parse"); var AnsiCode = { fourBitColors, threeBitColors, combine, addWeight, addStyle, addDecoration, int_of_cp, int_of_3bcd, Color256, ColorCss, FontCss, HttpLink, parse }; function text(txt, from, to_) { return { TAG: "Text", _0: slice(from, to_, txt) }; } __name(text, "text"); function parse$1(txt, length2, pos) { var go = /* @__PURE__ */ __name(function(_pos, _prev) { while (true) { var prev = _prev; var pos2 = _pos; var match = pos2 === length2; var match$1 = parse(txt, pos2); if (match) { return [ pos2, { hd: text(txt, prev, pos2), tl: ( /* [] */ 0 ) } ]; } var code = match$1[1]; if (code !== void 0) { var prevElem = text(txt, prev, pos2); var pos$1 = pos2 + match$1[0] | 0; if (typeof code !== "object") { switch (code) { case "Clear": return [ pos$1, { hd: prevElem, tl: ( /* [] */ 0 ) } ]; case "EraseLine": _prev = pos$1; _pos = pos$1; continue; case "CarriageReturn": return [ pos$1, { hd: prevElem, tl: { hd: "LineBreak", tl: ( /* [] */ 0 ) } } ]; } } else { if (code.TAG === "HRef") { return [ pos$1, { hd: prevElem, tl: { hd: { TAG: "Link", _0: code._0 }, tl: ( /* [] */ 0 ) } } ]; } var match$2 = go(pos$1, pos$1); var styled = match$2[1]; if (styled !== void 0) { return [ match$2[0], { hd: prevElem, tl: { hd: { TAG: "DocStyle", _0: code._0, _1: styled }, tl: ( /* [] */ 0 ) } } ]; } else { return [ pos$1, void 0 ]; } } } else { _pos = pos2 + 1 | 0; continue; } } ; }, "go"); return go(pos, pos); } __name(parse$1, "parse$1"); var $$Document = { text, parse: parse$1 }; function parse$2(txt) { var go = /* @__PURE__ */ __name(function(_txt, _acc) { while (true) { var acc = _acc; var txt2 = _txt; var length2 = txt2.length; var match = parse$1(txt2, length2, 0); var doc = match[1]; var pos = match[0]; if (doc === void 0) { return acc; } if (pos === length2) { return add(acc, doc); } _acc = add(acc, doc); _txt = sliceToEnd(pos, txt2); continue; } ; }, "go"); return flat(reverse(go( txt, /* [] */ 0 ))); } __name(parse$2, "parse$2"); function render(doc) { var go = /* @__PURE__ */ __name(function(_xs, _idx, _acc) { while (true) { var acc = _acc; var idx = _idx; var xs = _xs; if (!xs) { return toArray(reverse(acc)); } var txt = xs.hd; if (typeof txt !== "object") { _acc = add(acc, JsxRuntime.jsx("br", {}, String(idx))); _idx = idx + 1 | 0; _xs = xs.tl; continue; } switch (txt.TAG) { case "Text": _acc = add(acc, txt._0); _idx = idx + 1 | 0; _xs = xs.tl; continue; case "Link": var href = txt._0; _acc = add(acc, JsxRuntime.jsx("a", { children: href, href }, String(idx))); _idx = idx + 1 | 0; _xs = xs.tl; continue; case "DocStyle": _acc = add(acc, JsxRuntime.jsx("span", { children: go( txt._1, 0, /* [] */ 0 ), style: txt._0 }, String(idx))); _idx = idx + 1 | 0; _xs = xs.tl; continue; } } ; }, "go"); return go( doc, 0, /* [] */ 0 ); } __name(render, "render"); function Ansi(props) { return JsxRuntime.jsx("div", { children: render(parse$2(props.log)) }); } __name(Ansi, "Ansi"); var make = Ansi; var $$default = Ansi; export { $$Document, AnsiCode, $$default as default, make, parse$2 as parse, render };