@softwarefactory-project/re-ansi
Version:
1,777 lines (1,770 loc) • 36.8 kB
JavaScript
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
};