@matter/tools 0.12.2 → 0.12.3-alpha.0-20250205-ad3416ca3

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 (225) hide show
  1. package/dist/cjs/ansi-text/chars.d.ts +11 -0
  2. package/dist/cjs/ansi-text/chars.d.ts.map +1 -0
  3. package/dist/cjs/ansi-text/chars.js +57 -0
  4. package/dist/cjs/ansi-text/chars.js.map +6 -0
  5. package/dist/cjs/ansi-text/consumer.d.ts +45 -0
  6. package/dist/cjs/ansi-text/consumer.d.ts.map +1 -0
  7. package/dist/cjs/ansi-text/consumer.js +22 -0
  8. package/dist/cjs/ansi-text/consumer.js.map +6 -0
  9. package/dist/cjs/ansi-text/contiguous-output-segment.d.ts +31 -0
  10. package/dist/cjs/ansi-text/contiguous-output-segment.d.ts.map +1 -0
  11. package/dist/cjs/ansi-text/contiguous-output-segment.js +156 -0
  12. package/dist/cjs/ansi-text/contiguous-output-segment.js.map +6 -0
  13. package/dist/cjs/ansi-text/index.d.ts +12 -0
  14. package/dist/cjs/ansi-text/index.d.ts.map +1 -0
  15. package/dist/cjs/ansi-text/index.js +29 -0
  16. package/dist/cjs/ansi-text/index.js.map +6 -0
  17. package/dist/cjs/ansi-text/printer.d.ts +24 -0
  18. package/dist/cjs/ansi-text/printer.d.ts.map +1 -0
  19. package/dist/cjs/ansi-text/printer.js +81 -0
  20. package/dist/cjs/ansi-text/printer.js.map +6 -0
  21. package/dist/cjs/ansi-text/producer.d.ts +17 -0
  22. package/dist/cjs/ansi-text/producer.d.ts.map +1 -0
  23. package/dist/cjs/ansi-text/producer.js +45 -0
  24. package/dist/cjs/ansi-text/producer.js.map +6 -0
  25. package/dist/cjs/ansi-text/screen.d.ts +13 -0
  26. package/dist/cjs/ansi-text/screen.d.ts.map +1 -0
  27. package/dist/cjs/ansi-text/screen.js +38 -0
  28. package/dist/cjs/ansi-text/screen.js.map +6 -0
  29. package/dist/cjs/ansi-text/sgr.d.ts +100 -0
  30. package/dist/cjs/ansi-text/sgr.d.ts.map +1 -0
  31. package/dist/cjs/ansi-text/sgr.js +140 -0
  32. package/dist/cjs/ansi-text/sgr.js.map +6 -0
  33. package/dist/cjs/ansi-text/std.d.ts +17 -0
  34. package/dist/cjs/ansi-text/std.d.ts.map +1 -0
  35. package/dist/cjs/ansi-text/std.js +43 -0
  36. package/dist/cjs/ansi-text/std.js.map +6 -0
  37. package/dist/cjs/ansi-text/style.d.ts +88 -0
  38. package/dist/cjs/ansi-text/style.d.ts.map +1 -0
  39. package/dist/cjs/ansi-text/style.js +257 -0
  40. package/dist/cjs/ansi-text/style.js.map +6 -0
  41. package/dist/cjs/ansi-text/text-builder.d.ts +78 -0
  42. package/dist/cjs/ansi-text/text-builder.d.ts.map +1 -0
  43. package/dist/cjs/ansi-text/text-builder.js +164 -0
  44. package/dist/cjs/ansi-text/text-builder.js.map +6 -0
  45. package/dist/cjs/ansi-text/text-writer.d.ts +30 -0
  46. package/dist/cjs/ansi-text/text-writer.d.ts.map +1 -0
  47. package/dist/cjs/ansi-text/text-writer.js +317 -0
  48. package/dist/cjs/ansi-text/text-writer.js.map +6 -0
  49. package/dist/cjs/ansi-text/token.d.ts +61 -0
  50. package/dist/cjs/ansi-text/token.d.ts.map +1 -0
  51. package/dist/cjs/ansi-text/token.js +22 -0
  52. package/dist/cjs/ansi-text/token.js.map +6 -0
  53. package/dist/cjs/ansi-text/tokenize.d.ts +11 -0
  54. package/dist/cjs/ansi-text/tokenize.d.ts.map +1 -0
  55. package/dist/cjs/ansi-text/tokenize.js +190 -0
  56. package/dist/cjs/ansi-text/tokenize.js.map +6 -0
  57. package/dist/cjs/ansi-text/truncator.d.ts +20 -0
  58. package/dist/cjs/ansi-text/truncator.d.ts.map +1 -0
  59. package/dist/cjs/ansi-text/truncator.js +72 -0
  60. package/dist/cjs/ansi-text/truncator.js.map +6 -0
  61. package/dist/cjs/ansi-text/visible-width-of.d.ts +10 -0
  62. package/dist/cjs/ansi-text/visible-width-of.d.ts.map +1 -0
  63. package/dist/cjs/ansi-text/visible-width-of.js +55 -0
  64. package/dist/cjs/ansi-text/visible-width-of.js.map +6 -0
  65. package/dist/cjs/ansi-text/wrapper.d.ts +34 -0
  66. package/dist/cjs/ansi-text/wrapper.d.ts.map +1 -0
  67. package/dist/cjs/ansi-text/wrapper.js +208 -0
  68. package/dist/cjs/ansi-text/wrapper.js.map +6 -0
  69. package/dist/cjs/building/cli.js +6 -6
  70. package/dist/cjs/building/cli.js.map +1 -1
  71. package/dist/cjs/building/graph.d.ts +2 -2
  72. package/dist/cjs/building/graph.d.ts.map +1 -1
  73. package/dist/cjs/building/graph.js.map +1 -1
  74. package/dist/cjs/building/project-builder.d.ts +38 -0
  75. package/dist/cjs/building/project-builder.d.ts.map +1 -0
  76. package/dist/cjs/building/project-builder.js +200 -0
  77. package/dist/cjs/building/project-builder.js.map +6 -0
  78. package/dist/cjs/building/tsconfig.js +1 -1
  79. package/dist/cjs/building/tsconfig.js.map +1 -1
  80. package/dist/cjs/index.d.ts +4 -6
  81. package/dist/cjs/index.d.ts.map +1 -1
  82. package/dist/cjs/index.js +4 -6
  83. package/dist/cjs/index.js.map +1 -1
  84. package/dist/cjs/running/ensure-compiled.js +2 -2
  85. package/dist/cjs/running/ensure-compiled.js.map +1 -1
  86. package/dist/cjs/util/commander.d.ts.map +1 -1
  87. package/dist/cjs/util/commander.js +4 -5
  88. package/dist/cjs/util/commander.js.map +2 -2
  89. package/dist/cjs/util/index.d.ts +1 -0
  90. package/dist/cjs/util/index.d.ts.map +1 -1
  91. package/dist/cjs/util/index.js +1 -0
  92. package/dist/cjs/util/index.js.map +1 -1
  93. package/dist/cjs/util/progress.d.ts +2 -2
  94. package/dist/cjs/util/progress.d.ts.map +1 -1
  95. package/dist/cjs/util/progress.js +25 -53
  96. package/dist/cjs/util/progress.js.map +2 -2
  97. package/dist/cjs/versioning/versioner.js +2 -12
  98. package/dist/cjs/versioning/versioner.js.map +2 -2
  99. package/dist/esm/ansi-text/chars.d.ts +11 -0
  100. package/dist/esm/ansi-text/chars.d.ts.map +1 -0
  101. package/dist/esm/ansi-text/chars.js +37 -0
  102. package/dist/esm/ansi-text/chars.js.map +6 -0
  103. package/dist/esm/ansi-text/consumer.d.ts +45 -0
  104. package/dist/esm/ansi-text/consumer.d.ts.map +1 -0
  105. package/dist/esm/ansi-text/consumer.js +6 -0
  106. package/dist/esm/ansi-text/consumer.js.map +6 -0
  107. package/dist/esm/ansi-text/contiguous-output-segment.d.ts +31 -0
  108. package/dist/esm/ansi-text/contiguous-output-segment.d.ts.map +1 -0
  109. package/dist/esm/ansi-text/contiguous-output-segment.js +136 -0
  110. package/dist/esm/ansi-text/contiguous-output-segment.js.map +6 -0
  111. package/dist/esm/ansi-text/index.d.ts +12 -0
  112. package/dist/esm/ansi-text/index.d.ts.map +1 -0
  113. package/dist/esm/ansi-text/index.js +12 -0
  114. package/dist/esm/ansi-text/index.js.map +6 -0
  115. package/dist/esm/ansi-text/printer.d.ts +24 -0
  116. package/dist/esm/ansi-text/printer.d.ts.map +1 -0
  117. package/dist/esm/ansi-text/printer.js +61 -0
  118. package/dist/esm/ansi-text/printer.js.map +6 -0
  119. package/dist/esm/ansi-text/producer.d.ts +17 -0
  120. package/dist/esm/ansi-text/producer.d.ts.map +1 -0
  121. package/dist/esm/ansi-text/producer.js +25 -0
  122. package/dist/esm/ansi-text/producer.js.map +6 -0
  123. package/dist/esm/ansi-text/screen.d.ts +13 -0
  124. package/dist/esm/ansi-text/screen.d.ts.map +1 -0
  125. package/dist/esm/ansi-text/screen.js +18 -0
  126. package/dist/esm/ansi-text/screen.js.map +6 -0
  127. package/dist/esm/ansi-text/sgr.d.ts +100 -0
  128. package/dist/esm/ansi-text/sgr.d.ts.map +1 -0
  129. package/dist/esm/ansi-text/sgr.js +120 -0
  130. package/dist/esm/ansi-text/sgr.js.map +6 -0
  131. package/dist/esm/ansi-text/std.d.ts +17 -0
  132. package/dist/esm/ansi-text/std.d.ts.map +1 -0
  133. package/dist/esm/ansi-text/std.js +23 -0
  134. package/dist/esm/ansi-text/std.js.map +6 -0
  135. package/dist/esm/ansi-text/style.d.ts +88 -0
  136. package/dist/esm/ansi-text/style.d.ts.map +1 -0
  137. package/dist/esm/ansi-text/style.js +245 -0
  138. package/dist/esm/ansi-text/style.js.map +6 -0
  139. package/dist/esm/ansi-text/text-builder.d.ts +78 -0
  140. package/dist/esm/ansi-text/text-builder.d.ts.map +1 -0
  141. package/dist/esm/ansi-text/text-builder.js +150 -0
  142. package/dist/esm/ansi-text/text-builder.js.map +6 -0
  143. package/dist/esm/ansi-text/text-writer.d.ts +30 -0
  144. package/dist/esm/ansi-text/text-writer.d.ts.map +1 -0
  145. package/dist/esm/ansi-text/text-writer.js +297 -0
  146. package/dist/esm/ansi-text/text-writer.js.map +6 -0
  147. package/dist/esm/ansi-text/token.d.ts +61 -0
  148. package/dist/esm/ansi-text/token.d.ts.map +1 -0
  149. package/dist/esm/ansi-text/token.js +6 -0
  150. package/dist/esm/ansi-text/token.js.map +6 -0
  151. package/dist/esm/ansi-text/tokenize.d.ts +11 -0
  152. package/dist/esm/ansi-text/tokenize.d.ts.map +1 -0
  153. package/dist/esm/ansi-text/tokenize.js +170 -0
  154. package/dist/esm/ansi-text/tokenize.js.map +6 -0
  155. package/dist/esm/ansi-text/truncator.d.ts +20 -0
  156. package/dist/esm/ansi-text/truncator.d.ts.map +1 -0
  157. package/dist/esm/ansi-text/truncator.js +52 -0
  158. package/dist/esm/ansi-text/truncator.js.map +6 -0
  159. package/dist/esm/ansi-text/visible-width-of.d.ts +10 -0
  160. package/dist/esm/ansi-text/visible-width-of.d.ts.map +1 -0
  161. package/dist/esm/ansi-text/visible-width-of.js +35 -0
  162. package/dist/esm/ansi-text/visible-width-of.js.map +6 -0
  163. package/dist/esm/ansi-text/wrapper.d.ts +34 -0
  164. package/dist/esm/ansi-text/wrapper.d.ts.map +1 -0
  165. package/dist/esm/ansi-text/wrapper.js +188 -0
  166. package/dist/esm/ansi-text/wrapper.js.map +6 -0
  167. package/dist/esm/building/cli.js +3 -3
  168. package/dist/esm/building/cli.js.map +1 -1
  169. package/dist/esm/building/graph.d.ts +2 -2
  170. package/dist/esm/building/graph.d.ts.map +1 -1
  171. package/dist/esm/building/graph.js +1 -1
  172. package/dist/esm/building/graph.js.map +1 -1
  173. package/dist/esm/building/project-builder.d.ts +38 -0
  174. package/dist/esm/building/project-builder.d.ts.map +1 -0
  175. package/dist/esm/building/project-builder.js +180 -0
  176. package/dist/esm/building/project-builder.js.map +6 -0
  177. package/dist/esm/building/tsconfig.js +2 -2
  178. package/dist/esm/building/tsconfig.js.map +1 -1
  179. package/dist/esm/index.d.ts +4 -6
  180. package/dist/esm/index.d.ts.map +1 -1
  181. package/dist/esm/index.js +5 -7
  182. package/dist/esm/index.js.map +1 -1
  183. package/dist/esm/running/ensure-compiled.js +3 -3
  184. package/dist/esm/running/ensure-compiled.js.map +1 -1
  185. package/dist/esm/util/commander.d.ts.map +1 -1
  186. package/dist/esm/util/commander.js +5 -6
  187. package/dist/esm/util/commander.js.map +1 -1
  188. package/dist/esm/util/index.d.ts +1 -0
  189. package/dist/esm/util/index.d.ts.map +1 -1
  190. package/dist/esm/util/index.js +2 -1
  191. package/dist/esm/util/index.js.map +1 -1
  192. package/dist/esm/util/progress.d.ts +2 -2
  193. package/dist/esm/util/progress.d.ts.map +1 -1
  194. package/dist/esm/util/progress.js +26 -44
  195. package/dist/esm/util/progress.js.map +1 -1
  196. package/dist/esm/versioning/versioner.js +3 -3
  197. package/dist/esm/versioning/versioner.js.map +1 -1
  198. package/package.json +11 -1
  199. package/src/ansi-text/chars.ts +31 -0
  200. package/src/ansi-text/consumer.ts +53 -0
  201. package/src/ansi-text/contiguous-output-segment.ts +181 -0
  202. package/src/ansi-text/index.ts +14 -0
  203. package/src/ansi-text/printer.ts +86 -0
  204. package/src/ansi-text/producer.ts +29 -0
  205. package/src/ansi-text/screen.ts +18 -0
  206. package/src/ansi-text/sgr.ts +154 -0
  207. package/src/ansi-text/std.ts +28 -0
  208. package/src/ansi-text/style.ts +369 -0
  209. package/src/ansi-text/text-builder.ts +261 -0
  210. package/src/ansi-text/text-writer.ts +363 -0
  211. package/src/ansi-text/token.ts +76 -0
  212. package/src/ansi-text/tokenize.ts +212 -0
  213. package/src/ansi-text/truncator.ts +63 -0
  214. package/src/ansi-text/visible-width-of.ts +39 -0
  215. package/src/ansi-text/wrapper.ts +244 -0
  216. package/src/building/cli.ts +2 -2
  217. package/src/building/graph.ts +2 -2
  218. package/src/building/project-builder.ts +230 -0
  219. package/src/building/tsconfig.ts +2 -4
  220. package/src/index.ts +4 -6
  221. package/src/running/ensure-compiled.ts +2 -2
  222. package/src/util/commander.ts +4 -6
  223. package/src/util/index.ts +1 -0
  224. package/src/util/progress.ts +24 -61
  225. package/src/versioning/versioner.ts +2 -2
@@ -0,0 +1,297 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { ContiguousOutputSegment } from "./contiguous-output-segment.js";
7
+ import { Producer } from "./producer.js";
8
+ import { SgrOpcode } from "./sgr.js";
9
+ import { Style } from "./style.js";
10
+ import { tokenize } from "./tokenize.js";
11
+ const DEFAULT_TAB_WIDTH = 4;
12
+ class TextWriter {
13
+ tabWidth;
14
+ #terminalWidth;
15
+ #currentLineWidth = 0;
16
+ #out;
17
+ #activeStyle = Style.Inherit;
18
+ #styleDirty = true;
19
+ #currentStyle = Style.Inherit;
20
+ #linePrefix;
21
+ #state;
22
+ #styleEnabled = true;
23
+ #isNewLine = true;
24
+ #buffer;
25
+ #revertHandlers;
26
+ constructor(out, options) {
27
+ const { tabWidth, terminalWidth, linePrefix } = options ?? {};
28
+ this.#out = out;
29
+ this.tabWidth = tabWidth ?? DEFAULT_TAB_WIDTH;
30
+ this.#terminalWidth = terminalWidth;
31
+ if (linePrefix) {
32
+ this.#linePrefix = new ContiguousOutputSegment(...tokenize(linePrefix));
33
+ }
34
+ const self = this;
35
+ this.#state = function state(options2, executor) {
36
+ options2 = { ...options2 };
37
+ const revertTo = { ...self.state, options: options2 };
38
+ const { linePrefix: linePrefix2, style, buffer } = options2;
39
+ if (linePrefix2) {
40
+ if (self.#linePrefix) {
41
+ self.#linePrefix.push(linePrefix2);
42
+ } else {
43
+ self.#linePrefix = new ContiguousOutputSegment(linePrefix2);
44
+ }
45
+ }
46
+ if (style) {
47
+ if (self.#currentStyle) {
48
+ self.#currentStyle = self.#currentStyle.addStyle(style);
49
+ } else {
50
+ self.#currentStyle = style;
51
+ }
52
+ self.#styleDirty = true;
53
+ }
54
+ if (!!buffer !== !!self.#buffer) {
55
+ if (buffer) {
56
+ self.#buffer = [];
57
+ } else {
58
+ self.#buffer = void 0;
59
+ }
60
+ }
61
+ const context = {
62
+ close() {
63
+ if (self.#revertHandlers) {
64
+ for (const fn of self.#revertHandlers) {
65
+ fn();
66
+ }
67
+ }
68
+ if (revertTo.style) {
69
+ revertTo.style = self.#currentStyle.undoStyle.addStyle(revertTo.style);
70
+ } else {
71
+ revertTo.style = Style.None;
72
+ }
73
+ for (const key in revertTo) {
74
+ self.state[key] = revertTo[key];
75
+ }
76
+ },
77
+ [Symbol.dispose]() {
78
+ this.close();
79
+ }
80
+ };
81
+ if (executor) {
82
+ try {
83
+ executor();
84
+ } finally {
85
+ context.close();
86
+ }
87
+ } else {
88
+ return context;
89
+ }
90
+ };
91
+ Object.defineProperties(this.#state, {
92
+ style: {
93
+ get() {
94
+ return self.#currentStyle;
95
+ },
96
+ set(style) {
97
+ self.#currentStyle = style ?? Style.Inherit;
98
+ self.#styleDirty = true;
99
+ },
100
+ enumerable: true
101
+ },
102
+ linePrefix: {
103
+ get() {
104
+ return self.#linePrefix?.toString();
105
+ },
106
+ set(prefix) {
107
+ if (prefix) {
108
+ self.#linePrefix = new ContiguousOutputSegment(...tokenize(prefix));
109
+ } else {
110
+ self.#linePrefix = void 0;
111
+ }
112
+ },
113
+ enumerable: true
114
+ },
115
+ terminalWidth: {
116
+ get() {
117
+ return self.#terminalWidth;
118
+ },
119
+ set(width) {
120
+ self.#terminalWidth = width;
121
+ },
122
+ enumerable: true
123
+ },
124
+ styleEnabled: {
125
+ get() {
126
+ return self.#styleEnabled;
127
+ },
128
+ set(enabled) {
129
+ self.#styleEnabled = enabled;
130
+ },
131
+ enumerable: true
132
+ },
133
+ availableWidth: {
134
+ get() {
135
+ if (self.#terminalWidth === void 0) {
136
+ return void 0;
137
+ }
138
+ if (self.#linePrefix) {
139
+ const width = self.#terminalWidth - self.#linePrefix.width;
140
+ if (width > 0) {
141
+ return width;
142
+ }
143
+ return void 0;
144
+ }
145
+ return self.#terminalWidth;
146
+ }
147
+ },
148
+ remainingWidth: {
149
+ get() {
150
+ if (self.#terminalWidth === void 0) {
151
+ return void 0;
152
+ }
153
+ return self.#terminalWidth - self.#currentLineWidth;
154
+ }
155
+ },
156
+ buffer: {
157
+ get() {
158
+ return !!self.#buffer;
159
+ },
160
+ set(buffering) {
161
+ if (!!self.#buffer === buffering) {
162
+ return;
163
+ }
164
+ if (buffering) {
165
+ self.#buffer = [];
166
+ return;
167
+ }
168
+ if (self.#buffer) {
169
+ self.#out(self.#buffer.join(""));
170
+ self.#buffer = void 0;
171
+ }
172
+ },
173
+ enumerable: true
174
+ },
175
+ onRevert: {
176
+ value(fn) {
177
+ if (!self.#revertHandlers) {
178
+ self.#revertHandlers = /* @__PURE__ */ new Set();
179
+ }
180
+ self.#revertHandlers.add(fn);
181
+ }
182
+ },
183
+ offRevert: {
184
+ value(fn) {
185
+ if (self.#revertHandlers) {
186
+ self.#revertHandlers.add(fn);
187
+ }
188
+ }
189
+ }
190
+ });
191
+ }
192
+ get state() {
193
+ return this.#state;
194
+ }
195
+ write(...text) {
196
+ for (const token of Producer.of(text)) {
197
+ this.#addToken(token);
198
+ }
199
+ }
200
+ close() {
201
+ this.#writeStyle();
202
+ }
203
+ /**
204
+ * Reset styling.
205
+ */
206
+ reset() {
207
+ if (this.#currentStyle.styleCodes.find((code) => code !== SgrOpcode.reset)) {
208
+ this.#currentStyle = Style.None;
209
+ this.#styleDirty = true;
210
+ }
211
+ }
212
+ #addToken(token, forLinePrefix = false) {
213
+ if (this.#isNewLine && this.#linePrefix && !forLinePrefix) {
214
+ this.#isNewLine = false;
215
+ const style = this.#currentStyle;
216
+ this.#currentStyle = Style.None;
217
+ this.#styleDirty = true;
218
+ for (const token2 of this.#linePrefix.tokens) {
219
+ this.#addToken(token2, true);
220
+ }
221
+ this.#currentStyle = style;
222
+ this.#styleDirty = true;
223
+ }
224
+ switch (token.kind) {
225
+ case "newline":
226
+ this.#emitLine("\n");
227
+ break;
228
+ case "carriage-return":
229
+ this.#emitLine("\r");
230
+ break;
231
+ case "tab":
232
+ let width = this.tabWidth - this.#currentLineWidth % this.tabWidth;
233
+ if (width === 0) {
234
+ width = this.tabWidth;
235
+ }
236
+ this.#writeText("".padStart(width));
237
+ this.#currentLineWidth += width;
238
+ break;
239
+ case "breaking":
240
+ this.#writeText(token.str);
241
+ this.#currentLineWidth += token.width;
242
+ break;
243
+ case "style":
244
+ this.#currentStyle = this.#currentStyle.addStyle(token.style);
245
+ this.#styleDirty = true;
246
+ break;
247
+ case "ansi":
248
+ if (this.#styleEnabled) {
249
+ this.#writeText(token.sequence);
250
+ }
251
+ if (token.newColumn !== void 0) {
252
+ if (!this.#currentLineWidth) {
253
+ this.#isNewLine = true;
254
+ }
255
+ this.#currentLineWidth = token.newColumn;
256
+ }
257
+ break;
258
+ case "nonbreaking":
259
+ this.#writeText(token.str);
260
+ this.#currentLineWidth += token.width;
261
+ break;
262
+ }
263
+ }
264
+ #writeText(text) {
265
+ this.#writeStyle();
266
+ this.#emit(text);
267
+ }
268
+ #writeStyle() {
269
+ if (this.#styleDirty && this.#styleEnabled) {
270
+ this.#styleDirty = false;
271
+ this.#emit(this.#activeStyle.diffStyle(this.#currentStyle).toString());
272
+ this.#activeStyle = this.#currentStyle;
273
+ }
274
+ }
275
+ #emit(text) {
276
+ if (this.#buffer) {
277
+ this.#buffer.push(text);
278
+ } else {
279
+ this.#out(text);
280
+ }
281
+ }
282
+ #emitLine(terminator) {
283
+ this.#writeStyle();
284
+ this.#beginLine();
285
+ if (terminator) {
286
+ this.#emit(terminator);
287
+ }
288
+ }
289
+ #beginLine() {
290
+ this.#isNewLine = true;
291
+ this.#currentLineWidth = 0;
292
+ }
293
+ }
294
+ export {
295
+ TextWriter
296
+ };
297
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2Fuc2ktdGV4dC90ZXh0LXdyaXRlci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMjItMjAyNCBNYXR0ZXIuanMgQXV0aG9yc1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbiAqL1xuXG5pbXBvcnQgeyBDb25zdW1lciB9IGZyb20gXCIuL2NvbnN1bWVyLmpzXCI7XG5pbXBvcnQgeyBDb250aWd1b3VzT3V0cHV0U2VnbWVudCB9IGZyb20gXCIuL2NvbnRpZ3VvdXMtb3V0cHV0LXNlZ21lbnQuanNcIjtcbmltcG9ydCB7IFByb2R1Y2VyIH0gZnJvbSBcIi4vcHJvZHVjZXIuanNcIjtcbmltcG9ydCB7IFNnck9wY29kZSB9IGZyb20gXCIuL3Nnci5qc1wiO1xuaW1wb3J0IHsgU3R5bGUgfSBmcm9tIFwiLi9zdHlsZS5qc1wiO1xuaW1wb3J0IHsgVG9rZW4gfSBmcm9tIFwiLi90b2tlbi5qc1wiO1xuaW1wb3J0IHsgdG9rZW5pemUgfSBmcm9tIFwiLi90b2tlbml6ZS5qc1wiO1xuXG5jb25zdCBERUZBVUxUX1RBQl9XSURUSCA9IDQ7XG5cbi8qKlxuICogTG93LWxldmVsIHRleHQgb3V0cHV0IHdpdGggQU5TSSBlc2NhcGUgc2VxdWVuY2VzLCBtYWludGFpbmluZyBzdGF0ZSByZWdhcmRpbmcgc3R5bGUgYW5kIHdpZHRoIG9mIGN1cnJlbnQgbGluZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFRleHRXcml0ZXIgaW1wbGVtZW50cyBDb25zdW1lciB7XG4gICAgdGFiV2lkdGg6IG51bWJlcjtcblxuICAgICN0ZXJtaW5hbFdpZHRoPzogbnVtYmVyO1xuICAgICNjdXJyZW50TGluZVdpZHRoID0gMDtcbiAgICAjb3V0OiAodGV4dDogc3RyaW5nKSA9PiB2b2lkO1xuICAgICNhY3RpdmVTdHlsZSA9IFN0eWxlLkluaGVyaXQ7XG4gICAgI3N0eWxlRGlydHkgPSB0cnVlO1xuICAgICNjdXJyZW50U3R5bGUgPSBTdHlsZS5Jbmhlcml0O1xuICAgICNsaW5lUHJlZml4PzogQ29udGlndW91c091dHB1dFNlZ21lbnQ7XG4gICAgI3N0YXRlOiBDb25zdW1lci5TdGF0ZTtcbiAgICAjc3R5bGVFbmFibGVkID0gdHJ1ZTtcbiAgICAjaXNOZXdMaW5lID0gdHJ1ZTtcbiAgICAjYnVmZmVyPzogc3RyaW5nW107XG4gICAgI3JldmVydEhhbmRsZXJzPzogU2V0PCgpID0+IHZvaWQ+O1xuXG4gICAgY29uc3RydWN0b3Iob3V0OiAodGV4dDogc3RyaW5nKSA9PiB2b2lkLCBvcHRpb25zPzogV3JpdGVyLk9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgeyB0YWJXaWR0aCwgdGVybWluYWxXaWR0aCwgbGluZVByZWZpeCB9ID0gb3B0aW9ucyA/PyB7fTtcbiAgICAgICAgdGhpcy4jb3V0ID0gb3V0O1xuICAgICAgICB0aGlzLnRhYldpZHRoID0gdGFiV2lkdGggPz8gREVGQVVMVF9UQUJfV0lEVEg7XG4gICAgICAgIHRoaXMuI3Rlcm1pbmFsV2lkdGggPSB0ZXJtaW5hbFdpZHRoO1xuICAgICAgICBpZiAobGluZVByZWZpeCkge1xuICAgICAgICAgICAgdGhpcy4jbGluZVByZWZpeCA9IG5ldyBDb250aWd1b3VzT3V0cHV0U2VnbWVudCguLi50b2tlbml6ZShsaW5lUHJlZml4KSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzZWxmID0gdGhpcztcblxuICAgICAgICB0aGlzLiNzdGF0ZSA9IGZ1bmN0aW9uIHN0YXRlKG9wdGlvbnM/OiBDb25zdW1lci5PcHRpb25zLCBleGVjdXRvcj86ICgpID0+IHZvaWQpOiBDb25zdW1lci5Db250ZXh0IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSB7IC4uLm9wdGlvbnMgfTtcblxuICAgICAgICAgICAgY29uc3QgcmV2ZXJ0VG8gPSB7IC4uLnNlbGYuc3RhdGUsIG9wdGlvbnMgfSBhcyBDb25zdW1lci5PcHRpb25zO1xuXG4gICAgICAgICAgICBjb25zdCB7IGxpbmVQcmVmaXgsIHN0eWxlLCBidWZmZXIgfSA9IG9wdGlvbnM7XG4gICAgICAgICAgICBpZiAobGluZVByZWZpeCkge1xuICAgICAgICAgICAgICAgIGlmIChzZWxmLiNsaW5lUHJlZml4KSB7XG4gICAgICAgICAgICAgICAgICAgIHNlbGYuI2xpbmVQcmVmaXgucHVzaChsaW5lUHJlZml4KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBzZWxmLiNsaW5lUHJlZml4ID0gbmV3IENvbnRpZ3VvdXNPdXRwdXRTZWdtZW50KGxpbmVQcmVmaXgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHN0eWxlKSB7XG4gICAgICAgICAgICAgICAgaWYgKHNlbGYuI2N1cnJlbnRTdHlsZSkge1xuICAgICAgICAgICAgICAgICAgICBzZWxmLiNjdXJyZW50U3R5bGUgPSBzZWxmLiNjdXJyZW50U3R5bGUuYWRkU3R5bGUoc3R5bGUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHNlbGYuI2N1cnJlbnRTdHlsZSA9IHN0eWxlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZWxmLiNzdHlsZURpcnR5ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCEhYnVmZmVyICE9PSAhIXNlbGYuI2J1ZmZlcikge1xuICAgICAgICAgICAgICAgIGlmIChidWZmZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgc2VsZi4jYnVmZmVyID0gW107XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgc2VsZi4jYnVmZmVyID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgY29udGV4dCA9IHtcbiAgICAgICAgICAgICAgICBjbG9zZSgpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGYuI3JldmVydEhhbmRsZXJzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGZuIG9mIHNlbGYuI3JldmVydEhhbmRsZXJzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm4oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXZlcnRUby5zdHlsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV2ZXJ0VG8uc3R5bGUgPSBzZWxmLiNjdXJyZW50U3R5bGUudW5kb1N0eWxlLmFkZFN0eWxlKHJldmVydFRvLnN0eWxlKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldmVydFRvLnN0eWxlID0gU3R5bGUuTm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHJldmVydFRvKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAoc2VsZi5zdGF0ZSBhcyBhbnkpW2tleV0gPSAocmV2ZXJ0VG8gYXMgYW55KVtrZXldO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgICAgIFtTeW1ib2wuZGlzcG9zZV0oKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgaWYgKGV4ZWN1dG9yKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgZXhlY3V0b3IoKTtcbiAgICAgICAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0LmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBhcyBDb25zdW1lci5TdGF0ZTtcblxuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0aGlzLiNzdGF0ZSwge1xuICAgICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgICAgICBnZXQodGhpczogbmV2ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuI2N1cnJlbnRTdHlsZTtcbiAgICAgICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICAgICAgc2V0KHRoaXM6IG5ldmVyLCBzdHlsZSkge1xuICAgICAgICAgICAgICAgICAgICBzZWxmLiNjdXJyZW50U3R5bGUgPSBzdHlsZSA/PyBTdHlsZS5Jbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICBzZWxmLiNzdHlsZURpcnR5ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIGxpbmVQcmVmaXg6IHtcbiAgICAgICAgICAgICAgICBnZXQodGhpczogbmV2ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuI2xpbmVQcmVmaXg/LnRvU3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgICAgIHNldCh0aGlzOiBuZXZlciwgcHJlZml4KSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwcmVmaXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuI2xpbmVQcmVmaXggPSBuZXcgQ29udGlndW91c091dHB1dFNlZ21lbnQoLi4udG9rZW5pemUocHJlZml4KSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLiNsaW5lUHJlZml4ID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICB0ZXJtaW5hbFdpZHRoOiB7XG4gICAgICAgICAgICAgICAgZ2V0KHRoaXM6IG5ldmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLiN0ZXJtaW5hbFdpZHRoO1xuICAgICAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgICAgICBzZXQodGhpczogbmV2ZXIsIHdpZHRoOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgc2VsZi4jdGVybWluYWxXaWR0aCA9IHdpZHRoO1xuICAgICAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgc3R5bGVFbmFibGVkOiB7XG4gICAgICAgICAgICAgICAgZ2V0KHRoaXM6IG5ldmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLiNzdHlsZUVuYWJsZWQ7XG4gICAgICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgICAgIHNldCh0aGlzOiBuZXZlciwgZW5hYmxlZDogYm9vbGVhbikge1xuICAgICAgICAgICAgICAgICAgICBzZWxmLiNzdHlsZUVuYWJsZWQgPSBlbmFibGVkO1xuICAgICAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgYXZhaWxhYmxlV2lkdGg6IHtcbiAgICAgICAgICAgICAgICBnZXQodGhpczogbmV2ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGYuI3Rlcm1pbmFsV2lkdGggPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChzZWxmLiNsaW5lUHJlZml4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB3aWR0aCA9IHNlbGYuI3Rlcm1pbmFsV2lkdGggLSBzZWxmLiNsaW5lUHJlZml4LndpZHRoO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHdpZHRoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB3aWR0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi4jdGVybWluYWxXaWR0aDtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgcmVtYWluaW5nV2lkdGg6IHtcbiAgICAgICAgICAgICAgICBnZXQodGhpczogbmV2ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGYuI3Rlcm1pbmFsV2lkdGggPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi4jdGVybWluYWxXaWR0aCAtIHNlbGYuI2N1cnJlbnRMaW5lV2lkdGg7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIGJ1ZmZlcjoge1xuICAgICAgICAgICAgICAgIGdldCh0aGlzOiBuZXZlcikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gISFzZWxmLiNidWZmZXI7XG4gICAgICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgICAgIHNldCh0aGlzOiBuZXZlciwgYnVmZmVyaW5nOiBib29sZWFuKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghIXNlbGYuI2J1ZmZlciA9PT0gYnVmZmVyaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGJ1ZmZlcmluZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi4jYnVmZmVyID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGYuI2J1ZmZlcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi4jb3V0KHNlbGYuI2J1ZmZlci5qb2luKFwiXCIpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuI2J1ZmZlciA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgb25SZXZlcnQ6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZShmbjogKCkgPT4gdm9pZCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXNlbGYuI3JldmVydEhhbmRsZXJzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLiNyZXZlcnRIYW5kbGVycyA9IG5ldyBTZXQoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBzZWxmLiNyZXZlcnRIYW5kbGVycy5hZGQoZm4pO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICBvZmZSZXZlcnQ6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZShmbjogKCkgPT4gdm9pZCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZi4jcmV2ZXJ0SGFuZGxlcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuI3JldmVydEhhbmRsZXJzLmFkZChmbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IHN0YXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy4jc3RhdGU7XG4gICAgfVxuXG4gICAgd3JpdGUoLi4udGV4dDogUHJvZHVjZXIuU2VxdWVuY2UpIHtcbiAgICAgICAgZm9yIChjb25zdCB0b2tlbiBvZiBQcm9kdWNlci5vZih0ZXh0KSkge1xuICAgICAgICAgICAgdGhpcy4jYWRkVG9rZW4odG9rZW4pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2xvc2UoKSB7XG4gICAgICAgIHRoaXMuI3dyaXRlU3R5bGUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXNldCBzdHlsaW5nLlxuICAgICAqL1xuICAgIHJlc2V0KCkge1xuICAgICAgICBpZiAodGhpcy4jY3VycmVudFN0eWxlLnN0eWxlQ29kZXMuZmluZChjb2RlID0+IGNvZGUgIT09IFNnck9wY29kZS5yZXNldCkpIHtcbiAgICAgICAgICAgIHRoaXMuI2N1cnJlbnRTdHlsZSA9IFN0eWxlLk5vbmU7XG4gICAgICAgICAgICB0aGlzLiNzdHlsZURpcnR5ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNhZGRUb2tlbih0b2tlbjogVG9rZW4sIGZvckxpbmVQcmVmaXggPSBmYWxzZSkge1xuICAgICAgICBpZiAodGhpcy4jaXNOZXdMaW5lICYmIHRoaXMuI2xpbmVQcmVmaXggJiYgIWZvckxpbmVQcmVmaXgpIHtcbiAgICAgICAgICAgIHRoaXMuI2lzTmV3TGluZSA9IGZhbHNlO1xuICAgICAgICAgICAgY29uc3Qgc3R5bGUgPSB0aGlzLiNjdXJyZW50U3R5bGU7XG4gICAgICAgICAgICB0aGlzLiNjdXJyZW50U3R5bGUgPSBTdHlsZS5Ob25lO1xuICAgICAgICAgICAgdGhpcy4jc3R5bGVEaXJ0eSA9IHRydWU7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHRva2VuIG9mIHRoaXMuI2xpbmVQcmVmaXgudG9rZW5zKSB7XG4gICAgICAgICAgICAgICAgdGhpcy4jYWRkVG9rZW4odG9rZW4sIHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy4jY3VycmVudFN0eWxlID0gc3R5bGU7XG4gICAgICAgICAgICB0aGlzLiNzdHlsZURpcnR5ID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN3aXRjaCAodG9rZW4ua2luZCkge1xuICAgICAgICAgICAgY2FzZSBcIm5ld2xpbmVcIjpcbiAgICAgICAgICAgICAgICB0aGlzLiNlbWl0TGluZShcIlxcblwiKTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBcImNhcnJpYWdlLXJldHVyblwiOlxuICAgICAgICAgICAgICAgIHRoaXMuI2VtaXRMaW5lKFwiXFxyXCIpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIFwidGFiXCI6XG4gICAgICAgICAgICAgICAgbGV0IHdpZHRoID0gdGhpcy50YWJXaWR0aCAtICh0aGlzLiNjdXJyZW50TGluZVdpZHRoICUgdGhpcy50YWJXaWR0aCk7XG4gICAgICAgICAgICAgICAgaWYgKHdpZHRoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoID0gdGhpcy50YWJXaWR0aDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy4jd3JpdGVUZXh0KFwiXCIucGFkU3RhcnQod2lkdGgpKTtcbiAgICAgICAgICAgICAgICB0aGlzLiNjdXJyZW50TGluZVdpZHRoICs9IHdpZHRoO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIFwiYnJlYWtpbmdcIjpcbiAgICAgICAgICAgICAgICB0aGlzLiN3cml0ZVRleHQodG9rZW4uc3RyKTtcbiAgICAgICAgICAgICAgICB0aGlzLiNjdXJyZW50TGluZVdpZHRoICs9IHRva2VuLndpZHRoO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIFwic3R5bGVcIjpcbiAgICAgICAgICAgICAgICB0aGlzLiNjdXJyZW50U3R5bGUgPSB0aGlzLiNjdXJyZW50U3R5bGUuYWRkU3R5bGUodG9rZW4uc3R5bGUpO1xuICAgICAgICAgICAgICAgIHRoaXMuI3N0eWxlRGlydHkgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIFwiYW5zaVwiOlxuICAgICAgICAgICAgICAgIGlmICh0aGlzLiNzdHlsZUVuYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4jd3JpdGVUZXh0KHRva2VuLnNlcXVlbmNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRva2VuLm5ld0NvbHVtbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFRPRE8gLSBkb24ndCBuZWVkIHRvIHN1cHBvcnQgeWV0IGJ1dCB0byBiZSBjb3JyZWN0IHNob3VsZCBhZGp1c3Qgc2VxdWVuY2UgdG8gYWNjb3VudCBmb3IgaW5kZW50XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy4jY3VycmVudExpbmVXaWR0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4jaXNOZXdMaW5lID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLiNjdXJyZW50TGluZVdpZHRoID0gdG9rZW4ubmV3Q29sdW1uO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBcIm5vbmJyZWFraW5nXCI6XG4gICAgICAgICAgICAgICAgdGhpcy4jd3JpdGVUZXh0KHRva2VuLnN0cik7XG4gICAgICAgICAgICAgICAgdGhpcy4jY3VycmVudExpbmVXaWR0aCArPSB0b2tlbi53aWR0aDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICN3cml0ZVRleHQodGV4dDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuI3dyaXRlU3R5bGUoKTtcbiAgICAgICAgdGhpcy4jZW1pdCh0ZXh0KTtcbiAgICB9XG5cbiAgICAjd3JpdGVTdHlsZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuI3N0eWxlRGlydHkgJiYgdGhpcy4jc3R5bGVFbmFibGVkKSB7XG4gICAgICAgICAgICB0aGlzLiNzdHlsZURpcnR5ID0gZmFsc2U7XG5cbiAgICAgICAgICAgIHRoaXMuI2VtaXQodGhpcy4jYWN0aXZlU3R5bGUuZGlmZlN0eWxlKHRoaXMuI2N1cnJlbnRTdHlsZSkudG9TdHJpbmcoKSk7XG5cbiAgICAgICAgICAgIHRoaXMuI2FjdGl2ZVN0eWxlID0gdGhpcy4jY3VycmVudFN0eWxlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2VtaXQodGV4dDogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLiNidWZmZXIpIHtcbiAgICAgICAgICAgIHRoaXMuI2J1ZmZlci5wdXNoKHRleHQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy4jb3V0KHRleHQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2VtaXRMaW5lKHRlcm1pbmF0b3I/OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy4jd3JpdGVTdHlsZSgpO1xuICAgICAgICB0aGlzLiNiZWdpbkxpbmUoKTtcbiAgICAgICAgaWYgKHRlcm1pbmF0b3IpIHtcbiAgICAgICAgICAgIHRoaXMuI2VtaXQodGVybWluYXRvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjYmVnaW5MaW5lKCkge1xuICAgICAgICB0aGlzLiNpc05ld0xpbmUgPSB0cnVlO1xuICAgICAgICB0aGlzLiNjdXJyZW50TGluZVdpZHRoID0gMDtcbiAgICB9XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgV3JpdGVyIHtcbiAgICBleHBvcnQgaW50ZXJmYWNlIE9wdGlvbnMge1xuICAgICAgICB0YWJXaWR0aD86IG51bWJlcjtcbiAgICAgICAgdGVybWluYWxXaWR0aD86IG51bWJlcjtcbiAgICAgICAgbGluZVByZWZpeD86IHN0cmluZztcbiAgICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0EsU0FBUywrQkFBK0I7QUFDeEMsU0FBUyxnQkFBZ0I7QUFDekIsU0FBUyxpQkFBaUI7QUFDMUIsU0FBUyxhQUFhO0FBRXRCLFNBQVMsZ0JBQWdCO0FBRXpCLE1BQU0sb0JBQW9CO0FBS25CLE1BQU0sV0FBK0I7QUFBQSxFQUN4QztBQUFBLEVBRUE7QUFBQSxFQUNBLG9CQUFvQjtBQUFBLEVBQ3BCO0FBQUEsRUFDQSxlQUFlLE1BQU07QUFBQSxFQUNyQixjQUFjO0FBQUEsRUFDZCxnQkFBZ0IsTUFBTTtBQUFBLEVBQ3RCO0FBQUEsRUFDQTtBQUFBLEVBQ0EsZ0JBQWdCO0FBQUEsRUFDaEIsYUFBYTtBQUFBLEVBQ2I7QUFBQSxFQUNBO0FBQUEsRUFFQSxZQUFZLEtBQTZCLFNBQTBCO0FBQy9ELFVBQU0sRUFBRSxVQUFVLGVBQWUsV0FBVyxJQUFJLFdBQVcsQ0FBQztBQUM1RCxTQUFLLE9BQU87QUFDWixTQUFLLFdBQVcsWUFBWTtBQUM1QixTQUFLLGlCQUFpQjtBQUN0QixRQUFJLFlBQVk7QUFDWixXQUFLLGNBQWMsSUFBSSx3QkFBd0IsR0FBRyxTQUFTLFVBQVUsQ0FBQztBQUFBLElBQzFFO0FBRUEsVUFBTSxPQUFPO0FBRWIsU0FBSyxTQUFTLFNBQVMsTUFBTUEsVUFBNEIsVUFBcUQ7QUFDMUcsTUFBQUEsV0FBVSxFQUFFLEdBQUdBLFNBQVE7QUFFdkIsWUFBTSxXQUFXLEVBQUUsR0FB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
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/ansi-text/text-writer.ts"],
4
+ "mappings": "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",
5
+ "names": ["options", "linePrefix", "token"]
6
+ }
@@ -0,0 +1,61 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Style } from "./style.js";
7
+ /**
8
+ * An individual lexical token in a Unicode string with ANSI escape codes.
9
+ */
10
+ export type Token = NonbreakingToken | BreakingToken | StyleToken | NewlineToken | CarriageReturnToken | TabToken | AnsiToken;
11
+ /**
12
+ * Text sequence that is not whitespace or a control sequence.
13
+ */
14
+ export interface NonbreakingToken {
15
+ kind: "nonbreaking";
16
+ str: string;
17
+ width: number;
18
+ }
19
+ /**
20
+ * Non-tab non-newline whitespace sequence.
21
+ */
22
+ export interface BreakingToken {
23
+ kind: "breaking";
24
+ str: string;
25
+ width: number;
26
+ }
27
+ /**
28
+ * A text styling sequence.
29
+ */
30
+ export interface StyleToken {
31
+ kind: "style";
32
+ style: Style;
33
+ }
34
+ /**
35
+ * Newline character.
36
+ */
37
+ export interface NewlineToken {
38
+ kind: "newline";
39
+ }
40
+ /**
41
+ * Carriage return character.
42
+ */
43
+ export interface CarriageReturnToken {
44
+ kind: "carriage-return";
45
+ }
46
+ /**
47
+ * Tab character.
48
+ */
49
+ export interface TabToken {
50
+ kind: "tab";
51
+ }
52
+ /**
53
+ * Misc valid non-CSI (style) ANSI codes. Currently we tokenize because we have to parse them anyway to skip, but
54
+ * otherwise we ignore.
55
+ */
56
+ export interface AnsiToken {
57
+ kind: "ansi";
58
+ sequence: string;
59
+ newColumn?: number;
60
+ }
61
+ //# sourceMappingURL=token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../src/ansi-text/token.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;GAEG;AACH,MAAM,MAAM,KAAK,GACX,gBAAgB,GAChB,aAAa,GACb,UAAU,GACV,YAAY,GACZ,mBAAmB,GACnB,QAAQ,GACR,SAAS,CAAC;AAEhB;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,aAAa,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,SAAS,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAE,iBAAiB,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,KAAK,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2Fuc2ktdGV4dC90b2tlbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMjItMjAyNCBNYXR0ZXIuanMgQXV0aG9yc1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbiAqL1xuXG5pbXBvcnQgeyBTdHlsZSB9IGZyb20gXCIuL3N0eWxlLmpzXCI7XG5cbi8qKlxuICogQW4gaW5kaXZpZHVhbCBsZXhpY2FsIHRva2VuIGluIGEgVW5pY29kZSBzdHJpbmcgd2l0aCBBTlNJIGVzY2FwZSBjb2Rlcy5cbiAqL1xuZXhwb3J0IHR5cGUgVG9rZW4gPVxuICAgIHwgTm9uYnJlYWtpbmdUb2tlblxuICAgIHwgQnJlYWtpbmdUb2tlblxuICAgIHwgU3R5bGVUb2tlblxuICAgIHwgTmV3bGluZVRva2VuXG4gICAgfCBDYXJyaWFnZVJldHVyblRva2VuXG4gICAgfCBUYWJUb2tlblxuICAgIHwgQW5zaVRva2VuO1xuXG4vKipcbiAqIFRleHQgc2VxdWVuY2UgdGhhdCBpcyBub3Qgd2hpdGVzcGFjZSBvciBhIGNvbnRyb2wgc2VxdWVuY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTm9uYnJlYWtpbmdUb2tlbiB7XG4gICAga2luZDogXCJub25icmVha2luZ1wiO1xuICAgIHN0cjogc3RyaW5nO1xuICAgIHdpZHRoOiBudW1iZXI7XG59XG5cbi8qKlxuICogTm9uLXRhYiBub24tbmV3bGluZSB3aGl0ZXNwYWNlIHNlcXVlbmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJyZWFraW5nVG9rZW4ge1xuICAgIGtpbmQ6IFwiYnJlYWtpbmdcIjtcbiAgICBzdHI6IHN0cmluZztcbiAgICB3aWR0aDogbnVtYmVyO1xufVxuXG4vKipcbiAqIEEgdGV4dCBzdHlsaW5nIHNlcXVlbmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0eWxlVG9rZW4ge1xuICAgIGtpbmQ6IFwic3R5bGVcIjtcbiAgICBzdHlsZTogU3R5bGU7XG59XG5cbi8qKlxuICogTmV3bGluZSBjaGFyYWN0ZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmV3bGluZVRva2VuIHtcbiAgICBraW5kOiBcIm5ld2xpbmVcIjtcbn1cblxuLyoqXG4gKiBDYXJyaWFnZSByZXR1cm4gY2hhcmFjdGVyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENhcnJpYWdlUmV0dXJuVG9rZW4ge1xuICAgIGtpbmQ6IFwiY2FycmlhZ2UtcmV0dXJuXCI7XG59XG5cbi8qKlxuICogVGFiIGNoYXJhY3Rlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYWJUb2tlbiB7XG4gICAga2luZDogXCJ0YWJcIjtcbn1cblxuLyoqXG4gKiBNaXNjIHZhbGlkIG5vbi1DU0kgKHN0eWxlKSBBTlNJIGNvZGVzLiAgQ3VycmVudGx5IHdlIHRva2VuaXplIGJlY2F1c2Ugd2UgaGF2ZSB0byBwYXJzZSB0aGVtIGFueXdheSB0byBza2lwLCBidXRcbiAqIG90aGVyd2lzZSB3ZSBpZ25vcmUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQW5zaVRva2VuIHtcbiAgICBraW5kOiBcImFuc2lcIjtcbiAgICBzZXF1ZW5jZTogc3RyaW5nO1xuICAgIG5ld0NvbHVtbj86IG51bWJlcjtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/ansi-text/token.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;",
5
+ "names": []
6
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Producer } from "./producer.js";
7
+ /**
8
+ * Convert ANSI text into a sequence of tokens.
9
+ */
10
+ export declare function tokenize(text: string): Producer;
11
+ //# sourceMappingURL=tokenize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenize.d.ts","sourceRoot":"","sources":["../../../src/ansi-text/tokenize.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC;;GAEG;AACH,wBAAiB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAqMhD"}
@@ -0,0 +1,170 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Chars } from "./chars.js";
7
+ import { Style } from "./style.js";
8
+ function* tokenize(text) {
9
+ for (let pos = 0; pos < text.length; ) {
10
+ const unit = text[pos];
11
+ switch (unit) {
12
+ case "\n":
13
+ yield { kind: "newline" };
14
+ pos++;
15
+ break;
16
+ case "\r":
17
+ if (text[pos + 1] === "\n") {
18
+ yield { kind: "newline" };
19
+ pos += 2;
20
+ } else {
21
+ yield { kind: "carriage-return" };
22
+ pos += 1;
23
+ }
24
+ break;
25
+ case " ":
26
+ yield { kind: "tab" };
27
+ pos++;
28
+ break;
29
+ case "\x1B":
30
+ let valid = false;
31
+ let newColumn;
32
+ const escapeStart = pos;
33
+ pos++;
34
+ switch (text[pos]) {
35
+ case "[":
36
+ pos++;
37
+ while (text[pos] >= "0" && text[pos] <= "?") {
38
+ pos++;
39
+ }
40
+ if (text[pos] >= "\0x40" && text[pos] <= "~") {
41
+ const param = text.slice(escapeStart + 2, pos);
42
+ switch (text[pos]) {
43
+ case "m":
44
+ yield {
45
+ kind: "style",
46
+ style: Style(param)
47
+ };
48
+ pos++;
49
+ continue;
50
+ case "E":
51
+ // Move up
52
+ case "F":
53
+ newColumn = 0;
54
+ break;
55
+ case "G":
56
+ newColumn = Number.parseInt(param);
57
+ break;
58
+ case "H":
59
+ const [, column] = param.split(";");
60
+ newColumn = column ? Number.parseInt(column) : 0;
61
+ break;
62
+ case "J":
63
+ switch (param) {
64
+ case "2":
65
+ // Entire screen
66
+ case "3":
67
+ newColumn = 0;
68
+ }
69
+ break;
70
+ }
71
+ pos++;
72
+ valid = true;
73
+ }
74
+ break;
75
+ case "X":
76
+ case "]":
77
+ case "^":
78
+ case "_":
79
+ pos++;
80
+ while (pos < text.length) {
81
+ pos++;
82
+ if (text[pos] === "\\") {
83
+ valid = true;
84
+ break;
85
+ }
86
+ }
87
+ break;
88
+ default:
89
+ const code = text[pos];
90
+ if (code >= "@" && code <= "W" || code >= "Y" && code <= "Z" || code >= "\\" && code <= "]") {
91
+ pos++;
92
+ valid = true;
93
+ } else if (code >= "0" && code <= "0x3f") {
94
+ pos++;
95
+ valid = true;
96
+ } else if (code >= "`" && code <= "0x7e") {
97
+ pos++;
98
+ valid = true;
99
+ } else if (code >= " " && code <= "0x2f") {
100
+ pos++;
101
+ const code2 = text[pos];
102
+ if (code2 >= "0" && code2 <= "0x73") {
103
+ pos++;
104
+ valid = true;
105
+ }
106
+ }
107
+ break;
108
+ }
109
+ if (valid) {
110
+ const token = {
111
+ kind: "ansi",
112
+ sequence: text.slice(escapeStart, pos)
113
+ };
114
+ if (newColumn !== void 0 && !Number.isNaN(newColumn)) {
115
+ token.newColumn = newColumn;
116
+ }
117
+ yield token;
118
+ }
119
+ break;
120
+ default:
121
+ const start = pos;
122
+ if (Chars.breakingSpace.has(unit)) {
123
+ let width2 = 1;
124
+ pos++;
125
+ while (Chars.breakingSpace.has(text[pos])) {
126
+ pos++;
127
+ if (unit !== "\u200B") {
128
+ width2++;
129
+ }
130
+ }
131
+ yield {
132
+ kind: "breaking",
133
+ str: text.slice(start, pos),
134
+ width: width2
135
+ };
136
+ break;
137
+ }
138
+ let width = 0;
139
+ while (pos < text.length) {
140
+ let cp = text[pos];
141
+ if (cp >= "\uD800" && cp < "\uDC00") {
142
+ const nextUnit = text[pos + 1];
143
+ if (nextUnit !== void 0 && nextUnit >= "\uDC00" && nextUnit < "\uE000") {
144
+ cp += nextUnit;
145
+ }
146
+ }
147
+ if (!cp.match(Chars.nonbreakingText)) {
148
+ break;
149
+ }
150
+ pos += cp.length;
151
+ if (!cp.match(Chars.zeroWidth)) {
152
+ width++;
153
+ }
154
+ }
155
+ if (start === pos) {
156
+ pos++;
157
+ break;
158
+ }
159
+ yield {
160
+ kind: "nonbreaking",
161
+ str: text.slice(start, pos),
162
+ width
163
+ };
164
+ }
165
+ }
166
+ }
167
+ export {
168
+ tokenize
169
+ };
170
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2Fuc2ktdGV4dC90b2tlbml6ZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMjItMjAyNCBNYXR0ZXIuanMgQXV0aG9yc1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbiAqL1xuXG5pbXBvcnQgeyBDaGFycyB9IGZyb20gXCIuL2NoYXJzLmpzXCI7XG5pbXBvcnQgeyBQcm9kdWNlciB9IGZyb20gXCIuL3Byb2R1Y2VyLmpzXCI7XG5pbXBvcnQgeyBTdHlsZSB9IGZyb20gXCIuL3N0eWxlLmpzXCI7XG5pbXBvcnQgeyBUb2tlbiB9IGZyb20gXCIuL3Rva2VuLmpzXCI7XG5cbi8qKlxuICogQ29udmVydCBBTlNJIHRleHQgaW50byBhIHNlcXVlbmNlIG9mIHRva2Vucy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uKiB0b2tlbml6ZSh0ZXh0OiBzdHJpbmcpOiBQcm9kdWNlciB7XG4gICAgZm9yIChsZXQgcG9zID0gMDsgcG9zIDwgdGV4dC5sZW5ndGg7ICkge1xuICAgICAgICBjb25zdCB1bml0ID0gdGV4dFtwb3NdO1xuICAgICAgICBzd2l0Y2ggKHVuaXQpIHtcbiAgICAgICAgICAgIGNhc2UgXCJcXG5cIjpcbiAgICAgICAgICAgICAgICB5aWVsZCB7IGtpbmQ6IFwibmV3bGluZVwiIH07XG4gICAgICAgICAgICAgICAgcG9zKys7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgXCJcXHJcIjpcbiAgICAgICAgICAgICAgICBpZiAodGV4dFtwb3MgKyAxXSA9PT0gXCJcXG5cIikge1xuICAgICAgICAgICAgICAgICAgICB5aWVsZCB7IGtpbmQ6IFwibmV3bGluZVwiIH07XG4gICAgICAgICAgICAgICAgICAgIHBvcyArPSAyO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHlpZWxkIHsga2luZDogXCJjYXJyaWFnZS1yZXR1cm5cIiB9O1xuICAgICAgICAgICAgICAgICAgICBwb3MgKz0gMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgXCJcXHRcIjpcbiAgICAgICAgICAgICAgICB5aWVsZCB7IGtpbmQ6IFwidGFiXCIgfTtcbiAgICAgICAgICAgICAgICBwb3MrKztcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBcIlxceDFiXCI6XG4gICAgICAgICAgICAgICAgbGV0IHZhbGlkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgbGV0IG5ld0NvbHVtbjogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIGNvbnN0IGVzY2FwZVN0YXJ0ID0gcG9zO1xuICAgICAgICAgICAgICAgIHBvcysrO1xuICAgICAgICAgICAgICAgIHN3aXRjaCAodGV4dFtwb3NdKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgXCJbXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBGZSBDU0lcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvcysrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBWYWxpZCBzZXF1ZW5jZSBtZW1iZXJzXG4gICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAodGV4dFtwb3NdID49IFwiXFx4MzBcIiAmJiB0ZXh0W3Bvc10gPD0gXCJcXHgzZlwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zKys7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFZhbGlkIHNlcXVlbmNlIHRlcm1pbmF0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGV4dFtwb3NdID49IFwiXFwweDQwXCIgJiYgdGV4dFtwb3NdIDw9IFwiXFx4N2VcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcmFtID0gdGV4dC5zbGljZShlc2NhcGVTdGFydCArIDIsIHBvcyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRleHRbcG9zXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwibVwiOiAvLyBTR1IgKHNlbGVjdCBncmFwaGljcyByZW5kaXRpb24pLCB0aGUgc2VxdWVuY2UgdGhhdCBjb250cm9scyBzdHlsaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5aWVsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2luZDogXCJzdHlsZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiBTdHlsZShwYXJhbSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zKys7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiRVwiOiAvLyBNb3ZlIHVwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJGXCI6IC8vIE1vdmUgZG93blxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3Q29sdW1uID0gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJHXCI6IC8vIE1vdmUgdG8gY29sdW1uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdDb2x1bW4gPSBOdW1iZXIucGFyc2VJbnQocGFyYW0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIkhcIjogLy8gTW92ZSB0byByb3cgYW5kIGNvbHVtblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgWywgY29sdW1uXSA9IHBhcmFtLnNwbGl0KFwiO1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld0NvbHVtbiA9IGNvbHVtbiA/IE51bWJlci5wYXJzZUludChjb2x1bW4pIDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJKXCI6IC8vIENsZWFyIHNjcmVlbiBwYXJ0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHBhcmFtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIjJcIjogLy8gRW50aXJlIHNjcmVlblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCIzXCI6IC8vIEVudGlyZSBzY3JlZW4gcGx1cyBzY3JvbGxiYWNrIGJ1ZmZlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdDb2x1bW4gPSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zKys7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICAgICAgY2FzZSBcIlhcIjpcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBcIl1cIjpcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBcIl5cIjpcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBcIl9cIjpcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZlIHNlcXVlbmNlcyB0aGF0IHRha2UgYSBzaW5nbGUgc3RyaW5nIGFyZ3VtZW50ICg8RVNDIFg+LCA8RVNDIF0+LCA8RVNDIF4+LCA8RVNDIF8+XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0ZXJtaW5hdGVkIGJ5IFwiXFxcIilcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvcysrO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKHBvcyA8IHRleHQubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zKys7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRleHRbcG9zXSA9PT0gXCJcXFxcXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29kZSA9IHRleHRbcG9zXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29kZSA+PSBcIlxceDQwXCIgJiYgY29kZSA8PSBcIlxceDU3XCIpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvZGUgPj0gXCJcXHg1OVwiICYmIGNvZGUgPD0gXCJcXHg1YVwiKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb2RlID49IFwiXFx4NWNcIiAmJiBjb2RlIDw9IFwiXFx4NWRcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZlIHNlcXVlbmNlIG5vdCBjb3ZlcmVkIGFib3ZlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zKys7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChjb2RlID49IFwiXFx4MzBcIiAmJiBjb2RlIDw9IFwiMHgzZlwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRnAgc2VxdWVuY2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3MrKztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGNvZGUgPj0gXCJcXHg2MFwiICYmIGNvZGUgPD0gXCIweDdlXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGcyBzZXF1ZW5jZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcysrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY29kZSA+PSBcIlxceDIwXCIgJiYgY29kZSA8PSBcIjB4MmZcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcysrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvZGUyID0gdGV4dFtwb3NdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb2RlMiA+PSBcIlxceDMwXCIgJiYgY29kZTIgPD0gXCIweDczXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zKys7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAodmFsaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdG9rZW46IFRva2VuID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAga2luZDogXCJhbnNpXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXF1ZW5jZTogdGV4dC5zbGljZShlc2NhcGVTdGFydCwgcG9zKSxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5ld0NvbHVtbiAhPT0gdW5kZWZpbmVkICYmICFOdW1iZXIuaXNOYU4obmV3Q29sdW1uKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW4ubmV3Q29sdW1uID0gbmV3Q29sdW1uO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHlpZWxkIHRva2VuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gcG9zO1xuXG4gICAgICAgICAgICAgICAgLy8gV2hpdGVzcGFjZSAtIG5vIHN1cnJvZ2F0ZXMsIHplcm8td2lkdGggc3BhY2UgZG9lcyBub3QgY29udHJpYnV0ZSB0byB3aWR0aFxuICAgICAgICAgICAgICAgIGlmIChDaGFycy5icmVha2luZ1NwYWNlLmhhcyh1bml0KSkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgd2lkdGggPSAxO1xuICAgICAgICAgICAgICAgICAgICBwb3MrKztcbiAgICAgICAgICAgICAgICAgICAgd2hpbGUgKENoYXJzLmJyZWFraW5nU3BhY2UuaGFzKHRleHRbcG9zXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvcysrO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gTm8gd2lkdGggZm9yIHplcm8td2lkdGggc3BhY2VcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh1bml0ICE9PSBcIlxcdTIwMGJcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoKys7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgeWllbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAga2luZDogXCJicmVha2luZ1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RyOiB0ZXh0LnNsaWNlKHN0YXJ0LCBwb3MpLFxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGgsXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIFNjYW4gY2hhcmFjdGVyc1xuICAgICAgICAgICAgICAgIGxldCB3aWR0aCA9IDA7XG4gICAgICAgICAgICAgICAgd2hpbGUgKHBvcyA8IHRleHQubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBjcCA9IHRleHRbcG9zXTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBDb21iaW5lIHByb3BlciBzdXJyb2dhdGUgcGFpcnNcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNwID49IFwiXFx1ZDgwMFwiICYmIGNwIDwgXCJcXHVkYzAwXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5leHRVbml0ID0gdGV4dFtwb3MgKyAxXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXh0VW5pdCAhPT0gdW5kZWZpbmVkICYmIG5leHRVbml0ID49IFwiXFx1ZGMwMFwiICYmIG5leHRVbml0IDwgXCJcXHVlMDAwXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcCArPSBuZXh0VW5pdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmICghY3AubWF0Y2goQ2hhcnMubm9uYnJlYWtpbmdUZXh0KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBwb3MgKz0gY3AubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWNwLm1hdGNoKENoYXJzLnplcm9XaWR0aCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoKys7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBJZiB3ZSBkZXRlY3RlZCBubyBjaGFyYWN0ZXJzLCB0aGUgY29kZSB1bml0IGlzIGdhcmJhZ2UgYW5kIHdlIHNraXAgaXQgZW50aXJlbHlcbiAgICAgICAgICAgICAgICBpZiAoc3RhcnQgPT09IHBvcykge1xuICAgICAgICAgICAgICAgICAgICBwb3MrKztcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gWWllbGQgdGhlIHRva2VuIGFuZCBza2lwIGZvcndhcmQgdG8gdGhlIGxhc3QgY2hhcmFjdGVyXG4gICAgICAgICAgICAgICAgeWllbGQge1xuICAgICAgICAgICAgICAgICAgICBraW5kOiBcIm5vbmJyZWFraW5nXCIsXG4gICAgICAgICAgICAgICAgICAgIHN0cjogdGV4dC5zbGljZShzdGFydCwgcG9zKSxcbiAgICAgICAgICAgICAgICAgICAgd2lkdGgsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQSxTQUFTLGFBQWE7QUFFdEIsU0FBUyxhQUFhO0FBTWYsVUFBVSxTQUFTLE1BQXdCO0FBQzlDLFdBQVMsTUFBTSxHQUFHLE1BQU0sS0FBSyxVQUFVO0FBQ25DLFVBQU0sT0FBTyxLQUFLLEdBQUc7QUFDckIsWUFBUSxNQUFNO0FBQUEsTUFDVixLQUFLO0FBQ0QsY0FBTSxFQUFFLE1BQU0sVUFBVTtBQUN4QjtBQUNBO0FBQUEsTUFFSixLQUFLO0FBQ0QsWUFBSSxLQUFLLE1BQU0sQ0FBQyxNQUFNLE1BQU07QUFDeEIsZ0JBQU0sRUFBRSxNQUFNLFVBQVU7QUFDeEIsaUJBQU87QUFBQSxRQUNYLE9BQU87QUFDSCxnQkFBTSxFQUFFLE1BQU0sa0JBQWtCO0FBQ2hDLGlCQUFPO0FBQUEsUUFDWDtBQUNBO0FBQUEsTUFFSixLQUFLO0FBQ0QsY0FBTSxFQUFFLE1BQU0sTUFBTTtBQUNwQjtBQUNBO0FBQUEsTUFFSixLQUFLO0FBQ0QsWUFBSSxRQUFRO0FBQ1osWUFBSTtBQUNKLGNBQU0sY0FBYztBQUNwQjtBQUNBLGdCQUFRLEtBQUssR0FBRyxHQUFHO0FBQUEsVUFDZixLQUFLO0FBRUQ7QUFHQSxtQkFBTyxLQUFLLEdBQUcsS0FBSyxPQUFVLEtBQUssR0FBRyxLQUFLLEtBQVE7QUFDL0M7QUFBQSxZQUNKO0FBR0EsZ0JBQUksS0FBSyxHQUFHLEtBQUssV0FBVyxLQUFLLEdBQUcsS0FBSyxLQUFRO0FBQzdDLG9CQUFNLFFBQVEsS0FBSyxNQUFNLGNBQWMsR0FBRyxHQUFHO0FBRTdDLHNCQUFRLEtBQUssR0FBRyxHQUFHO0FBQUEsZ0JBQ2YsS0FBSztBQUNELHdCQUFNO0FBQUEsb0JBQ0YsTUFBTTtBQUFBLG9CQUNOLE9BQU8sTUFBTSxLQUFLO0FBQUEsa0JBQ3RCO0FBQ0E7QUFDQTtBQUFBLGdCQUVKLEtBQUs7QUFBQTtBQUFB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
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/ansi-text/tokenize.ts"],
4
+ "mappings": "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",
5
+ "names": ["width"]
6
+ }