@peteanderson/ansi 3.2.0 → 3.4.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 (77) hide show
  1. package/README.md +15 -0
  2. package/dist/cjs/ansi.d.ts +4 -1
  3. package/dist/cjs/ansi.d.ts.map +1 -1
  4. package/dist/cjs/ansi.js +4 -2
  5. package/dist/cjs/ansi.js.map +1 -1
  6. package/dist/cjs/features/build.d.ts +1 -1
  7. package/dist/cjs/features/build.d.ts.map +1 -1
  8. package/dist/cjs/features/build.js +17 -3
  9. package/dist/cjs/features/build.js.map +1 -1
  10. package/dist/cjs/features/detect.d.ts.map +1 -1
  11. package/dist/cjs/features/detect.js +2 -0
  12. package/dist/cjs/features/detect.js.map +1 -1
  13. package/dist/cjs/features/features.js +4 -4
  14. package/dist/cjs/features/features.js.map +1 -1
  15. package/dist/cjs/features/types.d.ts +2 -0
  16. package/dist/cjs/features/types.d.ts.map +1 -1
  17. package/dist/cjs/index.d.ts +4 -1
  18. package/dist/cjs/index.d.ts.map +1 -1
  19. package/dist/cjs/ins-del.d.ts +30 -0
  20. package/dist/cjs/ins-del.d.ts.map +1 -0
  21. package/dist/cjs/{erase.js → ins-del.js} +23 -4
  22. package/dist/cjs/ins-del.js.map +1 -0
  23. package/dist/cjs/slice.d.ts +8 -0
  24. package/dist/cjs/slice.d.ts.map +1 -1
  25. package/dist/cjs/slice.js +8 -0
  26. package/dist/cjs/slice.js.map +1 -1
  27. package/dist/cjs/split-at.d.ts.map +1 -1
  28. package/dist/cjs/split-at.js +2 -1
  29. package/dist/cjs/split-at.js.map +1 -1
  30. package/dist/cjs/types.d.ts +3 -1
  31. package/dist/cjs/types.d.ts.map +1 -1
  32. package/dist/esm/ansi.d.ts +4 -1
  33. package/dist/esm/ansi.d.ts.map +1 -1
  34. package/dist/esm/ansi.js +3 -1
  35. package/dist/esm/ansi.js.map +1 -1
  36. package/dist/esm/features/build.d.ts +1 -1
  37. package/dist/esm/features/build.d.ts.map +1 -1
  38. package/dist/esm/features/build.js +17 -3
  39. package/dist/esm/features/build.js.map +1 -1
  40. package/dist/esm/features/detect.d.ts.map +1 -1
  41. package/dist/esm/features/detect.js +2 -0
  42. package/dist/esm/features/detect.js.map +1 -1
  43. package/dist/esm/features/features.js +4 -4
  44. package/dist/esm/features/features.js.map +1 -1
  45. package/dist/esm/features/types.d.ts +2 -0
  46. package/dist/esm/features/types.d.ts.map +1 -1
  47. package/dist/esm/ins-del.d.ts +30 -0
  48. package/dist/esm/ins-del.d.ts.map +1 -0
  49. package/dist/esm/ins-del.js +46 -0
  50. package/dist/esm/ins-del.js.map +1 -0
  51. package/dist/esm/slice.d.ts +8 -0
  52. package/dist/esm/slice.d.ts.map +1 -1
  53. package/dist/esm/slice.js +8 -0
  54. package/dist/esm/slice.js.map +1 -1
  55. package/dist/esm/split-at.d.ts.map +1 -1
  56. package/dist/esm/split-at.js +2 -1
  57. package/dist/esm/split-at.js.map +1 -1
  58. package/dist/esm/types.d.ts +3 -1
  59. package/dist/esm/types.d.ts.map +1 -1
  60. package/package.json +1 -1
  61. package/src/ansi.ts +13 -11
  62. package/src/features/build.ts +18 -2
  63. package/src/features/detect.ts +2 -0
  64. package/src/features/features.ts +4 -4
  65. package/src/features/types.ts +2 -0
  66. package/src/ins-del.ts +58 -0
  67. package/src/slice.ts +8 -0
  68. package/src/split-at.ts +2 -1
  69. package/src/types.ts +3 -1
  70. package/dist/cjs/erase.d.ts +0 -17
  71. package/dist/cjs/erase.d.ts.map +0 -1
  72. package/dist/cjs/erase.js.map +0 -1
  73. package/dist/esm/erase.d.ts +0 -17
  74. package/dist/esm/erase.d.ts.map +0 -1
  75. package/dist/esm/erase.js +0 -29
  76. package/dist/esm/erase.js.map +0 -1
  77. package/src/erase.ts +0 -33
package/README.md CHANGED
@@ -183,10 +183,25 @@ Terminal control features (available if feature is enabled):
183
183
  - `terminal.bracketedPasteMode.enable` / `terminal.bracketedPasteMode.disable` - enable/disable
184
184
  bracketed paste mode
185
185
 
186
+ ### `insert`
187
+
188
+ Available if feature is enabled:
189
+
190
+ - `insert.char(count)` - insert characters (default 1)
191
+ - `insert.line(count)` - insert lines (default 1)
192
+
193
+ ### `delete`
194
+
195
+ Available if feature is enabled:
196
+
197
+ - `delete.char(count)` - delete characters (default 1)
198
+ - `delete.line(count)` - delete lines (default 1)
199
+
186
200
  ### `erase`
187
201
 
188
202
  Available if feature is enabled:
189
203
 
204
+ - `erase.char(count)` - erase characters (default 1)
190
205
  - `erase.line.toStart` / `erase.line.toEnd` / `erase.line.full` - erase line
191
206
  - `erase.screen.toStart` / `erase.screen.toEnd` / `erase.screen.full` - erase screen
192
207
  - `erase.screen.scrollback` - erase screen and scrollback buffer
@@ -31,6 +31,7 @@ export declare const fg: import("./sgr/types").Channel<"bg" | import("./sgr/type
31
31
  default: string;
32
32
  };
33
33
  }, erase: {
34
+ char: (count?: number | undefined) => string;
34
35
  line: {
35
36
  toStart: string;
36
37
  toEnd: string;
@@ -70,7 +71,9 @@ export declare const fg: import("./sgr/types").Channel<"bg" | import("./sgr/type
70
71
  export { padEnd, padStart, splitAt, strip, visibleLength };
71
72
  declare const _default: typeof makeAnsi & import("./sgr").SGR & {
72
73
  cursor: import("./cursor").Cursor;
73
- erase: import("./erase").Erase;
74
+ delete: import("./ins-del").Delete;
75
+ erase: import("./ins-del").Erase;
76
+ insert: import("./ins-del").Insert;
74
77
  scroll: import("./scroll").Scroll;
75
78
  terminal: import("./terminal").Terminal;
76
79
  padEnd: import("./pad").PadEnd;
@@ -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,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"}
1
+ {"version":3,"file":"ansi.d.ts","sourceRoot":"","sources":["../../src/ansi.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAuB,OAAO,CAAC;AAKxD,OAAO,EAAC,OAAO,EAAC,MAAgC,YAAY,CAAC;AAC7D,OAAO,EAAW,KAAK,EAAE,aAAa,EAAC,MAAS,SAAS,CAAC;AAG1D,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,CA0B5C;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
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
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
5
  const cursor_1 = require("./cursor");
6
- const erase_1 = require("./erase");
6
+ const ins_del_1 = require("./ins-del");
7
7
  const features_1 = require("./features");
8
8
  const pad_1 = require("./pad");
9
9
  Object.defineProperty(exports, "padEnd", { enumerable: true, get: function () { return pad_1.padEnd; } });
@@ -23,7 +23,9 @@ function makeAnsi(...args) {
23
23
  return {
24
24
  ...(0, sgr_1.makeSGR)(features),
25
25
  cursor: (0, cursor_1.makeCursor)(features.cursor),
26
- erase: (0, erase_1.makeErase)(features.erase),
26
+ delete: (0, ins_del_1.makeDelete)(features.erase),
27
+ erase: (0, ins_del_1.makeErase)(features.erase),
28
+ insert: (0, ins_del_1.makeInsert)(features.erase),
27
29
  scroll: (0, scroll_1.makeScroll)(features.scroll),
28
30
  terminal: (0, terminal_1.makeTerminal)(features.terminal),
29
31
  padEnd: pad_1.padEnd,
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"ansi.js","sourceRoot":"","sources":["../../src/ansi.ts"],"names":[],"mappings":";;;AAeA,4BA0BC;AAzCD,qCAA2D;AAC3D,uCAA4D;AAC5D,yCAA6D;AAC7D,+BAAwD;AA4ChD,uFA5CA,YAAM,OA4CA;AAAE,yFA5CA,cAAQ,OA4CA;AA3CxB,qCAA2D;AAC3D,+BAAwD;AACxD,yCAA6D;AAC7D,mCAA0D;AAC1D,yCAA6D;AAuCnC,wFAvClB,kBAAO,OAuCkB;AAtCjC,mCAA0D;AAsCvB,sFAtCjB,aAAK,OAsCiB;AAAE,8FAtCjB,qBAAa,OAsCiB;AArCvD,yCAA6D;AAK7D,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,MAAM,EAAG,IAAA,oBAAU,EAAC,QAAQ,CAAC,KAAK,CAAC;QACnC,KAAK,EAAI,IAAA,mBAAS,EAAC,QAAQ,CAAC,KAAK,CAAC;QAClC,MAAM,EAAG,IAAA,oBAAU,EAAC,QAAQ,CAAC,KAAK,CAAC;QACnC,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"}
@@ -1,5 +1,5 @@
1
1
  import type { ColorDepth, Features } from "./types";
2
- export declare function build(isTTY: boolean, colorDepth: ColorDepth, style?: boolean, cursor?: boolean, erase?: boolean, scroll?: boolean, terminal?: boolean): Features;
2
+ export declare function build(isTTY: boolean, colorDepth: ColorDepth, style?: boolean, cursor?: boolean, del?: boolean, erase?: boolean, insert?: 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,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"}
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,GAAG,CAAC,EAAS,OAAO,EACpB,KAAK,CAAC,EAAO,OAAO,EACpB,MAAM,CAAC,EAAM,OAAO,EACpB,MAAM,CAAC,EAAM,OAAO,EACpB,QAAQ,CAAC,EAAI,OAAO,GAClB,QAAQ,CAiCV;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,19 +15,33 @@ function normalizeColorDepth(colorDepth) {
15
15
  return 3;
16
16
  return 1;
17
17
  }
18
- function build(isTTY, colorDepth, style, cursor, erase, scroll, terminal) {
18
+ function build(isTTY, colorDepth, style, cursor, del, erase, insert, scroll, terminal) {
19
19
  if (style !== undefined &&
20
20
  cursor !== undefined &&
21
+ del !== undefined &&
21
22
  erase !== undefined &&
23
+ insert !== undefined &&
22
24
  scroll !== undefined &&
23
- terminal !== undefined)
24
- return { colorDepth: normalizeColorDepth(colorDepth), style, cursor, erase, scroll, terminal };
25
+ terminal !== undefined) {
26
+ return {
27
+ colorDepth: normalizeColorDepth(colorDepth),
28
+ style,
29
+ cursor,
30
+ delete: del,
31
+ erase,
32
+ insert,
33
+ scroll,
34
+ terminal,
35
+ };
36
+ }
25
37
  const support = (0, detect_1.detectFeatureSupport)(isTTY, colorDepth);
26
38
  return {
27
39
  colorDepth: normalizeColorDepth(colorDepth),
28
40
  style: style ?? support.style,
29
41
  cursor: cursor ?? support.cursor,
42
+ delete: del ?? support.delete,
30
43
  erase: erase ?? support.erase,
44
+ insert: insert ?? support.insert,
31
45
  scroll: scroll ?? support.scroll,
32
46
  terminal: terminal ?? support.terminal,
33
47
  };
@@ -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,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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/features/build.ts"],"names":[],"mappings":";;;AAaA,sBA2CC;AAxDD,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,GAAoB,EACpB,KAAoB,EACpB,MAAoB,EACpB,MAAoB,EACpB,QAAoB;IAEpB,IACC,KAAK,KAAQ,SAAS;QACtB,MAAM,KAAO,SAAS;QACtB,GAAG,KAAU,SAAS;QACtB,KAAK,KAAQ,SAAS;QACtB,MAAM,KAAO,SAAS;QACtB,MAAM,KAAO,SAAS;QACtB,QAAQ,KAAK,SAAS,EACrB,CAAC;QACF,OAAO;YACN,UAAU,EAAE,mBAAmB,CAAC,UAAU,CAAC;YAC3C,KAAK;YACL,MAAM;YACN,MAAM,EAAE,GAAG;YACX,KAAK;YACL,MAAM;YACN,MAAM;YACN,QAAQ;SACR,CAAC;IACH,CAAC;IAED,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,MAAM,EAAO,GAAG,IAAS,OAAO,CAAC,MAAM;QACvC,KAAK,EAAQ,KAAK,IAAO,OAAO,CAAC,KAAK;QACtC,MAAM,EAAO,MAAM,IAAM,OAAO,CAAC,MAAM;QACvC,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 +1 @@
1
- {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../../src/features/detect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;AAElD,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,GAAG,UAAU,CAmBrE;AAED,wBAAgB,oBAAoB,CACnC,KAAK,EAAQ,OAAO,EACpB,UAAU,EAAG,UAAU,GACrB,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAS9B"}
1
+ {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../../src/features/detect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;AAElD,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,GAAG,UAAU,CAmBrE;AAED,wBAAgB,oBAAoB,CACnC,KAAK,EAAQ,OAAO,EACpB,UAAU,EAAG,UAAU,GACrB,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAW9B"}
@@ -25,7 +25,9 @@ function detectFeatureSupport(isTTY, colorDepth) {
25
25
  return {
26
26
  style: colorDepth > 1,
27
27
  cursor: enabled,
28
+ delete: enabled,
28
29
  erase: enabled,
30
+ insert: enabled,
29
31
  scroll: enabled,
30
32
  terminal: enabled,
31
33
  };
@@ -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,MAAM,EAAK,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,oDAcC;AAnCD,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,MAAM,EAAK,OAAO;QAClB,KAAK,EAAM,OAAO;QAClB,MAAM,EAAK,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, cursor, erase, scroll, terminal } = features;
20
+ const { colorDepth, style, cursor, delete: del, erase, insert, scroll, terminal } = features;
21
21
  stream ??= process.stdout;
22
22
  if (colorDepth)
23
- return (0, build_1.build)(stream.isTTY, colorDepth, style, cursor, erase, scroll, terminal);
23
+ return (0, build_1.build)(stream.isTTY, colorDepth, style, cursor, del, erase, insert, scroll, terminal);
24
24
  if (stream.isTTY)
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);
25
+ return (0, build_1.build)(true, (0, detect_1.getColorDepth)(stream), style, cursor, del, erase, insert, scroll, terminal);
26
+ return (0, build_1.build)(false, (0, detect_1.getColorDepth)(), style, cursor, del, erase, insert, 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,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"}
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,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAC,GAAG,QAAQ,CAAC;IAE3F,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC;IAE1B,IAAI,UAAU;QACb,OAAO,IAAA,aAAK,EAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE7F,IAAI,MAAM,CAAC,KAAK;QACf,OAAO,IAAA,aAAK,EAAC,IAAI,EAAE,IAAA,sBAAa,EAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEhG,OAAO,IAAA,aAAK,EAAC,KAAK,EAAE,IAAA,sBAAa,GAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC3F,CAAC"}
@@ -4,7 +4,9 @@ export interface Features {
4
4
  colorDepth: ColorDepth;
5
5
  style: boolean;
6
6
  cursor: boolean;
7
+ delete: boolean;
7
8
  erase: boolean;
9
+ insert: boolean;
8
10
  scroll: boolean;
9
11
  terminal: boolean;
10
12
  }
@@ -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,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"}
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,MAAM,EAAO,OAAO,CAAC;IACrB,KAAK,EAAQ,OAAO,CAAC;IACrB,MAAM,EAAO,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"}
@@ -4,7 +4,9 @@ declare namespace ansi {
4
4
  }
5
5
  declare const ansi: typeof $ansi.makeAnsi & import("./sgr").SGR & {
6
6
  cursor: import("./cursor").Cursor;
7
- erase: import("./erase").Erase;
7
+ delete: import("./ins-del").Delete;
8
+ erase: import("./ins-del").Erase;
9
+ insert: import("./ins-del").Insert;
8
10
  scroll: import("./scroll").Scroll;
9
11
  terminal: import("./terminal").Terminal;
10
12
  padEnd: import("./pad").PadEnd;
@@ -50,6 +52,7 @@ declare const ansi: typeof $ansi.makeAnsi & import("./sgr").SGR & {
50
52
  };
51
53
  };
52
54
  erase: {
55
+ char: (count?: number | undefined) => string;
53
56
  line: {
54
57
  toStart: string;
55
58
  toEnd: string;
@@ -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"}
@@ -0,0 +1,30 @@
1
+ declare const erase: {
2
+ char: (count?: number | undefined) => string;
3
+ line: {
4
+ toStart: string;
5
+ toEnd: string;
6
+ full: string;
7
+ };
8
+ screen: {
9
+ toStart: string;
10
+ toEnd: string;
11
+ full: string;
12
+ scrollback: string;
13
+ };
14
+ };
15
+ declare const insert: {
16
+ char: (count?: number | undefined) => string;
17
+ line: (count?: number | undefined) => string;
18
+ };
19
+ declare const del: {
20
+ char: (count?: number | undefined) => string;
21
+ line: (count?: number | undefined) => string;
22
+ };
23
+ export type Erase = typeof erase;
24
+ export type Insert = typeof insert;
25
+ export type Delete = typeof del;
26
+ export declare const makeErase: (enabled?: boolean) => Erase;
27
+ export declare const makeInsert: (enabled?: boolean) => Insert;
28
+ export declare const makeDelete: (enabled?: boolean) => Delete;
29
+ export {};
30
+ //# sourceMappingURL=ins-del.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ins-del.d.ts","sourceRoot":"","sources":["../../src/ins-del.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,KAAK;;;;;;;;;;;;;CAcV,CAAC;AAEF,QAAA,MAAM,MAAM;;;CAGX,CAAC;AAEF,QAAA,MAAM,GAAG;;;CAGR,CAAC;AAEF,MAAM,MAAM,KAAK,GAAI,OAAO,KAAK,CAAC;AAClC,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC;AACnC,MAAM,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC;AAyBhC,eAAO,MAAM,SAAS,GAAK,iBAAc,KAAG,KAA0C,CAAC;AACvF,eAAO,MAAM,UAAU,GAAI,iBAAc,KAAG,MAA2C,CAAC;AACxF,eAAO,MAAM,UAAU,GAAI,iBAAc,KAAG,MAA2C,CAAC"}
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeErase = void 0;
3
+ exports.makeDelete = exports.makeInsert = exports.makeErase = void 0;
4
4
  const utils_1 = require("./utils");
5
5
  const erase = {
6
+ char: (0, utils_1.count)("X"),
6
7
  line: {
7
8
  toStart: (0, utils_1.csi)("1K"),
8
9
  toEnd: (0, utils_1.csi)("0K"),
@@ -15,7 +16,16 @@ const erase = {
15
16
  scrollback: (0, utils_1.csi)("3J"),
16
17
  },
17
18
  };
18
- const disabled = {
19
+ const insert = {
20
+ char: (0, utils_1.count)("@"),
21
+ line: (0, utils_1.count)("L"),
22
+ };
23
+ const del = {
24
+ char: (0, utils_1.count)("P"),
25
+ line: (0, utils_1.count)("M"),
26
+ };
27
+ const disabledErase = {
28
+ char: utils_1.noop,
19
29
  line: {
20
30
  toStart: "",
21
31
  toEnd: "",
@@ -28,6 +38,15 @@ const disabled = {
28
38
  scrollback: "",
29
39
  },
30
40
  };
31
- const makeErase = (enabled = true) => enabled ? erase : disabled;
41
+ const disabledInsert = {
42
+ char: utils_1.noop,
43
+ line: utils_1.noop,
44
+ };
45
+ const disabledDelete = disabledInsert;
46
+ const makeErase = (enabled = true) => enabled ? erase : disabledErase;
32
47
  exports.makeErase = makeErase;
33
- //# sourceMappingURL=erase.js.map
48
+ const makeInsert = (enabled = true) => enabled ? insert : disabledInsert;
49
+ exports.makeInsert = makeInsert;
50
+ const makeDelete = (enabled = true) => enabled ? del : disabledDelete;
51
+ exports.makeDelete = makeDelete;
52
+ //# sourceMappingURL=ins-del.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ins-del.js","sourceRoot":"","sources":["../../src/ins-del.ts"],"names":[],"mappings":";;;AAAA,mCAAyC;AAEzC,MAAM,KAAK,GAAG;IACb,IAAI,EAAE,IAAA,aAAK,EAAC,GAAG,CAAC;IAEhB,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;AAEF,MAAM,MAAM,GAAG;IACd,IAAI,EAAE,IAAA,aAAK,EAAC,GAAG,CAAC;IAChB,IAAI,EAAE,IAAA,aAAK,EAAC,GAAG,CAAC;CAChB,CAAC;AAEF,MAAM,GAAG,GAAG;IACX,IAAI,EAAE,IAAA,aAAK,EAAC,GAAG,CAAC;IAChB,IAAI,EAAE,IAAA,aAAK,EAAC,GAAG,CAAC;CAChB,CAAC;AAMF,MAAM,aAAa,GAAU;IAC5B,IAAI,EAAE,YAAI;IAEV,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;AAEF,MAAM,cAAc,GAAW;IAC9B,IAAI,EAAE,YAAI;IACV,IAAI,EAAE,YAAI;CACV,CAAC;AAEF,MAAM,cAAc,GAAW,cAAc,CAAC;AAEvC,MAAM,SAAS,GAAI,CAAC,OAAO,GAAG,IAAI,EAAU,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAE,CAAC,CAAC,aAAa,CAAC;AAA1E,QAAA,SAAS,aAAiE;AAChF,MAAM,UAAU,GAAG,CAAC,OAAO,GAAG,IAAI,EAAU,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC;AAA3E,QAAA,UAAU,cAAiE;AACjF,MAAM,UAAU,GAAG,CAAC,OAAO,GAAG,IAAI,EAAU,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAI,CAAC,CAAC,cAAc,CAAC;AAA3E,QAAA,UAAU,cAAiE"}
@@ -11,6 +11,14 @@ export declare function skippedSequences(text: string, start: number, end?: numb
11
11
  * printed. If you compose two or more slices together, there may be redundant SGR sequences at the
12
12
  * boundaries, but the result will be correct. You can use `simplify` to remove the redundancies.
13
13
  *
14
+ * Negative indices for `start` or `end` are interpreted as offsets from the end of the string,
15
+ * counting only visible characters. For example, `slice(text, -1)` returns a string containing only
16
+ * the last visible character of `text`, as well as any SGR codes from before and after that
17
+ * character.
18
+ *
19
+ * This function is analogous to `String.prototype.slice`. If the given string contains no ANSI
20
+ * sequences, the result will be the same as `text.slice(start, end)`.
21
+ *
14
22
  * Note the following caveats:
15
23
  *
16
24
  * * Any non-SGR ANSI codes prior to or after the slice will be ignored.
@@ -1 +1 @@
1
- {"version":3,"file":"slice.d.ts","sourceRoot":"","sources":["../../src/slice.ts"],"names":[],"mappings":"AAIA,wBAAgB,OAAO,CACtB,IAAI,EAAc,MAAM,EACxB,eAAe,EAAG,MAAM,EACxB,YAAY,EAAM,MAAM,GACtB;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAsBjC;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAGlF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CA8BvE;AAED,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC"}
1
+ {"version":3,"file":"slice.d.ts","sourceRoot":"","sources":["../../src/slice.ts"],"names":[],"mappings":"AAIA,wBAAgB,OAAO,CACtB,IAAI,EAAc,MAAM,EACxB,eAAe,EAAG,MAAM,EACxB,YAAY,EAAM,MAAM,GACtB;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAsBjC;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAGlF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CA8BvE;AAED,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC"}
package/dist/cjs/slice.js CHANGED
@@ -37,6 +37,14 @@ function skippedSequences(text, start, end) {
37
37
  * printed. If you compose two or more slices together, there may be redundant SGR sequences at the
38
38
  * boundaries, but the result will be correct. You can use `simplify` to remove the redundancies.
39
39
  *
40
+ * Negative indices for `start` or `end` are interpreted as offsets from the end of the string,
41
+ * counting only visible characters. For example, `slice(text, -1)` returns a string containing only
42
+ * the last visible character of `text`, as well as any SGR codes from before and after that
43
+ * character.
44
+ *
45
+ * This function is analogous to `String.prototype.slice`. If the given string contains no ANSI
46
+ * sequences, the result will be the same as `text.slice(start, end)`.
47
+ *
40
48
  * Note the following caveats:
41
49
  *
42
50
  * * Any non-SGR ANSI codes prior to or after the slice will be ignored.
@@ -1 +1 @@
1
- {"version":3,"file":"slice.js","sourceRoot":"","sources":["../../src/slice.ts"],"names":[],"mappings":";;AAIA,0BA0BC;AAED,4CAGC;AAqBD,sBA8BC;AAtFD,yCAAyC;AACzC,yCAAyC;AACzC,mCAAsC;AAEtC,SAAgB,OAAO,CACtB,IAAwB,EACxB,eAAwB,EACxB,YAAwB;IAExB,gEAAgE;IAChE,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,gBAAK,CAAC,CAAC;IAE7B,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,KAAK,GAAI,eAAe,CAAC;IAE7B,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,GAAG,YAAY,EAAE,CAAC;QACrD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,MAAM,EAAE,CAAC;YAC5B,EAAE,CAAC,SAAS,GAAG,KAAK,CAAC;YACrB,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,KAAK,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC;gBAC5B,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACzB,SAAS;YACV,CAAC;QACF,CAAC;QAED,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC;IACV,CAAC;IAED,OAAO,EAAC,KAAK,EAAE,MAAM,EAAC,CAAC;AACxB,CAAC;AAED,SAAgB,gBAAgB,CAAC,IAAY,EAAE,KAAa,EAAE,GAAY;IACzE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,gBAAK,CAAC,CAAC,CAAC;IAClE,OAAO,SAAS,CAAC,CAAC,CAAC,IAAA,mBAAQ,EAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtD,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,KAAK,CAAC,IAAY,EAAE,KAAa,EAAE,GAAY;IAC9D,IAAI,iBAAqC,CAAC;IAC1C,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,iBAAiB,KAAK,IAAA,qBAAa,EAAC,IAAI,CAAC,CAAC;IAEzE,IAAI,GAAG,KAAK,SAAS;QACpB,GAAG,GAAG,gBAAgB,EAAE,CAAC;IAE1B,IAAI,KAAK,GAAG,CAAC;QACZ,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC,CAAC;IACjD,IAAI,GAAG,GAAG,CAAC;QACV,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,EAAE,GAAG,GAAG,CAAC,CAAC;IAE7C,IAAI,KAAK,GAAG,GAAG;QACd,OAAO,EAAE,CAAC;IAEX,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC;IAEb,MAAM,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAE5E,MAAM,QAAQ,GACb,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,cAAc,GAAG,GAAG;QAC/C,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,GAAG,cAAc,CAAC,CAAC,KAAK;QACvD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IAEhB,mGAAmG;IACnG,MAAM,gBAAgB,GAAI,gBAAgB,CAAC,IAAI,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAChE,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAE3D,OAAO,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,iBAAiB,CAAC;AAChF,CAAC"}
1
+ {"version":3,"file":"slice.js","sourceRoot":"","sources":["../../src/slice.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"split-at.d.ts","sourceRoot":"","sources":["../../src/split-at.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CACtB,IAAI,EAAa,MAAM,EACvB,YAAY,EAAK,MAAM,EACvB,cAAc,GAAG,OAAe,GAC9B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAwB9B;AAED,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC"}
1
+ {"version":3,"file":"split-at.d.ts","sourceRoot":"","sources":["../../src/split-at.ts"],"names":[],"mappings":"AAKA;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CACtB,IAAI,EAAa,MAAM,EACvB,YAAY,EAAK,MAAM,EACvB,cAAc,GAAG,OAAe,GAC9B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAwB9B;AAED,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.splitAt = splitAt;
4
4
  const slice_1 = require("./slice");
5
+ const strip_1 = require("./strip");
5
6
  /**
6
7
  * Split a string into two parts at the given visible index (i.e., the given visible character,
7
8
  * ignoring ANSI escape codes). The returned strings will include any ANSI escape codes from within
@@ -15,7 +16,7 @@ function splitAt(text, visibleIndex, includeSkipped = false) {
15
16
  if (!visibleIndex)
16
17
  return ["", text];
17
18
  if (visibleIndex < 0)
18
- throw new Error("visibleIndex must be non-negative");
19
+ visibleIndex = Math.max(0, (0, strip_1.visibleLength)(text) + visibleIndex);
19
20
  if (visibleIndex > text.length)
20
21
  return [text, ""];
21
22
  const { index } = (0, slice_1.scanCSI)(text, 0, visibleIndex);
@@ -1 +1 @@
1
- {"version":3,"file":"split-at.js","sourceRoot":"","sources":["../../src/split-at.ts"],"names":[],"mappings":";;AAaA,0BA4BC;AAzCD,mCAAkD;AAIlD;;;;;;;;GAQG;AACH,SAAgB,OAAO,CACtB,IAAuB,EACvB,YAAuB,EACvB,iBAA2B,KAAK;IAEhC,IAAI,CAAC,YAAY;QAChB,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAEnB,IAAI,YAAY,GAAG,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAEtD,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM;QAC7B,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEnB,MAAM,EAAC,KAAK,EAAC,GAAG,IAAA,eAAO,EAAC,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;IAE/C,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM;QACxB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEnB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACjC,IAAI,GAAG,GAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAE9B,IAAI,cAAc,EAAE,CAAC;QACpB,KAAK,IAAI,IAAA,wBAAgB,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACvC,GAAG,GAAM,IAAA,wBAAgB,EAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC;IACjD,CAAC;IAED,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"split-at.js","sourceRoot":"","sources":["../../src/split-at.ts"],"names":[],"mappings":";;AAcA,0BA4BC;AA1CD,mCAAkD;AAClD,mCAAkD;AAIlD;;;;;;;;GAQG;AACH,SAAgB,OAAO,CACtB,IAAuB,EACvB,YAAuB,EACvB,iBAA2B,KAAK;IAEhC,IAAI,CAAC,YAAY;QAChB,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAEnB,IAAI,YAAY,GAAG,CAAC;QACnB,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAA,qBAAa,EAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;IAEhE,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM;QAC7B,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEnB,MAAM,EAAC,KAAK,EAAC,GAAG,IAAA,eAAO,EAAC,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;IAE/C,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM;QACxB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAEnB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACjC,IAAI,GAAG,GAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAE9B,IAAI,cAAc,EAAE,CAAC;QACpB,KAAK,IAAI,IAAA,wBAAgB,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACvC,GAAG,GAAM,IAAA,wBAAgB,EAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC;IACjD,CAAC;IAED,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACrB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { Cursor } from "./cursor";
2
- import type { Erase } from "./erase";
2
+ import type { Delete, Erase, Insert } from "./ins-del";
3
3
  import type { Features } from "./features";
4
4
  import type { PadEnd, PadStart } from "./pad";
5
5
  import type { Scroll } from "./scroll";
@@ -11,7 +11,9 @@ import type { Sanitize, Strip, VisibleLength } from "./strip";
11
11
  import type { Terminal } from "./terminal";
12
12
  export type Ansi = SGR & {
13
13
  cursor: Cursor;
14
+ delete: Delete;
14
15
  erase: Erase;
16
+ insert: Insert;
15
17
  scroll: Scroll;
16
18
  terminal: Terminal;
17
19
  padEnd: PadEnd;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAA8B,UAAU,CAAC;AAC7D,OAAO,KAAK,EAAC,KAAK,EAAC,MAA+B,SAAS,CAAC;AAC5D,OAAO,KAAK,EAAC,QAAQ,EAAC,MAA4B,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAoB,OAAO,CAAC;AAC1D,OAAO,KAAK,EAAC,MAAM,EAAC,MAA8B,UAAU,CAAC;AAC7D,OAAO,KAAK,EAAC,GAAG,EAAC,MAAiC,OAAO,CAAC;AAC1D,OAAO,KAAK,EAAC,QAAQ,EAAC,MAA4B,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAC,KAAK,EAAC,MAA+B,SAAS,CAAC;AAC5D,OAAO,KAAK,EAAC,OAAO,EAAC,MAA6B,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AAC5D,OAAO,KAAK,EAAC,QAAQ,EAAC,MAA4B,YAAY,CAAC;AAE/D,MAAM,MAAM,IAAI,GAAG,GAAG,GAAG;IACxB,MAAM,EAAK,MAAM,CAAC;IAClB,KAAK,EAAM,KAAK,CAAC;IACjB,MAAM,EAAK,MAAM,CAAC;IAClB,QAAQ,EAAG,QAAQ,CAAC;IAEpB,MAAM,EAAK,MAAM,CAAC;IAClB,QAAQ,EAAG,QAAQ,CAAC;IAEpB,KAAK,EAAW,KAAK,CAAC;IACtB,aAAa,EAAG,aAAa,CAAC;IAC9B,QAAQ,EAAQ,QAAQ,CAAC;IACzB,KAAK,EAAW,KAAK,CAAC;IACtB,OAAO,EAAS,OAAO,CAAC;IACxB,QAAQ,EAAQ,QAAQ,CAAC;IAEzB,QAAQ,EAAG,QAAQ,CAAC;CACpB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAA8B,UAAU,CAAC;AAC7D,OAAO,KAAK,EAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAC,MAAe,WAAW,CAAC;AAC9D,OAAO,KAAK,EAAC,QAAQ,EAAC,MAA4B,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAoB,OAAO,CAAC;AAC1D,OAAO,KAAK,EAAC,MAAM,EAAC,MAA8B,UAAU,CAAC;AAC7D,OAAO,KAAK,EAAC,GAAG,EAAC,MAAiC,OAAO,CAAC;AAC1D,OAAO,KAAK,EAAC,QAAQ,EAAC,MAA4B,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAC,KAAK,EAAC,MAA+B,SAAS,CAAC;AAC5D,OAAO,KAAK,EAAC,OAAO,EAAC,MAA6B,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AAC5D,OAAO,KAAK,EAAC,QAAQ,EAAC,MAA4B,YAAY,CAAC;AAE/D,MAAM,MAAM,IAAI,GAAG,GAAG,GAAG;IACxB,MAAM,EAAK,MAAM,CAAC;IAClB,MAAM,EAAK,MAAM,CAAC;IAClB,KAAK,EAAM,KAAK,CAAC;IACjB,MAAM,EAAK,MAAM,CAAC;IAClB,MAAM,EAAK,MAAM,CAAC;IAClB,QAAQ,EAAG,QAAQ,CAAC;IAEpB,MAAM,EAAK,MAAM,CAAC;IAClB,QAAQ,EAAG,QAAQ,CAAC;IAEpB,KAAK,EAAW,KAAK,CAAC;IACtB,aAAa,EAAG,aAAa,CAAC;IAC9B,QAAQ,EAAQ,QAAQ,CAAC;IACzB,KAAK,EAAW,KAAK,CAAC;IACtB,OAAO,EAAS,OAAO,CAAC;IACxB,QAAQ,EAAQ,QAAQ,CAAC;IAEzB,QAAQ,EAAG,QAAQ,CAAC;CACpB,CAAC"}
@@ -31,6 +31,7 @@ export declare const fg: import("./sgr/types.js").Channel<"bg" | import("./sgr/t
31
31
  default: string;
32
32
  };
33
33
  }, erase: {
34
+ char: (count?: number | undefined) => string;
34
35
  line: {
35
36
  toStart: string;
36
37
  toEnd: string;
@@ -70,7 +71,9 @@ export declare const fg: import("./sgr/types.js").Channel<"bg" | import("./sgr/t
70
71
  export { padEnd, padStart, splitAt, strip, visibleLength };
71
72
  declare const _default: typeof makeAnsi & import("./sgr/index.js").SGR & {
72
73
  cursor: import("./cursor.js").Cursor;
73
- erase: import("./erase.js").Erase;
74
+ delete: import("./ins-del.js").Delete;
75
+ erase: import("./ins-del.js").Erase;
76
+ insert: import("./ins-del.js").Insert;
74
77
  scroll: import("./scroll.js").Scroll;
75
78
  terminal: import("./terminal.js").Terminal;
76
79
  padEnd: import("./pad.js").PadEnd;
@@ -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,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"}
1
+ {"version":3,"file":"ansi.d.ts","sourceRoot":"","sources":["../../src/ansi.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAuB,OAAO,CAAC;AAKxD,OAAO,EAAC,OAAO,EAAC,MAAgC,YAAY,CAAC;AAC7D,OAAO,EAAW,KAAK,EAAE,aAAa,EAAC,MAAS,SAAS,CAAC;AAG1D,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,CA0B5C;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/esm/ansi.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { makeCursor } from "./cursor.js";
2
- import { makeErase } from "./erase.js";
2
+ import { makeDelete, makeErase, makeInsert } from "./ins-del.js";
3
3
  import { getFeatures } from "./features/index.js";
4
4
  import { padEnd, padStart } from "./pad.js";
5
5
  import { makeScroll } from "./scroll.js";
@@ -14,7 +14,9 @@ export function makeAnsi(...args) {
14
14
  return {
15
15
  ...makeSGR(features),
16
16
  cursor: makeCursor(features.cursor),
17
+ delete: makeDelete(features.erase),
17
18
  erase: makeErase(features.erase),
19
+ insert: makeInsert(features.erase),
18
20
  scroll: makeScroll(features.scroll),
19
21
  terminal: makeTerminal(features.terminal),
20
22
  padEnd,
@@ -1 +1 @@
1
- {"version":3,"file":"ansi.js","sourceRoot":"","sources":["../../src/ansi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAA0B,UAAU,CAAC;AACxD,OAAO,EAAC,SAAS,EAAC,MAA2B,SAAS,CAAC;AACvD,OAAO,EAAC,WAAW,EAAC,MAAyB,YAAY,CAAC;AAC1D,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAoB,OAAO,CAAC;AACrD,OAAO,EAAC,UAAU,EAAC,MAA0B,UAAU,CAAC;AACxD,OAAO,EAAC,OAAO,EAAC,MAA6B,OAAO,CAAC;AACrD,OAAO,EAAC,QAAQ,EAAC,MAA4B,YAAY,CAAC;AAC1D,OAAO,EAAC,KAAK,EAAC,MAA+B,SAAS,CAAC;AACvD,OAAO,EAAC,OAAO,EAAC,MAA6B,YAAY,CAAC;AAC1D,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AACvD,OAAO,EAAC,YAAY,EAAC,MAAwB,YAAY,CAAC;AAK1D,MAAM,UAAU,QAAQ,CAAC,GAAG,IAAU;IACrC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC;IAEtC,OAAO;QACN,GAAG,OAAO,CAAC,QAAQ,CAAC;QAEpB,MAAM,EAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QACpC,KAAK,EAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;QAClC,MAAM,EAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QAEpC,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAEzC,MAAM;QACN,QAAQ;QAER,KAAK;QACL,aAAa;QACb,QAAQ;QACR,KAAK;QACL,QAAQ;QACR,OAAO;QAEP,QAAQ;KACR,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;AAE/B,MAAM,CAAC,MAAM,EAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAC,GAAG,IAAI,CAAC;AAE5E,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAC,CAAA;AAExD,eAAe,MAAM,CAAC,MAAM,CAC3B,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAC,KAAK,EAAE,MAAM,EAAC,CAAC,EACxE,IAAI,CACJ,CAAC"}
1
+ {"version":3,"file":"ansi.js","sourceRoot":"","sources":["../../src/ansi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAA6B,UAAU,CAAC;AAC3D,OAAO,EAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAC,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAC,WAAW,EAAC,MAA4B,YAAY,CAAC;AAC7D,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAuB,OAAO,CAAC;AACxD,OAAO,EAAC,UAAU,EAAC,MAA6B,UAAU,CAAC;AAC3D,OAAO,EAAC,OAAO,EAAC,MAAgC,OAAO,CAAC;AACxD,OAAO,EAAC,QAAQ,EAAC,MAA+B,YAAY,CAAC;AAC7D,OAAO,EAAC,KAAK,EAAC,MAAkC,SAAS,CAAC;AAC1D,OAAO,EAAC,OAAO,EAAC,MAAgC,YAAY,CAAC;AAC7D,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAC,MAAS,SAAS,CAAC;AAC1D,OAAO,EAAC,YAAY,EAAC,MAA2B,YAAY,CAAC;AAK7D,MAAM,UAAU,QAAQ,CAAC,GAAG,IAAU;IACrC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC;IAEtC,OAAO;QACN,GAAG,OAAO,CAAC,QAAQ,CAAC;QAEpB,MAAM,EAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QACpC,MAAM,EAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;QACnC,KAAK,EAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;QAClC,MAAM,EAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;QACnC,MAAM,EAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QAEpC,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAEzC,MAAM;QACN,QAAQ;QAER,KAAK;QACL,aAAa;QACb,QAAQ;QACR,KAAK;QACL,QAAQ;QACR,OAAO;QAEP,QAAQ;KACR,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;AAE/B,MAAM,CAAC,MAAM,EAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAC,GAAG,IAAI,CAAC;AAE5E,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAC,CAAA;AAExD,eAAe,MAAM,CAAC,MAAM,CAC3B,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAC,KAAK,EAAE,MAAM,EAAC,CAAC,EACxE,IAAI,CACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { ColorDepth, Features } from "./types.js";
2
- export declare function build(isTTY: boolean, colorDepth: ColorDepth, style?: boolean, cursor?: boolean, erase?: boolean, scroll?: boolean, terminal?: boolean): Features;
2
+ export declare function build(isTTY: boolean, colorDepth: ColorDepth, style?: boolean, cursor?: boolean, del?: boolean, erase?: boolean, insert?: 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,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"}
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,GAAG,CAAC,EAAS,OAAO,EACpB,KAAK,CAAC,EAAO,OAAO,EACpB,MAAM,CAAC,EAAM,OAAO,EACpB,MAAM,CAAC,EAAM,OAAO,EACpB,QAAQ,CAAC,EAAI,OAAO,GAClB,QAAQ,CAiCV;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"}
@@ -11,19 +11,33 @@ function normalizeColorDepth(colorDepth) {
11
11
  return 3;
12
12
  return 1;
13
13
  }
14
- export function build(isTTY, colorDepth, style, cursor, erase, scroll, terminal) {
14
+ export function build(isTTY, colorDepth, style, cursor, del, erase, insert, scroll, terminal) {
15
15
  if (style !== undefined &&
16
16
  cursor !== undefined &&
17
+ del !== undefined &&
17
18
  erase !== undefined &&
19
+ insert !== undefined &&
18
20
  scroll !== undefined &&
19
- terminal !== undefined)
20
- return { colorDepth: normalizeColorDepth(colorDepth), style, cursor, erase, scroll, terminal };
21
+ terminal !== undefined) {
22
+ return {
23
+ colorDepth: normalizeColorDepth(colorDepth),
24
+ style,
25
+ cursor,
26
+ delete: del,
27
+ erase,
28
+ insert,
29
+ scroll,
30
+ terminal,
31
+ };
32
+ }
21
33
  const support = detectFeatureSupport(isTTY, colorDepth);
22
34
  return {
23
35
  colorDepth: normalizeColorDepth(colorDepth),
24
36
  style: style ?? support.style,
25
37
  cursor: cursor ?? support.cursor,
38
+ delete: del ?? support.delete,
26
39
  erase: erase ?? support.erase,
40
+ insert: insert ?? support.insert,
27
41
  scroll: scroll ?? support.scroll,
28
42
  terminal: terminal ?? support.terminal,
29
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/features/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAE,aAAa,EAAC,MAAM,UAAU,CAAC;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,MAAM,UAAU,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,oBAAoB,CAAC,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;AAED,MAAM,CAAC,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;AAE/B,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAc,EAAE,UAAsB,EAAY,EAAE,CAC1E,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAE1B,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,MAA0B,EAAY,EAAE,CAC3D,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;AAEpC,MAAM,CAAC,MAAM,IAAI,GAAG,GAAa,EAAE,CAClC,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/features/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAE,aAAa,EAAC,MAAM,UAAU,CAAC;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,MAAM,UAAU,KAAK,CACpB,KAAoB,EACpB,UAAuB,EACvB,KAAoB,EACpB,MAAoB,EACpB,GAAoB,EACpB,KAAoB,EACpB,MAAoB,EACpB,MAAoB,EACpB,QAAoB;IAEpB,IACC,KAAK,KAAQ,SAAS;QACtB,MAAM,KAAO,SAAS;QACtB,GAAG,KAAU,SAAS;QACtB,KAAK,KAAQ,SAAS;QACtB,MAAM,KAAO,SAAS;QACtB,MAAM,KAAO,SAAS;QACtB,QAAQ,KAAK,SAAS,EACrB,CAAC;QACF,OAAO;YACN,UAAU,EAAE,mBAAmB,CAAC,UAAU,CAAC;YAC3C,KAAK;YACL,MAAM;YACN,MAAM,EAAE,GAAG;YACX,KAAK;YACL,MAAM;YACN,MAAM;YACN,QAAQ;SACR,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,oBAAoB,CAAC,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,MAAM,EAAO,GAAG,IAAS,OAAO,CAAC,MAAM;QACvC,KAAK,EAAQ,KAAK,IAAO,OAAO,CAAC,KAAK;QACtC,MAAM,EAAO,MAAM,IAAM,OAAO,CAAC,MAAM;QACvC,MAAM,EAAO,MAAM,IAAM,OAAO,CAAC,MAAM;QACvC,QAAQ,EAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ;KACzC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,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;AAE/B,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAc,EAAE,UAAsB,EAAY,EAAE,CAC1E,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAE1B,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,MAA0B,EAAY,EAAE,CAC3D,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;AAEpC,MAAM,CAAC,MAAM,IAAI,GAAG,GAAa,EAAE,CAClC,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../../src/features/detect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;AAElD,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,GAAG,UAAU,CAmBrE;AAED,wBAAgB,oBAAoB,CACnC,KAAK,EAAQ,OAAO,EACpB,UAAU,EAAG,UAAU,GACrB,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAS9B"}
1
+ {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../../src/features/detect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAE,QAAQ,EAAC,MAAM,SAAS,CAAC;AAElD,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,GAAG,UAAU,CAmBrE;AAED,wBAAgB,oBAAoB,CACnC,KAAK,EAAQ,OAAO,EACpB,UAAU,EAAG,UAAU,GACrB,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAW9B"}
@@ -21,7 +21,9 @@ export function detectFeatureSupport(isTTY, colorDepth) {
21
21
  return {
22
22
  style: colorDepth > 1,
23
23
  cursor: enabled,
24
+ delete: enabled,
24
25
  erase: enabled,
26
+ insert: enabled,
25
27
  scroll: enabled,
26
28
  terminal: enabled,
27
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../../src/features/detect.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,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,MAAM,UAAU,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"}
1
+ {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../../src/features/detect.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,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,MAAM,UAAU,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,MAAM,EAAK,OAAO;QAClB,KAAK,EAAM,OAAO;QAClB,MAAM,EAAK,OAAO;QAClB,MAAM,EAAK,OAAO;QAClB,QAAQ,EAAG,OAAO;KAClB,CAAC;AACH,CAAC"}
@@ -14,12 +14,12 @@ export function getFeatures(...args) {
14
14
  return tty(features);
15
15
  if (features instanceof Socket)
16
16
  return pipe();
17
- const { colorDepth, style, cursor, erase, scroll, terminal } = features;
17
+ const { colorDepth, style, cursor, delete: del, erase, insert, scroll, terminal } = features;
18
18
  stream ??= process.stdout;
19
19
  if (colorDepth)
20
- return build(stream.isTTY, colorDepth, style, cursor, erase, scroll, terminal);
20
+ return build(stream.isTTY, colorDepth, style, cursor, del, erase, insert, scroll, terminal);
21
21
  if (stream.isTTY)
22
- return build(true, getColorDepth(stream), style, cursor, erase, scroll, terminal);
23
- return build(false, getColorDepth(), style, cursor, erase, scroll, terminal);
22
+ return build(true, getColorDepth(stream), style, cursor, del, erase, insert, scroll, terminal);
23
+ return build(false, getColorDepth(), style, cursor, del, erase, insert, scroll, terminal);
24
24
  }
25
25
  //# sourceMappingURL=features.js.map