prettier 3.0.0-alpha.3 → 3.0.0-alpha.5

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 (50) hide show
  1. package/LICENSE +875 -677
  2. package/README.md +3 -3
  3. package/doc.d.ts +248 -0
  4. package/doc.js +314 -246
  5. package/doc.mjs +309 -241
  6. package/index.cjs +399 -229
  7. package/index.d.ts +903 -0
  8. package/index.mjs +18131 -16873
  9. package/internal/cli.mjs +3958 -10433
  10. package/internal/third-party.mjs +2948 -5593
  11. package/package.json +32 -1
  12. package/plugins/acorn-and-espree.d.ts +10 -0
  13. package/plugins/acorn-and-espree.js +12 -12
  14. package/plugins/acorn-and-espree.mjs +12 -12
  15. package/plugins/angular.d.ts +11 -0
  16. package/plugins/angular.js +2 -2
  17. package/plugins/angular.mjs +2 -2
  18. package/plugins/babel.d.ts +16 -0
  19. package/plugins/babel.js +12 -12
  20. package/plugins/babel.mjs +12 -12
  21. package/plugins/flow.d.ts +8 -0
  22. package/plugins/flow.js +20 -20
  23. package/plugins/flow.mjs +20 -20
  24. package/plugins/glimmer.d.ts +8 -0
  25. package/plugins/glimmer.js +18 -18
  26. package/plugins/glimmer.mjs +18 -18
  27. package/plugins/graphql.d.ts +8 -0
  28. package/plugins/graphql.js +7 -7
  29. package/plugins/graphql.mjs +7 -7
  30. package/plugins/html.d.ts +11 -0
  31. package/plugins/html.js +17 -28
  32. package/plugins/html.mjs +17 -28
  33. package/plugins/markdown.d.ts +10 -0
  34. package/plugins/markdown.js +28 -29
  35. package/plugins/markdown.mjs +28 -29
  36. package/plugins/meriyah.d.ts +8 -0
  37. package/plugins/meriyah.js +5 -6
  38. package/plugins/meriyah.mjs +5 -6
  39. package/plugins/postcss.d.ts +10 -0
  40. package/plugins/postcss.js +32 -43
  41. package/plugins/postcss.mjs +32 -43
  42. package/plugins/typescript.d.ts +8 -0
  43. package/plugins/typescript.js +18 -231
  44. package/plugins/typescript.mjs +18 -231
  45. package/plugins/yaml.d.ts +8 -0
  46. package/plugins/yaml.js +108 -108
  47. package/plugins/yaml.mjs +108 -108
  48. package/standalone.d.ts +33 -0
  49. package/standalone.js +77 -83
  50. package/standalone.mjs +77 -83
package/doc.js CHANGED
@@ -1,15 +1,13 @@
1
1
  (function (factory) {
2
- function interopModuleDefault(factory) {
2
+ function interopModuleDefault() {
3
3
  var module = factory();
4
- return module;
4
+ return module.default || module;
5
5
  }
6
6
 
7
7
  if (typeof exports === "object" && typeof module === "object") {
8
- module.exports = interopModuleDefault(factory);
8
+ module.exports = interopModuleDefault();
9
9
  } else if (typeof define === "function" && define.amd) {
10
- define(function () {
11
- return interopModuleDefault(factory)
12
- });
10
+ define(interopModuleDefault);
13
11
  } else {
14
12
  var root =
15
13
  typeof globalThis !== "undefined"
@@ -19,7 +17,7 @@
19
17
  : typeof self !== "undefined"
20
18
  ? self
21
19
  : this || {};
22
- root.doc = interopModuleDefault(factory);
20
+ root.doc = interopModuleDefault();
23
21
  }
24
22
  })(function() {
25
23
  "use strict";
@@ -29,10 +27,6 @@
29
27
  var __getOwnPropNames = Object.getOwnPropertyNames;
30
28
  var __getProtoOf = Object.getPrototypeOf;
31
29
  var __hasOwnProp = Object.prototype.hasOwnProperty;
32
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
33
- var __esm = (fn, res) => function __init() {
34
- return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
35
- };
36
30
  var __commonJS = (cb, mod) => function __require() {
37
31
  return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
38
32
  };
@@ -49,26 +43,19 @@
49
43
  return to;
50
44
  };
51
45
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
46
+ // If the importer is in node compatibility mode or this is not an ESM
47
+ // file that has been converted to a CommonJS file using a Babel-
48
+ // compatible transform (i.e. "__esModule" has not been set), then set
49
+ // "default" to the CommonJS "module.exports" for node compatibility.
52
50
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
53
51
  mod
54
52
  ));
55
53
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
56
- var __publicField = (obj, key, value) => {
57
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
58
- return value;
59
- };
60
-
61
- // <define:process>
62
- var init_define_process = __esm({
63
- "<define:process>"() {
64
- }
65
- });
66
54
 
67
55
  // node_modules/string-width/node_modules/emoji-regex/index.js
68
56
  var require_emoji_regex = __commonJS({
69
57
  "node_modules/string-width/node_modules/emoji-regex/index.js"(exports, module) {
70
58
  "use strict";
71
- init_define_process();
72
59
  module.exports = function() {
73
60
  return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g;
74
61
  };
@@ -83,7 +70,6 @@
83
70
  printer: () => printer_exports,
84
71
  utils: () => utils_exports
85
72
  });
86
- init_define_process();
87
73
 
88
74
  // src/document/builders.js
89
75
  var builders_exports = {};
@@ -114,10 +100,8 @@
114
100
  softline: () => softline,
115
101
  trim: () => trim
116
102
  });
117
- init_define_process();
118
103
 
119
104
  // src/document/constants.js
120
- init_define_process();
121
105
  var DOC_TYPE_STRING = "string";
122
106
  var DOC_TYPE_ARRAY = "array";
123
107
  var DOC_TYPE_CURSOR = "cursor";
@@ -149,23 +133,157 @@
149
133
  DOC_TYPE_BREAK_PARENT
150
134
  ]);
151
135
 
136
+ // src/document/utils/get-doc-type.js
137
+ function getDocType(doc) {
138
+ if (typeof doc === "string") {
139
+ return DOC_TYPE_STRING;
140
+ }
141
+ if (Array.isArray(doc)) {
142
+ return DOC_TYPE_ARRAY;
143
+ }
144
+ if (!doc) {
145
+ return;
146
+ }
147
+ const { type } = doc;
148
+ if (VALID_OBJECT_DOC_TYPES.has(type)) {
149
+ return type;
150
+ }
151
+ }
152
+ var get_doc_type_default = getDocType;
153
+
154
+ // src/document/invalid-doc-error.js
155
+ var disjunctionListFormat = (list) => new Intl.ListFormat("en-US", { type: "disjunction" }).format(list);
156
+ function getDocErrorMessage(doc) {
157
+ const type = doc === null ? "null" : typeof doc;
158
+ if (type !== "string" && type !== "object") {
159
+ return `Unexpected doc '${type}',
160
+ Expected it to be 'string' or 'object'.`;
161
+ }
162
+ if (get_doc_type_default(doc)) {
163
+ throw new Error("doc is valid.");
164
+ }
165
+ const objectType = Object.prototype.toString.call(doc);
166
+ if (objectType !== "[object Object]") {
167
+ return `Unexpected doc '${objectType}'.`;
168
+ }
169
+ const EXPECTED_TYPE_VALUES = disjunctionListFormat(
170
+ [...VALID_OBJECT_DOC_TYPES].map((type2) => `'${type2}'`)
171
+ );
172
+ return `Unexpected doc.type '${doc.type}'.
173
+ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
174
+ }
175
+ var InvalidDocError = class extends Error {
176
+ name = "InvalidDocError";
177
+ constructor(doc) {
178
+ super(getDocErrorMessage(doc));
179
+ this.doc = doc;
180
+ }
181
+ };
182
+ var invalid_doc_error_default = InvalidDocError;
183
+
184
+ // src/document/utils/traverse-doc.js
185
+ var traverseDocOnExitStackMarker = {};
186
+ function traverseDoc(doc, onEnter, onExit, shouldTraverseConditionalGroups) {
187
+ const docsStack = [doc];
188
+ while (docsStack.length > 0) {
189
+ const doc2 = docsStack.pop();
190
+ if (doc2 === traverseDocOnExitStackMarker) {
191
+ onExit(docsStack.pop());
192
+ continue;
193
+ }
194
+ if (onExit) {
195
+ docsStack.push(doc2, traverseDocOnExitStackMarker);
196
+ }
197
+ const docType = get_doc_type_default(doc2);
198
+ if (!docType) {
199
+ throw new invalid_doc_error_default(doc2);
200
+ }
201
+ if ((onEnter == null ? void 0 : onEnter(doc2)) === false) {
202
+ continue;
203
+ }
204
+ switch (docType) {
205
+ case DOC_TYPE_ARRAY:
206
+ case DOC_TYPE_FILL: {
207
+ const parts = docType === DOC_TYPE_ARRAY ? doc2 : doc2.parts;
208
+ for (let ic = parts.length, i = ic - 1; i >= 0; --i) {
209
+ docsStack.push(parts[i]);
210
+ }
211
+ break;
212
+ }
213
+ case DOC_TYPE_IF_BREAK:
214
+ docsStack.push(doc2.flatContents, doc2.breakContents);
215
+ break;
216
+ case DOC_TYPE_GROUP:
217
+ if (shouldTraverseConditionalGroups && doc2.expandedStates) {
218
+ for (let ic = doc2.expandedStates.length, i = ic - 1; i >= 0; --i) {
219
+ docsStack.push(doc2.expandedStates[i]);
220
+ }
221
+ } else {
222
+ docsStack.push(doc2.contents);
223
+ }
224
+ break;
225
+ case DOC_TYPE_ALIGN:
226
+ case DOC_TYPE_INDENT:
227
+ case DOC_TYPE_INDENT_IF_BREAK:
228
+ case DOC_TYPE_LABEL:
229
+ case DOC_TYPE_LINE_SUFFIX:
230
+ docsStack.push(doc2.contents);
231
+ break;
232
+ case DOC_TYPE_STRING:
233
+ case DOC_TYPE_CURSOR:
234
+ case DOC_TYPE_TRIM:
235
+ case DOC_TYPE_LINE_SUFFIX_BOUNDARY:
236
+ case DOC_TYPE_LINE:
237
+ case DOC_TYPE_BREAK_PARENT:
238
+ break;
239
+ default:
240
+ throw new invalid_doc_error_default(doc2);
241
+ }
242
+ }
243
+ }
244
+ var traverse_doc_default = traverseDoc;
245
+
246
+ // src/document/utils/assert-doc.js
247
+ var noop = () => {
248
+ };
249
+ var assertDoc = true ? noop : function(doc) {
250
+ traverse_doc_default(doc, (doc2) => {
251
+ if (checked.has(doc2)) {
252
+ return false;
253
+ }
254
+ if (typeof doc2 !== "string") {
255
+ checked.add(doc2);
256
+ }
257
+ });
258
+ };
259
+ var assertDocArray = true ? noop : function(docs, optional = false) {
260
+ if (optional && !docs) {
261
+ return;
262
+ }
263
+ if (!Array.isArray(docs)) {
264
+ throw new TypeError("Unexpected doc array.");
265
+ }
266
+ for (const doc of docs) {
267
+ assertDoc(doc);
268
+ }
269
+ };
270
+
152
271
  // src/document/builders.js
153
272
  function indent(contents) {
154
- if (false) {
155
- assertDoc(contents);
156
- }
273
+ assertDoc(contents);
157
274
  return { type: DOC_TYPE_INDENT, contents };
158
275
  }
159
276
  function align(widthOrString, contents) {
160
- if (false) {
161
- assertDoc(contents);
162
- }
277
+ assertDoc(contents);
163
278
  return { type: DOC_TYPE_ALIGN, contents, n: widthOrString };
164
279
  }
165
280
  function group(contents, opts = {}) {
166
- if (false) {
167
- assertDoc(contents);
168
- }
281
+ assertDoc(contents);
282
+ assertDocArray(
283
+ opts.expandedStates,
284
+ /* optional */
285
+ true
286
+ );
169
287
  return {
170
288
  type: DOC_TYPE_GROUP,
171
289
  id: opts.id,
@@ -187,21 +305,13 @@
187
305
  return group(states[0], { ...opts, expandedStates: states });
188
306
  }
189
307
  function fill(parts) {
190
- if (false) {
191
- for (const part of parts) {
192
- assertDoc(part);
193
- }
194
- }
308
+ assertDocArray(parts);
195
309
  return { type: DOC_TYPE_FILL, parts };
196
310
  }
197
- function ifBreak(breakContents, flatContents, opts = {}) {
198
- if (false) {
199
- if (breakContents) {
200
- assertDoc(breakContents);
201
- }
202
- if (flatContents) {
203
- assertDoc(flatContents);
204
- }
311
+ function ifBreak(breakContents, flatContents = "", opts = {}) {
312
+ assertDoc(breakContents);
313
+ if (flatContents !== "") {
314
+ assertDoc(flatContents);
205
315
  }
206
316
  return {
207
317
  type: DOC_TYPE_IF_BREAK,
@@ -211,6 +321,7 @@
211
321
  };
212
322
  }
213
323
  function indentIfBreak(contents, opts) {
324
+ assertDoc(contents);
214
325
  return {
215
326
  type: DOC_TYPE_INDENT_IF_BREAK,
216
327
  contents,
@@ -219,9 +330,7 @@
219
330
  };
220
331
  }
221
332
  function lineSuffix(contents) {
222
- if (false) {
223
- assertDoc(contents);
224
- }
333
+ assertDoc(contents);
225
334
  return { type: DOC_TYPE_LINE_SUFFIX, contents };
226
335
  }
227
336
  var lineSuffixBoundary = { type: DOC_TYPE_LINE_SUFFIX_BOUNDARY };
@@ -238,17 +347,20 @@
238
347
  var hardline = [hardlineWithoutBreakParent, breakParent];
239
348
  var literalline = [literallineWithoutBreakParent, breakParent];
240
349
  var cursor = { type: DOC_TYPE_CURSOR };
241
- function join(sep, arr) {
242
- const res = [];
243
- for (let i = 0; i < arr.length; i++) {
350
+ function join(separator, docs) {
351
+ assertDoc(separator);
352
+ assertDocArray(docs);
353
+ const parts = [];
354
+ for (let i = 0; i < docs.length; i++) {
244
355
  if (i !== 0) {
245
- res.push(sep);
356
+ parts.push(separator);
246
357
  }
247
- res.push(arr[i]);
358
+ parts.push(docs[i]);
248
359
  }
249
- return res;
360
+ return parts;
250
361
  }
251
362
  function addAlignmentToDoc(doc, size, tabWidth) {
363
+ assertDoc(doc);
252
364
  let aligned = doc;
253
365
  if (size > 0) {
254
366
  for (let i = 0; i < Math.floor(size / tabWidth); ++i) {
@@ -260,6 +372,7 @@
260
372
  return aligned;
261
373
  }
262
374
  function label(label2, contents) {
375
+ assertDoc(contents);
263
376
  return label2 ? { type: DOC_TYPE_LABEL, label: label2, contents } : contents;
264
377
  }
265
378
  var concat = (parts) => parts;
@@ -269,20 +382,32 @@
269
382
  __export(printer_exports, {
270
383
  printDocToString: () => printDocToString
271
384
  });
272
- init_define_process();
273
385
 
274
386
  // scripts/build/shims/at.js
275
- init_define_process();
276
- var at = (isOptionalObject, object, index, ...args) => {
387
+ var at = (isOptionalObject, object, index) => {
277
388
  if (isOptionalObject && (object === void 0 || object === null)) {
278
389
  return;
279
390
  }
280
- return object.at ? object.at(index, ...args) : object[index < 0 ? object.length + index : index];
391
+ return object.at ? object.at(index) : object[index < 0 ? object.length + index : index];
281
392
  };
282
393
  var at_default = at;
283
394
 
395
+ // scripts/build/shims/string-replace-all.js
396
+ var stringReplaceAll = (isOptionalObject, original, pattern, replacement) => {
397
+ if (isOptionalObject && (original === void 0 || original === null)) {
398
+ return;
399
+ }
400
+ if (original.replaceAll) {
401
+ return original.replaceAll(pattern, replacement);
402
+ }
403
+ if (pattern.global) {
404
+ return original.replace(pattern, replacement);
405
+ }
406
+ return original.split(pattern).join(replacement);
407
+ };
408
+ var string_replace_all_default = stringReplaceAll;
409
+
284
410
  // src/common/end-of-line.js
285
- init_define_process();
286
411
  function convertEndOfLineToChars(value) {
287
412
  switch (value) {
288
413
  case "cr":
@@ -294,17 +419,7 @@
294
419
  }
295
420
  }
296
421
 
297
- // src/utils/get-string-width.js
298
- init_define_process();
299
-
300
- // node_modules/string-width/index.js
301
- init_define_process();
302
-
303
- // node_modules/strip-ansi/index.js
304
- init_define_process();
305
-
306
422
  // node_modules/strip-ansi/node_modules/ansi-regex/index.js
307
- init_define_process();
308
423
  function ansiRegex({ onlyFirst = false } = {}) {
309
424
  const pattern = [
310
425
  "[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)",
@@ -322,12 +437,26 @@
322
437
  }
323
438
 
324
439
  // node_modules/string-width/node_modules/is-fullwidth-code-point/index.js
325
- init_define_process();
326
440
  function isFullwidthCodePoint(codePoint) {
327
441
  if (!Number.isInteger(codePoint)) {
328
442
  return false;
329
443
  }
330
- return codePoint >= 4352 && (codePoint <= 4447 || codePoint === 9001 || codePoint === 9002 || 11904 <= codePoint && codePoint <= 12871 && codePoint !== 12351 || 12880 <= codePoint && codePoint <= 19903 || 19968 <= codePoint && codePoint <= 42182 || 43360 <= codePoint && codePoint <= 43388 || 44032 <= codePoint && codePoint <= 55203 || 63744 <= codePoint && codePoint <= 64255 || 65040 <= codePoint && codePoint <= 65049 || 65072 <= codePoint && codePoint <= 65131 || 65281 <= codePoint && codePoint <= 65376 || 65504 <= codePoint && codePoint <= 65510 || 110592 <= codePoint && codePoint <= 110593 || 127488 <= codePoint && codePoint <= 127569 || 131072 <= codePoint && codePoint <= 262141);
444
+ return codePoint >= 4352 && (codePoint <= 4447 || // Hangul Jamo
445
+ codePoint === 9001 || // LEFT-POINTING ANGLE BRACKET
446
+ codePoint === 9002 || // RIGHT-POINTING ANGLE BRACKET
447
+ // CJK Radicals Supplement .. Enclosed CJK Letters and Months
448
+ 11904 <= codePoint && codePoint <= 12871 && codePoint !== 12351 || // Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A
449
+ 12880 <= codePoint && codePoint <= 19903 || // CJK Unified Ideographs .. Yi Radicals
450
+ 19968 <= codePoint && codePoint <= 42182 || // Hangul Jamo Extended-A
451
+ 43360 <= codePoint && codePoint <= 43388 || // Hangul Syllables
452
+ 44032 <= codePoint && codePoint <= 55203 || // CJK Compatibility Ideographs
453
+ 63744 <= codePoint && codePoint <= 64255 || // Vertical Forms
454
+ 65040 <= codePoint && codePoint <= 65049 || // CJK Compatibility Forms .. Small Form Variants
455
+ 65072 <= codePoint && codePoint <= 65131 || // Halfwidth and Fullwidth Forms
456
+ 65281 <= codePoint && codePoint <= 65376 || 65504 <= codePoint && codePoint <= 65510 || // Kana Supplement
457
+ 110592 <= codePoint && codePoint <= 110593 || // Enclosed Ideographic Supplement
458
+ 127488 <= codePoint && codePoint <= 127569 || // CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane
459
+ 131072 <= codePoint && codePoint <= 262141);
331
460
  }
332
461
 
333
462
  // node_modules/string-width/index.js
@@ -389,124 +518,6 @@
389
518
  traverseDoc: () => traverse_doc_default,
390
519
  willBreak: () => willBreak
391
520
  });
392
- init_define_process();
393
-
394
- // src/document/utils/get-doc-type.js
395
- init_define_process();
396
- function getDocType(doc) {
397
- if (typeof doc === "string") {
398
- return DOC_TYPE_STRING;
399
- }
400
- if (Array.isArray(doc)) {
401
- return DOC_TYPE_ARRAY;
402
- }
403
- if (!doc) {
404
- return;
405
- }
406
- const { type } = doc;
407
- if (VALID_OBJECT_DOC_TYPES.has(type)) {
408
- return type;
409
- }
410
- }
411
- var get_doc_type_default = getDocType;
412
-
413
- // src/document/utils/traverse-doc.js
414
- init_define_process();
415
-
416
- // src/document/invalid-doc-error.js
417
- init_define_process();
418
- var disjunctionListFormat = (list) => [...list.slice(0, -1), `or ${at_default(false, list, -1)}`].join(", ");
419
- function getDocErrorMessage(doc) {
420
- const type = doc === null ? null : typeof doc;
421
- if (type !== "string" && type !== "object") {
422
- return `Unexpected doc '${type}',
423
- Expected it to be 'string' or 'object'.`;
424
- }
425
- if (get_doc_type_default(doc)) {
426
- throw new Error("doc is valid.");
427
- }
428
- const objectType = Object.prototype.toString.call(doc);
429
- if (objectType !== "[object Object]") {
430
- return `Unexpected doc '${objectType}'.`;
431
- }
432
- const EXPECTED_TYPE_VALUES = disjunctionListFormat([...VALID_OBJECT_DOC_TYPES].map((type2) => `'${type2}'`));
433
- return `Unexpected doc.type '${doc.type}'.
434
- Expected it to be ${EXPECTED_TYPE_VALUES}.`;
435
- }
436
- var InvalidDocError = class extends Error {
437
- constructor(doc) {
438
- super(getDocErrorMessage(doc));
439
- __publicField(this, "name", "InvalidDocError");
440
- this.doc = doc;
441
- }
442
- };
443
- var invalid_doc_error_default = InvalidDocError;
444
-
445
- // src/document/utils/traverse-doc.js
446
- var traverseDocOnExitStackMarker = {};
447
- function traverseDoc(doc, onEnter, onExit, shouldTraverseConditionalGroups) {
448
- const docsStack = [doc];
449
- while (docsStack.length > 0) {
450
- const doc2 = docsStack.pop();
451
- if (doc2 === traverseDocOnExitStackMarker) {
452
- onExit(docsStack.pop());
453
- continue;
454
- }
455
- if (onExit) {
456
- docsStack.push(doc2, traverseDocOnExitStackMarker);
457
- }
458
- if ((onEnter == null ? void 0 : onEnter(doc2)) === false) {
459
- continue;
460
- }
461
- const docType = get_doc_type_default(doc2);
462
- switch (docType) {
463
- case DOC_TYPE_ARRAY:
464
- case DOC_TYPE_FILL: {
465
- const parts = docType === DOC_TYPE_ARRAY ? doc2 : doc2.parts;
466
- for (let ic = parts.length, i = ic - 1; i >= 0; --i) {
467
- docsStack.push(parts[i]);
468
- }
469
- break;
470
- }
471
- case DOC_TYPE_IF_BREAK:
472
- if (doc2.flatContents) {
473
- docsStack.push(doc2.flatContents);
474
- }
475
- if (doc2.breakContents) {
476
- docsStack.push(doc2.breakContents);
477
- }
478
- break;
479
- case DOC_TYPE_GROUP:
480
- if (shouldTraverseConditionalGroups && doc2.expandedStates) {
481
- for (let ic = doc2.expandedStates.length, i = ic - 1; i >= 0; --i) {
482
- docsStack.push(doc2.expandedStates[i]);
483
- }
484
- } else {
485
- docsStack.push(doc2.contents);
486
- }
487
- break;
488
- case DOC_TYPE_ALIGN:
489
- case DOC_TYPE_INDENT:
490
- case DOC_TYPE_INDENT_IF_BREAK:
491
- case DOC_TYPE_LABEL:
492
- case DOC_TYPE_LINE_SUFFIX:
493
- docsStack.push(doc2.contents);
494
- break;
495
- case DOC_TYPE_STRING:
496
- case DOC_TYPE_CURSOR:
497
- case DOC_TYPE_TRIM:
498
- case DOC_TYPE_LINE_SUFFIX_BOUNDARY:
499
- case DOC_TYPE_LINE:
500
- case DOC_TYPE_BREAK_PARENT:
501
- break;
502
- default:
503
- throw new invalid_doc_error_default(doc2);
504
- }
505
- }
506
- }
507
- var traverse_doc_default = traverseDoc;
508
-
509
- // src/document/utils.js
510
521
  var getDocParts = (doc) => {
511
522
  if (Array.isArray(doc)) {
512
523
  return doc;
@@ -539,19 +550,12 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
539
550
  ...doc2,
540
551
  parts: doc2.parts.map(rec)
541
552
  });
542
- case DOC_TYPE_IF_BREAK: {
543
- let {
544
- breakContents,
545
- flatContents
546
- } = doc2;
547
- breakContents && (breakContents = rec(breakContents));
548
- flatContents && (flatContents = rec(flatContents));
553
+ case DOC_TYPE_IF_BREAK:
549
554
  return cb({
550
555
  ...doc2,
551
- breakContents,
552
- flatContents
556
+ breakContents: rec(doc2.breakContents),
557
+ flatContents: rec(doc2.flatContents)
553
558
  });
554
- }
555
559
  case DOC_TYPE_GROUP: {
556
560
  let {
557
561
  expandedStates,
@@ -622,7 +626,12 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
622
626
  }
623
627
  function breakParentGroup(groupStack) {
624
628
  if (groupStack.length > 0) {
625
- const parentGroup = at_default(false, groupStack, -1);
629
+ const parentGroup = at_default(
630
+ /* isOptionalObject*/
631
+ false,
632
+ groupStack,
633
+ -1
634
+ );
626
635
  if (!parentGroup.expandedStates && !parentGroup.break) {
627
636
  parentGroup.break = "propagated";
628
637
  }
@@ -652,69 +661,94 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
652
661
  }
653
662
  }
654
663
  }
655
- traverse_doc_default(doc, propagateBreaksOnEnterFn, propagateBreaksOnExitFn, true);
664
+ traverse_doc_default(
665
+ doc,
666
+ propagateBreaksOnEnterFn,
667
+ propagateBreaksOnExitFn,
668
+ /* shouldTraverseConditionalGroups */
669
+ true
670
+ );
656
671
  }
657
672
  function removeLinesFn(doc) {
658
673
  if (doc.type === DOC_TYPE_LINE && !doc.hard) {
659
674
  return doc.soft ? "" : " ";
660
675
  }
661
676
  if (doc.type === DOC_TYPE_IF_BREAK) {
662
- return doc.flatContents || "";
677
+ return doc.flatContents;
663
678
  }
664
679
  return doc;
665
680
  }
666
681
  function removeLines(doc) {
667
682
  return mapDoc(doc, removeLinesFn);
668
683
  }
669
- var isHardline = (doc, nextDoc) => doc && doc.type === DOC_TYPE_LINE && doc.hard && nextDoc && nextDoc.type === DOC_TYPE_BREAK_PARENT;
670
- function stripDocTrailingHardlineFromDoc(doc) {
671
- if (!doc) {
672
- return doc;
673
- }
674
- if (Array.isArray(doc) || doc.type === DOC_TYPE_FILL) {
675
- const parts = getDocParts(doc);
676
- while (parts.length > 1 && isHardline(...parts.slice(-2))) {
677
- parts.length -= 2;
678
- }
679
- if (parts.length > 0) {
680
- const lastPart = stripDocTrailingHardlineFromDoc(at_default(false, parts, -1));
681
- parts[parts.length - 1] = lastPart;
682
- }
683
- return Array.isArray(doc) ? parts : {
684
- ...doc,
685
- parts
686
- };
687
- }
688
- switch (doc.type) {
684
+ function stripTrailingHardlineFromParts(parts) {
685
+ parts = [...parts];
686
+ while (parts.length >= 2 && at_default(
687
+ /* isOptionalObject*/
688
+ false,
689
+ parts,
690
+ -2
691
+ ).type === DOC_TYPE_LINE && at_default(
692
+ /* isOptionalObject*/
693
+ false,
694
+ parts,
695
+ -1
696
+ ).type === DOC_TYPE_BREAK_PARENT) {
697
+ parts.length -= 2;
698
+ }
699
+ if (parts.length > 0) {
700
+ const lastPart = stripTrailingHardlineFromDoc(at_default(
701
+ /* isOptionalObject*/
702
+ false,
703
+ parts,
704
+ -1
705
+ ));
706
+ parts[parts.length - 1] = lastPart;
707
+ }
708
+ return parts;
709
+ }
710
+ function stripTrailingHardlineFromDoc(doc) {
711
+ switch (get_doc_type_default(doc)) {
689
712
  case DOC_TYPE_ALIGN:
690
713
  case DOC_TYPE_INDENT:
691
714
  case DOC_TYPE_INDENT_IF_BREAK:
692
715
  case DOC_TYPE_GROUP:
693
716
  case DOC_TYPE_LINE_SUFFIX:
694
717
  case DOC_TYPE_LABEL: {
695
- const contents = stripDocTrailingHardlineFromDoc(doc.contents);
718
+ const contents = stripTrailingHardlineFromDoc(doc.contents);
696
719
  return {
697
720
  ...doc,
698
721
  contents
699
722
  };
700
723
  }
701
- case DOC_TYPE_IF_BREAK: {
702
- const breakContents = stripDocTrailingHardlineFromDoc(doc.breakContents);
703
- const flatContents = stripDocTrailingHardlineFromDoc(doc.flatContents);
724
+ case DOC_TYPE_IF_BREAK:
704
725
  return {
705
726
  ...doc,
706
- breakContents,
707
- flatContents
727
+ breakContents: stripTrailingHardlineFromDoc(doc.breakContents),
728
+ flatContents: stripTrailingHardlineFromDoc(doc.flatContents)
708
729
  };
709
- }
730
+ case DOC_TYPE_FILL:
731
+ return {
732
+ ...doc,
733
+ parts: stripTrailingHardlineFromParts(doc.parts)
734
+ };
735
+ case DOC_TYPE_ARRAY:
736
+ return stripTrailingHardlineFromParts(doc);
737
+ case DOC_TYPE_STRING:
738
+ return doc.replace(/[\n\r]*$/, "");
739
+ case DOC_TYPE_CURSOR:
740
+ case DOC_TYPE_TRIM:
741
+ case DOC_TYPE_LINE_SUFFIX_BOUNDARY:
742
+ case DOC_TYPE_LINE:
743
+ case DOC_TYPE_BREAK_PARENT:
744
+ break;
745
+ default:
746
+ throw new invalid_doc_error_default(doc);
710
747
  }
711
748
  return doc;
712
749
  }
713
750
  function stripTrailingHardline(doc) {
714
- if (typeof doc === "string") {
715
- return doc.replace(/(?:\r?\n)*$/, "");
716
- }
717
- return stripDocTrailingHardlineFromDoc(cleanDoc(doc));
751
+ return stripTrailingHardlineFromDoc(cleanDoc(doc));
718
752
  }
719
753
  function cleanDocFn(doc) {
720
754
  switch (get_doc_type_default(doc)) {
@@ -751,7 +785,12 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
751
785
  continue;
752
786
  }
753
787
  const [currentPart, ...restParts] = Array.isArray(part) ? part : [part];
754
- if (typeof currentPart === "string" && typeof at_default(false, parts, -1) === "string") {
788
+ if (typeof currentPart === "string" && typeof at_default(
789
+ /* isOptionalObject*/
790
+ false,
791
+ parts,
792
+ -1
793
+ ) === "string") {
755
794
  parts[parts.length - 1] += currentPart;
756
795
  } else {
757
796
  parts.push(currentPart);
@@ -794,7 +833,12 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
794
833
  restParts.unshift(...part);
795
834
  continue;
796
835
  }
797
- if (newParts.length > 0 && typeof at_default(false, newParts, -1) === "string" && typeof part === "string") {
836
+ if (newParts.length > 0 && typeof at_default(
837
+ /* isOptionalObject*/
838
+ false,
839
+ newParts,
840
+ -1
841
+ ) === "string" && typeof part === "string") {
798
842
  newParts[newParts.length - 1] += part;
799
843
  continue;
800
844
  }
@@ -1017,7 +1061,12 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
1017
1061
  return false;
1018
1062
  }
1019
1063
  const groupMode = doc.break ? MODE_BREAK : mode;
1020
- const contents = doc.expandedStates && groupMode === MODE_BREAK ? at_default(false, doc.expandedStates, -1) : doc.contents;
1064
+ const contents = doc.expandedStates && groupMode === MODE_BREAK ? at_default(
1065
+ /* isOptionalObject*/
1066
+ false,
1067
+ doc.expandedStates,
1068
+ -1
1069
+ ) : doc.contents;
1021
1070
  cmds.push({
1022
1071
  mode: groupMode,
1023
1072
  doc: contents
@@ -1078,9 +1127,17 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
1078
1127
  } = cmds.pop();
1079
1128
  switch (get_doc_type_default(doc2)) {
1080
1129
  case DOC_TYPE_STRING: {
1081
- const formatted = newLine !== "\n" ? doc2.replace(/\n/g, newLine) : doc2;
1130
+ const formatted = newLine !== "\n" ? string_replace_all_default(
1131
+ /* isOptionalObject*/
1132
+ false,
1133
+ doc2,
1134
+ "\n",
1135
+ newLine
1136
+ ) : doc2;
1082
1137
  out.push(formatted);
1083
- pos += get_string_width_default(formatted);
1138
+ if (cmds.length > 0) {
1139
+ pos += get_string_width_default(formatted);
1140
+ }
1084
1141
  break;
1085
1142
  }
1086
1143
  case DOC_TYPE_ARRAY:
@@ -1140,7 +1197,12 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
1140
1197
  cmds.push(next);
1141
1198
  } else {
1142
1199
  if (doc2.expandedStates) {
1143
- const mostExpanded = at_default(false, doc2.expandedStates, -1);
1200
+ const mostExpanded = at_default(
1201
+ /* isOptionalObject*/
1202
+ false,
1203
+ doc2.expandedStates,
1204
+ -1
1205
+ );
1144
1206
  if (doc2.break) {
1145
1207
  cmds.push({
1146
1208
  ind,
@@ -1183,7 +1245,12 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
1183
1245
  }
1184
1246
  }
1185
1247
  if (doc2.id) {
1186
- groupModeMap[doc2.id] = at_default(false, cmds, -1).mode;
1248
+ groupModeMap[doc2.id] = at_default(
1249
+ /* isOptionalObject*/
1250
+ false,
1251
+ cmds,
1252
+ -1
1253
+ ).mode;
1187
1254
  }
1188
1255
  break;
1189
1256
  case DOC_TYPE_FILL: {
@@ -1372,8 +1439,8 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
1372
1439
  __export(debug_exports, {
1373
1440
  printDocToDebug: () => printDocToDebug
1374
1441
  });
1375
- init_define_process();
1376
1442
  function flattenDoc(doc) {
1443
+ var _a;
1377
1444
  if (!doc) {
1378
1445
  return "";
1379
1446
  }
@@ -1402,7 +1469,7 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
1402
1469
  return {
1403
1470
  ...doc,
1404
1471
  contents: flattenDoc(doc.contents),
1405
- expandedStates: doc.expandedStates && doc.expandedStates.map(flattenDoc)
1472
+ expandedStates: (_a = doc.expandedStates) == null ? void 0 : _a.map(flattenDoc)
1406
1473
  };
1407
1474
  }
1408
1475
  if (doc.type === DOC_TYPE_FILL) {
@@ -1418,6 +1485,7 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
1418
1485
  const usedKeysForSymbols = /* @__PURE__ */ new Set();
1419
1486
  return printDoc(flattenDoc(doc));
1420
1487
  function printDoc(doc2, index, parentParts) {
1488
+ var _a, _b;
1421
1489
  if (typeof doc2 === "string") {
1422
1490
  return JSON.stringify(doc2);
1423
1491
  }
@@ -1426,7 +1494,7 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
1426
1494
  return printed.length === 1 ? printed[0] : `[${printed.join(", ")}]`;
1427
1495
  }
1428
1496
  if (doc2.type === DOC_TYPE_LINE) {
1429
- const withBreakParent = Array.isArray(parentParts) && parentParts[index + 1] && parentParts[index + 1].type === DOC_TYPE_BREAK_PARENT;
1497
+ const withBreakParent = ((_a = parentParts == null ? void 0 : parentParts[index + 1]) == null ? void 0 : _a.type) === DOC_TYPE_BREAK_PARENT;
1430
1498
  if (doc2.literal) {
1431
1499
  return withBreakParent ? "literalline" : "literallineWithoutBreakParent";
1432
1500
  }
@@ -1439,7 +1507,7 @@ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
1439
1507
  return "line";
1440
1508
  }
1441
1509
  if (doc2.type === DOC_TYPE_BREAK_PARENT) {
1442
- const afterHardline = Array.isArray(parentParts) && parentParts[index - 1] && parentParts[index - 1].type === DOC_TYPE_LINE && parentParts[index - 1].hard;
1510
+ const afterHardline = ((_b = parentParts == null ? void 0 : parentParts[index - 1]) == null ? void 0 : _b.type) === DOC_TYPE_LINE && parentParts[index - 1].hard;
1443
1511
  return afterHardline ? void 0 : "breakParent";
1444
1512
  }
1445
1513
  if (doc2.type === DOC_TYPE_TRIM) {