@peteanderson/ansi 2.1.1 → 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 +25 -2
- package/dist/cjs/ansi.d.ts.map +1 -1
- package/dist/cjs/ansi.js.map +1 -1
- 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 -10
- 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 +26 -24
- 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 +2 -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/ansi.d.ts.map +1 -1
- package/dist/esm/ansi.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 -10
- 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 +24 -23
- 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 +2 -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/ansi.ts +10 -10
- package/src/sgr/color/context.ts +4 -2
- package/src/sgr/color/rgb.ts +2 -2
- package/src/sgr/combine.ts +4 -11
- package/src/sgr/format-builder.ts +39 -32
- package/src/sgr/sgr.ts +10 -16
- package/src/sgr/style.ts +3 -3
- package/src/sgr/types.ts +5 -3
- 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
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
|
|