@adriangalilea/utils 10.7.0 → 10.9.0
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/README.md +13 -1
- package/dist/cli/live.d.ts +1 -0
- package/dist/cli/live.d.ts.map +1 -1
- package/dist/cli/live.js +2 -1
- package/dist/cli/live.js.map +1 -1
- package/dist/cli/text.d.ts +6 -3
- package/dist/cli/text.d.ts.map +1 -1
- package/dist/cli/text.js +58 -20
- package/dist/cli/text.js.map +1 -1
- package/dist/universal/ansi.d.ts +19 -0
- package/dist/universal/ansi.d.ts.map +1 -1
- package/dist/universal/ansi.js +18 -0
- package/dist/universal/ansi.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -347,6 +347,18 @@ stripAnsi(styled) // the string minus its escapes
|
|
|
347
347
|
`cli`'s ANSI-aware `width()` / `clip()` measure strings styled with these
|
|
348
348
|
(they share `ANSI_RE`).
|
|
349
349
|
|
|
350
|
+
The semantic roles live here too, the one map of role to escape that `cli`'s
|
|
351
|
+
`ui` paints with: `ROLES` (`head`, `accent`, `muted`, `ok`, `warn`, `bad`,
|
|
352
|
+
`ref`) and `inRole(role, s)`, always on. A page that draws a CLI's output (a
|
|
353
|
+
terminal on a landing page) writes it in the same roles, so the two cannot
|
|
354
|
+
disagree on a colour.
|
|
355
|
+
|
|
356
|
+
```typescript
|
|
357
|
+
import { inRole } from '@adriangalilea/utils/ansi'
|
|
358
|
+
|
|
359
|
+
`${inRole('muted', 'code')} ${inRole('head', 'BCDF-GHJK')}`
|
|
360
|
+
```
|
|
361
|
+
|
|
350
362
|
### Time (`time`)
|
|
351
363
|
|
|
352
364
|
Humanized time — three questions, three functions: how long is a duration
|
|
@@ -515,7 +527,7 @@ What makes it hold up:
|
|
|
515
527
|
- **Renders to stderr by default** — stdout stays clean for `--json` and pipes.
|
|
516
528
|
- **Crash-safe cursor**: hidden while painting, restored on done/clear, process exit, and signals — politely (if the app has its own SIGINT handler for graceful shutdown, it stays in charge).
|
|
517
529
|
- **Flicker-free**: synchronized-update escapes (`?2026`) make repaints atomic on modern terminals; lines are ANSI-aware clipped to the terminal width so the erase math never breaks.
|
|
518
|
-
- **Measurement is
|
|
530
|
+
- **Measurement is in terminal cells**: a ZWJ emoji / flag is one grapheme, and CJK characters and emoji take two cells, so `width()`/`clip()`/`table()` line up what a terminal shows (py-utils `cli` measures the same way). `clip()` never splits a wide character at the cut.
|
|
519
531
|
- One **region** at a time, by design (`assert`): two pinned regions can't share the bottom of one screen — compose into a single `render()`. A `spinner()` started *under* an active region is legitimate composition and degrades gracefully: its final line prints above the region.
|
|
520
532
|
|
|
521
533
|
Run the demo: `pnpm tsx tests/live-demo.ts` (and pipe it through `| cat` to see the non-TTY degradation).
|
package/dist/cli/live.d.ts
CHANGED
|
@@ -69,6 +69,7 @@ export declare function elapsed(since: number): string;
|
|
|
69
69
|
* (a helper deep in a call stack, under a dashboard), it degrades the same
|
|
70
70
|
* way — the final line lands ABOVE the region via the console routing. Only
|
|
71
71
|
* a second live() region screams; a nested spinner is legitimate composition.
|
|
72
|
+
* Every line it writes goes to stderr: stdout stays data for pipes / --json.
|
|
72
73
|
*/
|
|
73
74
|
export declare function spinner<T>(label: string, fn: (set: (label: string) => void) => Promise<T>): Promise<T>;
|
|
74
75
|
//# sourceMappingURL=live.d.ts.map
|
package/dist/cli/live.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../src/cli/live.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAiBH,MAAM,WAAW,QAAQ;IACxB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC;IAC5B,+EAA+E;IAC/E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kGAAkG;IAClG,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,IAAI;IACpB,gEAAgE;IAChE,OAAO,IAAI,IAAI,CAAC;IAChB,yEAAyE;IACzE,MAAM,CAAC,MAAM,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACnC,oFAAoF;IACpF,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,2CAA2C;IAC3C,KAAK,IAAI,IAAI,CAAC;CACd;AA+JD;;;GAGG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,MAAM,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAEhE;AAMD,2EAA2E;AAC3E,eAAO,MAAM,IAAI,QAAO,MACsD,CAAC;AAE/E;;;;;GAKG;AACH,wBAAgB,GAAG,CAClB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,SAAK,EACV,KAAK,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAc,GAClC,MAAM,CAIR;AAED,uFAAuF;AACvF,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ7C;AAED
|
|
1
|
+
{"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../src/cli/live.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAiBH,MAAM,WAAW,QAAQ;IACxB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC;IAC5B,+EAA+E;IAC/E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kGAAkG;IAClG,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,IAAI;IACpB,gEAAgE;IAChE,OAAO,IAAI,IAAI,CAAC;IAChB,yEAAyE;IACzE,MAAM,CAAC,MAAM,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACnC,oFAAoF;IACpF,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,2CAA2C;IAC3C,KAAK,IAAI,IAAI,CAAC;CACd;AA+JD;;;GAGG;AACH,wBAAgB,IAAI,CAAC,MAAM,EAAE,MAAM,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAEhE;AAMD,2EAA2E;AAC3E,eAAO,MAAM,IAAI,QAAO,MACsD,CAAC;AAE/E;;;;;GAKG;AACH,wBAAgB,GAAG,CAClB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,SAAK,EACV,KAAK,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAc,GAClC,MAAM,CAIR;AAED,uFAAuF;AACvF,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ7C;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,OAAO,CAAC,CAAC,EAC9B,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GAC9C,OAAO,CAAC,CAAC,CAAC,CAqBZ"}
|
package/dist/cli/live.js
CHANGED
|
@@ -217,6 +217,7 @@ export function elapsed(since) {
|
|
|
217
217
|
* (a helper deep in a call stack, under a dashboard), it degrades the same
|
|
218
218
|
* way — the final line lands ABOVE the region via the console routing. Only
|
|
219
219
|
* a second live() region screams; a nested spinner is legitimate composition.
|
|
220
|
+
* Every line it writes goes to stderr: stdout stays data for pipes / --json.
|
|
220
221
|
*/
|
|
221
222
|
export async function spinner(label, fn) {
|
|
222
223
|
const start = Date.now();
|
|
@@ -227,7 +228,7 @@ export async function spinner(label, fn) {
|
|
|
227
228
|
const l = active === null
|
|
228
229
|
? live(() => `${spin()} ${current} ${dim(elapsed(start))}`)
|
|
229
230
|
: null;
|
|
230
|
-
const persist = (line) => l ? l.done(line) : console.
|
|
231
|
+
const persist = (line) => l ? l.done(line) : console.error(line);
|
|
231
232
|
try {
|
|
232
233
|
const v = await fn(set);
|
|
233
234
|
persist(`${green("✓")} ${current} ${dim(elapsed(start))}`);
|
package/dist/cli/live.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live.js","sourceRoot":"","sources":["../../src/cli/live.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"live.js","sourceRoot":"","sources":["../../src/cli/live.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/text.d.ts
CHANGED
|
@@ -13,17 +13,20 @@ export declare const green: (s: string) => string;
|
|
|
13
13
|
export declare const yellow: (s: string) => string;
|
|
14
14
|
export declare const cyan: (s: string) => string;
|
|
15
15
|
export declare const gray: (s: string) => string;
|
|
16
|
-
/** Visible width of a string — ANSI escapes stripped
|
|
16
|
+
/** Visible width of a string in terminal cells — ANSI escapes stripped. */
|
|
17
17
|
export declare const width: (s: string) => number;
|
|
18
18
|
/**
|
|
19
|
-
* Truncate to `n` visible
|
|
19
|
+
* Truncate to `n` visible cells (ellipsis at the cut), ANSI-aware: escape
|
|
20
20
|
* sequences pass through so styling survives, and open styles are closed
|
|
21
|
-
* with a final reset.
|
|
21
|
+
* with a final reset. A wide character never straddles the cut. Plain
|
|
22
|
+
* strings work too — this is THE truncate.
|
|
22
23
|
*/
|
|
23
24
|
export declare function clip(s: string, n: number): string;
|
|
24
25
|
export declare const padEndV: (s: string, n: number) => string;
|
|
25
26
|
export declare const padStartV: (s: string, n: number) => string;
|
|
26
27
|
/** Semantic palette — use these, not raw colors, so intent stays consistent. */
|
|
28
|
+
/** The semantic palette: each role painted with its escape from `ROLES` (the
|
|
29
|
+
* one map, ../universal/ansi), when this process colors at all. */
|
|
27
30
|
export declare const ui: {
|
|
28
31
|
head: (s: string) => string;
|
|
29
32
|
accent: (s: string) => string;
|
package/dist/cli/text.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/cli/text.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/cli/text.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAA+B,MAAM,sBAAsB,CAAC;AAE5E,OAAO,EAAE,OAAO,EAAE,CAAC;AAkBnB,eAAO,MAAM,IAAI,MAHT,MAAM,KAAG,MAGc,CAAC;AAChC,eAAO,MAAM,GAAG,MAJR,MAAM,KAAG,MAIY,CAAC;AAC9B,eAAO,MAAM,GAAG,MALR,MAAM,KAAG,MAKc,CAAC;AAChC,eAAO,MAAM,KAAK,MANV,MAAM,KAAG,MAMgB,CAAC;AAClC,eAAO,MAAM,MAAM,MAPX,MAAM,KAAG,MAOiB,CAAC;AACnC,eAAO,MAAM,IAAI,MART,MAAM,KAAG,MAQe,CAAC;AACjC,eAAO,MAAM,IAAI,MATT,MAAM,KAAG,MASe,CAAC;AAuCjC,2EAA2E;AAC3E,eAAO,MAAM,KAAK,GAAI,GAAG,MAAM,KAAG,MAKjC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CA2BjD;AAED,eAAO,MAAM,OAAO,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,KAAG,MACL,CAAC;AAC3C,eAAO,MAAM,SAAS,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,KAAG,MACP,CAAC;AAE3C,gFAAgF;AAChF;oEACoE;AACpE,eAAO,MAAM,EAAE;cAnGP,MAAM,KAAG,MAAM;gBAAf,MAAM,KAAG,MAAM;eAAf,MAAM,KAAG,MAAM;YAAf,MAAM,KAAG,MAAM;cAAf,MAAM,KAAG,MAAM;aAAf,MAAM,KAAG,MAAM;IA0GtB,+CAA+C;aA1GxC,MAAM,KAAG,MAAM;CA4GtB,CAAC"}
|
package/dist/cli/text.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* (`cli/index` — table/kv/tree) and the live layer (`cli/live` — pinned
|
|
5
5
|
* region/spinner) build on these; keeping them here avoids an import cycle.
|
|
6
6
|
*/
|
|
7
|
-
import { ANSI_RE, BOLD, DIM, fg, RESET } from "../universal/ansi.js";
|
|
7
|
+
import { ANSI_RE, BOLD, DIM, fg, RESET, ROLES } from "../universal/ansi.js";
|
|
8
8
|
export { ANSI_RE };
|
|
9
9
|
// The palette makes ONE whether-to-color decision for both cli layers, and
|
|
10
10
|
// cli writes to both streams (static output → stdout, live regions → stderr),
|
|
@@ -30,22 +30,55 @@ export const gray = paint(fg(8));
|
|
|
30
30
|
const ANSI_SPLIT_RE = /(\x1b\[[0-9;]*m)/;
|
|
31
31
|
// Grapheme clusters, not code points: what the terminal renders as ONE symbol
|
|
32
32
|
// (ZWJ emoji 👨👩👧, flags 🇪🇸, skin tones) is several code points — counting
|
|
33
|
-
// pieces breaks alignment.
|
|
34
|
-
//
|
|
35
|
-
//
|
|
33
|
+
// pieces breaks alignment. Each cluster then takes the cells a terminal gives
|
|
34
|
+
// it: two for East Asian wide/fullwidth characters and emoji-presentation
|
|
35
|
+
// symbols, one otherwise (py-utils measures the same way).
|
|
36
36
|
const GRAPHEMES = new Intl.Segmenter();
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
// East Asian Wide/Fullwidth blocks (the wcwidth core table): Hangul Jamo, CJK
|
|
38
|
+
// radicals through Yi, Hangul syllables, compatibility ideographs, vertical
|
|
39
|
+
// and fullwidth forms, the supplementary ideographic planes.
|
|
40
|
+
const WIDE = [
|
|
41
|
+
[0x1100, 0x115f],
|
|
42
|
+
[0x2e80, 0x303e],
|
|
43
|
+
[0x3041, 0x33ff],
|
|
44
|
+
[0x3400, 0x4dbf],
|
|
45
|
+
[0x4e00, 0x9fff],
|
|
46
|
+
[0xa000, 0xa4cf],
|
|
47
|
+
[0xac00, 0xd7a3],
|
|
48
|
+
[0xf900, 0xfaff],
|
|
49
|
+
[0xfe30, 0xfe4f],
|
|
50
|
+
[0xff00, 0xff60],
|
|
51
|
+
[0xffe0, 0xffe6],
|
|
52
|
+
[0x20000, 0x2fffd],
|
|
53
|
+
[0x30000, 0x3fffd],
|
|
54
|
+
];
|
|
55
|
+
const EMOJI_PRESENTATION = /\p{Emoji_Presentation}|️/u;
|
|
56
|
+
/** Terminal cells one grapheme cluster occupies. */
|
|
57
|
+
function cells(grapheme) {
|
|
58
|
+
const cp = grapheme.codePointAt(0) ?? 0;
|
|
59
|
+
if (WIDE.some(([lo, hi]) => cp >= lo && cp <= hi))
|
|
60
|
+
return 2;
|
|
61
|
+
return EMOJI_PRESENTATION.test(grapheme) ? 2 : 1;
|
|
62
|
+
}
|
|
63
|
+
/** Visible width of a string in terminal cells — ANSI escapes stripped. */
|
|
64
|
+
export const width = (s) => {
|
|
65
|
+
let w = 0;
|
|
66
|
+
for (const g of GRAPHEMES.segment(s.replace(ANSI_RE, "")))
|
|
67
|
+
w += cells(g.segment);
|
|
68
|
+
return w;
|
|
69
|
+
};
|
|
39
70
|
/**
|
|
40
|
-
* Truncate to `n` visible
|
|
71
|
+
* Truncate to `n` visible cells (ellipsis at the cut), ANSI-aware: escape
|
|
41
72
|
* sequences pass through so styling survives, and open styles are closed
|
|
42
|
-
* with a final reset.
|
|
73
|
+
* with a final reset. A wide character never straddles the cut. Plain
|
|
74
|
+
* strings work too — this is THE truncate.
|
|
43
75
|
*/
|
|
44
76
|
export function clip(s, n) {
|
|
45
77
|
if (width(s) <= n)
|
|
46
78
|
return s;
|
|
47
79
|
let out = "";
|
|
48
|
-
let
|
|
80
|
+
let used = 0;
|
|
81
|
+
let cut = false;
|
|
49
82
|
let styled = false;
|
|
50
83
|
for (const part of s.split(ANSI_SPLIT_RE)) {
|
|
51
84
|
if (part === "")
|
|
@@ -56,13 +89,16 @@ export function clip(s, n) {
|
|
|
56
89
|
continue;
|
|
57
90
|
}
|
|
58
91
|
for (const g of GRAPHEMES.segment(part)) {
|
|
59
|
-
if (
|
|
92
|
+
if (cut)
|
|
93
|
+
break;
|
|
94
|
+
const w = cells(g.segment);
|
|
95
|
+
if (used + w <= n - 1) {
|
|
60
96
|
out += g.segment;
|
|
61
|
-
|
|
97
|
+
used += w;
|
|
62
98
|
}
|
|
63
|
-
else
|
|
99
|
+
else {
|
|
64
100
|
out += "…";
|
|
65
|
-
|
|
101
|
+
cut = true;
|
|
66
102
|
}
|
|
67
103
|
}
|
|
68
104
|
}
|
|
@@ -72,14 +108,16 @@ export function clip(s, n) {
|
|
|
72
108
|
export const padEndV = (s, n) => s + " ".repeat(Math.max(0, n - width(s)));
|
|
73
109
|
export const padStartV = (s, n) => " ".repeat(Math.max(0, n - width(s))) + s;
|
|
74
110
|
/** Semantic palette — use these, not raw colors, so intent stays consistent. */
|
|
111
|
+
/** The semantic palette: each role painted with its escape from `ROLES` (the
|
|
112
|
+
* one map, ../universal/ansi), when this process colors at all. */
|
|
75
113
|
export const ui = {
|
|
76
|
-
head: (
|
|
77
|
-
accent: (
|
|
78
|
-
muted: (
|
|
79
|
-
ok: (
|
|
80
|
-
warn: (
|
|
81
|
-
bad: (
|
|
114
|
+
head: paint(ROLES.head),
|
|
115
|
+
accent: paint(ROLES.accent),
|
|
116
|
+
muted: paint(ROLES.muted),
|
|
117
|
+
ok: paint(ROLES.ok),
|
|
118
|
+
warn: paint(ROLES.warn),
|
|
119
|
+
bad: paint(ROLES.bad),
|
|
82
120
|
/** ids / refs — de-emphasized monospace-ish */
|
|
83
|
-
ref: (
|
|
121
|
+
ref: paint(ROLES.ref),
|
|
84
122
|
};
|
|
85
123
|
//# sourceMappingURL=text.js.map
|
package/dist/cli/text.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/cli/text.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/cli/text.ts"],"names":[],"mappings":"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"}
|
package/dist/universal/ansi.d.ts
CHANGED
|
@@ -25,4 +25,23 @@ export declare function rgb(r: number, g: number, b: number): string;
|
|
|
25
25
|
export declare const ANSI_RE: RegExp;
|
|
26
26
|
/** The string minus its ANSI style escapes. */
|
|
27
27
|
export declare const stripAnsi: (s: string) => string;
|
|
28
|
+
/**
|
|
29
|
+
* The house's semantic roles, each as the escape that opens it: what `cli`'s
|
|
30
|
+
* `ui` paints with whenever it paints. The one map of role to colour, so what
|
|
31
|
+
* a CLI prints and a page drawing that CLI's output (a terminal on a landing)
|
|
32
|
+
* cannot disagree.
|
|
33
|
+
*/
|
|
34
|
+
export declare const ROLES: {
|
|
35
|
+
readonly head: "\u001B[1m";
|
|
36
|
+
readonly accent: string;
|
|
37
|
+
readonly muted: "\u001B[2m";
|
|
38
|
+
readonly ok: string;
|
|
39
|
+
readonly warn: string;
|
|
40
|
+
readonly bad: string;
|
|
41
|
+
/** ids / refs: de-emphasized */
|
|
42
|
+
readonly ref: string;
|
|
43
|
+
};
|
|
44
|
+
export type Role = keyof typeof ROLES;
|
|
45
|
+
/** `s` in a role, always on: for a consumer that renders ANSI whatever stdout is. */
|
|
46
|
+
export declare const inRole: (role: Role, s: string) => string;
|
|
28
47
|
//# sourceMappingURL=ansi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ansi.d.ts","sourceRoot":"","sources":["../../src/universal/ansi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,eAAO,MAAM,KAAK,cAAY,CAAC;AAC/B,eAAO,MAAM,IAAI,cAAY,CAAC;AAC9B,eAAO,MAAM,GAAG,cAAY,CAAC;AAC7B,eAAO,MAAM,MAAM,cAAY,CAAC;AAChC,eAAO,MAAM,SAAS,cAAY,CAAC;AAEnC,2CAA2C;AAC3C,wBAAgB,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAGpC;AAED,2CAA2C;AAC3C,wBAAgB,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAGpC;AAED,gFAAgF;AAChF,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAS3D;AAGD,eAAO,MAAM,OAAO,QAAoB,CAAC;AAEzC,+CAA+C;AAC/C,eAAO,MAAM,SAAS,GAAI,GAAG,MAAM,KAAG,MAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"ansi.d.ts","sourceRoot":"","sources":["../../src/universal/ansi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,eAAO,MAAM,KAAK,cAAY,CAAC;AAC/B,eAAO,MAAM,IAAI,cAAY,CAAC;AAC9B,eAAO,MAAM,GAAG,cAAY,CAAC;AAC7B,eAAO,MAAM,MAAM,cAAY,CAAC;AAChC,eAAO,MAAM,SAAS,cAAY,CAAC;AAEnC,2CAA2C;AAC3C,wBAAgB,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAGpC;AAED,2CAA2C;AAC3C,wBAAgB,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAGpC;AAED,gFAAgF;AAChF,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAS3D;AAGD,eAAO,MAAM,OAAO,QAAoB,CAAC;AAEzC,+CAA+C;AAC/C,eAAO,MAAM,SAAS,GAAI,GAAG,MAAM,KAAG,MAAgC,CAAC;AAEvE;;;;;GAKG;AACH,eAAO,MAAM,KAAK;;;;;;;IAOjB,gCAAgC;;CAEvB,CAAC;AAEX,MAAM,MAAM,IAAI,GAAG,MAAM,OAAO,KAAK,CAAC;AAEtC,qFAAqF;AACrF,eAAO,MAAM,MAAM,GAAI,MAAM,IAAI,EAAE,GAAG,MAAM,KAAG,MAClB,CAAC"}
|
package/dist/universal/ansi.js
CHANGED
|
@@ -36,4 +36,22 @@ export function rgb(r, g, b) {
|
|
|
36
36
|
export const ANSI_RE = /\x1b\[[0-9;]*m/g;
|
|
37
37
|
/** The string minus its ANSI style escapes. */
|
|
38
38
|
export const stripAnsi = (s) => s.replace(ANSI_RE, "");
|
|
39
|
+
/**
|
|
40
|
+
* The house's semantic roles, each as the escape that opens it: what `cli`'s
|
|
41
|
+
* `ui` paints with whenever it paints. The one map of role to colour, so what
|
|
42
|
+
* a CLI prints and a page drawing that CLI's output (a terminal on a landing)
|
|
43
|
+
* cannot disagree.
|
|
44
|
+
*/
|
|
45
|
+
export const ROLES = {
|
|
46
|
+
head: BOLD,
|
|
47
|
+
accent: fg(6),
|
|
48
|
+
muted: DIM,
|
|
49
|
+
ok: fg(2),
|
|
50
|
+
warn: fg(3),
|
|
51
|
+
bad: fg(1),
|
|
52
|
+
/** ids / refs: de-emphasized */
|
|
53
|
+
ref: fg(8),
|
|
54
|
+
};
|
|
55
|
+
/** `s` in a role, always on: for a consumer that renders ANSI whatever stdout is. */
|
|
56
|
+
export const inRole = (role, s) => `${ROLES[role]}${s}${RESET}`;
|
|
39
57
|
//# sourceMappingURL=ansi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ansi.js","sourceRoot":"","sources":["../../src/universal/ansi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,MAAM,CAAC,MAAM,KAAK,GAAG,SAAS,CAAC;AAC/B,MAAM,CAAC,MAAM,IAAI,GAAG,SAAS,CAAC;AAC9B,MAAM,CAAC,MAAM,GAAG,GAAG,SAAS,CAAC;AAC7B,MAAM,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC;AAChC,MAAM,CAAC,MAAM,SAAS,GAAG,SAAS,CAAC;AAEnC,2CAA2C;AAC3C,MAAM,UAAU,EAAE,CAAC,CAAS;IAC3B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;IACzE,OAAO,aAAa,CAAC,GAAG,CAAC;AAC1B,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,EAAE,CAAC,CAAS;IAC3B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;IACzE,OAAO,aAAa,CAAC,GAAG,CAAC;AAC1B,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;IAClD,MAAM,CACL,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,EACjE,iBAAiB,EACjB,CAAC,EACD,CAAC,EACD,CAAC,CACD,CAAC;IACF,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACpC,CAAC;AAED,8FAA8F;AAC9F,MAAM,CAAC,MAAM,OAAO,GAAG,iBAAiB,CAAC;AAEzC,+CAA+C;AAC/C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"ansi.js","sourceRoot":"","sources":["../../src/universal/ansi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,MAAM,CAAC,MAAM,KAAK,GAAG,SAAS,CAAC;AAC/B,MAAM,CAAC,MAAM,IAAI,GAAG,SAAS,CAAC;AAC9B,MAAM,CAAC,MAAM,GAAG,GAAG,SAAS,CAAC;AAC7B,MAAM,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC;AAChC,MAAM,CAAC,MAAM,SAAS,GAAG,SAAS,CAAC;AAEnC,2CAA2C;AAC3C,MAAM,UAAU,EAAE,CAAC,CAAS;IAC3B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;IACzE,OAAO,aAAa,CAAC,GAAG,CAAC;AAC1B,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,EAAE,CAAC,CAAS;IAC3B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;IACzE,OAAO,aAAa,CAAC,GAAG,CAAC;AAC1B,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;IAClD,MAAM,CACL,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,EACjE,iBAAiB,EACjB,CAAC,EACD,CAAC,EACD,CAAC,CACD,CAAC;IACF,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACpC,CAAC;AAED,8FAA8F;AAC9F,MAAM,CAAC,MAAM,OAAO,GAAG,iBAAiB,CAAC;AAEzC,+CAA+C;AAC/C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACpB,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;IACb,KAAK,EAAE,GAAG;IACV,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACT,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACX,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IACV,gCAAgC;IAChC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;CACD,CAAC;AAIX,qFAAqF;AACrF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAU,EAAE,CAAS,EAAU,EAAE,CACvD,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,CAAC"}
|
package/package.json
CHANGED