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.mjs CHANGED
@@ -4,10 +4,6 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __getProtoOf = Object.getPrototypeOf;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __esm = (fn, res) => function __init() {
9
- return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
10
- };
11
7
  var __commonJS = (cb, mod) => function __require() {
12
8
  return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
13
9
  };
@@ -24,34 +20,24 @@ var __copyProps = (to, from, except, desc) => {
24
20
  return to;
25
21
  };
26
22
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
27
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
28
28
  mod
29
29
  ));
30
- var __publicField = (obj, key, value) => {
31
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
32
- return value;
33
- };
34
-
35
- // <define:process>
36
- var init_define_process = __esm({
37
- "<define:process>"() {
38
- }
39
- });
40
30
 
41
31
  // node_modules/string-width/node_modules/emoji-regex/index.js
42
32
  var require_emoji_regex = __commonJS({
43
33
  "node_modules/string-width/node_modules/emoji-regex/index.js"(exports, module) {
44
34
  "use strict";
45
- init_define_process();
46
35
  module.exports = function() {
47
36
  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;
48
37
  };
49
38
  }
50
39
  });
51
40
 
52
- // src/document/index.js
53
- init_define_process();
54
-
55
41
  // src/document/builders.js
56
42
  var builders_exports = {};
57
43
  __export(builders_exports, {
@@ -81,10 +67,8 @@ __export(builders_exports, {
81
67
  softline: () => softline,
82
68
  trim: () => trim
83
69
  });
84
- init_define_process();
85
70
 
86
71
  // src/document/constants.js
87
- init_define_process();
88
72
  var DOC_TYPE_STRING = "string";
89
73
  var DOC_TYPE_ARRAY = "array";
90
74
  var DOC_TYPE_CURSOR = "cursor";
@@ -116,23 +100,157 @@ var VALID_OBJECT_DOC_TYPES = /* @__PURE__ */ new Set([
116
100
  DOC_TYPE_BREAK_PARENT
117
101
  ]);
118
102
 
103
+ // src/document/utils/get-doc-type.js
104
+ function getDocType(doc) {
105
+ if (typeof doc === "string") {
106
+ return DOC_TYPE_STRING;
107
+ }
108
+ if (Array.isArray(doc)) {
109
+ return DOC_TYPE_ARRAY;
110
+ }
111
+ if (!doc) {
112
+ return;
113
+ }
114
+ const { type } = doc;
115
+ if (VALID_OBJECT_DOC_TYPES.has(type)) {
116
+ return type;
117
+ }
118
+ }
119
+ var get_doc_type_default = getDocType;
120
+
121
+ // src/document/invalid-doc-error.js
122
+ var disjunctionListFormat = (list) => new Intl.ListFormat("en-US", { type: "disjunction" }).format(list);
123
+ function getDocErrorMessage(doc) {
124
+ const type = doc === null ? "null" : typeof doc;
125
+ if (type !== "string" && type !== "object") {
126
+ return `Unexpected doc '${type}',
127
+ Expected it to be 'string' or 'object'.`;
128
+ }
129
+ if (get_doc_type_default(doc)) {
130
+ throw new Error("doc is valid.");
131
+ }
132
+ const objectType = Object.prototype.toString.call(doc);
133
+ if (objectType !== "[object Object]") {
134
+ return `Unexpected doc '${objectType}'.`;
135
+ }
136
+ const EXPECTED_TYPE_VALUES = disjunctionListFormat(
137
+ [...VALID_OBJECT_DOC_TYPES].map((type2) => `'${type2}'`)
138
+ );
139
+ return `Unexpected doc.type '${doc.type}'.
140
+ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
141
+ }
142
+ var InvalidDocError = class extends Error {
143
+ name = "InvalidDocError";
144
+ constructor(doc) {
145
+ super(getDocErrorMessage(doc));
146
+ this.doc = doc;
147
+ }
148
+ };
149
+ var invalid_doc_error_default = InvalidDocError;
150
+
151
+ // src/document/utils/traverse-doc.js
152
+ var traverseDocOnExitStackMarker = {};
153
+ function traverseDoc(doc, onEnter, onExit, shouldTraverseConditionalGroups) {
154
+ const docsStack = [doc];
155
+ while (docsStack.length > 0) {
156
+ const doc2 = docsStack.pop();
157
+ if (doc2 === traverseDocOnExitStackMarker) {
158
+ onExit(docsStack.pop());
159
+ continue;
160
+ }
161
+ if (onExit) {
162
+ docsStack.push(doc2, traverseDocOnExitStackMarker);
163
+ }
164
+ const docType = get_doc_type_default(doc2);
165
+ if (!docType) {
166
+ throw new invalid_doc_error_default(doc2);
167
+ }
168
+ if ((onEnter == null ? void 0 : onEnter(doc2)) === false) {
169
+ continue;
170
+ }
171
+ switch (docType) {
172
+ case DOC_TYPE_ARRAY:
173
+ case DOC_TYPE_FILL: {
174
+ const parts = docType === DOC_TYPE_ARRAY ? doc2 : doc2.parts;
175
+ for (let ic = parts.length, i = ic - 1; i >= 0; --i) {
176
+ docsStack.push(parts[i]);
177
+ }
178
+ break;
179
+ }
180
+ case DOC_TYPE_IF_BREAK:
181
+ docsStack.push(doc2.flatContents, doc2.breakContents);
182
+ break;
183
+ case DOC_TYPE_GROUP:
184
+ if (shouldTraverseConditionalGroups && doc2.expandedStates) {
185
+ for (let ic = doc2.expandedStates.length, i = ic - 1; i >= 0; --i) {
186
+ docsStack.push(doc2.expandedStates[i]);
187
+ }
188
+ } else {
189
+ docsStack.push(doc2.contents);
190
+ }
191
+ break;
192
+ case DOC_TYPE_ALIGN:
193
+ case DOC_TYPE_INDENT:
194
+ case DOC_TYPE_INDENT_IF_BREAK:
195
+ case DOC_TYPE_LABEL:
196
+ case DOC_TYPE_LINE_SUFFIX:
197
+ docsStack.push(doc2.contents);
198
+ break;
199
+ case DOC_TYPE_STRING:
200
+ case DOC_TYPE_CURSOR:
201
+ case DOC_TYPE_TRIM:
202
+ case DOC_TYPE_LINE_SUFFIX_BOUNDARY:
203
+ case DOC_TYPE_LINE:
204
+ case DOC_TYPE_BREAK_PARENT:
205
+ break;
206
+ default:
207
+ throw new invalid_doc_error_default(doc2);
208
+ }
209
+ }
210
+ }
211
+ var traverse_doc_default = traverseDoc;
212
+
213
+ // src/document/utils/assert-doc.js
214
+ var noop = () => {
215
+ };
216
+ var assertDoc = true ? noop : function(doc) {
217
+ traverse_doc_default(doc, (doc2) => {
218
+ if (checked.has(doc2)) {
219
+ return false;
220
+ }
221
+ if (typeof doc2 !== "string") {
222
+ checked.add(doc2);
223
+ }
224
+ });
225
+ };
226
+ var assertDocArray = true ? noop : function(docs, optional = false) {
227
+ if (optional && !docs) {
228
+ return;
229
+ }
230
+ if (!Array.isArray(docs)) {
231
+ throw new TypeError("Unexpected doc array.");
232
+ }
233
+ for (const doc of docs) {
234
+ assertDoc(doc);
235
+ }
236
+ };
237
+
119
238
  // src/document/builders.js
120
239
  function indent(contents) {
121
- if (false) {
122
- assertDoc(contents);
123
- }
240
+ assertDoc(contents);
124
241
  return { type: DOC_TYPE_INDENT, contents };
125
242
  }
126
243
  function align(widthOrString, contents) {
127
- if (false) {
128
- assertDoc(contents);
129
- }
244
+ assertDoc(contents);
130
245
  return { type: DOC_TYPE_ALIGN, contents, n: widthOrString };
131
246
  }
132
247
  function group(contents, opts = {}) {
133
- if (false) {
134
- assertDoc(contents);
135
- }
248
+ assertDoc(contents);
249
+ assertDocArray(
250
+ opts.expandedStates,
251
+ /* optional */
252
+ true
253
+ );
136
254
  return {
137
255
  type: DOC_TYPE_GROUP,
138
256
  id: opts.id,
@@ -154,21 +272,13 @@ function conditionalGroup(states, opts) {
154
272
  return group(states[0], { ...opts, expandedStates: states });
155
273
  }
156
274
  function fill(parts) {
157
- if (false) {
158
- for (const part of parts) {
159
- assertDoc(part);
160
- }
161
- }
275
+ assertDocArray(parts);
162
276
  return { type: DOC_TYPE_FILL, parts };
163
277
  }
164
- function ifBreak(breakContents, flatContents, opts = {}) {
165
- if (false) {
166
- if (breakContents) {
167
- assertDoc(breakContents);
168
- }
169
- if (flatContents) {
170
- assertDoc(flatContents);
171
- }
278
+ function ifBreak(breakContents, flatContents = "", opts = {}) {
279
+ assertDoc(breakContents);
280
+ if (flatContents !== "") {
281
+ assertDoc(flatContents);
172
282
  }
173
283
  return {
174
284
  type: DOC_TYPE_IF_BREAK,
@@ -178,6 +288,7 @@ function ifBreak(breakContents, flatContents, opts = {}) {
178
288
  };
179
289
  }
180
290
  function indentIfBreak(contents, opts) {
291
+ assertDoc(contents);
181
292
  return {
182
293
  type: DOC_TYPE_INDENT_IF_BREAK,
183
294
  contents,
@@ -186,9 +297,7 @@ function indentIfBreak(contents, opts) {
186
297
  };
187
298
  }
188
299
  function lineSuffix(contents) {
189
- if (false) {
190
- assertDoc(contents);
191
- }
300
+ assertDoc(contents);
192
301
  return { type: DOC_TYPE_LINE_SUFFIX, contents };
193
302
  }
194
303
  var lineSuffixBoundary = { type: DOC_TYPE_LINE_SUFFIX_BOUNDARY };
@@ -205,17 +314,20 @@ var softline = { type: DOC_TYPE_LINE, soft: true };
205
314
  var hardline = [hardlineWithoutBreakParent, breakParent];
206
315
  var literalline = [literallineWithoutBreakParent, breakParent];
207
316
  var cursor = { type: DOC_TYPE_CURSOR };
208
- function join(sep, arr) {
209
- const res = [];
210
- for (let i = 0; i < arr.length; i++) {
317
+ function join(separator, docs) {
318
+ assertDoc(separator);
319
+ assertDocArray(docs);
320
+ const parts = [];
321
+ for (let i = 0; i < docs.length; i++) {
211
322
  if (i !== 0) {
212
- res.push(sep);
323
+ parts.push(separator);
213
324
  }
214
- res.push(arr[i]);
325
+ parts.push(docs[i]);
215
326
  }
216
- return res;
327
+ return parts;
217
328
  }
218
329
  function addAlignmentToDoc(doc, size, tabWidth) {
330
+ assertDoc(doc);
219
331
  let aligned = doc;
220
332
  if (size > 0) {
221
333
  for (let i = 0; i < Math.floor(size / tabWidth); ++i) {
@@ -227,6 +339,7 @@ function addAlignmentToDoc(doc, size, tabWidth) {
227
339
  return aligned;
228
340
  }
229
341
  function label(label2, contents) {
342
+ assertDoc(contents);
230
343
  return label2 ? { type: DOC_TYPE_LABEL, label: label2, contents } : contents;
231
344
  }
232
345
  var concat = (parts) => parts;
@@ -236,20 +349,32 @@ var printer_exports = {};
236
349
  __export(printer_exports, {
237
350
  printDocToString: () => printDocToString
238
351
  });
239
- init_define_process();
240
352
 
241
353
  // scripts/build/shims/at.js
242
- init_define_process();
243
- var at = (isOptionalObject, object, index, ...args) => {
354
+ var at = (isOptionalObject, object, index) => {
244
355
  if (isOptionalObject && (object === void 0 || object === null)) {
245
356
  return;
246
357
  }
247
- return object.at ? object.at(index, ...args) : object[index < 0 ? object.length + index : index];
358
+ return object.at ? object.at(index) : object[index < 0 ? object.length + index : index];
248
359
  };
249
360
  var at_default = at;
250
361
 
362
+ // scripts/build/shims/string-replace-all.js
363
+ var stringReplaceAll = (isOptionalObject, original, pattern, replacement) => {
364
+ if (isOptionalObject && (original === void 0 || original === null)) {
365
+ return;
366
+ }
367
+ if (original.replaceAll) {
368
+ return original.replaceAll(pattern, replacement);
369
+ }
370
+ if (pattern.global) {
371
+ return original.replace(pattern, replacement);
372
+ }
373
+ return original.split(pattern).join(replacement);
374
+ };
375
+ var string_replace_all_default = stringReplaceAll;
376
+
251
377
  // src/common/end-of-line.js
252
- init_define_process();
253
378
  function convertEndOfLineToChars(value) {
254
379
  switch (value) {
255
380
  case "cr":
@@ -261,17 +386,7 @@ function convertEndOfLineToChars(value) {
261
386
  }
262
387
  }
263
388
 
264
- // src/utils/get-string-width.js
265
- init_define_process();
266
-
267
- // node_modules/string-width/index.js
268
- init_define_process();
269
-
270
- // node_modules/strip-ansi/index.js
271
- init_define_process();
272
-
273
389
  // node_modules/strip-ansi/node_modules/ansi-regex/index.js
274
- init_define_process();
275
390
  function ansiRegex({ onlyFirst = false } = {}) {
276
391
  const pattern = [
277
392
  "[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)",
@@ -289,12 +404,26 @@ function stripAnsi(string) {
289
404
  }
290
405
 
291
406
  // node_modules/string-width/node_modules/is-fullwidth-code-point/index.js
292
- init_define_process();
293
407
  function isFullwidthCodePoint(codePoint) {
294
408
  if (!Number.isInteger(codePoint)) {
295
409
  return false;
296
410
  }
297
- 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);
411
+ return codePoint >= 4352 && (codePoint <= 4447 || // Hangul Jamo
412
+ codePoint === 9001 || // LEFT-POINTING ANGLE BRACKET
413
+ codePoint === 9002 || // RIGHT-POINTING ANGLE BRACKET
414
+ // CJK Radicals Supplement .. Enclosed CJK Letters and Months
415
+ 11904 <= codePoint && codePoint <= 12871 && codePoint !== 12351 || // Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A
416
+ 12880 <= codePoint && codePoint <= 19903 || // CJK Unified Ideographs .. Yi Radicals
417
+ 19968 <= codePoint && codePoint <= 42182 || // Hangul Jamo Extended-A
418
+ 43360 <= codePoint && codePoint <= 43388 || // Hangul Syllables
419
+ 44032 <= codePoint && codePoint <= 55203 || // CJK Compatibility Ideographs
420
+ 63744 <= codePoint && codePoint <= 64255 || // Vertical Forms
421
+ 65040 <= codePoint && codePoint <= 65049 || // CJK Compatibility Forms .. Small Form Variants
422
+ 65072 <= codePoint && codePoint <= 65131 || // Halfwidth and Fullwidth Forms
423
+ 65281 <= codePoint && codePoint <= 65376 || 65504 <= codePoint && codePoint <= 65510 || // Kana Supplement
424
+ 110592 <= codePoint && codePoint <= 110593 || // Enclosed Ideographic Supplement
425
+ 127488 <= codePoint && codePoint <= 127569 || // CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane
426
+ 131072 <= codePoint && codePoint <= 262141);
298
427
  }
299
428
 
300
429
  // node_modules/string-width/index.js
@@ -356,124 +485,6 @@ __export(utils_exports, {
356
485
  traverseDoc: () => traverse_doc_default,
357
486
  willBreak: () => willBreak
358
487
  });
359
- init_define_process();
360
-
361
- // src/document/utils/get-doc-type.js
362
- init_define_process();
363
- function getDocType(doc) {
364
- if (typeof doc === "string") {
365
- return DOC_TYPE_STRING;
366
- }
367
- if (Array.isArray(doc)) {
368
- return DOC_TYPE_ARRAY;
369
- }
370
- if (!doc) {
371
- return;
372
- }
373
- const { type } = doc;
374
- if (VALID_OBJECT_DOC_TYPES.has(type)) {
375
- return type;
376
- }
377
- }
378
- var get_doc_type_default = getDocType;
379
-
380
- // src/document/utils/traverse-doc.js
381
- init_define_process();
382
-
383
- // src/document/invalid-doc-error.js
384
- init_define_process();
385
- var disjunctionListFormat = (list) => [...list.slice(0, -1), `or ${at_default(false, list, -1)}`].join(", ");
386
- function getDocErrorMessage(doc) {
387
- const type = doc === null ? null : typeof doc;
388
- if (type !== "string" && type !== "object") {
389
- return `Unexpected doc '${type}',
390
- Expected it to be 'string' or 'object'.`;
391
- }
392
- if (get_doc_type_default(doc)) {
393
- throw new Error("doc is valid.");
394
- }
395
- const objectType = Object.prototype.toString.call(doc);
396
- if (objectType !== "[object Object]") {
397
- return `Unexpected doc '${objectType}'.`;
398
- }
399
- const EXPECTED_TYPE_VALUES = disjunctionListFormat([...VALID_OBJECT_DOC_TYPES].map((type2) => `'${type2}'`));
400
- return `Unexpected doc.type '${doc.type}'.
401
- Expected it to be ${EXPECTED_TYPE_VALUES}.`;
402
- }
403
- var InvalidDocError = class extends Error {
404
- constructor(doc) {
405
- super(getDocErrorMessage(doc));
406
- __publicField(this, "name", "InvalidDocError");
407
- this.doc = doc;
408
- }
409
- };
410
- var invalid_doc_error_default = InvalidDocError;
411
-
412
- // src/document/utils/traverse-doc.js
413
- var traverseDocOnExitStackMarker = {};
414
- function traverseDoc(doc, onEnter, onExit, shouldTraverseConditionalGroups) {
415
- const docsStack = [doc];
416
- while (docsStack.length > 0) {
417
- const doc2 = docsStack.pop();
418
- if (doc2 === traverseDocOnExitStackMarker) {
419
- onExit(docsStack.pop());
420
- continue;
421
- }
422
- if (onExit) {
423
- docsStack.push(doc2, traverseDocOnExitStackMarker);
424
- }
425
- if ((onEnter == null ? void 0 : onEnter(doc2)) === false) {
426
- continue;
427
- }
428
- const docType = get_doc_type_default(doc2);
429
- switch (docType) {
430
- case DOC_TYPE_ARRAY:
431
- case DOC_TYPE_FILL: {
432
- const parts = docType === DOC_TYPE_ARRAY ? doc2 : doc2.parts;
433
- for (let ic = parts.length, i = ic - 1; i >= 0; --i) {
434
- docsStack.push(parts[i]);
435
- }
436
- break;
437
- }
438
- case DOC_TYPE_IF_BREAK:
439
- if (doc2.flatContents) {
440
- docsStack.push(doc2.flatContents);
441
- }
442
- if (doc2.breakContents) {
443
- docsStack.push(doc2.breakContents);
444
- }
445
- break;
446
- case DOC_TYPE_GROUP:
447
- if (shouldTraverseConditionalGroups && doc2.expandedStates) {
448
- for (let ic = doc2.expandedStates.length, i = ic - 1; i >= 0; --i) {
449
- docsStack.push(doc2.expandedStates[i]);
450
- }
451
- } else {
452
- docsStack.push(doc2.contents);
453
- }
454
- break;
455
- case DOC_TYPE_ALIGN:
456
- case DOC_TYPE_INDENT:
457
- case DOC_TYPE_INDENT_IF_BREAK:
458
- case DOC_TYPE_LABEL:
459
- case DOC_TYPE_LINE_SUFFIX:
460
- docsStack.push(doc2.contents);
461
- break;
462
- case DOC_TYPE_STRING:
463
- case DOC_TYPE_CURSOR:
464
- case DOC_TYPE_TRIM:
465
- case DOC_TYPE_LINE_SUFFIX_BOUNDARY:
466
- case DOC_TYPE_LINE:
467
- case DOC_TYPE_BREAK_PARENT:
468
- break;
469
- default:
470
- throw new invalid_doc_error_default(doc2);
471
- }
472
- }
473
- }
474
- var traverse_doc_default = traverseDoc;
475
-
476
- // src/document/utils.js
477
488
  var getDocParts = (doc) => {
478
489
  if (Array.isArray(doc)) {
479
490
  return doc;
@@ -506,19 +517,12 @@ function mapDoc(doc, cb) {
506
517
  ...doc2,
507
518
  parts: doc2.parts.map(rec)
508
519
  });
509
- case DOC_TYPE_IF_BREAK: {
510
- let {
511
- breakContents,
512
- flatContents
513
- } = doc2;
514
- breakContents && (breakContents = rec(breakContents));
515
- flatContents && (flatContents = rec(flatContents));
520
+ case DOC_TYPE_IF_BREAK:
516
521
  return cb({
517
522
  ...doc2,
518
- breakContents,
519
- flatContents
523
+ breakContents: rec(doc2.breakContents),
524
+ flatContents: rec(doc2.flatContents)
520
525
  });
521
- }
522
526
  case DOC_TYPE_GROUP: {
523
527
  let {
524
528
  expandedStates,
@@ -589,7 +593,12 @@ function willBreak(doc) {
589
593
  }
590
594
  function breakParentGroup(groupStack) {
591
595
  if (groupStack.length > 0) {
592
- const parentGroup = at_default(false, groupStack, -1);
596
+ const parentGroup = at_default(
597
+ /* isOptionalObject*/
598
+ false,
599
+ groupStack,
600
+ -1
601
+ );
593
602
  if (!parentGroup.expandedStates && !parentGroup.break) {
594
603
  parentGroup.break = "propagated";
595
604
  }
@@ -619,69 +628,94 @@ function propagateBreaks(doc) {
619
628
  }
620
629
  }
621
630
  }
622
- traverse_doc_default(doc, propagateBreaksOnEnterFn, propagateBreaksOnExitFn, true);
631
+ traverse_doc_default(
632
+ doc,
633
+ propagateBreaksOnEnterFn,
634
+ propagateBreaksOnExitFn,
635
+ /* shouldTraverseConditionalGroups */
636
+ true
637
+ );
623
638
  }
624
639
  function removeLinesFn(doc) {
625
640
  if (doc.type === DOC_TYPE_LINE && !doc.hard) {
626
641
  return doc.soft ? "" : " ";
627
642
  }
628
643
  if (doc.type === DOC_TYPE_IF_BREAK) {
629
- return doc.flatContents || "";
644
+ return doc.flatContents;
630
645
  }
631
646
  return doc;
632
647
  }
633
648
  function removeLines(doc) {
634
649
  return mapDoc(doc, removeLinesFn);
635
650
  }
636
- var isHardline = (doc, nextDoc) => doc && doc.type === DOC_TYPE_LINE && doc.hard && nextDoc && nextDoc.type === DOC_TYPE_BREAK_PARENT;
637
- function stripDocTrailingHardlineFromDoc(doc) {
638
- if (!doc) {
639
- return doc;
640
- }
641
- if (Array.isArray(doc) || doc.type === DOC_TYPE_FILL) {
642
- const parts = getDocParts(doc);
643
- while (parts.length > 1 && isHardline(...parts.slice(-2))) {
644
- parts.length -= 2;
645
- }
646
- if (parts.length > 0) {
647
- const lastPart = stripDocTrailingHardlineFromDoc(at_default(false, parts, -1));
648
- parts[parts.length - 1] = lastPart;
649
- }
650
- return Array.isArray(doc) ? parts : {
651
- ...doc,
652
- parts
653
- };
654
- }
655
- switch (doc.type) {
651
+ function stripTrailingHardlineFromParts(parts) {
652
+ parts = [...parts];
653
+ while (parts.length >= 2 && at_default(
654
+ /* isOptionalObject*/
655
+ false,
656
+ parts,
657
+ -2
658
+ ).type === DOC_TYPE_LINE && at_default(
659
+ /* isOptionalObject*/
660
+ false,
661
+ parts,
662
+ -1
663
+ ).type === DOC_TYPE_BREAK_PARENT) {
664
+ parts.length -= 2;
665
+ }
666
+ if (parts.length > 0) {
667
+ const lastPart = stripTrailingHardlineFromDoc(at_default(
668
+ /* isOptionalObject*/
669
+ false,
670
+ parts,
671
+ -1
672
+ ));
673
+ parts[parts.length - 1] = lastPart;
674
+ }
675
+ return parts;
676
+ }
677
+ function stripTrailingHardlineFromDoc(doc) {
678
+ switch (get_doc_type_default(doc)) {
656
679
  case DOC_TYPE_ALIGN:
657
680
  case DOC_TYPE_INDENT:
658
681
  case DOC_TYPE_INDENT_IF_BREAK:
659
682
  case DOC_TYPE_GROUP:
660
683
  case DOC_TYPE_LINE_SUFFIX:
661
684
  case DOC_TYPE_LABEL: {
662
- const contents = stripDocTrailingHardlineFromDoc(doc.contents);
685
+ const contents = stripTrailingHardlineFromDoc(doc.contents);
663
686
  return {
664
687
  ...doc,
665
688
  contents
666
689
  };
667
690
  }
668
- case DOC_TYPE_IF_BREAK: {
669
- const breakContents = stripDocTrailingHardlineFromDoc(doc.breakContents);
670
- const flatContents = stripDocTrailingHardlineFromDoc(doc.flatContents);
691
+ case DOC_TYPE_IF_BREAK:
671
692
  return {
672
693
  ...doc,
673
- breakContents,
674
- flatContents
694
+ breakContents: stripTrailingHardlineFromDoc(doc.breakContents),
695
+ flatContents: stripTrailingHardlineFromDoc(doc.flatContents)
675
696
  };
676
- }
697
+ case DOC_TYPE_FILL:
698
+ return {
699
+ ...doc,
700
+ parts: stripTrailingHardlineFromParts(doc.parts)
701
+ };
702
+ case DOC_TYPE_ARRAY:
703
+ return stripTrailingHardlineFromParts(doc);
704
+ case DOC_TYPE_STRING:
705
+ return doc.replace(/[\n\r]*$/, "");
706
+ case DOC_TYPE_CURSOR:
707
+ case DOC_TYPE_TRIM:
708
+ case DOC_TYPE_LINE_SUFFIX_BOUNDARY:
709
+ case DOC_TYPE_LINE:
710
+ case DOC_TYPE_BREAK_PARENT:
711
+ break;
712
+ default:
713
+ throw new invalid_doc_error_default(doc);
677
714
  }
678
715
  return doc;
679
716
  }
680
717
  function stripTrailingHardline(doc) {
681
- if (typeof doc === "string") {
682
- return doc.replace(/(?:\r?\n)*$/, "");
683
- }
684
- return stripDocTrailingHardlineFromDoc(cleanDoc(doc));
718
+ return stripTrailingHardlineFromDoc(cleanDoc(doc));
685
719
  }
686
720
  function cleanDocFn(doc) {
687
721
  switch (get_doc_type_default(doc)) {
@@ -718,7 +752,12 @@ function cleanDocFn(doc) {
718
752
  continue;
719
753
  }
720
754
  const [currentPart, ...restParts] = Array.isArray(part) ? part : [part];
721
- if (typeof currentPart === "string" && typeof at_default(false, parts, -1) === "string") {
755
+ if (typeof currentPart === "string" && typeof at_default(
756
+ /* isOptionalObject*/
757
+ false,
758
+ parts,
759
+ -1
760
+ ) === "string") {
722
761
  parts[parts.length - 1] += currentPart;
723
762
  } else {
724
763
  parts.push(currentPart);
@@ -761,7 +800,12 @@ function normalizeParts(parts) {
761
800
  restParts.unshift(...part);
762
801
  continue;
763
802
  }
764
- if (newParts.length > 0 && typeof at_default(false, newParts, -1) === "string" && typeof part === "string") {
803
+ if (newParts.length > 0 && typeof at_default(
804
+ /* isOptionalObject*/
805
+ false,
806
+ newParts,
807
+ -1
808
+ ) === "string" && typeof part === "string") {
765
809
  newParts[newParts.length - 1] += part;
766
810
  continue;
767
811
  }
@@ -984,7 +1028,12 @@ function fits(next, restCommands, width, hasLineSuffix, groupModeMap, mustBeFlat
984
1028
  return false;
985
1029
  }
986
1030
  const groupMode = doc.break ? MODE_BREAK : mode;
987
- const contents = doc.expandedStates && groupMode === MODE_BREAK ? at_default(false, doc.expandedStates, -1) : doc.contents;
1031
+ const contents = doc.expandedStates && groupMode === MODE_BREAK ? at_default(
1032
+ /* isOptionalObject*/
1033
+ false,
1034
+ doc.expandedStates,
1035
+ -1
1036
+ ) : doc.contents;
988
1037
  cmds.push({
989
1038
  mode: groupMode,
990
1039
  doc: contents
@@ -1045,9 +1094,17 @@ function printDocToString(doc, options) {
1045
1094
  } = cmds.pop();
1046
1095
  switch (get_doc_type_default(doc2)) {
1047
1096
  case DOC_TYPE_STRING: {
1048
- const formatted = newLine !== "\n" ? doc2.replace(/\n/g, newLine) : doc2;
1097
+ const formatted = newLine !== "\n" ? string_replace_all_default(
1098
+ /* isOptionalObject*/
1099
+ false,
1100
+ doc2,
1101
+ "\n",
1102
+ newLine
1103
+ ) : doc2;
1049
1104
  out.push(formatted);
1050
- pos += get_string_width_default(formatted);
1105
+ if (cmds.length > 0) {
1106
+ pos += get_string_width_default(formatted);
1107
+ }
1051
1108
  break;
1052
1109
  }
1053
1110
  case DOC_TYPE_ARRAY:
@@ -1107,7 +1164,12 @@ function printDocToString(doc, options) {
1107
1164
  cmds.push(next);
1108
1165
  } else {
1109
1166
  if (doc2.expandedStates) {
1110
- const mostExpanded = at_default(false, doc2.expandedStates, -1);
1167
+ const mostExpanded = at_default(
1168
+ /* isOptionalObject*/
1169
+ false,
1170
+ doc2.expandedStates,
1171
+ -1
1172
+ );
1111
1173
  if (doc2.break) {
1112
1174
  cmds.push({
1113
1175
  ind,
@@ -1150,7 +1212,12 @@ function printDocToString(doc, options) {
1150
1212
  }
1151
1213
  }
1152
1214
  if (doc2.id) {
1153
- groupModeMap[doc2.id] = at_default(false, cmds, -1).mode;
1215
+ groupModeMap[doc2.id] = at_default(
1216
+ /* isOptionalObject*/
1217
+ false,
1218
+ cmds,
1219
+ -1
1220
+ ).mode;
1154
1221
  }
1155
1222
  break;
1156
1223
  case DOC_TYPE_FILL: {
@@ -1339,8 +1406,8 @@ var debug_exports = {};
1339
1406
  __export(debug_exports, {
1340
1407
  printDocToDebug: () => printDocToDebug
1341
1408
  });
1342
- init_define_process();
1343
1409
  function flattenDoc(doc) {
1410
+ var _a;
1344
1411
  if (!doc) {
1345
1412
  return "";
1346
1413
  }
@@ -1369,7 +1436,7 @@ function flattenDoc(doc) {
1369
1436
  return {
1370
1437
  ...doc,
1371
1438
  contents: flattenDoc(doc.contents),
1372
- expandedStates: doc.expandedStates && doc.expandedStates.map(flattenDoc)
1439
+ expandedStates: (_a = doc.expandedStates) == null ? void 0 : _a.map(flattenDoc)
1373
1440
  };
1374
1441
  }
1375
1442
  if (doc.type === DOC_TYPE_FILL) {
@@ -1385,6 +1452,7 @@ function printDocToDebug(doc) {
1385
1452
  const usedKeysForSymbols = /* @__PURE__ */ new Set();
1386
1453
  return printDoc(flattenDoc(doc));
1387
1454
  function printDoc(doc2, index, parentParts) {
1455
+ var _a, _b;
1388
1456
  if (typeof doc2 === "string") {
1389
1457
  return JSON.stringify(doc2);
1390
1458
  }
@@ -1393,7 +1461,7 @@ function printDocToDebug(doc) {
1393
1461
  return printed.length === 1 ? printed[0] : `[${printed.join(", ")}]`;
1394
1462
  }
1395
1463
  if (doc2.type === DOC_TYPE_LINE) {
1396
- const withBreakParent = Array.isArray(parentParts) && parentParts[index + 1] && parentParts[index + 1].type === DOC_TYPE_BREAK_PARENT;
1464
+ const withBreakParent = ((_a = parentParts == null ? void 0 : parentParts[index + 1]) == null ? void 0 : _a.type) === DOC_TYPE_BREAK_PARENT;
1397
1465
  if (doc2.literal) {
1398
1466
  return withBreakParent ? "literalline" : "literallineWithoutBreakParent";
1399
1467
  }
@@ -1406,7 +1474,7 @@ function printDocToDebug(doc) {
1406
1474
  return "line";
1407
1475
  }
1408
1476
  if (doc2.type === DOC_TYPE_BREAK_PARENT) {
1409
- const afterHardline = Array.isArray(parentParts) && parentParts[index - 1] && parentParts[index - 1].type === DOC_TYPE_LINE && parentParts[index - 1].hard;
1477
+ const afterHardline = ((_b = parentParts == null ? void 0 : parentParts[index - 1]) == null ? void 0 : _b.type) === DOC_TYPE_LINE && parentParts[index - 1].hard;
1410
1478
  return afterHardline ? void 0 : "breakParent";
1411
1479
  }
1412
1480
  if (doc2.type === DOC_TYPE_TRIM) {