@peteanderson/ansi 2.2.0 → 2.3.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 +12 -0
- package/dist/cjs/sgr/color/context.d.ts.map +1 -1
- package/dist/cjs/sgr/color/context.js +4 -2
- package/dist/cjs/sgr/color/context.js.map +1 -1
- package/dist/cjs/sgr/color/rgb.js +2 -2
- package/dist/cjs/sgr/color/rgb.js.map +1 -1
- package/dist/cjs/sgr/combine.d.ts +1 -1
- package/dist/cjs/sgr/combine.d.ts.map +1 -1
- package/dist/cjs/sgr/combine.js +3 -12
- package/dist/cjs/sgr/combine.js.map +1 -1
- package/dist/cjs/sgr/format-builder.d.ts +1 -1
- package/dist/cjs/sgr/format-builder.d.ts.map +1 -1
- package/dist/cjs/sgr/format-builder.js +25 -29
- package/dist/cjs/sgr/format-builder.js.map +1 -1
- package/dist/cjs/sgr/sgr.d.ts.map +1 -1
- package/dist/cjs/sgr/sgr.js +9 -10
- package/dist/cjs/sgr/sgr.js.map +1 -1
- package/dist/cjs/sgr/style.d.ts.map +1 -1
- package/dist/cjs/sgr/style.js +1 -1
- package/dist/cjs/sgr/style.js.map +1 -1
- package/dist/cjs/sgr/types.d.ts +1 -0
- package/dist/cjs/sgr/types.d.ts.map +1 -1
- package/dist/cjs/simplify/lookup.d.ts +1 -1
- package/dist/cjs/simplify/lookup.d.ts.map +1 -1
- package/dist/cjs/simplify/lookup.js.map +1 -1
- package/dist/cjs/simplify/state.d.ts +2 -2
- package/dist/cjs/simplify/state.d.ts.map +1 -1
- package/dist/cjs/simplify/state.js.map +1 -1
- package/dist/cjs/simplify/types.d.ts +3 -3
- package/dist/cjs/simplify/types.d.ts.map +1 -1
- package/dist/cjs/simplify/utils.d.ts +2 -2
- package/dist/cjs/simplify/utils.d.ts.map +1 -1
- package/dist/cjs/simplify/utils.js.map +1 -1
- package/dist/esm/sgr/color/context.d.ts.map +1 -1
- package/dist/esm/sgr/color/context.js +4 -2
- package/dist/esm/sgr/color/context.js.map +1 -1
- package/dist/esm/sgr/color/rgb.js +2 -2
- package/dist/esm/sgr/color/rgb.js.map +1 -1
- package/dist/esm/sgr/combine.d.ts +1 -1
- package/dist/esm/sgr/combine.d.ts.map +1 -1
- package/dist/esm/sgr/combine.js +2 -12
- package/dist/esm/sgr/combine.js.map +1 -1
- package/dist/esm/sgr/format-builder.d.ts +1 -1
- package/dist/esm/sgr/format-builder.d.ts.map +1 -1
- package/dist/esm/sgr/format-builder.js +23 -28
- package/dist/esm/sgr/format-builder.js.map +1 -1
- package/dist/esm/sgr/sgr.d.ts.map +1 -1
- package/dist/esm/sgr/sgr.js +9 -10
- package/dist/esm/sgr/sgr.js.map +1 -1
- package/dist/esm/sgr/style.d.ts.map +1 -1
- package/dist/esm/sgr/style.js +1 -1
- package/dist/esm/sgr/style.js.map +1 -1
- package/dist/esm/sgr/types.d.ts +1 -0
- package/dist/esm/sgr/types.d.ts.map +1 -1
- package/dist/esm/simplify/lookup.d.ts +1 -1
- package/dist/esm/simplify/lookup.d.ts.map +1 -1
- package/dist/esm/simplify/lookup.js.map +1 -1
- package/dist/esm/simplify/state.d.ts +2 -2
- package/dist/esm/simplify/state.d.ts.map +1 -1
- package/dist/esm/simplify/state.js.map +1 -1
- package/dist/esm/simplify/types.d.ts +3 -3
- package/dist/esm/simplify/types.d.ts.map +1 -1
- package/dist/esm/simplify/utils.d.ts +2 -2
- package/dist/esm/simplify/utils.d.ts.map +1 -1
- package/dist/esm/simplify/utils.js.map +1 -1
- package/package.json +1 -1
- package/src/sgr/color/context.ts +4 -2
- package/src/sgr/color/rgb.ts +2 -2
- package/src/sgr/combine.ts +4 -13
- package/src/sgr/format-builder.ts +36 -40
- package/src/sgr/sgr.ts +10 -16
- package/src/sgr/style.ts +3 -3
- package/src/sgr/types.ts +1 -0
- package/src/simplify/lookup.ts +1 -1
- package/src/simplify/state.ts +4 -4
- package/src/simplify/types.ts +3 -3
- package/src/simplify/utils.ts +5 -2
|
@@ -1,36 +1,31 @@
|
|
|
1
1
|
import { define } from "@peteanderson/props";
|
|
2
2
|
import { combineCodes } from "./combine.js";
|
|
3
3
|
import { lazy } from "./lazy.js";
|
|
4
|
-
const codeSequence = (code) => Array.isArray(code)
|
|
4
|
+
const codeSequence = (code) => Array.isArray(code)
|
|
5
|
+
? code.map(c => c ? c : "").join(';')
|
|
6
|
+
: code ? code : "";
|
|
5
7
|
const chain = (makeChain, keys, baseFormat) => !keys.size
|
|
6
8
|
? baseFormat
|
|
7
9
|
: lazy.add(baseFormat, "and", () => makeChain(keys, baseFormat));
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
return keys => chain(makeChain, keys, define((s) => s, {
|
|
30
|
-
open: { value: "", enumerable: true },
|
|
31
|
-
close: { value: "", enumerable: true },
|
|
32
|
-
codes: { value: { open: [], close: [] }, enumerable: true },
|
|
33
|
-
combine: { value() { return this; }, enumerable: true },
|
|
10
|
+
export const makeFormatBuilder = (makeChain) => function format(keys, open, close, reset) {
|
|
11
|
+
const empty = Array.isArray(open) && !open.length;
|
|
12
|
+
const openCode = empty ? "" : codeSequence(open);
|
|
13
|
+
const closeCode = empty ? "" : codeSequence(close);
|
|
14
|
+
const openSequence = empty ? "" : `\x1b[${openCode}m`;
|
|
15
|
+
const closeSequence = empty ? "" : `\x1b[${closeCode}m`;
|
|
16
|
+
const reopenCode = reset && !empty ? `${closeCode};${openCode}` : openCode;
|
|
17
|
+
const rxClose = new RegExp(`(?<start>\\x1b\\[(?:\\d+;)*)${closeCode}(?<end>(?:;\\d+)*m)`, "g");
|
|
18
|
+
const replace = `$<start>${reopenCode}$<end>`;
|
|
19
|
+
return chain(makeChain, keys, define(empty
|
|
20
|
+
? (s) => s
|
|
21
|
+
: (s) => s ? openSequence + s.replace(rxClose, replace) + closeSequence : s, {
|
|
22
|
+
open: { value: openSequence, enumerable: true },
|
|
23
|
+
close: { value: closeSequence, enumerable: true },
|
|
24
|
+
codes: { value: { open, close }, enumerable: true },
|
|
25
|
+
combine: {
|
|
26
|
+
value: (...formats) => format(keys, combineCodes(open, ...formats.map(f => f.codes.open)), combineCodes(close, ...formats.map(f => f.codes.close)), reset),
|
|
27
|
+
enumerable: true,
|
|
28
|
+
},
|
|
34
29
|
}));
|
|
35
|
-
}
|
|
30
|
+
};
|
|
36
31
|
//# sourceMappingURL=format-builder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-builder.js","sourceRoot":"","sources":["../../../src/sgr/format-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAY,qBAAqB,CAAC;AACjD,OAAO,EAAC,YAAY,EAAC,MAAM,WAAW,CAAC;AACvC,OAAO,EAAC,IAAI,EAAC,MAAc,QAAQ,CAAC;AAIpC,MAAM,YAAY,GAAG,CAAC,IAAU,EAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"format-builder.js","sourceRoot":"","sources":["../../../src/sgr/format-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,CAmC/C"}
|
package/dist/esm/sgr/sgr.js
CHANGED
|
@@ -25,20 +25,19 @@ export function makeSGR(features) {
|
|
|
25
25
|
const cacheKey = `${features.colorDepth}.${features.style}`;
|
|
26
26
|
if (cache[cacheKey])
|
|
27
27
|
return cache[cacheKey];
|
|
28
|
-
const
|
|
29
|
-
const
|
|
30
|
-
const style = makeStyle(allKeys, styleFormat, features.style);
|
|
28
|
+
const makeFormat = makeFormatBuilder(makeChain);
|
|
29
|
+
const style = makeStyle(allKeys, makeFormat, features.style);
|
|
31
30
|
function makeChain(keys, baseFormat) {
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
...
|
|
36
|
-
|
|
37
|
-
});
|
|
31
|
+
const makeChainedFormat = (keys, open, close, reset) => makeFormat(keys, combineCodes(baseFormat.codes.open, open), combineCodes(baseFormat.codes.close, close), reset);
|
|
32
|
+
return {
|
|
33
|
+
...makeColor(keys, makeChainedFormat, style, features.colorDepth),
|
|
34
|
+
...makeStyle(keys, makeChainedFormat, features.style),
|
|
35
|
+
};
|
|
38
36
|
}
|
|
39
37
|
const rtn = {
|
|
40
|
-
...makeColor(allKeys,
|
|
38
|
+
...makeColor(allKeys, makeFormat, style, features.colorDepth),
|
|
41
39
|
style,
|
|
40
|
+
plain: makeFormat(allKeys, [], []),
|
|
42
41
|
reset: makeReset(features.colorDepth > 1 || features.style),
|
|
43
42
|
};
|
|
44
43
|
cache[cacheKey] = rtn;
|
package/dist/esm/sgr/sgr.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sgr.js","sourceRoot":"","sources":["../../../src/sgr/sgr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAY,iBAAiB,CAAC;AAClD,OAAO,EAAC,SAAS,EAAC,MAAc,SAAS,CAAC;AAC1C,OAAO,EAAC,YAAY,EAAC,MAAW,WAAW,CAAC;AAC5C,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAC,SAAS,EAAC,MAAc,SAAS,CAAC;AAC1C,OAAO,EAAC,SAAS,EAAC,MAAc,SAAS,CAAC;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,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAEzE,MAAM,KAAK,GAAqD,EAAE,CAAC;AAEnE,MAAM,UAAU,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,
|
|
1
|
+
{"version":3,"file":"sgr.js","sourceRoot":"","sources":["../../../src/sgr/sgr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAY,iBAAiB,CAAC;AAClD,OAAO,EAAC,SAAS,EAAC,MAAc,SAAS,CAAC;AAC1C,OAAO,EAAC,YAAY,EAAC,MAAW,WAAW,CAAC;AAC5C,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAC,SAAS,EAAC,MAAc,SAAS,CAAC;AAC1C,OAAO,EAAC,SAAS,EAAC,MAAc,SAAS,CAAC;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,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAEzE,MAAM,KAAK,GAAqD,EAAE,CAAC;AAEnE,MAAM,UAAU,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,UAAU,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,KAAK,GAAQ,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElE,SAAS,SAAS,CACjB,IAA8B,EAC9B,UAAuB;QAEvB,MAAM,iBAAiB,GAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,CAChF,IAAI,EACJ,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EACzC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,EAC3C,KAAK,CACL,CAAC;QAEF,OAAO;YACN,GAAG,SAAS,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC;YACjE,GAAG,SAAS,CAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC;SACrD,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAQ;QAChB,GAAG,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC;QAC7D,KAAK;QACL,KAAK,EAAG,UAAU,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC;QACnC,KAAK,EAAG,SAAS,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC;KAC5D,CAAC;IAEF,KAAK,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;IAEtB,OAAO,GAAG,CAAC;AACZ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../../src/sgr/style.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../../src/sgr/style.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAW,MAAM,SAAS,CAAC;AAgBtE,wBAAgB,SAAS,CACxB,IAAI,EAAY,WAAW,CAAC,QAAQ,CAAC,EACrC,aAAa,EAAG,aAAa,EAC7B,OAAO,EAAS,OAAO,GACrB,KAAK,CAAC,GAAG,CAAC,CAcZ"}
|
package/dist/esm/sgr/style.js
CHANGED
|
@@ -20,7 +20,7 @@ export function makeStyle(keys, makeFormatter, enabled) {
|
|
|
20
20
|
lazy.add(rtn, key, () => {
|
|
21
21
|
const newKeys = new Set(keys);
|
|
22
22
|
newKeys.delete(key);
|
|
23
|
-
return enabled ? makeFormatter(newKeys, ...args) : makeFormatter(newKeys,
|
|
23
|
+
return enabled ? makeFormatter(newKeys, ...args) : makeFormatter(newKeys, [], []);
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.js","sourceRoot":"","sources":["../../../src/sgr/style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,IAAI,EAAC,MAAa,QAAQ,CAAC;AAInC,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"style.js","sourceRoot":"","sources":["../../../src/sgr/style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,IAAI,EAAC,MAAa,QAAQ,CAAC;AAInC,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAyD;IAC9F,IAAI,EAAc,CAAE,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC;IAChC,GAAG,EAAe,CAAE,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC;IAChC,MAAM,EAAY,CAAE,CAAC,EAAE,EAAE,CAAC;IAC1B,SAAS,EAAS,CAAE,CAAC,EAAE,EAAE,CAAC;IAC1B,OAAO,EAAW,CAAE,CAAC,EAAE,EAAE,CAAC;IAC1B,MAAM,EAAY,CAAE,CAAC,EAAE,EAAE,CAAC;IAC1B,aAAa,EAAK,CAAE,CAAC,EAAE,EAAE,CAAC;IAC1B,eAAe,EAAG,CAAC,EAAE,EAAE,EAAE,CAAC;IAC1B,KAAK,EAAa,CAAC,EAAE,EAAE,EAAE,CAAC;IAC1B,QAAQ,EAAU,CAAC,EAAE,EAAE,EAAE,CAAC;IAC1B,QAAQ,EAAU,CAAC,EAAE,EAAE,EAAE,CAAC;CAC1B,CAAC,CAAC;AAEH,MAAM,UAAU,SAAS,CACxB,IAAqC,EACrC,aAA6B,EAC7B,OAAuB;IAEvB,MAAM,GAAG,GAAG,EAAgB,CAAC;IAE7B,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,UAAU,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;gBACvB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC9B,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACpB,OAAO,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACnF,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,OAAO,GAAG,CAAC;AACZ,CAAC"}
|
package/dist/esm/sgr/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/sgr/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/sgr/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { Atom, AttributeMap } from "./types.js";
|
|
2
|
-
export declare function lookUpAtom(codes: number[], index: number, state: AttributeMap): Atom;
|
|
2
|
+
export declare function lookUpAtom(codes: readonly number[], index: number, state: AttributeMap): Atom;
|
|
3
3
|
//# sourceMappingURL=lookup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lookup.d.ts","sourceRoot":"","sources":["../../../src/simplify/lookup.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,IAAI,EAAa,YAAY,EAAY,MAAM,SAAS,CAAC;AA6DtE,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"lookup.d.ts","sourceRoot":"","sources":["../../../src/simplify/lookup.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,IAAI,EAAa,YAAY,EAAY,MAAM,SAAS,CAAC;AA6DtE,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAa7F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lookup.js","sourceRoot":"","sources":["../../../src/simplify/lookup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,sBAAsB,EAAE,kBAAkB,EAAC,MAAM,QAAQ,CAAC;AAIlE,MAAM,OAAO,GAAkE;IAC9E,CAAC,EAAK,CAAC,OAAO,CAAC;IACf,CAAC,EAAK,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACvC,CAAC,EAAK,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACvC,CAAC,EAAK,CAAC,QAAQ,CAAC;IAChB,CAAC,EAAK,CAAC,WAAW,CAAC;IACnB,CAAC,EAAK,CAAC,SAAS,CAAC;IACjB,CAAC,EAAK,CAAC,QAAQ,CAAC;IAChB,CAAC,EAAK,CAAC,eAAe,CAAC;IACvB,EAAE,EAAI,CAAC,WAAW,CAAC;IACnB,EAAE,EAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACvC,EAAE,EAAI,CAAC,QAAQ,CAAC;IAChB,EAAE,EAAI,CAAC,WAAW,CAAC;IACnB,EAAE,EAAI,CAAC,SAAS,CAAC;IACjB,EAAE,EAAI,CAAC,QAAQ,CAAC;IAChB,EAAE,EAAI,CAAC,eAAe,CAAC;IACvB,EAAE,EAAI,CAAC,IAAI,CAAC;IACZ,EAAE,EAAI,CAAC,IAAI,CAAC;IACZ,EAAE,EAAI,CAAC,IAAI,CAAC;IACZ,EAAE,EAAI,CAAC,IAAI,CAAC;IACZ,EAAE,EAAI,CAAC,IAAI,CAAC;IACZ,EAAE,EAAI,CAAC,IAAI,CAAC;IACZ,EAAE,EAAI,CAAC,IAAI,CAAC;IACZ,EAAE,EAAI,CAAC,IAAI,CAAC;IACZ,EAAE,EAAI,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACpC,EAAE,EAAI,CAAC,IAAI,CAAC;IACZ,EAAE,EAAI,CAAC,IAAI,CAAC;IACZ,EAAE,EAAI,CAAC,IAAI,CAAC;IACZ,EAAE,EAAI,CAAC,IAAI,CAAC;IACZ,EAAE,EAAI,CAAC,IAAI,CAAC;IACZ,EAAE,EAAI,CAAC,IAAI,CAAC;IACZ,EAAE,EAAI,CAAC,IAAI,CAAC;IACZ,EAAE,EAAI,CAAC,IAAI,CAAC;IACZ,EAAE,EAAI,CAAC,IAAI,CAAC;IACZ,EAAE,EAAI,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACpC,EAAE,EAAI,CAAC,IAAI,CAAC;IACZ,EAAE,EAAI,CAAC,OAAO,CAAC;IACf,EAAE,EAAI,CAAC,OAAO,CAAC;IACf,EAAE,EAAI,CAAC,UAAU,CAAC;IAClB,EAAE,EAAI,CAAC,OAAO,CAAC;IACf,EAAE,EAAI,CAAC,UAAU,CAAC;IAClB,EAAE,EAAI,CAAC,IAAI,CAAC;IACZ,EAAE,EAAI,CAAC,IAAI,CAAC;IACZ,EAAE,EAAI,CAAC,IAAI,CAAC;IACZ,EAAE,EAAI,CAAC,IAAI,CAAC;IACZ,EAAE,EAAI,CAAC,IAAI,CAAC;IACZ,EAAE,EAAI,CAAC,IAAI,CAAC;IACZ,EAAE,EAAI,CAAC,IAAI,CAAC;IACZ,EAAE,EAAI,CAAC,IAAI,CAAC;IACZ,GAAG,EAAG,CAAC,IAAI,CAAC;IACZ,GAAG,EAAG,CAAC,IAAI,CAAC;IACZ,GAAG,EAAG,CAAC,IAAI,CAAC;IACZ,GAAG,EAAG,CAAC,IAAI,CAAC;IACZ,GAAG,EAAG,CAAC,IAAI,CAAC;IACZ,GAAG,EAAG,CAAC,IAAI,CAAC;IACZ,GAAG,EAAG,CAAC,IAAI,CAAC;IACZ,GAAG,EAAG,CAAC,IAAI,CAAC;CACZ,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"lookup.js","sourceRoot":"","sources":["../../../src/simplify/lookup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Attribute, AttributeMap } from "./types.js";
|
|
2
|
-
export declare class State extends Map<Attribute, number[]> implements AttributeMap {
|
|
2
|
+
export declare class State extends Map<Attribute, readonly number[]> implements AttributeMap {
|
|
3
3
|
#private;
|
|
4
|
-
update(codes: number[]): Array<number |
|
|
4
|
+
update(codes: readonly number[]): Array<number | "">;
|
|
5
5
|
}
|
|
6
6
|
//# sourceMappingURL=state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/simplify/state.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,SAAS,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAerD,qBAAa,KAAM,SAAQ,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,CAAE,YAAW,YAAY;;
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/simplify/state.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,SAAS,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAerD,qBAAa,KAAM,SAAQ,GAAG,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAE,YAAW,YAAY;;IAanF,MAAM,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;CA8DpD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/simplify/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAA4B,UAAU,CAAC;AAC1D,OAAO,EAAC,WAAW,EAAE,mBAAmB,EAAC,MAAM,SAAS,CAAC;AAIzD,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/simplify/state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export type Attribute = "intensity" | "italic" | "underline" | "inverse" | "hidden" | "strikethrough" | "fg" | "bg" | "frame" | "overline" | "reset" | number;
|
|
2
|
-
export type AttributeMap = Map<Attribute, number[]>;
|
|
2
|
+
export type AttributeMap = Map<Attribute, readonly number[]>;
|
|
3
3
|
export interface Atom {
|
|
4
4
|
attribute: Attribute;
|
|
5
|
-
code: number[];
|
|
5
|
+
code: readonly number[];
|
|
6
6
|
skip?: number;
|
|
7
7
|
}
|
|
8
|
-
export type BuildAtom = (attribute: Attribute, codes: number[], index: number, state: AttributeMap) => Atom;
|
|
8
|
+
export type BuildAtom = (attribute: Attribute, codes: readonly number[], index: number, state: AttributeMap) => Atom;
|
|
9
9
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/simplify/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAClB,WAAW,GACX,QAAQ,GACR,WAAW,GACX,SAAS,GACT,QAAQ,GACR,eAAe,GACf,IAAI,GACJ,IAAI,GACJ,OAAO,GACP,UAAU,GACV,OAAO,GACP,MAAM,CAAC;AAEV,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/simplify/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAClB,WAAW,GACX,QAAQ,GACR,WAAW,GACX,SAAS,GACT,QAAQ,GACR,eAAe,GACf,IAAI,GACJ,IAAI,GACJ,OAAO,GACP,UAAU,GACV,OAAO,GACP,MAAM,CAAC;AAEV,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;AAE7D,MAAM,WAAW,IAAI;IACpB,SAAS,EAAG,SAAS,CAAC;IACtB,IAAI,EAAQ,SAAS,MAAM,EAAE,CAAC;IAC9B,IAAI,CAAC,EAAO,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,SAAS,GAAG,CACvB,SAAS,EAAG,SAAS,EACrB,KAAK,EAAO,SAAS,MAAM,EAAE,EAC7B,KAAK,EAAO,MAAM,EAClB,KAAK,EAAO,YAAY,KACpB,IAAI,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare function arraysEqual<T>(a: T[] | undefined, b: T[] | undefined): boolean;
|
|
2
|
-
export declare function transitionIntensity(previous: number[] | undefined, current: number[]): number[];
|
|
1
|
+
export declare function arraysEqual<T>(a: readonly T[] | undefined, b: readonly T[] | undefined): boolean;
|
|
2
|
+
export declare function transitionIntensity(previous: readonly number[] | undefined, current: readonly number[]): readonly number[];
|
|
3
3
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/simplify/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/simplify/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,GAAG,SAAS,GAAG,OAAO,CAahG;AAED,wBAAgB,mBAAmB,CAClC,QAAQ,EAAG,SAAS,MAAM,EAAE,GAAG,SAAS,EACxC,OAAO,EAAI,SAAS,MAAM,EAAE,GAC1B,SAAS,MAAM,EAAE,CAmBnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/simplify/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,WAAW,CAAI,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/simplify/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,WAAW,CAAI,CAA2B,EAAE,CAA2B;IACtF,IAAI,CAAC,KAAK,CAAC;QACV,OAAO,IAAI,CAAC;IAEb,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QACpC,OAAO,KAAK,CAAC;IAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAChB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,UAAU,mBAAmB,CAClC,QAAwC,EACxC,OAA4B;IAE5B,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE;QACvD,OAAO,OAAO,CAAC;IAEhB,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,MAAM,GAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,MAAM,GAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAElD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,OAAO,IAAI,CAAC,OAAO,IAAI,MAAM,IAAI,CAAC,MAAM;QAC3C,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,IAAI,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChB,IAAI,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEhB,OAAO,MAAM,CAAC;AACf,CAAC"}
|
package/package.json
CHANGED
package/src/sgr/color/context.ts
CHANGED
|
@@ -17,7 +17,9 @@ export function buildContext(
|
|
|
17
17
|
) {
|
|
18
18
|
const {open, close} = baseCodes[channel];
|
|
19
19
|
|
|
20
|
-
const build =
|
|
20
|
+
const build = colorDepth > 1
|
|
21
|
+
? (open: Code): Format => makeFormatter(keys, open, close)
|
|
22
|
+
: () => makeFormatter(keys, [], []);
|
|
21
23
|
|
|
22
24
|
const combine = (base: FormatBase, style: FormatBase): Format => makeFormatter(
|
|
23
25
|
keys,
|
|
@@ -31,7 +33,7 @@ export function buildContext(
|
|
|
31
33
|
channel === "fg" ?
|
|
32
34
|
index => combine(style.bold, build(open + index)) :
|
|
33
35
|
index => build(open + index) :
|
|
34
|
-
() => build(
|
|
36
|
+
() => build([]);
|
|
35
37
|
|
|
36
38
|
const x16ToX8: (code: number) => Format =
|
|
37
39
|
channel === "fg" ?
|
package/src/sgr/color/rgb.ts
CHANGED
|
@@ -14,7 +14,7 @@ export function makeRGB(ctx: Context): Channel["rgb"] {
|
|
|
14
14
|
channel === "fg" ?
|
|
15
15
|
(r, g, b) => x16ToX8(rgbToX16(...clip(r, g, b))) :
|
|
16
16
|
(r, g, b) => build(open + rgbToX8(...clip(r, g, b))) :
|
|
17
|
-
() => build(
|
|
17
|
+
() => build([])
|
|
18
18
|
);
|
|
19
19
|
}
|
|
20
20
|
|
|
@@ -43,6 +43,6 @@ export function makeX256(ctx: Context): (...args: [number] | [number, number, nu
|
|
|
43
43
|
...args.length === 3 ? clip(...args) : x256ToRgb(clip(args[0])),
|
|
44
44
|
),
|
|
45
45
|
) :
|
|
46
|
-
() => build(
|
|
46
|
+
() => build([])
|
|
47
47
|
);
|
|
48
48
|
}
|
package/src/sgr/combine.ts
CHANGED
|
@@ -1,15 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
export function combineCodes(base: Code, ...codes: Code[]): Code {
|
|
4
|
-
const set = new Set(Array.isArray(base) ? [...base] : [base]);
|
|
1
|
+
import {State} from "../simplify/state";
|
|
5
2
|
|
|
6
|
-
|
|
7
|
-
if (Array.isArray(code)) {
|
|
8
|
-
for (const c of code)
|
|
9
|
-
set.add(c);
|
|
10
|
-
} else
|
|
11
|
-
set.add(code);
|
|
12
|
-
}
|
|
3
|
+
import type {Code} from "./types";
|
|
13
4
|
|
|
14
|
-
|
|
15
|
-
|
|
5
|
+
export const combineCodes = (base: Code, ...codes: Code[]): Code =>
|
|
6
|
+
new State().update([base, ...codes].flat()).map(code => code === "" ? 0 : code);
|
|
@@ -4,7 +4,10 @@ import {lazy} from "./lazy";
|
|
|
4
4
|
|
|
5
5
|
import type {ChainBuilder, ChainKey, Code, Format, FormatBase, FormatBuilder} from "./types";
|
|
6
6
|
|
|
7
|
-
const codeSequence = (code: Code): string | number =>
|
|
7
|
+
const codeSequence = (code: Code): string | number =>
|
|
8
|
+
Array.isArray(code)
|
|
9
|
+
? code.map(c => c ? c : "").join(';')
|
|
10
|
+
: code ? code : "";
|
|
8
11
|
|
|
9
12
|
const chain = <Keys extends ChainKey>(
|
|
10
13
|
makeChain : ChainBuilder,
|
|
@@ -14,45 +17,38 @@ const chain = <Keys extends ChainKey>(
|
|
|
14
17
|
? baseFormat as Format<Keys>
|
|
15
18
|
: lazy.add(baseFormat, "and", () => makeChain(keys, baseFormat));
|
|
16
19
|
|
|
17
|
-
export
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
export const makeFormatBuilder = (makeChain: ChainBuilder): FormatBuilder =>
|
|
21
|
+
function format(keys, open, close, reset) {
|
|
22
|
+
const empty = Array.isArray(open) && !open.length;
|
|
23
|
+
const openCode = empty ? "" : codeSequence(open);
|
|
24
|
+
const closeCode = empty ? "" : codeSequence(close);
|
|
25
|
+
const openSequence = empty ? "" :`\x1b[${openCode}m`;
|
|
26
|
+
const closeSequence = empty ? "" :`\x1b[${closeCode}m`;
|
|
27
|
+
const reopenCode = reset && !empty ? `${closeCode};${openCode}` : openCode;
|
|
25
28
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
const rxClose = new RegExp(
|
|
30
|
+
`(?<start>\\x1b\\[(?:\\d+;)*)${closeCode}(?<end>(?:;\\d+)*m)`,
|
|
31
|
+
"g"
|
|
32
|
+
);
|
|
33
|
+
const replace = `$<start>${reopenCode}$<end>`;
|
|
31
34
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
),
|
|
45
|
-
|
|
46
|
-
|
|
35
|
+
return chain(makeChain, keys, define(
|
|
36
|
+
empty
|
|
37
|
+
? (s: string) => s
|
|
38
|
+
: (s: string) => s ? openSequence + s.replace(rxClose, replace) + closeSequence : s,
|
|
39
|
+
{
|
|
40
|
+
open : {value: openSequence, enumerable: true},
|
|
41
|
+
close : {value: closeSequence, enumerable: true},
|
|
42
|
+
codes : {value: {open, close}, enumerable: true},
|
|
43
|
+
combine : {
|
|
44
|
+
value: (...formats: [FormatBase, ...FormatBase[]]) => format(
|
|
45
|
+
keys,
|
|
46
|
+
combineCodes(open, ...formats.map(f => f.codes.open)),
|
|
47
|
+
combineCodes(close, ...formats.map(f => f.codes.close)),
|
|
48
|
+
reset,
|
|
49
|
+
),
|
|
50
|
+
enumerable: true,
|
|
47
51
|
},
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
return keys => chain(makeChain, keys, define((s: string) => s, {
|
|
53
|
-
open : {value: "", enumerable: true},
|
|
54
|
-
close : {value: "", enumerable: true},
|
|
55
|
-
codes : {value: {open: [], close: []}, enumerable: true},
|
|
56
|
-
combine : {value(this: FormatBase) { return this }, enumerable: true},
|
|
57
|
-
}));
|
|
58
|
-
}
|
|
52
|
+
},
|
|
53
|
+
));
|
|
54
|
+
};
|
package/src/sgr/sgr.ts
CHANGED
|
@@ -33,37 +33,31 @@ export function makeSGR(features: Features): SGR {
|
|
|
33
33
|
if (cache[cacheKey])
|
|
34
34
|
return cache[cacheKey];
|
|
35
35
|
|
|
36
|
-
const
|
|
37
|
-
const
|
|
38
|
-
const style = makeStyle(allKeys, styleFormat, features.style);
|
|
36
|
+
const makeFormat = makeFormatBuilder(makeChain);
|
|
37
|
+
const style = makeStyle(allKeys, makeFormat, features.style);
|
|
39
38
|
|
|
40
39
|
function makeChain<Keys extends ChainKey>(
|
|
41
40
|
keys : ReadonlySet<Keys>,
|
|
42
41
|
baseFormat : FormatBase,
|
|
43
42
|
): Chain<Keys> {
|
|
44
|
-
const
|
|
45
|
-
keys,
|
|
46
|
-
combineCodes(baseFormat.codes.open, open),
|
|
47
|
-
combineCodes(baseFormat.codes.close, close),
|
|
48
|
-
reset,
|
|
49
|
-
);
|
|
50
|
-
const chainedStyleFormat: FormatBuilder = (keys, open, close, reset) => styleFormat(
|
|
43
|
+
const makeChainedFormat: FormatBuilder = (keys, open, close, reset) => makeFormat(
|
|
51
44
|
keys,
|
|
52
45
|
combineCodes(baseFormat.codes.open, open),
|
|
53
46
|
combineCodes(baseFormat.codes.close, close),
|
|
54
47
|
reset,
|
|
55
48
|
);
|
|
56
49
|
|
|
57
|
-
return
|
|
58
|
-
...makeColor(keys,
|
|
59
|
-
...makeStyle(keys,
|
|
60
|
-
}
|
|
50
|
+
return {
|
|
51
|
+
...makeColor(keys, makeChainedFormat, style, features.colorDepth),
|
|
52
|
+
...makeStyle(keys, makeChainedFormat, features.style),
|
|
53
|
+
};
|
|
61
54
|
}
|
|
62
55
|
|
|
63
56
|
const rtn: SGR = {
|
|
64
|
-
...makeColor(allKeys,
|
|
57
|
+
...makeColor(allKeys, makeFormat, style, features.colorDepth),
|
|
65
58
|
style,
|
|
66
|
-
|
|
59
|
+
plain : makeFormat(allKeys, [], []),
|
|
60
|
+
reset : makeReset(features.colorDepth > 1 || features.style),
|
|
67
61
|
};
|
|
68
62
|
|
|
69
63
|
cache[cacheKey] = rtn;
|
package/src/sgr/style.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {TypedObject} from "../typed-object";
|
|
2
2
|
import {lazy} from "./lazy";
|
|
3
3
|
|
|
4
|
-
import type {ChainKey, FormatBuilder, Style} from "./types";
|
|
4
|
+
import type {ChainKey, FormatBuilder, Style, StyleKey} from "./types";
|
|
5
5
|
|
|
6
|
-
const propParams = TypedObject.entries<Record<
|
|
6
|
+
const propParams = TypedObject.entries<Record<StyleKey, SkipFirst<Parameters<FormatBuilder>>>>({
|
|
7
7
|
bold : [ 1, 22, true],
|
|
8
8
|
dim : [ 2, 22, true],
|
|
9
9
|
italic : [ 3, 23],
|
|
@@ -29,7 +29,7 @@ export function makeStyle(
|
|
|
29
29
|
lazy.add(rtn, key, () => {
|
|
30
30
|
const newKeys = new Set(keys);
|
|
31
31
|
newKeys.delete(key);
|
|
32
|
-
return enabled ? makeFormatter(newKeys, ...args) : makeFormatter(newKeys,
|
|
32
|
+
return enabled ? makeFormatter(newKeys, ...args) : makeFormatter(newKeys, [], []);
|
|
33
33
|
});
|
|
34
34
|
}
|
|
35
35
|
}
|
package/src/sgr/types.ts
CHANGED
package/src/simplify/lookup.ts
CHANGED
|
@@ -61,7 +61,7 @@ const codeMap: Record<number, [attribute: Attribute, buildAtom?: BuildAtom]> = {
|
|
|
61
61
|
107 : ["bg"],
|
|
62
62
|
};
|
|
63
63
|
|
|
64
|
-
export function lookUpAtom(codes: number[], index: number, state: AttributeMap): Atom {
|
|
64
|
+
export function lookUpAtom(codes: readonly number[], index: number, state: AttributeMap): Atom {
|
|
65
65
|
const code = codes[index];
|
|
66
66
|
const entry = codeMap[code];
|
|
67
67
|
|
package/src/simplify/state.ts
CHANGED
|
@@ -3,7 +3,7 @@ import {arraysEqual, transitionIntensity} from "./utils";
|
|
|
3
3
|
|
|
4
4
|
import type {Attribute, AttributeMap} from "./types";
|
|
5
5
|
|
|
6
|
-
const defaultCodes: Map<Attribute, number[]> = new Map([
|
|
6
|
+
const defaultCodes: Map<Attribute, readonly number[]> = new Map([
|
|
7
7
|
["intensity", [22]],
|
|
8
8
|
["italic", [23]],
|
|
9
9
|
["underline", [24]],
|
|
@@ -16,7 +16,7 @@ const defaultCodes: Map<Attribute, number[]> = new Map([
|
|
|
16
16
|
["overline", [55]],
|
|
17
17
|
]);
|
|
18
18
|
|
|
19
|
-
export class State extends Map<Attribute, number[]> implements AttributeMap {
|
|
19
|
+
export class State extends Map<Attribute, readonly number[]> implements AttributeMap {
|
|
20
20
|
#isDefaultState(except?: Attribute): boolean {
|
|
21
21
|
for (const [attribute, defaultCode] of defaultCodes) {
|
|
22
22
|
if (attribute === except)
|
|
@@ -29,7 +29,7 @@ export class State extends Map<Attribute, number[]> implements AttributeMap {
|
|
|
29
29
|
return true;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
update(codes: number[]): Array<number |
|
|
32
|
+
update(codes: readonly number[]): Array<number | ""> {
|
|
33
33
|
let snapshot: AttributeMap = new Map(this);
|
|
34
34
|
|
|
35
35
|
const attributes = new Set<Attribute>();
|
|
@@ -58,7 +58,7 @@ export class State extends Map<Attribute, number[]> implements AttributeMap {
|
|
|
58
58
|
i += skip;
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
-
const rtn: Array<number |
|
|
61
|
+
const rtn: Array<number | ""> = [];
|
|
62
62
|
|
|
63
63
|
for (const attribute of attributes) {
|
|
64
64
|
if (attribute === "reset") {
|
package/src/simplify/types.ts
CHANGED
|
@@ -12,17 +12,17 @@ export type Attribute =
|
|
|
12
12
|
| "reset"
|
|
13
13
|
| number;
|
|
14
14
|
|
|
15
|
-
export type AttributeMap = Map<Attribute, number[]>;
|
|
15
|
+
export type AttributeMap = Map<Attribute, readonly number[]>;
|
|
16
16
|
|
|
17
17
|
export interface Atom {
|
|
18
18
|
attribute : Attribute;
|
|
19
|
-
code : number[];
|
|
19
|
+
code : readonly number[];
|
|
20
20
|
skip? : number;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
export type BuildAtom = (
|
|
24
24
|
attribute : Attribute,
|
|
25
|
-
codes : number[],
|
|
25
|
+
codes : readonly number[],
|
|
26
26
|
index : number,
|
|
27
27
|
state : AttributeMap,
|
|
28
28
|
) => Atom;
|
package/src/simplify/utils.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export function arraysEqual<T>(a: T[] | undefined, b: T[] | undefined): boolean {
|
|
1
|
+
export function arraysEqual<T>(a: readonly T[] | undefined, b: readonly T[] | undefined): boolean {
|
|
2
2
|
if (a === b)
|
|
3
3
|
return true;
|
|
4
4
|
|
|
@@ -13,7 +13,10 @@ export function arraysEqual<T>(a: T[] | undefined, b: T[] | undefined): boolean
|
|
|
13
13
|
return true;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
export function transitionIntensity(
|
|
16
|
+
export function transitionIntensity(
|
|
17
|
+
previous : readonly number[] | undefined,
|
|
18
|
+
current : readonly number[],
|
|
19
|
+
): readonly number[] {
|
|
17
20
|
if (!previous || previous[0] === 22 || current[0] === 22)
|
|
18
21
|
return current;
|
|
19
22
|
|