@peteanderson/ansi 3.7.1 → 3.8.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 (233) hide show
  1. package/README.md +40 -0
  2. package/dist/cjs/ansi.d.ts +7 -3
  3. package/dist/cjs/ansi.d.ts.map +1 -1
  4. package/dist/cjs/ansi.js +6 -1
  5. package/dist/cjs/ansi.js.map +1 -1
  6. package/dist/cjs/code.d.ts +10 -0
  7. package/dist/cjs/code.d.ts.map +1 -0
  8. package/dist/cjs/code.js +9 -0
  9. package/dist/cjs/code.js.map +1 -0
  10. package/dist/cjs/cursor.js +30 -30
  11. package/dist/cjs/cursor.js.map +1 -1
  12. package/dist/cjs/index.d.ts +12 -7
  13. package/dist/cjs/index.d.ts.map +1 -1
  14. package/dist/cjs/ins-del.js +16 -16
  15. package/dist/cjs/ins-del.js.map +1 -1
  16. package/dist/cjs/package.json +25 -0
  17. package/dist/cjs/scroll.js +9 -9
  18. package/dist/cjs/scroll.js.map +1 -1
  19. package/dist/cjs/sgr/chain/attach.d.ts +5 -0
  20. package/dist/cjs/sgr/chain/attach.d.ts.map +1 -0
  21. package/dist/cjs/sgr/chain/attach.js +10 -0
  22. package/dist/cjs/sgr/chain/attach.js.map +1 -0
  23. package/dist/cjs/sgr/chain/build.d.ts +8 -0
  24. package/dist/cjs/sgr/chain/build.d.ts.map +1 -0
  25. package/dist/cjs/sgr/chain/build.js +15 -0
  26. package/dist/cjs/sgr/chain/build.js.map +1 -0
  27. package/dist/cjs/sgr/chain/chain.d.ts +13 -0
  28. package/dist/cjs/sgr/chain/chain.d.ts.map +1 -0
  29. package/dist/cjs/sgr/chain/chain.js +36 -0
  30. package/dist/cjs/sgr/chain/chain.js.map +1 -0
  31. package/dist/cjs/sgr/chain/index.d.ts +5 -0
  32. package/dist/cjs/sgr/chain/index.d.ts.map +1 -0
  33. package/dist/cjs/sgr/chain/index.js +20 -0
  34. package/dist/cjs/sgr/chain/index.js.map +1 -0
  35. package/dist/cjs/sgr/chain/keys.d.ts +5 -0
  36. package/dist/cjs/sgr/chain/keys.d.ts.map +1 -0
  37. package/dist/cjs/sgr/chain/keys.js +8 -0
  38. package/dist/cjs/sgr/chain/keys.js.map +1 -0
  39. package/dist/cjs/sgr/color/channel.d.ts +29 -3
  40. package/dist/cjs/sgr/color/channel.d.ts.map +1 -1
  41. package/dist/cjs/sgr/color/channel.js +8 -8
  42. package/dist/cjs/sgr/color/channel.js.map +1 -1
  43. package/dist/cjs/sgr/color/color.d.ts +9 -3
  44. package/dist/cjs/sgr/color/color.d.ts.map +1 -1
  45. package/dist/cjs/sgr/color/color.js +6 -10
  46. package/dist/cjs/sgr/color/color.js.map +1 -1
  47. package/dist/cjs/sgr/color/context.d.ts +12 -8
  48. package/dist/cjs/sgr/color/context.d.ts.map +1 -1
  49. package/dist/cjs/sgr/color/context.js +28 -18
  50. package/dist/cjs/sgr/color/context.js.map +1 -1
  51. package/dist/cjs/sgr/color/rgb.d.ts +7 -4
  52. package/dist/cjs/sgr/color/rgb.d.ts.map +1 -1
  53. package/dist/cjs/sgr/color/rgb.js +12 -12
  54. package/dist/cjs/sgr/color/rgb.js.map +1 -1
  55. package/dist/cjs/sgr/combine.d.ts +1 -1
  56. package/dist/cjs/sgr/combine.d.ts.map +1 -1
  57. package/dist/cjs/sgr/context.d.ts +16 -0
  58. package/dist/cjs/sgr/context.d.ts.map +1 -0
  59. package/dist/cjs/sgr/context.js +43 -0
  60. package/dist/cjs/sgr/context.js.map +1 -0
  61. package/dist/cjs/sgr/format.d.ts +19 -0
  62. package/dist/cjs/sgr/format.d.ts.map +1 -0
  63. package/dist/cjs/sgr/format.js +35 -0
  64. package/dist/cjs/sgr/format.js.map +1 -0
  65. package/dist/cjs/sgr/index.d.ts +3 -1
  66. package/dist/cjs/sgr/index.d.ts.map +1 -1
  67. package/dist/cjs/sgr/index.js +3 -0
  68. package/dist/cjs/sgr/index.js.map +1 -1
  69. package/dist/cjs/sgr/reset.js +2 -2
  70. package/dist/cjs/sgr/reset.js.map +1 -1
  71. package/dist/cjs/sgr/sgr.d.ts +10 -2
  72. package/dist/cjs/sgr/sgr.d.ts.map +1 -1
  73. package/dist/cjs/sgr/sgr.js +7 -32
  74. package/dist/cjs/sgr/sgr.js.map +1 -1
  75. package/dist/cjs/sgr/style.d.ts +9 -2
  76. package/dist/cjs/sgr/style.d.ts.map +1 -1
  77. package/dist/cjs/sgr/style.js +13 -12
  78. package/dist/cjs/sgr/style.js.map +1 -1
  79. package/dist/cjs/simplify/simplify.d.ts.map +1 -1
  80. package/dist/cjs/simplify/simplify.js +4 -7
  81. package/dist/cjs/simplify/simplify.js.map +1 -1
  82. package/dist/cjs/slice.js +3 -3
  83. package/dist/cjs/slice.js.map +1 -1
  84. package/dist/cjs/strip.js +3 -3
  85. package/dist/cjs/strip.js.map +1 -1
  86. package/dist/cjs/terminal.js +13 -13
  87. package/dist/cjs/terminal.js.map +1 -1
  88. package/dist/cjs/types.d.ts +2 -1
  89. package/dist/cjs/types.d.ts.map +1 -1
  90. package/dist/cjs/utils.d.ts +3 -1
  91. package/dist/cjs/utils.d.ts.map +1 -1
  92. package/dist/cjs/utils.js +9 -6
  93. package/dist/cjs/utils.js.map +1 -1
  94. package/dist/esm/ansi.d.ts +7 -3
  95. package/dist/esm/ansi.d.ts.map +1 -1
  96. package/dist/esm/ansi.js +3 -2
  97. package/dist/esm/ansi.js.map +1 -1
  98. package/dist/esm/code.d.ts +10 -0
  99. package/dist/esm/code.d.ts.map +1 -0
  100. package/dist/esm/code.js +6 -0
  101. package/dist/esm/code.js.map +1 -0
  102. package/dist/esm/cursor.js +5 -5
  103. package/dist/esm/cursor.js.map +1 -1
  104. package/dist/esm/index.d.ts +1 -1
  105. package/dist/esm/index.d.ts.map +1 -1
  106. package/dist/esm/ins-del.js +1 -1
  107. package/dist/esm/ins-del.js.map +1 -1
  108. package/dist/esm/package.json +25 -1
  109. package/dist/esm/scroll.js +3 -3
  110. package/dist/esm/scroll.js.map +1 -1
  111. package/dist/esm/sgr/chain/attach.d.ts +5 -0
  112. package/dist/esm/sgr/chain/attach.d.ts.map +1 -0
  113. package/dist/esm/sgr/chain/attach.js +6 -0
  114. package/dist/esm/sgr/chain/attach.js.map +1 -0
  115. package/dist/esm/sgr/chain/build.d.ts +8 -0
  116. package/dist/esm/sgr/chain/build.d.ts.map +1 -0
  117. package/dist/esm/sgr/chain/build.js +12 -0
  118. package/dist/esm/sgr/chain/build.js.map +1 -0
  119. package/dist/esm/sgr/chain/chain.d.ts +13 -0
  120. package/dist/esm/sgr/chain/chain.d.ts.map +1 -0
  121. package/dist/esm/sgr/chain/chain.js +33 -0
  122. package/dist/esm/sgr/chain/chain.js.map +1 -0
  123. package/dist/esm/sgr/chain/index.d.ts +5 -0
  124. package/dist/esm/sgr/chain/index.d.ts.map +1 -0
  125. package/dist/esm/sgr/chain/index.js +4 -0
  126. package/dist/esm/sgr/chain/index.js.map +1 -0
  127. package/dist/esm/sgr/chain/keys.d.ts +5 -0
  128. package/dist/esm/sgr/chain/keys.d.ts.map +1 -0
  129. package/dist/esm/sgr/chain/keys.js +5 -0
  130. package/dist/esm/sgr/chain/keys.js.map +1 -0
  131. package/dist/esm/sgr/color/channel.d.ts +29 -3
  132. package/dist/esm/sgr/color/channel.d.ts.map +1 -1
  133. package/dist/esm/sgr/color/channel.js +9 -9
  134. package/dist/esm/sgr/color/channel.js.map +1 -1
  135. package/dist/esm/sgr/color/color.d.ts +9 -3
  136. package/dist/esm/sgr/color/color.d.ts.map +1 -1
  137. package/dist/esm/sgr/color/color.js +4 -10
  138. package/dist/esm/sgr/color/color.js.map +1 -1
  139. package/dist/esm/sgr/color/context.d.ts +12 -8
  140. package/dist/esm/sgr/color/context.d.ts.map +1 -1
  141. package/dist/esm/sgr/color/context.js +27 -17
  142. package/dist/esm/sgr/color/context.js.map +1 -1
  143. package/dist/esm/sgr/color/rgb.d.ts +7 -4
  144. package/dist/esm/sgr/color/rgb.d.ts.map +1 -1
  145. package/dist/esm/sgr/color/rgb.js +12 -12
  146. package/dist/esm/sgr/color/rgb.js.map +1 -1
  147. package/dist/esm/sgr/combine.d.ts +1 -1
  148. package/dist/esm/sgr/combine.d.ts.map +1 -1
  149. package/dist/esm/sgr/context.d.ts +16 -0
  150. package/dist/esm/sgr/context.d.ts.map +1 -0
  151. package/dist/esm/sgr/context.js +39 -0
  152. package/dist/esm/sgr/context.js.map +1 -0
  153. package/dist/esm/sgr/format.d.ts +19 -0
  154. package/dist/esm/sgr/format.d.ts.map +1 -0
  155. package/dist/esm/sgr/format.js +32 -0
  156. package/dist/esm/sgr/format.js.map +1 -0
  157. package/dist/esm/sgr/index.d.ts +3 -1
  158. package/dist/esm/sgr/index.d.ts.map +1 -1
  159. package/dist/esm/sgr/index.js +1 -0
  160. package/dist/esm/sgr/index.js.map +1 -1
  161. package/dist/esm/sgr/reset.js +1 -1
  162. package/dist/esm/sgr/reset.js.map +1 -1
  163. package/dist/esm/sgr/sgr.d.ts +10 -2
  164. package/dist/esm/sgr/sgr.d.ts.map +1 -1
  165. package/dist/esm/sgr/sgr.js +7 -32
  166. package/dist/esm/sgr/sgr.js.map +1 -1
  167. package/dist/esm/sgr/style.d.ts +9 -2
  168. package/dist/esm/sgr/style.d.ts.map +1 -1
  169. package/dist/esm/sgr/style.js +12 -12
  170. package/dist/esm/sgr/style.js.map +1 -1
  171. package/dist/esm/simplify/simplify.d.ts.map +1 -1
  172. package/dist/esm/simplify/simplify.js +3 -6
  173. package/dist/esm/simplify/simplify.js.map +1 -1
  174. package/dist/esm/slice.js +1 -1
  175. package/dist/esm/slice.js.map +1 -1
  176. package/dist/esm/strip.js +1 -1
  177. package/dist/esm/strip.js.map +1 -1
  178. package/dist/esm/terminal.js +1 -1
  179. package/dist/esm/terminal.js.map +1 -1
  180. package/dist/esm/types.d.ts +2 -1
  181. package/dist/esm/types.d.ts.map +1 -1
  182. package/dist/esm/utils.d.ts +3 -1
  183. package/dist/esm/utils.d.ts.map +1 -1
  184. package/dist/esm/utils.js +7 -5
  185. package/dist/esm/utils.js.map +1 -1
  186. package/package.json +13 -5
  187. package/src/ansi.ts +3 -2
  188. package/src/code.ts +9 -0
  189. package/src/cursor.ts +5 -5
  190. package/src/index.ts +1 -1
  191. package/src/ins-del.ts +1 -1
  192. package/src/require.ts +3 -3
  193. package/src/scroll.ts +3 -3
  194. package/src/sgr/chain/attach.ts +13 -0
  195. package/src/sgr/chain/build.ts +25 -0
  196. package/src/sgr/chain/chain.ts +60 -0
  197. package/src/sgr/chain/index.ts +5 -0
  198. package/src/sgr/chain/keys.ts +8 -0
  199. package/src/sgr/color/channel.ts +47 -19
  200. package/src/sgr/color/color.ts +14 -19
  201. package/src/sgr/color/context.ts +37 -31
  202. package/src/sgr/color/rgb.ts +21 -20
  203. package/src/sgr/combine.ts +1 -1
  204. package/src/sgr/context.ts +68 -0
  205. package/src/sgr/format.ts +72 -0
  206. package/src/sgr/index.ts +4 -2
  207. package/src/sgr/reset.ts +1 -1
  208. package/src/sgr/sgr.ts +21 -49
  209. package/src/sgr/style.ts +31 -21
  210. package/src/simplify/simplify.ts +3 -6
  211. package/src/slice.ts +1 -1
  212. package/src/strip.ts +1 -1
  213. package/src/terminal.ts +1 -1
  214. package/src/types.ts +2 -1
  215. package/src/utils.ts +12 -7
  216. package/dist/cjs/sgr/format-builder.d.ts +0 -3
  217. package/dist/cjs/sgr/format-builder.d.ts.map +0 -1
  218. package/dist/cjs/sgr/format-builder.js +0 -34
  219. package/dist/cjs/sgr/format-builder.js.map +0 -1
  220. package/dist/cjs/sgr/types.d.ts +0 -61
  221. package/dist/cjs/sgr/types.d.ts.map +0 -1
  222. package/dist/cjs/sgr/types.js +0 -3
  223. package/dist/cjs/sgr/types.js.map +0 -1
  224. package/dist/esm/sgr/format-builder.d.ts +0 -3
  225. package/dist/esm/sgr/format-builder.d.ts.map +0 -1
  226. package/dist/esm/sgr/format-builder.js +0 -30
  227. package/dist/esm/sgr/format-builder.js.map +0 -1
  228. package/dist/esm/sgr/types.d.ts +0 -61
  229. package/dist/esm/sgr/types.d.ts.map +0 -1
  230. package/dist/esm/sgr/types.js +0 -2
  231. package/dist/esm/sgr/types.js.map +0 -1
  232. package/src/sgr/format-builder.ts +0 -52
  233. package/src/sgr/types.ts +0 -93
@@ -1,46 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeSGR = makeSGR;
4
- const typed_object_1 = require("../typed-object");
4
+ const _code_1 = require("#code");
5
5
  const color_1 = require("./color");
6
- const combine_1 = require("./combine");
7
- const format_builder_1 = require("./format-builder");
6
+ const context_1 = require("./context");
7
+ const format_1 = require("./format");
8
8
  const reset_1 = require("./reset");
9
- const style_1 = require("./style");
10
- const keyMap = {
11
- fg: undefined,
12
- bg: undefined,
13
- bold: undefined,
14
- dim: undefined,
15
- italic: undefined,
16
- underline: undefined,
17
- inverse: undefined,
18
- hidden: undefined,
19
- strikethrough: undefined,
20
- doubleUnderline: undefined,
21
- frame: undefined,
22
- encircle: undefined,
23
- overline: undefined,
24
- };
25
- const allKeys = new Set(typed_object_1.TypedObject.keys(keyMap));
26
9
  const cache = {};
27
10
  function makeSGR(features) {
28
11
  const cacheKey = `${features.colorDepth}.${features.style}`;
29
12
  if (cache[cacheKey])
30
13
  return cache[cacheKey];
31
- const makeFormat = (0, format_builder_1.makeFormatBuilder)(makeChain);
32
- const style = (0, style_1.makeStyle)(allKeys, makeFormat, features.style);
33
- function makeChain(keys, baseFormat) {
34
- const makeChainedFormat = (keys, open, close, reset) => makeFormat(keys, (0, combine_1.combineCodes)(baseFormat.codes.open, open), (0, combine_1.combineCodes)(baseFormat.codes.close, close), reset);
35
- return {
36
- ...(0, color_1.makeColor)(keys, makeChainedFormat, style, features.colorDepth),
37
- ...(0, style_1.makeStyle)(keys, makeChainedFormat, features.style),
38
- };
39
- }
14
+ const context = (0, context_1.createContext)(features);
40
15
  const rtn = {
41
- ...(0, color_1.makeColor)(allKeys, makeFormat, style, features.colorDepth),
42
- style,
43
- plain: makeFormat(allKeys, [], []),
16
+ ...(0, color_1.makeColor)(context),
17
+ style: context.style,
18
+ plain: (0, format_1.makeFormat)(context, _code_1.Code.disabled, _code_1.Code.disabled),
44
19
  reset: (0, reset_1.makeReset)(features.colorDepth > 1 || features.style),
45
20
  };
46
21
  cache[cacheKey] = rtn;
@@ -1 +1 @@
1
- {"version":3,"file":"sgr.js","sourceRoot":"","sources":["../../../src/sgr/sgr.ts"],"names":[],"mappings":";;AA8BA,0BAmCC;AAjED,kDAAkD;AAClD,mCAA0C;AAC1C,uCAA4C;AAC5C,qDAAmD;AACnD,mCAA0C;AAC1C,mCAA0C;AAK1C,MAAM,MAAM,GAAgC;IAC3C,EAAE,EAAgB,SAAS;IAC3B,EAAE,EAAgB,SAAS;IAC3B,IAAI,EAAc,SAAS;IAC3B,GAAG,EAAe,SAAS;IAC3B,MAAM,EAAY,SAAS;IAC3B,SAAS,EAAS,SAAS;IAC3B,OAAO,EAAW,SAAS;IAC3B,MAAM,EAAY,SAAS;IAC3B,aAAa,EAAK,SAAS;IAC3B,eAAe,EAAG,SAAS;IAC3B,KAAK,EAAa,SAAS;IAC3B,QAAQ,EAAU,SAAS;IAC3B,QAAQ,EAAU,SAAS;CAC3B,CAAC;AAEF,MAAM,OAAO,GAA0B,IAAI,GAAG,CAAC,0BAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAEzE,MAAM,KAAK,GAAqD,EAAE,CAAC;AAEnE,SAAgB,OAAO,CAAC,QAAkB;IACzC,MAAM,QAAQ,GAAG,GAAG,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,KAAK,EAAW,CAAC;IACrE,IAAI,KAAK,CAAC,QAAQ,CAAC;QAClB,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;IAExB,MAAM,UAAU,GAAG,IAAA,kCAAiB,EAAC,SAAS,CAAC,CAAC;IAChD,MAAM,KAAK,GAAQ,IAAA,iBAAS,EAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElE,SAAS,SAAS,CACjB,IAA8B,EAC9B,UAAuB;QAEvB,MAAM,iBAAiB,GAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,CAChF,IAAI,EACJ,IAAA,sBAAY,EAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EACzC,IAAA,sBAAY,EAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,EAC3C,KAAK,CACL,CAAC;QAEF,OAAO;YACN,GAAG,IAAA,iBAAS,EAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC;YACjE,GAAG,IAAA,iBAAS,EAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC;SACrD,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAQ;QAChB,GAAG,IAAA,iBAAS,EAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC;QAC7D,KAAK;QACL,KAAK,EAAG,UAAU,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC;QACnC,KAAK,EAAG,IAAA,iBAAS,EAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC;KAC5D,CAAC;IAEF,KAAK,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;IAEtB,OAAO,GAAG,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"sgr.js","sourceRoot":"","sources":["../../../src/sgr/sgr.ts"],"names":[],"mappings":";;AAoBA,0BAiBC;AArCD,iCAAoC;AACpC,mCAAsC;AACtC,uCAAwC;AACxC,qCAAuC;AACvC,mCAAsC;AActC,MAAM,KAAK,GAAqD,EAAE,CAAC;AAEnE,SAAgB,OAAO,CAAC,QAAkB;IACzC,MAAM,QAAQ,GAAG,GAAG,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,KAAK,EAAW,CAAC;IACrE,IAAI,KAAK,CAAC,QAAQ,CAAC;QAClB,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;IAExB,MAAM,OAAO,GAAG,IAAA,uBAAa,EAAC,QAAQ,CAAC,CAAC;IAExC,MAAM,GAAG,GAAQ;QAChB,GAAG,IAAA,iBAAS,EAAC,OAAO,CAAC;QACrB,KAAK,EAAG,OAAO,CAAC,KAAK;QACrB,KAAK,EAAG,IAAA,mBAAU,EAAC,OAAO,EAAE,YAAI,CAAC,QAAQ,EAAE,YAAI,CAAC,QAAQ,CAAC;QACzD,KAAK,EAAG,IAAA,iBAAS,EAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC;KAC5D,CAAC;IAEF,KAAK,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;IAEtB,OAAO,GAAG,CAAC;AACZ,CAAC"}
@@ -1,3 +1,10 @@
1
- import type { ChainKey, FormatBuilder, Style } from "./types";
2
- export declare function makeStyle(keys: ReadonlySet<ChainKey>, makeFormatter: FormatBuilder, enabled: boolean): Style<any>;
1
+ import type { ChainKey } from "./chain";
2
+ import type { FormatContext } from "./context";
3
+ import type { Format } from "./format";
4
+ export declare const styleKeys: ("italic" | "underline" | "inverse" | "hidden" | "strikethrough" | "frame" | "overline" | "bold" | "dim" | "doubleUnderline" | "encircle")[];
5
+ export type StyleKey = typeof styleKeys[number];
6
+ export type Style<Keys extends ChainKey = ChainKey> = {
7
+ [K in Extract<StyleKey, Keys>]: Format<Exclude<Keys, K>>;
8
+ };
9
+ export declare function makeStyle<Keys extends ChainKey>(context: FormatContext<Keys>): Style<Keys>;
3
10
  //# sourceMappingURL=style.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../../src/sgr/style.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAW,MAAM,SAAS,CAAC;AAgBtE,wBAAgB,SAAS,CACxB,IAAI,EAAY,WAAW,CAAC,QAAQ,CAAC,EACrC,aAAa,EAAG,aAAa,EAC7B,OAAO,EAAS,OAAO,GACrB,KAAK,CAAC,GAAG,CAAC,CAcZ"}
1
+ {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../../src/sgr/style.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAW,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAa,UAAU,CAAC;AAkB5C,eAAO,MAAM,SAAS,8IAAkC,CAAC;AAEzD,MAAM,MAAM,QAAQ,GAAG,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;AAEhD,MAAM,MAAM,KAAK,CAAC,IAAI,SAAS,QAAQ,GAAG,QAAQ,IAAI;KACpD,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;CACxD,CAAC;AAOF,wBAAgB,SAAS,CAAC,IAAI,SAAS,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAS1F"}
@@ -1,9 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.styleKeys = void 0;
3
4
  exports.makeStyle = makeStyle;
4
- const typed_object_1 = require("../typed-object");
5
+ const _code_1 = require("#code");
6
+ const _typed_object_1 = require("#typed-object");
7
+ const format_1 = require("./format");
5
8
  const lazy_1 = require("./lazy");
6
- const propParams = typed_object_1.TypedObject.entries({
9
+ const propParamsObj = {
7
10
  bold: [1, 22, true],
8
11
  dim: [2, 22, true],
9
12
  italic: [3, 23],
@@ -15,17 +18,15 @@ const propParams = typed_object_1.TypedObject.entries({
15
18
  frame: [51, 54],
16
19
  encircle: [52, 54],
17
20
  overline: [53, 55],
18
- });
19
- function makeStyle(keys, makeFormatter, enabled) {
21
+ };
22
+ exports.styleKeys = _typed_object_1.TypedObject.keys(propParamsObj);
23
+ const propParams = Object.entries(propParamsObj);
24
+ const disabledParams = propParams.map(([key]) => [key, [_code_1.Code.disabled, _code_1.Code.disabled]]);
25
+ function makeStyle(context) {
20
26
  const rtn = {};
21
- for (const [key, args] of propParams) {
22
- if (keys.has(key)) {
23
- lazy_1.lazy.add(rtn, key, () => {
24
- const newKeys = new Set(keys);
25
- newKeys.delete(key);
26
- return enabled ? makeFormatter(newKeys, ...args) : makeFormatter(newKeys, [], []);
27
- });
28
- }
27
+ for (const [key, args] of context.features.style ? propParams : disabledParams) {
28
+ if (context.keys.has(key))
29
+ lazy_1.lazy.add(rtn, key, () => (0, format_1.makeFormat)(context.removeKey(key), ...args));
29
30
  }
30
31
  return rtn;
31
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","sourceRoot":"","sources":["../../../src/sgr/style.ts"],"names":[],"mappings":";;AAmBA,8BAkBC;AArCD,kDAA4C;AAC5C,iCAAmC;AAInC,MAAM,UAAU,GAAG,0BAAW,CAAC,OAAO,CAAyD;IAC9F,IAAI,EAAc,CAAE,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC;IAChC,GAAG,EAAe,CAAE,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC;IAChC,MAAM,EAAY,CAAE,CAAC,EAAE,EAAE,CAAC;IAC1B,SAAS,EAAS,CAAE,CAAC,EAAE,EAAE,CAAC;IAC1B,OAAO,EAAW,CAAE,CAAC,EAAE,EAAE,CAAC;IAC1B,MAAM,EAAY,CAAE,CAAC,EAAE,EAAE,CAAC;IAC1B,aAAa,EAAK,CAAE,CAAC,EAAE,EAAE,CAAC;IAC1B,eAAe,EAAG,CAAC,EAAE,EAAE,EAAE,CAAC;IAC1B,KAAK,EAAa,CAAC,EAAE,EAAE,EAAE,CAAC;IAC1B,QAAQ,EAAU,CAAC,EAAE,EAAE,EAAE,CAAC;IAC1B,QAAQ,EAAU,CAAC,EAAE,EAAE,EAAE,CAAC;CAC1B,CAAC,CAAC;AAEH,SAAgB,SAAS,CACxB,IAAqC,EACrC,aAA6B,EAC7B,OAAuB;IAEvB,MAAM,GAAG,GAAG,EAAgB,CAAC;IAE7B,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,UAAU,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,WAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;gBACvB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC9B,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACpB,OAAO,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACnF,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,OAAO,GAAG,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"style.js","sourceRoot":"","sources":["../../../src/sgr/style.ts"],"names":[],"mappings":";;;AAsCA,8BASC;AA/CD,iCAAwC;AACxC,iDAAgD;AAChD,qCAA2C;AAC3C,iCAAyC;AAQzC,MAAM,aAAa,GAAG;IACrB,IAAI,EAAc,CAAE,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC;IAChC,GAAG,EAAe,CAAE,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC;IAChC,MAAM,EAAY,CAAE,CAAC,EAAE,EAAE,CAAC;IAC1B,SAAS,EAAS,CAAE,CAAC,EAAE,EAAE,CAAC;IAC1B,OAAO,EAAW,CAAE,CAAC,EAAE,EAAE,CAAC;IAC1B,MAAM,EAAY,CAAE,CAAC,EAAE,EAAE,CAAC;IAC1B,aAAa,EAAK,CAAE,CAAC,EAAE,EAAE,CAAC;IAC1B,eAAe,EAAG,CAAC,EAAE,EAAE,EAAE,CAAC;IAC1B,KAAK,EAAa,CAAC,EAAE,EAAE,EAAE,CAAC;IAC1B,QAAQ,EAAU,CAAC,EAAE,EAAE,EAAE,CAAC;IAC1B,QAAQ,EAAU,CAAC,EAAE,EAAE,EAAE,CAAC;CACkB,CAAC;AAEjC,QAAA,SAAS,GAAG,2BAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAQzD,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAiD,CAAC;AAEjG,MAAM,cAAc,GACnB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,YAAI,CAAC,QAAQ,EAAE,YAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAElE,SAAgB,SAAS,CAAwB,OAA4B;IAC5E,MAAM,GAAG,GAAG,EAAiB,CAAC;IAE9B,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;QAChF,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAW,CAAC;YAChC,WAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAA,mBAAU,EAAC,OAAO,CAAC,SAAS,CAAC,GAAW,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,OAAO,GAAG,CAAC;AACZ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"simplify.d.ts","sourceRoot":"","sources":["../../../src/simplify/simplify.ts"],"names":[],"mappings":"AAIA,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAwB7C;AAED,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC"}
1
+ {"version":3,"file":"simplify.d.ts","sourceRoot":"","sources":["../../../src/simplify/simplify.ts"],"names":[],"mappings":"AAIA,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAqB7C;AAED,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC"}
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.simplify = simplify;
4
- const patterns_1 = require("../patterns");
5
- const utils_1 = require("../utils");
4
+ const _patterns_1 = require("#patterns");
5
+ const _utils_1 = require("#utils");
6
6
  const state_1 = require("./state");
7
7
  function simplify(text) {
8
8
  // `.split` doesn't modify `lastIndex`, so no clone is necessary here.
9
- const parts = text.split(patterns_1.rxSGR);
9
+ const parts = text.split(_patterns_1.rxSGR);
10
10
  const state = new state_1.State();
11
11
  let result = parts[0];
12
12
  for (let i = 1; i < parts.length;) {
@@ -17,10 +17,7 @@ function simplify(text) {
17
17
  codes.push(...parts[i++].split(";").map(s => s ? Number(s) : ""));
18
18
  chunk = parts[i++];
19
19
  }
20
- const newCodes = state.update(codes);
21
- if (newCodes.length)
22
- result += (0, utils_1.csi)(newCodes.join(";"), "m");
23
- result += chunk;
20
+ result += (0, _utils_1.csi)(state.update(codes), "m") + chunk;
24
21
  }
25
22
  return result;
26
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"simplify.js","sourceRoot":"","sources":["../../../src/simplify/simplify.ts"],"names":[],"mappings":";;AAIA,4BAwBC;AA5BD,0CAAkC;AAClC,oCAA+B;AAC/B,mCAA8B;AAE9B,SAAgB,QAAQ,CAAC,IAAY;IACpC,sEAAsE;IACtE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAK,CAAC,CAAC;IAEhC,MAAM,KAAK,GAAI,IAAI,aAAK,EAAE,CAAC;IAC3B,IAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAExB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAI,CAAC;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjE,IAAM,KAAK,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAEzB,OAAO,CAAC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACnC,6DAA6D;YAC7D,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAClE,KAAK,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,QAAQ,CAAC,MAAM;YAClB,MAAM,IAAI,IAAA,WAAG,EAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"simplify.js","sourceRoot":"","sources":["../../../src/simplify/simplify.ts"],"names":[],"mappings":";;AAIA,4BAqBC;AAzBD,yCAAgC;AAChC,mCAA6B;AAC7B,mCAA8B;AAE9B,SAAgB,QAAQ,CAAC,IAAY;IACpC,sEAAsE;IACtE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAK,CAAC,CAAC;IAEhC,MAAM,KAAK,GAAI,IAAI,aAAK,EAAE,CAAC;IAC3B,IAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAExB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAI,CAAC;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjE,IAAM,KAAK,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAEzB,OAAO,CAAC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACnC,6DAA6D;YAC7D,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAClE,KAAK,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;QAED,MAAM,IAAI,IAAA,YAAG,EAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IACjD,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC"}
package/dist/cjs/slice.js CHANGED
@@ -3,12 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.scanCSI = scanCSI;
4
4
  exports.skippedSequences = skippedSequences;
5
5
  exports.slice = slice;
6
- const patterns_1 = require("./patterns");
6
+ const _patterns_1 = require("#patterns");
7
7
  const simplify_1 = require("./simplify");
8
8
  const strip_1 = require("./strip");
9
9
  function scanCSI(text, fromStringIndex, visibleCount) {
10
10
  // We intentionally mutate `lastIndex` here, so we need a clone.
11
- const rx = new RegExp(patterns_1.rxCSI);
11
+ const rx = new RegExp(_patterns_1.rxCSI);
12
12
  let length = 0;
13
13
  let index = fromStringIndex;
14
14
  while (index < text.length && length < visibleCount) {
@@ -26,7 +26,7 @@ function scanCSI(text, fromStringIndex, visibleCount) {
26
26
  return { index, length };
27
27
  }
28
28
  function skippedSequences(text, start, end) {
29
- const sequences = text.slice(start, end).match(new RegExp(patterns_1.rxSGR));
29
+ const sequences = text.slice(start, end).match(new RegExp(_patterns_1.rxSGR));
30
30
  return sequences ? (0, simplify_1.simplify)(sequences.join("")) : "";
31
31
  }
32
32
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"slice.js","sourceRoot":"","sources":["../../src/slice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slice.js","sourceRoot":"","sources":["../../src/slice.ts"],"names":[],"mappings":";;AAIA,0BA0BC;AAED,4CAGC;AA6BD,sBA8BC;AA9FD,yCAAwC;AACxC,yCAAyC;AACzC,mCAAsC;AAEtC,SAAgB,OAAO,CACtB,IAAwB,EACxB,eAAwB,EACxB,YAAwB;IAExB,gEAAgE;IAChE,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,iBAAK,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,iBAAK,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;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;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"}
package/dist/cjs/strip.js CHANGED
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.sanitize = exports.visibleLength = exports.strip = void 0;
4
- const patterns_1 = require("./patterns");
4
+ const _patterns_1 = require("#patterns");
5
5
  /** Remove all ANSI escape codes from the given text. */
6
- const strip = (text) => text.replace(new RegExp(patterns_1.rxCSI), "");
6
+ const strip = (text) => text.replace(new RegExp(_patterns_1.rxCSI), "");
7
7
  exports.strip = strip;
8
8
  /** Calculate the visible length of a string with ANSI escape codes stripped. */
9
9
  const visibleLength = (text) => (0, exports.strip)(text).length;
10
10
  exports.visibleLength = visibleLength;
11
11
  /** Remove all ANSI escape codes except SGR codes (m), which are used for color and styling. */
12
- const sanitize = (text) => text.replace(new RegExp(patterns_1.rxUnsafe), "");
12
+ const sanitize = (text) => text.replace(new RegExp(_patterns_1.rxUnsafe), "");
13
13
  exports.sanitize = sanitize;
14
14
  //# sourceMappingURL=strip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"strip.js","sourceRoot":"","sources":["../../src/strip.ts"],"names":[],"mappings":";;;AAAA,yCAA2C;AAE3C,wDAAwD;AACjD,MAAM,KAAK,GAAW,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,gBAAK,CAAC,EAAE,EAAE,CAAC,CAAC;AAA9E,QAAA,KAAK,SAAyE;AAE3F,gFAAgF;AACzE,MAAM,aAAa,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAA,aAAK,EAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AAA7D,QAAA,aAAa,iBAAgD;AAE1E,+FAA+F;AACxF,MAAM,QAAQ,GAAQ,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,mBAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;AAAjF,QAAA,QAAQ,YAAyE"}
1
+ {"version":3,"file":"strip.js","sourceRoot":"","sources":["../../src/strip.ts"],"names":[],"mappings":";;;AAAA,yCAA0C;AAE1C,wDAAwD;AACjD,MAAM,KAAK,GAAW,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,iBAAK,CAAC,EAAE,EAAE,CAAC,CAAC;AAA9E,QAAA,KAAK,SAAyE;AAE3F,gFAAgF;AACzE,MAAM,aAAa,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAA,aAAK,EAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AAA7D,QAAA,aAAa,iBAAgD;AAE1E,+FAA+F;AACxF,MAAM,QAAQ,GAAQ,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,oBAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;AAAjF,QAAA,QAAQ,YAAyE"}
@@ -1,27 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeTerminal = void 0;
4
- const utils_1 = require("./utils");
4
+ const _utils_1 = require("#utils");
5
5
  const terminal = {
6
6
  focusReporting: {
7
- enable: (0, utils_1.csi)("?1004h"),
8
- disable: (0, utils_1.csi)("?1004l"),
9
- focus: (0, utils_1.csi)("I"),
10
- blur: (0, utils_1.csi)("O"),
7
+ enable: (0, _utils_1.csi)("?1004h"),
8
+ disable: (0, _utils_1.csi)("?1004l"),
9
+ focus: (0, _utils_1.csi)("I"),
10
+ blur: (0, _utils_1.csi)("O"),
11
11
  },
12
12
  alternateScreen: {
13
- enable: (0, utils_1.csi)("?1049h"),
14
- disable: (0, utils_1.csi)("?1049l"),
13
+ enable: (0, _utils_1.csi)("?1049h"),
14
+ disable: (0, _utils_1.csi)("?1049l"),
15
15
  legacy: {
16
- enable: (0, utils_1.csi)("?47h"),
17
- disable: (0, utils_1.csi)("?47l"),
16
+ enable: (0, _utils_1.csi)("?47h"),
17
+ disable: (0, _utils_1.csi)("?47l"),
18
18
  },
19
19
  },
20
20
  bracketedPaste: {
21
- enable: (0, utils_1.csi)("?2004h"),
22
- disable: (0, utils_1.csi)("?2004l"),
23
- start: (0, utils_1.csi)("200~"),
24
- end: (0, utils_1.csi)("201~"),
21
+ enable: (0, _utils_1.csi)("?2004h"),
22
+ disable: (0, _utils_1.csi)("?2004l"),
23
+ start: (0, _utils_1.csi)("200~"),
24
+ end: (0, _utils_1.csi)("201~"),
25
25
  },
26
26
  };
27
27
  const disabled = {
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/terminal.ts"],"names":[],"mappings":";;;AAAA,mCAA4B;AAE5B,MAAM,QAAQ,GAAG;IAChB,cAAc,EAAE;QACf,MAAM,EAAI,IAAA,WAAG,EAAC,QAAQ,CAAC;QACvB,OAAO,EAAG,IAAA,WAAG,EAAC,QAAQ,CAAC;QACvB,KAAK,EAAK,IAAA,WAAG,EAAC,GAAG,CAAC;QAClB,IAAI,EAAM,IAAA,WAAG,EAAC,GAAG,CAAC;KAClB;IAED,eAAe,EAAE;QAChB,MAAM,EAAI,IAAA,WAAG,EAAC,QAAQ,CAAC;QACvB,OAAO,EAAG,IAAA,WAAG,EAAC,QAAQ,CAAC;QAEvB,MAAM,EAAE;YACP,MAAM,EAAI,IAAA,WAAG,EAAC,MAAM,CAAC;YACrB,OAAO,EAAG,IAAA,WAAG,EAAC,MAAM,CAAC;SACrB;KACD;IAED,cAAc,EAAE;QACf,MAAM,EAAI,IAAA,WAAG,EAAC,QAAQ,CAAC;QACvB,OAAO,EAAG,IAAA,WAAG,EAAC,QAAQ,CAAC;QACvB,KAAK,EAAK,IAAA,WAAG,EAAC,MAAM,CAAC;QACrB,GAAG,EAAO,IAAA,WAAG,EAAC,MAAM,CAAC;KACrB;CACD,CAAC;AAIF,MAAM,QAAQ,GAAa;IAC1B,cAAc,EAAE;QACf,MAAM,EAAI,EAAE;QACZ,OAAO,EAAG,EAAE;QACZ,KAAK,EAAK,EAAE;QACZ,IAAI,EAAM,EAAE;KACZ;IAED,eAAe,EAAE;QAChB,MAAM,EAAI,EAAE;QACZ,OAAO,EAAG,EAAE;QAEZ,MAAM,EAAE;YACP,MAAM,EAAI,EAAE;YACZ,OAAO,EAAG,EAAE;SACZ;KACD;IAED,cAAc,EAAE;QACf,MAAM,EAAI,EAAE;QACZ,OAAO,EAAG,EAAE;QACZ,KAAK,EAAK,EAAE;QACZ,GAAG,EAAO,EAAE;KACZ;CACD,CAAC;AAEK,MAAM,YAAY,GAAG,CAAC,OAAO,GAAG,IAAI,EAAY,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;AAA3E,QAAA,YAAY,gBAA+D"}
1
+ {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/terminal.ts"],"names":[],"mappings":";;;AAAA,mCAA2B;AAE3B,MAAM,QAAQ,GAAG;IAChB,cAAc,EAAE;QACf,MAAM,EAAI,IAAA,YAAG,EAAC,QAAQ,CAAC;QACvB,OAAO,EAAG,IAAA,YAAG,EAAC,QAAQ,CAAC;QACvB,KAAK,EAAK,IAAA,YAAG,EAAC,GAAG,CAAC;QAClB,IAAI,EAAM,IAAA,YAAG,EAAC,GAAG,CAAC;KAClB;IAED,eAAe,EAAE;QAChB,MAAM,EAAI,IAAA,YAAG,EAAC,QAAQ,CAAC;QACvB,OAAO,EAAG,IAAA,YAAG,EAAC,QAAQ,CAAC;QAEvB,MAAM,EAAE;YACP,MAAM,EAAI,IAAA,YAAG,EAAC,MAAM,CAAC;YACrB,OAAO,EAAG,IAAA,YAAG,EAAC,MAAM,CAAC;SACrB;KACD;IAED,cAAc,EAAE;QACf,MAAM,EAAI,IAAA,YAAG,EAAC,QAAQ,CAAC;QACvB,OAAO,EAAG,IAAA,YAAG,EAAC,QAAQ,CAAC;QACvB,KAAK,EAAK,IAAA,YAAG,EAAC,MAAM,CAAC;QACrB,GAAG,EAAO,IAAA,YAAG,EAAC,MAAM,CAAC;KACrB;CACD,CAAC;AAIF,MAAM,QAAQ,GAAa;IAC1B,cAAc,EAAE;QACf,MAAM,EAAI,EAAE;QACZ,OAAO,EAAG,EAAE;QACZ,KAAK,EAAK,EAAE;QACZ,IAAI,EAAM,EAAE;KACZ;IAED,eAAe,EAAE;QAChB,MAAM,EAAI,EAAE;QACZ,OAAO,EAAG,EAAE;QAEZ,MAAM,EAAE;YACP,MAAM,EAAI,EAAE;YACZ,OAAO,EAAG,EAAE;SACZ;KACD;IAED,cAAc,EAAE;QACf,MAAM,EAAI,EAAE;QACZ,OAAO,EAAG,EAAE;QACZ,KAAK,EAAK,EAAE;QACZ,GAAG,EAAO,EAAE;KACZ;CACD,CAAC;AAEK,MAAM,YAAY,GAAG,CAAC,OAAO,GAAG,IAAI,EAAY,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;AAA3E,QAAA,YAAY,gBAA+D"}
@@ -3,7 +3,7 @@ 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";
6
- import type { SGR } from "./sgr";
6
+ import type { AddChain, SGR } from "./sgr";
7
7
  import type { Simplify } from "./simplify";
8
8
  import type { Slice } from "./slice";
9
9
  import type { SplitAt } from "./split-at";
@@ -18,6 +18,7 @@ export type Ansi = SGR & {
18
18
  terminal: Terminal;
19
19
  padEnd: PadEnd;
20
20
  padStart: PadStart;
21
+ chain: AddChain;
21
22
  strip: Strip;
22
23
  visibleLength: VisibleLength;
23
24
  sanitize: Sanitize;
@@ -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,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"}
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,QAAQ,EAAE,GAAG,EAAC,MAAuB,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,QAAQ,CAAC;IACzB,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,5 +1,7 @@
1
+ import { Code } from "#code";
2
+ export declare const codeSequence: (code: Code) => string | number;
1
3
  export declare function csi(command: string): string;
2
- export declare function csi(params: string | number | undefined, command: string): string;
4
+ export declare function csi(params: Code, command: string): string;
3
5
  export declare const count: <Param extends [number?] = [count?: number]>(code: string, negativeCode?: string) => (...args: Param) => string;
4
6
  export declare const noop: () => string;
5
7
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;AAC7C,wBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;AAyBlF,eAAO,MAAM,KAAK,GAAI,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,EAC/D,MAAgB,MAAM,EACtB,eAAgB,MAAM,KACpB,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,MACqD,CAAC;AAE7E,eAAO,MAAM,IAAI,cAAW,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,OAAO,CAAC;AAE3B,eAAO,MAAM,YAAY,GAAI,MAAM,IAAI,KAAG,MAAM,GAAG,MACP,CAAC;AAE7C,wBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;AAC7C,wBAAgB,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;AAyB3D,eAAO,MAAM,KAAK,GAAI,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,EAC/D,MAAgB,MAAM,EACtB,eAAgB,MAAM,KACpB,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,MACqD,CAAC;AAE7E,eAAO,MAAM,IAAI,cAAW,CAAC"}
package/dist/cjs/utils.js CHANGED
@@ -1,23 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.noop = exports.count = void 0;
3
+ exports.noop = exports.count = exports.codeSequence = void 0;
4
4
  exports.csi = csi;
5
+ const _code_1 = require("#code");
6
+ const codeSequence = (code) => Array.isArray(code) ? code.join(";") : code;
7
+ exports.codeSequence = codeSequence;
5
8
  function csi(...args) {
6
9
  const command = args.pop();
7
- const params = args.pop();
8
- return `\x1b[${params === undefined ? "" : params}${command}`;
10
+ const params = args.pop() ?? "";
11
+ return _code_1.Code.isDisabled(params) ? "" : `\x1b[${(0, exports.codeSequence)(params)}${command}`;
9
12
  }
10
13
  const forwardOnlyCount = (code) => (count) => {
11
14
  if (count === 0 || count < 0)
12
15
  return "";
13
- return csi(count === 1 ? undefined : count, code);
16
+ return csi(count === 1 || count === undefined ? "" : count, code);
14
17
  };
15
18
  const reversibleCount = (forwardCode, backwardCode) => (count) => {
16
19
  if (count === 0)
17
20
  return "";
18
21
  if (!count || count > 0)
19
- return csi(count === 1 ? undefined : count, forwardCode);
20
- return csi(count === -1 ? undefined : -count, backwardCode);
22
+ return csi(count === 1 || count === undefined ? "" : count, forwardCode);
23
+ return csi(count === -1 ? "" : -count, backwardCode);
21
24
  };
22
25
  const count = (code, negativeCode) => negativeCode ? reversibleCount(code, negativeCode) : forwardOnlyCount(code);
23
26
  exports.count = count;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;AAEA,kBAKC;AALD,SAAgB,GAAG,CAAC,GAAG,IAAsD;IAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAY,CAAC;IACrC,MAAM,MAAM,GAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IAE3B,OAAO,QAAQ,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,KAAc,EAAU,EAAE;IACrE,IAAI,KAAK,KAAK,CAAC,IAAI,KAAM,GAAG,CAAC;QAC5B,OAAO,EAAE,CAAC;IAEX,OAAO,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,WAAmB,EAAE,YAAoB,EAAE,EAAE,CAAC,CAAC,KAAc,EAAU,EAAE;IACjG,IAAI,KAAK,KAAK,CAAC;QACd,OAAO,EAAE,CAAC;IAEX,IAAI,CAAC,KAAK,IAAI,KAAK,GAAG,CAAC;QACtB,OAAO,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAE1D,OAAO,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AAC7D,CAAC,CAAA;AAEM,MAAM,KAAK,GAAG,CACpB,IAAsB,EACtB,YAAsB,EACO,EAAE,CAC/B,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAJhE,QAAA,KAAK,SAI2D;AAEtE,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC;AAAhB,QAAA,IAAI,QAAY"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;AAOA,kBAKC;AAZD,iCAA2B;AAEpB,MAAM,YAAY,GAAG,CAAC,IAAU,EAAmB,EAAE,CAC3D,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AADhC,QAAA,YAAY,gBACoB;AAI7C,SAAgB,GAAG,CAAC,GAAG,IAA+B;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAY,CAAC;IACrC,MAAM,MAAM,GAAI,IAAI,CAAC,GAAG,EAAsB,IAAI,EAAE,CAAC;IAErD,OAAO,YAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAA,oBAAY,EAAC,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;AAChF,CAAC;AAED,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,KAAc,EAAU,EAAE;IACrE,IAAI,KAAK,KAAK,CAAC,IAAI,KAAM,GAAG,CAAC;QAC5B,OAAO,EAAE,CAAC;IAEX,OAAO,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,WAAmB,EAAE,YAAoB,EAAE,EAAE,CAAC,CAAC,KAAc,EAAU,EAAE;IACjG,IAAI,KAAK,KAAK,CAAC;QACd,OAAO,EAAE,CAAC;IAEX,IAAI,CAAC,KAAK,IAAI,KAAK,GAAG,CAAC;QACtB,OAAO,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAE1E,OAAO,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AACtD,CAAC,CAAA;AAEM,MAAM,KAAK,GAAG,CACpB,IAAsB,EACtB,YAAsB,EACO,EAAE,CAC/B,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAJhE,QAAA,KAAK,SAI2D;AAEtE,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC;AAAhB,QAAA,IAAI,QAAY"}
@@ -1,12 +1,15 @@
1
1
  import { padEnd, padStart } from "./pad.js";
2
+ import { chain } from "./sgr/index.js";
3
+ import { simplify } from "./simplify/index.js";
4
+ import { slice } from "./slice.js";
2
5
  import { splitAt } from "./split-at.js";
3
- import { strip, visibleLength } from "./strip.js";
6
+ import { sanitize, strip, visibleLength } from "./strip.js";
4
7
  import type { Args } from "./features/index.js";
5
8
  import type { Ansi } from "./types.js";
6
9
  export declare function makeAnsi(...args: Args): Ansi;
7
10
  export declare const ansi: Ansi;
8
11
  export declare const disabled: Ansi;
9
- export declare const fg: import("./sgr/types.js").Channel<"bg" | import("./sgr/types.js").StyleKey>, bg: import("./sgr/types.js").Channel<"fg" | import("./sgr/types.js").StyleKey>, style: import("./sgr/types.js").Style<import("./index.js").ChainKey>, reset: string, cursor: {
12
+ export declare const fg: import("./sgr/color/channel.js").Channel<"italic" | "underline" | "inverse" | "hidden" | "strikethrough" | "bg" | "frame" | "overline" | "bold" | "dim" | "doubleUnderline" | "encircle">, bg: import("./sgr/color/channel.js").Channel<"italic" | "underline" | "inverse" | "hidden" | "strikethrough" | "fg" | "frame" | "overline" | "bold" | "dim" | "doubleUnderline" | "encircle">, style: import("./sgr/style.js").Style, reset: string, cursor: {
10
13
  up: (count?: number | undefined) => string;
11
14
  down: (count?: number | undefined) => string;
12
15
  forward: (count?: number | undefined) => string;
@@ -70,7 +73,7 @@ export declare const fg: import("./sgr/types.js").Channel<"bg" | import("./sgr/t
70
73
  end: string;
71
74
  };
72
75
  };
73
- export { padEnd, padStart, splitAt, strip, visibleLength };
76
+ export { padEnd, padStart, chain, strip, visibleLength, sanitize, slice, simplify, splitAt };
74
77
  declare const _default: typeof makeAnsi & import("./sgr/index.js").SGR & {
75
78
  cursor: import("./cursor.js").Cursor;
76
79
  delete: import("./ins-del.js").Delete;
@@ -80,6 +83,7 @@ declare const _default: typeof makeAnsi & import("./sgr/index.js").SGR & {
80
83
  terminal: import("./terminal.js").Terminal;
81
84
  padEnd: import("./pad.js").PadEnd;
82
85
  padStart: import("./pad.js").PadStart;
86
+ chain: import("./sgr/index.js").AddChain;
83
87
  strip: import("./strip.js").Strip;
84
88
  visibleLength: import("./strip.js").VisibleLength;
85
89
  sanitize: import("./strip.js").Sanitize;
@@ -1 +1 @@
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,MAAiB,CAAC;AACnC,eAAO,MAAM,QAAQ,MAAkB,CAAC;AAExC,eAAO,MAAO,EAAE,wEAAE,EAAE,wEAAE,KAAK,qDAAE,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,wBAIE"}
1
+ {"version":3,"file":"ansi.d.ts","sourceRoot":"","sources":["../../src/ansi.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAuB,OAAO,CAAC;AAExD,OAAO,EAAC,KAAK,EAAU,MAAyB,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;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,CA2B5C;AAED,eAAO,MAAM,IAAI,MAAiB,CAAC;AACnC,eAAO,MAAM,QAAQ,MAAkB,CAAC;AAExC,eAAO,MAAO,EAAE,0LAAE,EAAE,0LAAE,KAAK,+BAAE,KAAK,UAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;GAAE,KAAK;;;;;;;;;;;;;GAAE,MAAM;;;;GAAE,QAAQ;;;;;;;;;;;;;;;;;;;;;CAAQ,CAAC;AAE5E,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAC,CAAC;;;;;;;;;;;;;;;;;;;;;AAE3F,wBAIE"}
package/dist/esm/ansi.js CHANGED
@@ -3,7 +3,7 @@ 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";
6
- import { makeSGR } from "./sgr/index.js";
6
+ import { chain, makeSGR } from "./sgr/index.js";
7
7
  import { simplify } from "./simplify/index.js";
8
8
  import { slice } from "./slice.js";
9
9
  import { splitAt } from "./split-at.js";
@@ -21,6 +21,7 @@ export function makeAnsi(...args) {
21
21
  terminal: makeTerminal(features.terminal),
22
22
  padEnd,
23
23
  padStart,
24
+ chain,
24
25
  strip,
25
26
  visibleLength,
26
27
  sanitize,
@@ -33,6 +34,6 @@ export function makeAnsi(...args) {
33
34
  export const ansi = makeAnsi();
34
35
  export const disabled = makeAnsi(false);
35
36
  export const { fg, bg, style, reset, cursor, erase, scroll, terminal } = ansi;
36
- export { padEnd, padStart, splitAt, strip, visibleLength };
37
+ export { padEnd, padStart, chain, strip, visibleLength, sanitize, slice, simplify, splitAt };
37
38
  export default Object.assign(Object.defineProperty(makeAnsi.bind(undefined), "name", { value: "ansi" }), ansi, { disabled });
38
39
  //# sourceMappingURL=ansi.js.map
@@ -1 +1 @@
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,GAAO,QAAQ,EAAE,CAAC;AACnC,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAExC,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,EACJ,EAAC,QAAQ,EAAC,CACV,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,KAAK,EAAE,OAAO,EAAC,MAAyB,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,KAAK;QACL,aAAa;QACb,QAAQ;QACR,KAAK;QACL,QAAQ;QACR,OAAO;QAEP,QAAQ;KACR,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAO,QAAQ,EAAE,CAAC;AACnC,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAExC,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,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAC,CAAC;AAE3F,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,EACJ,EAAC,QAAQ,EAAC,CACV,CAAC"}
@@ -0,0 +1,10 @@
1
+ export type Code = number | "" | ReadonlyArray<number | "">;
2
+ export type Codes = {
3
+ open: Code;
4
+ close: Code;
5
+ };
6
+ export declare namespace Code {
7
+ const disabled: Code;
8
+ const isDisabled: (code: Code) => boolean;
9
+ }
10
+ //# sourceMappingURL=code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../src/code.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GAAI,MAAM,GAAG,EAAE,GAAG,aAAa,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAC7D,MAAM,MAAM,KAAK,GAAG;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,IAAI,CAAA;CAAC,CAAC;AAE9C,yBAAiB,IAAI,CAAC;IACd,MAAM,QAAQ,EAAE,IAAwB,CAAC;IAEzC,MAAM,UAAU,GAAI,MAAM,IAAI,KAAG,OACiB,CAAC;CAC1D"}
@@ -0,0 +1,6 @@
1
+ export var Code;
2
+ (function (Code) {
3
+ Code.disabled = Object.freeze([]);
4
+ Code.isDisabled = (code) => code === Code.disabled || Array.isArray(code) && !code.length;
5
+ })(Code || (Code = {}));
6
+ //# sourceMappingURL=code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code.js","sourceRoot":"","sources":["../../src/code.ts"],"names":[],"mappings":"AAGA,MAAM,KAAW,IAAI,CAKpB;AALD,WAAiB,IAAI;IACP,aAAQ,GAAS,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAEnC,eAAU,GAAG,CAAC,IAAU,EAAW,EAAE,CACjD,IAAI,KAAK,KAAA,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;AAC3D,CAAC,EALgB,IAAI,KAAJ,IAAI,QAKpB"}
@@ -1,4 +1,4 @@
1
- import { csi, count as move, noop } from "./utils.js";
1
+ import { csi, count as move, noop } from "#utils";
2
2
  const cursor = {
3
3
  up: move("A", "B"),
4
4
  down: move("B", "A"),
@@ -6,7 +6,7 @@ const cursor = {
6
6
  backward: move("D", "C"),
7
7
  nextLine: move("E", "F"),
8
8
  prevLine: move("F", "E"),
9
- x: (x) => csi(x < 2 ? undefined : x, "G"),
9
+ x: (x) => csi(x < 2 ? "" : x, "G"),
10
10
  // These are the old VT100 codes, but they're widely supported by old and new terminals. The
11
11
  // newer VT220 codes are standardized by ECMA and ISO, and are also widely supported, but might
12
12
  // not work in some older terminals. The VT220 codes are:
@@ -22,10 +22,10 @@ const cursor = {
22
22
  position: {
23
23
  get: csi("6n"),
24
24
  set: (x, y) => csi(x < 2 ? // Omit x if we can use the default.
25
- y < 2 ? undefined : y : // Omit y too if we can use both defaults.
25
+ y < 2 ? "" : y : // Omit y too if we can use both defaults.
26
26
  y < 2 ?
27
- `;${x}` :
28
- `${y};${x}`, "H"),
27
+ ["", x] :
28
+ [y, x], "H"),
29
29
  },
30
30
  shape: {
31
31
  steadyBlock: csi("2 q"),
@@ -1 +1 @@
1
- {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,IAAI,EAAC,MAAM,SAAS,CAAC;AAEjD,MAAM,MAAM,GAAG;IACd,EAAE,EAAS,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;IACzB,IAAI,EAAO,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;IACzB,OAAO,EAAI,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;IACzB,QAAQ,EAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;IACzB,QAAQ,EAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;IACzB,QAAQ,EAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;IAEzB,CAAC,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;IAEjD,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,GAAG,CAAC,MAAM,CAAC;IAClB,IAAI,EAAG,GAAG,CAAC,MAAM,CAAC;IAElB,QAAQ,EAAE;QACT,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC;QACd,GAAG,EAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,GAAG,CAC1C,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,oCAAoC;YAC3C,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,0CAA0C;YACnE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACN,IAAI,CAAC,EAAE,CAAC,CAAC;gBACV,GAAG,CAAC,IAAI,CAAC,EAAE,EACX,GAAG,CACH;KACD;IAED,KAAK,EAAE;QACN,WAAW,EAAS,GAAG,CAAC,KAAK,CAAC;QAC9B,SAAS,EAAW,GAAG,CAAC,KAAK,CAAC;QAC9B,eAAe,EAAK,GAAG,CAAC,KAAK,CAAC;QAC9B,aAAa,EAAO,GAAG,CAAC,KAAK,CAAC;QAC9B,WAAW,EAAS,GAAG,CAAC,KAAK,CAAC;QAC9B,iBAAiB,EAAG,GAAG,CAAC,KAAK,CAAC;QAC9B,OAAO,EAAa,GAAG,CAAC,KAAK,CAAC;KAC9B;CACD,CAAC;AAIF,MAAM,QAAQ,GAAW;IACxB,EAAE,EAAS,IAAI;IACf,IAAI,EAAO,IAAI;IACf,OAAO,EAAI,IAAI;IACf,QAAQ,EAAG,IAAI;IACf,QAAQ,EAAG,IAAI;IACf,QAAQ,EAAG,IAAI;IAEf,CAAC,EAAE,IAAI;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,IAAI;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;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAO,GAAG,IAAI,EAAU,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC"}
1
+ {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,IAAI,EAAC,MAAM,QAAQ,CAAC;AAEhD,MAAM,MAAM,GAAG;IACd,EAAE,EAAS,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;IACzB,IAAI,EAAO,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;IACzB,OAAO,EAAI,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;IACzB,QAAQ,EAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;IACzB,QAAQ,EAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;IACzB,QAAQ,EAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;IAEzB,CAAC,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;IAE1C,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,GAAG,CAAC,MAAM,CAAC;IAClB,IAAI,EAAG,GAAG,CAAC,MAAM,CAAC;IAElB,QAAQ,EAAE;QACT,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC;QACd,GAAG,EAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,GAAG,CAC1C,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,oCAAoC;YAC3C,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,0CAA0C;YAC5D,CAAC,GAAG,CAAC,CAAC,CAAC;gBACN,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;gBACV,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,GAAG,CACH;KACD;IAED,KAAK,EAAE;QACN,WAAW,EAAS,GAAG,CAAC,KAAK,CAAC;QAC9B,SAAS,EAAW,GAAG,CAAC,KAAK,CAAC;QAC9B,eAAe,EAAK,GAAG,CAAC,KAAK,CAAC;QAC9B,aAAa,EAAO,GAAG,CAAC,KAAK,CAAC;QAC9B,WAAW,EAAS,GAAG,CAAC,KAAK,CAAC;QAC9B,iBAAiB,EAAG,GAAG,CAAC,KAAK,CAAC;QAC9B,OAAO,EAAa,GAAG,CAAC,KAAK,CAAC;KAC9B;CACD,CAAC;AAIF,MAAM,QAAQ,GAAW;IACxB,EAAE,EAAS,IAAI;IACf,IAAI,EAAO,IAAI;IACf,OAAO,EAAI,IAAI;IACf,QAAQ,EAAG,IAAI;IACf,QAAQ,EAAG,IAAI;IACf,QAAQ,EAAG,IAAI;IAEf,CAAC,EAAE,IAAI;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,IAAI;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;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAO,GAAG,IAAI,EAAU,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export { default } from "./ansi.js";
2
2
  export * from "./ansi.js";
3
3
  export type { Ansi } from "./types.js";
4
- export type { ChainKey, Format, FormatBase } from "./sgr/types.js";
4
+ export type { ChainKey, Format, FormatBase } from "./sgr/index.js";
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,QAAQ,CAAC;AAC/B,cAAsB,QAAQ,CAAC;AAE/B,YAAY,EAAC,IAAI,EAAC,MAA8B,SAAS,CAAC;AAC1D,YAAY,EAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAC,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,QAAQ,CAAC;AAC/B,cAAsB,QAAQ,CAAC;AAE/B,YAAY,EAAC,IAAI,EAAC,MAA8B,SAAS,CAAC;AAC1D,YAAY,EAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAC,MAAM,OAAO,CAAC"}
@@ -1,4 +1,4 @@
1
- import { count, csi, noop } from "./utils.js";
1
+ import { count, csi, noop } from "#utils";
2
2
  const erase = {
3
3
  char: count("X"),
4
4
  line: {
@@ -1 +1 @@
1
- {"version":3,"file":"ins-del.js","sourceRoot":"","sources":["../../src/ins-del.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAC,MAAM,SAAS,CAAC;AAEzC,MAAM,KAAK,GAAG;IACb,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;IAEhB,IAAI,EAAE;QACL,OAAO,EAAG,GAAG,CAAC,IAAI,CAAC;QACnB,KAAK,EAAK,GAAG,CAAC,IAAI,CAAC;QACnB,IAAI,EAAM,GAAG,CAAC,IAAI,CAAC;KACnB;IACD,MAAM,EAAE;QACP,OAAO,EAAM,GAAG,CAAC,IAAI,CAAC;QACtB,KAAK,EAAQ,GAAG,CAAC,IAAI,CAAC;QACtB,IAAI,EAAS,GAAG,CAAC,IAAI,CAAC;QACtB,UAAU,EAAG,GAAG,CAAC,IAAI,CAAC;KACtB;CACD,CAAC;AAEF,MAAM,MAAM,GAAG;IACd,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;IACrB,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;CACrB,CAAC;AAEF,MAAM,GAAG,GAAG;IACX,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;IACrB,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;CACrB,CAAC;AAMF,MAAM,aAAa,GAAU;IAC5B,IAAI,EAAE,IAAI;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,IAAI;IACV,IAAI,EAAE,IAAI;CACV,CAAC;AAEF,MAAM,cAAc,GAAW,cAAc,CAAC;AAE9C,MAAM,CAAC,MAAM,SAAS,GAAI,CAAC,OAAO,GAAG,IAAI,EAAU,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAE,CAAC,CAAC,aAAa,CAAC;AACvF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAO,GAAG,IAAI,EAAU,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC;AACxF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAO,GAAG,IAAI,EAAU,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAI,CAAC,CAAC,cAAc,CAAC"}
1
+ {"version":3,"file":"ins-del.js","sourceRoot":"","sources":["../../src/ins-del.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAC,MAAM,QAAQ,CAAC;AAExC,MAAM,KAAK,GAAG;IACb,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;IAEhB,IAAI,EAAE;QACL,OAAO,EAAG,GAAG,CAAC,IAAI,CAAC;QACnB,KAAK,EAAK,GAAG,CAAC,IAAI,CAAC;QACnB,IAAI,EAAM,GAAG,CAAC,IAAI,CAAC;KACnB;IACD,MAAM,EAAE;QACP,OAAO,EAAM,GAAG,CAAC,IAAI,CAAC;QACtB,KAAK,EAAQ,GAAG,CAAC,IAAI,CAAC;QACtB,IAAI,EAAS,GAAG,CAAC,IAAI,CAAC;QACtB,UAAU,EAAG,GAAG,CAAC,IAAI,CAAC;KACtB;CACD,CAAC;AAEF,MAAM,MAAM,GAAG;IACd,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;IACrB,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;CACrB,CAAC;AAEF,MAAM,GAAG,GAAG;IACX,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;IACrB,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;CACrB,CAAC;AAMF,MAAM,aAAa,GAAU;IAC5B,IAAI,EAAE,IAAI;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,IAAI;IACV,IAAI,EAAE,IAAI;CACV,CAAC;AAEF,MAAM,cAAc,GAAW,cAAc,CAAC;AAE9C,MAAM,CAAC,MAAM,SAAS,GAAI,CAAC,OAAO,GAAG,IAAI,EAAU,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAE,CAAC,CAAC,aAAa,CAAC;AACvF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAO,GAAG,IAAI,EAAU,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC;AACxF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAO,GAAG,IAAI,EAAU,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAI,CAAC,CAAC,cAAc,CAAC"}
@@ -1 +1,25 @@
1
- {"type":"module"}
1
+ {
2
+ "type": "module",
3
+ "imports": {
4
+ "#code": {
5
+ "types": "./code.d.ts",
6
+ "default": "./code.js"
7
+ },
8
+ "#features": {
9
+ "types": "./features/index.d.ts",
10
+ "default": "./features/index.js"
11
+ },
12
+ "#patterns": {
13
+ "types": "./patterns.d.ts",
14
+ "default": "./patterns.js"
15
+ },
16
+ "#typed-object": {
17
+ "types": "./typed-object.d.ts",
18
+ "default": "./typed-object.js"
19
+ },
20
+ "#utils": {
21
+ "types": "./utils.d.ts",
22
+ "default": "./utils.js"
23
+ }
24
+ }
25
+ }