@visulima/colorize 1.2.1 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/dist/index.server.cjs +1 -1
- package/dist/index.server.cjs.map +1 -1
- package/dist/index.server.js +4 -4
- package/dist/index.server.js.map +1 -1
- package/package.json +12 -12
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
## @visulima/colorize [1.2.2](https://github.com/visulima/visulima/compare/@visulima/colorize@1.2.1...@visulima/colorize@1.2.2) (2024-02-28)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* migrated to @visulima/is-ansi-color-supported v2 ([66b5877](https://github.com/visulima/visulima/commit/66b58774c851658636f32a02f2b2fc2f73fe6118))
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Dependencies
|
|
11
|
+
|
|
12
|
+
* **@visulima/is-ansi-color-supported:** upgraded to 2.0.0
|
|
13
|
+
|
|
1
14
|
## @visulima/colorize [1.2.1](https://github.com/visulima/visulima/compare/@visulima/colorize@1.2.0...@visulima/colorize@1.2.1) (2024-02-20)
|
|
2
15
|
|
|
3
16
|
|
package/dist/index.server.cjs
CHANGED
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var isAnsiColorSupported = require('@visulima/is-ansi-color-supported');
|
|
6
6
|
|
|
7
|
-
function l({onlyFirst:f=!1}={}){let r=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(r,f?void 0:"g")}var g=f=>{let r=f.replace("#","");if(r.length===3)r=r[0]+r[0]+r[1]+r[1]+r[2]+r[2];else if(r.length!==6)return [0,0,0];let t=Number.parseInt(r,16);return [t>>16&255,t>>8&255,t&255]},s=(f,r,t)=>r>f?r:f>t?t:f,C=(f,r,t)=>{if(r==="")return f;let a=f.indexOf(r);if(a<0)return f;let n=r.length,o=0,d="";for(;~a;)d+=f.slice(o,a)+t,o=a+n,a=f.indexOf(r,o);return d+f.slice(o)};var e=isAnsiColorSupported.
|
|
7
|
+
function l({onlyFirst:f=!1}={}){let r=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(r,f?void 0:"g")}var g=f=>{let r=f.replace("#","");if(r.length===3)r=r[0]+r[0]+r[1]+r[1]+r[2]+r[2];else if(r.length!==6)return [0,0,0];let t=Number.parseInt(r,16);return [t>>16&255,t>>8&255,t&255]},s=(f,r,t)=>r>f?r:f>t?t:f,C=(f,r,t)=>{if(r==="")return f;let a=f.indexOf(r);if(a<0)return f;let n=r.length,o=0,d="";for(;~a;)d+=f.slice(o,a)+t,o=a+n,a=f.indexOf(r,o);return d+f.slice(o)};var e=isAnsiColorSupported.isStdoutColorSupported()>0?(f,r)=>({close:"\x1B["+r+"m",open:"\x1B["+f+"m"}):()=>({close:"",open:""}),x=f=>e("38;5;"+f,39),R=f=>e("48;5;"+f,49),h=(f,r,t)=>e("38;2;"+f+";"+r+";"+t,39),k=(f,r,t)=>e("48;2;"+f+";"+r+";"+t,49),c={bold:e(1,22),dim:e(2,22),hidden:e(8,28),inverse:e(7,27),italic:e(3,23),overline:e(53,55),reset:e(0,0),strike:e(9,29),strikethrough:e(9,29),underline:e(4,24),visible:{close:"",open:""}},b={bgBlack:e(40,49),bgBlackBright:e(100,49),bgBlue:e(44,49),bgBlueBright:e(104,49),bgCyan:e(46,49),bgCyanBright:e(106,49),bgGray:e(100,49),bgGreen:e(42,49),bgGreenBright:e(102,49),bgGrey:e(100,49),bgMagenta:e(45,49),bgMagentaBright:e(105,49),bgRed:e(41,49),bgRedBright:e(101,49),bgWhite:e(47,49),bgWhiteBright:e(107,49),bgYellow:e(43,49),bgYellowBright:e(103,49),black:e(30,39),blackBright:e(90,39),blue:e(34,39),blueBright:e(94,39),cyan:e(36,39),cyanBright:e(96,39),gray:e(90,39),green:e(32,39),greenBright:e(92,39),grey:e(90,39),magenta:e(35,39),magentaBright:e(95,39),red:e(31,39),redBright:e(91,39),white:e(37,39),whiteBright:e(97,39),yellow:e(33,39),yellowBright:e(93,39)},p={bg:f=>R(s(f,0,255)),bgHex:f=>k(...g(f)),bgRgb:(f,r,t)=>k(s(f,0,255),s(r,0,255),s(t,0,255)),fg:f=>x(s(f,0,255)),hex:f=>h(...g(f)),rgb:(f,r,t)=>h(s(f,0,255),s(r,0,255),s(t,0,255))};var i={},u=null,S=(f,r,t)=>{if(!f)return "";let a=f.raw==null?f+"":String.raw(f,...r);if(a.includes("\x1B"))for(let n=t;n;n=n.props)a=C(a,n.close,n.open);return a.includes(`
|
|
8
8
|
`)&&(a=a.replace(/(\r*\n)/g,t.closeStack+"$1"+t.openStack)),t.openStack+a+t.closeStack},y=({props:f},{close:r,open:t})=>{let a=(f?.openStack??"")+t,n=r+(f?.closeStack??""),o=(d,...A)=>S(d,A,o.props);return Object.setPrototypeOf(o,u),o.props={close:r,closeStack:n,open:t,openStack:a,props:f},o.open=a,o.close=n,o},z=function(){let f=r=>r+"";f.strip=r=>r.replaceAll(l(),"");for(let r in b)i[r]={get(){let t=y(this,b[r]);return Object.defineProperty(this,r,{value:t}),t}};for(let r in c)i[r]={get(){let t=y(this,c[r]);return Object.defineProperty(this,r,{value:t}),t}};return u=Object.defineProperties({},i),Object.setPrototypeOf(f,u),f};for(let f in p)i[f]={get(){return (...r)=>y(this,p[f](...r))}};i.ansi256=i.fg;i.bgAnsi256=i.bg;var m=z;var D=new m,q=D,H=m;
|
|
9
9
|
|
|
10
10
|
module.exports = q;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/.pnpm/ansi-regex@6.0.1/node_modules/ansi-regex/index.js","../src/ansi-codes.ts","../src/utils.ts","../src/colorize.server.ts","../src/index.server.cts"],"names":["ansiRegex","onlyFirst","pattern","isColorSupported","hexToRgb","hex","color","number_","clamp","min","max","stringReplaceAll","string_","searchValue","replaceValue","pos","substringLength","lastPos","result","esc","open","close","createAnsi256","code","createBgAnsi256","createRgb","r","g","b","createBgRgb","baseStyles","baseColors","styleMethods","styles","stylePrototype","wrapText","strings","values","properties","string","currentProperties","createStyle","props","openStack","closeStack","style","Colorize","self","value","name","arguments_","colorize_server_default","colorize","index_server_default"],"mappings":"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","sourcesContent":["export default function ansiRegex({onlyFirst = false} = {}) {\n\tconst pattern = [\n\t '[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)',\n\t\t'(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))'\n\t].join('|');\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n}\n","/**\n * Modified copy of https://github.com/webdiscus/ansis/blob/master/src/ansi-codes.js\n *\n * ISC License\n *\n * Copyright (c) 2023, webdiscus\n */\n\nimport { isColorSupported } from \"@visulima/is-ansi-color-supported\";\n\nimport type { AnsiColors, AnsiStyles, ColorData } from \"./types\";\nimport { clamp, hexToRgb } from \"./utils\";\n\nconst esc: (open: number | string, close: number | string) => ColorData =\n isColorSupported() > 0\n ? (open: number | string, close: number | string): ColorData => {\n return { close: \"\\u001B[\" + close + \"m\", open: \"\\u001B[\" + open + \"m\" };\n }\n : (): ColorData => {\n return { close: \"\", open: \"\" };\n };\n\nconst createAnsi256 = (code: number | string): ColorData => esc(\"38;5;\" + code, 39);\n\nconst createBgAnsi256 = (code: number | string): ColorData => esc(\"48;5;\" + code, 49);\n\nconst createRgb = (r: number | string, g: number | string, b: number | string): ColorData => esc(\"38;2;\" + r + \";\" + g + \";\" + b, 39);\n\nconst createBgRgb = (r: number | string, g: number | string, b: number | string): ColorData => esc(\"48;2;\" + r + \";\" + g + \";\" + b, 49);\n\nexport const baseStyles: Required<Record<AnsiStyles, ColorData>> = {\n // 21 isn't widely supported and 22 does the same thing\n bold: esc(1, 22),\n dim: esc(2, 22),\n hidden: esc(8, 28),\n inverse: esc(7, 27),\n italic: esc(3, 23),\n overline: esc(53, 55),\n reset: esc(0, 0),\n strike: esc(9, 29), // alias for strikethrough\n strikethrough: esc(9, 29),\n underline: esc(4, 24),\n visible: { close: \"\", open: \"\" },\n};\n\nexport const baseColors: Required<Record<AnsiColors, ColorData>> = {\n bgBlack: esc(40, 49),\n bgBlackBright: esc(100, 49),\n bgBlue: esc(44, 49),\n bgBlueBright: esc(104, 49),\n bgCyan: esc(46, 49),\n bgCyanBright: esc(106, 49),\n bgGray: esc(100, 49), // US spelling alias for bgBlackBright\n bgGreen: esc(42, 49),\n bgGreenBright: esc(102, 49),\n bgGrey: esc(100, 49), // UK spelling alias for bgBlackBright\n bgMagenta: esc(45, 49),\n bgMagentaBright: esc(105, 49),\n bgRed: esc(41, 49),\n bgRedBright: esc(101, 49),\n bgWhite: esc(47, 49),\n bgWhiteBright: esc(107, 49),\n bgYellow: esc(43, 49),\n bgYellowBright: esc(103, 49),\n black: esc(30, 39),\n blackBright: esc(90, 39),\n blue: esc(34, 39),\n blueBright: esc(94, 39),\n cyan: esc(36, 39),\n cyanBright: esc(96, 39),\n gray: esc(90, 39), // US spelling alias for blackBright\n green: esc(32, 39),\n greenBright: esc(92, 39),\n grey: esc(90, 39), // UK spelling alias for blackBright\n magenta: esc(35, 39),\n magentaBright: esc(95, 39),\n red: esc(31, 39),\n redBright: esc(91, 39),\n white: esc(37, 39),\n whiteBright: esc(97, 39),\n yellow: esc(33, 39),\n yellowBright: esc(93, 39),\n};\n\nexport const styleMethods: {\n bg: (code: number) => ColorData;\n bgHex: (hex: string) => ColorData;\n bgRgb: (r: number, g: number, b: number) => ColorData;\n fg: (code: number) => ColorData;\n hex: (hex: string) => ColorData;\n rgb: (r: number, g: number, b: number) => ColorData;\n} = {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n bg: (code) => createBgAnsi256(clamp(code, 0, 255)),\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n bgHex: (hex) => createBgRgb(...hexToRgb(hex)),\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n bgRgb: (r, g, b) => createBgRgb(clamp(r, 0, 255), clamp(g, 0, 255), clamp(b, 0, 255)),\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n fg: (code) => createAnsi256(clamp(code, 0, 255)),\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n hex: (hex) => createRgb(...hexToRgb(hex)),\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n rgb: (r, g, b) => createRgb(clamp(r, 0, 255), clamp(g, 0, 255), clamp(b, 0, 255)),\n};\n","/**\n * Modified copy of https://github.com/webdiscus/ansis/blob/master/src/utils.js\n *\n * ISC License\n *\n * Copyright (c) 2023, webdiscus\n */\n\n/**\n * Convert hex color string to RGB values.\n *\n * A hexadecimal color code can be 3 or 6 digits with an optional \"#\" prefix.\n *\n * The 3 digits specifies an RGB doublet data as a fully opaque color.\n * For example, \"#123\" specifies the color that is represented by \"#112233\".\n *\n * The 6 digits specifies a fully opaque color.\n * For example, \"#112233\".\n *\n * @param {string} hex A string that contains the hexadecimal RGB color representation.\n * @return {[number, number, number]} The red, green, blue values in range [0, 255] .\n */\nexport const hexToRgb = (hex: string): [number, number, number] => {\n let color: string = hex.replace(\"#\", \"\");\n\n if (color.length === 3) {\n color = (color[0] as string) + (color[0] as string) + (color[1] as string) + (color[1] as string) + (color[2] as string) + (color[2] as string);\n } else if (color.length !== 6) {\n return [0, 0, 0];\n }\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const number_ = Number.parseInt(color, 16);\n\n // eslint-disable-next-line no-bitwise\n return [(number_ >> 16) & 255, (number_ >> 8) & 255, number_ & 255];\n};\n\n/**\n * Clamp a number within the inclusive range specified by min and max.\n * @note: The ternary operator is a tick quicker than Math.min(Math.max(num, min), max).\n */\nexport const clamp = (number_: number, min: number, max: number): number => (min > number_ ? min : number_ > max ? max : number_);\n\n/**\n * Replace all matched strings.\n * Note: this implementation is over 30% faster than String.replaceAll().\n */\nexport const stringReplaceAll = (string_: string, searchValue: string, replaceValue: string): string => {\n // visible style has empty open/close props\n if (searchValue === \"\") {\n return string_;\n }\n\n let pos = string_.indexOf(searchValue);\n if (pos < 0) {\n return string_;\n }\n\n const substringLength = searchValue.length;\n let lastPos = 0;\n let result = \"\";\n\n // eslint-disable-next-line no-loops/no-loops,no-bitwise\n while (~pos) {\n result += string_.slice(lastPos, pos) + replaceValue;\n lastPos = pos + substringLength;\n pos = string_.indexOf(searchValue, lastPos);\n }\n\n return result + string_.slice(lastPos);\n};\n\nexport const ansiCodeHexMap: Record<number, string> = {\n 0: \"#000\",\n 1: \"#800\",\n 2: \"#080\",\n 3: \"#880\",\n 4: \"#008\",\n 5: \"#808\",\n 6: \"#088\",\n 7: \"#ccc\",\n 8: \"#444\",\n 9: \"#f00\",\n 10: \"#0f0\",\n 11: \"#ff0\",\n 12: \"#00f\",\n 13: \"#f0f\",\n 14: \"#0ff\",\n 15: \"#fff\",\n 16: \"#000\",\n 17: \"#00005f\",\n 18: \"#000087\",\n 19: \"#0000af\",\n 20: \"#0000d7\",\n 21: \"#0000ff\",\n 22: \"#005f00\",\n 23: \"#005f5f\",\n 24: \"#005f87\",\n 25: \"#005faf\",\n 26: \"#005fd7\",\n 27: \"#005fff\",\n 28: \"#008700\",\n 29: \"#00875f\",\n 30: \"#008787\",\n 31: \"#0087af\",\n 32: \"#0087d7\",\n 33: \"#0087ff\",\n 34: \"#00af00\",\n 35: \"#00af5f\",\n 36: \"#00af87\",\n 37: \"#00afaf\",\n 38: \"#00afd7\",\n 39: \"#00afff\",\n 40: \"#00d700\",\n 41: \"#00d75f\",\n 42: \"#00d787\",\n 43: \"#00d7af\",\n 44: \"#00d7d7\",\n 45: \"#00d7ff\",\n 46: \"#00ff00\",\n 47: \"#00ff5f\",\n 48: \"#00ff87\",\n 49: \"#00ffaf\",\n 50: \"#00ffd7\",\n 51: \"#00ffff\",\n 52: \"#5f0000\",\n 53: \"#5f005f\",\n 54: \"#5f0087\",\n 55: \"#5f00af\",\n 56: \"#5f00d7\",\n 57: \"#5f00ff\",\n 58: \"#5f5f00\",\n 59: \"#5f5f5f\",\n 60: \"#5f5f87\",\n 61: \"#5f5faf\",\n 62: \"#5f5fd7\",\n 63: \"#5f5fff\",\n 64: \"#5f8700\",\n 65: \"#5f875f\",\n 66: \"#5f8787\",\n 67: \"#5f87af\",\n 68: \"#5f87d7\",\n 69: \"#5f87ff\",\n 70: \"#5faf00\",\n 71: \"#5faf5f\",\n 72: \"#5faf87\",\n 73: \"#5fafaf\",\n 74: \"#5fafd7\",\n 75: \"#5fafff\",\n 76: \"#5fd700\",\n 77: \"#5fd75f\",\n 78: \"#5fd787\",\n 79: \"#5fd7af\",\n 80: \"#5fd7d7\",\n 81: \"#5fd7ff\",\n 82: \"#5fff00\",\n 83: \"#5fff5f\",\n 84: \"#5fff87\",\n 85: \"#5fffaf\",\n 86: \"#5fffd7\",\n 87: \"#5fffff\",\n 88: \"#870000\",\n 89: \"#87005f\",\n 90: \"#870087\",\n 91: \"#8700af\",\n 92: \"#8700d7\",\n 93: \"#8700ff\",\n 94: \"#875f00\",\n 95: \"#875f5f\",\n 96: \"#875f87\",\n 97: \"#875faf\",\n 98: \"#875fd7\",\n 99: \"#875fff\",\n 100: \"#878700\",\n 101: \"#87875f\",\n 102: \"#878787\",\n 103: \"#8787af\",\n 104: \"#8787d7\",\n 105: \"#8787ff\",\n 106: \"#87af00\",\n 107: \"#87af5f\",\n 108: \"#87af87\",\n 109: \"#87afaf\",\n 110: \"#87afd7\",\n 111: \"#87afff\",\n 112: \"#87d700\",\n 113: \"#87d75f\",\n 114: \"#87d787\",\n 115: \"#87d7af\",\n 116: \"#87d7d7\",\n 117: \"#87d7ff\",\n 118: \"#87ff00\",\n 119: \"#87ff5f\",\n 120: \"#87ff87\",\n 121: \"#87ffaf\",\n 122: \"#87ffd7\",\n 123: \"#87ffff\",\n 124: \"#af0000\",\n 125: \"#af005f\",\n 126: \"#af0087\",\n 127: \"#af00af\",\n 128: \"#af00d7\",\n 129: \"#af00ff\",\n 130: \"#af5f00\",\n 131: \"#af5f5f\",\n 132: \"#af5f87\",\n 133: \"#af5faf\",\n 134: \"#af5fd7\",\n 135: \"#af5fff\",\n 136: \"#af8700\",\n 137: \"#af875f\",\n 138: \"#af8787\",\n 139: \"#af87af\",\n 140: \"#af87d7\",\n 141: \"#af87ff\",\n 142: \"#afaf00\",\n 143: \"#afaf5f\",\n 144: \"#afaf87\",\n 145: \"#afafaf\",\n 146: \"#afafd7\",\n 147: \"#afafff\",\n 148: \"#afd700\",\n 149: \"#afd75f\",\n 150: \"#afd787\",\n 151: \"#afd7af\",\n 152: \"#afd7d7\",\n 153: \"#afd7ff\",\n 154: \"#afff00\",\n 155: \"#afff5f\",\n 156: \"#afff87\",\n 157: \"#afffaf\",\n 158: \"#afffd7\",\n 159: \"#afffff\",\n 160: \"#d70000\",\n 161: \"#d7005f\",\n 162: \"#d70087\",\n 163: \"#d700af\",\n 164: \"#d700d7\",\n 165: \"#d700ff\",\n 166: \"#d75f00\",\n 167: \"#d75f5f\",\n 168: \"#d75f87\",\n 169: \"#d75faf\",\n 170: \"#d75fd7\",\n 171: \"#d75fff\",\n 172: \"#d78700\",\n 173: \"#d7875f\",\n 174: \"#d78787\",\n 175: \"#d787af\",\n 176: \"#d787d7\",\n 177: \"#d787ff\",\n 178: \"#d7af00\",\n 179: \"#d7af5f\",\n 180: \"#d7af87\",\n 181: \"#d7afaf\",\n 182: \"#d7afd7\",\n 183: \"#d7afff\",\n 184: \"#d7d700\",\n 185: \"#d7d75f\",\n 186: \"#d7d787\",\n 187: \"#d7d7af\",\n 188: \"#d7d7d7\",\n 189: \"#d7d7ff\",\n 190: \"#d7ff00\",\n 191: \"#d7ff5f\",\n 192: \"#d7ff87\",\n 193: \"#d7ffaf\",\n 194: \"#d7ffd7\",\n 195: \"#d7ffff\",\n 196: \"#ff0000\",\n 197: \"#ff005f\",\n 198: \"#ff0087\",\n 199: \"#ff00af\",\n 200: \"#ff00d7\",\n 201: \"#ff00ff\",\n 202: \"#ff5f00\",\n 203: \"#ff5f5f\",\n 204: \"#ff5f87\",\n 205: \"#ff5faf\",\n 206: \"#ff5fd7\",\n 207: \"#ff5fff\",\n 208: \"#ff8700\",\n 209: \"#ff875f\",\n 210: \"#ff8787\",\n 211: \"#ff87af\",\n 212: \"#ff87d7\",\n 213: \"#ff87ff\",\n 214: \"#ffaf00\",\n 215: \"#ffaf5f\",\n 216: \"#ffaf87\",\n 217: \"#ffafaf\",\n 218: \"#ffafd7\",\n 219: \"#ffafff\",\n 220: \"#ffd700\",\n 221: \"#ffd75f\",\n 222: \"#ffd787\",\n 223: \"#ffd7af\",\n 224: \"#ffd7d7\",\n 225: \"#ffd7ff\",\n 226: \"#ffff00\",\n 227: \"#ffff5f\",\n 228: \"#ffff87\",\n 229: \"#ffffaf\",\n 230: \"#ffffd7\",\n 231: \"#ffffff\",\n 232: \"#080808\",\n 233: \"#121212\",\n 234: \"#1c1c1c\",\n 235: \"#262626\",\n 236: \"#303030\",\n 237: \"#3a3a3a\",\n 238: \"#444444\",\n 239: \"#4e4e4e\",\n 240: \"#585858\",\n 241: \"#626262\",\n 242: \"#6c6c6c\",\n 243: \"#767676\",\n 244: \"#808080\",\n 245: \"#8a8a8a\",\n 246: \"#949494\",\n 247: \"#9e9e9e\",\n 248: \"#a8a8a8\",\n 249: \"#b2b2b2\",\n 250: \"#bcbcbc\",\n 251: \"#c6c6c6\",\n 252: \"#d0d0d0\",\n 253: \"#dadada\",\n 254: \"#e4e4e4\",\n 255: \"#eeeeee\",\n};\n","/**\n * Modified copy of https://github.com/webdiscus/ansis/blob/master/src/index.js\n *\n * ISC License\n *\n * Copyright (c) 2023, webdiscus\n */\n\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport ansiRegex from \"ansi-regex\";\n\nimport { baseColors, baseStyles, styleMethods } from \"./ansi-codes\";\nimport type { ColorData, ColorizeType } from \"./types\";\nimport { stringReplaceAll } from \"./utils\";\n\nconst styles: Record<string, object> = {};\n\nlet stylePrototype: object | null = null;\n\nconst wrapText = (\n strings: ArrayLike<string> | ReadonlyArray<string> | number | string | { raw: ArrayLike<string> | ReadonlyArray<string> },\n values: string[],\n properties: ColorizeProperties,\n) => {\n if (!strings) {\n return \"\";\n }\n\n let string =\n (strings as { raw?: ArrayLike<string> | ReadonlyArray<string> | null }).raw == null\n ? (((strings as number | string) + \"\") as string)\n : String.raw(strings as { raw: ArrayLike<string> | ReadonlyArray<string> }, ...values);\n\n if (string.includes(\"\\u001B\")) {\n // eslint-disable-next-line no-loops/no-loops,@typescript-eslint/no-unnecessary-condition\n for (let currentProperties = properties; currentProperties; currentProperties = currentProperties.props) {\n string = stringReplaceAll(string, currentProperties.close, currentProperties.open);\n }\n }\n\n if (string.includes(\"\\n\")) {\n // eslint-disable-next-line unicorn/prefer-string-replace-all\n string = string.replace(/(\\r*\\n)/g, properties.closeStack + \"$1\" + properties.openStack);\n }\n\n return properties.openStack + string + properties.closeStack;\n};\n\ntype ColorizeProperties = { close: string; closeStack: string; open: string; openStack: string; props: ColorizeProperties };\n\nconst createStyle = (\n { props }: { props?: ColorizeProperties },\n { close, open }: ColorData,\n): {\n (strings: ArrayLike<string> | ReadonlyArray<string> | string, ...values: string[]): string;\n close: string;\n open: string;\n props: { close: string; closeStack: string; open: string; openStack: string; props?: ColorizeProperties };\n} => {\n const openStack: string = (props?.openStack ?? \"\") + open;\n const closeStack: string = close + (props?.closeStack ?? \"\");\n\n const style = (strings: ArrayLike<string> | ReadonlyArray<string> | string, ...values: string[]) => wrapText(strings, values, style.props);\n\n Object.setPrototypeOf(style, stylePrototype);\n\n style.props = { close, closeStack, open, openStack, props } as ColorizeProperties;\n style.open = openStack;\n style.close = closeStack;\n\n return style;\n};\n\n// eslint-disable-next-line func-names\nconst Colorize = function () {\n const self = (string_: number | string) => string_ + \"\";\n\n self.strip = (value: string): string => value.replaceAll(ansiRegex(), \"\");\n\n // eslint-disable-next-line guard-for-in,no-loops/no-loops,no-restricted-syntax\n for (const name in baseColors) {\n // eslint-disable-next-line security/detect-object-injection\n styles[name] = {\n get() {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const style = createStyle(this, baseColors[name as keyof typeof baseColors]);\n\n Object.defineProperty(this, name, { value: style });\n\n return style;\n },\n };\n }\n\n // eslint-disable-next-line guard-for-in,no-loops/no-loops,no-restricted-syntax\n for (const name in baseStyles) {\n // eslint-disable-next-line security/detect-object-injection\n styles[name] = {\n get() {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const style = createStyle(this, baseStyles[name as keyof typeof baseStyles]);\n\n Object.defineProperty(this, name, { value: style });\n\n return style;\n },\n };\n }\n\n // This needs to be the last thing we do, so that the prototype is fully populated.\n stylePrototype = Object.defineProperties({}, styles);\n\n Object.setPrototypeOf(self, stylePrototype);\n\n return self;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n} as any as new () => ColorizeType;\n\n// eslint-disable-next-line guard-for-in,no-loops/no-loops,no-restricted-syntax\nfor (const name in styleMethods) {\n styles[name as keyof typeof styleMethods] = {\n get() {\n return (...arguments_: (number | string)[]) =>\n // @ts-expect-error: TODO: fix typing of `arguments_`\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n createStyle(this, styleMethods[name as keyof typeof styleMethods](...arguments_));\n },\n };\n}\n\nstyles[\"ansi256\"] = styles[\"fg\"] as object;\nstyles[\"bgAnsi256\"] = styles[\"bg\"] as object;\n\n// eslint-disable-next-line import/no-default-export\nexport default Colorize;\n","import ColorizeImpl from \"./colorize.server\";\nimport type { ColorizeType } from \"./types\";\n\nconst colorize: ColorizeType = new ColorizeImpl() as ColorizeType;\n\n// eslint-disable-next-line import/no-default-export,import/no-unused-modules\nexport default colorize as ColorizeType;\n\n// eslint-disable-next-line unicorn/prefer-export-from,import/no-unused-modules\nexport const Colorize = ColorizeImpl;\n\n// eslint-disable-next-line import/no-unused-modules\nexport type { AnsiColors, AnsiStyles, ColorizeType } from \"./types\";\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/.pnpm/ansi-regex@6.0.1/node_modules/ansi-regex/index.js","../src/ansi-codes.ts","../src/utils.ts","../src/colorize.server.ts","../src/index.server.cts"],"names":["ansiRegex","onlyFirst","pattern","isStdoutColorSupported","hexToRgb","hex","color","number_","clamp","min","max","stringReplaceAll","string_","searchValue","replaceValue","pos","substringLength","lastPos","result","esc","open","close","createAnsi256","code","createBgAnsi256","createRgb","r","g","b","createBgRgb","baseStyles","baseColors","styleMethods","styles","stylePrototype","wrapText","strings","values","properties","string","currentProperties","createStyle","props","openStack","closeStack","style","Colorize","self","value","name","arguments_","colorize_server_default","colorize","index_server_default"],"mappings":"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","sourcesContent":["export default function ansiRegex({onlyFirst = false} = {}) {\n\tconst pattern = [\n\t '[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)',\n\t\t'(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))'\n\t].join('|');\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n}\n","/**\n * Modified copy of https://github.com/webdiscus/ansis/blob/master/src/ansi-codes.js\n *\n * ISC License\n *\n * Copyright (c) 2023, webdiscus\n */\n\nimport { isStdoutColorSupported } from \"@visulima/is-ansi-color-supported\";\n\nimport type { AnsiColors, AnsiStyles, ColorData } from \"./types\";\nimport { clamp, hexToRgb } from \"./utils\";\n\nconst esc: (open: number | string, close: number | string) => ColorData =\n isStdoutColorSupported() > 0\n ? (open: number | string, close: number | string): ColorData => {\n return { close: \"\\u001B[\" + close + \"m\", open: \"\\u001B[\" + open + \"m\" };\n }\n : (): ColorData => {\n return { close: \"\", open: \"\" };\n };\n\nconst createAnsi256 = (code: number | string): ColorData => esc(\"38;5;\" + code, 39);\n\nconst createBgAnsi256 = (code: number | string): ColorData => esc(\"48;5;\" + code, 49);\n\nconst createRgb = (r: number | string, g: number | string, b: number | string): ColorData => esc(\"38;2;\" + r + \";\" + g + \";\" + b, 39);\n\nconst createBgRgb = (r: number | string, g: number | string, b: number | string): ColorData => esc(\"48;2;\" + r + \";\" + g + \";\" + b, 49);\n\nexport const baseStyles: Required<Record<AnsiStyles, ColorData>> = {\n // 21 isn't widely supported and 22 does the same thing\n bold: esc(1, 22),\n dim: esc(2, 22),\n hidden: esc(8, 28),\n inverse: esc(7, 27),\n italic: esc(3, 23),\n overline: esc(53, 55),\n reset: esc(0, 0),\n strike: esc(9, 29), // alias for strikethrough\n strikethrough: esc(9, 29),\n underline: esc(4, 24),\n visible: { close: \"\", open: \"\" },\n};\n\nexport const baseColors: Required<Record<AnsiColors, ColorData>> = {\n bgBlack: esc(40, 49),\n bgBlackBright: esc(100, 49),\n bgBlue: esc(44, 49),\n bgBlueBright: esc(104, 49),\n bgCyan: esc(46, 49),\n bgCyanBright: esc(106, 49),\n bgGray: esc(100, 49), // US spelling alias for bgBlackBright\n bgGreen: esc(42, 49),\n bgGreenBright: esc(102, 49),\n bgGrey: esc(100, 49), // UK spelling alias for bgBlackBright\n bgMagenta: esc(45, 49),\n bgMagentaBright: esc(105, 49),\n bgRed: esc(41, 49),\n bgRedBright: esc(101, 49),\n bgWhite: esc(47, 49),\n bgWhiteBright: esc(107, 49),\n bgYellow: esc(43, 49),\n bgYellowBright: esc(103, 49),\n black: esc(30, 39),\n blackBright: esc(90, 39),\n blue: esc(34, 39),\n blueBright: esc(94, 39),\n cyan: esc(36, 39),\n cyanBright: esc(96, 39),\n gray: esc(90, 39), // US spelling alias for blackBright\n green: esc(32, 39),\n greenBright: esc(92, 39),\n grey: esc(90, 39), // UK spelling alias for blackBright\n magenta: esc(35, 39),\n magentaBright: esc(95, 39),\n red: esc(31, 39),\n redBright: esc(91, 39),\n white: esc(37, 39),\n whiteBright: esc(97, 39),\n yellow: esc(33, 39),\n yellowBright: esc(93, 39),\n};\n\nexport const styleMethods: {\n bg: (code: number) => ColorData;\n bgHex: (hex: string) => ColorData;\n bgRgb: (r: number, g: number, b: number) => ColorData;\n fg: (code: number) => ColorData;\n hex: (hex: string) => ColorData;\n rgb: (r: number, g: number, b: number) => ColorData;\n} = {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n bg: (code) => createBgAnsi256(clamp(code, 0, 255)),\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n bgHex: (hex) => createBgRgb(...hexToRgb(hex)),\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n bgRgb: (r, g, b) => createBgRgb(clamp(r, 0, 255), clamp(g, 0, 255), clamp(b, 0, 255)),\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n fg: (code) => createAnsi256(clamp(code, 0, 255)),\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n hex: (hex) => createRgb(...hexToRgb(hex)),\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n rgb: (r, g, b) => createRgb(clamp(r, 0, 255), clamp(g, 0, 255), clamp(b, 0, 255)),\n};\n","/**\n * Modified copy of https://github.com/webdiscus/ansis/blob/master/src/utils.js\n *\n * ISC License\n *\n * Copyright (c) 2023, webdiscus\n */\n\n/**\n * Convert hex color string to RGB values.\n *\n * A hexadecimal color code can be 3 or 6 digits with an optional \"#\" prefix.\n *\n * The 3 digits specifies an RGB doublet data as a fully opaque color.\n * For example, \"#123\" specifies the color that is represented by \"#112233\".\n *\n * The 6 digits specifies a fully opaque color.\n * For example, \"#112233\".\n *\n * @param {string} hex A string that contains the hexadecimal RGB color representation.\n * @return {[number, number, number]} The red, green, blue values in range [0, 255] .\n */\nexport const hexToRgb = (hex: string): [number, number, number] => {\n let color: string = hex.replace(\"#\", \"\");\n\n if (color.length === 3) {\n color = (color[0] as string) + (color[0] as string) + (color[1] as string) + (color[1] as string) + (color[2] as string) + (color[2] as string);\n } else if (color.length !== 6) {\n return [0, 0, 0];\n }\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const number_ = Number.parseInt(color, 16);\n\n // eslint-disable-next-line no-bitwise\n return [(number_ >> 16) & 255, (number_ >> 8) & 255, number_ & 255];\n};\n\n/**\n * Clamp a number within the inclusive range specified by min and max.\n * @note: The ternary operator is a tick quicker than Math.min(Math.max(num, min), max).\n */\nexport const clamp = (number_: number, min: number, max: number): number => (min > number_ ? min : number_ > max ? max : number_);\n\n/**\n * Replace all matched strings.\n * Note: this implementation is over 30% faster than String.replaceAll().\n */\nexport const stringReplaceAll = (string_: string, searchValue: string, replaceValue: string): string => {\n // visible style has empty open/close props\n if (searchValue === \"\") {\n return string_;\n }\n\n let pos = string_.indexOf(searchValue);\n if (pos < 0) {\n return string_;\n }\n\n const substringLength = searchValue.length;\n let lastPos = 0;\n let result = \"\";\n\n // eslint-disable-next-line no-loops/no-loops,no-bitwise\n while (~pos) {\n result += string_.slice(lastPos, pos) + replaceValue;\n lastPos = pos + substringLength;\n pos = string_.indexOf(searchValue, lastPos);\n }\n\n return result + string_.slice(lastPos);\n};\n\nexport const ansiCodeHexMap: Record<number, string> = {\n 0: \"#000\",\n 1: \"#800\",\n 2: \"#080\",\n 3: \"#880\",\n 4: \"#008\",\n 5: \"#808\",\n 6: \"#088\",\n 7: \"#ccc\",\n 8: \"#444\",\n 9: \"#f00\",\n 10: \"#0f0\",\n 11: \"#ff0\",\n 12: \"#00f\",\n 13: \"#f0f\",\n 14: \"#0ff\",\n 15: \"#fff\",\n 16: \"#000\",\n 17: \"#00005f\",\n 18: \"#000087\",\n 19: \"#0000af\",\n 20: \"#0000d7\",\n 21: \"#0000ff\",\n 22: \"#005f00\",\n 23: \"#005f5f\",\n 24: \"#005f87\",\n 25: \"#005faf\",\n 26: \"#005fd7\",\n 27: \"#005fff\",\n 28: \"#008700\",\n 29: \"#00875f\",\n 30: \"#008787\",\n 31: \"#0087af\",\n 32: \"#0087d7\",\n 33: \"#0087ff\",\n 34: \"#00af00\",\n 35: \"#00af5f\",\n 36: \"#00af87\",\n 37: \"#00afaf\",\n 38: \"#00afd7\",\n 39: \"#00afff\",\n 40: \"#00d700\",\n 41: \"#00d75f\",\n 42: \"#00d787\",\n 43: \"#00d7af\",\n 44: \"#00d7d7\",\n 45: \"#00d7ff\",\n 46: \"#00ff00\",\n 47: \"#00ff5f\",\n 48: \"#00ff87\",\n 49: \"#00ffaf\",\n 50: \"#00ffd7\",\n 51: \"#00ffff\",\n 52: \"#5f0000\",\n 53: \"#5f005f\",\n 54: \"#5f0087\",\n 55: \"#5f00af\",\n 56: \"#5f00d7\",\n 57: \"#5f00ff\",\n 58: \"#5f5f00\",\n 59: \"#5f5f5f\",\n 60: \"#5f5f87\",\n 61: \"#5f5faf\",\n 62: \"#5f5fd7\",\n 63: \"#5f5fff\",\n 64: \"#5f8700\",\n 65: \"#5f875f\",\n 66: \"#5f8787\",\n 67: \"#5f87af\",\n 68: \"#5f87d7\",\n 69: \"#5f87ff\",\n 70: \"#5faf00\",\n 71: \"#5faf5f\",\n 72: \"#5faf87\",\n 73: \"#5fafaf\",\n 74: \"#5fafd7\",\n 75: \"#5fafff\",\n 76: \"#5fd700\",\n 77: \"#5fd75f\",\n 78: \"#5fd787\",\n 79: \"#5fd7af\",\n 80: \"#5fd7d7\",\n 81: \"#5fd7ff\",\n 82: \"#5fff00\",\n 83: \"#5fff5f\",\n 84: \"#5fff87\",\n 85: \"#5fffaf\",\n 86: \"#5fffd7\",\n 87: \"#5fffff\",\n 88: \"#870000\",\n 89: \"#87005f\",\n 90: \"#870087\",\n 91: \"#8700af\",\n 92: \"#8700d7\",\n 93: \"#8700ff\",\n 94: \"#875f00\",\n 95: \"#875f5f\",\n 96: \"#875f87\",\n 97: \"#875faf\",\n 98: \"#875fd7\",\n 99: \"#875fff\",\n 100: \"#878700\",\n 101: \"#87875f\",\n 102: \"#878787\",\n 103: \"#8787af\",\n 104: \"#8787d7\",\n 105: \"#8787ff\",\n 106: \"#87af00\",\n 107: \"#87af5f\",\n 108: \"#87af87\",\n 109: \"#87afaf\",\n 110: \"#87afd7\",\n 111: \"#87afff\",\n 112: \"#87d700\",\n 113: \"#87d75f\",\n 114: \"#87d787\",\n 115: \"#87d7af\",\n 116: \"#87d7d7\",\n 117: \"#87d7ff\",\n 118: \"#87ff00\",\n 119: \"#87ff5f\",\n 120: \"#87ff87\",\n 121: \"#87ffaf\",\n 122: \"#87ffd7\",\n 123: \"#87ffff\",\n 124: \"#af0000\",\n 125: \"#af005f\",\n 126: \"#af0087\",\n 127: \"#af00af\",\n 128: \"#af00d7\",\n 129: \"#af00ff\",\n 130: \"#af5f00\",\n 131: \"#af5f5f\",\n 132: \"#af5f87\",\n 133: \"#af5faf\",\n 134: \"#af5fd7\",\n 135: \"#af5fff\",\n 136: \"#af8700\",\n 137: \"#af875f\",\n 138: \"#af8787\",\n 139: \"#af87af\",\n 140: \"#af87d7\",\n 141: \"#af87ff\",\n 142: \"#afaf00\",\n 143: \"#afaf5f\",\n 144: \"#afaf87\",\n 145: \"#afafaf\",\n 146: \"#afafd7\",\n 147: \"#afafff\",\n 148: \"#afd700\",\n 149: \"#afd75f\",\n 150: \"#afd787\",\n 151: \"#afd7af\",\n 152: \"#afd7d7\",\n 153: \"#afd7ff\",\n 154: \"#afff00\",\n 155: \"#afff5f\",\n 156: \"#afff87\",\n 157: \"#afffaf\",\n 158: \"#afffd7\",\n 159: \"#afffff\",\n 160: \"#d70000\",\n 161: \"#d7005f\",\n 162: \"#d70087\",\n 163: \"#d700af\",\n 164: \"#d700d7\",\n 165: \"#d700ff\",\n 166: \"#d75f00\",\n 167: \"#d75f5f\",\n 168: \"#d75f87\",\n 169: \"#d75faf\",\n 170: \"#d75fd7\",\n 171: \"#d75fff\",\n 172: \"#d78700\",\n 173: \"#d7875f\",\n 174: \"#d78787\",\n 175: \"#d787af\",\n 176: \"#d787d7\",\n 177: \"#d787ff\",\n 178: \"#d7af00\",\n 179: \"#d7af5f\",\n 180: \"#d7af87\",\n 181: \"#d7afaf\",\n 182: \"#d7afd7\",\n 183: \"#d7afff\",\n 184: \"#d7d700\",\n 185: \"#d7d75f\",\n 186: \"#d7d787\",\n 187: \"#d7d7af\",\n 188: \"#d7d7d7\",\n 189: \"#d7d7ff\",\n 190: \"#d7ff00\",\n 191: \"#d7ff5f\",\n 192: \"#d7ff87\",\n 193: \"#d7ffaf\",\n 194: \"#d7ffd7\",\n 195: \"#d7ffff\",\n 196: \"#ff0000\",\n 197: \"#ff005f\",\n 198: \"#ff0087\",\n 199: \"#ff00af\",\n 200: \"#ff00d7\",\n 201: \"#ff00ff\",\n 202: \"#ff5f00\",\n 203: \"#ff5f5f\",\n 204: \"#ff5f87\",\n 205: \"#ff5faf\",\n 206: \"#ff5fd7\",\n 207: \"#ff5fff\",\n 208: \"#ff8700\",\n 209: \"#ff875f\",\n 210: \"#ff8787\",\n 211: \"#ff87af\",\n 212: \"#ff87d7\",\n 213: \"#ff87ff\",\n 214: \"#ffaf00\",\n 215: \"#ffaf5f\",\n 216: \"#ffaf87\",\n 217: \"#ffafaf\",\n 218: \"#ffafd7\",\n 219: \"#ffafff\",\n 220: \"#ffd700\",\n 221: \"#ffd75f\",\n 222: \"#ffd787\",\n 223: \"#ffd7af\",\n 224: \"#ffd7d7\",\n 225: \"#ffd7ff\",\n 226: \"#ffff00\",\n 227: \"#ffff5f\",\n 228: \"#ffff87\",\n 229: \"#ffffaf\",\n 230: \"#ffffd7\",\n 231: \"#ffffff\",\n 232: \"#080808\",\n 233: \"#121212\",\n 234: \"#1c1c1c\",\n 235: \"#262626\",\n 236: \"#303030\",\n 237: \"#3a3a3a\",\n 238: \"#444444\",\n 239: \"#4e4e4e\",\n 240: \"#585858\",\n 241: \"#626262\",\n 242: \"#6c6c6c\",\n 243: \"#767676\",\n 244: \"#808080\",\n 245: \"#8a8a8a\",\n 246: \"#949494\",\n 247: \"#9e9e9e\",\n 248: \"#a8a8a8\",\n 249: \"#b2b2b2\",\n 250: \"#bcbcbc\",\n 251: \"#c6c6c6\",\n 252: \"#d0d0d0\",\n 253: \"#dadada\",\n 254: \"#e4e4e4\",\n 255: \"#eeeeee\",\n};\n","/**\n * Modified copy of https://github.com/webdiscus/ansis/blob/master/src/index.js\n *\n * ISC License\n *\n * Copyright (c) 2023, webdiscus\n */\n\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport ansiRegex from \"ansi-regex\";\n\nimport { baseColors, baseStyles, styleMethods } from \"./ansi-codes\";\nimport type { ColorData, ColorizeType } from \"./types\";\nimport { stringReplaceAll } from \"./utils\";\n\nconst styles: Record<string, object> = {};\n\nlet stylePrototype: object | null = null;\n\nconst wrapText = (\n strings: ArrayLike<string> | ReadonlyArray<string> | number | string | { raw: ArrayLike<string> | ReadonlyArray<string> },\n values: string[],\n properties: ColorizeProperties,\n) => {\n if (!strings) {\n return \"\";\n }\n\n let string =\n (strings as { raw?: ArrayLike<string> | ReadonlyArray<string> | null }).raw == null\n ? (((strings as number | string) + \"\") as string)\n : String.raw(strings as { raw: ArrayLike<string> | ReadonlyArray<string> }, ...values);\n\n if (string.includes(\"\\u001B\")) {\n // eslint-disable-next-line no-loops/no-loops,@typescript-eslint/no-unnecessary-condition\n for (let currentProperties = properties; currentProperties; currentProperties = currentProperties.props) {\n string = stringReplaceAll(string, currentProperties.close, currentProperties.open);\n }\n }\n\n if (string.includes(\"\\n\")) {\n // eslint-disable-next-line unicorn/prefer-string-replace-all\n string = string.replace(/(\\r*\\n)/g, properties.closeStack + \"$1\" + properties.openStack);\n }\n\n return properties.openStack + string + properties.closeStack;\n};\n\ntype ColorizeProperties = { close: string; closeStack: string; open: string; openStack: string; props: ColorizeProperties };\n\nconst createStyle = (\n { props }: { props?: ColorizeProperties },\n { close, open }: ColorData,\n): {\n (strings: ArrayLike<string> | ReadonlyArray<string> | string, ...values: string[]): string;\n close: string;\n open: string;\n props: { close: string; closeStack: string; open: string; openStack: string; props?: ColorizeProperties };\n} => {\n const openStack: string = (props?.openStack ?? \"\") + open;\n const closeStack: string = close + (props?.closeStack ?? \"\");\n\n const style = (strings: ArrayLike<string> | ReadonlyArray<string> | string, ...values: string[]) => wrapText(strings, values, style.props);\n\n Object.setPrototypeOf(style, stylePrototype);\n\n style.props = { close, closeStack, open, openStack, props } as ColorizeProperties;\n style.open = openStack;\n style.close = closeStack;\n\n return style;\n};\n\n// eslint-disable-next-line func-names\nconst Colorize = function () {\n const self = (string_: number | string) => string_ + \"\";\n\n self.strip = (value: string): string => value.replaceAll(ansiRegex(), \"\");\n\n // eslint-disable-next-line guard-for-in,no-loops/no-loops,no-restricted-syntax\n for (const name in baseColors) {\n // eslint-disable-next-line security/detect-object-injection\n styles[name] = {\n get() {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const style = createStyle(this, baseColors[name as keyof typeof baseColors]);\n\n Object.defineProperty(this, name, { value: style });\n\n return style;\n },\n };\n }\n\n // eslint-disable-next-line guard-for-in,no-loops/no-loops,no-restricted-syntax\n for (const name in baseStyles) {\n // eslint-disable-next-line security/detect-object-injection\n styles[name] = {\n get() {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const style = createStyle(this, baseStyles[name as keyof typeof baseStyles]);\n\n Object.defineProperty(this, name, { value: style });\n\n return style;\n },\n };\n }\n\n // This needs to be the last thing we do, so that the prototype is fully populated.\n stylePrototype = Object.defineProperties({}, styles);\n\n Object.setPrototypeOf(self, stylePrototype);\n\n return self;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n} as any as new () => ColorizeType;\n\n// eslint-disable-next-line guard-for-in,no-loops/no-loops,no-restricted-syntax\nfor (const name in styleMethods) {\n styles[name as keyof typeof styleMethods] = {\n get() {\n return (...arguments_: (number | string)[]) =>\n // @ts-expect-error: TODO: fix typing of `arguments_`\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n createStyle(this, styleMethods[name as keyof typeof styleMethods](...arguments_));\n },\n };\n}\n\nstyles[\"ansi256\"] = styles[\"fg\"] as object;\nstyles[\"bgAnsi256\"] = styles[\"bg\"] as object;\n\n// eslint-disable-next-line import/no-default-export\nexport default Colorize;\n","import ColorizeImpl from \"./colorize.server\";\nimport type { ColorizeType } from \"./types\";\n\nconst colorize: ColorizeType = new ColorizeImpl() as ColorizeType;\n\n// eslint-disable-next-line import/no-default-export,import/no-unused-modules\nexport default colorize as ColorizeType;\n\n// eslint-disable-next-line unicorn/prefer-export-from,import/no-unused-modules\nexport const Colorize = ColorizeImpl;\n\n// eslint-disable-next-line import/no-unused-modules\nexport type { AnsiColors, AnsiStyles, ColorizeType } from \"./types\";\n"]}
|
package/dist/index.server.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isStdoutColorSupported } from '@visulima/is-ansi-color-supported';
|
|
2
2
|
|
|
3
|
-
function d({onlyFirst:f=!1}={}){let r=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(r,f?void 0:"g")}var l=f=>{let r=f.replace("#","");if(r.length===3)r=r[0]+r[0]+r[1]+r[1]+r[2]+r[2];else if(r.length!==6)return [0,0,0];let t=Number.parseInt(r,16);return [t>>16&255,t>>8&255,t&255]},s=(f,r,t)=>r>f?r:f>t?t:f,m=(f,r,t)=>{if(r==="")return f;let a=f.indexOf(r);if(a<0)return f;let n=r.length,o=0,g="";for(;~a;)g+=f.slice(o,a)+t,o=a+n,a=f.indexOf(r,o);return g+f.slice(o)};var e=
|
|
4
|
-
`)&&(a=a.replace(/(\r*\n)/g,t.closeStack+"$1"+t.openStack)),t.openStack+a+t.closeStack},
|
|
3
|
+
function d({onlyFirst:f=!1}={}){let r=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(r,f?void 0:"g")}var l=f=>{let r=f.replace("#","");if(r.length===3)r=r[0]+r[0]+r[1]+r[1]+r[2]+r[2];else if(r.length!==6)return [0,0,0];let t=Number.parseInt(r,16);return [t>>16&255,t>>8&255,t&255]},s=(f,r,t)=>r>f?r:f>t?t:f,m=(f,r,t)=>{if(r==="")return f;let a=f.indexOf(r);if(a<0)return f;let n=r.length,o=0,g="";for(;~a;)g+=f.slice(o,a)+t,o=a+n,a=f.indexOf(r,o);return g+f.slice(o)};var e=isStdoutColorSupported()>0?(f,r)=>({close:"\x1B["+r+"m",open:"\x1B["+f+"m"}):()=>({close:"",open:""}),R=f=>e("38;5;"+f,39),w=f=>e("48;5;"+f,49),B=(f,r,t)=>e("38;2;"+f+";"+r+";"+t,39),C=(f,r,t)=>e("48;2;"+f+";"+r+";"+t,49),b={bold:e(1,22),dim:e(2,22),hidden:e(8,28),inverse:e(7,27),italic:e(3,23),overline:e(53,55),reset:e(0,0),strike:e(9,29),strikethrough:e(9,29),underline:e(4,24),visible:{close:"",open:""}},c={bgBlack:e(40,49),bgBlackBright:e(100,49),bgBlue:e(44,49),bgBlueBright:e(104,49),bgCyan:e(46,49),bgCyanBright:e(106,49),bgGray:e(100,49),bgGreen:e(42,49),bgGreenBright:e(102,49),bgGrey:e(100,49),bgMagenta:e(45,49),bgMagentaBright:e(105,49),bgRed:e(41,49),bgRedBright:e(101,49),bgWhite:e(47,49),bgWhiteBright:e(107,49),bgYellow:e(43,49),bgYellowBright:e(103,49),black:e(30,39),blackBright:e(90,39),blue:e(34,39),blueBright:e(94,39),cyan:e(36,39),cyanBright:e(96,39),gray:e(90,39),green:e(32,39),greenBright:e(92,39),grey:e(90,39),magenta:e(35,39),magentaBright:e(95,39),red:e(31,39),redBright:e(91,39),white:e(37,39),whiteBright:e(97,39),yellow:e(33,39),yellowBright:e(93,39)},p={bg:f=>w(s(f,0,255)),bgHex:f=>C(...l(f)),bgRgb:(f,r,t)=>C(s(f,0,255),s(r,0,255),s(t,0,255)),fg:f=>R(s(f,0,255)),hex:f=>B(...l(f)),rgb:(f,r,t)=>B(s(f,0,255),s(r,0,255),s(t,0,255))};var i={},u=null,S=(f,r,t)=>{if(!f)return "";let a=f.raw==null?f+"":String.raw(f,...r);if(a.includes("\x1B"))for(let n=t;n;n=n.props)a=m(a,n.close,n.open);return a.includes(`
|
|
4
|
+
`)&&(a=a.replace(/(\r*\n)/g,t.closeStack+"$1"+t.openStack)),t.openStack+a+t.closeStack},y=({props:f},{close:r,open:t})=>{let a=(f?.openStack??"")+t,n=r+(f?.closeStack??""),o=(g,...x)=>S(g,x,o.props);return Object.setPrototypeOf(o,u),o.props={close:r,closeStack:n,open:t,openStack:a,props:f},o.open=a,o.close=n,o},z=function(){let f=r=>r+"";f.strip=r=>r.replaceAll(d(),"");for(let r in c)i[r]={get(){let t=y(this,c[r]);return Object.defineProperty(this,r,{value:t}),t}};for(let r in b)i[r]={get(){let t=y(this,b[r]);return Object.defineProperty(this,r,{value:t}),t}};return u=Object.defineProperties({},i),Object.setPrototypeOf(f,u),f};for(let f in p)i[f]={get(){return (...r)=>y(this,p[f](...r))}};i.ansi256=i.fg;i.bgAnsi256=i.bg;var h=z;var k=new h,W=k,{ansi256:Y,bg:Z,bgAnsi256:q,bgBlack:I,bgBlackBright:E,bgBlue:N,bgBlueBright:$,bgCyan:F,bgCyanBright:J,bgGray:K,bgGreen:Q,bgGreenBright:U,bgGrey:X,bgHex:V,bgMagenta:_,bgMagentaBright:ff,bgRed:ef,bgRedBright:rf,bgRgb:tf,bgWhite:af,bgWhiteBright:of,bgYellow:nf,bgYellowBright:sf,black:gf,blackBright:df,blue:lf,blueBright:bf,bold:cf,cyan:pf,cyanBright:uf,dim:yf,fg:hf,gray:mf,green:Bf,greenBright:Cf,grey:kf,hex:xf,hidden:Af,inverse:Rf,italic:wf,magenta:Sf,magentaBright:zf,overline:Df,red:Pf,redBright:Tf,reset:jf,rgb:vf,strike:Mf,strikethrough:Of,strip:Gf,underline:Lf,visible:Hf,white:Wf,whiteBright:Yf,yellow:Zf,yellowBright:qf}=k;
|
|
5
5
|
|
|
6
|
-
export { h as Colorize, Y as ansi256, Z as bg, q as bgAnsi256, I as bgBlack, E as bgBlackBright, N as bgBlue, $ as bgBlueBright, F as bgCyan, J as bgCyanBright, K as bgGray, Q as bgGreen, U as bgGreenBright, X as bgGrey, V as bgHex, _ as bgMagenta, ff as bgMagentaBright, ef as bgRed, rf as bgRedBright, tf as bgRgb, af as bgWhite, of as bgWhiteBright, nf as bgYellow, sf as bgYellowBright, gf as black, df as blackBright, lf as blue, bf as blueBright, cf as bold, pf as cyan,
|
|
6
|
+
export { h as Colorize, Y as ansi256, Z as bg, q as bgAnsi256, I as bgBlack, E as bgBlackBright, N as bgBlue, $ as bgBlueBright, F as bgCyan, J as bgCyanBright, K as bgGray, Q as bgGreen, U as bgGreenBright, X as bgGrey, V as bgHex, _ as bgMagenta, ff as bgMagentaBright, ef as bgRed, rf as bgRedBright, tf as bgRgb, af as bgWhite, of as bgWhiteBright, nf as bgYellow, sf as bgYellowBright, gf as black, df as blackBright, lf as blue, bf as blueBright, cf as bold, pf as cyan, uf as cyanBright, W as default, yf as dim, hf as fg, mf as gray, Bf as green, Cf as greenBright, kf as grey, xf as hex, Af as hidden, Rf as inverse, wf as italic, Sf as magenta, zf as magentaBright, Df as overline, Pf as red, Tf as redBright, jf as reset, vf as rgb, Mf as strike, Of as strikethrough, Gf as strip, Lf as underline, Hf as visible, Wf as white, Yf as whiteBright, Zf as yellow, qf as yellowBright };
|
|
7
7
|
//# sourceMappingURL=out.js.map
|
|
8
8
|
//# sourceMappingURL=index.server.js.map
|
package/dist/index.server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/.pnpm/ansi-regex@6.0.1/node_modules/ansi-regex/index.js","../src/ansi-codes.ts","../src/utils.ts","../src/colorize.server.ts","../src/index.server.mts"],"names":["ansiRegex","onlyFirst","pattern","isColorSupported","hexToRgb","hex","color","number_","clamp","min","max","stringReplaceAll","string_","searchValue","replaceValue","pos","substringLength","lastPos","result","esc","open","close","createAnsi256","code","createBgAnsi256","createRgb","r","g","b","createBgRgb","baseStyles","baseColors","styleMethods","styles","stylePrototype","wrapText","strings","values","properties","string","currentProperties","createStyle","props","openStack","closeStack","style","Colorize","self","value","name","arguments_","colorize_server_default","colorize","index_server_default","ansi256","bg","bgAnsi256","bgBlack","bgBlackBright","bgBlue","bgBlueBright","bgCyan","bgCyanBright","bgGray","bgGreen","bgGreenBright","bgGrey","bgHex","bgMagenta","bgMagentaBright","bgRed","bgRedBright","bgRgb","bgWhite","bgWhiteBright","bgYellow","bgYellowBright","black","blackBright","blue","blueBright","bold","cyan","cyanBright","dim","fg","gray","green","greenBright","grey","hidden","inverse","italic","magenta","magentaBright","overline","red","redBright","reset","rgb","strike","strikethrough","strip","underline","visible","white","whiteBright","yellow","yellowBright"],"mappings":"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","sourcesContent":["export default function ansiRegex({onlyFirst = false} = {}) {\n\tconst pattern = [\n\t '[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)',\n\t\t'(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))'\n\t].join('|');\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n}\n","/**\n * Modified copy of https://github.com/webdiscus/ansis/blob/master/src/ansi-codes.js\n *\n * ISC License\n *\n * Copyright (c) 2023, webdiscus\n */\n\nimport { isColorSupported } from \"@visulima/is-ansi-color-supported\";\n\nimport type { AnsiColors, AnsiStyles, ColorData } from \"./types\";\nimport { clamp, hexToRgb } from \"./utils\";\n\nconst esc: (open: number | string, close: number | string) => ColorData =\n isColorSupported() > 0\n ? (open: number | string, close: number | string): ColorData => {\n return { close: \"\\u001B[\" + close + \"m\", open: \"\\u001B[\" + open + \"m\" };\n }\n : (): ColorData => {\n return { close: \"\", open: \"\" };\n };\n\nconst createAnsi256 = (code: number | string): ColorData => esc(\"38;5;\" + code, 39);\n\nconst createBgAnsi256 = (code: number | string): ColorData => esc(\"48;5;\" + code, 49);\n\nconst createRgb = (r: number | string, g: number | string, b: number | string): ColorData => esc(\"38;2;\" + r + \";\" + g + \";\" + b, 39);\n\nconst createBgRgb = (r: number | string, g: number | string, b: number | string): ColorData => esc(\"48;2;\" + r + \";\" + g + \";\" + b, 49);\n\nexport const baseStyles: Required<Record<AnsiStyles, ColorData>> = {\n // 21 isn't widely supported and 22 does the same thing\n bold: esc(1, 22),\n dim: esc(2, 22),\n hidden: esc(8, 28),\n inverse: esc(7, 27),\n italic: esc(3, 23),\n overline: esc(53, 55),\n reset: esc(0, 0),\n strike: esc(9, 29), // alias for strikethrough\n strikethrough: esc(9, 29),\n underline: esc(4, 24),\n visible: { close: \"\", open: \"\" },\n};\n\nexport const baseColors: Required<Record<AnsiColors, ColorData>> = {\n bgBlack: esc(40, 49),\n bgBlackBright: esc(100, 49),\n bgBlue: esc(44, 49),\n bgBlueBright: esc(104, 49),\n bgCyan: esc(46, 49),\n bgCyanBright: esc(106, 49),\n bgGray: esc(100, 49), // US spelling alias for bgBlackBright\n bgGreen: esc(42, 49),\n bgGreenBright: esc(102, 49),\n bgGrey: esc(100, 49), // UK spelling alias for bgBlackBright\n bgMagenta: esc(45, 49),\n bgMagentaBright: esc(105, 49),\n bgRed: esc(41, 49),\n bgRedBright: esc(101, 49),\n bgWhite: esc(47, 49),\n bgWhiteBright: esc(107, 49),\n bgYellow: esc(43, 49),\n bgYellowBright: esc(103, 49),\n black: esc(30, 39),\n blackBright: esc(90, 39),\n blue: esc(34, 39),\n blueBright: esc(94, 39),\n cyan: esc(36, 39),\n cyanBright: esc(96, 39),\n gray: esc(90, 39), // US spelling alias for blackBright\n green: esc(32, 39),\n greenBright: esc(92, 39),\n grey: esc(90, 39), // UK spelling alias for blackBright\n magenta: esc(35, 39),\n magentaBright: esc(95, 39),\n red: esc(31, 39),\n redBright: esc(91, 39),\n white: esc(37, 39),\n whiteBright: esc(97, 39),\n yellow: esc(33, 39),\n yellowBright: esc(93, 39),\n};\n\nexport const styleMethods: {\n bg: (code: number) => ColorData;\n bgHex: (hex: string) => ColorData;\n bgRgb: (r: number, g: number, b: number) => ColorData;\n fg: (code: number) => ColorData;\n hex: (hex: string) => ColorData;\n rgb: (r: number, g: number, b: number) => ColorData;\n} = {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n bg: (code) => createBgAnsi256(clamp(code, 0, 255)),\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n bgHex: (hex) => createBgRgb(...hexToRgb(hex)),\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n bgRgb: (r, g, b) => createBgRgb(clamp(r, 0, 255), clamp(g, 0, 255), clamp(b, 0, 255)),\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n fg: (code) => createAnsi256(clamp(code, 0, 255)),\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n hex: (hex) => createRgb(...hexToRgb(hex)),\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n rgb: (r, g, b) => createRgb(clamp(r, 0, 255), clamp(g, 0, 255), clamp(b, 0, 255)),\n};\n","/**\n * Modified copy of https://github.com/webdiscus/ansis/blob/master/src/utils.js\n *\n * ISC License\n *\n * Copyright (c) 2023, webdiscus\n */\n\n/**\n * Convert hex color string to RGB values.\n *\n * A hexadecimal color code can be 3 or 6 digits with an optional \"#\" prefix.\n *\n * The 3 digits specifies an RGB doublet data as a fully opaque color.\n * For example, \"#123\" specifies the color that is represented by \"#112233\".\n *\n * The 6 digits specifies a fully opaque color.\n * For example, \"#112233\".\n *\n * @param {string} hex A string that contains the hexadecimal RGB color representation.\n * @return {[number, number, number]} The red, green, blue values in range [0, 255] .\n */\nexport const hexToRgb = (hex: string): [number, number, number] => {\n let color: string = hex.replace(\"#\", \"\");\n\n if (color.length === 3) {\n color = (color[0] as string) + (color[0] as string) + (color[1] as string) + (color[1] as string) + (color[2] as string) + (color[2] as string);\n } else if (color.length !== 6) {\n return [0, 0, 0];\n }\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const number_ = Number.parseInt(color, 16);\n\n // eslint-disable-next-line no-bitwise\n return [(number_ >> 16) & 255, (number_ >> 8) & 255, number_ & 255];\n};\n\n/**\n * Clamp a number within the inclusive range specified by min and max.\n * @note: The ternary operator is a tick quicker than Math.min(Math.max(num, min), max).\n */\nexport const clamp = (number_: number, min: number, max: number): number => (min > number_ ? min : number_ > max ? max : number_);\n\n/**\n * Replace all matched strings.\n * Note: this implementation is over 30% faster than String.replaceAll().\n */\nexport const stringReplaceAll = (string_: string, searchValue: string, replaceValue: string): string => {\n // visible style has empty open/close props\n if (searchValue === \"\") {\n return string_;\n }\n\n let pos = string_.indexOf(searchValue);\n if (pos < 0) {\n return string_;\n }\n\n const substringLength = searchValue.length;\n let lastPos = 0;\n let result = \"\";\n\n // eslint-disable-next-line no-loops/no-loops,no-bitwise\n while (~pos) {\n result += string_.slice(lastPos, pos) + replaceValue;\n lastPos = pos + substringLength;\n pos = string_.indexOf(searchValue, lastPos);\n }\n\n return result + string_.slice(lastPos);\n};\n\nexport const ansiCodeHexMap: Record<number, string> = {\n 0: \"#000\",\n 1: \"#800\",\n 2: \"#080\",\n 3: \"#880\",\n 4: \"#008\",\n 5: \"#808\",\n 6: \"#088\",\n 7: \"#ccc\",\n 8: \"#444\",\n 9: \"#f00\",\n 10: \"#0f0\",\n 11: \"#ff0\",\n 12: \"#00f\",\n 13: \"#f0f\",\n 14: \"#0ff\",\n 15: \"#fff\",\n 16: \"#000\",\n 17: \"#00005f\",\n 18: \"#000087\",\n 19: \"#0000af\",\n 20: \"#0000d7\",\n 21: \"#0000ff\",\n 22: \"#005f00\",\n 23: \"#005f5f\",\n 24: \"#005f87\",\n 25: \"#005faf\",\n 26: \"#005fd7\",\n 27: \"#005fff\",\n 28: \"#008700\",\n 29: \"#00875f\",\n 30: \"#008787\",\n 31: \"#0087af\",\n 32: \"#0087d7\",\n 33: \"#0087ff\",\n 34: \"#00af00\",\n 35: \"#00af5f\",\n 36: \"#00af87\",\n 37: \"#00afaf\",\n 38: \"#00afd7\",\n 39: \"#00afff\",\n 40: \"#00d700\",\n 41: \"#00d75f\",\n 42: \"#00d787\",\n 43: \"#00d7af\",\n 44: \"#00d7d7\",\n 45: \"#00d7ff\",\n 46: \"#00ff00\",\n 47: \"#00ff5f\",\n 48: \"#00ff87\",\n 49: \"#00ffaf\",\n 50: \"#00ffd7\",\n 51: \"#00ffff\",\n 52: \"#5f0000\",\n 53: \"#5f005f\",\n 54: \"#5f0087\",\n 55: \"#5f00af\",\n 56: \"#5f00d7\",\n 57: \"#5f00ff\",\n 58: \"#5f5f00\",\n 59: \"#5f5f5f\",\n 60: \"#5f5f87\",\n 61: \"#5f5faf\",\n 62: \"#5f5fd7\",\n 63: \"#5f5fff\",\n 64: \"#5f8700\",\n 65: \"#5f875f\",\n 66: \"#5f8787\",\n 67: \"#5f87af\",\n 68: \"#5f87d7\",\n 69: \"#5f87ff\",\n 70: \"#5faf00\",\n 71: \"#5faf5f\",\n 72: \"#5faf87\",\n 73: \"#5fafaf\",\n 74: \"#5fafd7\",\n 75: \"#5fafff\",\n 76: \"#5fd700\",\n 77: \"#5fd75f\",\n 78: \"#5fd787\",\n 79: \"#5fd7af\",\n 80: \"#5fd7d7\",\n 81: \"#5fd7ff\",\n 82: \"#5fff00\",\n 83: \"#5fff5f\",\n 84: \"#5fff87\",\n 85: \"#5fffaf\",\n 86: \"#5fffd7\",\n 87: \"#5fffff\",\n 88: \"#870000\",\n 89: \"#87005f\",\n 90: \"#870087\",\n 91: \"#8700af\",\n 92: \"#8700d7\",\n 93: \"#8700ff\",\n 94: \"#875f00\",\n 95: \"#875f5f\",\n 96: \"#875f87\",\n 97: \"#875faf\",\n 98: \"#875fd7\",\n 99: \"#875fff\",\n 100: \"#878700\",\n 101: \"#87875f\",\n 102: \"#878787\",\n 103: \"#8787af\",\n 104: \"#8787d7\",\n 105: \"#8787ff\",\n 106: \"#87af00\",\n 107: \"#87af5f\",\n 108: \"#87af87\",\n 109: \"#87afaf\",\n 110: \"#87afd7\",\n 111: \"#87afff\",\n 112: \"#87d700\",\n 113: \"#87d75f\",\n 114: \"#87d787\",\n 115: \"#87d7af\",\n 116: \"#87d7d7\",\n 117: \"#87d7ff\",\n 118: \"#87ff00\",\n 119: \"#87ff5f\",\n 120: \"#87ff87\",\n 121: \"#87ffaf\",\n 122: \"#87ffd7\",\n 123: \"#87ffff\",\n 124: \"#af0000\",\n 125: \"#af005f\",\n 126: \"#af0087\",\n 127: \"#af00af\",\n 128: \"#af00d7\",\n 129: \"#af00ff\",\n 130: \"#af5f00\",\n 131: \"#af5f5f\",\n 132: \"#af5f87\",\n 133: \"#af5faf\",\n 134: \"#af5fd7\",\n 135: \"#af5fff\",\n 136: \"#af8700\",\n 137: \"#af875f\",\n 138: \"#af8787\",\n 139: \"#af87af\",\n 140: \"#af87d7\",\n 141: \"#af87ff\",\n 142: \"#afaf00\",\n 143: \"#afaf5f\",\n 144: \"#afaf87\",\n 145: \"#afafaf\",\n 146: \"#afafd7\",\n 147: \"#afafff\",\n 148: \"#afd700\",\n 149: \"#afd75f\",\n 150: \"#afd787\",\n 151: \"#afd7af\",\n 152: \"#afd7d7\",\n 153: \"#afd7ff\",\n 154: \"#afff00\",\n 155: \"#afff5f\",\n 156: \"#afff87\",\n 157: \"#afffaf\",\n 158: \"#afffd7\",\n 159: \"#afffff\",\n 160: \"#d70000\",\n 161: \"#d7005f\",\n 162: \"#d70087\",\n 163: \"#d700af\",\n 164: \"#d700d7\",\n 165: \"#d700ff\",\n 166: \"#d75f00\",\n 167: \"#d75f5f\",\n 168: \"#d75f87\",\n 169: \"#d75faf\",\n 170: \"#d75fd7\",\n 171: \"#d75fff\",\n 172: \"#d78700\",\n 173: \"#d7875f\",\n 174: \"#d78787\",\n 175: \"#d787af\",\n 176: \"#d787d7\",\n 177: \"#d787ff\",\n 178: \"#d7af00\",\n 179: \"#d7af5f\",\n 180: \"#d7af87\",\n 181: \"#d7afaf\",\n 182: \"#d7afd7\",\n 183: \"#d7afff\",\n 184: \"#d7d700\",\n 185: \"#d7d75f\",\n 186: \"#d7d787\",\n 187: \"#d7d7af\",\n 188: \"#d7d7d7\",\n 189: \"#d7d7ff\",\n 190: \"#d7ff00\",\n 191: \"#d7ff5f\",\n 192: \"#d7ff87\",\n 193: \"#d7ffaf\",\n 194: \"#d7ffd7\",\n 195: \"#d7ffff\",\n 196: \"#ff0000\",\n 197: \"#ff005f\",\n 198: \"#ff0087\",\n 199: \"#ff00af\",\n 200: \"#ff00d7\",\n 201: \"#ff00ff\",\n 202: \"#ff5f00\",\n 203: \"#ff5f5f\",\n 204: \"#ff5f87\",\n 205: \"#ff5faf\",\n 206: \"#ff5fd7\",\n 207: \"#ff5fff\",\n 208: \"#ff8700\",\n 209: \"#ff875f\",\n 210: \"#ff8787\",\n 211: \"#ff87af\",\n 212: \"#ff87d7\",\n 213: \"#ff87ff\",\n 214: \"#ffaf00\",\n 215: \"#ffaf5f\",\n 216: \"#ffaf87\",\n 217: \"#ffafaf\",\n 218: \"#ffafd7\",\n 219: \"#ffafff\",\n 220: \"#ffd700\",\n 221: \"#ffd75f\",\n 222: \"#ffd787\",\n 223: \"#ffd7af\",\n 224: \"#ffd7d7\",\n 225: \"#ffd7ff\",\n 226: \"#ffff00\",\n 227: \"#ffff5f\",\n 228: \"#ffff87\",\n 229: \"#ffffaf\",\n 230: \"#ffffd7\",\n 231: \"#ffffff\",\n 232: \"#080808\",\n 233: \"#121212\",\n 234: \"#1c1c1c\",\n 235: \"#262626\",\n 236: \"#303030\",\n 237: \"#3a3a3a\",\n 238: \"#444444\",\n 239: \"#4e4e4e\",\n 240: \"#585858\",\n 241: \"#626262\",\n 242: \"#6c6c6c\",\n 243: \"#767676\",\n 244: \"#808080\",\n 245: \"#8a8a8a\",\n 246: \"#949494\",\n 247: \"#9e9e9e\",\n 248: \"#a8a8a8\",\n 249: \"#b2b2b2\",\n 250: \"#bcbcbc\",\n 251: \"#c6c6c6\",\n 252: \"#d0d0d0\",\n 253: \"#dadada\",\n 254: \"#e4e4e4\",\n 255: \"#eeeeee\",\n};\n","/**\n * Modified copy of https://github.com/webdiscus/ansis/blob/master/src/index.js\n *\n * ISC License\n *\n * Copyright (c) 2023, webdiscus\n */\n\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport ansiRegex from \"ansi-regex\";\n\nimport { baseColors, baseStyles, styleMethods } from \"./ansi-codes\";\nimport type { ColorData, ColorizeType } from \"./types\";\nimport { stringReplaceAll } from \"./utils\";\n\nconst styles: Record<string, object> = {};\n\nlet stylePrototype: object | null = null;\n\nconst wrapText = (\n strings: ArrayLike<string> | ReadonlyArray<string> | number | string | { raw: ArrayLike<string> | ReadonlyArray<string> },\n values: string[],\n properties: ColorizeProperties,\n) => {\n if (!strings) {\n return \"\";\n }\n\n let string =\n (strings as { raw?: ArrayLike<string> | ReadonlyArray<string> | null }).raw == null\n ? (((strings as number | string) + \"\") as string)\n : String.raw(strings as { raw: ArrayLike<string> | ReadonlyArray<string> }, ...values);\n\n if (string.includes(\"\\u001B\")) {\n // eslint-disable-next-line no-loops/no-loops,@typescript-eslint/no-unnecessary-condition\n for (let currentProperties = properties; currentProperties; currentProperties = currentProperties.props) {\n string = stringReplaceAll(string, currentProperties.close, currentProperties.open);\n }\n }\n\n if (string.includes(\"\\n\")) {\n // eslint-disable-next-line unicorn/prefer-string-replace-all\n string = string.replace(/(\\r*\\n)/g, properties.closeStack + \"$1\" + properties.openStack);\n }\n\n return properties.openStack + string + properties.closeStack;\n};\n\ntype ColorizeProperties = { close: string; closeStack: string; open: string; openStack: string; props: ColorizeProperties };\n\nconst createStyle = (\n { props }: { props?: ColorizeProperties },\n { close, open }: ColorData,\n): {\n (strings: ArrayLike<string> | ReadonlyArray<string> | string, ...values: string[]): string;\n close: string;\n open: string;\n props: { close: string; closeStack: string; open: string; openStack: string; props?: ColorizeProperties };\n} => {\n const openStack: string = (props?.openStack ?? \"\") + open;\n const closeStack: string = close + (props?.closeStack ?? \"\");\n\n const style = (strings: ArrayLike<string> | ReadonlyArray<string> | string, ...values: string[]) => wrapText(strings, values, style.props);\n\n Object.setPrototypeOf(style, stylePrototype);\n\n style.props = { close, closeStack, open, openStack, props } as ColorizeProperties;\n style.open = openStack;\n style.close = closeStack;\n\n return style;\n};\n\n// eslint-disable-next-line func-names\nconst Colorize = function () {\n const self = (string_: number | string) => string_ + \"\";\n\n self.strip = (value: string): string => value.replaceAll(ansiRegex(), \"\");\n\n // eslint-disable-next-line guard-for-in,no-loops/no-loops,no-restricted-syntax\n for (const name in baseColors) {\n // eslint-disable-next-line security/detect-object-injection\n styles[name] = {\n get() {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const style = createStyle(this, baseColors[name as keyof typeof baseColors]);\n\n Object.defineProperty(this, name, { value: style });\n\n return style;\n },\n };\n }\n\n // eslint-disable-next-line guard-for-in,no-loops/no-loops,no-restricted-syntax\n for (const name in baseStyles) {\n // eslint-disable-next-line security/detect-object-injection\n styles[name] = {\n get() {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const style = createStyle(this, baseStyles[name as keyof typeof baseStyles]);\n\n Object.defineProperty(this, name, { value: style });\n\n return style;\n },\n };\n }\n\n // This needs to be the last thing we do, so that the prototype is fully populated.\n stylePrototype = Object.defineProperties({}, styles);\n\n Object.setPrototypeOf(self, stylePrototype);\n\n return self;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n} as any as new () => ColorizeType;\n\n// eslint-disable-next-line guard-for-in,no-loops/no-loops,no-restricted-syntax\nfor (const name in styleMethods) {\n styles[name as keyof typeof styleMethods] = {\n get() {\n return (...arguments_: (number | string)[]) =>\n // @ts-expect-error: TODO: fix typing of `arguments_`\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n createStyle(this, styleMethods[name as keyof typeof styleMethods](...arguments_));\n },\n };\n}\n\nstyles[\"ansi256\"] = styles[\"fg\"] as object;\nstyles[\"bgAnsi256\"] = styles[\"bg\"] as object;\n\n// eslint-disable-next-line import/no-default-export\nexport default Colorize;\n","import ColorizeImpl from \"./colorize.server\";\nimport type { ColorizeType } from \"./types\";\n\nconst colorize: ColorizeType = new ColorizeImpl() as ColorizeType;\n\n// eslint-disable-next-line import/no-default-export\nexport default colorize as ColorizeType;\n\n// eslint-disable-next-line import/no-unused-modules\nexport const {\n ansi256,\n bg,\n bgAnsi256,\n bgBlack,\n bgBlackBright,\n bgBlue,\n bgBlueBright,\n bgCyan,\n bgCyanBright,\n bgGray,\n bgGreen,\n bgGreenBright,\n bgGrey,\n bgHex,\n bgMagenta,\n bgMagentaBright,\n bgRed,\n bgRedBright,\n bgRgb,\n bgWhite,\n bgWhiteBright,\n bgYellow,\n bgYellowBright,\n black,\n blackBright,\n blue,\n blueBright,\n bold,\n cyan,\n cyanBright,\n dim,\n fg,\n gray,\n green,\n greenBright,\n grey,\n hex,\n hidden,\n inverse,\n italic,\n magenta,\n magentaBright,\n overline,\n red,\n redBright,\n reset,\n rgb,\n strike,\n strikethrough,\n strip,\n underline,\n visible,\n white,\n whiteBright,\n yellow,\n yellowBright,\n} = colorize;\n\nexport { default as Colorize } from \"./colorize.server\";\n\n// eslint-disable-next-line import/no-unused-modules\nexport type { AnsiColors, AnsiStyles, ColorizeType } from \"./types\";\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/.pnpm/ansi-regex@6.0.1/node_modules/ansi-regex/index.js","../src/ansi-codes.ts","../src/utils.ts","../src/colorize.server.ts","../src/index.server.mts"],"names":["ansiRegex","onlyFirst","pattern","isStdoutColorSupported","hexToRgb","hex","color","number_","clamp","min","max","stringReplaceAll","string_","searchValue","replaceValue","pos","substringLength","lastPos","result","esc","open","close","createAnsi256","code","createBgAnsi256","createRgb","r","g","b","createBgRgb","baseStyles","baseColors","styleMethods","styles","stylePrototype","wrapText","strings","values","properties","string","currentProperties","createStyle","props","openStack","closeStack","style","Colorize","self","value","name","arguments_","colorize_server_default","colorize","index_server_default","ansi256","bg","bgAnsi256","bgBlack","bgBlackBright","bgBlue","bgBlueBright","bgCyan","bgCyanBright","bgGray","bgGreen","bgGreenBright","bgGrey","bgHex","bgMagenta","bgMagentaBright","bgRed","bgRedBright","bgRgb","bgWhite","bgWhiteBright","bgYellow","bgYellowBright","black","blackBright","blue","blueBright","bold","cyan","cyanBright","dim","fg","gray","green","greenBright","grey","hidden","inverse","italic","magenta","magentaBright","overline","red","redBright","reset","rgb","strike","strikethrough","strip","underline","visible","white","whiteBright","yellow","yellowBright"],"mappings":"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","sourcesContent":["export default function ansiRegex({onlyFirst = false} = {}) {\n\tconst pattern = [\n\t '[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)',\n\t\t'(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))'\n\t].join('|');\n\n\treturn new RegExp(pattern, onlyFirst ? undefined : 'g');\n}\n","/**\n * Modified copy of https://github.com/webdiscus/ansis/blob/master/src/ansi-codes.js\n *\n * ISC License\n *\n * Copyright (c) 2023, webdiscus\n */\n\nimport { isStdoutColorSupported } from \"@visulima/is-ansi-color-supported\";\n\nimport type { AnsiColors, AnsiStyles, ColorData } from \"./types\";\nimport { clamp, hexToRgb } from \"./utils\";\n\nconst esc: (open: number | string, close: number | string) => ColorData =\n isStdoutColorSupported() > 0\n ? (open: number | string, close: number | string): ColorData => {\n return { close: \"\\u001B[\" + close + \"m\", open: \"\\u001B[\" + open + \"m\" };\n }\n : (): ColorData => {\n return { close: \"\", open: \"\" };\n };\n\nconst createAnsi256 = (code: number | string): ColorData => esc(\"38;5;\" + code, 39);\n\nconst createBgAnsi256 = (code: number | string): ColorData => esc(\"48;5;\" + code, 49);\n\nconst createRgb = (r: number | string, g: number | string, b: number | string): ColorData => esc(\"38;2;\" + r + \";\" + g + \";\" + b, 39);\n\nconst createBgRgb = (r: number | string, g: number | string, b: number | string): ColorData => esc(\"48;2;\" + r + \";\" + g + \";\" + b, 49);\n\nexport const baseStyles: Required<Record<AnsiStyles, ColorData>> = {\n // 21 isn't widely supported and 22 does the same thing\n bold: esc(1, 22),\n dim: esc(2, 22),\n hidden: esc(8, 28),\n inverse: esc(7, 27),\n italic: esc(3, 23),\n overline: esc(53, 55),\n reset: esc(0, 0),\n strike: esc(9, 29), // alias for strikethrough\n strikethrough: esc(9, 29),\n underline: esc(4, 24),\n visible: { close: \"\", open: \"\" },\n};\n\nexport const baseColors: Required<Record<AnsiColors, ColorData>> = {\n bgBlack: esc(40, 49),\n bgBlackBright: esc(100, 49),\n bgBlue: esc(44, 49),\n bgBlueBright: esc(104, 49),\n bgCyan: esc(46, 49),\n bgCyanBright: esc(106, 49),\n bgGray: esc(100, 49), // US spelling alias for bgBlackBright\n bgGreen: esc(42, 49),\n bgGreenBright: esc(102, 49),\n bgGrey: esc(100, 49), // UK spelling alias for bgBlackBright\n bgMagenta: esc(45, 49),\n bgMagentaBright: esc(105, 49),\n bgRed: esc(41, 49),\n bgRedBright: esc(101, 49),\n bgWhite: esc(47, 49),\n bgWhiteBright: esc(107, 49),\n bgYellow: esc(43, 49),\n bgYellowBright: esc(103, 49),\n black: esc(30, 39),\n blackBright: esc(90, 39),\n blue: esc(34, 39),\n blueBright: esc(94, 39),\n cyan: esc(36, 39),\n cyanBright: esc(96, 39),\n gray: esc(90, 39), // US spelling alias for blackBright\n green: esc(32, 39),\n greenBright: esc(92, 39),\n grey: esc(90, 39), // UK spelling alias for blackBright\n magenta: esc(35, 39),\n magentaBright: esc(95, 39),\n red: esc(31, 39),\n redBright: esc(91, 39),\n white: esc(37, 39),\n whiteBright: esc(97, 39),\n yellow: esc(33, 39),\n yellowBright: esc(93, 39),\n};\n\nexport const styleMethods: {\n bg: (code: number) => ColorData;\n bgHex: (hex: string) => ColorData;\n bgRgb: (r: number, g: number, b: number) => ColorData;\n fg: (code: number) => ColorData;\n hex: (hex: string) => ColorData;\n rgb: (r: number, g: number, b: number) => ColorData;\n} = {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n bg: (code) => createBgAnsi256(clamp(code, 0, 255)),\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n bgHex: (hex) => createBgRgb(...hexToRgb(hex)),\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n bgRgb: (r, g, b) => createBgRgb(clamp(r, 0, 255), clamp(g, 0, 255), clamp(b, 0, 255)),\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n fg: (code) => createAnsi256(clamp(code, 0, 255)),\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n hex: (hex) => createRgb(...hexToRgb(hex)),\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n rgb: (r, g, b) => createRgb(clamp(r, 0, 255), clamp(g, 0, 255), clamp(b, 0, 255)),\n};\n","/**\n * Modified copy of https://github.com/webdiscus/ansis/blob/master/src/utils.js\n *\n * ISC License\n *\n * Copyright (c) 2023, webdiscus\n */\n\n/**\n * Convert hex color string to RGB values.\n *\n * A hexadecimal color code can be 3 or 6 digits with an optional \"#\" prefix.\n *\n * The 3 digits specifies an RGB doublet data as a fully opaque color.\n * For example, \"#123\" specifies the color that is represented by \"#112233\".\n *\n * The 6 digits specifies a fully opaque color.\n * For example, \"#112233\".\n *\n * @param {string} hex A string that contains the hexadecimal RGB color representation.\n * @return {[number, number, number]} The red, green, blue values in range [0, 255] .\n */\nexport const hexToRgb = (hex: string): [number, number, number] => {\n let color: string = hex.replace(\"#\", \"\");\n\n if (color.length === 3) {\n color = (color[0] as string) + (color[0] as string) + (color[1] as string) + (color[1] as string) + (color[2] as string) + (color[2] as string);\n } else if (color.length !== 6) {\n return [0, 0, 0];\n }\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const number_ = Number.parseInt(color, 16);\n\n // eslint-disable-next-line no-bitwise\n return [(number_ >> 16) & 255, (number_ >> 8) & 255, number_ & 255];\n};\n\n/**\n * Clamp a number within the inclusive range specified by min and max.\n * @note: The ternary operator is a tick quicker than Math.min(Math.max(num, min), max).\n */\nexport const clamp = (number_: number, min: number, max: number): number => (min > number_ ? min : number_ > max ? max : number_);\n\n/**\n * Replace all matched strings.\n * Note: this implementation is over 30% faster than String.replaceAll().\n */\nexport const stringReplaceAll = (string_: string, searchValue: string, replaceValue: string): string => {\n // visible style has empty open/close props\n if (searchValue === \"\") {\n return string_;\n }\n\n let pos = string_.indexOf(searchValue);\n if (pos < 0) {\n return string_;\n }\n\n const substringLength = searchValue.length;\n let lastPos = 0;\n let result = \"\";\n\n // eslint-disable-next-line no-loops/no-loops,no-bitwise\n while (~pos) {\n result += string_.slice(lastPos, pos) + replaceValue;\n lastPos = pos + substringLength;\n pos = string_.indexOf(searchValue, lastPos);\n }\n\n return result + string_.slice(lastPos);\n};\n\nexport const ansiCodeHexMap: Record<number, string> = {\n 0: \"#000\",\n 1: \"#800\",\n 2: \"#080\",\n 3: \"#880\",\n 4: \"#008\",\n 5: \"#808\",\n 6: \"#088\",\n 7: \"#ccc\",\n 8: \"#444\",\n 9: \"#f00\",\n 10: \"#0f0\",\n 11: \"#ff0\",\n 12: \"#00f\",\n 13: \"#f0f\",\n 14: \"#0ff\",\n 15: \"#fff\",\n 16: \"#000\",\n 17: \"#00005f\",\n 18: \"#000087\",\n 19: \"#0000af\",\n 20: \"#0000d7\",\n 21: \"#0000ff\",\n 22: \"#005f00\",\n 23: \"#005f5f\",\n 24: \"#005f87\",\n 25: \"#005faf\",\n 26: \"#005fd7\",\n 27: \"#005fff\",\n 28: \"#008700\",\n 29: \"#00875f\",\n 30: \"#008787\",\n 31: \"#0087af\",\n 32: \"#0087d7\",\n 33: \"#0087ff\",\n 34: \"#00af00\",\n 35: \"#00af5f\",\n 36: \"#00af87\",\n 37: \"#00afaf\",\n 38: \"#00afd7\",\n 39: \"#00afff\",\n 40: \"#00d700\",\n 41: \"#00d75f\",\n 42: \"#00d787\",\n 43: \"#00d7af\",\n 44: \"#00d7d7\",\n 45: \"#00d7ff\",\n 46: \"#00ff00\",\n 47: \"#00ff5f\",\n 48: \"#00ff87\",\n 49: \"#00ffaf\",\n 50: \"#00ffd7\",\n 51: \"#00ffff\",\n 52: \"#5f0000\",\n 53: \"#5f005f\",\n 54: \"#5f0087\",\n 55: \"#5f00af\",\n 56: \"#5f00d7\",\n 57: \"#5f00ff\",\n 58: \"#5f5f00\",\n 59: \"#5f5f5f\",\n 60: \"#5f5f87\",\n 61: \"#5f5faf\",\n 62: \"#5f5fd7\",\n 63: \"#5f5fff\",\n 64: \"#5f8700\",\n 65: \"#5f875f\",\n 66: \"#5f8787\",\n 67: \"#5f87af\",\n 68: \"#5f87d7\",\n 69: \"#5f87ff\",\n 70: \"#5faf00\",\n 71: \"#5faf5f\",\n 72: \"#5faf87\",\n 73: \"#5fafaf\",\n 74: \"#5fafd7\",\n 75: \"#5fafff\",\n 76: \"#5fd700\",\n 77: \"#5fd75f\",\n 78: \"#5fd787\",\n 79: \"#5fd7af\",\n 80: \"#5fd7d7\",\n 81: \"#5fd7ff\",\n 82: \"#5fff00\",\n 83: \"#5fff5f\",\n 84: \"#5fff87\",\n 85: \"#5fffaf\",\n 86: \"#5fffd7\",\n 87: \"#5fffff\",\n 88: \"#870000\",\n 89: \"#87005f\",\n 90: \"#870087\",\n 91: \"#8700af\",\n 92: \"#8700d7\",\n 93: \"#8700ff\",\n 94: \"#875f00\",\n 95: \"#875f5f\",\n 96: \"#875f87\",\n 97: \"#875faf\",\n 98: \"#875fd7\",\n 99: \"#875fff\",\n 100: \"#878700\",\n 101: \"#87875f\",\n 102: \"#878787\",\n 103: \"#8787af\",\n 104: \"#8787d7\",\n 105: \"#8787ff\",\n 106: \"#87af00\",\n 107: \"#87af5f\",\n 108: \"#87af87\",\n 109: \"#87afaf\",\n 110: \"#87afd7\",\n 111: \"#87afff\",\n 112: \"#87d700\",\n 113: \"#87d75f\",\n 114: \"#87d787\",\n 115: \"#87d7af\",\n 116: \"#87d7d7\",\n 117: \"#87d7ff\",\n 118: \"#87ff00\",\n 119: \"#87ff5f\",\n 120: \"#87ff87\",\n 121: \"#87ffaf\",\n 122: \"#87ffd7\",\n 123: \"#87ffff\",\n 124: \"#af0000\",\n 125: \"#af005f\",\n 126: \"#af0087\",\n 127: \"#af00af\",\n 128: \"#af00d7\",\n 129: \"#af00ff\",\n 130: \"#af5f00\",\n 131: \"#af5f5f\",\n 132: \"#af5f87\",\n 133: \"#af5faf\",\n 134: \"#af5fd7\",\n 135: \"#af5fff\",\n 136: \"#af8700\",\n 137: \"#af875f\",\n 138: \"#af8787\",\n 139: \"#af87af\",\n 140: \"#af87d7\",\n 141: \"#af87ff\",\n 142: \"#afaf00\",\n 143: \"#afaf5f\",\n 144: \"#afaf87\",\n 145: \"#afafaf\",\n 146: \"#afafd7\",\n 147: \"#afafff\",\n 148: \"#afd700\",\n 149: \"#afd75f\",\n 150: \"#afd787\",\n 151: \"#afd7af\",\n 152: \"#afd7d7\",\n 153: \"#afd7ff\",\n 154: \"#afff00\",\n 155: \"#afff5f\",\n 156: \"#afff87\",\n 157: \"#afffaf\",\n 158: \"#afffd7\",\n 159: \"#afffff\",\n 160: \"#d70000\",\n 161: \"#d7005f\",\n 162: \"#d70087\",\n 163: \"#d700af\",\n 164: \"#d700d7\",\n 165: \"#d700ff\",\n 166: \"#d75f00\",\n 167: \"#d75f5f\",\n 168: \"#d75f87\",\n 169: \"#d75faf\",\n 170: \"#d75fd7\",\n 171: \"#d75fff\",\n 172: \"#d78700\",\n 173: \"#d7875f\",\n 174: \"#d78787\",\n 175: \"#d787af\",\n 176: \"#d787d7\",\n 177: \"#d787ff\",\n 178: \"#d7af00\",\n 179: \"#d7af5f\",\n 180: \"#d7af87\",\n 181: \"#d7afaf\",\n 182: \"#d7afd7\",\n 183: \"#d7afff\",\n 184: \"#d7d700\",\n 185: \"#d7d75f\",\n 186: \"#d7d787\",\n 187: \"#d7d7af\",\n 188: \"#d7d7d7\",\n 189: \"#d7d7ff\",\n 190: \"#d7ff00\",\n 191: \"#d7ff5f\",\n 192: \"#d7ff87\",\n 193: \"#d7ffaf\",\n 194: \"#d7ffd7\",\n 195: \"#d7ffff\",\n 196: \"#ff0000\",\n 197: \"#ff005f\",\n 198: \"#ff0087\",\n 199: \"#ff00af\",\n 200: \"#ff00d7\",\n 201: \"#ff00ff\",\n 202: \"#ff5f00\",\n 203: \"#ff5f5f\",\n 204: \"#ff5f87\",\n 205: \"#ff5faf\",\n 206: \"#ff5fd7\",\n 207: \"#ff5fff\",\n 208: \"#ff8700\",\n 209: \"#ff875f\",\n 210: \"#ff8787\",\n 211: \"#ff87af\",\n 212: \"#ff87d7\",\n 213: \"#ff87ff\",\n 214: \"#ffaf00\",\n 215: \"#ffaf5f\",\n 216: \"#ffaf87\",\n 217: \"#ffafaf\",\n 218: \"#ffafd7\",\n 219: \"#ffafff\",\n 220: \"#ffd700\",\n 221: \"#ffd75f\",\n 222: \"#ffd787\",\n 223: \"#ffd7af\",\n 224: \"#ffd7d7\",\n 225: \"#ffd7ff\",\n 226: \"#ffff00\",\n 227: \"#ffff5f\",\n 228: \"#ffff87\",\n 229: \"#ffffaf\",\n 230: \"#ffffd7\",\n 231: \"#ffffff\",\n 232: \"#080808\",\n 233: \"#121212\",\n 234: \"#1c1c1c\",\n 235: \"#262626\",\n 236: \"#303030\",\n 237: \"#3a3a3a\",\n 238: \"#444444\",\n 239: \"#4e4e4e\",\n 240: \"#585858\",\n 241: \"#626262\",\n 242: \"#6c6c6c\",\n 243: \"#767676\",\n 244: \"#808080\",\n 245: \"#8a8a8a\",\n 246: \"#949494\",\n 247: \"#9e9e9e\",\n 248: \"#a8a8a8\",\n 249: \"#b2b2b2\",\n 250: \"#bcbcbc\",\n 251: \"#c6c6c6\",\n 252: \"#d0d0d0\",\n 253: \"#dadada\",\n 254: \"#e4e4e4\",\n 255: \"#eeeeee\",\n};\n","/**\n * Modified copy of https://github.com/webdiscus/ansis/blob/master/src/index.js\n *\n * ISC License\n *\n * Copyright (c) 2023, webdiscus\n */\n\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport ansiRegex from \"ansi-regex\";\n\nimport { baseColors, baseStyles, styleMethods } from \"./ansi-codes\";\nimport type { ColorData, ColorizeType } from \"./types\";\nimport { stringReplaceAll } from \"./utils\";\n\nconst styles: Record<string, object> = {};\n\nlet stylePrototype: object | null = null;\n\nconst wrapText = (\n strings: ArrayLike<string> | ReadonlyArray<string> | number | string | { raw: ArrayLike<string> | ReadonlyArray<string> },\n values: string[],\n properties: ColorizeProperties,\n) => {\n if (!strings) {\n return \"\";\n }\n\n let string =\n (strings as { raw?: ArrayLike<string> | ReadonlyArray<string> | null }).raw == null\n ? (((strings as number | string) + \"\") as string)\n : String.raw(strings as { raw: ArrayLike<string> | ReadonlyArray<string> }, ...values);\n\n if (string.includes(\"\\u001B\")) {\n // eslint-disable-next-line no-loops/no-loops,@typescript-eslint/no-unnecessary-condition\n for (let currentProperties = properties; currentProperties; currentProperties = currentProperties.props) {\n string = stringReplaceAll(string, currentProperties.close, currentProperties.open);\n }\n }\n\n if (string.includes(\"\\n\")) {\n // eslint-disable-next-line unicorn/prefer-string-replace-all\n string = string.replace(/(\\r*\\n)/g, properties.closeStack + \"$1\" + properties.openStack);\n }\n\n return properties.openStack + string + properties.closeStack;\n};\n\ntype ColorizeProperties = { close: string; closeStack: string; open: string; openStack: string; props: ColorizeProperties };\n\nconst createStyle = (\n { props }: { props?: ColorizeProperties },\n { close, open }: ColorData,\n): {\n (strings: ArrayLike<string> | ReadonlyArray<string> | string, ...values: string[]): string;\n close: string;\n open: string;\n props: { close: string; closeStack: string; open: string; openStack: string; props?: ColorizeProperties };\n} => {\n const openStack: string = (props?.openStack ?? \"\") + open;\n const closeStack: string = close + (props?.closeStack ?? \"\");\n\n const style = (strings: ArrayLike<string> | ReadonlyArray<string> | string, ...values: string[]) => wrapText(strings, values, style.props);\n\n Object.setPrototypeOf(style, stylePrototype);\n\n style.props = { close, closeStack, open, openStack, props } as ColorizeProperties;\n style.open = openStack;\n style.close = closeStack;\n\n return style;\n};\n\n// eslint-disable-next-line func-names\nconst Colorize = function () {\n const self = (string_: number | string) => string_ + \"\";\n\n self.strip = (value: string): string => value.replaceAll(ansiRegex(), \"\");\n\n // eslint-disable-next-line guard-for-in,no-loops/no-loops,no-restricted-syntax\n for (const name in baseColors) {\n // eslint-disable-next-line security/detect-object-injection\n styles[name] = {\n get() {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const style = createStyle(this, baseColors[name as keyof typeof baseColors]);\n\n Object.defineProperty(this, name, { value: style });\n\n return style;\n },\n };\n }\n\n // eslint-disable-next-line guard-for-in,no-loops/no-loops,no-restricted-syntax\n for (const name in baseStyles) {\n // eslint-disable-next-line security/detect-object-injection\n styles[name] = {\n get() {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const style = createStyle(this, baseStyles[name as keyof typeof baseStyles]);\n\n Object.defineProperty(this, name, { value: style });\n\n return style;\n },\n };\n }\n\n // This needs to be the last thing we do, so that the prototype is fully populated.\n stylePrototype = Object.defineProperties({}, styles);\n\n Object.setPrototypeOf(self, stylePrototype);\n\n return self;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n} as any as new () => ColorizeType;\n\n// eslint-disable-next-line guard-for-in,no-loops/no-loops,no-restricted-syntax\nfor (const name in styleMethods) {\n styles[name as keyof typeof styleMethods] = {\n get() {\n return (...arguments_: (number | string)[]) =>\n // @ts-expect-error: TODO: fix typing of `arguments_`\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n createStyle(this, styleMethods[name as keyof typeof styleMethods](...arguments_));\n },\n };\n}\n\nstyles[\"ansi256\"] = styles[\"fg\"] as object;\nstyles[\"bgAnsi256\"] = styles[\"bg\"] as object;\n\n// eslint-disable-next-line import/no-default-export\nexport default Colorize;\n","import ColorizeImpl from \"./colorize.server\";\nimport type { ColorizeType } from \"./types\";\n\nconst colorize: ColorizeType = new ColorizeImpl() as ColorizeType;\n\n// eslint-disable-next-line import/no-default-export\nexport default colorize as ColorizeType;\n\n// eslint-disable-next-line import/no-unused-modules\nexport const {\n ansi256,\n bg,\n bgAnsi256,\n bgBlack,\n bgBlackBright,\n bgBlue,\n bgBlueBright,\n bgCyan,\n bgCyanBright,\n bgGray,\n bgGreen,\n bgGreenBright,\n bgGrey,\n bgHex,\n bgMagenta,\n bgMagentaBright,\n bgRed,\n bgRedBright,\n bgRgb,\n bgWhite,\n bgWhiteBright,\n bgYellow,\n bgYellowBright,\n black,\n blackBright,\n blue,\n blueBright,\n bold,\n cyan,\n cyanBright,\n dim,\n fg,\n gray,\n green,\n greenBright,\n grey,\n hex,\n hidden,\n inverse,\n italic,\n magenta,\n magentaBright,\n overline,\n red,\n redBright,\n reset,\n rgb,\n strike,\n strikethrough,\n strip,\n underline,\n visible,\n white,\n whiteBright,\n yellow,\n yellowBright,\n} = colorize;\n\nexport { default as Colorize } from \"./colorize.server\";\n\n// eslint-disable-next-line import/no-unused-modules\nexport type { AnsiColors, AnsiStyles, ColorizeType } from \"./types\";\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visulima/colorize",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.2",
|
|
4
4
|
"description": "Terminal and Console string styling done right.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"256",
|
|
@@ -117,23 +117,23 @@
|
|
|
117
117
|
"test:watch": "vitest"
|
|
118
118
|
},
|
|
119
119
|
"dependencies": {
|
|
120
|
-
"@visulima/is-ansi-color-supported": "
|
|
120
|
+
"@visulima/is-ansi-color-supported": "2.0.0"
|
|
121
121
|
},
|
|
122
122
|
"devDependencies": {
|
|
123
123
|
"@anolilab/eslint-config": "^15.0.3",
|
|
124
124
|
"@anolilab/prettier-config": "^5.0.14",
|
|
125
125
|
"@anolilab/semantic-release-preset": "^8.0.3",
|
|
126
126
|
"@babel/core": "^7.23.9",
|
|
127
|
-
"@rushstack/eslint-plugin-security": "^0.8.
|
|
128
|
-
"@secretlint/secretlint-rule-preset-recommend": "^8.1.
|
|
127
|
+
"@rushstack/eslint-plugin-security": "^0.8.1",
|
|
128
|
+
"@secretlint/secretlint-rule-preset-recommend": "^8.1.2",
|
|
129
129
|
"@types/micromatch": "^4.0.6",
|
|
130
130
|
"@types/node": "18.18.14",
|
|
131
|
-
"@vitest/coverage-v8": "^1.
|
|
132
|
-
"@vitest/ui": "^1.
|
|
131
|
+
"@vitest/coverage-v8": "^1.3.1",
|
|
132
|
+
"@vitest/ui": "^1.3.1",
|
|
133
133
|
"ansi-colors": "4.1.3",
|
|
134
134
|
"ansi-regex": "^6.0.1",
|
|
135
135
|
"ansi-styles": "^6.2.1",
|
|
136
|
-
"ansis": "2.
|
|
136
|
+
"ansis": "2.3.0",
|
|
137
137
|
"benchmark": "2.1.4",
|
|
138
138
|
"chalk": "5.3.0",
|
|
139
139
|
"cli-color": "2.0.3",
|
|
@@ -141,7 +141,7 @@
|
|
|
141
141
|
"colors": "1.4.0",
|
|
142
142
|
"colors-cli": "1.0.33",
|
|
143
143
|
"cross-env": "^7.0.3",
|
|
144
|
-
"eslint": "^8.
|
|
144
|
+
"eslint": "^8.57.0",
|
|
145
145
|
"eslint-plugin-deprecation": "^2.0.0",
|
|
146
146
|
"eslint-plugin-etc": "^2.0.3",
|
|
147
147
|
"eslint-plugin-import": "npm:eslint-plugin-i@^2.29.1",
|
|
@@ -152,13 +152,13 @@
|
|
|
152
152
|
"picocolors": "1.0.0",
|
|
153
153
|
"prettier": "^3.2.5",
|
|
154
154
|
"rimraf": "^5.0.5",
|
|
155
|
-
"secretlint": "8.1.
|
|
155
|
+
"secretlint": "8.1.2",
|
|
156
156
|
"semantic-release": "^23.0.2",
|
|
157
|
-
"sort-package-json": "^2.
|
|
157
|
+
"sort-package-json": "^2.8.0",
|
|
158
158
|
"tsup": "^8.0.2",
|
|
159
|
-
"type-fest": "^4.10.
|
|
159
|
+
"type-fest": "^4.10.3",
|
|
160
160
|
"typescript": "^5.3.3",
|
|
161
|
-
"vitest": "^1.
|
|
161
|
+
"vitest": "^1.3.1"
|
|
162
162
|
},
|
|
163
163
|
"engines": {
|
|
164
164
|
"node": ">=18.* <=21.*"
|