@matter/tools 0.13.0-alpha.0-20250327-8b06e5a79 → 0.13.0-alpha.0-20250328-6dde053de

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.
@@ -34,10 +34,10 @@ const DEFAULT_WRAP_PREFIX = ` ${import_text_builder.ansi.dim}\u2937${import_tex
34
34
  var std;
35
35
  ((std2) => {
36
36
  std2.out = (0, import_printer.Printer)(new import_text_writer.TextWriter((text) => import_node_process.stdout.write(text), { terminalWidth: import_node_process.stdout.columns }), {
37
- wrap: { wrapPrefix: DEFAULT_WRAP_PREFIX }
37
+ wrap: { wrapPrefix: DEFAULT_WRAP_PREFIX, preserveSpace: true }
38
38
  });
39
39
  std2.err = (0, import_printer.Printer)(new import_text_writer.TextWriter((text) => import_node_process.stderr.write(text), { terminalWidth: import_node_process.stderr.columns }), {
40
- wrap: { wrapPrefix: DEFAULT_WRAP_PREFIX }
40
+ wrap: { wrapPrefix: DEFAULT_WRAP_PREFIX, preserveSpace: true }
41
41
  });
42
42
  })(std || (std = {}));
43
43
  //# sourceMappingURL=std.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/ansi-text/std.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,0BAA+B;AAC/B,qBAAwB;AACxB,0BAAqB;AACrB,yBAA2B;AAT3B;AAAA;AAAA;AAAA;AAAA;AAWA,MAAM,sBAAsB,KAAK,yBAAK,GAAG,SAAI,yBAAK,IAAI,GAAG;AAElD,IAAU;AAAA,CAAV,CAAUA,SAAV;AAII,EAAMA,KAAA,UAAM,wBAAQ,IAAI,8BAAW,UAAQ,2BAAO,MAAM,IAAI,GAAG,EAAE,eAAe,2BAAO,QAAQ,CAAC,GAAG;AAAA,IACtG,MAAM,EAAE,YAAY,oBAAoB;AAAA,EAC5C,CAAC;AAKM,EAAMA,KAAA,UAAM,wBAAQ,IAAI,8BAAW,UAAQ,2BAAO,MAAM,IAAI,GAAG,EAAE,eAAe,2BAAO,QAAQ,CAAC,GAAG;AAAA,IACtG,MAAM,EAAE,YAAY,oBAAoB;AAAA,EAC5C,CAAC;AAAA,GAbY;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,0BAA+B;AAC/B,qBAAwB;AACxB,0BAAqB;AACrB,yBAA2B;AAT3B;AAAA;AAAA;AAAA;AAAA;AAWA,MAAM,sBAAsB,KAAK,yBAAK,GAAG,SAAI,yBAAK,IAAI,GAAG;AAElD,IAAU;AAAA,CAAV,CAAUA,SAAV;AAII,EAAMA,KAAA,UAAM,wBAAQ,IAAI,8BAAW,UAAQ,2BAAO,MAAM,IAAI,GAAG,EAAE,eAAe,2BAAO,QAAQ,CAAC,GAAG;AAAA,IACtG,MAAM,EAAE,YAAY,qBAAqB,eAAe,KAAK;AAAA,EACjE,CAAC;AAKM,EAAMA,KAAA,UAAM,wBAAQ,IAAI,8BAAW,UAAQ,2BAAO,MAAM,IAAI,GAAG,EAAE,eAAe,2BAAO,QAAQ,CAAC,GAAG;AAAA,IACtG,MAAM,EAAE,YAAY,qBAAqB,eAAe,KAAK;AAAA,EACjE,CAAC;AAAA,GAbY;",
5
5
  "names": ["std"]
6
6
  }
@@ -20,6 +20,7 @@ export declare namespace Wrapper {
20
20
  interface Options {
21
21
  wrapPrefix?: string;
22
22
  preserveIndent?: boolean;
23
+ preserveSpace?: boolean;
23
24
  splitStyling?: boolean;
24
25
  }
25
26
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../../../src/ansi-text/wrapper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AASzC;;GAEG;AACH,qBAAa,OAAQ,YAAW,QAAQ;;gBAexB,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO;IActD,IAAI,KAAK,mBAER;IAED,KAAK,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,QAAQ;IAWhC,KAAK;IAML,CAAC,MAAM,CAAC,OAAO,CAAC;CA2JnB;AAED,yBAAiB,OAAO,CAAC;IACrB,UAAiB,OAAO;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,YAAY,CAAC,EAAE,OAAO,CAAC;KAC1B;IAED;;OAEG;IACI,MAAM,WAAW,eAAa,CAAC;IAEtC;;OAEG;IACI,MAAM,UAAU,eAAa,CAAC;CACxC"}
1
+ {"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../../../src/ansi-text/wrapper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AASzC;;GAEG;AACH,qBAAa,OAAQ,YAAW,QAAQ;;gBAgBxB,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO;IAetD,IAAI,KAAK,mBAER;IAED,KAAK,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,QAAQ;IAWhC,KAAK;IAML,CAAC,MAAM,CAAC,OAAO,CAAC;CA8JnB;AAED,yBAAiB,OAAO,CAAC;IACrB,UAAiB,OAAO;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,YAAY,CAAC,EAAE,OAAO,CAAC;KAC1B;IAED;;OAEG;IACI,MAAM,WAAW,eAAa,CAAC;IAEtC;;OAEG;IACI,MAAM,UAAU,eAAa,CAAC;CACxC"}
@@ -36,6 +36,7 @@ class Wrapper {
36
36
  #target;
37
37
  #wrapPrefix;
38
38
  #preserveIndent;
39
+ #preserveSpace;
39
40
  #splitStyling;
40
41
  #inputState = "newline";
41
42
  #outputState = "newline";
@@ -45,12 +46,13 @@ class Wrapper {
45
46
  this.#emit();
46
47
  };
47
48
  constructor(target, options) {
48
- const { wrapPrefix, preserveIndent, splitStyling } = options;
49
+ const { wrapPrefix, preserveIndent, splitStyling, preserveSpace } = options;
49
50
  this.#target = target;
50
51
  if (wrapPrefix !== void 0) {
51
52
  this.#wrapPrefix = new import_contiguous_output_segment.ContiguousOutputSegment(...(0, import_tokenize.tokenize)(wrapPrefix));
52
53
  }
53
54
  this.#preserveIndent = preserveIndent ?? true;
55
+ this.#preserveSpace = preserveSpace ?? true;
54
56
  this.#splitStyling = splitStyling ?? !!(this.#preserveIndent || this.#wrapPrefix || !this.#target.state.linePrefix);
55
57
  this.#target.state.onRevert(this.#onRevert);
56
58
  }
@@ -123,6 +125,9 @@ class Wrapper {
123
125
  this.#enqueue(token);
124
126
  break;
125
127
  case "word":
128
+ if (this.#preserveSpace) {
129
+ this.#enqueue(token);
130
+ }
126
131
  this.#emit();
127
132
  this.#inputState = "space";
128
133
  break;
@@ -146,7 +151,7 @@ class Wrapper {
146
151
  remainingWidth--;
147
152
  }
148
153
  if (remainingWidth === void 0 || output.width <= remainingWidth) {
149
- if (outputState === "inline") {
154
+ if (outputState === "inline" && !this.#preserveSpace) {
150
155
  this.#target.write(SPACE);
151
156
  }
152
157
  this.#target.write(...output.tokens);
@@ -164,7 +169,7 @@ class Wrapper {
164
169
  return;
165
170
  }
166
171
  const scanner = output.scan();
167
- if (outputState === "inline") {
172
+ if (outputState === "inline" && !this.#preserveSpace) {
168
173
  this.#target.write(SPACE);
169
174
  }
170
175
  this.#target.write(...scanner.take(remainingWidth));
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/ansi-text/wrapper.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["Wrapper"]
6
6
  }
@@ -11,13 +11,13 @@ const DEFAULT_WRAP_PREFIX = ` ${ansi.dim}\u2937${ansi.not.dim} `;
11
11
  var std;
12
12
  ((std2) => {
13
13
  std2.out = Printer(new TextWriter((text) => stdout.write(text), { terminalWidth: stdout.columns }), {
14
- wrap: { wrapPrefix: DEFAULT_WRAP_PREFIX }
14
+ wrap: { wrapPrefix: DEFAULT_WRAP_PREFIX, preserveSpace: true }
15
15
  });
16
16
  std2.err = Printer(new TextWriter((text) => stderr.write(text), { terminalWidth: stderr.columns }), {
17
- wrap: { wrapPrefix: DEFAULT_WRAP_PREFIX }
17
+ wrap: { wrapPrefix: DEFAULT_WRAP_PREFIX, preserveSpace: true }
18
18
  });
19
19
  })(std || (std = {}));
20
20
  export {
21
21
  std
22
22
  };
23
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2Fuc2ktdGV4dC9zdGQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIyLTIwMjUgTWF0dGVyLmpzIEF1dGhvcnNcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4gKi9cblxuaW1wb3J0IHsgc3RkZXJyLCBzdGRvdXQgfSBmcm9tIFwibm9kZTpwcm9jZXNzXCI7XG5pbXBvcnQgeyBQcmludGVyIH0gZnJvbSBcIi4vcHJpbnRlci5qc1wiO1xuaW1wb3J0IHsgYW5zaSB9IGZyb20gXCIuL3RleHQtYnVpbGRlci5qc1wiO1xuaW1wb3J0IHsgVGV4dFdyaXRlciB9IGZyb20gXCIuL3RleHQtd3JpdGVyLmpzXCI7XG5cbmNvbnN0IERFRkFVTFRfV1JBUF9QUkVGSVggPSBgICAke2Fuc2kuZGltfVx1MjkzNyR7YW5zaS5ub3QuZGltfSBgO1xuXG5leHBvcnQgbmFtZXNwYWNlIHN0ZCB7XG4gICAgLyoqXG4gICAgICogV3JpdGVyIHRoYXQgd3JpdGVzIHRvIE5vZGUncyBzdGRvdXQuXG4gICAgICovXG4gICAgZXhwb3J0IGNvbnN0IG91dCA9IFByaW50ZXIobmV3IFRleHRXcml0ZXIodGV4dCA9PiBzdGRvdXQud3JpdGUodGV4dCksIHsgdGVybWluYWxXaWR0aDogc3Rkb3V0LmNvbHVtbnMgfSksIHtcbiAgICAgICAgd3JhcDogeyB3cmFwUHJlZml4OiBERUZBVUxUX1dSQVBfUFJFRklYIH0sXG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBXcml0ZXIgdGhhdCB3cml0ZXMgdG8gTm9kZSdzIHN0ZG91dC5cbiAgICAgKi9cbiAgICBleHBvcnQgY29uc3QgZXJyID0gUHJpbnRlcihuZXcgVGV4dFdyaXRlcih0ZXh0ID0+IHN0ZGVyci53cml0ZSh0ZXh0KSwgeyB0ZXJtaW5hbFdpZHRoOiBzdGRlcnIuY29sdW1ucyB9KSwge1xuICAgICAgICB3cmFwOiB7IHdyYXBQcmVmaXg6IERFRkFVTFRfV1JBUF9QUkVGSVggfSxcbiAgICB9KTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQSxTQUFTLFFBQVEsY0FBYztBQUMvQixTQUFTLGVBQWU7QUFDeEIsU0FBUyxZQUFZO0FBQ3JCLFNBQVMsa0JBQWtCO0FBRTNCLE1BQU0sc0JBQXNCLEtBQUssS0FBSyxHQUFHLFNBQUksS0FBSyxJQUFJLEdBQUc7QUFFbEQsSUFBVTtBQUFBLENBQVYsQ0FBVUEsU0FBVjtBQUlJLEVBQU1BLEtBQUEsTUFBTSxRQUFRLElBQUksV0FBVyxVQUFRLE9BQU8sTUFBTSxJQUFJLEdBQUcsRUFBRSxlQUFlLE9BQU8sUUFBUSxDQUFDLEdBQUc7QUFBQSxJQUN0RyxNQUFNLEVBQUUsWUFBWSxvQkFBb0I7QUFBQSxFQUM1QyxDQUFDO0FBS00sRUFBTUEsS0FBQSxNQUFNLFFBQVEsSUFBSSxXQUFXLFVBQVEsT0FBTyxNQUFNLElBQUksR0FBRyxFQUFFLGVBQWUsT0FBTyxRQUFRLENBQUMsR0FBRztBQUFBLElBQ3RHLE1BQU0sRUFBRSxZQUFZLG9CQUFvQjtBQUFBLEVBQzVDLENBQUM7QUFBQSxHQWJZOyIsCiAgIm5hbWVzIjogWyJzdGQiXQp9Cg==
23
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2Fuc2ktdGV4dC9zdGQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIyLTIwMjUgTWF0dGVyLmpzIEF1dGhvcnNcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4gKi9cblxuaW1wb3J0IHsgc3RkZXJyLCBzdGRvdXQgfSBmcm9tIFwibm9kZTpwcm9jZXNzXCI7XG5pbXBvcnQgeyBQcmludGVyIH0gZnJvbSBcIi4vcHJpbnRlci5qc1wiO1xuaW1wb3J0IHsgYW5zaSB9IGZyb20gXCIuL3RleHQtYnVpbGRlci5qc1wiO1xuaW1wb3J0IHsgVGV4dFdyaXRlciB9IGZyb20gXCIuL3RleHQtd3JpdGVyLmpzXCI7XG5cbmNvbnN0IERFRkFVTFRfV1JBUF9QUkVGSVggPSBgICAke2Fuc2kuZGltfVx1MjkzNyR7YW5zaS5ub3QuZGltfSBgO1xuXG5leHBvcnQgbmFtZXNwYWNlIHN0ZCB7XG4gICAgLyoqXG4gICAgICogV3JpdGVyIHRoYXQgd3JpdGVzIHRvIE5vZGUncyBzdGRvdXQuXG4gICAgICovXG4gICAgZXhwb3J0IGNvbnN0IG91dCA9IFByaW50ZXIobmV3IFRleHRXcml0ZXIodGV4dCA9PiBzdGRvdXQud3JpdGUodGV4dCksIHsgdGVybWluYWxXaWR0aDogc3Rkb3V0LmNvbHVtbnMgfSksIHtcbiAgICAgICAgd3JhcDogeyB3cmFwUHJlZml4OiBERUZBVUxUX1dSQVBfUFJFRklYLCBwcmVzZXJ2ZVNwYWNlOiB0cnVlIH0sXG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBXcml0ZXIgdGhhdCB3cml0ZXMgdG8gTm9kZSdzIHN0ZG91dC5cbiAgICAgKi9cbiAgICBleHBvcnQgY29uc3QgZXJyID0gUHJpbnRlcihuZXcgVGV4dFdyaXRlcih0ZXh0ID0+IHN0ZGVyci53cml0ZSh0ZXh0KSwgeyB0ZXJtaW5hbFdpZHRoOiBzdGRlcnIuY29sdW1ucyB9KSwge1xuICAgICAgICB3cmFwOiB7IHdyYXBQcmVmaXg6IERFRkFVTFRfV1JBUF9QUkVGSVgsIHByZXNlcnZlU3BhY2U6IHRydWUgfSxcbiAgICB9KTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQSxTQUFTLFFBQVEsY0FBYztBQUMvQixTQUFTLGVBQWU7QUFDeEIsU0FBUyxZQUFZO0FBQ3JCLFNBQVMsa0JBQWtCO0FBRTNCLE1BQU0sc0JBQXNCLEtBQUssS0FBSyxHQUFHLFNBQUksS0FBSyxJQUFJLEdBQUc7QUFFbEQsSUFBVTtBQUFBLENBQVYsQ0FBVUEsU0FBVjtBQUlJLEVBQU1BLEtBQUEsTUFBTSxRQUFRLElBQUksV0FBVyxVQUFRLE9BQU8sTUFBTSxJQUFJLEdBQUcsRUFBRSxlQUFlLE9BQU8sUUFBUSxDQUFDLEdBQUc7QUFBQSxJQUN0RyxNQUFNLEVBQUUsWUFBWSxxQkFBcUIsZUFBZSxLQUFLO0FBQUEsRUFDakUsQ0FBQztBQUtNLEVBQU1BLEtBQUEsTUFBTSxRQUFRLElBQUksV0FBVyxVQUFRLE9BQU8sTUFBTSxJQUFJLEdBQUcsRUFBRSxlQUFlLE9BQU8sUUFBUSxDQUFDLEdBQUc7QUFBQSxJQUN0RyxNQUFNLEVBQUUsWUFBWSxxQkFBcUIsZUFBZSxLQUFLO0FBQUEsRUFDakUsQ0FBQztBQUFBLEdBYlk7IiwKICAibmFtZXMiOiBbInN0ZCJdCn0K
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/ansi-text/std.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,QAAQ,cAAc;AAC/B,SAAS,eAAe;AACxB,SAAS,YAAY;AACrB,SAAS,kBAAkB;AAE3B,MAAM,sBAAsB,KAAK,KAAK,GAAG,SAAI,KAAK,IAAI,GAAG;AAElD,IAAU;AAAA,CAAV,CAAUA,SAAV;AAII,EAAMA,KAAA,MAAM,QAAQ,IAAI,WAAW,UAAQ,OAAO,MAAM,IAAI,GAAG,EAAE,eAAe,OAAO,QAAQ,CAAC,GAAG;AAAA,IACtG,MAAM,EAAE,YAAY,oBAAoB;AAAA,EAC5C,CAAC;AAKM,EAAMA,KAAA,MAAM,QAAQ,IAAI,WAAW,UAAQ,OAAO,MAAM,IAAI,GAAG,EAAE,eAAe,OAAO,QAAQ,CAAC,GAAG;AAAA,IACtG,MAAM,EAAE,YAAY,oBAAoB;AAAA,EAC5C,CAAC;AAAA,GAbY;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,QAAQ,cAAc;AAC/B,SAAS,eAAe;AACxB,SAAS,YAAY;AACrB,SAAS,kBAAkB;AAE3B,MAAM,sBAAsB,KAAK,KAAK,GAAG,SAAI,KAAK,IAAI,GAAG;AAElD,IAAU;AAAA,CAAV,CAAUA,SAAV;AAII,EAAMA,KAAA,MAAM,QAAQ,IAAI,WAAW,UAAQ,OAAO,MAAM,IAAI,GAAG,EAAE,eAAe,OAAO,QAAQ,CAAC,GAAG;AAAA,IACtG,MAAM,EAAE,YAAY,qBAAqB,eAAe,KAAK;AAAA,EACjE,CAAC;AAKM,EAAMA,KAAA,MAAM,QAAQ,IAAI,WAAW,UAAQ,OAAO,MAAM,IAAI,GAAG,EAAE,eAAe,OAAO,QAAQ,CAAC,GAAG;AAAA,IACtG,MAAM,EAAE,YAAY,qBAAqB,eAAe,KAAK;AAAA,EACjE,CAAC;AAAA,GAbY;",
5
5
  "names": ["std"]
6
6
  }
@@ -20,6 +20,7 @@ export declare namespace Wrapper {
20
20
  interface Options {
21
21
  wrapPrefix?: string;
22
22
  preserveIndent?: boolean;
23
+ preserveSpace?: boolean;
23
24
  splitStyling?: boolean;
24
25
  }
25
26
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../../../src/ansi-text/wrapper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AASzC;;GAEG;AACH,qBAAa,OAAQ,YAAW,QAAQ;;gBAexB,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO;IActD,IAAI,KAAK,mBAER;IAED,KAAK,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,QAAQ;IAWhC,KAAK;IAML,CAAC,MAAM,CAAC,OAAO,CAAC;CA2JnB;AAED,yBAAiB,OAAO,CAAC;IACrB,UAAiB,OAAO;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,YAAY,CAAC,EAAE,OAAO,CAAC;KAC1B;IAED;;OAEG;IACI,MAAM,WAAW,eAAa,CAAC;IAEtC;;OAEG;IACI,MAAM,UAAU,eAAa,CAAC;CACxC"}
1
+ {"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../../../src/ansi-text/wrapper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AASzC;;GAEG;AACH,qBAAa,OAAQ,YAAW,QAAQ;;gBAgBxB,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO;IAetD,IAAI,KAAK,mBAER;IAED,KAAK,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,QAAQ;IAWhC,KAAK;IAML,CAAC,MAAM,CAAC,OAAO,CAAC;CA8JnB;AAED,yBAAiB,OAAO,CAAC;IACrB,UAAiB,OAAO;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,YAAY,CAAC,EAAE,OAAO,CAAC;KAC1B;IAED;;OAEG;IACI,MAAM,WAAW,eAAa,CAAC;IAEtC;;OAEG;IACI,MAAM,UAAU,eAAa,CAAC;CACxC"}
@@ -13,6 +13,7 @@ class Wrapper {
13
13
  #target;
14
14
  #wrapPrefix;
15
15
  #preserveIndent;
16
+ #preserveSpace;
16
17
  #splitStyling;
17
18
  #inputState = "newline";
18
19
  #outputState = "newline";
@@ -22,12 +23,13 @@ class Wrapper {
22
23
  this.#emit();
23
24
  };
24
25
  constructor(target, options) {
25
- const { wrapPrefix, preserveIndent, splitStyling } = options;
26
+ const { wrapPrefix, preserveIndent, splitStyling, preserveSpace } = options;
26
27
  this.#target = target;
27
28
  if (wrapPrefix !== void 0) {
28
29
  this.#wrapPrefix = new ContiguousOutputSegment(...tokenize(wrapPrefix));
29
30
  }
30
31
  this.#preserveIndent = preserveIndent ?? true;
32
+ this.#preserveSpace = preserveSpace ?? true;
31
33
  this.#splitStyling = splitStyling ?? !!(this.#preserveIndent || this.#wrapPrefix || !this.#target.state.linePrefix);
32
34
  this.#target.state.onRevert(this.#onRevert);
33
35
  }
@@ -100,6 +102,9 @@ class Wrapper {
100
102
  this.#enqueue(token);
101
103
  break;
102
104
  case "word":
105
+ if (this.#preserveSpace) {
106
+ this.#enqueue(token);
107
+ }
103
108
  this.#emit();
104
109
  this.#inputState = "space";
105
110
  break;
@@ -123,7 +128,7 @@ class Wrapper {
123
128
  remainingWidth--;
124
129
  }
125
130
  if (remainingWidth === void 0 || output.width <= remainingWidth) {
126
- if (outputState === "inline") {
131
+ if (outputState === "inline" && !this.#preserveSpace) {
127
132
  this.#target.write(SPACE);
128
133
  }
129
134
  this.#target.write(...output.tokens);
@@ -141,7 +146,7 @@ class Wrapper {
141
146
  return;
142
147
  }
143
148
  const scanner = output.scan();
144
- if (outputState === "inline") {
149
+ if (outputState === "inline" && !this.#preserveSpace) {
145
150
  this.#target.write(SPACE);
146
151
  }
147
152
  this.#target.write(...scanner.take(remainingWidth));
@@ -185,4 +190,4 @@ class Wrapper {
185
190
  export {
186
191
  Wrapper
187
192
  };
188
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2Fuc2ktdGV4dC93cmFwcGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAyMi0yMDI1IE1hdHRlci5qcyBBdXRob3JzXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuICovXG5cbmltcG9ydCB7IENvbnN1bWVyIH0gZnJvbSBcIi4vY29uc3VtZXIuanNcIjtcbmltcG9ydCB7IENvbnRpZ3VvdXNPdXRwdXRTZWdtZW50IH0gZnJvbSBcIi4vY29udGlndW91cy1vdXRwdXQtc2VnbWVudC5qc1wiO1xuaW1wb3J0IHsgUHJvZHVjZXIgfSBmcm9tIFwiLi9wcm9kdWNlci5qc1wiO1xuaW1wb3J0IHsgU3R5bGUgfSBmcm9tIFwiLi9zdHlsZS5qc1wiO1xuaW1wb3J0IHsgdHlwZSBUZXh0V3JpdGVyIH0gZnJvbSBcIi4vdGV4dC13cml0ZXIuanNcIjtcbmltcG9ydCB7IFRva2VuIH0gZnJvbSBcIi4vdG9rZW4uanNcIjtcbmltcG9ydCB7IHRva2VuaXplIH0gZnJvbSBcIi4vdG9rZW5pemUuanNcIjtcblxuY29uc3QgTkVXTElORTogVG9rZW4gPSB7IGtpbmQ6IFwibmV3bGluZVwiIH07XG5jb25zdCBTUEFDRTogVG9rZW4gPSB7IGtpbmQ6IFwibm9uYnJlYWtpbmdcIiwgc3RyOiBcIiBcIiwgd2lkdGg6IDEgfTtcblxuLyoqXG4gKiBXcml0ZXMgdG8gYSB7QGxpbmsgVGV4dFdyaXRlcn0gd2l0aCBzdXBwb3J0IGZvciBzbWFydCB3cmFwcGluZyBvZiB0ZXh0LlxuICovXG5leHBvcnQgY2xhc3MgV3JhcHBlciBpbXBsZW1lbnRzIENvbnN1bWVyIHtcbiAgICAjdGFyZ2V0OiBDb25zdW1lcjtcbiAgICAjd3JhcFByZWZpeD86IENvbnRpZ3VvdXNPdXRwdXRTZWdtZW50O1xuICAgICNwcmVzZXJ2ZUluZGVudDogYm9vbGVhbjtcbiAgICAjc3BsaXRTdHlsaW5nOiBib29sZWFuO1xuICAgICNpbnB1dFN0YXRlOiBcIm5ld2xpbmVcIiB8IFwicHJlZml4XCIgfCBcImluZGVudFwiIHwgXCJ3b3JkXCIgfCBcInNwYWNlXCIgPSBcIm5ld2xpbmVcIjtcbiAgICAjb3V0cHV0U3RhdGU6IFwibmV3bGluZVwiIHwgXCJuZXd3cmFwXCIgfCBcImlubGluZVwiID0gXCJuZXdsaW5lXCI7XG4gICAgI2luZGVudD86IENvbnRpZ3VvdXNPdXRwdXRTZWdtZW50O1xuICAgICNvdXRwdXQ/OiBDb250aWd1b3VzT3V0cHV0U2VnbWVudDtcbiAgICAjb25SZXZlcnQgPSAoKSA9PiB7XG4gICAgICAgIC8vIFdoZW4gc3RhdGUgcmV2ZXJ0cyB3ZSBtYXkgaGF2ZSBidWZmZXJlZCBvdXRwdXQgd2UgaGF2ZSB5ZXQgdG8gZW1pdC4gIERvIHNvIG5vdyB0byBlbnN1cmUgaXQgcmVjZWl2ZXMgcHJvcGVyXG4gICAgICAgIC8vIHN0eWxpbmdcbiAgICAgICAgdGhpcy4jZW1pdCgpO1xuICAgIH07XG5cbiAgICBjb25zdHJ1Y3Rvcih0YXJnZXQ6IENvbnN1bWVyLCBvcHRpb25zOiBXcmFwcGVyLk9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgeyB3cmFwUHJlZml4LCBwcmVzZXJ2ZUluZGVudCwgc3BsaXRTdHlsaW5nIH0gPSBvcHRpb25zO1xuXG4gICAgICAgIHRoaXMuI3RhcmdldCA9IHRhcmdldDtcbiAgICAgICAgaWYgKHdyYXBQcmVmaXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy4jd3JhcFByZWZpeCA9IG5ldyBDb250aWd1b3VzT3V0cHV0U2VnbWVudCguLi50b2tlbml6ZSh3cmFwUHJlZml4KSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy4jcHJlc2VydmVJbmRlbnQgPSBwcmVzZXJ2ZUluZGVudCA/PyB0cnVlO1xuICAgICAgICB0aGlzLiNzcGxpdFN0eWxpbmcgPVxuICAgICAgICAgICAgc3BsaXRTdHlsaW5nID8/ICEhKHRoaXMuI3ByZXNlcnZlSW5kZW50IHx8IHRoaXMuI3dyYXBQcmVmaXggfHwgIXRoaXMuI3RhcmdldC5zdGF0ZS5saW5lUHJlZml4KTtcblxuICAgICAgICB0aGlzLiN0YXJnZXQuc3RhdGUub25SZXZlcnQodGhpcy4jb25SZXZlcnQpO1xuICAgIH1cblxuICAgIGdldCBzdGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuI3RhcmdldC5zdGF0ZTtcbiAgICB9XG5cbiAgICB3cml0ZSguLi50ZXh0OiBQcm9kdWNlci5TZXF1ZW5jZSkge1xuICAgICAgICBpZiAodGhpcy4jdGFyZ2V0LnN0YXRlLnRlcm1pbmFsV2lkdGggPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy4jdGFyZ2V0LndyaXRlKC4uLnRleHQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCB0b2tlbiBvZiBQcm9kdWNlci5vZih0ZXh0KSkge1xuICAgICAgICAgICAgdGhpcy4jYWRkVG9rZW4odG9rZW4pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2xvc2UoKSB7XG4gICAgICAgIHRoaXMuI2VtaXQoKTtcbiAgICAgICAgdGhpcy4jdGFyZ2V0LnN0YXRlLm9mZlJldmVydCh0aGlzLiNvblJldmVydCk7XG4gICAgICAgIHRoaXMuI3RhcmdldC5jbG9zZSgpO1xuICAgIH1cblxuICAgIFtTeW1ib2wuZGlzcG9zZV0oKSB7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG5cbiAgICAjYWRkVG9rZW4odG9rZW46IFRva2VuKSB7XG4gICAgICAgIHN3aXRjaCAodG9rZW4ua2luZCkge1xuICAgICAgICAgICAgY2FzZSBcIm5ld2xpbmVcIjpcbiAgICAgICAgICAgIGNhc2UgXCJjYXJyaWFnZS1yZXR1cm5cIjpcbiAgICAgICAgICAgICAgICB0aGlzLiNlbWl0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy4jdGFyZ2V0LndyaXRlKHRva2VuKTtcbiAgICAgICAgICAgICAgICB0aGlzLiNpbmRlbnQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgdGhpcy4jb3V0cHV0U3RhdGUgPSB0aGlzLiNpbnB1dFN0YXRlID0gXCJuZXdsaW5lXCI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgXCJhbnNpXCI6XG4gICAgICAgICAgICAgICAgdGhpcy4jZW5xdWV1ZSh0b2tlbik7XG5cbiAgICAgICAgICAgICAgICBzd2l0Y2ggKHRva2VuLnNlcXVlbmNlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgV3JhcHBlci5wcmVmaXhTdGFydDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuI2lucHV0U3RhdGUgPSBcInByZWZpeFwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICAgICAgY2FzZSBXcmFwcGVyLnByZWZpeFN0b3A6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiNpbnB1dFN0YXRlID0gXCJpbmRlbnRcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBcInN0eWxlXCI6XG4gICAgICAgICAgICAgICAgdGhpcy4jZW5xdWV1ZSh0b2tlbik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgXCJub25icmVha2luZ1wiOlxuICAgICAgICAgICAgICAgIGlmICh0aGlzLiNpbnB1dFN0YXRlID09PSBcInByZWZpeFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuI2VucXVldWUodG9rZW4pO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuI2lucHV0U3RhdGUgPT09IFwiaW5kZW50XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4jaW5kZW50ID0gdGhpcy4jb3V0cHV0O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLiNvdXRwdXQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuI2lucHV0U3RhdGUgPSBcIndvcmRcIjtcbiAgICAgICAgICAgICAgICB0aGlzLiNlbnF1ZXVlKHRva2VuKTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBcInRhYlwiOlxuICAgICAgICAgICAgY2FzZSBcImJyZWFraW5nXCI6XG4gICAgICAgICAgICAgICAgc3dpdGNoICh0aGlzLiNpbnB1dFN0YXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgXCJuZXdsaW5lXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy4jcHJlc2VydmVJbmRlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiNlbnF1ZXVlKHRva2VuKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuI2lucHV0U3RhdGUgPSBcImluZGVudFwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICAgICAgY2FzZSBcInByZWZpeFwiOlxuICAgICAgICAgICAgICAgICAgICBjYXNlIFwiaW5kZW50XCI6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiNlbnF1ZXVlKHRva2VuKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgXCJ3b3JkXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiNlbWl0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiNpbnB1dFN0YXRlID0gXCJzcGFjZVwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2VtaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLiNvdXRwdXQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3V0cHV0U3RhdGUgPSB0aGlzLiNvdXRwdXRTdGF0ZTtcbiAgICAgICAgaWYgKG91dHB1dFN0YXRlID09PSBcIm5ld2xpbmVcIikge1xuICAgICAgICAgICAgdGhpcy4jZW1pdFByZWZpeCgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuI291dHB1dFN0YXRlID0gXCJpbmxpbmVcIjtcblxuICAgICAgICBjb25zdCBvdXRwdXQgPSB0aGlzLiNvdXRwdXQ7XG4gICAgICAgIHRoaXMuI291dHB1dCA9IHVuZGVmaW5lZDtcblxuICAgICAgICBsZXQgcmVtYWluaW5nV2lkdGggPSB0aGlzLiN0YXJnZXQuc3RhdGUucmVtYWluaW5nV2lkdGghO1xuXG4gICAgICAgIC8vIExlYXZlIHJvb20gZm9yIGEgc3BhY2UgZXhjZXB0IGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGxpbmVcbiAgICAgICAgaWYgKHJlbWFpbmluZ1dpZHRoICE9PSB1bmRlZmluZWQgJiYgb3V0cHV0U3RhdGUgPT09IFwiaW5saW5lXCIpIHtcbiAgICAgICAgICAgIHJlbWFpbmluZ1dpZHRoLS07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZGVhbCBjYXNlIC0gbm90IHdyYXBwaW5nIG9yIHNlZ21lbnQgZml0cyBvbiBjdXJyZW50IGxpbmVcbiAgICAgICAgaWYgKHJlbWFpbmluZ1dpZHRoID09PSB1bmRlZmluZWQgfHwgb3V0cHV0LndpZHRoIDw9IHJlbWFpbmluZ1dpZHRoKSB7XG4gICAgICAgICAgICBpZiAob3V0cHV0U3RhdGUgPT09IFwiaW5saW5lXCIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLiN0YXJnZXQud3JpdGUoU1BBQ0UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy4jdGFyZ2V0LndyaXRlKC4uLm91dHB1dC50b2tlbnMpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTGVhc3QgaWRlYWwgY2FzZSAtIHRoZSBmaXJzdC0gb3IgdGVydGlhcnktIHByZWZpeCBmaWxscyB1cCB0aGUgbGluZSBieSBpdHNlbGYuICBHaXZlIHVwIG9uIHdyYXBwaW5nXG4gICAgICAgIGNvbnN0IHdyYXBQcmVmaXhXaWR0aCA9ICh0aGlzLiN3cmFwUHJlZml4Py53aWR0aCA/PyAwKSArICh0aGlzLiNpbmRlbnQ/LndpZHRoID8/IDApO1xuICAgICAgICBjb25zdCBhdmFpbGFibGVXcmFwcGVkV2lkdGggPSB0aGlzLiN0YXJnZXQuc3RhdGUuYXZhaWxhYmxlV2lkdGghIC0gd3JhcFByZWZpeFdpZHRoO1xuICAgICAgICBpZiAoKG91dHB1dFN0YXRlID09PSBcIm5ld2xpbmVcIiAmJiByZW1haW5pbmdXaWR0aCA8PSAwKSB8fCBhdmFpbGFibGVXcmFwcGVkV2lkdGggPCAwKSB7XG4gICAgICAgICAgICB0aGlzLiN0YXJnZXQud3JpdGUoLi4ub3V0cHV0LnRva2Vucyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZWNvbmQgYmVzdCBjYXNlIC0gdGhlIHNlZ21lbnQgZml0cyBvbiBhIG5ldyBsaW5lXG4gICAgICAgIGlmIChvdXRwdXQud2lkdGggPCBhdmFpbGFibGVXcmFwcGVkV2lkdGgpIHtcbiAgICAgICAgICAgIHRoaXMuI3dyYXAoKTtcbiAgICAgICAgICAgIHRoaXMuI3RhcmdldC53cml0ZSguLi5vdXRwdXQudG9rZW5zKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRoaXJkIGJlc3QgY2FzZSAtIHdlIG5lZWQgdG8gd3JhcCB0aGUgc2VnbWVudCBpdHNlbGZcbiAgICAgICAgY29uc3Qgc2Nhbm5lciA9IG91dHB1dC5zY2FuKCk7XG4gICAgICAgIGlmIChvdXRwdXRTdGF0ZSA9PT0gXCJpbmxpbmVcIikge1xuICAgICAgICAgICAgdGhpcy4jdGFyZ2V0LndyaXRlKFNQQUNFKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLiN0YXJnZXQud3JpdGUoLi4uc2Nhbm5lci50YWtlKHJlbWFpbmluZ1dpZHRoKSk7XG4gICAgICAgIHdoaWxlICghc2Nhbm5lci5kb25lKSB7XG4gICAgICAgICAgICB0aGlzLiN3cmFwKCk7XG4gICAgICAgICAgICB0aGlzLiN0YXJnZXQud3JpdGUoLi4uc2Nhbm5lci50YWtlKGF2YWlsYWJsZVdyYXBwZWRXaWR0aCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2VtaXRQcmVmaXgoZXh0cmE/OiBDb250aWd1b3VzT3V0cHV0U2VnbWVudCkge1xuICAgICAgICBpZiAodGhpcy4jaW5kZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuI3RhcmdldC53cml0ZSguLi50aGlzLiNpbmRlbnQudG9rZW5zKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXh0cmEgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy4jdGFyZ2V0LndyaXRlKC4uLmV4dHJhLnRva2Vucyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjd3JhcCgpIHtcbiAgICAgICAgbGV0IHN0eWxlOiBTdHlsZSB8IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKHRoaXMuI3NwbGl0U3R5bGluZykge1xuICAgICAgICAgICAgc3R5bGUgPSB0aGlzLiN0YXJnZXQuc3RhdGUuc3R5bGU7XG4gICAgICAgICAgICB0aGlzLiN0YXJnZXQud3JpdGUoeyBraW5kOiBcInN0eWxlXCIsIHN0eWxlOiBTdHlsZS5Ob25lIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuI3RhcmdldC53cml0ZShORVdMSU5FKTtcbiAgICAgICAgdGhpcy4jZW1pdFByZWZpeCh0aGlzLiN3cmFwUHJlZml4KTtcbiAgICAgICAgaWYgKHN0eWxlKSB7XG4gICAgICAgICAgICB0aGlzLiN0YXJnZXQud3JpdGUoeyBraW5kOiBcInN0eWxlXCIsIHN0eWxlIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2VucXVldWUodG9rZW46IFRva2VuKSB7XG4gICAgICAgIGlmICh0aGlzLiNvdXRwdXQpIHtcbiAgICAgICAgICAgIHRoaXMuI291dHB1dC5wdXNoKHRva2VuKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuI291dHB1dCA9IG5ldyBDb250aWd1b3VzT3V0cHV0U2VnbWVudCh0b2tlbik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgV3JhcHBlciB7XG4gICAgZXhwb3J0IGludGVyZmFjZSBPcHRpb25zIHtcbiAgICAgICAgd3JhcFByZWZpeD86IHN0cmluZztcbiAgICAgICAgcHJlc2VydmVJbmRlbnQ/OiBib29sZWFuO1xuICAgICAgICBzcGxpdFN0eWxpbmc/OiBib29sZWFuO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByaXZhdGUgLSBiZWdpbiBkZW1hcmNhdGlvbiBvZiBsaW5lIHByZWZpeC5cbiAgICAgKi9cbiAgICBleHBvcnQgY29uc3QgcHJlZml4U3RhcnQgPSBcIlxceDFiWzw8flwiO1xuXG4gICAgLyoqXG4gICAgICogUHJpdmF0ZSAtIGVuZCBkZW1hcmNhdGlvbiBvZiBsaW5lIHByZWZpeC5cbiAgICAgKi9cbiAgICBleHBvcnQgY29uc3QgcHJlZml4U3RvcCA9IFwiXFx4MWJbPj5+XCI7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0EsU0FBUywrQkFBK0I7QUFDeEMsU0FBUyxnQkFBZ0I7QUFDekIsU0FBUyxhQUFhO0FBR3RCLFNBQVMsZ0JBQWdCO0FBRXpCLE1BQU0sVUFBaUIsRUFBRSxNQUFNLFVBQVU7QUFDekMsTUFBTSxRQUFlLEVBQUUsTUFBTSxlQUFlLEtBQUssS0FBSyxPQUFPLEVBQUU7QUFL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
193
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2Fuc2ktdGV4dC93cmFwcGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAyMi0yMDI1IE1hdHRlci5qcyBBdXRob3JzXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuICovXG5cbmltcG9ydCB7IENvbnN1bWVyIH0gZnJvbSBcIi4vY29uc3VtZXIuanNcIjtcbmltcG9ydCB7IENvbnRpZ3VvdXNPdXRwdXRTZWdtZW50IH0gZnJvbSBcIi4vY29udGlndW91cy1vdXRwdXQtc2VnbWVudC5qc1wiO1xuaW1wb3J0IHsgUHJvZHVjZXIgfSBmcm9tIFwiLi9wcm9kdWNlci5qc1wiO1xuaW1wb3J0IHsgU3R5bGUgfSBmcm9tIFwiLi9zdHlsZS5qc1wiO1xuaW1wb3J0IHsgdHlwZSBUZXh0V3JpdGVyIH0gZnJvbSBcIi4vdGV4dC13cml0ZXIuanNcIjtcbmltcG9ydCB7IFRva2VuIH0gZnJvbSBcIi4vdG9rZW4uanNcIjtcbmltcG9ydCB7IHRva2VuaXplIH0gZnJvbSBcIi4vdG9rZW5pemUuanNcIjtcblxuY29uc3QgTkVXTElORTogVG9rZW4gPSB7IGtpbmQ6IFwibmV3bGluZVwiIH07XG5jb25zdCBTUEFDRTogVG9rZW4gPSB7IGtpbmQ6IFwibm9uYnJlYWtpbmdcIiwgc3RyOiBcIiBcIiwgd2lkdGg6IDEgfTtcblxuLyoqXG4gKiBXcml0ZXMgdG8gYSB7QGxpbmsgVGV4dFdyaXRlcn0gd2l0aCBzdXBwb3J0IGZvciBzbWFydCB3cmFwcGluZyBvZiB0ZXh0LlxuICovXG5leHBvcnQgY2xhc3MgV3JhcHBlciBpbXBsZW1lbnRzIENvbnN1bWVyIHtcbiAgICAjdGFyZ2V0OiBDb25zdW1lcjtcbiAgICAjd3JhcFByZWZpeD86IENvbnRpZ3VvdXNPdXRwdXRTZWdtZW50O1xuICAgICNwcmVzZXJ2ZUluZGVudDogYm9vbGVhbjtcbiAgICAjcHJlc2VydmVTcGFjZTogYm9vbGVhbjtcbiAgICAjc3BsaXRTdHlsaW5nOiBib29sZWFuO1xuICAgICNpbnB1dFN0YXRlOiBcIm5ld2xpbmVcIiB8IFwicHJlZml4XCIgfCBcImluZGVudFwiIHwgXCJ3b3JkXCIgfCBcInNwYWNlXCIgPSBcIm5ld2xpbmVcIjtcbiAgICAjb3V0cHV0U3RhdGU6IFwibmV3bGluZVwiIHwgXCJuZXd3cmFwXCIgfCBcImlubGluZVwiID0gXCJuZXdsaW5lXCI7XG4gICAgI2luZGVudD86IENvbnRpZ3VvdXNPdXRwdXRTZWdtZW50O1xuICAgICNvdXRwdXQ/OiBDb250aWd1b3VzT3V0cHV0U2VnbWVudDtcbiAgICAjb25SZXZlcnQgPSAoKSA9PiB7XG4gICAgICAgIC8vIFdoZW4gc3RhdGUgcmV2ZXJ0cyB3ZSBtYXkgaGF2ZSBidWZmZXJlZCBvdXRwdXQgd2UgaGF2ZSB5ZXQgdG8gZW1pdC4gIERvIHNvIG5vdyB0byBlbnN1cmUgaXQgcmVjZWl2ZXMgcHJvcGVyXG4gICAgICAgIC8vIHN0eWxpbmdcbiAgICAgICAgdGhpcy4jZW1pdCgpO1xuICAgIH07XG5cbiAgICBjb25zdHJ1Y3Rvcih0YXJnZXQ6IENvbnN1bWVyLCBvcHRpb25zOiBXcmFwcGVyLk9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgeyB3cmFwUHJlZml4LCBwcmVzZXJ2ZUluZGVudCwgc3BsaXRTdHlsaW5nLCBwcmVzZXJ2ZVNwYWNlIH0gPSBvcHRpb25zO1xuXG4gICAgICAgIHRoaXMuI3RhcmdldCA9IHRhcmdldDtcbiAgICAgICAgaWYgKHdyYXBQcmVmaXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy4jd3JhcFByZWZpeCA9IG5ldyBDb250aWd1b3VzT3V0cHV0U2VnbWVudCguLi50b2tlbml6ZSh3cmFwUHJlZml4KSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy4jcHJlc2VydmVJbmRlbnQgPSBwcmVzZXJ2ZUluZGVudCA/PyB0cnVlO1xuICAgICAgICB0aGlzLiNwcmVzZXJ2ZVNwYWNlID0gcHJlc2VydmVTcGFjZSA/PyB0cnVlO1xuICAgICAgICB0aGlzLiNzcGxpdFN0eWxpbmcgPVxuICAgICAgICAgICAgc3BsaXRTdHlsaW5nID8/ICEhKHRoaXMuI3ByZXNlcnZlSW5kZW50IHx8IHRoaXMuI3dyYXBQcmVmaXggfHwgIXRoaXMuI3RhcmdldC5zdGF0ZS5saW5lUHJlZml4KTtcblxuICAgICAgICB0aGlzLiN0YXJnZXQuc3RhdGUub25SZXZlcnQodGhpcy4jb25SZXZlcnQpO1xuICAgIH1cblxuICAgIGdldCBzdGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuI3RhcmdldC5zdGF0ZTtcbiAgICB9XG5cbiAgICB3cml0ZSguLi50ZXh0OiBQcm9kdWNlci5TZXF1ZW5jZSkge1xuICAgICAgICBpZiAodGhpcy4jdGFyZ2V0LnN0YXRlLnRlcm1pbmFsV2lkdGggPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy4jdGFyZ2V0LndyaXRlKC4uLnRleHQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCB0b2tlbiBvZiBQcm9kdWNlci5vZih0ZXh0KSkge1xuICAgICAgICAgICAgdGhpcy4jYWRkVG9rZW4odG9rZW4pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2xvc2UoKSB7XG4gICAgICAgIHRoaXMuI2VtaXQoKTtcbiAgICAgICAgdGhpcy4jdGFyZ2V0LnN0YXRlLm9mZlJldmVydCh0aGlzLiNvblJldmVydCk7XG4gICAgICAgIHRoaXMuI3RhcmdldC5jbG9zZSgpO1xuICAgIH1cblxuICAgIFtTeW1ib2wuZGlzcG9zZV0oKSB7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG5cbiAgICAjYWRkVG9rZW4odG9rZW46IFRva2VuKSB7XG4gICAgICAgIHN3aXRjaCAodG9rZW4ua2luZCkge1xuICAgICAgICAgICAgY2FzZSBcIm5ld2xpbmVcIjpcbiAgICAgICAgICAgIGNhc2UgXCJjYXJyaWFnZS1yZXR1cm5cIjpcbiAgICAgICAgICAgICAgICB0aGlzLiNlbWl0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy4jdGFyZ2V0LndyaXRlKHRva2VuKTtcbiAgICAgICAgICAgICAgICB0aGlzLiNpbmRlbnQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgdGhpcy4jb3V0cHV0U3RhdGUgPSB0aGlzLiNpbnB1dFN0YXRlID0gXCJuZXdsaW5lXCI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgXCJhbnNpXCI6XG4gICAgICAgICAgICAgICAgdGhpcy4jZW5xdWV1ZSh0b2tlbik7XG5cbiAgICAgICAgICAgICAgICBzd2l0Y2ggKHRva2VuLnNlcXVlbmNlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgV3JhcHBlci5wcmVmaXhTdGFydDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuI2lucHV0U3RhdGUgPSBcInByZWZpeFwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICAgICAgY2FzZSBXcmFwcGVyLnByZWZpeFN0b3A6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiNpbnB1dFN0YXRlID0gXCJpbmRlbnRcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBcInN0eWxlXCI6XG4gICAgICAgICAgICAgICAgdGhpcy4jZW5xdWV1ZSh0b2tlbik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgXCJub25icmVha2luZ1wiOlxuICAgICAgICAgICAgICAgIGlmICh0aGlzLiNpbnB1dFN0YXRlID09PSBcInByZWZpeFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuI2VucXVldWUodG9rZW4pO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuI2lucHV0U3RhdGUgPT09IFwiaW5kZW50XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4jaW5kZW50ID0gdGhpcy4jb3V0cHV0O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLiNvdXRwdXQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuI2lucHV0U3RhdGUgPSBcIndvcmRcIjtcbiAgICAgICAgICAgICAgICB0aGlzLiNlbnF1ZXVlKHRva2VuKTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBcInRhYlwiOlxuICAgICAgICAgICAgY2FzZSBcImJyZWFraW5nXCI6XG4gICAgICAgICAgICAgICAgc3dpdGNoICh0aGlzLiNpbnB1dFN0YXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgXCJuZXdsaW5lXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy4jcHJlc2VydmVJbmRlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiNlbnF1ZXVlKHRva2VuKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuI2lucHV0U3RhdGUgPSBcImluZGVudFwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICAgICAgY2FzZSBcInByZWZpeFwiOlxuICAgICAgICAgICAgICAgICAgICBjYXNlIFwiaW5kZW50XCI6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiNlbnF1ZXVlKHRva2VuKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgXCJ3b3JkXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy4jcHJlc2VydmVTcGFjZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuI2VucXVldWUodG9rZW4pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4jZW1pdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4jaW5wdXRTdGF0ZSA9IFwic3BhY2VcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNlbWl0KCkge1xuICAgICAgICBpZiAodGhpcy4jb3V0cHV0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG91dHB1dFN0YXRlID0gdGhpcy4jb3V0cHV0U3RhdGU7XG4gICAgICAgIGlmIChvdXRwdXRTdGF0ZSA9PT0gXCJuZXdsaW5lXCIpIHtcbiAgICAgICAgICAgIHRoaXMuI2VtaXRQcmVmaXgoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLiNvdXRwdXRTdGF0ZSA9IFwiaW5saW5lXCI7XG5cbiAgICAgICAgY29uc3Qgb3V0cHV0ID0gdGhpcy4jb3V0cHV0O1xuICAgICAgICB0aGlzLiNvdXRwdXQgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgbGV0IHJlbWFpbmluZ1dpZHRoID0gdGhpcy4jdGFyZ2V0LnN0YXRlLnJlbWFpbmluZ1dpZHRoITtcblxuICAgICAgICAvLyBMZWF2ZSByb29tIGZvciBhIHNwYWNlIGV4Y2VwdCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBsaW5lXG4gICAgICAgIGlmIChyZW1haW5pbmdXaWR0aCAhPT0gdW5kZWZpbmVkICYmIG91dHB1dFN0YXRlID09PSBcImlubGluZVwiKSB7XG4gICAgICAgICAgICByZW1haW5pbmdXaWR0aC0tO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSWRlYWwgY2FzZSAtIG5vdCB3cmFwcGluZyBvciBzZWdtZW50IGZpdHMgb24gY3VycmVudCBsaW5lXG4gICAgICAgIGlmIChyZW1haW5pbmdXaWR0aCA9PT0gdW5kZWZpbmVkIHx8IG91dHB1dC53aWR0aCA8PSByZW1haW5pbmdXaWR0aCkge1xuICAgICAgICAgICAgaWYgKG91dHB1dFN0YXRlID09PSBcImlubGluZVwiICYmICF0aGlzLiNwcmVzZXJ2ZVNwYWNlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy4jdGFyZ2V0LndyaXRlKFNQQUNFKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuI3RhcmdldC53cml0ZSguLi5vdXRwdXQudG9rZW5zKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIExlYXN0IGlkZWFsIGNhc2UgLSB0aGUgZmlyc3QtIG9yIHRlcnRpYXJ5LSBwcmVmaXggZmlsbHMgdXAgdGhlIGxpbmUgYnkgaXRzZWxmLiAgR2l2ZSB1cCBvbiB3cmFwcGluZ1xuICAgICAgICBjb25zdCB3cmFwUHJlZml4V2lkdGggPSAodGhpcy4jd3JhcFByZWZpeD8ud2lkdGggPz8gMCkgKyAodGhpcy4jaW5kZW50Py53aWR0aCA/PyAwKTtcbiAgICAgICAgY29uc3QgYXZhaWxhYmxlV3JhcHBlZFdpZHRoID0gdGhpcy4jdGFyZ2V0LnN0YXRlLmF2YWlsYWJsZVdpZHRoISAtIHdyYXBQcmVmaXhXaWR0aDtcbiAgICAgICAgaWYgKChvdXRwdXRTdGF0ZSA9PT0gXCJuZXdsaW5lXCIgJiYgcmVtYWluaW5nV2lkdGggPD0gMCkgfHwgYXZhaWxhYmxlV3JhcHBlZFdpZHRoIDwgMCkge1xuICAgICAgICAgICAgdGhpcy4jdGFyZ2V0LndyaXRlKC4uLm91dHB1dC50b2tlbnMpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2Vjb25kIGJlc3QgY2FzZSAtIHRoZSBzZWdtZW50IGZpdHMgb24gYSBuZXcgbGluZVxuICAgICAgICBpZiAob3V0cHV0LndpZHRoIDwgYXZhaWxhYmxlV3JhcHBlZFdpZHRoKSB7XG4gICAgICAgICAgICB0aGlzLiN3cmFwKCk7XG4gICAgICAgICAgICB0aGlzLiN0YXJnZXQud3JpdGUoLi4ub3V0cHV0LnRva2Vucyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGlyZCBiZXN0IGNhc2UgLSB3ZSBuZWVkIHRvIHdyYXAgdGhlIHNlZ21lbnQgaXRzZWxmXG4gICAgICAgIGNvbnN0IHNjYW5uZXIgPSBvdXRwdXQuc2NhbigpO1xuICAgICAgICBpZiAob3V0cHV0U3RhdGUgPT09IFwiaW5saW5lXCIgJiYgIXRoaXMuI3ByZXNlcnZlU3BhY2UpIHtcbiAgICAgICAgICAgIHRoaXMuI3RhcmdldC53cml0ZShTUEFDRSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy4jdGFyZ2V0LndyaXRlKC4uLnNjYW5uZXIudGFrZShyZW1haW5pbmdXaWR0aCkpO1xuICAgICAgICB3aGlsZSAoIXNjYW5uZXIuZG9uZSkge1xuICAgICAgICAgICAgdGhpcy4jd3JhcCgpO1xuICAgICAgICAgICAgdGhpcy4jdGFyZ2V0LndyaXRlKC4uLnNjYW5uZXIudGFrZShhdmFpbGFibGVXcmFwcGVkV2lkdGgpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNlbWl0UHJlZml4KGV4dHJhPzogQ29udGlndW91c091dHB1dFNlZ21lbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuI2luZGVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLiN0YXJnZXQud3JpdGUoLi4udGhpcy4jaW5kZW50LnRva2Vucyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV4dHJhICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuI3RhcmdldC53cml0ZSguLi5leHRyYS50b2tlbnMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3dyYXAoKSB7XG4gICAgICAgIGxldCBzdHlsZTogU3R5bGUgfCB1bmRlZmluZWQ7XG4gICAgICAgIGlmICh0aGlzLiNzcGxpdFN0eWxpbmcpIHtcbiAgICAgICAgICAgIHN0eWxlID0gdGhpcy4jdGFyZ2V0LnN0YXRlLnN0eWxlO1xuICAgICAgICAgICAgdGhpcy4jdGFyZ2V0LndyaXRlKHsga2luZDogXCJzdHlsZVwiLCBzdHlsZTogU3R5bGUuTm9uZSB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLiN0YXJnZXQud3JpdGUoTkVXTElORSk7XG4gICAgICAgIHRoaXMuI2VtaXRQcmVmaXgodGhpcy4jd3JhcFByZWZpeCk7XG4gICAgICAgIGlmIChzdHlsZSkge1xuICAgICAgICAgICAgdGhpcy4jdGFyZ2V0LndyaXRlKHsga2luZDogXCJzdHlsZVwiLCBzdHlsZSB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNlbnF1ZXVlKHRva2VuOiBUb2tlbikge1xuICAgICAgICBpZiAodGhpcy4jb3V0cHV0KSB7XG4gICAgICAgICAgICB0aGlzLiNvdXRwdXQucHVzaCh0b2tlbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLiNvdXRwdXQgPSBuZXcgQ29udGlndW91c091dHB1dFNlZ21lbnQodG9rZW4pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFdyYXBwZXIge1xuICAgIGV4cG9ydCBpbnRlcmZhY2UgT3B0aW9ucyB7XG4gICAgICAgIHdyYXBQcmVmaXg/OiBzdHJpbmc7XG4gICAgICAgIHByZXNlcnZlSW5kZW50PzogYm9vbGVhbjtcbiAgICAgICAgcHJlc2VydmVTcGFjZT86IGJvb2xlYW47XG4gICAgICAgIHNwbGl0U3R5bGluZz86IGJvb2xlYW47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJpdmF0ZSAtIGJlZ2luIGRlbWFyY2F0aW9uIG9mIGxpbmUgcHJlZml4LlxuICAgICAqL1xuICAgIGV4cG9ydCBjb25zdCBwcmVmaXhTdGFydCA9IFwiXFx4MWJbPDx+XCI7XG5cbiAgICAvKipcbiAgICAgKiBQcml2YXRlIC0gZW5kIGRlbWFyY2F0aW9uIG9mIGxpbmUgcHJlZml4LlxuICAgICAqL1xuICAgIGV4cG9ydCBjb25zdCBwcmVmaXhTdG9wID0gXCJcXHgxYls+Pn5cIjtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQSxTQUFTLCtCQUErQjtBQUN4QyxTQUFTLGdCQUFnQjtBQUN6QixTQUFTLGFBQWE7QUFHdEIsU0FBUyxnQkFBZ0I7QUFFekIsTUFBTSxVQUFpQixFQUFFLE1BQU0sVUFBVTtBQUN6QyxNQUFNLFFBQWUsRUFBRSxNQUFNLGVBQWUsS0FBSyxLQUFLLE9BQU8sRUFBRTtBQUt4RCxNQUFNLFFBQTRCO0FBQUEsRUFDckM7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQSxjQUFrRTtBQUFBLEVBQ2xFLGVBQWlEO0FBQUEsRUFDakQ7QUFBQSxFQUNBO0FBQUEsRUFDQSxZQUFZLE1BQU07QUFHZCxTQUFLLE1BQU07QUFBQSxFQUNmO0FBQUEsRUFFQSxZQUFZLFFBQWtCLFNBQTBCO0FBQ3BELFVBQU0sRUFBRSxZQUFZLGdCQUFnQixjQUFjLGNBQWMsSUFBSTtBQUVwRSxTQUFLLFVBQVU7QUFDZixRQUFJLGVBQWUsUUFBVztBQUMxQixXQUFLLGNBQWMsSUFBSSx3QkFBd0IsR0FBRyxTQUFTLFVBQVUsQ0FBQztBQUFBLElBQzFFO0FBQ0EsU0FBSyxrQkFBa0Isa0JBQWtCO0FBQ3pDLFNBQUssaUJBQWlCLGlCQUFpQjtBQUN2QyxTQUFLLGdCQUNELGdCQUFnQixDQUFDLEVBQUUsS0FBSyxtQkFBbUIsS0FBSyxlQUFlLENBQUMsS0FBSyxRQUFRLE1BQU07QUFFdkYsU0FBSyxRQUFRLE1BQU0sU0FBUyxLQUFLLFNBQVM7QUFBQSxFQUM5QztBQUFBLEVBRUEsSUFBSSxRQUFRO0FBQ1IsV0FBTyxLQUFLLFFBQVE7QUFBQSxFQUN4QjtBQUFBLEVBRUEsU0FBUyxNQUF5QjtBQUM5QixRQUFJLEtBQUss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QUFDbkM7QUFBQSxJQUNKO0FBR0EsUUFBSSxPQUFPLFFBQVEsdUJBQXVCO0FBQ3RDLFdBQUssTUFBTTtBQUNYLFdBQUssUUFBUSxNQUFNLEdBQUcsT0FBTyxNQUFNO0FBQ25DO0FBQUEsSUFDSjtBQUdBLFVBQU0sVUFBVSxPQUFPLEtBQUs7QUFDNUIsUUFBSSxnQkFBZ0IsWUFBWSxDQUFDLEtBQUssZ0JBQWdCO0FBQ2xELFdBQUssUUFBUSxNQUFNLEtBQUs7QUFBQSxJQUM1QjtBQUNBLFNBQUssUUFBUSxNQUFNLEdBQUcsUUFBUSxLQUFLLGNBQWMsQ0FBQztBQUNsRCxXQUFPLENBQUMsUUFBUSxNQUFNO0FBQ2xCLFdBQUssTUFBTTtBQUNYLFdBQUssUUFBUSxNQUFNLEdBQUcsUUFBUSxLQUFLLHFCQUFxQixDQUFDO0FBQUEsSUFDN0Q7QUFBQSxFQUNKO0FBQUEsRUFFQSxZQUFZLE9BQWlDO0FBQ3pDLFFBQUksS0FBSyxZQUFZLFFBQVc7QUFDNUIsV0FBSyxRQUFRLE1BQU0sR0FBRyxLQUFLLFFBQVEsTUFBTTtBQUFBLElBQzdDO0FBQ0EsUUFBSSxVQUFVLFFBQVc7QUFDckIsV0FBSyxRQUFRLE1BQU0sR0FBRyxNQUFNLE1BQU07QUFBQSxJQUN0QztBQUFBLEVBQ0o7QUFBQSxFQUVBLFFBQVE7QUFDSixRQUFJO0FBQ0osUUFBSSxLQUFLLGVBQWU7QUFDcEIsY0FBUSxLQUFLLFFBQVEsTUFBTTtBQUMzQixXQUFLLFFBQVEsTUFBTSxFQUFFLE1BQU0sU0FBUyxPQUFPLE1BQU0sS0FBSyxDQUFDO0FBQUEsSUFDM0Q7QUFDQSxTQUFLLFFBQVEsTUFBTSxPQUFPO0FBQzFCLFNBQUssWUFBWSxLQUFLLFdBQVc7QUFDakMsUUFBSSxPQUFPO0FBQ1AsV0FBSyxRQUFRLE1BQU0sRUFBRSxNQUFNLFNBQVMsTUFBTSxDQUFDO0FBQUEsSUFDL0M7QUFBQSxFQUNKO0FBQUEsRUFFQSxTQUFTLE9BQWM7QUFDbkIsUUFBSSxLQUFLLFNBQVM7QUFDZCxXQUFLLFFBQVEsS0FBSyxLQUFLO0FBQUEsSUFDM0IsT0FBTztBQUNILFdBQUssVUFBVSxJQUFJLHdCQUF3QixLQUFLO0FBQUEsSUFDcEQ7QUFBQSxFQUNKO0FBQ0o7QUFBQSxDQUVPLENBQVVBLGFBQVY7QUFXSSxFQUFNQSxTQUFBLGNBQWM7QUFLcEIsRUFBTUEsU0FBQSxhQUFhO0FBQUEsR0FoQmI7IiwKICAibmFtZXMiOiBbIldyYXBwZXIiXQp9Cg==
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/ansi-text/wrapper.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["Wrapper"]
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/tools",
3
- "version": "0.13.0-alpha.0-20250327-8b06e5a79",
3
+ "version": "0.13.0-alpha.0-20250328-6dde053de",
4
4
  "description": "Matter.js tooling",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -16,13 +16,13 @@ export namespace std {
16
16
  * Writer that writes to Node's stdout.
17
17
  */
18
18
  export const out = Printer(new TextWriter(text => stdout.write(text), { terminalWidth: stdout.columns }), {
19
- wrap: { wrapPrefix: DEFAULT_WRAP_PREFIX },
19
+ wrap: { wrapPrefix: DEFAULT_WRAP_PREFIX, preserveSpace: true },
20
20
  });
21
21
 
22
22
  /**
23
23
  * Writer that writes to Node's stdout.
24
24
  */
25
25
  export const err = Printer(new TextWriter(text => stderr.write(text), { terminalWidth: stderr.columns }), {
26
- wrap: { wrapPrefix: DEFAULT_WRAP_PREFIX },
26
+ wrap: { wrapPrefix: DEFAULT_WRAP_PREFIX, preserveSpace: true },
27
27
  });
28
28
  }
@@ -22,6 +22,7 @@ export class Wrapper implements Consumer {
22
22
  #target: Consumer;
23
23
  #wrapPrefix?: ContiguousOutputSegment;
24
24
  #preserveIndent: boolean;
25
+ #preserveSpace: boolean;
25
26
  #splitStyling: boolean;
26
27
  #inputState: "newline" | "prefix" | "indent" | "word" | "space" = "newline";
27
28
  #outputState: "newline" | "newwrap" | "inline" = "newline";
@@ -34,13 +35,14 @@ export class Wrapper implements Consumer {
34
35
  };
35
36
 
36
37
  constructor(target: Consumer, options: Wrapper.Options) {
37
- const { wrapPrefix, preserveIndent, splitStyling } = options;
38
+ const { wrapPrefix, preserveIndent, splitStyling, preserveSpace } = options;
38
39
 
39
40
  this.#target = target;
40
41
  if (wrapPrefix !== undefined) {
41
42
  this.#wrapPrefix = new ContiguousOutputSegment(...tokenize(wrapPrefix));
42
43
  }
43
44
  this.#preserveIndent = preserveIndent ?? true;
45
+ this.#preserveSpace = preserveSpace ?? true;
44
46
  this.#splitStyling =
45
47
  splitStyling ?? !!(this.#preserveIndent || this.#wrapPrefix || !this.#target.state.linePrefix);
46
48
 
@@ -129,6 +131,9 @@ export class Wrapper implements Consumer {
129
131
  break;
130
132
 
131
133
  case "word":
134
+ if (this.#preserveSpace) {
135
+ this.#enqueue(token);
136
+ }
132
137
  this.#emit();
133
138
  this.#inputState = "space";
134
139
  break;
@@ -160,7 +165,7 @@ export class Wrapper implements Consumer {
160
165
 
161
166
  // Ideal case - not wrapping or segment fits on current line
162
167
  if (remainingWidth === undefined || output.width <= remainingWidth) {
163
- if (outputState === "inline") {
168
+ if (outputState === "inline" && !this.#preserveSpace) {
164
169
  this.#target.write(SPACE);
165
170
  }
166
171
  this.#target.write(...output.tokens);
@@ -184,7 +189,7 @@ export class Wrapper implements Consumer {
184
189
 
185
190
  // Third best case - we need to wrap the segment itself
186
191
  const scanner = output.scan();
187
- if (outputState === "inline") {
192
+ if (outputState === "inline" && !this.#preserveSpace) {
188
193
  this.#target.write(SPACE);
189
194
  }
190
195
  this.#target.write(...scanner.take(remainingWidth));
@@ -229,6 +234,7 @@ export namespace Wrapper {
229
234
  export interface Options {
230
235
  wrapPrefix?: string;
231
236
  preserveIndent?: boolean;
237
+ preserveSpace?: boolean;
232
238
  splitStyling?: boolean;
233
239
  }
234
240