@peteanderson/ansi 1.0.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/LICENSE +7 -0
- package/README.md +194 -0
- package/dist/ansi.d.ts +79 -41
- package/dist/ansi.d.ts.map +1 -1
- package/dist/ansi.js +9 -6
- package/dist/ansi.js.map +1 -1
- package/dist/features/build.d.ts.map +1 -1
- package/dist/features/build.js.map +1 -1
- package/dist/features/detect.d.ts.map +1 -1
- package/dist/features/detect.js.map +1 -1
- package/dist/features/features.d.ts +1 -3
- package/dist/features/features.d.ts.map +1 -1
- package/dist/features/features.js +12 -13
- package/dist/features/features.js.map +1 -1
- package/dist/features/index.d.ts +1 -0
- package/dist/features/index.d.ts.map +1 -1
- package/dist/features/types.d.ts +2 -0
- package/dist/features/types.d.ts.map +1 -1
- package/dist/pad.d.ts +10 -0
- package/dist/pad.d.ts.map +1 -1
- package/dist/pad.js +8 -0
- package/dist/pad.js.map +1 -1
- package/dist/sgr/color/channel.d.ts +4 -0
- package/dist/sgr/color/channel.d.ts.map +1 -0
- package/dist/sgr/color/channel.js +33 -0
- package/dist/sgr/color/channel.js.map +1 -0
- package/dist/sgr/color/color.d.ts +3 -4
- package/dist/sgr/color/color.d.ts.map +1 -1
- package/dist/sgr/color/color.js +16 -65
- package/dist/sgr/color/color.js.map +1 -1
- package/dist/sgr/color/context.d.ts +13 -0
- package/dist/sgr/color/context.d.ts.map +1 -0
- package/dist/sgr/color/context.js +24 -0
- package/dist/sgr/color/context.js.map +1 -0
- package/dist/sgr/color/rgb.d.ts +5 -0
- package/dist/sgr/color/rgb.d.ts.map +1 -0
- package/dist/sgr/color/rgb.js +32 -0
- package/dist/sgr/color/rgb.js.map +1 -0
- package/dist/sgr/color/utils.d.ts.map +1 -1
- package/dist/sgr/color/utils.js +12 -4
- package/dist/sgr/color/utils.js.map +1 -1
- package/dist/sgr/combine.d.ts +3 -0
- package/dist/sgr/combine.d.ts.map +1 -0
- package/dist/sgr/combine.js +14 -0
- package/dist/sgr/combine.js.map +1 -0
- package/dist/sgr/format-builder.d.ts +3 -0
- package/dist/sgr/format-builder.d.ts.map +1 -0
- package/dist/sgr/format-builder.js +33 -0
- package/dist/sgr/format-builder.js.map +1 -0
- package/dist/sgr/index.d.ts +2 -3
- package/dist/sgr/index.d.ts.map +1 -1
- package/dist/sgr/index.js +1 -3
- package/dist/sgr/index.js.map +1 -1
- package/dist/sgr/lazy.d.ts +6 -0
- package/dist/sgr/lazy.d.ts.map +1 -0
- package/dist/sgr/lazy.js +17 -0
- package/dist/sgr/lazy.js.map +1 -0
- package/dist/sgr/sgr.d.ts +3 -14
- package/dist/sgr/sgr.d.ts.map +1 -1
- package/dist/sgr/sgr.js +44 -37
- package/dist/sgr/sgr.js.map +1 -1
- package/dist/sgr/style.d.ts +2 -14
- package/dist/sgr/style.d.ts.map +1 -1
- package/dist/sgr/style.js +27 -16
- package/dist/sgr/style.js.map +1 -1
- package/dist/sgr/types.d.ts +59 -0
- package/dist/sgr/types.d.ts.map +1 -0
- package/dist/sgr/{color/types.js.map → types.js.map} +1 -1
- package/dist/simplify/atom.d.ts.map +1 -1
- package/dist/simplify/atom.js +8 -1
- package/dist/simplify/atom.js.map +1 -1
- package/dist/simplify/simplify.d.ts +1 -0
- package/dist/simplify/simplify.d.ts.map +1 -1
- package/dist/slice.d.ts +1 -0
- package/dist/slice.d.ts.map +1 -1
- package/dist/slice.js +1 -0
- package/dist/slice.js.map +1 -1
- package/dist/strip.d.ts +6 -0
- package/dist/strip.d.ts.map +1 -1
- package/dist/strip.js +3 -0
- package/dist/strip.js.map +1 -1
- package/dist/typed-object.d.ts +16 -0
- package/dist/typed-object.d.ts.map +1 -0
- package/dist/typed-object.js +36 -0
- package/dist/typed-object.js.map +1 -0
- package/dist/types.d.ts +25 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/package.json +26 -10
- package/src/ansi.ts +11 -36
- package/src/features/build.ts +4 -3
- package/src/features/detect.ts +6 -3
- package/src/features/features.ts +19 -30
- package/src/features/index.ts +2 -0
- package/src/features/types.ts +9 -0
- package/src/pad.ts +12 -1
- package/src/sgr/color/channel.ts +44 -0
- package/src/sgr/color/color.ts +30 -95
- package/src/sgr/color/context.ts +44 -0
- package/src/sgr/color/index.ts +1 -1
- package/src/sgr/color/rgb.ts +48 -0
- package/src/sgr/color/utils.ts +13 -4
- package/src/sgr/combine.ts +13 -0
- package/src/sgr/format-builder.ts +47 -0
- package/src/sgr/index.ts +3 -3
- package/src/sgr/lazy.ts +21 -0
- package/src/sgr/sgr.ts +61 -57
- package/src/sgr/style.ts +35 -18
- package/src/sgr/types.ts +91 -0
- package/src/simplify/atom.ts +8 -2
- package/src/simplify/simplify.ts +3 -1
- package/src/slice.ts +4 -1
- package/src/strip.ts +10 -1
- package/src/typed-object.ts +85 -0
- package/src/types.ts +28 -0
- package/src/utility-types.d.ts +18 -0
- package/dist/sgr/color/test-rgb.d.ts +0 -3
- package/dist/sgr/color/test-rgb.d.ts.map +0 -1
- package/dist/sgr/color/test-rgb.js +0 -149
- package/dist/sgr/color/test-rgb.js.map +0 -1
- package/dist/sgr/color/types.d.ts +0 -30
- package/dist/sgr/color/types.d.ts.map +0 -1
- package/dist/sgr/utils.d.ts +0 -3
- package/dist/sgr/utils.d.ts.map +0 -1
- package/dist/sgr/utils.js +0 -16
- package/dist/sgr/utils.js.map +0 -1
- package/dist/simplify/test.d.ts +0 -2
- package/dist/simplify/test.d.ts.map +0 -1
- package/dist/simplify/test.js +0 -64
- package/dist/simplify/test.js.map +0 -1
- package/src/sgr/color/types.ts +0 -32
- package/src/sgr/utils.ts +0 -17
- /package/dist/sgr/{color/types.js → types.js} +0 -0
package/dist/sgr/color/color.js
CHANGED
|
@@ -1,69 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.makeColor = void 0;
|
|
4
|
-
const sgr_1 = require("../sgr");
|
|
5
|
-
const style_1 = require("../style");
|
|
6
|
-
const utils_1 = require("./utils");
|
|
7
|
-
const fgOpen = 30, fgClose = 39;
|
|
8
|
-
const bgOpen = 40, bgClose = 49;
|
|
9
|
-
function makeChannel(colorDepth, open, close) {
|
|
10
|
-
const sgrBase = (0, sgr_1.makeSGR)(colorDepth > 1);
|
|
11
|
-
const style = (0, style_1.makeStyle)(colorDepth > 1);
|
|
12
|
-
const sgr = (code) => sgrBase(code, close);
|
|
13
|
-
const bright = colorDepth >= 4 ? index => sgr(open + 60 + index) :
|
|
14
|
-
colorDepth === 3 ?
|
|
15
|
-
open === fgOpen ?
|
|
16
|
-
index => style.bold.combine(sgr(open + index)) :
|
|
17
|
-
index => sgr(open + index) :
|
|
18
|
-
() => sgr(0);
|
|
19
|
-
const x16ToX8 = open === fgOpen ?
|
|
20
|
-
code => code >= 60 ? style.bold.combine(sgr(open + code - 60)) : sgr(open + code) :
|
|
21
|
-
code => code >= 60 ? sgr(open + code - 60) : sgr(open + code);
|
|
22
|
-
return {
|
|
23
|
-
black: sgr(open + 0),
|
|
24
|
-
red: sgr(open + 1),
|
|
25
|
-
green: sgr(open + 2),
|
|
26
|
-
yellow: sgr(open + 3),
|
|
27
|
-
blue: sgr(open + 4),
|
|
28
|
-
magenta: sgr(open + 5),
|
|
29
|
-
cyan: sgr(open + 6),
|
|
30
|
-
white: sgr(open + 7),
|
|
31
|
-
brightBlack: bright(0),
|
|
32
|
-
brightRed: bright(1),
|
|
33
|
-
brightGreen: bright(2),
|
|
34
|
-
brightYellow: bright(3),
|
|
35
|
-
brightBlue: bright(4),
|
|
36
|
-
brightMagenta: bright(5),
|
|
37
|
-
brightCyan: bright(6),
|
|
38
|
-
brightWhite: bright(7),
|
|
39
|
-
rgb: colorDepth >= 24 ? (r, g, b) => sgr([open + 8, 2, ...(0, utils_1.clip)(r, g, b)]) :
|
|
40
|
-
colorDepth >= 8 ? (r, g, b) => sgr([open + 8, 5, (0, utils_1.rgbToX256)(...(0, utils_1.clip)(r, g, b))]) :
|
|
41
|
-
colorDepth >= 4 ? (r, g, b) => sgr(open + (0, utils_1.rgbToX16)(...(0, utils_1.clip)(r, g, b))) :
|
|
42
|
-
colorDepth === 3 ?
|
|
43
|
-
open === fgOpen ?
|
|
44
|
-
(r, g, b) => x16ToX8((0, utils_1.rgbToX16)(...(0, utils_1.clip)(r, g, b))) :
|
|
45
|
-
(r, g, b) => sgr(open + (0, utils_1.rgbToX8)(...(0, utils_1.clip)(r, g, b))) :
|
|
46
|
-
() => sgr(0),
|
|
47
|
-
x256: colorDepth >= 8 ?
|
|
48
|
-
(...args) => sgr([open + 8, 5, args.length === 3 ? (0, utils_1.rgbToX256)(...(0, utils_1.clip)(...args)) : (0, utils_1.clip)(args[0])]) :
|
|
49
|
-
colorDepth >= 4 ?
|
|
50
|
-
(...args) => sgr(open +
|
|
51
|
-
(0, utils_1.rgbToX16)(...(args.length === 3 ? (0, utils_1.clip)(...args) : (0, utils_1.x256ToRgb)((0, utils_1.clip)(args[0]))))) :
|
|
52
|
-
colorDepth === 3 ?
|
|
53
|
-
open === fgOpen ?
|
|
54
|
-
(...args) => x16ToX8(args.length === 3
|
|
55
|
-
? (0, utils_1.rgbToX16)(...(0, utils_1.clip)(...args))
|
|
56
|
-
: (0, utils_1.rgbToX16)(...(0, utils_1.x256ToRgb)((0, utils_1.clip)(args[0])))) :
|
|
57
|
-
(...args) => sgr(open +
|
|
58
|
-
(0, utils_1.rgbToX8)(...args.length === 3 ? (0, utils_1.clip)(...args) : (0, utils_1.x256ToRgb)((0, utils_1.clip)(args[0])))) :
|
|
59
|
-
() => sgr(0),
|
|
60
|
-
default: colorDepth > 1 ? `\x1b[${close}m` : "",
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
const cache = {};
|
|
64
|
-
const makeColor = (colorDepth = 4) => cache[colorDepth] ?? (cache[colorDepth] = {
|
|
65
|
-
fg: makeChannel(colorDepth, fgOpen, fgClose),
|
|
66
|
-
bg: makeChannel(colorDepth, bgOpen, bgClose),
|
|
67
|
-
});
|
|
68
3
|
exports.makeColor = makeColor;
|
|
4
|
+
const lazy_1 = require("../lazy");
|
|
5
|
+
const channel_1 = require("./channel");
|
|
6
|
+
const channels = ["fg", "bg"];
|
|
7
|
+
function makeColor(keys, makeFormatter, style, colorDepth) {
|
|
8
|
+
const rtn = {};
|
|
9
|
+
for (const channel of channels) {
|
|
10
|
+
if (keys.has(channel)) {
|
|
11
|
+
lazy_1.lazy.add(rtn, channel, () => {
|
|
12
|
+
const newKeys = new Set(keys);
|
|
13
|
+
newKeys.delete(channel);
|
|
14
|
+
return (0, channel_1.makeChannel)(newKeys, makeFormatter, style, colorDepth, channel);
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return rtn;
|
|
19
|
+
}
|
|
69
20
|
//# sourceMappingURL=color.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color.js","sourceRoot":"","sources":["../../../src/sgr/color/color.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"color.js","sourceRoot":"","sources":["../../../src/sgr/color/color.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAUb,8BAmBC;AA3BD,kCAAoC;AACpC,uCAAsC;AAKtC,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,IAAI,CAAU,CAAC;AAEvC,SAAgB,SAAS,CACxB,IAAqC,EACrC,aAA6B,EAC7B,KAAqB,EACrB,UAA0B;IAE1B,MAAM,GAAG,GAAG,EAAgB,CAAC;IAE7B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACvB,WAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE;gBAC3B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC9B,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACxB,OAAO,IAAA,qBAAW,EAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YACxE,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,OAAO,GAAG,CAAC;AACZ,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ColorDepth } from "../../features";
|
|
2
|
+
import type { ChainKey, Code, ColorKey, Format, FormatBuilder, Style } from "../types";
|
|
3
|
+
export declare function buildContext(keys: ReadonlySet<ChainKey>, makeFormatter: FormatBuilder, style: Style, colorDepth: ColorDepth, channel: ColorKey): {
|
|
4
|
+
colorDepth: ColorDepth;
|
|
5
|
+
channel: ColorKey;
|
|
6
|
+
open: number;
|
|
7
|
+
close: number;
|
|
8
|
+
build: (open: Code) => Format;
|
|
9
|
+
bright: (index: number) => Format;
|
|
10
|
+
x16ToX8: (code: number) => Format;
|
|
11
|
+
};
|
|
12
|
+
export type Context = ReturnType<typeof buildContext>;
|
|
13
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/sgr/color/context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAc,aAAa,EAAE,KAAK,EAAC,MAAM,UAAU,CAAC;AAOjG,wBAAgB,YAAY,CAC3B,IAAI,EAAY,WAAW,CAAC,QAAQ,CAAC,EACrC,aAAa,EAAG,aAAa,EAC7B,KAAK,EAAW,KAAK,EACrB,UAAU,EAAM,UAAU,EAC1B,OAAO,EAAS,QAAQ;;;;;kBAIH,IAAI,KAAG,MAAM;oBAQZ,MAAM,KAAK,MAAM;oBAQjB,MAAM,KAAK,MAAM;EAMvC;AAED,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildContext = buildContext;
|
|
4
|
+
const combine_1 = require("../combine");
|
|
5
|
+
const baseCodes = {
|
|
6
|
+
fg: { open: 30, close: 39 },
|
|
7
|
+
bg: { open: 40, close: 49 },
|
|
8
|
+
};
|
|
9
|
+
function buildContext(keys, makeFormatter, style, colorDepth, channel) {
|
|
10
|
+
const { open, close } = baseCodes[channel];
|
|
11
|
+
const build = (open) => makeFormatter(keys, open, close);
|
|
12
|
+
const combine = (base, style) => makeFormatter(keys, (0, combine_1.combineCodes)(base.codes.open, style.codes.open), (0, combine_1.combineCodes)(base.codes.close, style.codes.close));
|
|
13
|
+
const bright = colorDepth >= 4 ? index => build(open + 60 + index) :
|
|
14
|
+
colorDepth === 3 ?
|
|
15
|
+
channel === "fg" ?
|
|
16
|
+
index => combine(style.bold, build(open + index)) :
|
|
17
|
+
index => build(open + index) :
|
|
18
|
+
() => build(0);
|
|
19
|
+
const x16ToX8 = channel === "fg" ?
|
|
20
|
+
code => code >= 60 ? combine(style.bold, build(open + code - 60)) : build(open + code) :
|
|
21
|
+
code => code >= 60 ? build(open + code - 60) : build(open + code);
|
|
22
|
+
return { colorDepth, channel, open, close, build, bright, x16ToX8 };
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/sgr/color/context.ts"],"names":[],"mappings":";;AAUA,oCA+BC;AAzCD,wCAAwC;AAKxC,MAAM,SAAS,GAAG;IACjB,EAAE,EAAE,EAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAC;IACzB,EAAE,EAAE,EAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAC;CACzB,CAAC;AAEF,SAAgB,YAAY,CAC3B,IAAqC,EACrC,aAA6B,EAC7B,KAAqB,EACrB,UAA0B,EAC1B,OAAwB;IAExB,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAEzC,MAAM,KAAK,GAAG,CAAC,IAAU,EAAU,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAEvE,MAAM,OAAO,GAAG,CAAC,IAAgB,EAAE,KAAiB,EAAU,EAAE,CAAC,aAAa,CAC7E,IAAI,EACJ,IAAA,sBAAY,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAChD,IAAA,sBAAY,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CACjD,CAAC;IAEF,MAAM,MAAM,GACX,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;QACrD,UAAU,KAAK,CAAC,CAAC,CAAC;YACjB,OAAO,KAAK,IAAI,CAAC,CAAC;gBACjB,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACnD,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;YAChC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEhB,MAAM,OAAO,GACZ,OAAO,KAAK,IAAI,CAAC,CAAC;QACjB,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAEpE,OAAO,EAAC,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAC,CAAC;AACnE,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Channel, Format } from "../types";
|
|
2
|
+
import type { Context } from "./context";
|
|
3
|
+
export declare function makeRGB(ctx: Context): Channel["rgb"];
|
|
4
|
+
export declare function makeX256(ctx: Context): (...args: [number] | [number, number, number]) => Format;
|
|
5
|
+
//# sourceMappingURL=rgb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rgb.d.ts","sourceRoot":"","sources":["../../../src/sgr/color/rgb.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,OAAO,EAAE,MAAM,EAAC,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAC,OAAO,EAAC,MAAc,WAAW,CAAC;AAE/C,wBAAgB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAapD;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CA2B/F"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeRGB = makeRGB;
|
|
4
|
+
exports.makeX256 = makeX256;
|
|
5
|
+
const utils_1 = require("./utils");
|
|
6
|
+
function makeRGB(ctx) {
|
|
7
|
+
const { colorDepth, channel, build, open, x16ToX8 } = ctx;
|
|
8
|
+
return (colorDepth >= 24 ? (r, g, b) => build([open + 8, 2, ...(0, utils_1.clip)(r, g, b)]) :
|
|
9
|
+
colorDepth >= 8 ? (r, g, b) => build([open + 8, 5, (0, utils_1.rgbToX256)(...(0, utils_1.clip)(r, g, b))]) :
|
|
10
|
+
colorDepth >= 4 ? (r, g, b) => build(open + (0, utils_1.rgbToX16)(...(0, utils_1.clip)(r, g, b))) :
|
|
11
|
+
colorDepth === 3 ?
|
|
12
|
+
channel === "fg" ?
|
|
13
|
+
(r, g, b) => x16ToX8((0, utils_1.rgbToX16)(...(0, utils_1.clip)(r, g, b))) :
|
|
14
|
+
(r, g, b) => build(open + (0, utils_1.rgbToX8)(...(0, utils_1.clip)(r, g, b))) :
|
|
15
|
+
() => build(0));
|
|
16
|
+
}
|
|
17
|
+
function makeX256(ctx) {
|
|
18
|
+
const { colorDepth, channel, build, open, x16ToX8 } = ctx;
|
|
19
|
+
return (colorDepth >= 8 ?
|
|
20
|
+
(...args) => build([open + 8, 5, args.length === 3 ? (0, utils_1.rgbToX256)(...(0, utils_1.clip)(...args)) : (0, utils_1.clip)(args[0])]) :
|
|
21
|
+
colorDepth >= 4 ?
|
|
22
|
+
(...args) => build(open +
|
|
23
|
+
(0, utils_1.rgbToX16)(...(args.length === 3 ? (0, utils_1.clip)(...args) : (0, utils_1.x256ToRgb)((0, utils_1.clip)(args[0]))))) :
|
|
24
|
+
colorDepth === 3 ?
|
|
25
|
+
channel === "fg" ?
|
|
26
|
+
(...args) => x16ToX8(args.length === 3 ?
|
|
27
|
+
(0, utils_1.rgbToX16)(...(0, utils_1.clip)(...args)) :
|
|
28
|
+
(0, utils_1.rgbToX16)(...(0, utils_1.x256ToRgb)((0, utils_1.clip)(args[0])))) :
|
|
29
|
+
(...args) => build(open + (0, utils_1.rgbToX8)(...args.length === 3 ? (0, utils_1.clip)(...args) : (0, utils_1.x256ToRgb)((0, utils_1.clip)(args[0])))) :
|
|
30
|
+
() => build(0));
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=rgb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rgb.js","sourceRoot":"","sources":["../../../src/sgr/color/rgb.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/sgr/color/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/sgr/color/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAajE;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAYhE;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAiBhE;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAM/D;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;AACxC,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC"}
|
package/dist/sgr/color/utils.js
CHANGED
|
@@ -6,8 +6,11 @@ exports.rgbToX16 = rgbToX16;
|
|
|
6
6
|
exports.rgbToX8 = rgbToX8;
|
|
7
7
|
exports.clip = clip;
|
|
8
8
|
function rgbToX256(r, g, b) {
|
|
9
|
-
if (r === g && g === b)
|
|
9
|
+
if (r === g && g === b) {
|
|
10
|
+
// grayscale
|
|
10
11
|
return 232 + Math.floor(r * 24 / 256);
|
|
12
|
+
}
|
|
13
|
+
// 6x6x6 color cube
|
|
11
14
|
return (16 +
|
|
12
15
|
Math.floor(r * 6 / 256) * 36 +
|
|
13
16
|
Math.floor(g * 6 / 256) * 6 +
|
|
@@ -15,6 +18,7 @@ function rgbToX256(r, g, b) {
|
|
|
15
18
|
}
|
|
16
19
|
function x256ToRgb(code) {
|
|
17
20
|
if (code >= 232) {
|
|
21
|
+
// grayscale
|
|
18
22
|
const gray = Math.round((code - 232) * 255 / 24);
|
|
19
23
|
return [gray, gray, gray];
|
|
20
24
|
}
|
|
@@ -25,13 +29,17 @@ function x256ToRgb(code) {
|
|
|
25
29
|
return [r, g, b];
|
|
26
30
|
}
|
|
27
31
|
function rgbToX16(r, g, b) {
|
|
32
|
+
// First calculate it as a 4x4x4 cube.
|
|
28
33
|
r = Math.min(2, Math.floor(r / 85));
|
|
29
34
|
g = Math.min(2, Math.floor(g / 85));
|
|
30
35
|
b = Math.min(2, Math.floor(b / 85));
|
|
36
|
+
// Which channels are "on" determines the hue (ANSI color index 0–7).
|
|
31
37
|
const index = (r ? 1 : 0) | (g ? 2 : 0) | (b ? 4 : 0);
|
|
38
|
+
// The bright bit is derived from the max channel level across all three.
|
|
32
39
|
const twos = (r === 2 ? 1 : 0) + (g === 2 ? 1 : 0) + (b === 2 ? 1 : 0);
|
|
33
40
|
const ones = (r === 1 ? 1 : 0) + (g === 1 ? 1 : 0) + (b === 1 ? 1 : 0);
|
|
34
41
|
const bright = twos > 0 && twos >= ones;
|
|
42
|
+
// Return value uses the SGR offset scheme: 0–7 for normal, 60–67 for bright.
|
|
35
43
|
return index + (bright ? 60 : 0);
|
|
36
44
|
}
|
|
37
45
|
function rgbToX8(r, g, b) {
|
|
@@ -41,9 +49,9 @@ function rgbToX8(r, g, b) {
|
|
|
41
49
|
return (r ? 1 : 0) | (g ? 2 : 0) | (b ? 4 : 0);
|
|
42
50
|
}
|
|
43
51
|
function clip(...args) {
|
|
44
|
-
return args.length === 1
|
|
45
|
-
|
|
46
|
-
|
|
52
|
+
return args.length === 1 ?
|
|
53
|
+
Math.max(0, Math.min(255, Math.floor(args[0]))) :
|
|
54
|
+
[
|
|
47
55
|
Math.max(0, Math.min(255, Math.floor(args[0]))),
|
|
48
56
|
Math.max(0, Math.min(255, Math.floor(args[1]))),
|
|
49
57
|
Math.max(0, Math.min(255, Math.floor(args[2]))),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/sgr/color/utils.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/sgr/color/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combine.d.ts","sourceRoot":"","sources":["../../src/sgr/combine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,SAAS,CAAC;AAElC,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAUzD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.combineCodes = combineCodes;
|
|
4
|
+
function combineCodes(base, code) {
|
|
5
|
+
const set = new Set(Array.isArray(base) ? [...base] : [base]);
|
|
6
|
+
if (Array.isArray(code)) {
|
|
7
|
+
for (const c of code)
|
|
8
|
+
set.add(c);
|
|
9
|
+
}
|
|
10
|
+
else
|
|
11
|
+
set.add(code);
|
|
12
|
+
return [...set];
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=combine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combine.js","sourceRoot":"","sources":["../../src/sgr/combine.ts"],"names":[],"mappings":";;AAEA,oCAUC;AAVD,SAAgB,YAAY,CAAC,IAAU,EAAE,IAAU;IAClD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAE9D,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,IAAI;YACnB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACb,CAAC;;QACA,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAEf,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-builder.d.ts","sourceRoot":"","sources":["../../src/sgr/format-builder.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,YAAY,EAAsC,aAAa,EAAC,MAAM,SAAS,CAAC;AAY7F,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,UAAO,GAAG,aAAa,CA+BxF"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeFormatBuilder = makeFormatBuilder;
|
|
4
|
+
const props_1 = require("@peteanderson/props");
|
|
5
|
+
const lazy_1 = require("./lazy");
|
|
6
|
+
const codeSequence = (code) => Array.isArray(code) ? code.join(';') : code;
|
|
7
|
+
const chain = (makeChain, keys, baseFormat) => !keys.size
|
|
8
|
+
? baseFormat
|
|
9
|
+
: lazy_1.lazy.add(baseFormat, "and", () => makeChain(keys, baseFormat));
|
|
10
|
+
function makeFormatBuilder(makeChain, enabled = true) {
|
|
11
|
+
if (enabled) {
|
|
12
|
+
return (keys, open, close, reset) => {
|
|
13
|
+
const openCode = codeSequence(open);
|
|
14
|
+
const closeCode = codeSequence(close);
|
|
15
|
+
const openSequence = `\x1b[${openCode}m`;
|
|
16
|
+
const closeSequence = `\x1b[${closeCode}m`;
|
|
17
|
+
const reopenCode = reset ? `${closeCode};${openCode}` : openCode;
|
|
18
|
+
const rxClose = new RegExp(`(?<start>\\x1b\\[(?:\\d+;)*)${closeCode}(?<end>(?:;\\d+)*m)`, "g");
|
|
19
|
+
const replace = `$<start>${reopenCode}$<end>`;
|
|
20
|
+
return chain(makeChain, keys, (0, props_1.define)((s) => s ? openSequence + s.replace(rxClose, replace) + closeSequence : s, {
|
|
21
|
+
open: { value: openSequence, enumerable: true },
|
|
22
|
+
close: { value: closeSequence, enumerable: true },
|
|
23
|
+
codes: { value: { open, close }, enumerable: true },
|
|
24
|
+
}));
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
return keys => chain(makeChain, keys, (0, props_1.define)((s) => s, {
|
|
28
|
+
open: { value: "", enumerable: true },
|
|
29
|
+
close: { value: "", enumerable: true },
|
|
30
|
+
codes: { value: { open: [], close: [] }, enumerable: true },
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=format-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-builder.js","sourceRoot":"","sources":["../../src/sgr/format-builder.ts"],"names":[],"mappings":";;AAeA,8CA+BC;AA9CD,+CAA2C;AAC3C,iCAA8B;AAI9B,MAAM,YAAY,GAAG,CAAC,IAAU,EAAmB,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAElG,MAAM,KAAK,GAAG,CACb,SAAyB,EACzB,IAA8B,EAC9B,UAAuB,EACR,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;IAC5B,CAAC,CAAC,UAA0B;IAC5B,CAAC,CAAC,WAAI,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;AAElE,SAAgB,iBAAiB,CAAC,SAAuB,EAAE,OAAO,GAAG,IAAI;IACxE,IAAI,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACnC,MAAM,QAAQ,GAAQ,YAAY,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,SAAS,GAAO,YAAY,CAAC,KAAK,CAAC,CAAC;YAC1C,MAAM,YAAY,GAAI,QAAQ,QAAQ,GAAG,CAAC;YAC1C,MAAM,aAAa,GAAG,QAAQ,SAAS,GAAG,CAAC;YAC3C,MAAM,UAAU,GAAM,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;YAEpE,MAAM,OAAO,GAAG,IAAI,MAAM,CACzB,+BAA+B,SAAS,qBAAqB,EAC7D,GAAG,CACH,CAAC;YACF,MAAM,OAAO,GAAG,WAAW,UAAU,QAAQ,CAAC;YAE9C,OAAO,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAA,cAAM,EACnC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,EACjF;gBACC,IAAI,EAAI,EAAC,KAAK,EAAE,YAAY,EAAG,UAAU,EAAE,IAAI,EAAC;gBAChD,KAAK,EAAG,EAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAC;gBAChD,KAAK,EAAG,EAAC,KAAK,EAAE,EAAC,IAAI,EAAE,KAAK,EAAC,EAAE,UAAU,EAAE,IAAI,EAAC;aAChD,CACD,CAAC,CAAC;QACJ,CAAC,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAA,cAAM,EAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,EAAE;QAC9D,IAAI,EAAI,EAAC,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAC;QACrC,KAAK,EAAG,EAAC,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAC;QACrC,KAAK,EAAG,EAAC,KAAK,EAAE,EAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAC,EAAE,UAAU,EAAE,IAAI,EAAC;KACxD,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/sgr/index.d.ts
CHANGED
package/dist/sgr/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sgr/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sgr/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AAEtB,OAAO,EAAC,GAAG,EAAC,MAAM,SAAS,CAAC"}
|
package/dist/sgr/index.js
CHANGED
|
@@ -14,7 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./
|
|
18
|
-
__exportStar(require("./style"), exports);
|
|
19
|
-
__exportStar(require("./color"), exports);
|
|
17
|
+
__exportStar(require("./sgr"), exports);
|
|
20
18
|
//# sourceMappingURL=index.js.map
|
package/dist/sgr/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sgr/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sgr/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { GetterProperty } from "@peteanderson/props";
|
|
2
|
+
export declare function lazy<K extends keyof any, V>(key: K, get: () => V): GetterProperty<V>;
|
|
3
|
+
export declare namespace lazy {
|
|
4
|
+
var add: <T extends object, K extends keyof any, V>(obj: T, key: K, get: () => V) => T & { [k in K]: V; };
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=lazy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../src/sgr/lazy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAExD,wBAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAUpF;yBAVe,IAAI;cAYR,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,GAAG,EAAE,CAAC,OAC7C,CAAC,OACD,CAAC,OACD,MAAM,CAAC,KACX,CAAC,GAAG,GAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAC"}
|
package/dist/sgr/lazy.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.lazy = lazy;
|
|
4
|
+
const props_1 = require("@peteanderson/props");
|
|
5
|
+
function lazy(key, get) {
|
|
6
|
+
return {
|
|
7
|
+
get() {
|
|
8
|
+
const value = get();
|
|
9
|
+
(0, props_1.define)(this, key, { value, enumerable: true });
|
|
10
|
+
return value;
|
|
11
|
+
},
|
|
12
|
+
enumerable: true,
|
|
13
|
+
configurable: true,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
lazy.add = (obj, key, get) => (0, props_1.define)(obj, key, lazy(key, get));
|
|
17
|
+
//# sourceMappingURL=lazy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lazy.js","sourceRoot":"","sources":["../../src/sgr/lazy.ts"],"names":[],"mappings":";;AAIA,oBAUC;AAdD,+CAA2C;AAI3C,SAAgB,IAAI,CAAyB,GAAM,EAAE,GAAY;IAChE,OAAO;QACN,GAAG;YACF,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC;YACpB,IAAA,cAAM,EAAC,IAAI,EAAE,GAAG,EAAE,EAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAC,CAAC,CAAC;YAC7C,OAAO,KAAK,CAAC;QACd,CAAC;QACD,UAAU,EAAK,IAAI;QACnB,YAAY,EAAG,IAAI;KACnB,CAAC;AACH,CAAC;AAED,IAAI,CAAC,GAAG,GAAG,CACV,GAAO,EACP,GAAO,EACP,GAAa,EACO,EAAE,CAAC,IAAA,cAAM,EAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC"}
|
package/dist/sgr/sgr.d.ts
CHANGED
|
@@ -1,15 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
open: string;
|
|
5
|
-
close: string;
|
|
6
|
-
codes: {
|
|
7
|
-
open: Code;
|
|
8
|
-
close: Code;
|
|
9
|
-
};
|
|
10
|
-
combine: (...styles: SGR[]) => SGR;
|
|
11
|
-
}
|
|
12
|
-
declare function sgr(open: Code, close: Code, reset?: boolean): SGR;
|
|
13
|
-
export declare const makeSGR: (enabled?: boolean) => typeof sgr;
|
|
14
|
-
export {};
|
|
1
|
+
import type { Features } from "../features";
|
|
2
|
+
import type { SGR } from "./types";
|
|
3
|
+
export declare function makeSGR(features: Features): SGR;
|
|
15
4
|
//# sourceMappingURL=sgr.d.ts.map
|
package/dist/sgr/sgr.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sgr.d.ts","sourceRoot":"","sources":["../../src/sgr/sgr.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sgr.d.ts","sourceRoot":"","sources":["../../src/sgr/sgr.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAa,QAAQ,EAAC,MAAiC,aAAa,CAAC;AACjF,OAAO,KAAK,EAA6C,GAAG,EAAC,MAAM,SAAS,CAAC;AAsB7E,wBAAgB,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAyC/C"}
|
package/dist/sgr/sgr.js
CHANGED
|
@@ -1,43 +1,50 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.makeSGR =
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
3
|
+
exports.makeSGR = makeSGR;
|
|
4
|
+
const typed_object_1 = require("../typed-object");
|
|
5
|
+
const color_1 = require("./color");
|
|
6
|
+
const combine_1 = require("./combine");
|
|
7
|
+
const format_builder_1 = require("./format-builder");
|
|
8
|
+
const reset_1 = require("./reset");
|
|
9
|
+
const style_1 = require("./style");
|
|
10
|
+
const keyMap = {
|
|
11
|
+
fg: undefined,
|
|
12
|
+
bg: undefined,
|
|
13
|
+
bold: undefined,
|
|
14
|
+
dim: undefined,
|
|
15
|
+
italic: undefined,
|
|
16
|
+
underline: undefined,
|
|
17
|
+
inverse: undefined,
|
|
18
|
+
hidden: undefined,
|
|
19
|
+
strikethrough: undefined,
|
|
20
|
+
doubleUnderline: undefined,
|
|
21
|
+
frame: undefined,
|
|
22
|
+
encircle: undefined,
|
|
23
|
+
overline: undefined,
|
|
24
|
+
};
|
|
25
|
+
const allKeys = new Set(typed_object_1.TypedObject.keys(keyMap));
|
|
26
|
+
const cache = {};
|
|
27
|
+
function makeSGR(features) {
|
|
28
|
+
const cacheKey = `${features.colorDepth}.${features.style}`;
|
|
29
|
+
if (cache[cacheKey])
|
|
30
|
+
return cache[cacheKey];
|
|
31
|
+
const colorFormat = (0, format_builder_1.makeFormatBuilder)(makeChain, features.colorDepth > 1);
|
|
32
|
+
const styleFormat = (0, format_builder_1.makeFormatBuilder)(makeChain, features.style);
|
|
33
|
+
const style = (0, style_1.makeStyle)(allKeys, styleFormat, features.style);
|
|
34
|
+
function makeChain(keys, baseFormat) {
|
|
35
|
+
const chainedColorFormat = (keys, open, close, reset) => colorFormat(keys, (0, combine_1.combineCodes)(baseFormat.codes.open, open), (0, combine_1.combineCodes)(baseFormat.codes.close, close), reset);
|
|
36
|
+
const chainedStyleFormat = (keys, open, close, reset) => styleFormat(keys, (0, combine_1.combineCodes)(baseFormat.codes.open, open), (0, combine_1.combineCodes)(baseFormat.codes.close, close), reset);
|
|
37
|
+
return /** @type {Chain<any>} */ ({
|
|
38
|
+
...(0, color_1.makeColor)(keys, chainedColorFormat, style, features.colorDepth),
|
|
39
|
+
...(0, style_1.makeStyle)(keys, chainedStyleFormat, features.style),
|
|
40
|
+
});
|
|
13
41
|
}
|
|
42
|
+
const rtn = {
|
|
43
|
+
...(0, color_1.makeColor)(allKeys, colorFormat, style, features.colorDepth),
|
|
44
|
+
style,
|
|
45
|
+
reset: (0, reset_1.makeReset)(features.colorDepth > 1 || features.style),
|
|
46
|
+
};
|
|
47
|
+
cache[cacheKey] = rtn;
|
|
14
48
|
return rtn;
|
|
15
49
|
}
|
|
16
|
-
const codeSequence = (code) => Array.isArray(code) ? code.join(";") : code;
|
|
17
|
-
function sgr(open, close, reset = false) {
|
|
18
|
-
const openCode = codeSequence(open);
|
|
19
|
-
const closeCode = codeSequence(close);
|
|
20
|
-
const openSequence = `\x1b[${openCode}m`;
|
|
21
|
-
const closeSequence = `\x1b[${closeCode}m`;
|
|
22
|
-
const reopenCode = reset ? `${closeCode};${openCode}` : openCode;
|
|
23
|
-
const rxClose = new RegExp(`(?<start>\\x1b\\[(?:\\d+;)*)${closeCode}(?<end>(?:;\\d+)*m)`, "g");
|
|
24
|
-
const replace = `$<start>${reopenCode}$<end>`;
|
|
25
|
-
const func = (s) => s ? openSequence + s.replace(rxClose, replace) + closeSequence : s;
|
|
26
|
-
return Object.assign(func, {
|
|
27
|
-
codes: { open, close },
|
|
28
|
-
open: openSequence,
|
|
29
|
-
close: closeSequence,
|
|
30
|
-
combine: (...styles) => sgr(combine(open, styles.map(s => s.codes.open)), combine(close, styles.map(s => s.codes.close))),
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
let disabledSGR = null;
|
|
34
|
-
disabledSGR = Object.assign((s) => s, {
|
|
35
|
-
codes: { open: 0, close: 0 },
|
|
36
|
-
open: "",
|
|
37
|
-
close: "",
|
|
38
|
-
combine: () => disabledSGR,
|
|
39
|
-
});
|
|
40
|
-
const disabled = () => disabledSGR;
|
|
41
|
-
const makeSGR = (enabled = true) => enabled ? sgr : disabled;
|
|
42
|
-
exports.makeSGR = makeSGR;
|
|
43
50
|
//# sourceMappingURL=sgr.js.map
|
package/dist/sgr/sgr.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sgr.js","sourceRoot":"","sources":["../../src/sgr/sgr.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sgr.js","sourceRoot":"","sources":["../../src/sgr/sgr.ts"],"names":[],"mappings":";;AA8BA,0BAyCC;AAvED,kDAAkD;AAClD,mCAA0C;AAC1C,uCAA4C;AAC5C,qDAAmD;AACnD,mCAA0C;AAC1C,mCAA0C;AAK1C,MAAM,MAAM,GAAgC;IAC3C,EAAE,EAAgB,SAAS;IAC3B,EAAE,EAAgB,SAAS;IAC3B,IAAI,EAAc,SAAS;IAC3B,GAAG,EAAe,SAAS;IAC3B,MAAM,EAAY,SAAS;IAC3B,SAAS,EAAS,SAAS;IAC3B,OAAO,EAAW,SAAS;IAC3B,MAAM,EAAY,SAAS;IAC3B,aAAa,EAAK,SAAS;IAC3B,eAAe,EAAG,SAAS;IAC3B,KAAK,EAAa,SAAS;IAC3B,QAAQ,EAAU,SAAS;IAC3B,QAAQ,EAAU,SAAS;CAC3B,CAAC;AAEF,MAAM,OAAO,GAA0B,IAAI,GAAG,CAAC,0BAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAEzE,MAAM,KAAK,GAAqD,EAAE,CAAC;AAEnE,SAAgB,OAAO,CAAC,QAAkB;IACzC,MAAM,QAAQ,GAAG,GAAG,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,KAAK,EAAW,CAAC;IACrE,IAAI,KAAK,CAAC,QAAQ,CAAC;QAClB,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;IAExB,MAAM,WAAW,GAAG,IAAA,kCAAiB,EAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IAC1E,MAAM,WAAW,GAAG,IAAA,kCAAiB,EAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjE,MAAM,KAAK,GAAS,IAAA,iBAAS,EAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpE,SAAS,SAAS,CACjB,IAA8B,EAC9B,UAAuB;QAEvB,MAAM,kBAAkB,GAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAClF,IAAI,EACJ,IAAA,sBAAY,EAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EACzC,IAAA,sBAAY,EAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,EAC3C,KAAK,CACL,CAAC;QACF,MAAM,kBAAkB,GAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAClF,IAAI,EACJ,IAAA,sBAAY,EAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EACzC,IAAA,sBAAY,EAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,EAC3C,KAAK,CACL,CAAC;QAEF,OAAO,yBAAyB,CAAA,CAAC;YAChC,GAAG,IAAA,iBAAS,EAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC;YAClE,GAAG,IAAA,iBAAS,EAAC,IAAI,EAAE,kBAAkB,EAAE,QAAQ,CAAC,KAAK,CAAC;SACtD,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAQ;QAChB,GAAG,IAAA,iBAAS,EAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC;QAC9D,KAAK;QACL,KAAK,EAAE,IAAA,iBAAS,EAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC;KAC3D,CAAC;IAEF,KAAK,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;IAEtB,OAAO,GAAG,CAAC;AACZ,CAAC"}
|
package/dist/sgr/style.d.ts
CHANGED
|
@@ -1,15 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
dim: import("./sgr").SGR;
|
|
4
|
-
italic: import("./sgr").SGR;
|
|
5
|
-
underline: import("./sgr").SGR;
|
|
6
|
-
inverse: import("./sgr").SGR;
|
|
7
|
-
hidden: import("./sgr").SGR;
|
|
8
|
-
strikethrough: import("./sgr").SGR;
|
|
9
|
-
doubleUnderline: import("./sgr").SGR;
|
|
10
|
-
frame: import("./sgr").SGR;
|
|
11
|
-
encircle: import("./sgr").SGR;
|
|
12
|
-
overline: import("./sgr").SGR;
|
|
13
|
-
};
|
|
14
|
-
export type Style = ReturnType<typeof makeStyle>;
|
|
1
|
+
import type { ChainKey, FormatBuilder, Style } from "./types";
|
|
2
|
+
export declare function makeStyle(keys: ReadonlySet<ChainKey>, makeFormatter: FormatBuilder, enabled: boolean): Style<any>;
|
|
15
3
|
//# sourceMappingURL=style.d.ts.map
|
package/dist/sgr/style.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../src/sgr/style.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../src/sgr/style.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAC,MAAM,SAAS,CAAC;AAgB5D,wBAAgB,SAAS,CACxB,IAAI,EAAY,WAAW,CAAC,QAAQ,CAAC,EACrC,aAAa,EAAG,aAAa,EAC7B,OAAO,EAAS,OAAO,GACrB,KAAK,CAAC,GAAG,CAAC,CAcZ"}
|