termpainter 1.2.0 → 2.0.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 +140 -17
- package/dist/cjs/badge.cjs +3 -0
- package/dist/cjs/badge.d.ts.map +1 -1
- package/dist/cjs/badge.js.map +1 -1
- package/dist/cjs/box.cjs +19 -3
- package/dist/cjs/box.d.cts +5 -1
- package/dist/cjs/box.d.ts +5 -1
- package/dist/cjs/box.d.ts.map +1 -1
- package/dist/cjs/box.js.map +1 -1
- package/dist/cjs/columns.cjs +30 -0
- package/dist/cjs/columns.d.cts +6 -0
- package/dist/cjs/columns.d.ts +6 -0
- package/dist/cjs/columns.d.ts.map +1 -0
- package/dist/cjs/columns.js.map +1 -0
- package/dist/cjs/env.cjs +7 -0
- package/dist/cjs/env.d.cts +1 -0
- package/dist/cjs/env.d.ts +1 -0
- package/dist/cjs/env.d.ts.map +1 -1
- package/dist/cjs/env.js.map +1 -1
- package/dist/cjs/icons.cjs +4 -0
- package/dist/cjs/icons.d.cts +1 -0
- package/dist/cjs/icons.d.ts +1 -0
- package/dist/cjs/icons.d.ts.map +1 -1
- package/dist/cjs/icons.js.map +1 -1
- package/dist/cjs/index.cjs +13 -1
- package/dist/cjs/index.d.cts +10 -1
- package/dist/cjs/index.d.ts +10 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/paint.cjs +3 -0
- package/dist/cjs/paint.d.ts.map +1 -1
- package/dist/cjs/paint.js.map +1 -1
- package/dist/cjs/silent.cjs +12 -0
- package/dist/cjs/silent.d.cts +3 -0
- package/dist/cjs/silent.d.ts +3 -0
- package/dist/cjs/silent.d.ts.map +1 -0
- package/dist/cjs/silent.js.map +1 -0
- package/dist/cjs/spinner.cjs +31 -3
- package/dist/cjs/spinner.d.cts +1 -0
- package/dist/cjs/spinner.d.ts +1 -0
- package/dist/cjs/spinner.d.ts.map +1 -1
- package/dist/cjs/spinner.js.map +1 -1
- package/dist/cjs/style.cjs +57 -8
- package/dist/cjs/style.d.cts +7 -0
- package/dist/cjs/style.d.ts +7 -0
- package/dist/cjs/style.d.ts.map +1 -1
- package/dist/cjs/style.js.map +1 -1
- package/dist/cjs/testmode.cjs +12 -0
- package/dist/cjs/testmode.d.cts +3 -0
- package/dist/cjs/testmode.d.ts +3 -0
- package/dist/cjs/testmode.d.ts.map +1 -0
- package/dist/cjs/testmode.js.map +1 -0
- package/dist/cjs/theme.cjs +45 -0
- package/dist/cjs/theme.d.cts +27 -0
- package/dist/cjs/theme.d.ts +27 -0
- package/dist/cjs/theme.d.ts.map +1 -0
- package/dist/cjs/theme.js.map +1 -0
- package/dist/cjs/truncate.cjs +27 -0
- package/dist/cjs/truncate.d.cts +2 -0
- package/dist/cjs/truncate.d.ts +2 -0
- package/dist/cjs/truncate.d.ts.map +1 -0
- package/dist/cjs/truncate.js.map +1 -0
- package/dist/esm/badge.js +3 -0
- package/dist/esm/badge.js.map +1 -1
- package/dist/esm/box.js +19 -3
- package/dist/esm/box.js.map +1 -1
- package/dist/esm/columns.js +27 -0
- package/dist/esm/columns.js.map +1 -0
- package/dist/esm/env.js +6 -0
- package/dist/esm/env.js.map +1 -1
- package/dist/esm/icons.js +3 -0
- package/dist/esm/icons.js.map +1 -1
- package/dist/esm/index.js +6 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/paint.js +3 -0
- package/dist/esm/paint.js.map +1 -1
- package/dist/esm/silent.js +8 -0
- package/dist/esm/silent.js.map +1 -0
- package/dist/esm/spinner.js +31 -3
- package/dist/esm/spinner.js.map +1 -1
- package/dist/esm/style.js +57 -8
- package/dist/esm/style.js.map +1 -1
- package/dist/esm/testmode.js +8 -0
- package/dist/esm/testmode.js.map +1 -0
- package/dist/esm/theme.js +40 -0
- package/dist/esm/theme.js.map +1 -0
- package/dist/esm/truncate.js +24 -0
- package/dist/esm/truncate.js.map +1 -0
- package/dist/types/badge.d.ts.map +1 -1
- package/dist/types/box.d.ts +5 -1
- package/dist/types/box.d.ts.map +1 -1
- package/dist/types/columns.d.ts +6 -0
- package/dist/types/columns.d.ts.map +1 -0
- package/dist/types/env.d.ts +1 -0
- package/dist/types/env.d.ts.map +1 -1
- package/dist/types/icons.d.ts +1 -0
- package/dist/types/icons.d.ts.map +1 -1
- package/dist/types/index.d.ts +10 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/paint.d.ts.map +1 -1
- package/dist/types/silent.d.ts +3 -0
- package/dist/types/silent.d.ts.map +1 -0
- package/dist/types/spinner.d.ts +1 -0
- package/dist/types/spinner.d.ts.map +1 -1
- package/dist/types/style.d.ts +7 -0
- package/dist/types/style.d.ts.map +1 -1
- package/dist/types/testmode.d.ts +3 -0
- package/dist/types/testmode.d.ts.map +1 -0
- package/dist/types/theme.d.ts +27 -0
- package/dist/types/theme.d.ts.map +1 -0
- package/dist/types/truncate.d.ts +2 -0
- package/dist/types/truncate.d.ts.map +1 -0
- package/package.json +1 -1
package/dist/esm/paint.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { RESET, BOLD, DIM, ITALIC, UNDERLINE, BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, GRAY, BG_BLACK, BG_RED, BG_GREEN, BG_YELLOW, BG_BLUE, BG_MAGENTA, BG_CYAN, BG_WHITE, BG_GRAY, } from './codes.js';
|
|
2
2
|
import { isColorEnabled } from './env.js';
|
|
3
|
+
import { isSilent } from './silent.js';
|
|
3
4
|
const fgMap = {
|
|
4
5
|
black: BLACK,
|
|
5
6
|
red: RED,
|
|
@@ -23,6 +24,8 @@ const bgMap = {
|
|
|
23
24
|
gray: BG_GRAY,
|
|
24
25
|
};
|
|
25
26
|
export function paint(text, options = {}) {
|
|
27
|
+
if (isSilent())
|
|
28
|
+
return '';
|
|
26
29
|
if (!isColorEnabled())
|
|
27
30
|
return text;
|
|
28
31
|
let prefix = '';
|
package/dist/esm/paint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paint.js","sourceRoot":"","sources":["../../src/paint.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EACnC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAC3D,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GACvF,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"paint.js","sourceRoot":"","sources":["../../src/paint.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EACnC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAC3D,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,GACvF,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAavC,MAAM,KAAK,GAA0B;IACnC,KAAK,EAAE,KAAK;IACZ,GAAG,EAAE,GAAG;IACR,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,IAAI;CACX,CAAC;AAEF,MAAM,KAAK,GAA0B;IACnC,KAAK,EAAE,QAAQ;IACf,GAAG,EAAE,MAAM;IACX,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,QAAQ;IACf,IAAI,EAAE,OAAO;CACd,CAAC;AAEF,MAAM,UAAU,KAAK,CAAC,IAAY,EAAE,UAAwB,EAAE;IAC5D,IAAI,QAAQ,EAAE;QAAE,OAAO,EAAE,CAAC;IAC1B,IAAI,CAAC,cAAc,EAAE;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,OAAO,CAAC,IAAI;QAAE,MAAM,IAAI,IAAI,CAAC;IACjC,IAAI,OAAO,CAAC,GAAG;QAAE,MAAM,IAAI,GAAG,CAAC;IAC/B,IAAI,OAAO,CAAC,MAAM;QAAE,MAAM,IAAI,MAAM,CAAC;IACrC,IAAI,OAAO,CAAC,SAAS;QAAE,MAAM,IAAI,SAAS,CAAC;IAC3C,IAAI,OAAO,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,OAAO,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAW;IAC/B,4CAA4C;IAC5C,OAAO,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"silent.js","sourceRoot":"","sources":["../../src/silent.ts"],"names":[],"mappings":"AAAA,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,MAAM,UAAU,SAAS,CAAC,IAAa;IACrC,UAAU,GAAG,IAAI,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
package/dist/esm/spinner.js
CHANGED
|
@@ -1,10 +1,35 @@
|
|
|
1
1
|
import { style } from './style.js';
|
|
2
|
+
import { isSilent } from './silent.js';
|
|
3
|
+
import { isTestMode } from './testmode.js';
|
|
2
4
|
const FRAMES = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
|
|
3
5
|
export function spin(msg) {
|
|
6
|
+
if (isSilent()) {
|
|
7
|
+
return {
|
|
8
|
+
succeed(_) { },
|
|
9
|
+
fail(_) { },
|
|
10
|
+
update(_) { },
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
// Non-TTY and test mode: static single-line output, no animation
|
|
14
|
+
if (!process.stdout.isTTY || isTestMode()) {
|
|
15
|
+
process.stdout.write(style.muted(msg) + '\n');
|
|
16
|
+
return {
|
|
17
|
+
succeed(newMsg) {
|
|
18
|
+
process.stdout.write(style.success(newMsg ?? msg) + '\n');
|
|
19
|
+
},
|
|
20
|
+
fail(newMsg) {
|
|
21
|
+
process.stdout.write(style.error(newMsg ?? msg) + '\n');
|
|
22
|
+
},
|
|
23
|
+
update(newMsg) {
|
|
24
|
+
process.stdout.write(style.muted(newMsg) + '\n');
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
let currentMsg = msg;
|
|
4
29
|
let i = 0;
|
|
5
30
|
const timer = setInterval(() => {
|
|
6
31
|
const frame = FRAMES[i % FRAMES.length];
|
|
7
|
-
process.stdout.write(`\r${frame} ${
|
|
32
|
+
process.stdout.write(`\r\x1b[K${frame} ${currentMsg}`);
|
|
8
33
|
i++;
|
|
9
34
|
}, 80);
|
|
10
35
|
function stop(output) {
|
|
@@ -13,10 +38,13 @@ export function spin(msg) {
|
|
|
13
38
|
}
|
|
14
39
|
return {
|
|
15
40
|
succeed(newMsg) {
|
|
16
|
-
stop(style.success(newMsg ??
|
|
41
|
+
stop(style.success(newMsg ?? currentMsg));
|
|
17
42
|
},
|
|
18
43
|
fail(newMsg) {
|
|
19
|
-
stop(style.error(newMsg ??
|
|
44
|
+
stop(style.error(newMsg ?? currentMsg));
|
|
45
|
+
},
|
|
46
|
+
update(newMsg) {
|
|
47
|
+
currentMsg = newMsg;
|
|
20
48
|
},
|
|
21
49
|
};
|
|
22
50
|
}
|
package/dist/esm/spinner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../src/spinner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../src/spinner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAQlE,MAAM,UAAU,IAAI,CAAC,GAAW;IAC9B,IAAI,QAAQ,EAAE,EAAE,CAAC;QACf,OAAO;YACL,OAAO,CAAC,CAAU,IAAS,CAAC;YAC5B,IAAI,CAAC,CAAU,IAAS,CAAC;YACzB,MAAM,CAAC,CAAS,IAAS,CAAC;SAC3B,CAAC;IACJ,CAAC;IAED,iEAAiE;IACjE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,UAAU,EAAE,EAAE,CAAC;QAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QAC9C,OAAO;YACL,OAAO,CAAC,MAAe;gBACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,CAAC,MAAe;gBAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YAC1D,CAAC;YACD,MAAM,CAAC,MAAc;gBACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;YACnD,CAAC;SACF,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,GAAG,GAAG,CAAC;IACrB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,IAAI,UAAU,EAAE,CAAC,CAAC;QACvD,CAAC,EAAE,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,IAAI,CAAC,MAAc;QAC1B,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,MAAM,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO;QACL,OAAO,CAAC,MAAe;YACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,MAAe;YAClB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,CAAC,MAAc;YACnB,UAAU,GAAG,MAAM,CAAC;QACtB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/esm/style.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { paint } from './paint.js';
|
|
2
2
|
import { getIcons } from './icons.js';
|
|
3
|
+
import { getTheme } from './theme.js';
|
|
4
|
+
import { isSilent } from './silent.js';
|
|
5
|
+
import { isTestMode } from './testmode.js';
|
|
3
6
|
function formatMeta(data) {
|
|
4
7
|
const keys = Object.keys(data);
|
|
5
8
|
if (keys.length === 0)
|
|
@@ -15,35 +18,60 @@ function formatMeta(data) {
|
|
|
15
18
|
}
|
|
16
19
|
export const style = {
|
|
17
20
|
error(msg, meta) {
|
|
18
|
-
|
|
21
|
+
if (isSilent())
|
|
22
|
+
return '';
|
|
23
|
+
const t = getTheme().error;
|
|
24
|
+
return paint(`${getIcons().error} ${msg}`, { color: t.color, dim: t.dim }) + (meta ? formatMeta(meta) : '');
|
|
19
25
|
},
|
|
20
26
|
success(msg, meta) {
|
|
21
|
-
|
|
27
|
+
if (isSilent())
|
|
28
|
+
return '';
|
|
29
|
+
const t = getTheme().success;
|
|
30
|
+
return paint(`${getIcons().success} ${msg}`, { color: t.color, dim: t.dim }) + (meta ? formatMeta(meta) : '');
|
|
22
31
|
},
|
|
23
32
|
warn(msg, meta) {
|
|
24
|
-
|
|
33
|
+
if (isSilent())
|
|
34
|
+
return '';
|
|
35
|
+
const t = getTheme().warn;
|
|
36
|
+
return paint(`${getIcons().warn} ${msg}`, { color: t.color, dim: t.dim }) + (meta ? formatMeta(meta) : '');
|
|
25
37
|
},
|
|
26
38
|
info(msg, meta) {
|
|
27
|
-
|
|
39
|
+
if (isSilent())
|
|
40
|
+
return '';
|
|
41
|
+
const t = getTheme().info;
|
|
42
|
+
return paint(`${getIcons().info} ${msg}`, { color: t.color, dim: t.dim }) + (meta ? formatMeta(meta) : '');
|
|
28
43
|
},
|
|
29
44
|
debug(msg, meta) {
|
|
30
|
-
if (!process.env['DEBUG'])
|
|
45
|
+
if (isSilent() || !process.env['DEBUG'])
|
|
31
46
|
return '';
|
|
32
|
-
|
|
47
|
+
const t = getTheme().debug;
|
|
48
|
+
return paint(`${getIcons().debug} ${msg}`, { color: t.color, dim: t.dim }) + (meta ? formatMeta(meta) : '');
|
|
33
49
|
},
|
|
34
50
|
muted(msg) {
|
|
35
|
-
|
|
51
|
+
if (isSilent())
|
|
52
|
+
return '';
|
|
53
|
+
const t = getTheme().muted;
|
|
54
|
+
return paint(msg, { color: t.color, dim: t.dim });
|
|
36
55
|
},
|
|
37
56
|
bold(msg) {
|
|
57
|
+
if (isSilent())
|
|
58
|
+
return '';
|
|
38
59
|
return paint(msg, { color: 'white', bold: true });
|
|
39
60
|
},
|
|
40
61
|
highlight(msg) {
|
|
41
|
-
|
|
62
|
+
if (isSilent())
|
|
63
|
+
return '';
|
|
64
|
+
const t = getTheme().highlight;
|
|
65
|
+
return paint(msg, { color: t.color, dim: t.dim });
|
|
42
66
|
},
|
|
43
67
|
divider(color = 'gray') {
|
|
68
|
+
if (isSilent())
|
|
69
|
+
return '';
|
|
44
70
|
return paint('─'.repeat(40), { color });
|
|
45
71
|
},
|
|
46
72
|
table(data, color = 'cyan') {
|
|
73
|
+
if (isSilent())
|
|
74
|
+
return '';
|
|
47
75
|
const keys = Object.keys(data);
|
|
48
76
|
if (keys.length === 0)
|
|
49
77
|
return '';
|
|
@@ -56,6 +84,10 @@ export const style = {
|
|
|
56
84
|
.join('\n');
|
|
57
85
|
},
|
|
58
86
|
timestamp(msg, color = 'gray') {
|
|
87
|
+
if (isSilent())
|
|
88
|
+
return '';
|
|
89
|
+
if (isTestMode())
|
|
90
|
+
return msg;
|
|
59
91
|
const now = new Date();
|
|
60
92
|
const hh = String(now.getHours()).padStart(2, '0');
|
|
61
93
|
const mm = String(now.getMinutes()).padStart(2, '0');
|
|
@@ -63,5 +95,22 @@ export const style = {
|
|
|
63
95
|
const prefix = paint(`[${hh}:${mm}:${ss}]`, { color });
|
|
64
96
|
return `${prefix} ${msg}`;
|
|
65
97
|
},
|
|
98
|
+
group(label, lines) {
|
|
99
|
+
if (isSilent())
|
|
100
|
+
return '';
|
|
101
|
+
const header = paint(`▶ ${label}`, { color: 'cyan' });
|
|
102
|
+
const body = lines.map((line) => ` ${line}`).join('\n');
|
|
103
|
+
return body.length > 0 ? `${header}\n${body}` : header;
|
|
104
|
+
},
|
|
105
|
+
list(items, options = {}) {
|
|
106
|
+
if (isSilent())
|
|
107
|
+
return '';
|
|
108
|
+
const bullet = options.bullet ?? '•';
|
|
109
|
+
const color = options.color ?? 'cyan';
|
|
110
|
+
const indent = options.indent ?? 0;
|
|
111
|
+
const indentStr = ' '.repeat(indent);
|
|
112
|
+
const coloredBullet = paint(bullet, { color });
|
|
113
|
+
return items.map((item) => `${indentStr}${coloredBullet} ${item}`).join('\n');
|
|
114
|
+
},
|
|
66
115
|
};
|
|
67
116
|
//# sourceMappingURL=style.js.map
|
package/dist/esm/style.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.js","sourceRoot":"","sources":["../../src/style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAc,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"style.js","sourceRoot":"","sources":["../../src/style.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testmode.js","sourceRoot":"","sources":["../../src/testmode.ts"],"names":[],"mappings":"AAAA,IAAI,eAAe,GAAG,KAAK,CAAC;AAE5B,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,eAAe,GAAG,OAAO,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,eAAe,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { setIcons, resetIcons } from './icons.js';
|
|
2
|
+
const defaults = {
|
|
3
|
+
success: { color: 'green', dim: false },
|
|
4
|
+
error: { color: 'red', dim: false },
|
|
5
|
+
warn: { color: 'yellow', dim: false },
|
|
6
|
+
info: { color: 'blue', dim: false },
|
|
7
|
+
debug: { color: 'gray', dim: true },
|
|
8
|
+
muted: { color: 'gray', dim: true },
|
|
9
|
+
highlight: { color: 'cyan', dim: false },
|
|
10
|
+
};
|
|
11
|
+
let current = { ...defaults };
|
|
12
|
+
export function setTheme(theme) {
|
|
13
|
+
// Always start from defaults so each setTheme() call is a clean override
|
|
14
|
+
current = { ...defaults };
|
|
15
|
+
const iconPatch = {};
|
|
16
|
+
resetIcons();
|
|
17
|
+
for (const _key of Object.keys(theme)) {
|
|
18
|
+
const entry = theme[_key];
|
|
19
|
+
if (!entry)
|
|
20
|
+
continue;
|
|
21
|
+
current[_key] = {
|
|
22
|
+
color: entry.color ?? defaults[_key].color,
|
|
23
|
+
dim: entry.dim ?? defaults[_key].dim,
|
|
24
|
+
};
|
|
25
|
+
if (entry.icon !== undefined && (_key === 'error' || _key === 'success' || _key === 'warn' || _key === 'info' || _key === 'debug')) {
|
|
26
|
+
iconPatch[_key] = entry.icon;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
if (Object.keys(iconPatch).length > 0) {
|
|
30
|
+
setIcons(iconPatch);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
export function resetTheme() {
|
|
34
|
+
current = { ...defaults };
|
|
35
|
+
resetIcons();
|
|
36
|
+
}
|
|
37
|
+
export function getTheme() {
|
|
38
|
+
return current;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=theme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/theme.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAyBlD,MAAM,QAAQ,GAAkB;IAC9B,OAAO,EAAI,EAAE,KAAK,EAAE,OAAO,EAAG,GAAG,EAAE,KAAK,EAAE;IAC1C,KAAK,EAAM,EAAE,KAAK,EAAE,KAAK,EAAK,GAAG,EAAE,KAAK,EAAE;IAC1C,IAAI,EAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE;IAC1C,IAAI,EAAO,EAAE,KAAK,EAAE,MAAM,EAAI,GAAG,EAAE,KAAK,EAAE;IAC1C,KAAK,EAAM,EAAE,KAAK,EAAE,MAAM,EAAI,GAAG,EAAE,IAAI,EAAG;IAC1C,KAAK,EAAM,EAAE,KAAK,EAAE,MAAM,EAAI,GAAG,EAAE,IAAI,EAAG;IAC1C,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAI,GAAG,EAAE,KAAK,EAAE;CAC3C,CAAC;AAEF,IAAI,OAAO,GAAkB,EAAE,GAAG,QAAQ,EAAE,CAAC;AAE7C,MAAM,UAAU,QAAQ,CAAC,KAAqB;IAC5C,yEAAyE;IACzE,OAAO,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC1B,MAAM,SAAS,GAA2F,EAAE,CAAC;IAC7G,UAAU,EAAE,CAAC;IAEb,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAoB,EAAE,CAAC;QACzD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,OAAO,CAAC,IAAI,CAAC,GAAG;YACd,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK;YAC1C,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG;SACrC,CAAC;QACF,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,CAAC,EAAE,CAAC;YACnI,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC1B,UAAU,EAAE,CAAC;AACf,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { strip } from './paint.js';
|
|
2
|
+
export function truncate(str, maxLength) {
|
|
3
|
+
if (strip(str).length <= maxLength)
|
|
4
|
+
return str;
|
|
5
|
+
if (maxLength <= 0)
|
|
6
|
+
return '…';
|
|
7
|
+
const limit = maxLength - 1; // reserve 1 char for '…'
|
|
8
|
+
let visible = 0;
|
|
9
|
+
let i = 0;
|
|
10
|
+
while (i < str.length && visible < limit) {
|
|
11
|
+
const m = str.slice(i).match(/^\x1b\[[0-9;]*m/);
|
|
12
|
+
if (m) {
|
|
13
|
+
i += m[0].length;
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
visible++;
|
|
17
|
+
i++;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
const cut = str.slice(0, i);
|
|
21
|
+
const needsReset = cut !== strip(cut);
|
|
22
|
+
return needsReset ? `${cut}\x1b[0m…` : `${cut}…`;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=truncate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"truncate.js","sourceRoot":"","sources":["../../src/truncate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,SAAiB;IACrD,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,SAAS;QAAE,OAAO,GAAG,CAAC;IAC/C,IAAI,SAAS,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC;IAE/B,MAAM,KAAK,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,yBAAyB;IACtD,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,OAAO,GAAG,KAAK,EAAE,CAAC;QACzC,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAChD,IAAI,CAAC,EAAE,CAAC;YACN,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,CAAC;YACV,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,MAAM,UAAU,GAAG,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;AACnD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../src/badge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAS,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../src/badge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAS,MAAM,YAAY,CAAC;AAK/C,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,KAAe,GAAG,MAAM,CAKlE"}
|
package/dist/types/box.d.ts
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import { type Color } from './paint.js';
|
|
2
|
-
export
|
|
2
|
+
export interface BoxOptions {
|
|
3
|
+
color?: Color;
|
|
4
|
+
title?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function box(text: string, options?: Color | BoxOptions): string;
|
|
3
7
|
//# sourceMappingURL=box.d.ts.map
|
package/dist/types/box.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"box.d.ts","sourceRoot":"","sources":["../../src/box.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAgB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"box.d.ts","sourceRoot":"","sources":["../../src/box.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAgB,MAAM,YAAY,CAAC;AAKtD,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,CAwCtE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../src/columns.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,MAAM,CA0BzF"}
|
package/dist/types/env.d.ts
CHANGED
|
@@ -5,5 +5,6 @@
|
|
|
5
5
|
* - CI env var is set (raw escape codes look broken in most CI logs)
|
|
6
6
|
* - process.stdout.isTTY is false/undefined (output is being piped)
|
|
7
7
|
*/
|
|
8
|
+
export declare function isInteractive(): boolean;
|
|
8
9
|
export declare function isColorEnabled(): boolean;
|
|
9
10
|
//# sourceMappingURL=env.d.ts.map
|
package/dist/types/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/env.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/env.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAGvC;AAED,wBAAgB,cAAc,IAAI,OAAO,CAKxC"}
|
package/dist/types/icons.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/icons.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAYD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAEpD;AAED,wBAAgB,QAAQ,IAAI,KAAK,CAEhC"}
|
|
1
|
+
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/icons.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAYD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAEpD;AAED,wBAAgB,QAAQ,IAAI,KAAK,CAEhC;AAED,wBAAgB,UAAU,IAAI,IAAI,CAEjC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
export { paint, strip } from './paint.js';
|
|
2
2
|
export type { PaintOptions, Color } from './paint.js';
|
|
3
3
|
export { style } from './style.js';
|
|
4
|
+
export type { ListOptions } from './style.js';
|
|
4
5
|
export { badge } from './badge.js';
|
|
5
6
|
export { box } from './box.js';
|
|
7
|
+
export type { BoxOptions } from './box.js';
|
|
6
8
|
export { spin } from './spinner.js';
|
|
7
9
|
export type { SpinnerHandle } from './spinner.js';
|
|
10
|
+
export { columns } from './columns.js';
|
|
11
|
+
export type { ColumnsOptions } from './columns.js';
|
|
12
|
+
export { truncate } from './truncate.js';
|
|
8
13
|
export { setIcons } from './icons.js';
|
|
9
14
|
export type { Icons } from './icons.js';
|
|
10
|
-
export {
|
|
15
|
+
export { setSilent } from './silent.js';
|
|
16
|
+
export { setTheme, resetTheme } from './theme.js';
|
|
17
|
+
export type { Theme, ThemeEntry } from './theme.js';
|
|
18
|
+
export { setTestMode } from './testmode.js';
|
|
19
|
+
export { isColorEnabled, isInteractive } from './env.js';
|
|
11
20
|
export * from './codes.js';
|
|
12
21
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAC1C,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAC1C,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAClD,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzD,cAAc,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paint.d.ts","sourceRoot":"","sources":["../../src/paint.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"paint.d.ts","sourceRoot":"","sources":["../../src/paint.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAE1G,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,EAAE,CAAC,EAAE,KAAK,CAAC;IACX,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,QAAA,MAAM,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAUhC,CAAC;AAEF,QAAA,MAAM,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAUhC,CAAC;AAEF,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM,CAYtE;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGzC;AAED,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"silent.d.ts","sourceRoot":"","sources":["../../src/silent.ts"],"names":[],"mappings":"AAEA,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAE7C;AAED,wBAAgB,QAAQ,IAAI,OAAO,CAElC"}
|
package/dist/types/spinner.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../src/spinner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../src/spinner.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAiD/C"}
|
package/dist/types/style.d.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { type Color } from './paint.js';
|
|
2
2
|
type Meta = Record<string, unknown>;
|
|
3
|
+
export interface ListOptions {
|
|
4
|
+
bullet?: string;
|
|
5
|
+
color?: Color;
|
|
6
|
+
indent?: number;
|
|
7
|
+
}
|
|
3
8
|
export declare const style: {
|
|
4
9
|
error(msg: string, meta?: Meta): string;
|
|
5
10
|
success(msg: string, meta?: Meta): string;
|
|
@@ -12,6 +17,8 @@ export declare const style: {
|
|
|
12
17
|
divider(color?: Color): string;
|
|
13
18
|
table(data: Record<string, string>, color?: Color): string;
|
|
14
19
|
timestamp(msg: string, color?: Color): string;
|
|
20
|
+
group(label: string, lines: string[]): string;
|
|
21
|
+
list(items: string[], options?: ListOptions): string;
|
|
15
22
|
};
|
|
16
23
|
export {};
|
|
17
24
|
//# sourceMappingURL=style.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../src/style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../src/style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAM/C,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpC,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAiBD,eAAO,MAAM,KAAK;eACL,MAAM,SAAS,IAAI,GAAG,MAAM;iBAK1B,MAAM,SAAS,IAAI,GAAG,MAAM;cAK/B,MAAM,SAAS,IAAI,GAAG,MAAM;cAK5B,MAAM,SAAS,IAAI,GAAG,MAAM;eAK3B,MAAM,SAAS,IAAI,GAAG,MAAM;eAK5B,MAAM,GAAG,MAAM;cAKhB,MAAM,GAAG,MAAM;mBAIV,MAAM,GAAG,MAAM;oBAMf,KAAK,GAAY,MAAM;gBAK1B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAS,KAAK,GAAY,MAAM;mBAanD,MAAM,UAAS,KAAK,GAAY,MAAM;iBAWxC,MAAM,SAAS,MAAM,EAAE,GAAG,MAAM;gBAOjC,MAAM,EAAE,YAAW,WAAW,GAAQ,MAAM;CASzD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testmode.d.ts","sourceRoot":"","sources":["../../src/testmode.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAElD;AAED,wBAAgB,UAAU,IAAI,OAAO,CAEpC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { Color } from './paint.js';
|
|
2
|
+
export interface ThemeEntry {
|
|
3
|
+
color?: Color;
|
|
4
|
+
dim?: boolean;
|
|
5
|
+
icon?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface Theme {
|
|
8
|
+
success?: ThemeEntry;
|
|
9
|
+
error?: ThemeEntry;
|
|
10
|
+
warn?: ThemeEntry;
|
|
11
|
+
info?: ThemeEntry;
|
|
12
|
+
debug?: ThemeEntry;
|
|
13
|
+
muted?: ThemeEntry;
|
|
14
|
+
highlight?: ThemeEntry;
|
|
15
|
+
}
|
|
16
|
+
interface ResolvedEntry {
|
|
17
|
+
color: Color;
|
|
18
|
+
dim: boolean;
|
|
19
|
+
}
|
|
20
|
+
type ResolvedTheme = {
|
|
21
|
+
[K in keyof Required<Theme>]: ResolvedEntry;
|
|
22
|
+
};
|
|
23
|
+
export declare function setTheme(theme: Partial<Theme>): void;
|
|
24
|
+
export declare function resetTheme(): void;
|
|
25
|
+
export declare function getTheme(): ResolvedTheme;
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGxC,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,KAAK;IACpB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,SAAS,CAAC,EAAE,UAAU,CAAC;CACxB;AAED,UAAU,aAAa;IACrB,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;CACd;AAED,KAAK,aAAa,GAAG;KAAG,CAAC,IAAI,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,aAAa;CAAE,CAAC;AAcrE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAqBpD;AAED,wBAAgB,UAAU,IAAI,IAAI,CAGjC;AAED,wBAAgB,QAAQ,IAAI,aAAa,CAExC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"truncate.d.ts","sourceRoot":"","sources":["../../src/truncate.ts"],"names":[],"mappings":"AAEA,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAqB/D"}
|