@peteanderson/ansi 2.3.1 → 3.1.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.
Files changed (137) hide show
  1. package/README.md +16 -12
  2. package/dist/cjs/ansi.d.ts +13 -11
  3. package/dist/cjs/ansi.d.ts.map +1 -1
  4. package/dist/cjs/ansi.js +7 -4
  5. package/dist/cjs/ansi.js.map +1 -1
  6. package/dist/cjs/cursor.d.ts +30 -0
  7. package/dist/cjs/cursor.d.ts.map +1 -0
  8. package/dist/cjs/cursor.js +70 -0
  9. package/dist/cjs/cursor.js.map +1 -0
  10. package/dist/cjs/erase.d.ts.map +1 -1
  11. package/dist/cjs/erase.js +8 -7
  12. package/dist/cjs/erase.js.map +1 -1
  13. package/dist/cjs/features/build.d.ts +1 -1
  14. package/dist/cjs/features/build.d.ts.map +1 -1
  15. package/dist/cjs/features/build.js +4 -4
  16. package/dist/cjs/features/build.js.map +1 -1
  17. package/dist/cjs/features/detect.js +1 -1
  18. package/dist/cjs/features/detect.js.map +1 -1
  19. package/dist/cjs/features/features.js +4 -4
  20. package/dist/cjs/features/features.js.map +1 -1
  21. package/dist/cjs/features/types.d.ts +1 -1
  22. package/dist/cjs/features/types.d.ts.map +1 -1
  23. package/dist/cjs/index.d.ts +12 -10
  24. package/dist/cjs/index.d.ts.map +1 -1
  25. package/dist/cjs/scroll.d.ts +2 -2
  26. package/dist/cjs/scroll.d.ts.map +1 -1
  27. package/dist/cjs/scroll.js +5 -4
  28. package/dist/cjs/scroll.js.map +1 -1
  29. package/dist/cjs/sgr/color/channel.d.ts.map +1 -1
  30. package/dist/cjs/sgr/color/channel.js +2 -1
  31. package/dist/cjs/sgr/color/channel.js.map +1 -1
  32. package/dist/cjs/sgr/format-builder.d.ts.map +1 -1
  33. package/dist/cjs/sgr/format-builder.js +3 -2
  34. package/dist/cjs/sgr/format-builder.js.map +1 -1
  35. package/dist/cjs/sgr/reset.d.ts.map +1 -1
  36. package/dist/cjs/sgr/reset.js +2 -1
  37. package/dist/cjs/sgr/reset.js.map +1 -1
  38. package/dist/cjs/simplify/simplify.d.ts.map +1 -1
  39. package/dist/cjs/simplify/simplify.js +2 -1
  40. package/dist/cjs/simplify/simplify.js.map +1 -1
  41. package/dist/cjs/slice.d.ts +4 -0
  42. package/dist/cjs/slice.d.ts.map +1 -1
  43. package/dist/cjs/slice.js +1 -0
  44. package/dist/cjs/slice.js.map +1 -1
  45. package/dist/cjs/split-at.d.ts +12 -0
  46. package/dist/cjs/split-at.d.ts.map +1 -0
  47. package/dist/cjs/split-at.js +26 -0
  48. package/dist/cjs/split-at.js.map +1 -0
  49. package/dist/cjs/terminal.d.ts.map +1 -1
  50. package/dist/cjs/terminal.js +13 -12
  51. package/dist/cjs/terminal.js.map +1 -1
  52. package/dist/cjs/types.d.ts +4 -2
  53. package/dist/cjs/types.d.ts.map +1 -1
  54. package/dist/cjs/utils.d.ts +5 -0
  55. package/dist/cjs/utils.d.ts.map +1 -0
  56. package/dist/cjs/utils.js +14 -0
  57. package/dist/cjs/utils.js.map +1 -0
  58. package/dist/esm/ansi.d.ts +13 -11
  59. package/dist/esm/ansi.d.ts.map +1 -1
  60. package/dist/esm/ansi.js +6 -4
  61. package/dist/esm/ansi.js.map +1 -1
  62. package/dist/esm/cursor.d.ts +30 -0
  63. package/dist/esm/cursor.d.ts.map +1 -0
  64. package/dist/esm/{caret.js → cursor.js} +21 -19
  65. package/dist/esm/cursor.js.map +1 -0
  66. package/dist/esm/erase.d.ts.map +1 -1
  67. package/dist/esm/erase.js +8 -7
  68. package/dist/esm/erase.js.map +1 -1
  69. package/dist/esm/features/build.d.ts +1 -1
  70. package/dist/esm/features/build.d.ts.map +1 -1
  71. package/dist/esm/features/build.js +4 -4
  72. package/dist/esm/features/build.js.map +1 -1
  73. package/dist/esm/features/detect.js +1 -1
  74. package/dist/esm/features/detect.js.map +1 -1
  75. package/dist/esm/features/features.js +4 -4
  76. package/dist/esm/features/features.js.map +1 -1
  77. package/dist/esm/features/types.d.ts +1 -1
  78. package/dist/esm/features/types.d.ts.map +1 -1
  79. package/dist/esm/scroll.d.ts +2 -2
  80. package/dist/esm/scroll.d.ts.map +1 -1
  81. package/dist/esm/scroll.js +5 -4
  82. package/dist/esm/scroll.js.map +1 -1
  83. package/dist/esm/sgr/color/channel.d.ts.map +1 -1
  84. package/dist/esm/sgr/color/channel.js +2 -1
  85. package/dist/esm/sgr/color/channel.js.map +1 -1
  86. package/dist/esm/sgr/format-builder.d.ts.map +1 -1
  87. package/dist/esm/sgr/format-builder.js +3 -2
  88. package/dist/esm/sgr/format-builder.js.map +1 -1
  89. package/dist/esm/sgr/reset.d.ts.map +1 -1
  90. package/dist/esm/sgr/reset.js +2 -1
  91. package/dist/esm/sgr/reset.js.map +1 -1
  92. package/dist/esm/simplify/simplify.d.ts.map +1 -1
  93. package/dist/esm/simplify/simplify.js +2 -1
  94. package/dist/esm/simplify/simplify.js.map +1 -1
  95. package/dist/esm/slice.d.ts +4 -0
  96. package/dist/esm/slice.d.ts.map +1 -1
  97. package/dist/esm/slice.js +1 -1
  98. package/dist/esm/slice.js.map +1 -1
  99. package/dist/esm/split-at.d.ts +12 -0
  100. package/dist/esm/split-at.d.ts.map +1 -0
  101. package/dist/esm/split-at.js +23 -0
  102. package/dist/esm/split-at.js.map +1 -0
  103. package/dist/esm/terminal.d.ts.map +1 -1
  104. package/dist/esm/terminal.js +13 -12
  105. package/dist/esm/terminal.js.map +1 -1
  106. package/dist/esm/types.d.ts +4 -2
  107. package/dist/esm/types.d.ts.map +1 -1
  108. package/dist/esm/utils.d.ts +5 -0
  109. package/dist/esm/utils.d.ts.map +1 -0
  110. package/dist/esm/utils.js +8 -0
  111. package/dist/esm/utils.js.map +1 -0
  112. package/package.json +1 -1
  113. package/src/ansi.ts +6 -4
  114. package/src/cursor.ts +80 -0
  115. package/src/erase.ts +9 -7
  116. package/src/features/build.ts +4 -4
  117. package/src/features/detect.ts +1 -1
  118. package/src/features/features.ts +4 -4
  119. package/src/features/types.ts +1 -1
  120. package/src/scroll.ts +6 -4
  121. package/src/sgr/color/channel.ts +2 -1
  122. package/src/sgr/format-builder.ts +3 -2
  123. package/src/sgr/reset.ts +3 -1
  124. package/src/simplify/simplify.ts +2 -1
  125. package/src/slice.ts +1 -1
  126. package/src/split-at.ts +32 -0
  127. package/src/terminal.ts +14 -12
  128. package/src/types.ts +4 -2
  129. package/src/utils.ts +15 -0
  130. package/dist/cjs/caret.d.ts +0 -30
  131. package/dist/cjs/caret.d.ts.map +0 -1
  132. package/dist/cjs/caret.js +0 -68
  133. package/dist/cjs/caret.js.map +0 -1
  134. package/dist/esm/caret.d.ts +0 -30
  135. package/dist/esm/caret.d.ts.map +0 -1
  136. package/dist/esm/caret.js.map +0 -1
  137. package/src/caret.ts +0 -80
package/README.md CHANGED
@@ -27,7 +27,7 @@ console.log(ansiNoColor.fg.rgb(255, 128, 64)("light red-orange"));
27
27
  // Destructure named exports
28
28
  const {ansi: defaultInstance, makeAnsi, fg} = require("@peteanderson/ansi");
29
29
  console.log(fg.red.and.bold("Hello, world!"));
30
- const custom = makeAnsi({colorDepth: 8, caret: false});
30
+ const custom = makeAnsi({colorDepth: 8, cursor: false});
31
31
  ```
32
32
 
33
33
  ## Feature Detection
@@ -36,7 +36,7 @@ The module automatically detects:
36
36
 
37
37
  - **Color depth**: 1 (none), 4 (16 colors), 8 (256 colors), 24 (true color)
38
38
  - **Style support**: enabled if color depth > 1
39
- - **Other features**: caret, erase, scroll — enabled if output is a TTY and `TERM` is not `dumb`
39
+ - **Other features**: cursor, erase, scroll — enabled if output is a TTY and `TERM` is not `dumb`
40
40
 
41
41
  When disabled, features output empty strings. Color outputs plain text. This can be overridden:
42
42
 
@@ -158,18 +158,18 @@ function formatText(text, useColor) {
158
158
  }
159
159
  ```
160
160
 
161
- ### `caret`
161
+ ### `cursor`
162
162
 
163
163
  Available if feature is enabled:
164
164
 
165
- - `caret.show` / `caret.hide` - show or hide the cursor
166
- - `caret.position.get` - get the current cursor position (terminal sends position to stdin)
167
- - `caret.position.set(row, col)` - set cursor position (1-based indexing)
168
- - `caret.shape.block` / `caret.shape.underline` / `caret.shape.bar` - change cursor shape
169
- - `caret.up(n)` / `caret.down(n)` / `caret.forward(n)` / `caret.backward(n)` - move cursor
170
- - `caret.nextLine(n)` / `caret.prevLine(n)` - move cursor to next/previous line
171
- - `caret.x(col)` - move cursor to column (1-based)
172
- - `caret.save` / `caret.restore` - save/restore cursor position (VT100)
165
+ - `cursor.show` / `cursor.hide` - show or hide the cursor
166
+ - `cursor.position.get` - get the current cursor position (terminal sends position to stdin)
167
+ - `cursor.position.set(row, col)` - set cursor position (1-based indexing)
168
+ - `cursor.shape.block` / `cursor.shape.underline` / `cursor.shape.bar` - change cursor shape
169
+ - `cursor.up(n)` / `cursor.down(n)` / `cursor.forward(n)` / `cursor.backward(n)` - move cursor
170
+ - `cursor.nextLine(n)` / `cursor.prevLine(n)` - move cursor to next/previous line
171
+ - `cursor.x(col)` - move cursor to column (1-based)
172
+ - `cursor.save` / `cursor.restore` - save/restore cursor position (VT100)
173
173
 
174
174
  ### `terminal`
175
175
 
@@ -206,6 +206,10 @@ Removes all ANSI CSI sequences from a string (always available).
206
206
 
207
207
  Slices a string by visible characters, ignoring ANSI sequences (always available).
208
208
 
209
+ ### `splitAt(text, visibleIndex)`
210
+
211
+ Splits a string into two parts at the given visible index, ignoring ANSI sequences (always available).
212
+
209
213
  ### `sanitize(text)`
210
214
 
211
215
  Removes "unsafe" CSI sequences, leaving only color and style codes (always available).
@@ -232,7 +236,7 @@ Object containing the detected feature configuration:
232
236
  {
233
237
  colorDepth : 1 | 3 | 4 | 8 | 24;
234
238
  style : boolean;
235
- caret : boolean;
239
+ cursor : boolean;
236
240
  erase : boolean;
237
241
  scroll : boolean;
238
242
  terminal : boolean;
@@ -1,16 +1,17 @@
1
1
  import { padEnd, padStart } from "./pad";
2
+ import { splitAt } from "./split-at";
2
3
  import { strip, visibleLength } from "./strip";
3
4
  import type { Args } from "./features";
4
5
  import type { Ansi } from "./types";
5
6
  export declare function makeAnsi(...args: Args): Ansi;
6
7
  export declare const ansi: Ansi;
7
- export declare const fg: import("./sgr/types").Channel<"bg" | import("./sgr/types").StyleKey>, bg: import("./sgr/types").Channel<"fg" | import("./sgr/types").StyleKey>, style: import("./sgr/types").Style<import("./sgr/types").ChainKey>, reset: string, caret: {
8
- up: (count?: number) => string;
9
- down: (count?: number) => string;
10
- forward: (count?: number) => string;
11
- backward: (count?: number) => string;
12
- nextLine: (count?: number) => string;
13
- prevLine: (count?: number) => string;
8
+ export declare const fg: import("./sgr/types").Channel<"bg" | import("./sgr/types").StyleKey>, bg: import("./sgr/types").Channel<"fg" | import("./sgr/types").StyleKey>, style: import("./sgr/types").Style<import("./sgr/types").ChainKey>, reset: string, cursor: {
9
+ up: (count?: number | undefined) => string;
10
+ down: (count?: number | undefined) => string;
11
+ forward: (count?: number | undefined) => string;
12
+ backward: (count?: number | undefined) => string;
13
+ nextLine: (count?: number | undefined) => string;
14
+ prevLine: (count?: number | undefined) => string;
14
15
  x: (x: number) => string;
15
16
  save: string;
16
17
  restore: string;
@@ -42,8 +43,8 @@ export declare const fg: import("./sgr/types").Channel<"bg" | import("./sgr/type
42
43
  scrollback: string;
43
44
  };
44
45
  }, scroll: {
45
- up: (lines?: number) => string;
46
- down: (lines?: number) => string;
46
+ up: (lines?: number | undefined) => string;
47
+ down: (lines?: number | undefined) => string;
47
48
  }, terminal: {
48
49
  focusReporting: {
49
50
  enable: string;
@@ -66,9 +67,9 @@ export declare const fg: import("./sgr/types").Channel<"bg" | import("./sgr/type
66
67
  end: string;
67
68
  };
68
69
  };
69
- export { padEnd, padStart, strip, visibleLength };
70
+ export { padEnd, padStart, splitAt, strip, visibleLength };
70
71
  declare const _default: typeof makeAnsi & import("./sgr").SGR & {
71
- caret: import("./caret").Caret;
72
+ cursor: import("./cursor").Cursor;
72
73
  erase: import("./erase").Erase;
73
74
  scroll: import("./scroll").Scroll;
74
75
  terminal: import("./terminal").Terminal;
@@ -78,6 +79,7 @@ declare const _default: typeof makeAnsi & import("./sgr").SGR & {
78
79
  visibleLength: import("./strip").VisibleLength;
79
80
  sanitize: import("./strip").Sanitize;
80
81
  slice: import("./slice").Slice;
82
+ splitAt: import("./split-at").SplitAt;
81
83
  simplify: import("./simplify").Simplify;
82
84
  features: import("./features").Features;
83
85
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ansi.d.ts","sourceRoot":"","sources":["../../src/ansi.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAoB,OAAO,CAAC;AAKrD,OAAO,EAAW,KAAK,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AAGvD,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,YAAY,CAAC;AACrC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,SAAS,CAAC;AAElC,wBAAgB,QAAQ,CAAC,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,CAuB5C;AAED,eAAO,MAAM,IAAI,MAAa,CAAC;AAE/B,eAAO,MAAO,EAAE,wEAAE,EAAE,wEAAE,KAAK,+DAAE,KAAK,UAAE,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;GAAE,KAAK;;;;;;;;;;;;GAAE,MAAM;;;GAAE,QAAQ;;;;;;;;;;;;;;;;;;;;;CAAQ,CAAC;AAE3E,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAC,CAAA;;;;;;;;;;;;;;;AAE/C,wBAGE"}
1
+ {"version":3,"file":"ansi.d.ts","sourceRoot":"","sources":["../../src/ansi.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAoB,OAAO,CAAC;AAKrD,OAAO,EAAC,OAAO,EAAC,MAA6B,YAAY,CAAC;AAC1D,OAAO,EAAW,KAAK,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AAGvD,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,YAAY,CAAC;AACrC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,SAAS,CAAC;AAElC,wBAAgB,QAAQ,CAAC,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,CAwB5C;AAED,eAAO,MAAM,IAAI,MAAa,CAAC;AAE/B,eAAO,MAAO,EAAE,wEAAE,EAAE,wEAAE,KAAK,+DAAE,KAAK,UAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;GAAE,KAAK;;;;;;;;;;;;GAAE,MAAM;;;GAAE,QAAQ;;;;;;;;;;;;;;;;;;;;;CAAQ,CAAC;AAE5E,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAC,CAAA;;;;;;;;;;;;;;;;AAExD,wBAGE"}
package/dist/cjs/ansi.js CHANGED
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.visibleLength = exports.strip = exports.padStart = exports.padEnd = exports.terminal = exports.scroll = exports.erase = exports.caret = exports.reset = exports.style = exports.bg = exports.fg = exports.ansi = void 0;
3
+ exports.visibleLength = exports.strip = exports.splitAt = exports.padStart = exports.padEnd = exports.terminal = exports.scroll = exports.erase = exports.cursor = exports.reset = exports.style = exports.bg = exports.fg = exports.ansi = void 0;
4
4
  exports.makeAnsi = makeAnsi;
5
- const caret_1 = require("./caret");
5
+ const cursor_1 = require("./cursor");
6
6
  const erase_1 = require("./erase");
7
7
  const features_1 = require("./features");
8
8
  const pad_1 = require("./pad");
@@ -12,6 +12,8 @@ const scroll_1 = require("./scroll");
12
12
  const sgr_1 = require("./sgr");
13
13
  const simplify_1 = require("./simplify");
14
14
  const slice_1 = require("./slice");
15
+ const split_at_1 = require("./split-at");
16
+ Object.defineProperty(exports, "splitAt", { enumerable: true, get: function () { return split_at_1.splitAt; } });
15
17
  const strip_1 = require("./strip");
16
18
  Object.defineProperty(exports, "strip", { enumerable: true, get: function () { return strip_1.strip; } });
17
19
  Object.defineProperty(exports, "visibleLength", { enumerable: true, get: function () { return strip_1.visibleLength; } });
@@ -20,7 +22,7 @@ function makeAnsi(...args) {
20
22
  const features = (0, features_1.getFeatures)(...args);
21
23
  return {
22
24
  ...(0, sgr_1.makeSGR)(features),
23
- caret: (0, caret_1.makeCaret)(features.caret),
25
+ cursor: (0, cursor_1.makeCursor)(features.cursor),
24
26
  erase: (0, erase_1.makeErase)(features.erase),
25
27
  scroll: (0, scroll_1.makeScroll)(features.scroll),
26
28
  terminal: (0, terminal_1.makeTerminal)(features.terminal),
@@ -31,10 +33,11 @@ function makeAnsi(...args) {
31
33
  sanitize: strip_1.sanitize,
32
34
  slice: slice_1.slice,
33
35
  simplify: simplify_1.simplify,
36
+ splitAt: split_at_1.splitAt,
34
37
  features,
35
38
  };
36
39
  }
37
40
  exports.ansi = makeAnsi();
38
- exports.fg = exports.ansi.fg, exports.bg = exports.ansi.bg, exports.style = exports.ansi.style, exports.reset = exports.ansi.reset, exports.caret = exports.ansi.caret, exports.erase = exports.ansi.erase, exports.scroll = exports.ansi.scroll, exports.terminal = exports.ansi.terminal;
41
+ exports.fg = exports.ansi.fg, exports.bg = exports.ansi.bg, exports.style = exports.ansi.style, exports.reset = exports.ansi.reset, exports.cursor = exports.ansi.cursor, exports.erase = exports.ansi.erase, exports.scroll = exports.ansi.scroll, exports.terminal = exports.ansi.terminal;
39
42
  exports.default = Object.assign(Object.defineProperty(makeAnsi.bind(undefined), "name", { value: "ansi" }), exports.ansi);
40
43
  //# sourceMappingURL=ansi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ansi.js","sourceRoot":"","sources":["../../src/ansi.ts"],"names":[],"mappings":";;;AAcA,4BAuBC;AArCD,mCAAuD;AACvD,mCAAuD;AACvD,yCAA0D;AAC1D,+BAAqD;AAwC7C,uFAxCA,YAAM,OAwCA;AAAE,yFAxCA,cAAQ,OAwCA;AAvCxB,qCAAwD;AACxD,+BAAqD;AACrD,yCAA0D;AAC1D,mCAAuD;AACvD,mCAAuD;AAmC7B,sFAnCR,aAAK,OAmCQ;AAAE,8FAnCR,qBAAa,OAmCQ;AAlC9C,yCAA0D;AAK1D,SAAgB,QAAQ,CAAC,GAAG,IAAU;IACrC,MAAM,QAAQ,GAAG,IAAA,sBAAW,EAAC,GAAG,IAAI,CAAC,CAAC;IAEtC,OAAO;QACN,GAAG,IAAA,aAAO,EAAC,QAAQ,CAAC;QAEpB,KAAK,EAAI,IAAA,iBAAS,EAAC,QAAQ,CAAC,KAAK,CAAC;QAClC,KAAK,EAAI,IAAA,iBAAS,EAAC,QAAQ,CAAC,KAAK,CAAC;QAClC,MAAM,EAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,MAAM,CAAC;QAEpC,QAAQ,EAAE,IAAA,uBAAY,EAAC,QAAQ,CAAC,QAAQ,CAAC;QAEzC,MAAM,EAAN,YAAM;QACN,QAAQ,EAAR,cAAQ;QAER,KAAK,EAAL,aAAK;QACL,aAAa,EAAb,qBAAa;QACb,QAAQ,EAAR,gBAAQ;QACR,KAAK,EAAL,aAAK;QACL,QAAQ,EAAR,mBAAQ;QAER,QAAQ;KACR,CAAC;AACH,CAAC;AAEY,QAAA,IAAI,GAAG,QAAQ,EAAE,CAAC;AAEjB,UAAE,GAAsD,YAAI,KAAxD,UAAE,GAAkD,YAAI,KAApD,aAAK,GAA2C,YAAI,QAA7C,aAAK,GAAoC,YAAI,QAAtC,aAAK,GAA6B,YAAI,QAA/B,aAAK,GAAsB,YAAI,QAAxB,cAAM,GAAc,YAAI,SAAhB,gBAAQ,GAAI,YAAI,UAAC;AAI3E,kBAAe,MAAM,CAAC,MAAM,CAC3B,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAC,KAAK,EAAE,MAAM,EAAC,CAAC,EACxE,YAAI,CACJ,CAAC"}
1
+ {"version":3,"file":"ansi.js","sourceRoot":"","sources":["../../src/ansi.ts"],"names":[],"mappings":";;;AAeA,4BAwBC;AAvCD,qCAAwD;AACxD,mCAAuD;AACvD,yCAA0D;AAC1D,+BAAqD;AA0C7C,uFA1CA,YAAM,OA0CA;AAAE,yFA1CA,cAAQ,OA0CA;AAzCxB,qCAAwD;AACxD,+BAAqD;AACrD,yCAA0D;AAC1D,mCAAuD;AACvD,yCAA0D;AAqChC,wFArClB,kBAAO,OAqCkB;AApCjC,mCAAuD;AAoCpB,sFApCjB,aAAK,OAoCiB;AAAE,8FApCjB,qBAAa,OAoCiB;AAnCvD,yCAA0D;AAK1D,SAAgB,QAAQ,CAAC,GAAG,IAAU;IACrC,MAAM,QAAQ,GAAG,IAAA,sBAAW,EAAC,GAAG,IAAI,CAAC,CAAC;IAEtC,OAAO;QACN,GAAG,IAAA,aAAO,EAAC,QAAQ,CAAC;QAEpB,MAAM,EAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,MAAM,CAAC;QACpC,KAAK,EAAI,IAAA,iBAAS,EAAC,QAAQ,CAAC,KAAK,CAAC;QAClC,MAAM,EAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,MAAM,CAAC;QAEpC,QAAQ,EAAE,IAAA,uBAAY,EAAC,QAAQ,CAAC,QAAQ,CAAC;QAEzC,MAAM,EAAN,YAAM;QACN,QAAQ,EAAR,cAAQ;QAER,KAAK,EAAL,aAAK;QACL,aAAa,EAAb,qBAAa;QACb,QAAQ,EAAR,gBAAQ;QACR,KAAK,EAAL,aAAK;QACL,QAAQ,EAAR,mBAAQ;QACR,OAAO,EAAP,kBAAO;QAEP,QAAQ;KACR,CAAC;AACH,CAAC;AAEY,QAAA,IAAI,GAAG,QAAQ,EAAE,CAAC;AAEjB,UAAE,GAAuD,YAAI,KAAzD,UAAE,GAAmD,YAAI,KAArD,aAAK,GAA4C,YAAI,QAA9C,aAAK,GAAqC,YAAI,QAAvC,cAAM,GAA6B,YAAI,SAA/B,aAAK,GAAsB,YAAI,QAAxB,cAAM,GAAc,YAAI,SAAhB,gBAAQ,GAAI,YAAI,UAAC;AAI5E,kBAAe,MAAM,CAAC,MAAM,CAC3B,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAC,KAAK,EAAE,MAAM,EAAC,CAAC,EACxE,YAAI,CACJ,CAAC"}
@@ -0,0 +1,30 @@
1
+ declare const cursor: {
2
+ up: (count?: number | undefined) => string;
3
+ down: (count?: number | undefined) => string;
4
+ forward: (count?: number | undefined) => string;
5
+ backward: (count?: number | undefined) => string;
6
+ nextLine: (count?: number | undefined) => string;
7
+ prevLine: (count?: number | undefined) => string;
8
+ x: (x: number) => string;
9
+ save: string;
10
+ restore: string;
11
+ hide: string;
12
+ show: string;
13
+ position: {
14
+ get: string;
15
+ set: (x: number, y: number) => string;
16
+ };
17
+ shape: {
18
+ steadyBlock: string;
19
+ steadyBar: string;
20
+ steadyUnderline: string;
21
+ blinkingBlock: string;
22
+ blinkingBar: string;
23
+ blinkingUnderline: string;
24
+ default: string;
25
+ };
26
+ };
27
+ export type Cursor = typeof cursor;
28
+ export declare const makeCursor: (enabled?: boolean) => Cursor;
29
+ export {};
30
+ //# sourceMappingURL=cursor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../src/cursor.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,MAAM;;;;;;;WAWJ,MAAM;;;;;;;iBAkBH,MAAM,KAAK,MAAM,KAAG,MAAM;;;;;;;;;;;CAYpC,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC;AAkCnC,eAAO,MAAM,UAAU,GAAI,iBAAc,KAAG,MAAqC,CAAC"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeCursor = void 0;
4
+ const utils_1 = require("./utils");
5
+ const cursor = {
6
+ up: (0, utils_1.count)("A"),
7
+ down: (0, utils_1.count)("B"),
8
+ forward: (0, utils_1.count)("C"),
9
+ backward: (0, utils_1.count)("D"),
10
+ nextLine: (0, utils_1.count)("E"),
11
+ prevLine: (0, utils_1.count)("F"),
12
+ // Don't use `move`/`count` here, because it will output an empty string if `x` is `0`, but the
13
+ // terminal accepts `\x1b[0G` and will process it the same as `\x1b[1G`/`x1b[G`. Also, the
14
+ // parameter for `move`/`count` is optional, but the parameter for `x` is required.
15
+ x: (x) => (0, utils_1.csi)(x, "G"),
16
+ // These are the old VT100 codes, but they're widely supported by old and new terminals. The
17
+ // newer VT220 codes are standardized by ECMA and ISO, and are also widely supported, but might
18
+ // not work in some older terminals. The VT220 codes are:
19
+ //
20
+ // ```
21
+ // save : csi("s"),
22
+ // restore : csi("u"),
23
+ // ```
24
+ save: "\x1b7",
25
+ restore: "\x1b8",
26
+ hide: (0, utils_1.csi)("?25l"),
27
+ show: (0, utils_1.csi)("?25h"),
28
+ position: {
29
+ get: (0, utils_1.csi)("6n"),
30
+ set: (x, y) => (0, utils_1.csi)(`${y};${x}H`),
31
+ },
32
+ shape: {
33
+ steadyBlock: (0, utils_1.csi)("2 q"),
34
+ steadyBar: (0, utils_1.csi)("6 q"),
35
+ steadyUnderline: (0, utils_1.csi)("4 q"),
36
+ blinkingBlock: (0, utils_1.csi)("1 q"),
37
+ blinkingBar: (0, utils_1.csi)("5 q"),
38
+ blinkingUnderline: (0, utils_1.csi)("3 q"),
39
+ default: (0, utils_1.csi)("0 q"),
40
+ },
41
+ };
42
+ const disabled = {
43
+ up: utils_1.noop,
44
+ down: utils_1.noop,
45
+ forward: utils_1.noop,
46
+ backward: utils_1.noop,
47
+ nextLine: utils_1.noop,
48
+ prevLine: utils_1.noop,
49
+ x: utils_1.noop,
50
+ save: "",
51
+ restore: "",
52
+ hide: "",
53
+ show: "",
54
+ position: {
55
+ get: "",
56
+ set: utils_1.noop,
57
+ },
58
+ shape: {
59
+ steadyBlock: "",
60
+ steadyBar: "",
61
+ steadyUnderline: "",
62
+ blinkingBlock: "",
63
+ blinkingBar: "",
64
+ blinkingUnderline: "",
65
+ default: "",
66
+ },
67
+ };
68
+ const makeCursor = (enabled = true) => enabled ? cursor : disabled;
69
+ exports.makeCursor = makeCursor;
70
+ //# sourceMappingURL=cursor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/cursor.ts"],"names":[],"mappings":";;;AAAA,mCAAiD;AAEjD,MAAM,MAAM,GAAG;IACd,EAAE,EAAS,IAAA,aAAI,EAAC,GAAG,CAAC;IACpB,IAAI,EAAO,IAAA,aAAI,EAAC,GAAG,CAAC;IACpB,OAAO,EAAI,IAAA,aAAI,EAAC,GAAG,CAAC;IACpB,QAAQ,EAAG,IAAA,aAAI,EAAC,GAAG,CAAC;IACpB,QAAQ,EAAG,IAAA,aAAI,EAAC,GAAG,CAAC;IACpB,QAAQ,EAAG,IAAA,aAAI,EAAC,GAAG,CAAC;IAEpB,+FAA+F;IAC/F,0FAA0F;IAC1F,mFAAmF;IACnF,CAAC,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,IAAA,WAAG,EAAC,CAAC,EAAE,GAAG,CAAC;IAE7B,4FAA4F;IAC5F,+FAA+F;IAC/F,yDAAyD;IACzD,EAAE;IACF,MAAM;IACN,sBAAsB;IACtB,sBAAsB;IACtB,MAAM;IACN,IAAI,EAAM,OAAO;IACjB,OAAO,EAAG,OAAO;IAEjB,IAAI,EAAG,IAAA,WAAG,EAAC,MAAM,CAAC;IAClB,IAAI,EAAG,IAAA,WAAG,EAAC,MAAM,CAAC;IAElB,QAAQ,EAAE;QACT,GAAG,EAAE,IAAA,WAAG,EAAC,IAAI,CAAC;QACd,GAAG,EAAE,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,IAAA,WAAG,EAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;KACxD;IAED,KAAK,EAAE;QACN,WAAW,EAAS,IAAA,WAAG,EAAC,KAAK,CAAC;QAC9B,SAAS,EAAW,IAAA,WAAG,EAAC,KAAK,CAAC;QAC9B,eAAe,EAAK,IAAA,WAAG,EAAC,KAAK,CAAC;QAC9B,aAAa,EAAO,IAAA,WAAG,EAAC,KAAK,CAAC;QAC9B,WAAW,EAAS,IAAA,WAAG,EAAC,KAAK,CAAC;QAC9B,iBAAiB,EAAG,IAAA,WAAG,EAAC,KAAK,CAAC;QAC9B,OAAO,EAAa,IAAA,WAAG,EAAC,KAAK,CAAC;KAC9B;CACD,CAAC;AAIF,MAAM,QAAQ,GAAW;IACxB,EAAE,EAAS,YAAI;IACf,IAAI,EAAO,YAAI;IACf,OAAO,EAAI,YAAI;IACf,QAAQ,EAAG,YAAI;IACf,QAAQ,EAAG,YAAI;IACf,QAAQ,EAAG,YAAI;IAEf,CAAC,EAAE,YAAI;IAEP,IAAI,EAAM,EAAE;IACZ,OAAO,EAAG,EAAE;IAEZ,IAAI,EAAG,EAAE;IACT,IAAI,EAAG,EAAE;IAET,QAAQ,EAAE;QACT,GAAG,EAAE,EAAE;QACP,GAAG,EAAE,YAAI;KACT;IAED,KAAK,EAAE;QACN,WAAW,EAAS,EAAE;QACtB,SAAS,EAAW,EAAE;QACtB,eAAe,EAAK,EAAE;QACtB,aAAa,EAAO,EAAE;QACtB,WAAW,EAAS,EAAE;QACtB,iBAAiB,EAAG,EAAE;QACtB,OAAO,EAAa,EAAE;KACtB;CACD,CAAC;AAEK,MAAM,UAAU,GAAG,CAAC,OAAO,GAAG,IAAI,EAAU,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AAArE,QAAA,UAAU,cAA2D"}
@@ -1 +1 @@
1
- {"version":3,"file":"erase.d.ts","sourceRoot":"","sources":["../../src/erase.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,KAAK;;;;;;;;;;;;CAYV,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC;AAgBjC,eAAO,MAAM,SAAS,GAAI,iBAAc,KAAG,KAAmC,CAAC"}
1
+ {"version":3,"file":"erase.d.ts","sourceRoot":"","sources":["../../src/erase.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,KAAK;;;;;;;;;;;;CAYV,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC;AAgBjC,eAAO,MAAM,SAAS,GAAI,iBAAc,KAAG,KAAmC,CAAC"}
package/dist/cjs/erase.js CHANGED
@@ -1,17 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeErase = void 0;
4
+ const utils_1 = require("./utils");
4
5
  const erase = {
5
6
  line: {
6
- toStart: "\x1b[1K",
7
- toEnd: "\x1b[0K",
8
- full: "\x1b[2K",
7
+ toStart: (0, utils_1.csi)("1K"),
8
+ toEnd: (0, utils_1.csi)("0K"),
9
+ full: (0, utils_1.csi)("2K"),
9
10
  },
10
11
  screen: {
11
- toStart: "\x1b[1J",
12
- toEnd: "\x1b[0J",
13
- full: "\x1b[2J",
14
- scrollback: "\x1b[3J",
12
+ toStart: (0, utils_1.csi)("1J"),
13
+ toEnd: (0, utils_1.csi)("0J"),
14
+ full: (0, utils_1.csi)("2J"),
15
+ scrollback: (0, utils_1.csi)("3J"),
15
16
  },
16
17
  };
17
18
  const disabled = {
@@ -1 +1 @@
1
- {"version":3,"file":"erase.js","sourceRoot":"","sources":["../../src/erase.ts"],"names":[],"mappings":";;;AAAA,MAAM,KAAK,GAAG;IACb,IAAI,EAAE;QACL,OAAO,EAAG,SAAS;QACnB,KAAK,EAAK,SAAS;QACnB,IAAI,EAAM,SAAS;KACnB;IACD,MAAM,EAAE;QACP,OAAO,EAAM,SAAS;QACtB,KAAK,EAAQ,SAAS;QACtB,IAAI,EAAS,SAAS;QACtB,UAAU,EAAG,SAAS;KACtB;CACD,CAAC;AAIF,MAAM,QAAQ,GAAU;IACvB,IAAI,EAAE;QACL,OAAO,EAAG,EAAE;QACZ,KAAK,EAAK,EAAE;QACZ,IAAI,EAAM,EAAE;KACZ;IACD,MAAM,EAAE;QACP,OAAO,EAAM,EAAE;QACf,KAAK,EAAQ,EAAE;QACf,IAAI,EAAS,EAAE;QACf,UAAU,EAAG,EAAE;KACf;CACD,CAAC;AAEK,MAAM,SAAS,GAAG,CAAC,OAAO,GAAG,IAAI,EAAS,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AAAlE,QAAA,SAAS,aAAyD"}
1
+ {"version":3,"file":"erase.js","sourceRoot":"","sources":["../../src/erase.ts"],"names":[],"mappings":";;;AAAA,mCAA4B;AAE5B,MAAM,KAAK,GAAG;IACb,IAAI,EAAE;QACL,OAAO,EAAG,IAAA,WAAG,EAAC,IAAI,CAAC;QACnB,KAAK,EAAK,IAAA,WAAG,EAAC,IAAI,CAAC;QACnB,IAAI,EAAM,IAAA,WAAG,EAAC,IAAI,CAAC;KACnB;IACD,MAAM,EAAE;QACP,OAAO,EAAM,IAAA,WAAG,EAAC,IAAI,CAAC;QACtB,KAAK,EAAQ,IAAA,WAAG,EAAC,IAAI,CAAC;QACtB,IAAI,EAAS,IAAA,WAAG,EAAC,IAAI,CAAC;QACtB,UAAU,EAAG,IAAA,WAAG,EAAC,IAAI,CAAC;KACtB;CACD,CAAC;AAIF,MAAM,QAAQ,GAAU;IACvB,IAAI,EAAE;QACL,OAAO,EAAG,EAAE;QACZ,KAAK,EAAK,EAAE;QACZ,IAAI,EAAM,EAAE;KACZ;IACD,MAAM,EAAE;QACP,OAAO,EAAM,EAAE;QACf,KAAK,EAAQ,EAAE;QACf,IAAI,EAAS,EAAE;QACf,UAAU,EAAG,EAAE;KACf;CACD,CAAC;AAEK,MAAM,SAAS,GAAG,CAAC,OAAO,GAAG,IAAI,EAAS,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AAAlE,QAAA,SAAS,aAAyD"}
@@ -1,5 +1,5 @@
1
1
  import type { ColorDepth, Features } from "./types";
2
- export declare function build(isTTY: boolean, colorDepth: ColorDepth, style?: boolean, caret?: boolean, erase?: boolean, scroll?: boolean, terminal?: boolean): Features;
2
+ export declare function build(isTTY: boolean, colorDepth: ColorDepth, style?: boolean, cursor?: boolean, erase?: boolean, scroll?: boolean, terminal?: boolean): Features;
3
3
  export declare const boolean: (isTTY: boolean, enabled: boolean) => Features;
4
4
  export declare const number: (isTTY: boolean, colorDepth: ColorDepth) => Features;
5
5
  export declare const tty: (stream: NodeJS.WriteStream) => Features;
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/features/build.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,UAAU,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;AAWlD,wBAAgB,KAAK,CACpB,KAAK,EAAQ,OAAO,EACpB,UAAU,EAAG,UAAU,EACvB,KAAK,CAAC,EAAO,OAAO,EACpB,KAAK,CAAC,EAAO,OAAO,EACpB,KAAK,CAAC,EAAO,OAAO,EACpB,MAAM,CAAC,EAAM,OAAO,EACpB,QAAQ,CAAC,EAAI,OAAO,GAClB,QAAQ,CAmBV;AAED,eAAO,MAAM,OAAO,GAAI,OAAO,OAAO,EAAE,SAAS,OAAO,KAAG,QAC7B,CAAC;AAE/B,eAAO,MAAM,MAAM,GAAI,OAAO,OAAO,EAAE,YAAY,UAAU,KAAG,QACvC,CAAC;AAE1B,eAAO,MAAM,GAAG,GAAI,QAAQ,MAAM,CAAC,WAAW,KAAG,QACd,CAAC;AAEpC,eAAO,MAAM,IAAI,QAAO,QACM,CAAC"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/features/build.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,UAAU,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;AAWlD,wBAAgB,KAAK,CACpB,KAAK,EAAQ,OAAO,EACpB,UAAU,EAAG,UAAU,EACvB,KAAK,CAAC,EAAO,OAAO,EACpB,MAAM,CAAC,EAAM,OAAO,EACpB,KAAK,CAAC,EAAO,OAAO,EACpB,MAAM,CAAC,EAAM,OAAO,EACpB,QAAQ,CAAC,EAAI,OAAO,GAClB,QAAQ,CAmBV;AAED,eAAO,MAAM,OAAO,GAAI,OAAO,OAAO,EAAE,SAAS,OAAO,KAAG,QAC7B,CAAC;AAE/B,eAAO,MAAM,MAAM,GAAI,OAAO,OAAO,EAAE,YAAY,UAAU,KAAG,QACvC,CAAC;AAE1B,eAAO,MAAM,GAAG,GAAI,QAAQ,MAAM,CAAC,WAAW,KAAG,QACd,CAAC;AAEpC,eAAO,MAAM,IAAI,QAAO,QACM,CAAC"}
@@ -15,18 +15,18 @@ function normalizeColorDepth(colorDepth) {
15
15
  return 3;
16
16
  return 1;
17
17
  }
18
- function build(isTTY, colorDepth, style, caret, erase, scroll, terminal) {
18
+ function build(isTTY, colorDepth, style, cursor, erase, scroll, terminal) {
19
19
  if (style !== undefined &&
20
- caret !== undefined &&
20
+ cursor !== undefined &&
21
21
  erase !== undefined &&
22
22
  scroll !== undefined &&
23
23
  terminal !== undefined)
24
- return { colorDepth: normalizeColorDepth(colorDepth), style, caret, erase, scroll, terminal };
24
+ return { colorDepth: normalizeColorDepth(colorDepth), style, cursor, erase, scroll, terminal };
25
25
  const support = (0, detect_1.detectFeatureSupport)(isTTY, colorDepth);
26
26
  return {
27
27
  colorDepth: normalizeColorDepth(colorDepth),
28
28
  style: style ?? support.style,
29
- caret: caret ?? support.caret,
29
+ cursor: cursor ?? support.cursor,
30
30
  erase: erase ?? support.erase,
31
31
  scroll: scroll ?? support.scroll,
32
32
  terminal: terminal ?? support.terminal,
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/features/build.ts"],"names":[],"mappings":";;;AAaA,sBA2BC;AAxCD,qCAA6D;AAI7D,SAAS,mBAAmB,CAAC,UAAkB;IAC9C,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACpC,IAAI,UAAU,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAChC,IAAI,UAAU,IAAI,CAAC;QAAG,OAAO,CAAC,CAAC;IAC/B,IAAI,UAAU,IAAI,CAAC;QAAG,OAAO,CAAC,CAAC;IAC/B,IAAI,UAAU,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,CAAC;AACV,CAAC;AAED,SAAgB,KAAK,CACpB,KAAoB,EACpB,UAAuB,EACvB,KAAoB,EACpB,KAAoB,EACpB,KAAoB,EACpB,MAAoB,EACpB,QAAoB;IAEpB,IACC,KAAK,KAAQ,SAAS;QACtB,KAAK,KAAQ,SAAS;QACtB,KAAK,KAAQ,SAAS;QACtB,MAAM,KAAO,SAAS;QACtB,QAAQ,KAAK,SAAS;QAEtB,OAAO,EAAC,UAAU,EAAE,mBAAmB,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAC,CAAC;IAE7F,MAAM,OAAO,GAAG,IAAA,6BAAoB,EAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACxD,OAAO;QACN,UAAU,EAAG,mBAAmB,CAAC,UAAU,CAAC;QAC5C,KAAK,EAAQ,KAAK,IAAO,OAAO,CAAC,KAAK;QACtC,KAAK,EAAQ,KAAK,IAAO,OAAO,CAAC,KAAK;QACtC,KAAK,EAAQ,KAAK,IAAO,OAAO,CAAC,KAAK;QACtC,MAAM,EAAO,MAAM,IAAM,OAAO,CAAC,MAAM;QACvC,QAAQ,EAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ;KACzC,CAAC;AACH,CAAC;AAEM,MAAM,OAAO,GAAG,CAAC,KAAc,EAAE,OAAgB,EAAY,EAAE,CACrE,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AADlB,QAAA,OAAO,WACW;AAExB,MAAM,MAAM,GAAG,CAAC,KAAc,EAAE,UAAsB,EAAY,EAAE,CAC1E,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AADb,QAAA,MAAM,UACO;AAEnB,MAAM,GAAG,GAAG,CAAC,MAA0B,EAAY,EAAE,CAC3D,KAAK,CAAC,IAAI,EAAE,IAAA,sBAAa,EAAC,MAAM,CAAC,CAAC,CAAC;AADvB,QAAA,GAAG,OACoB;AAE7B,MAAM,IAAI,GAAG,GAAa,EAAE,CAClC,KAAK,CAAC,KAAK,EAAE,IAAA,sBAAa,GAAE,CAAC,CAAC;AADlB,QAAA,IAAI,QACc"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/features/build.ts"],"names":[],"mappings":";;;AAaA,sBA2BC;AAxCD,qCAA6D;AAI7D,SAAS,mBAAmB,CAAC,UAAkB;IAC9C,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACpC,IAAI,UAAU,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAChC,IAAI,UAAU,IAAI,CAAC;QAAG,OAAO,CAAC,CAAC;IAC/B,IAAI,UAAU,IAAI,CAAC;QAAG,OAAO,CAAC,CAAC;IAC/B,IAAI,UAAU,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,CAAC;AACV,CAAC;AAED,SAAgB,KAAK,CACpB,KAAoB,EACpB,UAAuB,EACvB,KAAoB,EACpB,MAAoB,EACpB,KAAoB,EACpB,MAAoB,EACpB,QAAoB;IAEpB,IACC,KAAK,KAAQ,SAAS;QACtB,MAAM,KAAO,SAAS;QACtB,KAAK,KAAQ,SAAS;QACtB,MAAM,KAAO,SAAS;QACtB,QAAQ,KAAK,SAAS;QAEtB,OAAO,EAAC,UAAU,EAAE,mBAAmB,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAC,CAAC;IAE9F,MAAM,OAAO,GAAG,IAAA,6BAAoB,EAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACxD,OAAO;QACN,UAAU,EAAG,mBAAmB,CAAC,UAAU,CAAC;QAC5C,KAAK,EAAQ,KAAK,IAAO,OAAO,CAAC,KAAK;QACtC,MAAM,EAAO,MAAM,IAAM,OAAO,CAAC,MAAM;QACvC,KAAK,EAAQ,KAAK,IAAO,OAAO,CAAC,KAAK;QACtC,MAAM,EAAO,MAAM,IAAM,OAAO,CAAC,MAAM;QACvC,QAAQ,EAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ;KACzC,CAAC;AACH,CAAC;AAEM,MAAM,OAAO,GAAG,CAAC,KAAc,EAAE,OAAgB,EAAY,EAAE,CACrE,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AADlB,QAAA,OAAO,WACW;AAExB,MAAM,MAAM,GAAG,CAAC,KAAc,EAAE,UAAsB,EAAY,EAAE,CAC1E,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AADb,QAAA,MAAM,UACO;AAEnB,MAAM,GAAG,GAAG,CAAC,MAA0B,EAAY,EAAE,CAC3D,KAAK,CAAC,IAAI,EAAE,IAAA,sBAAa,EAAC,MAAM,CAAC,CAAC,CAAC;AADvB,QAAA,GAAG,OACoB;AAE7B,MAAM,IAAI,GAAG,GAAa,EAAE,CAClC,KAAK,CAAC,KAAK,EAAE,IAAA,sBAAa,GAAE,CAAC,CAAC;AADlB,QAAA,IAAI,QACc"}
@@ -24,7 +24,7 @@ function detectFeatureSupport(isTTY, colorDepth) {
24
24
  const enabled = process.env.TERM !== "dumb" && isTTY;
25
25
  return {
26
26
  style: colorDepth > 1,
27
- caret: enabled,
27
+ cursor: enabled,
28
28
  erase: enabled,
29
29
  scroll: enabled,
30
30
  terminal: enabled,
@@ -1 +1 @@
1
- {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../../src/features/detect.ts"],"names":[],"mappings":";;AAEA,sCAmBC;AAED,oDAYC;AAjCD,SAAgB,aAAa,CAAC,MAA2B;IACxD,IAAI,MAAM,EAAE,KAAK;QAChB,OAAO,MAAM,CAAC,aAAa,EAAgB,CAAC;IAE7C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB;QAC1D,OAAO,CAAC,CAAC;IAEV,QAAQ,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACjC,KAAK,EAAE,CAAC;QACR,KAAK,MAAM,CAAC;QACZ,KAAK,GAAG;YACP,OAAO,CAAC,CAAC;QACV,KAAK,GAAG;YACP,OAAO,CAAC,CAAC;QACV,KAAK,GAAG;YACP,OAAO,EAAE,CAAC;QACX;YACC,OAAO,CAAC,CAAC;IACX,CAAC;AACF,CAAC;AAED,SAAgB,oBAAoB,CACnC,KAAoB,EACpB,UAAuB;IAEvB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC;IACrD,OAAO;QACN,KAAK,EAAM,UAAU,GAAG,CAAC;QACzB,KAAK,EAAM,OAAO;QAClB,KAAK,EAAM,OAAO;QAClB,MAAM,EAAK,OAAO;QAClB,QAAQ,EAAG,OAAO;KAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../../src/features/detect.ts"],"names":[],"mappings":";;AAEA,sCAmBC;AAED,oDAYC;AAjCD,SAAgB,aAAa,CAAC,MAA2B;IACxD,IAAI,MAAM,EAAE,KAAK;QAChB,OAAO,MAAM,CAAC,aAAa,EAAgB,CAAC;IAE7C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB;QAC1D,OAAO,CAAC,CAAC;IAEV,QAAQ,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACjC,KAAK,EAAE,CAAC;QACR,KAAK,MAAM,CAAC;QACZ,KAAK,GAAG;YACP,OAAO,CAAC,CAAC;QACV,KAAK,GAAG;YACP,OAAO,CAAC,CAAC;QACV,KAAK,GAAG;YACP,OAAO,EAAE,CAAC;QACX;YACC,OAAO,CAAC,CAAC;IACX,CAAC;AACF,CAAC;AAED,SAAgB,oBAAoB,CACnC,KAAoB,EACpB,UAAuB;IAEvB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC;IACrD,OAAO;QACN,KAAK,EAAM,UAAU,GAAG,CAAC;QACzB,MAAM,EAAK,OAAO;QAClB,KAAK,EAAM,OAAO;QAClB,MAAM,EAAK,OAAO;QAClB,QAAQ,EAAG,OAAO;KAClB,CAAC;AACH,CAAC"}
@@ -17,12 +17,12 @@ function getFeatures(...args) {
17
17
  return (0, build_1.tty)(features);
18
18
  if (features instanceof node_net_1.Socket)
19
19
  return (0, build_1.pipe)();
20
- const { colorDepth, style, caret, erase, scroll, terminal } = features;
20
+ const { colorDepth, style, cursor, erase, scroll, terminal } = features;
21
21
  stream ??= process.stdout;
22
22
  if (colorDepth)
23
- return (0, build_1.build)(stream.isTTY, colorDepth, style, caret, erase, scroll, terminal);
23
+ return (0, build_1.build)(stream.isTTY, colorDepth, style, cursor, erase, scroll, terminal);
24
24
  if (stream.isTTY)
25
- return (0, build_1.build)(true, (0, detect_1.getColorDepth)(stream), style, caret, erase, scroll, terminal);
26
- return (0, build_1.build)(false, (0, detect_1.getColorDepth)(), style, caret, erase, scroll, terminal);
25
+ return (0, build_1.build)(true, (0, detect_1.getColorDepth)(stream), style, cursor, erase, scroll, terminal);
26
+ return (0, build_1.build)(false, (0, detect_1.getColorDepth)(), style, cursor, erase, scroll, terminal);
27
27
  }
28
28
  //# sourceMappingURL=features.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"features.js","sourceRoot":"","sources":["../../../src/features/features.ts"],"names":[],"mappings":";;AAOA,kCA6BC;AApCD,uCAA2D;AAC3D,uCAA2D;AAC3D,mCAA0D;AAC1D,qCAA2D;AAI3D,SAAgB,WAAW,CAAC,GAAG,IAAU;IACxC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAE9B,IAAI,OAAO,QAAQ,KAAK,SAAS;QAChC,OAAO,IAAA,eAAO,EAAC,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAE5D,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAC/B,OAAO,IAAA,cAAM,EAAC,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAE3D,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAC5C,QAAQ,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvC,IAAI,QAAQ,YAAY,sBAAW;QAClC,OAAO,IAAA,WAAG,EAAC,QAAQ,CAAC,CAAC;IAEtB,IAAI,QAAQ,YAAY,iBAAM;QAC7B,OAAO,IAAA,YAAI,GAAE,CAAC;IAEf,MAAM,EAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAC,GAAG,QAAQ,CAAC;IAErE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC;IAE1B,IAAI,UAAU;QACb,OAAO,IAAA,aAAK,EAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE/E,IAAI,MAAM,CAAC,KAAK;QACf,OAAO,IAAA,aAAK,EAAC,IAAI,EAAE,IAAA,sBAAa,EAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAElF,OAAO,IAAA,aAAK,EAAC,KAAK,EAAE,IAAA,sBAAa,GAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC7E,CAAC"}
1
+ {"version":3,"file":"features.js","sourceRoot":"","sources":["../../../src/features/features.ts"],"names":[],"mappings":";;AAOA,kCA6BC;AApCD,uCAA2D;AAC3D,uCAA2D;AAC3D,mCAA0D;AAC1D,qCAA2D;AAI3D,SAAgB,WAAW,CAAC,GAAG,IAAU;IACxC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAE9B,IAAI,OAAO,QAAQ,KAAK,SAAS;QAChC,OAAO,IAAA,eAAO,EAAC,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAE5D,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAC/B,OAAO,IAAA,cAAM,EAAC,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAE3D,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAC5C,QAAQ,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvC,IAAI,QAAQ,YAAY,sBAAW;QAClC,OAAO,IAAA,WAAG,EAAC,QAAQ,CAAC,CAAC;IAEtB,IAAI,QAAQ,YAAY,iBAAM;QAC7B,OAAO,IAAA,YAAI,GAAE,CAAC;IAEf,MAAM,EAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAC,GAAG,QAAQ,CAAC;IAEtE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC;IAE1B,IAAI,UAAU;QACb,OAAO,IAAA,aAAK,EAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEhF,IAAI,MAAM,CAAC,KAAK;QACf,OAAO,IAAA,aAAK,EAAC,IAAI,EAAE,IAAA,sBAAa,EAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEnF,OAAO,IAAA,aAAK,EAAC,KAAK,EAAE,IAAA,sBAAa,GAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC9E,CAAC"}
@@ -3,7 +3,7 @@ export type ColorDepth = 1 | 3 | 4 | 8 | 24;
3
3
  export interface Features {
4
4
  colorDepth: ColorDepth;
5
5
  style: boolean;
6
- caret: boolean;
6
+ cursor: boolean;
7
7
  erase: boolean;
8
8
  scroll: boolean;
9
9
  terminal: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/features/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAErC,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;AAE5C,MAAM,WAAW,QAAQ;IACxB,UAAU,EAAG,UAAU,CAAC;IACxB,KAAK,EAAQ,OAAO,CAAC;IACrB,KAAK,EAAQ,OAAO,CAAC;IACrB,KAAK,EAAQ,OAAO,CAAC;IACrB,MAAM,EAAO,OAAO,CAAC;IACrB,QAAQ,EAAK,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,IAAI,GACb,CAAC,OAAO,EAAM,OAAO,EAAY,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,GAC7D,CAAC,UAAU,EAAG,UAAU,EAAS,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,GAC7D,CAAC,QAAQ,EAAK,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,GAC7D,CAAC,MAAM,EAAO,MAAM,CAAC,GACrB,CAAC,MAAM,CAAC,EAAM,MAAM,CAAC,WAAW,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/features/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAErC,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;AAE5C,MAAM,WAAW,QAAQ;IACxB,UAAU,EAAG,UAAU,CAAC;IACxB,KAAK,EAAQ,OAAO,CAAC;IACrB,MAAM,EAAO,OAAO,CAAC;IACrB,KAAK,EAAQ,OAAO,CAAC;IACrB,MAAM,EAAO,OAAO,CAAC;IACrB,QAAQ,EAAK,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,IAAI,GACb,CAAC,OAAO,EAAM,OAAO,EAAY,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,GAC7D,CAAC,UAAU,EAAG,UAAU,EAAS,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,GAC7D,CAAC,QAAQ,EAAK,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,GAC7D,CAAC,MAAM,EAAO,MAAM,CAAC,GACrB,CAAC,MAAM,CAAC,EAAM,MAAM,CAAC,WAAW,CAAC,CAAC"}
@@ -3,7 +3,7 @@ declare namespace ansi {
3
3
  type Ansi = import("./types").Ansi;
4
4
  }
5
5
  declare const ansi: typeof $ansi.makeAnsi & import("./sgr").SGR & {
6
- caret: import("./caret").Caret;
6
+ cursor: import("./cursor").Cursor;
7
7
  erase: import("./erase").Erase;
8
8
  scroll: import("./scroll").Scroll;
9
9
  terminal: import("./terminal").Terminal;
@@ -13,6 +13,7 @@ declare const ansi: typeof $ansi.makeAnsi & import("./sgr").SGR & {
13
13
  visibleLength: import("./strip").VisibleLength;
14
14
  sanitize: import("./strip").Sanitize;
15
15
  slice: import("./slice").Slice;
16
+ splitAt: import("./split-at").SplitAt;
16
17
  simplify: import("./simplify").Simplify;
17
18
  features: import("./features").Features;
18
19
  } & {
@@ -22,13 +23,13 @@ declare const ansi: typeof $ansi.makeAnsi & import("./sgr").SGR & {
22
23
  bg: import("./sgr/types").Channel<"fg" | import("./sgr/types").StyleKey>;
23
24
  style: import("./sgr/types").Style<import("./sgr/types").ChainKey>;
24
25
  reset: string;
25
- caret: {
26
- up: (count?: number) => string;
27
- down: (count?: number) => string;
28
- forward: (count?: number) => string;
29
- backward: (count?: number) => string;
30
- nextLine: (count?: number) => string;
31
- prevLine: (count?: number) => string;
26
+ cursor: {
27
+ up: (count?: number | undefined) => string;
28
+ down: (count?: number | undefined) => string;
29
+ forward: (count?: number | undefined) => string;
30
+ backward: (count?: number | undefined) => string;
31
+ nextLine: (count?: number | undefined) => string;
32
+ prevLine: (count?: number | undefined) => string;
32
33
  x: (x: number) => string;
33
34
  save: string;
34
35
  restore: string;
@@ -62,8 +63,8 @@ declare const ansi: typeof $ansi.makeAnsi & import("./sgr").SGR & {
62
63
  };
63
64
  };
64
65
  scroll: {
65
- up: (lines?: number) => string;
66
- down: (lines?: number) => string;
66
+ up: (lines?: number | undefined) => string;
67
+ down: (lines?: number | undefined) => string;
67
68
  };
68
69
  terminal: {
69
70
  focusReporting: {
@@ -89,6 +90,7 @@ declare const ansi: typeof $ansi.makeAnsi & import("./sgr").SGR & {
89
90
  };
90
91
  padEnd: (text: string, targetLength: number, fillString?: string) => string;
91
92
  padStart: (text: string, targetLength: number, fillString?: string) => string;
93
+ splitAt: typeof $ansi.splitAt;
92
94
  strip: (text: string) => string;
93
95
  visibleLength: (text: string) => number;
94
96
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/require.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,QAAQ,CAAC;AAEhC,OAAO,WAAW,IAAI,CAAC;IACtB,KAAY,IAAI,GAAG,OAAO,SAAS,EAAE,IAAI,CAAC;CAC1C;AAID,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAkC,CAAC;AAE7C,SAAS,IAAI,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/require.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,QAAQ,CAAC;AAEhC,OAAO,WAAW,IAAI,CAAC;IACtB,KAAY,IAAI,GAAG,OAAO,SAAS,EAAE,IAAI,CAAC;CAC1C;AAID,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAkC,CAAC;AAE7C,SAAS,IAAI,CAAC"}
@@ -1,6 +1,6 @@
1
1
  declare const scroll: {
2
- up: (lines?: number) => string;
3
- down: (lines?: number) => string;
2
+ up: (lines?: number | undefined) => string;
3
+ down: (lines?: number | undefined) => string;
4
4
  };
5
5
  export type Scroll = typeof scroll;
6
6
  export declare const makeScroll: (enabled?: boolean) => Scroll;
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../src/scroll.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,MAAM;iBACK,MAAM,KAAG,MAAM;mBACf,MAAM,KAAG,MAAM;CAC/B,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC;AAOnC,eAAO,MAAM,UAAU,GAAI,iBAAc,KAAG,MAAqC,CAAC"}
1
+ {"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../src/scroll.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,MAAM;;;CAGX,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC;AAOnC,eAAO,MAAM,UAAU,GAAI,iBAAc,KAAG,MAAqC,CAAC"}
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeScroll = void 0;
4
+ const utils_1 = require("./utils");
4
5
  const scroll = {
5
- up: (lines) => `\x1b[${lines ?? 1}S`,
6
- down: (lines) => `\x1b[${lines ?? 1}T`,
6
+ up: (0, utils_1.count)("S"),
7
+ down: (0, utils_1.count)("T"),
7
8
  };
8
9
  const disabled = {
9
- up: () => "",
10
- down: () => "",
10
+ up: utils_1.noop,
11
+ down: utils_1.noop,
11
12
  };
12
13
  const makeScroll = (enabled = true) => enabled ? scroll : disabled;
13
14
  exports.makeScroll = makeScroll;
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../src/scroll.ts"],"names":[],"mappings":";;;AAAA,MAAM,MAAM,GAAG;IACd,EAAE,EAAK,CAAC,KAAc,EAAU,EAAE,CAAC,QAAQ,KAAK,IAAI,CAAC,GAAG;IACxD,IAAI,EAAG,CAAC,KAAc,EAAU,EAAE,CAAC,QAAQ,KAAK,IAAI,CAAC,GAAG;CACxD,CAAC;AAIF,MAAM,QAAQ,GAAW;IACxB,EAAE,EAAK,GAAG,EAAE,CAAC,EAAE;IACf,IAAI,EAAG,GAAG,EAAE,CAAC,EAAE;CACf,CAAC;AAEK,MAAM,UAAU,GAAG,CAAC,OAAO,GAAG,IAAI,EAAU,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AAArE,QAAA,UAAU,cAA2D"}
1
+ {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../src/scroll.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AAEpC,MAAM,MAAM,GAAG;IACd,EAAE,EAAK,IAAA,aAAK,EAAmB,GAAG,CAAC;IACnC,IAAI,EAAG,IAAA,aAAK,EAAmB,GAAG,CAAC;CACnC,CAAC;AAIF,MAAM,QAAQ,GAAW;IACxB,EAAE,EAAK,YAAI;IACX,IAAI,EAAG,YAAI;CACX,CAAC;AAEK,MAAM,UAAU,GAAG,CAAC,OAAO,GAAG,IAAI,EAAU,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AAArE,QAAA,UAAU,cAA2D"}
@@ -1 +1 @@
1
- {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../../src/sgr/color/channel.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,UAAU,EAAC,MAA6C,gBAAgB,CAAC;AACtF,OAAO,KAAK,EAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAC,MAAM,UAAU,CAAC;AAahF,wBAAgB,WAAW,CAC1B,IAAI,EAAY,WAAW,CAAC,QAAQ,CAAC,EACrC,aAAa,EAAG,aAAa,EAC7B,KAAK,EAAW,KAAK,EACrB,UAAU,EAAM,UAAU,EAC1B,OAAO,EAAS,QAAQ,GACtB,OAAO,CAmBT"}
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../../src/sgr/color/channel.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,UAAU,EAAC,MAA6C,gBAAgB,CAAC;AACtF,OAAO,KAAK,EAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAC,MAAM,UAAU,CAAC;AAahF,wBAAgB,WAAW,CAC1B,IAAI,EAAY,WAAW,CAAC,QAAQ,CAAC,EACrC,aAAa,EAAG,aAAa,EAC7B,KAAK,EAAW,KAAK,EACrB,UAAU,EAAM,UAAU,EAC1B,OAAO,EAAS,QAAQ,GACtB,OAAO,CAmBT"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeChannel = makeChannel;
4
+ const utils_1 = require("../../utils");
4
5
  const lazy_1 = require("../lazy");
5
6
  const context_1 = require("./context");
6
7
  const rgb_1 = require("./rgb");
@@ -20,7 +21,7 @@ function makeChannel(keys, makeFormatter, style, colorDepth, channel) {
20
21
  const rtn = {
21
22
  rgb: (0, rgb_1.makeRGB)(ctx),
22
23
  x256: (0, rgb_1.makeX256)(ctx),
23
- default: colorDepth > 1 ? `\x1b[${close}m` : "",
24
+ default: colorDepth > 1 ? (0, utils_1.csi)(close, "m") : "",
24
25
  };
25
26
  for (let i = 0; i < colors.length; i++) {
26
27
  const color = colors[i];
@@ -1 +1 @@
1
- {"version":3,"file":"channel.js","sourceRoot":"","sources":["../../../../src/sgr/color/channel.ts"],"names":[],"mappings":";;AAkBA,kCAyBC;AA3CD,kCAA0C;AAC1C,uCAA4C;AAC5C,+BAAwC;AAKxC,MAAM,MAAM,GAAG;IACd,OAAO;IACP,KAAK;IACL,OAAO;IACP,QAAQ;IACR,MAAM;IACN,SAAS;IACT,MAAM;IACN,OAAO;CACE,CAAC;AAEX,SAAgB,WAAW,CAC1B,IAAqC,EACrC,aAA6B,EAC7B,KAAqB,EACrB,UAA0B,EAC1B,OAAwB;IAExB,MAAM,GAAG,GAAG,IAAA,sBAAY,EAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC1E,MAAM,EAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAC,GAAG,GAAG,CAAC;IAEzC,MAAM,GAAG,GAAG;QACX,GAAG,EAAO,IAAA,aAAO,EAAC,GAAG,CAAC;QACtB,IAAI,EAAM,IAAA,cAAQ,EAAC,GAAG,CAAC;QACvB,OAAO,EAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE;KACrC,CAAC;IAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,KAAK,GAAS,MAAM,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,WAAW,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAEvE,WAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QAClD,WAAI,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,GAAG,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"channel.js","sourceRoot":"","sources":["../../../../src/sgr/color/channel.ts"],"names":[],"mappings":";;AAmBA,kCAyBC;AA5CD,uCAA8C;AAC9C,kCAA0C;AAC1C,uCAA4C;AAC5C,+BAAwC;AAKxC,MAAM,MAAM,GAAG;IACd,OAAO;IACP,KAAK;IACL,OAAO;IACP,QAAQ;IACR,MAAM;IACN,SAAS;IACT,MAAM;IACN,OAAO;CACE,CAAC;AAEX,SAAgB,WAAW,CAC1B,IAAqC,EACrC,aAA6B,EAC7B,KAAqB,EACrB,UAA0B,EAC1B,OAAwB;IAExB,MAAM,GAAG,GAAG,IAAA,sBAAY,EAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC1E,MAAM,EAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAC,GAAG,GAAG,CAAC;IAEzC,MAAM,GAAG,GAAG;QACX,GAAG,EAAO,IAAA,aAAO,EAAC,GAAG,CAAC;QACtB,IAAI,EAAM,IAAA,cAAQ,EAAC,GAAG,CAAC;QACvB,OAAO,EAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,WAAG,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;KACpC,CAAC;IAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,KAAK,GAAS,MAAM,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,WAAW,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAEvE,WAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QAClD,WAAI,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,GAAG,CAAC;AACZ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"format-builder.d.ts","sourceRoot":"","sources":["../../../src/sgr/format-builder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAsC,aAAa,EAAC,MAAM,SAAS,CAAC;AAY7F,eAAO,MAAM,iBAAiB,GAAI,WAAW,YAAY,KAAG,aAkC1D,CAAC"}
1
+ {"version":3,"file":"format-builder.d.ts","sourceRoot":"","sources":["../../../src/sgr/format-builder.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,YAAY,EAAsC,aAAa,EAAC,MAAM,SAAS,CAAC;AAY7F,eAAO,MAAM,iBAAiB,GAAI,WAAW,YAAY,KAAG,aAkC1D,CAAC"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeFormatBuilder = void 0;
4
4
  const props_1 = require("@peteanderson/props");
5
+ const utils_1 = require("../utils");
5
6
  const combine_1 = require("./combine");
6
7
  const lazy_1 = require("./lazy");
7
8
  const codeSequence = (code) => Array.isArray(code) ? code.join(';') : code;
@@ -12,8 +13,8 @@ const makeFormatBuilder = (makeChain) => function format(keys, open, close, rese
12
13
  const empty = Array.isArray(open) && !open.length;
13
14
  const openCode = empty ? "" : codeSequence(open);
14
15
  const closeCode = empty ? "" : codeSequence(close);
15
- const openSequence = empty ? "" : `\x1b[${openCode}m`;
16
- const closeSequence = empty ? "" : `\x1b[${closeCode}m`;
16
+ const openSequence = empty ? "" : (0, utils_1.csi)(openCode, "m");
17
+ const closeSequence = empty ? "" : (0, utils_1.csi)(closeCode, "m");
17
18
  const reopenCode = reset && !empty ? `${closeCode};${openCode}` : openCode;
18
19
  const rxClose = new RegExp(`(?<start>\\x1b\\[(?:\\d+;)*)${closeCode}(?<end>(?:;\\d+)*m)`, "g");
19
20
  const replace = `$<start>${reopenCode}$<end>`;