@visulima/colorize 1.1.0 → 1.2.1
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 +22 -0
- package/README.md +63 -2
- package/dist/index.browser.d.ts +127 -0
- package/dist/index.browser.js +5 -0
- package/dist/index.browser.js.map +1 -0
- package/dist/index.server.cjs +13 -0
- package/dist/index.server.cjs.map +1 -0
- package/dist/index.server.js +8 -0
- package/dist/index.server.js.map +1 -0
- package/package.json +27 -13
- package/dist/index.cjs +0 -13
- package/dist/index.cjs.map +0 -1
- package/dist/index.js +0 -8
- package/dist/index.js.map +0 -1
- /package/dist/{index.d.cts → index.server.d.cts} +0 -0
- /package/dist/{index.d.ts → index.server.d.ts} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
## @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
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Dependencies
|
|
6
|
+
|
|
7
|
+
* **@visulima/is-ansi-color-supported:** upgraded to 1.2.0
|
|
8
|
+
|
|
9
|
+
## @visulima/colorize [1.2.0](https://github.com/visulima/visulima/compare/@visulima/colorize@1.1.0...@visulima/colorize@1.2.0) (2024-02-18)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
* added css support for the browser ([00bed6a](https://github.com/visulima/visulima/commit/00bed6a4d6ff6a6de8e72c63e19f5b6fb6ce1fa9))
|
|
15
|
+
* added full support for no ansi supported browser ([2c08071](https://github.com/visulima/visulima/commit/2c080719ce5f82d1d3a804d495f456714ce1af81))
|
|
16
|
+
* added full support for no ansi supported browser ([e53065f](https://github.com/visulima/visulima/commit/e53065fd252247e00553980cbea13fd79d2c4ac4))
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### Bug Fixes
|
|
20
|
+
|
|
21
|
+
* added 99% of the feature ([d9ebe51](https://github.com/visulima/visulima/commit/d9ebe51d19511f4dc91d4c7743b45d423020be1d))
|
|
22
|
+
|
|
1
23
|
## @visulima/colorize [1.1.0](https://github.com/visulima/visulima/compare/@visulima/colorize@1.0.1...@visulima/colorize@1.1.0) (2024-02-13)
|
|
2
24
|
|
|
3
25
|
|
package/README.md
CHANGED
|
@@ -46,7 +46,7 @@ For instance, you can use `green` to make `` green`Hello World!` `` pop, `` red`
|
|
|
46
46
|
- [Strip ANSI codes](#strip) method `colorize.strip()`
|
|
47
47
|
- [Correct style break](#new-line) at the `end of line` when used `\n` in string
|
|
48
48
|
- Supports the [environment variables](#cli-vars) `NO_COLOR` `FORCE_COLOR` and flags `--no-color` `--color`
|
|
49
|
-
- Supports **Deno**, **Next.JS** runtimes and **Browser**
|
|
49
|
+
- Supports **Deno**, **Next.JS** runtimes and **Browser** (not only chrome) (currently multi nesting is not supported)
|
|
50
50
|
- Expressive API
|
|
51
51
|
- Doesn't extend `String.prototype`
|
|
52
52
|
- Up to **x3 faster** than **chalk**, [see benchmarks](#benchmark)
|
|
@@ -110,6 +110,61 @@ console.log(green.bold`Success!`);
|
|
|
110
110
|
console.log(red`The ${blue.underline`file.js`} not found!`);
|
|
111
111
|
```
|
|
112
112
|
|
|
113
|
+
### Browser
|
|
114
|
+
|
|
115
|
+
> **Note:** It has the same API as in Node.js.
|
|
116
|
+
|
|
117
|
+
> The return value of the browser version is an array of strings, not a string, because the browser console use the `%c` syntax for styling.
|
|
118
|
+
> This is why you need the spread operator `...` to log the colorized string.
|
|
119
|
+
|
|
120
|
+
```typescript
|
|
121
|
+
// ESM default import
|
|
122
|
+
import colorize from "@visulima/colorize/browser";
|
|
123
|
+
// ESM named import
|
|
124
|
+
import { red, green, blue } from "@visulima/colorize/browser";
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Some examples:
|
|
128
|
+
|
|
129
|
+
```typescript
|
|
130
|
+
console.log(...colorize.green("Success!"));
|
|
131
|
+
console.log(...green("Success!"));
|
|
132
|
+
|
|
133
|
+
// template string
|
|
134
|
+
console.log(...blue`Info!`);
|
|
135
|
+
|
|
136
|
+
// chained syntax
|
|
137
|
+
console.log(...green.bold`Success!`);
|
|
138
|
+
|
|
139
|
+
// nested syntax
|
|
140
|
+
console.log(...red`The ${blue.underline`file.js`} not found!`);
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
Workaround/Hack to not use the spread operator `...`.
|
|
144
|
+
|
|
145
|
+
> Warning: But you will lose the correct file path and line number in the console.
|
|
146
|
+
|
|
147
|
+
```typescript
|
|
148
|
+
let consoleOverwritten = false;
|
|
149
|
+
|
|
150
|
+
// Heck the window.console object to add colorized logging
|
|
151
|
+
if (typeof navigator !== "undefined" && typeof window !== "undefined" && !consoleOverwritten) {
|
|
152
|
+
["error", "group", "groupCollapsed", "info", "log", "trace", "warn"].forEach((o) => {
|
|
153
|
+
const originalMethod = (window.console as any)[o as keyof Console];
|
|
154
|
+
|
|
155
|
+
(window.console as any)[o as keyof Console] = (...args: any[]) => {
|
|
156
|
+
if (Array.isArray(args[0]) && args[0].length >= 2 && args[0][0].includes("%c")) {
|
|
157
|
+
originalMethod(...args[0]);
|
|
158
|
+
} else {
|
|
159
|
+
originalMethod(...args);
|
|
160
|
+
}
|
|
161
|
+
};
|
|
162
|
+
});
|
|
163
|
+
|
|
164
|
+
consoleOverwritten = true;
|
|
165
|
+
}
|
|
166
|
+
```
|
|
167
|
+
|
|
113
168
|
### API
|
|
114
169
|
|
|
115
170
|
Colors and styles have standard names used by many popular libraries, such
|
|
@@ -267,6 +322,10 @@ The pre-defined set of 256 colors.
|
|
|
267
322
|
|
|
268
323
|

|
|
269
324
|
|
|
325
|
+
Browser
|
|
326
|
+
|
|
327
|
+

|
|
328
|
+
|
|
270
329
|
</center>
|
|
271
330
|
|
|
272
331
|
| Code range | Description |
|
|
@@ -395,7 +454,9 @@ Please check [@visulima/is-ansi-color-supported](https://github.com/visulima/vis
|
|
|
395
454
|
|
|
396
455
|
## Browser support
|
|
397
456
|
|
|
398
|
-
Since Chrome 69, ANSI escape codes are natively supported in the developer console.
|
|
457
|
+
Since Chrome 69 (every chrome based browser), ANSI escape codes are natively supported in the developer console.
|
|
458
|
+
|
|
459
|
+
For other browsers (like firefox) we use the console style syntax command `%c`.
|
|
399
460
|
|
|
400
461
|
## Windows
|
|
401
462
|
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
interface ColorizeType {
|
|
2
|
+
(string: number | string): string;
|
|
3
|
+
(string: TemplateStringsArray, ...parameters: string[]): string;
|
|
4
|
+
ansi256: (code: number) => this;
|
|
5
|
+
bg: (code: number) => this;
|
|
6
|
+
bgAnsi256: (code: number) => this;
|
|
7
|
+
readonly bgBlack: this;
|
|
8
|
+
readonly bgBlackBright: this;
|
|
9
|
+
readonly bgBlue: this;
|
|
10
|
+
readonly bgBlueBright: this;
|
|
11
|
+
readonly bgCyan: this;
|
|
12
|
+
readonly bgCyanBright: this;
|
|
13
|
+
readonly bgGray: this;
|
|
14
|
+
readonly bgGreen: this;
|
|
15
|
+
readonly bgGreenBright: this;
|
|
16
|
+
readonly bgGrey: this;
|
|
17
|
+
bgHex: (color: string) => this;
|
|
18
|
+
readonly bgMagenta: this;
|
|
19
|
+
readonly bgMagentaBright: this;
|
|
20
|
+
readonly bgRed: this;
|
|
21
|
+
readonly bgRedBright: this;
|
|
22
|
+
bgRgb: (red: number, green: number, blue: number) => this;
|
|
23
|
+
readonly bgWhite: this;
|
|
24
|
+
readonly bgWhiteBright: this;
|
|
25
|
+
readonly bgYellow: this;
|
|
26
|
+
readonly bgYellowBright: this;
|
|
27
|
+
readonly black: this;
|
|
28
|
+
readonly blackBright: this;
|
|
29
|
+
readonly blue: this;
|
|
30
|
+
readonly blueBright: this;
|
|
31
|
+
readonly bold: this;
|
|
32
|
+
readonly close: string;
|
|
33
|
+
readonly cyan: this;
|
|
34
|
+
readonly cyanBright: this;
|
|
35
|
+
readonly dim: this;
|
|
36
|
+
fg: (code: number) => this;
|
|
37
|
+
readonly gray: this;
|
|
38
|
+
readonly green: this;
|
|
39
|
+
readonly greenBright: this;
|
|
40
|
+
readonly grey: this;
|
|
41
|
+
hex: (color: string) => this;
|
|
42
|
+
readonly hidden: this;
|
|
43
|
+
readonly inverse: this;
|
|
44
|
+
readonly italic: this;
|
|
45
|
+
readonly magenta: this;
|
|
46
|
+
readonly magentaBright: this;
|
|
47
|
+
readonly open: string;
|
|
48
|
+
readonly overline: this;
|
|
49
|
+
readonly red: this;
|
|
50
|
+
readonly redBright: this;
|
|
51
|
+
readonly reset: this;
|
|
52
|
+
rgb: (red: number, green: number, blue: number) => this;
|
|
53
|
+
readonly strike: this;
|
|
54
|
+
readonly strikethrough: this;
|
|
55
|
+
strip: (string: string) => string;
|
|
56
|
+
readonly underline: this;
|
|
57
|
+
readonly visible: this;
|
|
58
|
+
readonly white: this;
|
|
59
|
+
readonly whiteBright: this;
|
|
60
|
+
readonly yellow: this;
|
|
61
|
+
readonly yellowBright: this;
|
|
62
|
+
}
|
|
63
|
+
type AnsiStyles = "bold" | "dim" | "hidden" | "inverse" | "italic" | "overline" | "reset" | "strike" | "strikethrough" | "underline" | "visible";
|
|
64
|
+
type AnsiColors = "bgBlack" | "bgBlackBright" | "bgBlue" | "bgBlueBright" | "bgCyan" | "bgCyanBright" | "bgGray" | "bgGreen" | "bgGreenBright" | "bgGrey" | "bgMagenta" | "bgMagentaBright" | "bgRed" | "bgRedBright" | "bgWhite" | "bgWhiteBright" | "bgYellow" | "bgYellowBright" | "black" | "blackBright" | "blue" | "blueBright" | "cyan" | "cyanBright" | "gray" | "green" | "greenBright" | "grey" | "magenta" | "magentaBright" | "red" | "redBright" | "white" | "whiteBright" | "yellow" | "yellowBright";
|
|
65
|
+
|
|
66
|
+
declare const WebColorize: new () => ColorizeType;
|
|
67
|
+
|
|
68
|
+
declare const _default: ColorizeType;
|
|
69
|
+
|
|
70
|
+
declare const ansi256: (code: number) => ColorizeType;
|
|
71
|
+
declare const bg: (code: number) => ColorizeType;
|
|
72
|
+
declare const bgAnsi256: (code: number) => ColorizeType;
|
|
73
|
+
declare const bgBlack: ColorizeType;
|
|
74
|
+
declare const bgBlackBright: ColorizeType;
|
|
75
|
+
declare const bgBlue: ColorizeType;
|
|
76
|
+
declare const bgBlueBright: ColorizeType;
|
|
77
|
+
declare const bgCyan: ColorizeType;
|
|
78
|
+
declare const bgCyanBright: ColorizeType;
|
|
79
|
+
declare const bgGray: ColorizeType;
|
|
80
|
+
declare const bgGreen: ColorizeType;
|
|
81
|
+
declare const bgGreenBright: ColorizeType;
|
|
82
|
+
declare const bgGrey: ColorizeType;
|
|
83
|
+
declare const bgHex: (color: string) => ColorizeType;
|
|
84
|
+
declare const bgMagenta: ColorizeType;
|
|
85
|
+
declare const bgMagentaBright: ColorizeType;
|
|
86
|
+
declare const bgRed: ColorizeType;
|
|
87
|
+
declare const bgRedBright: ColorizeType;
|
|
88
|
+
declare const bgRgb: (red: number, green: number, blue: number) => ColorizeType;
|
|
89
|
+
declare const bgWhite: ColorizeType;
|
|
90
|
+
declare const bgWhiteBright: ColorizeType;
|
|
91
|
+
declare const bgYellow: ColorizeType;
|
|
92
|
+
declare const bgYellowBright: ColorizeType;
|
|
93
|
+
declare const black: ColorizeType;
|
|
94
|
+
declare const blackBright: ColorizeType;
|
|
95
|
+
declare const blue: ColorizeType;
|
|
96
|
+
declare const blueBright: ColorizeType;
|
|
97
|
+
declare const bold: ColorizeType;
|
|
98
|
+
declare const cyan: ColorizeType;
|
|
99
|
+
declare const cyanBright: ColorizeType;
|
|
100
|
+
declare const dim: ColorizeType;
|
|
101
|
+
declare const fg: (code: number) => ColorizeType;
|
|
102
|
+
declare const gray: ColorizeType;
|
|
103
|
+
declare const green: ColorizeType;
|
|
104
|
+
declare const greenBright: ColorizeType;
|
|
105
|
+
declare const grey: ColorizeType;
|
|
106
|
+
declare const hex: (color: string) => ColorizeType;
|
|
107
|
+
declare const hidden: ColorizeType;
|
|
108
|
+
declare const inverse: ColorizeType;
|
|
109
|
+
declare const italic: ColorizeType;
|
|
110
|
+
declare const magenta: ColorizeType;
|
|
111
|
+
declare const magentaBright: ColorizeType;
|
|
112
|
+
declare const overline: ColorizeType;
|
|
113
|
+
declare const red: ColorizeType;
|
|
114
|
+
declare const redBright: ColorizeType;
|
|
115
|
+
declare const reset: ColorizeType;
|
|
116
|
+
declare const rgb: (red: number, green: number, blue: number) => ColorizeType;
|
|
117
|
+
declare const strike: ColorizeType;
|
|
118
|
+
declare const strikethrough: ColorizeType;
|
|
119
|
+
declare const strip: (string: string) => string;
|
|
120
|
+
declare const underline: ColorizeType;
|
|
121
|
+
declare const visible: ColorizeType;
|
|
122
|
+
declare const white: ColorizeType;
|
|
123
|
+
declare const whiteBright: ColorizeType;
|
|
124
|
+
declare const yellow: ColorizeType;
|
|
125
|
+
declare const yellowBright: ColorizeType;
|
|
126
|
+
|
|
127
|
+
export { type AnsiColors, type AnsiStyles, WebColorize as Colorize, type ColorizeType, 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, _default as default, dim, fg, gray, green, greenBright, grey, hex, hidden, inverse, italic, magenta, magentaBright, overline, red, redBright, reset, rgb, strike, strikethrough, strip, underline, visible, white, whiteBright, yellow, yellowBright };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
var c={0:"#000",1:"#800",2:"#080",3:"#880",4:"#008",5:"#808",6:"#088",7:"#ccc",8:"#444",9:"#f00",10:"#0f0",11:"#ff0",12:"#00f",13:"#f0f",14:"#0ff",15:"#fff",16:"#000",17:"#00005f",18:"#000087",19:"#0000af",20:"#0000d7",21:"#0000ff",22:"#005f00",23:"#005f5f",24:"#005f87",25:"#005faf",26:"#005fd7",27:"#005fff",28:"#008700",29:"#00875f",30:"#008787",31:"#0087af",32:"#0087d7",33:"#0087ff",34:"#00af00",35:"#00af5f",36:"#00af87",37:"#00afaf",38:"#00afd7",39:"#00afff",40:"#00d700",41:"#00d75f",42:"#00d787",43:"#00d7af",44:"#00d7d7",45:"#00d7ff",46:"#00ff00",47:"#00ff5f",48:"#00ff87",49:"#00ffaf",50:"#00ffd7",51:"#00ffff",52:"#5f0000",53:"#5f005f",54:"#5f0087",55:"#5f00af",56:"#5f00d7",57:"#5f00ff",58:"#5f5f00",59:"#5f5f5f",60:"#5f5f87",61:"#5f5faf",62:"#5f5fd7",63:"#5f5fff",64:"#5f8700",65:"#5f875f",66:"#5f8787",67:"#5f87af",68:"#5f87d7",69:"#5f87ff",70:"#5faf00",71:"#5faf5f",72:"#5faf87",73:"#5fafaf",74:"#5fafd7",75:"#5fafff",76:"#5fd700",77:"#5fd75f",78:"#5fd787",79:"#5fd7af",80:"#5fd7d7",81:"#5fd7ff",82:"#5fff00",83:"#5fff5f",84:"#5fff87",85:"#5fffaf",86:"#5fffd7",87:"#5fffff",88:"#870000",89:"#87005f",90:"#870087",91:"#8700af",92:"#8700d7",93:"#8700ff",94:"#875f00",95:"#875f5f",96:"#875f87",97:"#875faf",98:"#875fd7",99:"#875fff",100:"#878700",101:"#87875f",102:"#878787",103:"#8787af",104:"#8787d7",105:"#8787ff",106:"#87af00",107:"#87af5f",108:"#87af87",109:"#87afaf",110:"#87afd7",111:"#87afff",112:"#87d700",113:"#87d75f",114:"#87d787",115:"#87d7af",116:"#87d7d7",117:"#87d7ff",118:"#87ff00",119:"#87ff5f",120:"#87ff87",121:"#87ffaf",122:"#87ffd7",123:"#87ffff",124:"#af0000",125:"#af005f",126:"#af0087",127:"#af00af",128:"#af00d7",129:"#af00ff",130:"#af5f00",131:"#af5f5f",132:"#af5f87",133:"#af5faf",134:"#af5fd7",135:"#af5fff",136:"#af8700",137:"#af875f",138:"#af8787",139:"#af87af",140:"#af87d7",141:"#af87ff",142:"#afaf00",143:"#afaf5f",144:"#afaf87",145:"#afafaf",146:"#afafd7",147:"#afafff",148:"#afd700",149:"#afd75f",150:"#afd787",151:"#afd7af",152:"#afd7d7",153:"#afd7ff",154:"#afff00",155:"#afff5f",156:"#afff87",157:"#afffaf",158:"#afffd7",159:"#afffff",160:"#d70000",161:"#d7005f",162:"#d70087",163:"#d700af",164:"#d700d7",165:"#d700ff",166:"#d75f00",167:"#d75f5f",168:"#d75f87",169:"#d75faf",170:"#d75fd7",171:"#d75fff",172:"#d78700",173:"#d7875f",174:"#d78787",175:"#d787af",176:"#d787d7",177:"#d787ff",178:"#d7af00",179:"#d7af5f",180:"#d7af87",181:"#d7afaf",182:"#d7afd7",183:"#d7afff",184:"#d7d700",185:"#d7d75f",186:"#d7d787",187:"#d7d7af",188:"#d7d7d7",189:"#d7d7ff",190:"#d7ff00",191:"#d7ff5f",192:"#d7ff87",193:"#d7ffaf",194:"#d7ffd7",195:"#d7ffff",196:"#ff0000",197:"#ff005f",198:"#ff0087",199:"#ff00af",200:"#ff00d7",201:"#ff00ff",202:"#ff5f00",203:"#ff5f5f",204:"#ff5f87",205:"#ff5faf",206:"#ff5fd7",207:"#ff5fff",208:"#ff8700",209:"#ff875f",210:"#ff8787",211:"#ff87af",212:"#ff87d7",213:"#ff87ff",214:"#ffaf00",215:"#ffaf5f",216:"#ffaf87",217:"#ffafaf",218:"#ffafd7",219:"#ffafff",220:"#ffd700",221:"#ffd75f",222:"#ffd787",223:"#ffd7af",224:"#ffd7d7",225:"#ffd7ff",226:"#ffff00",227:"#ffff5f",228:"#ffff87",229:"#ffffaf",230:"#ffffd7",231:"#ffffff",232:"#080808",233:"#121212",234:"#1c1c1c",235:"#262626",236:"#303030",237:"#3a3a3a",238:"#444444",239:"#4e4e4e",240:"#585858",241:"#626262",242:"#6c6c6c",243:"#767676",244:"#808080",245:"#8a8a8a",246:"#949494",247:"#9e9e9e",248:"#a8a8a8",249:"#b2b2b2",250:"#bcbcbc",251:"#c6c6c6",252:"#d0d0d0",253:"#dadada",254:"#e4e4e4",255:"#eeeeee"};var l={bold:"font-weight: bold;",dim:"opacity: 0.5;",hidden:"visibility: hidden;",inverse:"background-color: currentColor; color: background-color;",italic:"font-style: italic;",overline:"text-decoration: overline;",reset:"color: inherit",strike:"text-decoration: line-through;",strikethrough:"text-decoration: line-through;",underline:"text-decoration: underline;",visible:"opacity: 0;"},g={bgBlack:"background-color: black; color: white;",bgBlackBright:"background-color: #666; color: white;",bgBlue:"background-color: blue; color: white;",bgBlueBright:"background-color: #55f; color: white;",bgCyan:"background-color: cyan; color: black;",bgCyanBright:"background-color: #5ff; color: black;",bgGray:"background-color: #666; color: white;",bgGreen:"background-color: green; color: white;",bgGreenBright:"background-color: #5f5; color: white;",bgGrey:"background-color: #666; color: white;",bgMagenta:"background-color: magenta; color: white;",bgMagentaBright:"background-color: #f5f; color: white;",bgRed:"background-color: red; color: white;",bgRedBright:"background-color: #f55; color: white;",bgWhite:"background-color: white; color: black;",bgWhiteBright:"background-color: #eee; color: black;",bgYellow:"background-color: yellow; color: black;",bgYellowBright:"background-color: #ff5; color: black;",black:"color: black;",blackBright:"color: #666;",blue:"color: blue;",blueBright:"color: #55f;",cyan:"color: cyan;",cyanBright:"color: #5ff;",gray:"color: #666;",green:"color: green;",greenBright:"color: #5f5;",grey:"color: #666;",magenta:"color: magenta;",magentaBright:"color: #f5f;",red:"color: red;",redBright:"color: #f55;",white:"color: white;",whiteBright:"color: #eee;",yellow:"color: yellow;",yellowBright:"color: #ff5;"},d={bg:f=>"background-color: "+c[f]+";",bgHex:f=>"background-color: "+f+";",bgRgb:(f,r,o)=>"background-color: rgb("+f+","+r+","+o+");",fg:f=>"color: "+c[f]+";",hex:f=>"color:"+f+";",rgb:(f,r,o)=>"color: rgb("+f+","+r+","+o+");"};var a={},b=null,k=f=>{let r={};return f.replaceAll(/(?<=^|;)\s*([^:]+)\s*:\s*([^;]+)\s*/g,(o,t,e)=>r[t]=e),r},y=({props:f},r)=>{let o=r;if(f?.cssStack){let e=k(r),n=k(f.cssStack);for(let i in n)e[i]===void 0&&(e[i]=n[i]);o=JSON.stringify(e).replace(/["{}]/g,"").replace(/,/g,";")+";";}let t=(e,...n)=>{if(!e)return [];if(typeof e=="string"&&e.includes("%c")){let s=e.match(/(?<=,).*;/g);return ["%c"+e.replace(/,.*;/g,""),t.css,...s??[]]}if(typeof e=="number"||typeof e=="string")return ["%c"+e,t.css];if(e.raw!==null&&Array.isArray(n)&&n.length>0){let s=String.raw(e,...n),p=s.match(/(?<=,).*;/g);return ["%c"+s.replace(/,.*;/g,""),t.css,...(p??[]).join("").split(",").filter(Boolean)]}let[i,...h]=e;return h.unshift(t.css),[((i+"").includes("%c")?"":"%c")+(i+""),h.join("")]};return Object.setPrototypeOf(t,b),t.props={css:r,cssStack:o,props:f},t.css=o,t},B=function(){let f=r=>r+"";f.strip=r=>r;for(let r in g)a[r]={get(){let o=y(this,g[r]);return Object.defineProperty(this,r,{value:o}),o}};for(let r in l)a[r]={get(){let o=y(this,l[r]);return Object.defineProperty(this,r,{value:o}),o}};return b=Object.defineProperties({},a),Object.setPrototypeOf(f,b),f};for(let f in d)a[f]={get(){return (...r)=>y(this,d[f](...r))}};a.ansi256=a.fg;a.bgAnsi256=a.bg;var u=B;var m=new u,j=m,{ansi256:O,bg:P,bgAnsi256:M,bgBlack:v,bgBlackBright:T,bgBlue:W,bgBlueBright:G,bgCyan:L,bgCyanBright:H,bgGray:Y,bgGreen:q,bgGreenBright:I,bgGrey:N,bgHex:J,bgMagenta:D,bgMagentaBright:E,bgRed:F,bgRedBright:K,bgRgb:Q,bgWhite:U,bgWhiteBright:X,bgYellow:Z,bgYellowBright:$,black:V,blackBright:_,blue:ff,blueBright:rf,bold:ef,cyan:of,cyanBright:tf,dim:af,fg:nf,gray:sf,green:cf,greenBright:lf,grey:gf,hex:df,hidden:bf,inverse:yf,italic:uf,magenta:hf,magentaBright:pf,overline:kf,red:mf,redBright:Bf,reset:wf,rgb:Cf,strike:xf,strikethrough:Af,strip:Rf,underline:Sf,visible:zf,white:jf,whiteBright:Of,yellow:Pf,yellowBright:Mf}=m;
|
|
2
|
+
|
|
3
|
+
export { u as Colorize, O as ansi256, P as bg, M as bgAnsi256, v as bgBlack, T as bgBlackBright, W as bgBlue, G as bgBlueBright, L as bgCyan, H as bgCyanBright, Y as bgGray, q as bgGreen, I as bgGreenBright, N as bgGrey, J as bgHex, D as bgMagenta, E as bgMagentaBright, F as bgRed, K as bgRedBright, Q as bgRgb, U as bgWhite, X as bgWhiteBright, Z as bgYellow, $ as bgYellowBright, V as black, _ as blackBright, ff as blue, rf as blueBright, ef as bold, of as cyan, tf as cyanBright, j as default, af as dim, nf as fg, sf as gray, cf as green, lf as greenBright, gf as grey, df as hex, bf as hidden, yf as inverse, uf as italic, hf as magenta, pf as magentaBright, kf as overline, mf as red, Bf as redBright, wf as reset, Cf as rgb, xf as strike, Af as strikethrough, Rf as strip, Sf as underline, zf as visible, jf as white, Of as whiteBright, Pf as yellow, Mf as yellowBright };
|
|
4
|
+
//# sourceMappingURL=out.js.map
|
|
5
|
+
//# sourceMappingURL=index.browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils.ts","../src/css-code.ts","../src/colorize.browser.ts","../src/index.browser.ts"],"names":["ansiCodeHexMap","baseStyles","baseColors","styleMethods","code","hex","r","g","b","styles","stylePrototype","cssStringToObject","css","cssObject","_","key","value","createStyle","props","cssStack","propertiesCssObject","style","input","values","collectedStyles","rawString","first","rest","WebColorize","self","string_","name","arguments_","colorize_browser_default","colorize","index_browser_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":"AAyEO,IAAMA,EAAyC,CAClD,EAAG,OACH,EAAG,OACH,EAAG,OACH,EAAG,OACH,EAAG,OACH,EAAG,OACH,EAAG,OACH,EAAG,OACH,EAAG,OACH,EAAG,OACH,GAAI,OACJ,GAAI,OACJ,GAAI,OACJ,GAAI,OACJ,GAAI,OACJ,GAAI,OACJ,GAAI,OACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,U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","sourcesContent":["/**\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","import type { AnsiColors, AnsiStyles } from \"./types\";\nimport { ansiCodeHexMap } from \"./utils\";\n\nexport const baseStyles: Required<Record<AnsiStyles, string>> = {\n bold: \"font-weight: bold;\",\n dim: \"opacity: 0.5;\",\n hidden: \"visibility: hidden;\",\n inverse: \"background-color: currentColor; color: background-color;\",\n italic: \"font-style: italic;\",\n overline: \"text-decoration: overline;\",\n reset: \"color: inherit\",\n strike: \"text-decoration: line-through;\",\n strikethrough: \"text-decoration: line-through;\",\n underline: \"text-decoration: underline;\",\n visible: \"opacity: 0;\",\n};\n\nexport const baseColors: Required<Record<AnsiColors, string>> = {\n bgBlack: \"background-color: black; color: white;\",\n bgBlackBright: \"background-color: #666; color: white;\",\n bgBlue: \"background-color: blue; color: white;\",\n bgBlueBright: \"background-color: #55f; color: white;\",\n bgCyan: \"background-color: cyan; color: black;\",\n bgCyanBright: \"background-color: #5ff; color: black;\",\n bgGray: \"background-color: #666; color: white;\", // US spelling alias for bgBlackBright\n bgGreen: \"background-color: green; color: white;\",\n bgGreenBright: \"background-color: #5f5; color: white;\",\n bgGrey: \"background-color: #666; color: white;\", // UK spelling alias for bgBlackBright\n bgMagenta: \"background-color: magenta; color: white;\",\n bgMagentaBright: \"background-color: #f5f; color: white;\",\n bgRed: \"background-color: red; color: white;\",\n bgRedBright: \"background-color: #f55; color: white;\",\n bgWhite: \"background-color: white; color: black;\",\n bgWhiteBright: \"background-color: #eee; color: black;\",\n bgYellow: \"background-color: yellow; color: black;\",\n bgYellowBright: \"background-color: #ff5; color: black;\",\n black: \"color: black;\",\n blackBright: \"color: #666;\",\n blue: \"color: blue;\",\n blueBright: \"color: #55f;\",\n cyan: \"color: cyan;\",\n cyanBright: \"color: #5ff;\",\n gray: \"color: #666;\", // US spelling alias for blackBright\n green: \"color: green;\",\n greenBright: \"color: #5f5;\",\n grey: \"color: #666;\", // UK spelling alias for blackBright\n magenta: \"color: magenta;\",\n magentaBright: \"color: #f5f;\",\n red: \"color: red;\",\n redBright: \"color: #f55;\",\n white: \"color: white;\",\n whiteBright: \"color: #eee;\",\n yellow: \"color: yellow;\",\n yellowBright: \"color: #ff5;\",\n};\n\nexport const styleMethods: {\n bg: (code: number) => string;\n bgHex: (hex: string) => string;\n bgRgb: (r: number, g: number, b: number) => string;\n fg: (code: number) => string;\n hex: (hex: string) => string;\n rgb: (r: number, g: number, b: number) => string;\n} = {\n // eslint-disable-next-line security/detect-object-injection,@typescript-eslint/no-unsafe-member-access\n bg: (code: number) => \"background-color: \" + ansiCodeHexMap[code] + \";\",\n bgHex: (hex: string) => \"background-color: \" + hex + \";\",\n bgRgb: (r: number, g: number, b: number) => \"background-color: rgb(\" + r + \",\" + g + \",\" + b + \");\",\n // eslint-disable-next-line security/detect-object-injection,@typescript-eslint/no-unsafe-member-access\n fg: (code: number) => \"color: \" + ansiCodeHexMap[code] + \";\",\n hex: (hex: string) => \"color:\" + hex + \";\",\n rgb: (r: number, g: number, b: number) => \"color: rgb(\" + r + \",\" + g + \",\" + b + \");\",\n};\n","import { baseColors, baseStyles, styleMethods } from \"./css-code\";\nimport type { ColorizeType } from \"./types\";\n\nconst styles: Record<string, object> = {};\n\nlet stylePrototype: object | null = null;\n\nconst cssStringToObject = (css: string): Record<string, string> => {\n const cssObject: Record<string, string> = {};\n\n // eslint-disable-next-line regexp/no-super-linear-backtracking,regexp/optimal-quantifier-concatenation,security/detect-object-injection,no-return-assign\n css.replaceAll(/(?<=^|;)\\s*([^:]+)\\s*:\\s*([^;]+)\\s*/g, (_, key: string, value) => (cssObject[key] = value));\n\n return cssObject;\n};\n\ntype ColorizeProperties = { css: string; cssStack: string; props: ColorizeProperties };\n\nconst createStyle = (\n { props }: { props?: ColorizeProperties },\n css: string,\n // eslint-disable-next-line sonarjs/cognitive-complexity\n): { (strings: ArrayLike<string> | ReadonlyArray<string> | string, ...values: string[]): string[] | \"\"; css: string; props: ColorizeProperties } => {\n let cssStack = css;\n\n if (props?.cssStack) {\n const cssObject = cssStringToObject(css);\n const propertiesCssObject = cssStringToObject(props.cssStack);\n\n // eslint-disable-next-line no-loops/no-loops,no-restricted-syntax\n for (const key in propertiesCssObject) {\n // eslint-disable-next-line security/detect-object-injection\n if (cssObject[key] === undefined) {\n // eslint-disable-next-line security/detect-object-injection\n cssObject[key] = propertiesCssObject[key] as string;\n }\n }\n\n // eslint-disable-next-line unicorn/prefer-string-replace-all\n cssStack = JSON.stringify(cssObject).replace(/[\"{}]/g, \"\").replace(/,/g, \";\") + \";\";\n }\n\n const style = (\n input: ArrayLike<string> | ReadonlyArray<string> | number | string | { raw: ArrayLike<string> | ReadonlyArray<string> },\n ...values: string[]\n ): string[] => {\n if (!input) {\n return [];\n }\n\n if (typeof input === \"string\" && input.includes(\"%c\")) {\n const collectedStyles = input.match(/(?<=,).*;/g);\n\n // eslint-disable-next-line unicorn/prefer-string-replace-all\n const inputWithoutStyles = input.replace(/,.*;/g, \"\");\n\n return [\"%c\" + inputWithoutStyles, style.css, ...(collectedStyles ?? [])];\n }\n\n if (typeof input === \"number\" || typeof input === \"string\") {\n return [\"%c\" + input, style.css];\n }\n\n if ((input as { raw?: ArrayLike<string> | ReadonlyArray<string> | null }).raw !== null && Array.isArray(values) && values.length > 0) {\n const rawString = String.raw(input as { raw: ArrayLike<string> | ReadonlyArray<string> }, ...values);\n\n const collectedStyles = rawString.match(/(?<=,).*;/g);\n // eslint-disable-next-line unicorn/prefer-string-replace-all\n const inputWithoutStyles = rawString.replace(/,.*;/g, \"\");\n\n return [\"%c\" + inputWithoutStyles, style.css, ...(collectedStyles ?? []).join(\"\").split(\",\").filter(Boolean)];\n }\n\n const [first, ...rest] = input as string[];\n\n rest.unshift(style.css);\n\n return [((first + \"\").includes(\"%c\") ? \"\" : \"%c\") + (first + \"\"), rest.join(\"\")];\n };\n\n Object.setPrototypeOf(style, stylePrototype);\n\n style.props = { css, cssStack, props } as ColorizeProperties;\n style.css = cssStack;\n\n return style;\n};\n\n// eslint-disable-next-line func-names\nconst WebColorize = function () {\n const self = (string_: number | string) => string_ + \"\";\n\n self.strip = (value: string): string => value;\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,@typescript-eslint/no-unsafe-argument\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,@typescript-eslint/no-unsafe-argument\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-argument,@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 WebColorize;\n","import ColorizeImpl from \"./colorize.browser\";\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.browser\";\n\n// eslint-disable-next-line import/no-unused-modules\nexport type { AnsiColors, AnsiStyles, ColorizeType } from \"./types\";\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var isAnsiColorSupported = require('@visulima/is-ansi-color-supported');
|
|
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.isColorSupported()>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
|
+
`)&&(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
|
+
|
|
10
|
+
module.exports = q;
|
|
11
|
+
module.exports.Colorize = H;
|
|
12
|
+
//# sourceMappingURL=out.js.map
|
|
13
|
+
//# sourceMappingURL=index.server.cjs.map
|
|
@@ -0,0 +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"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { isColorSupported } from '@visulima/is-ansi-color-supported';
|
|
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=isColorSupported()>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={},y=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},u=({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,y),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=u(this,c[r]);return Object.defineProperty(this,r,{value:t}),t}};for(let r in b)i[r]={get(){let t=u(this,b[r]);return Object.defineProperty(this,r,{value:t}),t}};return y=Object.defineProperties({},i),Object.setPrototypeOf(f,y),f};for(let f in p)i[f]={get(){return (...r)=>u(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:yf,dim:uf,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
|
+
|
|
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, yf as cyanBright, W as default, uf 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
|
+
//# sourceMappingURL=out.js.map
|
|
8
|
+
//# sourceMappingURL=index.server.js.map
|
|
@@ -0,0 +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"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visulima/colorize",
|
|
3
|
-
"version": "1.1
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"description": "Terminal and Console string styling done right.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"256",
|
|
@@ -8,7 +8,9 @@
|
|
|
8
8
|
"ansi",
|
|
9
9
|
"ansi-colors",
|
|
10
10
|
"blue",
|
|
11
|
+
"browser",
|
|
11
12
|
"chalk",
|
|
13
|
+
"chrome",
|
|
12
14
|
"cli",
|
|
13
15
|
"color",
|
|
14
16
|
"colorette",
|
|
@@ -19,6 +21,7 @@
|
|
|
19
21
|
"command-line",
|
|
20
22
|
"console",
|
|
21
23
|
"cyan",
|
|
24
|
+
"firefox",
|
|
22
25
|
"FORCE_COLOR",
|
|
23
26
|
"formatting",
|
|
24
27
|
"green",
|
|
@@ -68,21 +71,28 @@
|
|
|
68
71
|
"type": "module",
|
|
69
72
|
"exports": {
|
|
70
73
|
".": {
|
|
71
|
-
"browser": "./dist/index.js",
|
|
74
|
+
"browser": "./dist/index.server.js",
|
|
72
75
|
"require": {
|
|
73
|
-
"types": "./dist/index.d.cts",
|
|
74
|
-
"default": "./dist/index.cjs"
|
|
76
|
+
"types": "./dist/index.server.d.cts",
|
|
77
|
+
"default": "./dist/index.server.cjs"
|
|
75
78
|
},
|
|
76
79
|
"import": {
|
|
77
|
-
"types": "./dist/index.d.ts",
|
|
78
|
-
"default": "./dist/index.js"
|
|
80
|
+
"types": "./dist/index.server.d.ts",
|
|
81
|
+
"default": "./dist/index.server.js"
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
"./browser": {
|
|
85
|
+
"browser": "./dist/index.browser.js",
|
|
86
|
+
"import": {
|
|
87
|
+
"types": "./dist/index.browser.d.ts",
|
|
88
|
+
"default": "./dist/index.browser.js"
|
|
79
89
|
}
|
|
80
90
|
},
|
|
81
91
|
"./package.json": "./package.json"
|
|
82
92
|
},
|
|
83
|
-
"main": "dist/index.cjs",
|
|
84
|
-
"module": "dist/index.js",
|
|
85
|
-
"types": "dist/index.d.ts",
|
|
93
|
+
"main": "dist/index.server.cjs",
|
|
94
|
+
"module": "dist/index.server.js",
|
|
95
|
+
"types": "dist/index.server.d.ts",
|
|
86
96
|
"files": [
|
|
87
97
|
"dist/**",
|
|
88
98
|
"README.md",
|
|
@@ -107,7 +117,7 @@
|
|
|
107
117
|
"test:watch": "vitest"
|
|
108
118
|
},
|
|
109
119
|
"dependencies": {
|
|
110
|
-
"@visulima/is-ansi-color-supported": "1.
|
|
120
|
+
"@visulima/is-ansi-color-supported": "1.2.0"
|
|
111
121
|
},
|
|
112
122
|
"devDependencies": {
|
|
113
123
|
"@anolilab/eslint-config": "^15.0.3",
|
|
@@ -117,7 +127,7 @@
|
|
|
117
127
|
"@rushstack/eslint-plugin-security": "^0.8.0",
|
|
118
128
|
"@secretlint/secretlint-rule-preset-recommend": "^8.1.1",
|
|
119
129
|
"@types/micromatch": "^4.0.6",
|
|
120
|
-
"@types/node": "18.18.
|
|
130
|
+
"@types/node": "18.18.14",
|
|
121
131
|
"@vitest/coverage-v8": "^1.2.2",
|
|
122
132
|
"@vitest/ui": "^1.2.2",
|
|
123
133
|
"ansi-colors": "4.1.3",
|
|
@@ -171,11 +181,15 @@
|
|
|
171
181
|
},
|
|
172
182
|
"sources": [
|
|
173
183
|
{
|
|
174
|
-
"source": "src/index.
|
|
184
|
+
"source": "src/index.browser.ts",
|
|
185
|
+
"format": "esm"
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"source": "src/index.server.mts",
|
|
175
189
|
"format": "esm"
|
|
176
190
|
},
|
|
177
191
|
{
|
|
178
|
-
"source": "src/index.cts",
|
|
192
|
+
"source": "src/index.server.cts",
|
|
179
193
|
"format": "cjs"
|
|
180
194
|
}
|
|
181
195
|
]
|
package/dist/index.cjs
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var isAnsiColorSupported = require('@visulima/is-ansi-color-supported');
|
|
6
|
-
|
|
7
|
-
function c({onlyFirst:e=!1}={}){let t=["[\\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(t,e?void 0:"g")}var b=e=>{let t=e.replace("#","");if(t.length===3)t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2];else if(t.length!==6)return [0,0,0];let o=Number.parseInt(t,16);return [o>>16&255,o>>8&255,o&255]},l=(e,t,o)=>t>e?t:e>o?o:e,C=(e,t,o)=>{if(t==="")return e;let n=e.indexOf(t);if(n<0)return e;let i=t.length,s=0,g="";for(;~n;)g+=e.slice(s,n)+o,s=n+i,n=e.indexOf(t,s);return g+e.slice(s)};var r=isAnsiColorSupported.isColorSupported()>0?(e,t)=>({close:"\x1B["+t+"m",open:"\x1B["+e+"m"}):()=>({close:"",open:""}),R=e=>r("38;5;"+e,39),x=e=>r("48;5;"+e,49),h=(e,t,o)=>r("38;2;"+e+";"+t+";"+o,39),k=(e,t,o)=>r("48;2;"+e+";"+t+";"+o,49),p={bold:r(1,22),dim:r(2,22),hidden:r(8,28),inverse:r(7,27),italic:r(3,23),overline:r(53,55),reset:r(0,0),strike:r(9,29),strikethrough:r(9,29),underline:r(4,24),visible:{close:"",open:""}},u={bgBlack:r(40,49),bgBlackBright:r(100,49),bgBlue:r(44,49),bgBlueBright:r(104,49),bgCyan:r(46,49),bgCyanBright:r(106,49),bgGray:r(100,49),bgGreen:r(42,49),bgGreenBright:r(102,49),bgGrey:r(100,49),bgMagenta:r(45,49),bgMagentaBright:r(105,49),bgRed:r(41,49),bgRedBright:r(101,49),bgWhite:r(47,49),bgWhiteBright:r(107,49),bgYellow:r(43,49),bgYellowBright:r(103,49),black:r(30,39),blackBright:r(90,39),blue:r(34,39),blueBright:r(94,39),cyan:r(36,39),cyanBright:r(96,39),gray:r(90,39),green:r(32,39),greenBright:r(92,39),grey:r(90,39),magenta:r(35,39),magentaBright:r(95,39),red:r(31,39),redBright:r(91,39),white:r(37,39),whiteBright:r(97,39),yellow:r(33,39),yellowBright:r(93,39)},y={bg:e=>x(l(e,0,255)),bgHex:e=>k(...b(e)),bgRgb:(e,t,o)=>k(l(e,0,255),l(t,0,255),l(o,0,255)),fg:e=>R(l(e,0,255)),hex:e=>h(...b(e)),rgb:(e,t,o)=>h(l(e,0,255),l(t,0,255),l(o,0,255))};var a={},m=null,S=(e,t,o)=>{if(!e)return "";let n=e.raw==null?`${e}`:String.raw(e,...t);if(n.includes("\x1B"))for(let i=o;i;i=i.props)n=C(n,i.close,i.open);return n.includes(`
|
|
8
|
-
`)&&(n=n.replace(/(\r*\n)/g,o.closeStack+"$1"+o.openStack)),o.openStack+n+o.closeStack},f=({props:e},{close:t,open:o})=>{let n=(e?.openStack??"")+o,i=t+(e?.closeStack??""),s=(g,...A)=>S(g,A,s.props);return Object.setPrototypeOf(s,m),s.props={close:t,closeStack:i,open:o,openStack:n,props:e},s.open=n,s.close=i,s},z=function(){let e=t=>`${t}`;e.strip=t=>t.replaceAll(c(),"");for(let t in u)a[t]={get(){let o=f(this,u[t]);return Object.defineProperty(this,t,{value:o}),o}};for(let t in p)a[t]={get(){let o=f(this,p[t]);return Object.defineProperty(this,t,{value:o}),o}};return m=Object.defineProperties({},a),Object.setPrototypeOf(e,m),e};for(let e in y)a[e]={get(){return (...t)=>f(this,y[e](...t))}};a.ansi256=a.fg;a.bgAnsi256=a.bg;var d=z;var D=new d,q=D,$=d;
|
|
9
|
-
|
|
10
|
-
module.exports = q;
|
|
11
|
-
module.exports.Colorize = $;
|
|
12
|
-
//# sourceMappingURL=out.js.map
|
|
13
|
-
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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.ts","../src/index.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_default","colorize","src_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 // eslint-disable-next-line prefer-template\n return { close: \"\\u001B[\" + close + \"m\", open: \"\\u001B[\" + open + \"m\" };\n }\n : (): ColorData => {\n return { close: \"\", open: \"\" };\n };\n\n// eslint-disable-next-line prefer-template\nconst createAnsi256 = (code: number | string): ColorData => esc(\"38;5;\" + code, 39);\n// eslint-disable-next-line prefer-template\nconst createBgAnsi256 = (code: number | string): ColorData => esc(\"48;5;\" + code, 49);\n// eslint-disable-next-line prefer-template\nconst createRgb = (r: number | string, g: number | string, b: number | string): ColorData => esc(\"38;2;\" + r + \";\" + g + \";\" + b, 39);\n// eslint-disable-next-line prefer-template\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","/**\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 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 prefer-template,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\";\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.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { isColorSupported } from '@visulima/is-ansi-color-supported';
|
|
2
|
-
|
|
3
|
-
function b({onlyFirst:e=!1}={}){let t=["[\\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(t,e?void 0:"g")}var c=e=>{let t=e.replace("#","");if(t.length===3)t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2];else if(t.length!==6)return [0,0,0];let o=Number.parseInt(t,16);return [o>>16&255,o>>8&255,o&255]},g=(e,t,o)=>t>e?t:e>o?o:e,f=(e,t,o)=>{if(t==="")return e;let n=e.indexOf(t);if(n<0)return e;let i=t.length,s=0,a="";for(;~n;)a+=e.slice(s,n)+o,s=n+i,n=e.indexOf(t,s);return a+e.slice(s)};var r=isColorSupported()>0?(e,t)=>({close:"\x1B["+t+"m",open:"\x1B["+e+"m"}):()=>({close:"",open:""}),x=e=>r("38;5;"+e,39),w=e=>r("48;5;"+e,49),B=(e,t,o)=>r("38;2;"+e+";"+t+";"+o,39),C=(e,t,o)=>r("48;2;"+e+";"+t+";"+o,49),p={bold:r(1,22),dim:r(2,22),hidden:r(8,28),inverse:r(7,27),italic:r(3,23),overline:r(53,55),reset:r(0,0),strike:r(9,29),strikethrough:r(9,29),underline:r(4,24),visible:{close:"",open:""}},y={bgBlack:r(40,49),bgBlackBright:r(100,49),bgBlue:r(44,49),bgBlueBright:r(104,49),bgCyan:r(46,49),bgCyanBright:r(106,49),bgGray:r(100,49),bgGreen:r(42,49),bgGreenBright:r(102,49),bgGrey:r(100,49),bgMagenta:r(45,49),bgMagentaBright:r(105,49),bgRed:r(41,49),bgRedBright:r(101,49),bgWhite:r(47,49),bgWhiteBright:r(107,49),bgYellow:r(43,49),bgYellowBright:r(103,49),black:r(30,39),blackBright:r(90,39),blue:r(34,39),blueBright:r(94,39),cyan:r(36,39),cyanBright:r(96,39),gray:r(90,39),green:r(32,39),greenBright:r(92,39),grey:r(90,39),magenta:r(35,39),magentaBright:r(95,39),red:r(31,39),redBright:r(91,39),white:r(37,39),whiteBright:r(97,39),yellow:r(33,39),yellowBright:r(93,39)},u={bg:e=>w(g(e,0,255)),bgHex:e=>C(...c(e)),bgRgb:(e,t,o)=>C(g(e,0,255),g(t,0,255),g(o,0,255)),fg:e=>x(g(e,0,255)),hex:e=>B(...c(e)),rgb:(e,t,o)=>B(g(e,0,255),g(t,0,255),g(o,0,255))};var l={},h=null,S=(e,t,o)=>{if(!e)return "";let n=e.raw==null?`${e}`:String.raw(e,...t);if(n.includes("\x1B"))for(let i=o;i;i=i.props)n=f(n,i.close,i.open);return n.includes(`
|
|
4
|
-
`)&&(n=n.replace(/(\r*\n)/g,o.closeStack+"$1"+o.openStack)),o.openStack+n+o.closeStack},m=({props:e},{close:t,open:o})=>{let n=(e?.openStack??"")+o,i=t+(e?.closeStack??""),s=(a,...A)=>S(a,A,s.props);return Object.setPrototypeOf(s,h),s.props={close:t,closeStack:i,open:o,openStack:n,props:e},s.open=n,s.close=i,s},z=function(){let e=t=>`${t}`;e.strip=t=>t.replaceAll(b(),"");for(let t in y)l[t]={get(){let o=m(this,y[t]);return Object.defineProperty(this,t,{value:o}),o}};for(let t in p)l[t]={get(){let o=m(this,p[t]);return Object.defineProperty(this,t,{value:o}),o}};return h=Object.defineProperties({},l),Object.setPrototypeOf(e,h),e};for(let e in u)l[e]={get(){return (...t)=>m(this,u[e](...t))}};l.ansi256=l.fg;l.bgAnsi256=l.bg;var d=z;var k=new d,Y=k,{ansi256:Z,bg:q,bgAnsi256:H,bgBlack:$,bgBlackBright:I,bgBlue:E,bgBlueBright:N,bgCyan:F,bgCyanBright:J,bgGray:K,bgGreen:Q,bgGreenBright:U,bgGrey:X,bgHex:V,bgMagenta:_,bgMagentaBright:ee,bgRed:re,bgRedBright:te,bgRgb:oe,bgWhite:ne,bgWhiteBright:se,bgYellow:ie,bgYellowBright:ge,black:le,blackBright:ae,blue:be,blueBright:ce,bold:pe,cyan:ye,cyanBright:ue,dim:he,fg:me,gray:de,green:fe,greenBright:Be,grey:Ce,hex:ke,hidden:Ae,inverse:Re,italic:xe,magenta:we,magentaBright:Se,overline:ze,red:De,redBright:Pe,reset:Te,rgb:je,strike:ve,strikethrough:Oe,strip:Ge,underline:Me,visible:Le,white:We,whiteBright:Ye,yellow:Ze,yellowBright:qe}=k;
|
|
5
|
-
|
|
6
|
-
export { d as Colorize, Z as ansi256, q as bg, H as bgAnsi256, $ as bgBlack, I as bgBlackBright, E as bgBlue, N 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, ee as bgMagentaBright, re as bgRed, te as bgRedBright, oe as bgRgb, ne as bgWhite, se as bgWhiteBright, ie as bgYellow, ge as bgYellowBright, le as black, ae as blackBright, be as blue, ce as blueBright, pe as bold, ye as cyan, ue as cyanBright, Y as default, he as dim, me as fg, de as gray, fe as green, Be as greenBright, Ce as grey, ke as hex, Ae as hidden, Re as inverse, xe as italic, we as magenta, Se as magentaBright, ze as overline, De as red, Pe as redBright, Te as reset, je as rgb, ve as strike, Oe as strikethrough, Ge as strip, Me as underline, Le as visible, We as white, Ye as whiteBright, Ze as yellow, qe as yellowBright };
|
|
7
|
-
//# sourceMappingURL=out.js.map
|
|
8
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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.ts","../src/index.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_default","colorize","src_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 // eslint-disable-next-line prefer-template\n return { close: \"\\u001B[\" + close + \"m\", open: \"\\u001B[\" + open + \"m\" };\n }\n : (): ColorData => {\n return { close: \"\", open: \"\" };\n };\n\n// eslint-disable-next-line prefer-template\nconst createAnsi256 = (code: number | string): ColorData => esc(\"38;5;\" + code, 39);\n// eslint-disable-next-line prefer-template\nconst createBgAnsi256 = (code: number | string): ColorData => esc(\"48;5;\" + code, 49);\n// eslint-disable-next-line prefer-template\nconst createRgb = (r: number | string, g: number | string, b: number | string): ColorData => esc(\"38;2;\" + r + \";\" + g + \";\" + b, 39);\n// eslint-disable-next-line prefer-template\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","/**\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 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 prefer-template,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\";\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\";\n\n// eslint-disable-next-line import/no-unused-modules\nexport type { AnsiColors, AnsiStyles, ColorizeType } from \"./types\";\n"]}
|
|
File without changes
|
|
File without changes
|