@typespec/html-program-viewer 0.58.0-dev.4 → 0.59.0-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/manifest-Bx5EZvxu.js +6 -0
- package/dist/react/index.js +1615 -1602
- package/package.json +3 -3
- package/dist/manifest-DR4jWHsG.js +0 -6
package/dist/react/index.js
CHANGED
|
@@ -17950,6 +17950,7 @@ const diagnostics = {
|
|
|
17950
17950
|
severity: "error",
|
|
17951
17951
|
messages: {
|
|
17952
17952
|
default: paramMessage `Model has an inherited property named ${"propName"} of type ${"propType"} which cannot override type ${"parentType"}`,
|
|
17953
|
+
disallowedOptionalOverride: paramMessage `Model has a required inherited property named ${"propName"} which cannot be overridden as optional`,
|
|
17953
17954
|
},
|
|
17954
17955
|
},
|
|
17955
17956
|
"extend-scalar": {
|
|
@@ -28224,7 +28225,7 @@ let manifest;
|
|
|
28224
28225
|
try {
|
|
28225
28226
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
28226
28227
|
// @ts-ignore
|
|
28227
|
-
manifest = (await import('../manifest-
|
|
28228
|
+
manifest = (await import('../manifest-Bx5EZvxu.js')).default;
|
|
28228
28229
|
}
|
|
28229
28230
|
catch {
|
|
28230
28231
|
const name = "../dist/manifest.js";
|
|
@@ -29588,1735 +29589,1747 @@ function isTemplateInstance(type) {
|
|
|
29588
29589
|
maybeTemplateType.isFinished);
|
|
29589
29590
|
}
|
|
29590
29591
|
|
|
29591
|
-
|
|
29592
|
-
|
|
29593
|
-
|
|
29594
|
-
|
|
29595
|
-
|
|
29596
|
-
|
|
29597
|
-
|
|
29598
|
-
|
|
29599
|
-
|
|
29600
|
-
|
|
29601
|
-
|
|
29602
|
-
|
|
29603
|
-
|
|
29604
|
-
|
|
29605
|
-
|
|
29606
|
-
|
|
29607
|
-
|
|
29608
|
-
|
|
29609
|
-
|
|
29610
|
-
|
|
29611
|
-
|
|
29612
|
-
|
|
29613
|
-
|
|
29614
|
-
|
|
29615
|
-
var DOC_TYPE_INDENT_IF_BREAK = "indent-if-break";
|
|
29616
|
-
var DOC_TYPE_LINE_SUFFIX = "line-suffix";
|
|
29617
|
-
var DOC_TYPE_LINE_SUFFIX_BOUNDARY = "line-suffix-boundary";
|
|
29618
|
-
var DOC_TYPE_LINE = "line";
|
|
29619
|
-
var DOC_TYPE_LABEL = "label";
|
|
29620
|
-
var DOC_TYPE_BREAK_PARENT = "break-parent";
|
|
29621
|
-
var VALID_OBJECT_DOC_TYPES = /* @__PURE__ */ new Set([
|
|
29622
|
-
DOC_TYPE_CURSOR,
|
|
29623
|
-
DOC_TYPE_INDENT,
|
|
29624
|
-
DOC_TYPE_ALIGN,
|
|
29625
|
-
DOC_TYPE_TRIM,
|
|
29626
|
-
DOC_TYPE_GROUP,
|
|
29627
|
-
DOC_TYPE_FILL,
|
|
29628
|
-
DOC_TYPE_IF_BREAK,
|
|
29629
|
-
DOC_TYPE_INDENT_IF_BREAK,
|
|
29630
|
-
DOC_TYPE_LINE_SUFFIX,
|
|
29631
|
-
DOC_TYPE_LINE_SUFFIX_BOUNDARY,
|
|
29632
|
-
DOC_TYPE_LINE,
|
|
29633
|
-
DOC_TYPE_LABEL,
|
|
29634
|
-
DOC_TYPE_BREAK_PARENT
|
|
29635
|
-
]);
|
|
29636
|
-
|
|
29637
|
-
// src/document/utils/get-doc-type.js
|
|
29638
|
-
function getDocType(doc) {
|
|
29639
|
-
if (typeof doc === "string") {
|
|
29640
|
-
return DOC_TYPE_STRING;
|
|
29641
|
-
}
|
|
29642
|
-
if (Array.isArray(doc)) {
|
|
29643
|
-
return DOC_TYPE_ARRAY;
|
|
29644
|
-
}
|
|
29645
|
-
if (!doc) {
|
|
29646
|
-
return;
|
|
29647
|
-
}
|
|
29648
|
-
const { type } = doc;
|
|
29649
|
-
if (VALID_OBJECT_DOC_TYPES.has(type)) {
|
|
29650
|
-
return type;
|
|
29651
|
-
}
|
|
29592
|
+
/**
|
|
29593
|
+
* Print a string as a TypeSpec identifier. If the string is a valid identifier, return it as is otherwise wrap it into backticks.
|
|
29594
|
+
* @param sv Identifier string value.
|
|
29595
|
+
* @returns Identifier string as it would be represented in a TypeSpec file.
|
|
29596
|
+
*
|
|
29597
|
+
* @example
|
|
29598
|
+
* ```ts
|
|
29599
|
+
* printIdentifier("foo") // foo
|
|
29600
|
+
* printIdentifier("foo bar") // `foo bar`
|
|
29601
|
+
* ```
|
|
29602
|
+
*/
|
|
29603
|
+
function printIdentifier(sv) {
|
|
29604
|
+
if (needBacktick(sv)) {
|
|
29605
|
+
const escapedString = sv
|
|
29606
|
+
.replace(/\\/g, "\\\\")
|
|
29607
|
+
.replace(/\n/g, "\\n")
|
|
29608
|
+
.replace(/\r/g, "\\r")
|
|
29609
|
+
.replace(/\t/g, "\\t")
|
|
29610
|
+
.replace(/`/g, "\\`");
|
|
29611
|
+
return `\`${escapedString}\``;
|
|
29612
|
+
}
|
|
29613
|
+
else {
|
|
29614
|
+
return sv;
|
|
29615
|
+
}
|
|
29652
29616
|
}
|
|
29653
|
-
|
|
29654
|
-
|
|
29655
|
-
|
|
29656
|
-
|
|
29657
|
-
|
|
29658
|
-
|
|
29659
|
-
|
|
29660
|
-
|
|
29661
|
-
|
|
29662
|
-
|
|
29663
|
-
|
|
29664
|
-
|
|
29665
|
-
|
|
29666
|
-
|
|
29667
|
-
|
|
29668
|
-
return
|
|
29669
|
-
}
|
|
29670
|
-
const EXPECTED_TYPE_VALUES = disjunctionListFormat(
|
|
29671
|
-
[...VALID_OBJECT_DOC_TYPES].map((type2) => `'${type2}'`)
|
|
29672
|
-
);
|
|
29673
|
-
return `Unexpected doc.type '${doc.type}'.
|
|
29674
|
-
Expected it to be ${EXPECTED_TYPE_VALUES}.`;
|
|
29617
|
+
function needBacktick(sv) {
|
|
29618
|
+
if (sv.length === 0) {
|
|
29619
|
+
return false;
|
|
29620
|
+
}
|
|
29621
|
+
if (Keywords.has(sv)) {
|
|
29622
|
+
return true;
|
|
29623
|
+
}
|
|
29624
|
+
let cp = sv.codePointAt(0);
|
|
29625
|
+
if (!isIdentifierStart(cp)) {
|
|
29626
|
+
return true;
|
|
29627
|
+
}
|
|
29628
|
+
let pos = 0;
|
|
29629
|
+
do {
|
|
29630
|
+
pos += utf16CodeUnits(cp);
|
|
29631
|
+
} while (pos < sv.length && isIdentifierContinue((cp = sv.codePointAt(pos))));
|
|
29632
|
+
return pos < sv.length;
|
|
29675
29633
|
}
|
|
29676
|
-
var InvalidDocError = class extends Error {
|
|
29677
|
-
name = "InvalidDocError";
|
|
29678
|
-
constructor(doc) {
|
|
29679
|
-
super(getDocErrorMessage(doc));
|
|
29680
|
-
this.doc = doc;
|
|
29681
|
-
}
|
|
29682
|
-
};
|
|
29683
|
-
var invalid_doc_error_default = InvalidDocError;
|
|
29684
29634
|
|
|
29685
|
-
|
|
29686
|
-
|
|
29687
|
-
|
|
29688
|
-
|
|
29689
|
-
|
|
29690
|
-
|
|
29691
|
-
|
|
29692
|
-
|
|
29693
|
-
|
|
29635
|
+
function getTypeName(type, options) {
|
|
29636
|
+
switch (type.kind) {
|
|
29637
|
+
case "Namespace":
|
|
29638
|
+
return getNamespaceFullName(type, options);
|
|
29639
|
+
case "TemplateParameter":
|
|
29640
|
+
return getIdentifierName(type.node.id.sv, options);
|
|
29641
|
+
case "Scalar":
|
|
29642
|
+
return getScalarName(type, options);
|
|
29643
|
+
case "Model":
|
|
29644
|
+
return getModelName(type, options);
|
|
29645
|
+
case "ModelProperty":
|
|
29646
|
+
return getModelPropertyName(type, options);
|
|
29647
|
+
case "Interface":
|
|
29648
|
+
return getInterfaceName(type, options);
|
|
29649
|
+
case "Operation":
|
|
29650
|
+
return getOperationName(type, options);
|
|
29651
|
+
case "Enum":
|
|
29652
|
+
return getEnumName(type, options);
|
|
29653
|
+
case "EnumMember":
|
|
29654
|
+
return `${getEnumName(type.enum, options)}.${getIdentifierName(type.name, options)}`;
|
|
29655
|
+
case "Union":
|
|
29656
|
+
return getUnionName(type, options);
|
|
29657
|
+
case "UnionVariant":
|
|
29658
|
+
return getTypeName(type.type, options);
|
|
29659
|
+
case "Tuple":
|
|
29660
|
+
return "[" + type.values.map((x) => getTypeName(x, options)).join(", ") + "]";
|
|
29661
|
+
case "StringTemplate":
|
|
29662
|
+
return getStringTemplateName(type);
|
|
29663
|
+
case "String":
|
|
29664
|
+
return `"${type.value}"`;
|
|
29665
|
+
case "Number":
|
|
29666
|
+
return type.valueAsString;
|
|
29667
|
+
case "Boolean":
|
|
29668
|
+
return type.value.toString();
|
|
29669
|
+
case "Intrinsic":
|
|
29670
|
+
return type.name;
|
|
29671
|
+
default:
|
|
29672
|
+
return `(unnamed type)`;
|
|
29694
29673
|
}
|
|
29695
|
-
|
|
29696
|
-
|
|
29674
|
+
}
|
|
29675
|
+
function getValuePreview(value, options) {
|
|
29676
|
+
switch (value.valueKind) {
|
|
29677
|
+
case "ObjectValue":
|
|
29678
|
+
return `#{${[...value.properties.entries()].map(([name, value]) => `${name}: ${getValuePreview(value.value, options)}`).join(", ")}}`;
|
|
29679
|
+
case "ArrayValue":
|
|
29680
|
+
return `#[${value.values.map((x) => getValuePreview(x, options)).join(", ")}]`;
|
|
29681
|
+
case "StringValue":
|
|
29682
|
+
return `"${value.value}"`;
|
|
29683
|
+
case "BooleanValue":
|
|
29684
|
+
return `${value.value}`;
|
|
29685
|
+
case "NumericValue":
|
|
29686
|
+
return `${value.value.toString()}`;
|
|
29687
|
+
case "EnumValue":
|
|
29688
|
+
return getTypeName(value.value);
|
|
29689
|
+
case "NullValue":
|
|
29690
|
+
return "null";
|
|
29691
|
+
case "ScalarValue":
|
|
29692
|
+
return `${getTypeName(value.type, options)}.${value.value.name}(${value.value.args.map((x) => getValuePreview(x, options)).join(", ")}})`;
|
|
29697
29693
|
}
|
|
29698
|
-
|
|
29699
|
-
|
|
29700
|
-
|
|
29694
|
+
}
|
|
29695
|
+
function getEntityName(entity, options) {
|
|
29696
|
+
if (isValue(entity)) {
|
|
29697
|
+
return getValuePreview(entity, options);
|
|
29701
29698
|
}
|
|
29702
|
-
if ((
|
|
29703
|
-
|
|
29699
|
+
else if (isType(entity)) {
|
|
29700
|
+
return getTypeName(entity, options);
|
|
29704
29701
|
}
|
|
29705
|
-
|
|
29706
|
-
|
|
29707
|
-
|
|
29708
|
-
|
|
29709
|
-
|
|
29710
|
-
|
|
29711
|
-
|
|
29712
|
-
|
|
29713
|
-
|
|
29714
|
-
|
|
29715
|
-
|
|
29716
|
-
break;
|
|
29717
|
-
case DOC_TYPE_GROUP:
|
|
29718
|
-
if (shouldTraverseConditionalGroups && doc2.expandedStates) {
|
|
29719
|
-
for (let ic = doc2.expandedStates.length, i = ic - 1; i >= 0; --i) {
|
|
29720
|
-
docsStack.push(doc2.expandedStates[i]);
|
|
29721
|
-
}
|
|
29722
|
-
} else {
|
|
29723
|
-
docsStack.push(doc2.contents);
|
|
29702
|
+
else {
|
|
29703
|
+
switch (entity.entityKind) {
|
|
29704
|
+
case "MixedParameterConstraint":
|
|
29705
|
+
return [
|
|
29706
|
+
entity.type && getEntityName(entity.type),
|
|
29707
|
+
entity.valueType && `valueof ${getEntityName(entity.valueType)}`,
|
|
29708
|
+
]
|
|
29709
|
+
.filter(isDefined)
|
|
29710
|
+
.join(" | ");
|
|
29711
|
+
case "Indeterminate":
|
|
29712
|
+
return getTypeName(entity.type, options);
|
|
29724
29713
|
}
|
|
29725
|
-
break;
|
|
29726
|
-
case DOC_TYPE_ALIGN:
|
|
29727
|
-
case DOC_TYPE_INDENT:
|
|
29728
|
-
case DOC_TYPE_INDENT_IF_BREAK:
|
|
29729
|
-
case DOC_TYPE_LABEL:
|
|
29730
|
-
case DOC_TYPE_LINE_SUFFIX:
|
|
29731
|
-
docsStack.push(doc2.contents);
|
|
29732
|
-
break;
|
|
29733
|
-
case DOC_TYPE_STRING:
|
|
29734
|
-
case DOC_TYPE_CURSOR:
|
|
29735
|
-
case DOC_TYPE_TRIM:
|
|
29736
|
-
case DOC_TYPE_LINE_SUFFIX_BOUNDARY:
|
|
29737
|
-
case DOC_TYPE_LINE:
|
|
29738
|
-
case DOC_TYPE_BREAK_PARENT:
|
|
29739
|
-
break;
|
|
29740
|
-
default:
|
|
29741
|
-
throw new invalid_doc_error_default(doc2);
|
|
29742
29714
|
}
|
|
29743
|
-
}
|
|
29744
29715
|
}
|
|
29745
|
-
|
|
29746
|
-
|
|
29747
|
-
|
|
29748
|
-
|
|
29749
|
-
|
|
29750
|
-
var assertDocArray = noop ;
|
|
29751
|
-
|
|
29752
|
-
// src/document/builders.js
|
|
29753
|
-
function indent(contents) {
|
|
29754
|
-
return { type: DOC_TYPE_INDENT, contents };
|
|
29755
|
-
}
|
|
29756
|
-
function align(widthOrString, contents) {
|
|
29757
|
-
return { type: DOC_TYPE_ALIGN, contents, n: widthOrString };
|
|
29716
|
+
function isStdNamespace(namespace) {
|
|
29717
|
+
return ((namespace.name === "TypeSpec" && namespace.namespace?.name === "") ||
|
|
29718
|
+
(namespace.name === "Reflection" &&
|
|
29719
|
+
namespace.namespace?.name === "TypeSpec" &&
|
|
29720
|
+
namespace.namespace?.namespace?.name === ""));
|
|
29758
29721
|
}
|
|
29759
|
-
|
|
29760
|
-
|
|
29761
|
-
|
|
29762
|
-
|
|
29763
|
-
|
|
29764
|
-
|
|
29765
|
-
|
|
29766
|
-
|
|
29767
|
-
|
|
29768
|
-
|
|
29722
|
+
/**
|
|
29723
|
+
* Return the full name of the namespace(e.g. "Foo.Bar")
|
|
29724
|
+
* @param type namespace type
|
|
29725
|
+
* @param options
|
|
29726
|
+
* @returns
|
|
29727
|
+
*/
|
|
29728
|
+
function getNamespaceFullName(type, options) {
|
|
29729
|
+
const segments = [];
|
|
29730
|
+
let current = type;
|
|
29731
|
+
while (current && current.name !== "") {
|
|
29732
|
+
segments.unshift(getIdentifierName(current.name, options));
|
|
29733
|
+
current = current.namespace;
|
|
29734
|
+
}
|
|
29735
|
+
return segments.join(".");
|
|
29769
29736
|
}
|
|
29770
|
-
function
|
|
29771
|
-
|
|
29737
|
+
function getNamespacePrefix(type, options) {
|
|
29738
|
+
if (type === undefined || isStdNamespace(type)) {
|
|
29739
|
+
return "";
|
|
29740
|
+
}
|
|
29741
|
+
const namespaceFullName = getNamespaceFullName(type, options);
|
|
29742
|
+
return namespaceFullName !== "" ? namespaceFullName + "." : "";
|
|
29772
29743
|
}
|
|
29773
|
-
function
|
|
29774
|
-
|
|
29744
|
+
function getEnumName(e, options) {
|
|
29745
|
+
return `${getNamespacePrefix(e.namespace, options)}${getIdentifierName(e.name, options)}`;
|
|
29775
29746
|
}
|
|
29776
|
-
function
|
|
29777
|
-
|
|
29747
|
+
function getScalarName(scalar, options) {
|
|
29748
|
+
return `${getNamespacePrefix(scalar.namespace, options)}${getIdentifierName(scalar.name, options)}`;
|
|
29778
29749
|
}
|
|
29779
|
-
function
|
|
29780
|
-
|
|
29750
|
+
function getModelName(model, options) {
|
|
29751
|
+
const nsPrefix = getNamespacePrefix(model.namespace, options);
|
|
29752
|
+
if (model.name === "" && model.properties.size === 0) {
|
|
29753
|
+
return "{}";
|
|
29754
|
+
}
|
|
29755
|
+
if (model.indexer && model.indexer.key.kind === "Scalar") {
|
|
29756
|
+
if (model.name === "Array" && isInTypeSpecNamespace(model)) {
|
|
29757
|
+
return `${getTypeName(model.indexer.value, options)}[]`;
|
|
29758
|
+
}
|
|
29759
|
+
}
|
|
29760
|
+
if (model.name === "") {
|
|
29761
|
+
return (nsPrefix +
|
|
29762
|
+
`{ ${[...model.properties.values()].map((prop) => `${prop.name}: ${getTypeName(prop.type, options)}`).join(", ")} }`);
|
|
29763
|
+
}
|
|
29764
|
+
const modelName = nsPrefix + getIdentifierName(model.name, options);
|
|
29765
|
+
if (isTemplateInstance(model)) {
|
|
29766
|
+
// template instantiation
|
|
29767
|
+
const args = model.templateMapper.args.map((x) => getEntityName(x, options));
|
|
29768
|
+
return `${modelName}<${args.join(", ")}>`;
|
|
29769
|
+
}
|
|
29770
|
+
else if (model.node?.templateParameters?.length > 0) {
|
|
29771
|
+
// template
|
|
29772
|
+
const params = model.node.templateParameters.map((t) => getIdentifierName(t.id.sv, options));
|
|
29773
|
+
return `${modelName}<${params.join(", ")}>`;
|
|
29774
|
+
}
|
|
29775
|
+
else {
|
|
29776
|
+
// regular old model.
|
|
29777
|
+
return modelName;
|
|
29778
|
+
}
|
|
29781
29779
|
}
|
|
29782
|
-
function
|
|
29783
|
-
|
|
29780
|
+
function getUnionName(type, options) {
|
|
29781
|
+
const nsPrefix = getNamespacePrefix(type.namespace, options);
|
|
29782
|
+
const typeName = type.name
|
|
29783
|
+
? getIdentifierName(type.name, options)
|
|
29784
|
+
: [...type.variants.values()].map((x) => getTypeName(x.type, options)).join(" | ");
|
|
29785
|
+
return nsPrefix + typeName;
|
|
29784
29786
|
}
|
|
29785
|
-
|
|
29786
|
-
|
|
29787
|
-
|
|
29788
|
-
|
|
29789
|
-
|
|
29790
|
-
groupId: opts.groupId
|
|
29791
|
-
};
|
|
29787
|
+
/**
|
|
29788
|
+
* Check if the given namespace is the standard library `TypeSpec` namespace.
|
|
29789
|
+
*/
|
|
29790
|
+
function isTypeSpecNamespace(namespace) {
|
|
29791
|
+
return namespace.name === "TypeSpec" && namespace.namespace?.name === "";
|
|
29792
29792
|
}
|
|
29793
|
-
|
|
29794
|
-
|
|
29795
|
-
|
|
29796
|
-
|
|
29797
|
-
|
|
29798
|
-
negate: opts.negate
|
|
29799
|
-
};
|
|
29793
|
+
/**
|
|
29794
|
+
* Check if the given type is defined right in the TypeSpec namespace.
|
|
29795
|
+
*/
|
|
29796
|
+
function isInTypeSpecNamespace(type) {
|
|
29797
|
+
return Boolean(type.namespace && isTypeSpecNamespace(type.namespace));
|
|
29800
29798
|
}
|
|
29801
|
-
function
|
|
29802
|
-
|
|
29799
|
+
function getModelPropertyName(prop, options) {
|
|
29800
|
+
const modelName = prop.model ? getModelName(prop.model, options) : undefined;
|
|
29801
|
+
return `${modelName ?? "(anonymous model)"}.${prop.name}`;
|
|
29803
29802
|
}
|
|
29804
|
-
|
|
29805
|
-
|
|
29806
|
-
|
|
29807
|
-
|
|
29808
|
-
|
|
29809
|
-
|
|
29810
|
-
hard: true,
|
|
29811
|
-
literal: true
|
|
29812
|
-
};
|
|
29813
|
-
var line = { type: DOC_TYPE_LINE };
|
|
29814
|
-
var softline = { type: DOC_TYPE_LINE, soft: true };
|
|
29815
|
-
var hardline = [hardlineWithoutBreakParent, breakParent];
|
|
29816
|
-
var literalline = [literallineWithoutBreakParent, breakParent];
|
|
29817
|
-
var cursor = { type: DOC_TYPE_CURSOR };
|
|
29818
|
-
function join(separator, docs) {
|
|
29819
|
-
const parts = [];
|
|
29820
|
-
for (let i = 0; i < docs.length; i++) {
|
|
29821
|
-
if (i !== 0) {
|
|
29822
|
-
parts.push(separator);
|
|
29803
|
+
function getInterfaceName(iface, options) {
|
|
29804
|
+
let interfaceName = getIdentifierName(iface.name, options);
|
|
29805
|
+
if (isTemplateInstance(iface)) {
|
|
29806
|
+
interfaceName += `<${iface.templateMapper.args
|
|
29807
|
+
.map((x) => getEntityName(x, options))
|
|
29808
|
+
.join(", ")}>`;
|
|
29823
29809
|
}
|
|
29824
|
-
|
|
29825
|
-
}
|
|
29826
|
-
return parts;
|
|
29810
|
+
return `${getNamespacePrefix(iface.namespace, options)}${interfaceName}`;
|
|
29827
29811
|
}
|
|
29828
|
-
function
|
|
29829
|
-
|
|
29830
|
-
|
|
29831
|
-
|
|
29832
|
-
|
|
29812
|
+
function getOperationName(op, options) {
|
|
29813
|
+
let opName = getIdentifierName(op.name, options);
|
|
29814
|
+
if (op.node.templateParameters.length > 0) {
|
|
29815
|
+
// template
|
|
29816
|
+
const params = op.node.templateParameters.map((t) => getIdentifierName(t.id.sv, options));
|
|
29817
|
+
opName += `<${params.join(", ")}>`;
|
|
29833
29818
|
}
|
|
29834
|
-
|
|
29835
|
-
|
|
29836
|
-
|
|
29837
|
-
|
|
29819
|
+
const prefix = op.interface
|
|
29820
|
+
? getInterfaceName(op.interface, options) + "."
|
|
29821
|
+
: getNamespacePrefix(op.namespace, options);
|
|
29822
|
+
return `${prefix}${opName}`;
|
|
29838
29823
|
}
|
|
29839
|
-
function
|
|
29840
|
-
|
|
29824
|
+
function getIdentifierName(name, options) {
|
|
29825
|
+
return options?.printable ? printIdentifier(name) : name;
|
|
29841
29826
|
}
|
|
29842
|
-
|
|
29843
|
-
|
|
29844
|
-
|
|
29845
|
-
|
|
29846
|
-
return;
|
|
29847
|
-
}
|
|
29848
|
-
if (Array.isArray(object) || typeof object === "string") {
|
|
29849
|
-
return object[index < 0 ? object.length + index : index];
|
|
29850
|
-
}
|
|
29851
|
-
return object.at(index);
|
|
29852
|
-
};
|
|
29853
|
-
var at_default = at$1;
|
|
29854
|
-
|
|
29855
|
-
// scripts/build/shims/string-replace-all.js
|
|
29856
|
-
var stringReplaceAll = (isOptionalObject, original, pattern, replacement) => {
|
|
29857
|
-
if (isOptionalObject && (original === void 0 || original === null)) {
|
|
29858
|
-
return;
|
|
29859
|
-
}
|
|
29860
|
-
if (original.replaceAll) {
|
|
29861
|
-
return original.replaceAll(pattern, replacement);
|
|
29862
|
-
}
|
|
29863
|
-
if (pattern.global) {
|
|
29864
|
-
return original.replace(pattern, replacement);
|
|
29865
|
-
}
|
|
29866
|
-
return original.split(pattern).join(replacement);
|
|
29867
|
-
};
|
|
29868
|
-
var string_replace_all_default = stringReplaceAll;
|
|
29869
|
-
|
|
29870
|
-
// src/common/end-of-line.js
|
|
29871
|
-
function convertEndOfLineToChars(value) {
|
|
29872
|
-
switch (value) {
|
|
29873
|
-
case "cr":
|
|
29874
|
-
return "\r";
|
|
29875
|
-
case "crlf":
|
|
29876
|
-
return "\r\n";
|
|
29877
|
-
default:
|
|
29878
|
-
return "\n";
|
|
29879
|
-
}
|
|
29827
|
+
function getStringTemplateName(type) {
|
|
29828
|
+
if (type.stringValue) {
|
|
29829
|
+
return `"${type.stringValue}"`;
|
|
29830
|
+
}
|
|
29831
|
+
return "string";
|
|
29880
29832
|
}
|
|
29881
29833
|
|
|
29882
|
-
|
|
29883
|
-
|
|
29884
|
-
return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\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?|[\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](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\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-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC2\uDECE-\uDEDB\uDEE0-\uDEE8]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
|
|
29885
|
-
};
|
|
29886
|
-
|
|
29887
|
-
// node_modules/get-east-asian-width/lookup.js
|
|
29888
|
-
function isFullWidth(x) {
|
|
29889
|
-
return x === 12288 || x >= 65281 && x <= 65376 || x >= 65504 && x <= 65510;
|
|
29890
|
-
}
|
|
29891
|
-
function isWide(x) {
|
|
29892
|
-
return x >= 4352 && x <= 4447 || x === 8986 || x === 8987 || x === 9001 || x === 9002 || x >= 9193 && x <= 9196 || x === 9200 || x === 9203 || x === 9725 || x === 9726 || x === 9748 || x === 9749 || x >= 9800 && x <= 9811 || x === 9855 || x === 9875 || x === 9889 || x === 9898 || x === 9899 || x === 9917 || x === 9918 || x === 9924 || x === 9925 || x === 9934 || x === 9940 || x === 9962 || x === 9970 || x === 9971 || x === 9973 || x === 9978 || x === 9981 || x === 9989 || x === 9994 || x === 9995 || x === 10024 || x === 10060 || x === 10062 || x >= 10067 && x <= 10069 || x === 10071 || x >= 10133 && x <= 10135 || x === 10160 || x === 10175 || x === 11035 || x === 11036 || x === 11088 || x === 11093 || x >= 11904 && x <= 11929 || x >= 11931 && x <= 12019 || x >= 12032 && x <= 12245 || x >= 12272 && x <= 12287 || x >= 12289 && x <= 12350 || x >= 12353 && x <= 12438 || x >= 12441 && x <= 12543 || x >= 12549 && x <= 12591 || x >= 12593 && x <= 12686 || x >= 12688 && x <= 12771 || x >= 12783 && x <= 12830 || x >= 12832 && x <= 12871 || x >= 12880 && x <= 19903 || x >= 19968 && x <= 42124 || x >= 42128 && x <= 42182 || x >= 43360 && x <= 43388 || x >= 44032 && x <= 55203 || x >= 63744 && x <= 64255 || x >= 65040 && x <= 65049 || x >= 65072 && x <= 65106 || x >= 65108 && x <= 65126 || x >= 65128 && x <= 65131 || x >= 94176 && x <= 94180 || x === 94192 || x === 94193 || x >= 94208 && x <= 100343 || x >= 100352 && x <= 101589 || x >= 101632 && x <= 101640 || x >= 110576 && x <= 110579 || x >= 110581 && x <= 110587 || x === 110589 || x === 110590 || x >= 110592 && x <= 110882 || x === 110898 || x >= 110928 && x <= 110930 || x === 110933 || x >= 110948 && x <= 110951 || x >= 110960 && x <= 111355 || x === 126980 || x === 127183 || x === 127374 || x >= 127377 && x <= 127386 || x >= 127488 && x <= 127490 || x >= 127504 && x <= 127547 || x >= 127552 && x <= 127560 || x === 127568 || x === 127569 || x >= 127584 && x <= 127589 || x >= 127744 && x <= 127776 || x >= 127789 && x <= 127797 || x >= 127799 && x <= 127868 || x >= 127870 && x <= 127891 || x >= 127904 && x <= 127946 || x >= 127951 && x <= 127955 || x >= 127968 && x <= 127984 || x === 127988 || x >= 127992 && x <= 128062 || x === 128064 || x >= 128066 && x <= 128252 || x >= 128255 && x <= 128317 || x >= 128331 && x <= 128334 || x >= 128336 && x <= 128359 || x === 128378 || x === 128405 || x === 128406 || x === 128420 || x >= 128507 && x <= 128591 || x >= 128640 && x <= 128709 || x === 128716 || x >= 128720 && x <= 128722 || x >= 128725 && x <= 128727 || x >= 128732 && x <= 128735 || x === 128747 || x === 128748 || x >= 128756 && x <= 128764 || x >= 128992 && x <= 129003 || x === 129008 || x >= 129292 && x <= 129338 || x >= 129340 && x <= 129349 || x >= 129351 && x <= 129535 || x >= 129648 && x <= 129660 || x >= 129664 && x <= 129672 || x >= 129680 && x <= 129725 || x >= 129727 && x <= 129733 || x >= 129742 && x <= 129755 || x >= 129760 && x <= 129768 || x >= 129776 && x <= 129784 || x >= 131072 && x <= 196605 || x >= 196608 && x <= 262141;
|
|
29834
|
+
class InvalidNumericError extends Error {
|
|
29835
|
+
code = "InvalidNumeric";
|
|
29893
29836
|
}
|
|
29894
|
-
|
|
29895
|
-
|
|
29896
|
-
|
|
29897
|
-
|
|
29898
|
-
|
|
29899
|
-
|
|
29900
|
-
|
|
29901
|
-
|
|
29902
|
-
return 0;
|
|
29903
|
-
}
|
|
29904
|
-
if (!notAsciiRegex.test(text)) {
|
|
29905
|
-
return text.length;
|
|
29906
|
-
}
|
|
29907
|
-
text = text.replace(emoji_regex_default(), " ");
|
|
29908
|
-
let width = 0;
|
|
29909
|
-
for (const character of text) {
|
|
29910
|
-
const codePoint = character.codePointAt(0);
|
|
29911
|
-
if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) {
|
|
29912
|
-
continue;
|
|
29913
|
-
}
|
|
29914
|
-
if (codePoint >= 768 && codePoint <= 879) {
|
|
29915
|
-
continue;
|
|
29837
|
+
/** @internal */
|
|
29838
|
+
const InternalDataSym = Symbol.for("NumericInternalData");
|
|
29839
|
+
/**
|
|
29840
|
+
* Represent any possible numeric value
|
|
29841
|
+
*/
|
|
29842
|
+
function Numeric(stringValue) {
|
|
29843
|
+
if (new.target) {
|
|
29844
|
+
throw new Error("Numeric is not a constructor");
|
|
29916
29845
|
}
|
|
29917
|
-
|
|
29918
|
-
|
|
29919
|
-
|
|
29846
|
+
const data = parse$1(stringValue);
|
|
29847
|
+
const isInteger = data.d === 0;
|
|
29848
|
+
const obj = {
|
|
29849
|
+
[InternalDataSym]: data,
|
|
29850
|
+
isInteger,
|
|
29851
|
+
};
|
|
29852
|
+
// We are explicitly not using a class here due to version mismatch between the compiler and the runtime that could happen and break instanceof checks.
|
|
29853
|
+
const numeric = setTypedProptotype(obj, NumericPrototype);
|
|
29854
|
+
return Object.freeze(numeric);
|
|
29920
29855
|
}
|
|
29921
|
-
|
|
29922
|
-
|
|
29923
|
-
|
|
29924
|
-
|
|
29925
|
-
|
|
29926
|
-
|
|
29927
|
-
|
|
29928
|
-
|
|
29929
|
-
|
|
29930
|
-
|
|
29931
|
-
|
|
29932
|
-
|
|
29856
|
+
function setTypedProptotype(obj, prototype) {
|
|
29857
|
+
Object.setPrototypeOf(obj, prototype);
|
|
29858
|
+
return obj;
|
|
29859
|
+
}
|
|
29860
|
+
function parse$1(original) {
|
|
29861
|
+
let stringValue = original;
|
|
29862
|
+
let start = 0;
|
|
29863
|
+
let sign = 1;
|
|
29864
|
+
let n;
|
|
29865
|
+
let exp;
|
|
29866
|
+
let decimal;
|
|
29867
|
+
if (stringValue[0] === "-") {
|
|
29868
|
+
start = 1;
|
|
29869
|
+
sign = -1;
|
|
29933
29870
|
}
|
|
29934
|
-
const
|
|
29935
|
-
|
|
29936
|
-
|
|
29937
|
-
|
|
29938
|
-
|
|
29939
|
-
|
|
29940
|
-
|
|
29941
|
-
|
|
29942
|
-
|
|
29943
|
-
return cb({
|
|
29944
|
-
...doc2,
|
|
29945
|
-
parts: doc2.parts.map(rec)
|
|
29946
|
-
});
|
|
29947
|
-
case DOC_TYPE_IF_BREAK:
|
|
29948
|
-
return cb({
|
|
29949
|
-
...doc2,
|
|
29950
|
-
breakContents: rec(doc2.breakContents),
|
|
29951
|
-
flatContents: rec(doc2.flatContents)
|
|
29952
|
-
});
|
|
29953
|
-
case DOC_TYPE_GROUP: {
|
|
29954
|
-
let {
|
|
29955
|
-
expandedStates,
|
|
29956
|
-
contents
|
|
29957
|
-
} = doc2;
|
|
29958
|
-
if (expandedStates) {
|
|
29959
|
-
expandedStates = expandedStates.map(rec);
|
|
29960
|
-
contents = expandedStates[0];
|
|
29961
|
-
} else {
|
|
29962
|
-
contents = rec(contents);
|
|
29871
|
+
const second = stringValue[start + 1]?.toLowerCase();
|
|
29872
|
+
if (stringValue[start] === "0" && (second === "b" || second === "x" || second === "o")) {
|
|
29873
|
+
try {
|
|
29874
|
+
n = BigInt(stringValue.slice(start));
|
|
29875
|
+
exp = n.toString().length;
|
|
29876
|
+
decimal = 0;
|
|
29877
|
+
}
|
|
29878
|
+
catch {
|
|
29879
|
+
throw new InvalidNumericError(`Invalid numeric value: ${original}`);
|
|
29963
29880
|
}
|
|
29964
|
-
return cb({
|
|
29965
|
-
...doc2,
|
|
29966
|
-
contents,
|
|
29967
|
-
expandedStates
|
|
29968
|
-
});
|
|
29969
|
-
}
|
|
29970
|
-
case DOC_TYPE_ALIGN:
|
|
29971
|
-
case DOC_TYPE_INDENT:
|
|
29972
|
-
case DOC_TYPE_INDENT_IF_BREAK:
|
|
29973
|
-
case DOC_TYPE_LABEL:
|
|
29974
|
-
case DOC_TYPE_LINE_SUFFIX:
|
|
29975
|
-
return cb({
|
|
29976
|
-
...doc2,
|
|
29977
|
-
contents: rec(doc2.contents)
|
|
29978
|
-
});
|
|
29979
|
-
case DOC_TYPE_STRING:
|
|
29980
|
-
case DOC_TYPE_CURSOR:
|
|
29981
|
-
case DOC_TYPE_TRIM:
|
|
29982
|
-
case DOC_TYPE_LINE_SUFFIX_BOUNDARY:
|
|
29983
|
-
case DOC_TYPE_LINE:
|
|
29984
|
-
case DOC_TYPE_BREAK_PARENT:
|
|
29985
|
-
return cb(doc2);
|
|
29986
|
-
default:
|
|
29987
|
-
throw new invalid_doc_error_default(doc2);
|
|
29988
|
-
}
|
|
29989
|
-
}
|
|
29990
|
-
}
|
|
29991
|
-
function findInDoc(doc, fn, defaultValue) {
|
|
29992
|
-
let result = defaultValue;
|
|
29993
|
-
let shouldSkipFurtherProcessing = false;
|
|
29994
|
-
function findInDocOnEnterFn(doc2) {
|
|
29995
|
-
if (shouldSkipFurtherProcessing) {
|
|
29996
|
-
return false;
|
|
29997
29881
|
}
|
|
29998
|
-
|
|
29999
|
-
|
|
30000
|
-
|
|
30001
|
-
|
|
29882
|
+
else {
|
|
29883
|
+
// Skip leading 0.
|
|
29884
|
+
while (stringValue[start] === "0") {
|
|
29885
|
+
start++;
|
|
29886
|
+
}
|
|
29887
|
+
const decimalPointIndex = stringValue.indexOf(".");
|
|
29888
|
+
const adjustedPointIndex = decimalPointIndex - start;
|
|
29889
|
+
// Decimal point?
|
|
29890
|
+
if (decimalPointIndex !== -1) {
|
|
29891
|
+
exp = adjustedPointIndex;
|
|
29892
|
+
stringValue = stringValue.replace(".", "");
|
|
29893
|
+
}
|
|
29894
|
+
let i;
|
|
29895
|
+
if ((i = stringValue.search(/e/i)) > 0) {
|
|
29896
|
+
// Determine exponent.
|
|
29897
|
+
if (exp === undefined) {
|
|
29898
|
+
exp = i - start;
|
|
29899
|
+
}
|
|
29900
|
+
exp += Number(stringValue.slice(i + 1));
|
|
29901
|
+
stringValue = stringValue.slice(start, i);
|
|
29902
|
+
}
|
|
29903
|
+
else if (exp === undefined) {
|
|
29904
|
+
// Integer.
|
|
29905
|
+
exp = stringValue.length - start;
|
|
29906
|
+
stringValue = stringValue.slice(start);
|
|
29907
|
+
}
|
|
29908
|
+
else {
|
|
29909
|
+
stringValue = stringValue.slice(start);
|
|
29910
|
+
}
|
|
29911
|
+
let end = stringValue.length;
|
|
29912
|
+
while (stringValue[end - 1] === "0" && end > adjustedPointIndex) {
|
|
29913
|
+
end--;
|
|
29914
|
+
}
|
|
29915
|
+
try {
|
|
29916
|
+
stringValue = stringValue.slice(0, end);
|
|
29917
|
+
stringValue = stringValue + "0".repeat(Math.max(exp - stringValue.length, 0)); // add remaining zeros for cases like 3e30
|
|
29918
|
+
n = BigInt(stringValue);
|
|
29919
|
+
decimal = n === 0n ? 0 : Math.max(stringValue.length - exp, 0);
|
|
29920
|
+
}
|
|
29921
|
+
catch {
|
|
29922
|
+
throw new InvalidNumericError(`Invalid numeric value: ${original}`);
|
|
29923
|
+
}
|
|
30002
29924
|
}
|
|
30003
|
-
|
|
30004
|
-
traverse_doc_default(doc, findInDocOnEnterFn);
|
|
30005
|
-
return result;
|
|
30006
|
-
}
|
|
30007
|
-
function willBreakFn(doc) {
|
|
30008
|
-
if (doc.type === DOC_TYPE_GROUP && doc.break) {
|
|
30009
|
-
return true;
|
|
30010
|
-
}
|
|
30011
|
-
if (doc.type === DOC_TYPE_LINE && doc.hard) {
|
|
30012
|
-
return true;
|
|
30013
|
-
}
|
|
30014
|
-
if (doc.type === DOC_TYPE_BREAK_PARENT) {
|
|
30015
|
-
return true;
|
|
30016
|
-
}
|
|
29925
|
+
return { n, e: exp, s: sign, d: decimal };
|
|
30017
29926
|
}
|
|
30018
|
-
function
|
|
30019
|
-
|
|
29927
|
+
function stringify(value) {
|
|
29928
|
+
const n = value.n.toString();
|
|
29929
|
+
const sign = value.s === -1 ? "-" : "";
|
|
29930
|
+
const decimal = value.e < n.length ? "." + n.slice(value.e) : "";
|
|
29931
|
+
return sign + n.slice(0, value.e) + decimal;
|
|
30020
29932
|
}
|
|
30021
|
-
|
|
30022
|
-
|
|
30023
|
-
|
|
30024
|
-
|
|
30025
|
-
false,
|
|
30026
|
-
groupStack,
|
|
30027
|
-
-1
|
|
30028
|
-
);
|
|
30029
|
-
if (!parentGroup.expandedStates && !parentGroup.break) {
|
|
30030
|
-
parentGroup.break = "propagated";
|
|
29933
|
+
const equals = (a, b) => a.n === b.n && a.e === b.e;
|
|
29934
|
+
const compare = (a, b) => {
|
|
29935
|
+
if (a.s < b.s) {
|
|
29936
|
+
return -1;
|
|
30031
29937
|
}
|
|
30032
|
-
|
|
30033
|
-
|
|
30034
|
-
}
|
|
30035
|
-
function propagateBreaks(doc) {
|
|
30036
|
-
const alreadyVisitedSet = /* @__PURE__ */ new Set();
|
|
30037
|
-
const groupStack = [];
|
|
30038
|
-
function propagateBreaksOnEnterFn(doc2) {
|
|
30039
|
-
if (doc2.type === DOC_TYPE_BREAK_PARENT) {
|
|
30040
|
-
breakParentGroup(groupStack);
|
|
29938
|
+
else if (a.s > b.s) {
|
|
29939
|
+
return 1;
|
|
30041
29940
|
}
|
|
30042
|
-
|
|
30043
|
-
|
|
30044
|
-
|
|
30045
|
-
return false;
|
|
30046
|
-
}
|
|
30047
|
-
alreadyVisitedSet.add(doc2);
|
|
29941
|
+
const neg = a.s;
|
|
29942
|
+
if (a.e < b.e) {
|
|
29943
|
+
return (-1 * neg);
|
|
30048
29944
|
}
|
|
30049
|
-
|
|
30050
|
-
|
|
30051
|
-
if (doc2.type === DOC_TYPE_GROUP) {
|
|
30052
|
-
const group2 = groupStack.pop();
|
|
30053
|
-
if (group2.break) {
|
|
30054
|
-
breakParentGroup(groupStack);
|
|
30055
|
-
}
|
|
29945
|
+
else if (a.e > b.e) {
|
|
29946
|
+
return (1 * neg);
|
|
30056
29947
|
}
|
|
30057
|
-
|
|
30058
|
-
|
|
30059
|
-
|
|
30060
|
-
|
|
30061
|
-
propagateBreaksOnExitFn,
|
|
30062
|
-
/* shouldTraverseConditionalGroups */
|
|
30063
|
-
true
|
|
30064
|
-
);
|
|
30065
|
-
}
|
|
30066
|
-
function removeLinesFn(doc) {
|
|
30067
|
-
if (doc.type === DOC_TYPE_LINE && !doc.hard) {
|
|
30068
|
-
return doc.soft ? "" : " ";
|
|
30069
|
-
}
|
|
30070
|
-
if (doc.type === DOC_TYPE_IF_BREAK) {
|
|
30071
|
-
return doc.flatContents;
|
|
30072
|
-
}
|
|
30073
|
-
return doc;
|
|
30074
|
-
}
|
|
30075
|
-
function removeLines(doc) {
|
|
30076
|
-
return mapDoc(doc, removeLinesFn);
|
|
30077
|
-
}
|
|
30078
|
-
function stripTrailingHardlineFromParts(parts) {
|
|
30079
|
-
parts = [...parts];
|
|
30080
|
-
while (parts.length >= 2 && at_default(
|
|
30081
|
-
/* isOptionalObject */
|
|
30082
|
-
false,
|
|
30083
|
-
parts,
|
|
30084
|
-
-2
|
|
30085
|
-
).type === DOC_TYPE_LINE && at_default(
|
|
30086
|
-
/* isOptionalObject */
|
|
30087
|
-
false,
|
|
30088
|
-
parts,
|
|
30089
|
-
-1
|
|
30090
|
-
).type === DOC_TYPE_BREAK_PARENT) {
|
|
30091
|
-
parts.length -= 2;
|
|
30092
|
-
}
|
|
30093
|
-
if (parts.length > 0) {
|
|
30094
|
-
const lastPart = stripTrailingHardlineFromDoc(at_default(
|
|
30095
|
-
/* isOptionalObject */
|
|
30096
|
-
false,
|
|
30097
|
-
parts,
|
|
30098
|
-
-1
|
|
30099
|
-
));
|
|
30100
|
-
parts[parts.length - 1] = lastPart;
|
|
30101
|
-
}
|
|
30102
|
-
return parts;
|
|
30103
|
-
}
|
|
30104
|
-
function stripTrailingHardlineFromDoc(doc) {
|
|
30105
|
-
switch (get_doc_type_default(doc)) {
|
|
30106
|
-
case DOC_TYPE_INDENT:
|
|
30107
|
-
case DOC_TYPE_INDENT_IF_BREAK:
|
|
30108
|
-
case DOC_TYPE_GROUP:
|
|
30109
|
-
case DOC_TYPE_LINE_SUFFIX:
|
|
30110
|
-
case DOC_TYPE_LABEL: {
|
|
30111
|
-
const contents = stripTrailingHardlineFromDoc(doc.contents);
|
|
30112
|
-
return {
|
|
30113
|
-
...doc,
|
|
30114
|
-
contents
|
|
30115
|
-
};
|
|
29948
|
+
let aN = a.n;
|
|
29949
|
+
let bN = b.n;
|
|
29950
|
+
if (a.d < b.d) {
|
|
29951
|
+
aN *= 10n ** BigInt(b.d - a.d);
|
|
30116
29952
|
}
|
|
30117
|
-
|
|
30118
|
-
|
|
30119
|
-
|
|
30120
|
-
|
|
30121
|
-
|
|
30122
|
-
|
|
30123
|
-
|
|
30124
|
-
|
|
30125
|
-
|
|
30126
|
-
|
|
30127
|
-
|
|
30128
|
-
|
|
30129
|
-
|
|
30130
|
-
|
|
30131
|
-
|
|
30132
|
-
|
|
30133
|
-
|
|
30134
|
-
|
|
30135
|
-
|
|
30136
|
-
|
|
30137
|
-
|
|
30138
|
-
|
|
30139
|
-
|
|
30140
|
-
|
|
29953
|
+
else {
|
|
29954
|
+
bN *= 10n ** BigInt(a.d - b.d);
|
|
29955
|
+
}
|
|
29956
|
+
if (aN < bN)
|
|
29957
|
+
return (-1 * neg);
|
|
29958
|
+
if (aN > bN)
|
|
29959
|
+
return (1 * neg);
|
|
29960
|
+
return 0;
|
|
29961
|
+
};
|
|
29962
|
+
const NumericPrototype = {
|
|
29963
|
+
toString: function () {
|
|
29964
|
+
return stringify(this[InternalDataSym]);
|
|
29965
|
+
},
|
|
29966
|
+
asNumber: function () {
|
|
29967
|
+
const num = Number(stringify(this[InternalDataSym]));
|
|
29968
|
+
return equals(this[InternalDataSym], Numeric(num.toString())[InternalDataSym]) ? num : null;
|
|
29969
|
+
},
|
|
29970
|
+
asBigInt: function () {
|
|
29971
|
+
return this.isInteger ? this[InternalDataSym].n : null;
|
|
29972
|
+
},
|
|
29973
|
+
equals: function (other) {
|
|
29974
|
+
return equals(this[InternalDataSym], other[InternalDataSym]);
|
|
29975
|
+
},
|
|
29976
|
+
lt: function (other) {
|
|
29977
|
+
return compare(this[InternalDataSym], other[InternalDataSym]) === -1;
|
|
29978
|
+
},
|
|
29979
|
+
lte: function (other) {
|
|
29980
|
+
return compare(this[InternalDataSym], other[InternalDataSym]) <= 0;
|
|
29981
|
+
},
|
|
29982
|
+
gt: function (other) {
|
|
29983
|
+
return compare(this[InternalDataSym], other[InternalDataSym]) === 1;
|
|
29984
|
+
},
|
|
29985
|
+
gte: function (other) {
|
|
29986
|
+
return compare(this[InternalDataSym], other[InternalDataSym]) >= 0;
|
|
29987
|
+
},
|
|
29988
|
+
};
|
|
29989
|
+
NumericPrototype.toString = function () {
|
|
29990
|
+
return stringify(this[InternalDataSym]);
|
|
29991
|
+
};
|
|
29992
|
+
|
|
29993
|
+
/**
|
|
29994
|
+
* Set of known numeric ranges
|
|
29995
|
+
*/
|
|
29996
|
+
({
|
|
29997
|
+
int64: [
|
|
29998
|
+
Numeric("-9223372036854775808"),
|
|
29999
|
+
Numeric("9223372036854775807"),
|
|
30000
|
+
{ int: true, isJsNumber: false },
|
|
30001
|
+
],
|
|
30002
|
+
int32: [Numeric("-2147483648"), Numeric("2147483647"), { int: true, isJsNumber: true }],
|
|
30003
|
+
int16: [Numeric("-32768"), Numeric("32767"), { int: true, isJsNumber: true }],
|
|
30004
|
+
int8: [Numeric("-128"), Numeric("127"), { int: true, isJsNumber: true }],
|
|
30005
|
+
uint64: [Numeric("0"), Numeric("18446744073709551615"), { int: true, isJsNumber: false }],
|
|
30006
|
+
uint32: [Numeric("0"), Numeric("4294967295"), { int: true, isJsNumber: true }],
|
|
30007
|
+
uint16: [Numeric("0"), Numeric("65535"), { int: true, isJsNumber: true }],
|
|
30008
|
+
uint8: [Numeric("0"), Numeric("255"), { int: true, isJsNumber: true }],
|
|
30009
|
+
safeint: [
|
|
30010
|
+
Numeric(Number.MIN_SAFE_INTEGER.toString()),
|
|
30011
|
+
Numeric(Number.MAX_SAFE_INTEGER.toString()),
|
|
30012
|
+
{ int: true, isJsNumber: true },
|
|
30013
|
+
],
|
|
30014
|
+
float32: [Numeric("-3.4e38"), Numeric("3.4e38"), { int: false, isJsNumber: true }],
|
|
30015
|
+
float64: [
|
|
30016
|
+
Numeric(`${-Number.MAX_VALUE}`),
|
|
30017
|
+
Numeric(Number.MAX_VALUE.toString()),
|
|
30018
|
+
{ int: false, isJsNumber: true },
|
|
30019
|
+
],
|
|
30020
|
+
});
|
|
30021
|
+
|
|
30022
|
+
var ResolutionKind;
|
|
30023
|
+
(function (ResolutionKind) {
|
|
30024
|
+
ResolutionKind[ResolutionKind["Value"] = 0] = "Value";
|
|
30025
|
+
ResolutionKind[ResolutionKind["Type"] = 1] = "Type";
|
|
30026
|
+
ResolutionKind[ResolutionKind["BaseType"] = 2] = "BaseType";
|
|
30027
|
+
ResolutionKind[ResolutionKind["Constraint"] = 3] = "Constraint";
|
|
30028
|
+
})(ResolutionKind || (ResolutionKind = {}));
|
|
30029
|
+
var Related;
|
|
30030
|
+
(function (Related) {
|
|
30031
|
+
Related[Related["false"] = 0] = "false";
|
|
30032
|
+
Related[Related["true"] = 1] = "true";
|
|
30033
|
+
Related[Related["maybe"] = 2] = "maybe";
|
|
30034
|
+
})(Related || (Related = {}));
|
|
30035
|
+
|
|
30036
|
+
var Eu=Object.create;var $e=Object.defineProperty;var Cu=Object.getOwnPropertyDescriptor;var hu=Object.getOwnPropertyNames;var gu=Object.getPrototypeOf,yu=Object.prototype.hasOwnProperty;var or=e=>{throw TypeError(e)};var Au=(e,t)=>()=>(e&&(t=e(e=0)),t);var ye=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),We=(e,t)=>{for(var r in t)$e(e,r,{get:t[r],enumerable:!0});},ir=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of hu(t))!yu.call(e,o)&&o!==r&&$e(e,o,{get:()=>t[o],enumerable:!(n=Cu(t,o))||n.enumerable});return e};var Ae=(e,t,r)=>(r=e!=null?Eu(gu(e)):{},ir($e(r,"default",{value:e,enumerable:!0}),e)),Bu=e=>ir($e({},"__esModule",{value:!0}),e);var _u=(e,t,r)=>t.has(e)||or("Cannot "+r);var sr=(e,t,r)=>t.has(e)?or("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r);var fe=(e,t,r)=>(_u(e,t,"access private method"),r);var ar=ye(yt=>{Object.defineProperty(yt,"__esModule",{value:!0});yt.default=Dr;function Dr(){}Dr.prototype={diff:function(t,r){var n,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},u=o.callback;typeof o=="function"&&(u=o,o={}),this.options=o;var i=this;function s(C){return u?(setTimeout(function(){u(void 0,C);},0),!0):C}t=this.castInput(t),r=this.castInput(r),t=this.removeEmpty(this.tokenize(t)),r=this.removeEmpty(this.tokenize(r));var D=r.length,a=t.length,c=1,p=D+a;o.maxEditLength&&(p=Math.min(p,o.maxEditLength));var f=(n=o.timeout)!==null&&n!==void 0?n:1/0,F=Date.now()+f,l=[{oldPos:-1,lastComponent:void 0}],d=this.extractCommon(l[0],r,t,0);if(l[0].oldPos+1>=a&&d+1>=D)return s([{value:this.join(r),count:r.length}]);var m=-1/0,E=1/0;function A(){for(var C=Math.max(m,-c);C<=Math.min(E,c);C+=2){var h=void 0,v=l[C-1],k=l[C+1];v&&(l[C-1]=void 0);var W=!1;if(k){var ge=k.oldPos-C;W=k&&0<=ge&&ge<D;}var gt=v&&v.oldPos+1<a;if(!W&&!gt){l[C]=void 0;continue}if(!gt||W&&v.oldPos+1<k.oldPos?h=i.addToPath(k,!0,void 0,0):h=i.addToPath(v,void 0,!0,1),d=i.extractCommon(h,r,t,C),h.oldPos+1>=a&&d+1>=D)return s(xu(i,h.lastComponent,r,t,i.useLongestToken));l[C]=h,h.oldPos+1>=a&&(E=Math.min(E,C-1)),d+1>=D&&(m=Math.max(m,C+1));}c++;}if(u)(function C(){setTimeout(function(){if(c>p||Date.now()>F)return u();A()||C();},0);})();else for(;c<=p&&Date.now()<=F;){var _=A();if(_)return _}},addToPath:function(t,r,n,o){var u=t.lastComponent;return u&&u.added===r&&u.removed===n?{oldPos:t.oldPos+o,lastComponent:{count:u.count+1,added:r,removed:n,previousComponent:u.previousComponent}}:{oldPos:t.oldPos+o,lastComponent:{count:1,added:r,removed:n,previousComponent:u}}},extractCommon:function(t,r,n,o){for(var u=r.length,i=n.length,s=t.oldPos,D=s-o,a=0;D+1<u&&s+1<i&&this.equals(r[D+1],n[s+1]);)D++,s++,a++;return a&&(t.lastComponent={count:a,previousComponent:t.lastComponent}),t.oldPos=s,D},equals:function(t,r){return this.options.comparator?this.options.comparator(t,r):t===r||this.options.ignoreCase&&t.toLowerCase()===r.toLowerCase()},removeEmpty:function(t){for(var r=[],n=0;n<t.length;n++)t[n]&&r.push(t[n]);return r},castInput:function(t){return t},tokenize:function(t){return t.split("")},join:function(t){return t.join("")}};function xu(e,t,r,n,o){for(var u=[],i;t;)u.push(t),i=t.previousComponent,delete t.previousComponent,t=i;u.reverse();for(var s=0,D=u.length,a=0,c=0;s<D;s++){var p=u[s];if(p.removed){if(p.value=e.join(n.slice(c,c+p.count)),c+=p.count,s&&u[s-1].added){var F=u[s-1];u[s-1]=u[s],u[s]=F;}}else {if(!p.added&&o){var f=r.slice(a,a+p.count);f=f.map(function(d,m){var E=n[c+m];return E.length>d.length?E:d}),p.value=e.join(f);}else p.value=e.join(r.slice(a,a+p.count));a+=p.count,p.added||(c+=p.count);}}var l=u[D-1];return D>1&&typeof l.value=="string"&&(l.added||l.removed)&&e.equals("",l.value)&&(u[D-2].value+=l.value,u.pop()),u}});var cr=ye(_e=>{Object.defineProperty(_e,"__esModule",{value:!0});_e.diffArrays=Ou;_e.arrayDiff=void 0;var ku=wu(ar());function wu(e){return e&&e.__esModule?e:{default:e}}var Be=new ku.default;_e.arrayDiff=Be;Be.tokenize=function(e){return e.slice()};Be.join=Be.removeEmpty=function(e){return e};function Ou(e,t,r){return Be.diff(e,t,r)}});var ot=ye((tD,rn)=>{var tn=new Proxy(String,{get:()=>tn});rn.exports=tn;});var wn={};We(wn,{default:()=>Ao,shouldHighlight:()=>yo});var yo,Ao,On=Au(()=>{yo=()=>!1,Ao=String;});var Tn=ye((Ba,qt)=>{var g=String,Nn=function(){return {isColorSupported:!1,reset:g,bold:g,dim:g,italic:g,underline:g,inverse:g,hidden:g,strikethrough:g,black:g,red:g,green:g,yellow:g,blue:g,magenta:g,cyan:g,white:g,gray:g,bgBlack:g,bgRed:g,bgGreen:g,bgYellow:g,bgBlue:g,bgMagenta:g,bgCyan:g,bgWhite:g}};qt.exports=Nn();qt.exports.createColors=Nn;});var jn=ye(Ct=>{Object.defineProperty(Ct,"__esModule",{value:!0});Ct.codeFrameColumns=Yn;Ct.default=wo;var Sn=(On(),Bu(wn)),In=Bo(Tn(),!0);function Rn(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,r=new WeakMap;return (Rn=function(n){return n?r:t})(e)}function Bo(e,t){if(e===null||typeof e!="object"&&typeof e!="function")return {default:e};var r=Rn(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if(u!=="default"&&{}.hasOwnProperty.call(e,u)){var i=o?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,r&&r.set(e,n),n}var _o=In.default,vn=(e,t)=>r=>e(t(r)),Jt;function bo(e){if(e){return (Jt)!=null||(Jt=(0, In.createColors)(!0)),Jt}return _o}var Pn=!1;function xo(e){return {gutter:e.gray,marker:vn(e.red,e.bold),message:vn(e.red,e.bold)}}var Ln=/\r\n|[\n\r\u2028\u2029]/;function ko(e,t,r){let n=Object.assign({column:0,line:-1},e.start),o=Object.assign({},n,e.end),{linesAbove:u=2,linesBelow:i=3}=r||{},s=n.line,D=n.column,a=o.line,c=o.column,p=Math.max(s-(u+1),0),f=Math.min(t.length,a+i);s===-1&&(p=0),a===-1&&(f=t.length);let F=a-s,l={};if(F)for(let d=0;d<=F;d++){let m=d+s;if(!D)l[m]=!0;else if(d===0){let E=t[m-1].length;l[m]=[D,E-D+1];}else if(d===F)l[m]=[0,c];else {let E=t[m-d].length;l[m]=[0,E];}}else D===c?D?l[s]=[D,0]:l[s]=!0:l[s]=[D,c-D];return {start:p,end:f,markerLines:l}}function Yn(e,t,r={}){let n=(r.highlightCode||r.forceColor)&&(0, Sn.shouldHighlight)(r),o=bo(r.forceColor),u=xo(o),i=(d,m)=>n?d(m):m,s=e.split(Ln),{start:D,end:a,markerLines:c}=ko(t,s,r),p=t.start&&typeof t.start.column=="number",f=String(a).length,l=(n?(0, Sn.default)(e,r):e).split(Ln,a).slice(D,a).map((d,m)=>{let E=D+1+m,_=` ${` ${E}`.slice(-f)} |`,C=c[E],h=!c[E+1];if(C){let v="";if(Array.isArray(C)){let k=d.slice(0,Math.max(C[0]-1,0)).replace(/[^\t]/g," "),W=C[1]||1;v=[`
|
|
30037
|
+
`,i(u.gutter,_.replace(/\d/g," "))," ",k,i(u.marker,"^").repeat(W)].join(""),h&&r.message&&(v+=" "+i(u.message,r.message));}return [i(u.marker,">"),i(u.gutter,_),d.length>0?` ${d}`:"",v].join("")}else return ` ${i(u.gutter,_)}${d.length>0?` ${d}`:""}`}).join(`
|
|
30038
|
+
`);return r.message&&!p&&(l=`${" ".repeat(f+1)}${r.message}
|
|
30039
|
+
${l}`),n?o.reset(l):l}function wo(e,t,r,n={}){if(!Pn){Pn=!0;let u="Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";{let i=new Error(u);i.name="DeprecationWarning",console.warn(new Error(u));}}return r=Math.max(r,0),Yn(e,{start:{column:r,line:t}},n)}});var ur={};We(ur,{__debug:()=>ai,check:()=>si,doc:()=>tr,format:()=>mu,formatWithCursor:()=>du,getSupportInfo:()=>Di,util:()=>nr,version:()=>Du});var bu=(e,t,r,n)=>{if(!(e&&t==null))return t.replaceAll?t.replaceAll(r,n):r.global?t.replace(r,n):t.split(r).join(n)},re=bu;var Qn=Ae(cr());function lr(e){let t=e.indexOf("\r");return t>=0?e.charAt(t+1)===`
|
|
30040
|
+
`?"crlf":"cr":"lf"}function be(e){switch(e){case"cr":return "\r";case"crlf":return `\r
|
|
30041
|
+
`;default:return `
|
|
30042
|
+
`}}function At(e,t){let r;switch(t){case`
|
|
30043
|
+
`:r=/\n/g;break;case"\r":r=/\r/g;break;case`\r
|
|
30044
|
+
`:r=/\r\n/g;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(t)}.`)}let n=e.match(r);return n?n.length:0}function fr(e){return re(!1,e,/\r\n?/g,`
|
|
30045
|
+
`)}var G="string",V="array",z="cursor",P="indent",L="align",I="trim",b="group",N="fill",x="if-break",R="indent-if-break",Y="line-suffix",j="line-suffix-boundary",B="line",T="label",w="break-parent",Ue=new Set([z,P,L,I,b,N,x,R,Y,j,B,T,w]);function Nu(e){if(typeof e=="string")return G;if(Array.isArray(e))return V;if(!e)return;let{type:t}=e;if(Ue.has(t))return t}var K=Nu;var Tu=e=>new Intl.ListFormat("en-US",{type:"disjunction"}).format(e);function Su(e){let t=e===null?"null":typeof e;if(t!=="string"&&t!=="object")return `Unexpected doc '${t}',
|
|
30046
|
+
Expected it to be 'string' or 'object'.`;if(K(e))throw new Error("doc is valid.");let r=Object.prototype.toString.call(e);if(r!=="[object Object]")return `Unexpected doc '${r}'.`;let n=Tu([...Ue].map(o=>`'${o}'`));return `Unexpected doc.type '${e.type}'.
|
|
30047
|
+
Expected it to be ${n}.`}var Bt=class extends Error{name="InvalidDocError";constructor(t){super(Su(t)),this.doc=t;}},Z=Bt;var Fr={};function vu(e,t,r,n){let o=[e];for(;o.length>0;){let u=o.pop();if(u===Fr){r(o.pop());continue}r&&o.push(u,Fr);let i=K(u);if(!i)throw new Z(u);if((t==null?void 0:t(u))!==!1)switch(i){case V:case N:{let s=i===V?u:u.parts;for(let D=s.length,a=D-1;a>=0;--a)o.push(s[a]);break}case x:o.push(u.flatContents,u.breakContents);break;case b:if(n&&u.expandedStates)for(let s=u.expandedStates.length,D=s-1;D>=0;--D)o.push(u.expandedStates[D]);else o.push(u.contents);break;case L:case P:case R:case T:case Y:o.push(u.contents);break;case G:case z:case I:case j:case B:case w:break;default:throw new Z(u)}}}var xe=vu;var pr=()=>{},Ge=pr;function De(e){return {type:P,contents:e}}function se(e,t){return {type:L,contents:t,n:e}}function _t(e,t={}){return Ge(t.expandedStates),{type:b,id:t.id,contents:e,break:!!t.shouldBreak,expandedStates:t.expandedStates}}function dr(e){return se(Number.NEGATIVE_INFINITY,e)}function mr(e){return se({type:"root"},e)}function Er(e){return se(-1,e)}function Cr(e,t){return _t(e[0],{...t,expandedStates:e})}function ze(e){return {type:N,parts:e}}function hr(e,t="",r={}){return {type:x,breakContents:e,flatContents:t,groupId:r.groupId}}function gr(e,t){return {type:R,contents:e,groupId:t.groupId,negate:t.negate}}function ke(e){return {type:Y,contents:e}}var yr={type:j},Fe={type:w},Ar={type:I},we={type:B,hard:!0},bt={type:B,hard:!0,literal:!0},Ke={type:B},Br={type:B,soft:!0},q=[we,Fe],He=[bt,Fe],Oe={type:z};function Ne(e,t){let r=[];for(let n=0;n<t.length;n++)n!==0&&r.push(e),r.push(t[n]);return r}function qe(e,t,r){let n=e;if(t>0){for(let o=0;o<Math.floor(t/r);++o)n=De(n);n=se(t%r,n),n=se(Number.NEGATIVE_INFINITY,n);}return n}function _r(e,t){return e?{type:T,label:e,contents:t}:t}function Q(e){var t;if(!e)return "";if(Array.isArray(e)){let r=[];for(let n of e)if(Array.isArray(n))r.push(...Q(n));else {let o=Q(n);o!==""&&r.push(o);}return r}return e.type===x?{...e,breakContents:Q(e.breakContents),flatContents:Q(e.flatContents)}:e.type===b?{...e,contents:Q(e.contents),expandedStates:(t=e.expandedStates)==null?void 0:t.map(Q)}:e.type===N?{type:"fill",parts:e.parts.map(Q)}:e.contents?{...e,contents:Q(e.contents)}:e}function br(e){let t=Object.create(null),r=new Set;return n(Q(e));function n(u,i,s){var D,a;if(typeof u=="string")return JSON.stringify(u);if(Array.isArray(u)){let c=u.map(n).filter(Boolean);return c.length===1?c[0]:`[${c.join(", ")}]`}if(u.type===B){let c=((D=s==null?void 0:s[i+1])==null?void 0:D.type)===w;return u.literal?c?"literalline":"literallineWithoutBreakParent":u.hard?c?"hardline":"hardlineWithoutBreakParent":u.soft?"softline":"line"}if(u.type===w)return ((a=s==null?void 0:s[i-1])==null?void 0:a.type)===B&&s[i-1].hard?void 0:"breakParent";if(u.type===I)return "trim";if(u.type===P)return "indent("+n(u.contents)+")";if(u.type===L)return u.n===Number.NEGATIVE_INFINITY?"dedentToRoot("+n(u.contents)+")":u.n<0?"dedent("+n(u.contents)+")":u.n.type==="root"?"markAsRoot("+n(u.contents)+")":"align("+JSON.stringify(u.n)+", "+n(u.contents)+")";if(u.type===x)return "ifBreak("+n(u.breakContents)+(u.flatContents?", "+n(u.flatContents):"")+(u.groupId?(u.flatContents?"":', ""')+`, { groupId: ${o(u.groupId)} }`:"")+")";if(u.type===R){let c=[];u.negate&&c.push("negate: true"),u.groupId&&c.push(`groupId: ${o(u.groupId)}`);let p=c.length>0?`, { ${c.join(", ")} }`:"";return `indentIfBreak(${n(u.contents)}${p})`}if(u.type===b){let c=[];u.break&&u.break!=="propagated"&&c.push("shouldBreak: true"),u.id&&c.push(`id: ${o(u.id)}`);let p=c.length>0?`, { ${c.join(", ")} }`:"";return u.expandedStates?`conditionalGroup([${u.expandedStates.map(f=>n(f)).join(",")}]${p})`:`group(${n(u.contents)}${p})`}if(u.type===N)return `fill([${u.parts.map(c=>n(c)).join(", ")}])`;if(u.type===Y)return "lineSuffix("+n(u.contents)+")";if(u.type===j)return "lineSuffixBoundary";if(u.type===T)return `label(${JSON.stringify(u.label)}, ${n(u.contents)})`;throw new Error("Unknown doc type "+u.type)}function o(u){if(typeof u!="symbol")return JSON.stringify(String(u));if(u in t)return t[u];let i=u.description||"symbol";for(let s=0;;s++){let D=i+(s>0?` #${s}`:"");if(!r.has(D))return r.add(D),t[u]=`Symbol.for(${JSON.stringify(D)})`}}}var Pu=(e,t,r)=>{if(!(e&&t==null))return Array.isArray(t)||typeof t=="string"?t[r<0?t.length+r:r]:t.at(r)},y=Pu;var xr=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\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?|[\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](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\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-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC2\uDECE-\uDEDB\uDEE0-\uDEE8]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;function kr(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function wr(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9800&&e<=9811||e===9855||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12771||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e===94192||e===94193||e>=94208&&e<=100343||e>=100352&&e<=101589||e>=101632&&e<=101640||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128727||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129672||e>=129680&&e<=129725||e>=129727&&e<=129733||e>=129742&&e<=129755||e>=129760&&e<=129768||e>=129776&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}var Or=e=>!(kr(e)||wr(e));var Lu=/[^\x20-\x7F]/;function Iu(e){if(!e)return 0;if(!Lu.test(e))return e.length;e=e.replace(xr()," ");let t=0;for(let r of e){let n=r.codePointAt(0);n<=31||n>=127&&n<=159||n>=768&&n<=879||(t+=Or(n)?1:2);}return t}var Te=Iu;function ve(e,t){if(typeof e=="string")return t(e);let r=new Map;return n(e);function n(u){if(r.has(u))return r.get(u);let i=o(u);return r.set(u,i),i}function o(u){switch(K(u)){case V:return t(u.map(n));case N:return t({...u,parts:u.parts.map(n)});case x:return t({...u,breakContents:n(u.breakContents),flatContents:n(u.flatContents)});case b:{let{expandedStates:i,contents:s}=u;return i?(i=i.map(n),s=i[0]):s=n(s),t({...u,contents:s,expandedStates:i})}case L:case P:case R:case T:case Y:return t({...u,contents:n(u.contents)});case G:case z:case I:case j:case B:case w:return t(u);default:throw new Z(u)}}}function Je(e,t,r){let n=r,o=!1;function u(i){if(o)return !1;let s=t(i);s!==void 0&&(o=!0,n=s);}return xe(e,u),n}function Ru(e){if(e.type===b&&e.break||e.type===B&&e.hard||e.type===w)return !0}function Sr(e){return Je(e,Ru,!1)}function Nr(e){if(e.length>0){let t=y(!1,e,-1);!t.expandedStates&&!t.break&&(t.break="propagated");}return null}function vr(e){let t=new Set,r=[];function n(u){if(u.type===w&&Nr(r),u.type===b){if(r.push(u),t.has(u))return !1;t.add(u);}}function o(u){u.type===b&&r.pop().break&&Nr(r);}xe(e,n,o,!0);}function Yu(e){return e.type===B&&!e.hard?e.soft?"":" ":e.type===x?e.flatContents:e}function Pr(e){return ve(e,Yu)}function Tr(e){for(e=[...e];e.length>=2&&y(!1,e,-2).type===B&&y(!1,e,-1).type===w;)e.length-=2;if(e.length>0){let t=Se(y(!1,e,-1));e[e.length-1]=t;}return e}function Se(e){switch(K(e)){case P:case R:case b:case Y:case T:{let t=Se(e.contents);return {...e,contents:t}}case x:return {...e,breakContents:Se(e.breakContents),flatContents:Se(e.flatContents)};case N:return {...e,parts:Tr(e.parts)};case V:return Tr(e);case G:return e.replace(/[\n\r]*$/,"");case L:case z:case I:case j:case B:case w:break;default:throw new Z(e)}return e}function Xe(e){return Se(Mu(e))}function ju(e){switch(K(e)){case N:if(e.parts.every(t=>t===""))return "";break;case b:if(!e.contents&&!e.id&&!e.break&&!e.expandedStates)return "";if(e.contents.type===b&&e.contents.id===e.id&&e.contents.break===e.break&&e.contents.expandedStates===e.expandedStates)return e.contents;break;case L:case P:case R:case Y:if(!e.contents)return "";break;case x:if(!e.flatContents&&!e.breakContents)return "";break;case V:{let t=[];for(let r of e){if(!r)continue;let[n,...o]=Array.isArray(r)?r:[r];typeof n=="string"&&typeof y(!1,t,-1)=="string"?t[t.length-1]+=n:t.push(n),t.push(...o);}return t.length===0?"":t.length===1?t[0]:t}case G:case z:case I:case j:case B:case T:case w:break;default:throw new Z(e)}return e}function Mu(e){return ve(e,t=>ju(t))}function Lr(e,t=He){return ve(e,r=>typeof r=="string"?Ne(t,r.split(`
|
|
30048
|
+
`)):r)}function Vu(e){if(e.type===B)return !0}function Ir(e){return Je(e,Vu,!1)}function Ze(e,t){return e.type===T?{...e,contents:t(e.contents)}:t(e)}var M=Symbol("MODE_BREAK"),J=Symbol("MODE_FLAT"),Pe=Symbol("cursor");function Rr(){return {value:"",length:0,queue:[]}}function $u(e,t){return xt(e,{type:"indent"},t)}function Wu(e,t,r){return t===Number.NEGATIVE_INFINITY?e.root||Rr():t<0?xt(e,{type:"dedent"},r):t?t.type==="root"?{...e,root:e}:xt(e,{type:typeof t=="string"?"stringAlign":"numberAlign",n:t},r):e}function xt(e,t,r){let n=t.type==="dedent"?e.queue.slice(0,-1):[...e.queue,t],o="",u=0,i=0,s=0;for(let l of n)switch(l.type){case"indent":c(),r.useTabs?D(1):a(r.tabWidth);break;case"stringAlign":c(),o+=l.n,u+=l.n.length;break;case"numberAlign":i+=1,s+=l.n;break;default:throw new Error(`Unexpected type '${l.type}'`)}return f(),{...e,value:o,length:u,queue:n};function D(l){o+=" ".repeat(l),u+=r.tabWidth*l;}function a(l){o+=" ".repeat(l),u+=l;}function c(){r.useTabs?p():f();}function p(){i>0&&D(i),F();}function f(){s>0&&a(s),F();}function F(){i=0,s=0;}}function kt(e){let t=0,r=0,n=e.length;e:for(;n--;){let o=e[n];if(o===Pe){r++;continue}for(let u=o.length-1;u>=0;u--){let i=o[u];if(i===" "||i===" ")t++;else {e[n]=o.slice(0,u+1);break e}}}if(t>0||r>0)for(e.length=n+1;r-- >0;)e.push(Pe);return t}function Qe(e,t,r,n,o,u){if(r===Number.POSITIVE_INFINITY)return !0;let i=t.length,s=[e],D=[];for(;r>=0;){if(s.length===0){if(i===0)return !0;s.push(t[--i]);continue}let{mode:a,doc:c}=s.pop(),p=K(c);switch(p){case G:D.push(c),r-=Te(c);break;case V:case N:{let f=p===V?c:c.parts;for(let F=f.length-1;F>=0;F--)s.push({mode:a,doc:f[F]});break}case P:case L:case R:case T:s.push({mode:a,doc:c.contents});break;case I:r+=kt(D);break;case b:{if(u&&c.break)return !1;let f=c.break?M:a,F=c.expandedStates&&f===M?y(!1,c.expandedStates,-1):c.contents;s.push({mode:f,doc:F});break}case x:{let F=(c.groupId?o[c.groupId]||J:a)===M?c.breakContents:c.flatContents;F&&s.push({mode:a,doc:F});break}case B:if(a===M||c.hard)return !0;c.soft||(D.push(" "),r--);break;case Y:n=!0;break;case j:if(n)return !1;break}}return !1}function pe(e,t){let r={},n=t.printWidth,o=be(t.endOfLine),u=0,i=[{ind:Rr(),mode:M,doc:e}],s=[],D=!1,a=[],c=0;for(vr(e);i.length>0;){let{ind:f,mode:F,doc:l}=i.pop();switch(K(l)){case G:{let d=o!==`
|
|
30049
|
+
`?re(!1,l,`
|
|
30050
|
+
`,o):l;s.push(d),i.length>0&&(u+=Te(d));break}case V:for(let d=l.length-1;d>=0;d--)i.push({ind:f,mode:F,doc:l[d]});break;case z:if(c>=2)throw new Error("There are too many 'cursor' in doc.");s.push(Pe),c++;break;case P:i.push({ind:$u(f,t),mode:F,doc:l.contents});break;case L:i.push({ind:Wu(f,l.n,t),mode:F,doc:l.contents});break;case I:u-=kt(s);break;case b:switch(F){case J:if(!D){i.push({ind:f,mode:l.break?M:J,doc:l.contents});break}case M:{D=!1;let d={ind:f,mode:J,doc:l.contents},m=n-u,E=a.length>0;if(!l.break&&Qe(d,i,m,E,r))i.push(d);else if(l.expandedStates){let A=y(!1,l.expandedStates,-1);if(l.break){i.push({ind:f,mode:M,doc:A});break}else for(let _=1;_<l.expandedStates.length+1;_++)if(_>=l.expandedStates.length){i.push({ind:f,mode:M,doc:A});break}else {let C=l.expandedStates[_],h={ind:f,mode:J,doc:C};if(Qe(h,i,m,E,r)){i.push(h);break}}}else i.push({ind:f,mode:M,doc:l.contents});break}}l.id&&(r[l.id]=y(!1,i,-1).mode);break;case N:{let d=n-u,{parts:m}=l;if(m.length===0)break;let[E,A]=m,_={ind:f,mode:J,doc:E},C={ind:f,mode:M,doc:E},h=Qe(_,[],d,a.length>0,r,!0);if(m.length===1){h?i.push(_):i.push(C);break}let v={ind:f,mode:J,doc:A},k={ind:f,mode:M,doc:A};if(m.length===2){h?i.push(v,_):i.push(k,C);break}m.splice(0,2);let W={ind:f,mode:F,doc:ze(m)},ge=m[0];Qe({ind:f,mode:J,doc:[E,A,ge]},[],d,a.length>0,r,!0)?i.push(W,v,_):h?i.push(W,k,_):i.push(W,k,C);break}case x:case R:{let d=l.groupId?r[l.groupId]:F;if(d===M){let m=l.type===x?l.breakContents:l.negate?l.contents:De(l.contents);m&&i.push({ind:f,mode:F,doc:m});}if(d===J){let m=l.type===x?l.flatContents:l.negate?De(l.contents):l.contents;m&&i.push({ind:f,mode:F,doc:m});}break}case Y:a.push({ind:f,mode:F,doc:l.contents});break;case j:a.length>0&&i.push({ind:f,mode:F,doc:we});break;case B:switch(F){case J:if(l.hard)D=!0;else {l.soft||(s.push(" "),u+=1);break}case M:if(a.length>0){i.push({ind:f,mode:F,doc:l},...a.reverse()),a.length=0;break}l.literal?f.root?(s.push(o,f.root.value),u=f.root.length):(s.push(o),u=0):(u-=kt(s),s.push(o+f.value),u=f.length);break}break;case T:i.push({ind:f,mode:F,doc:l.contents});break;case w:break;default:throw new Z(l)}i.length===0&&a.length>0&&(i.push(...a.reverse()),a.length=0);}let p=s.indexOf(Pe);if(p!==-1){let f=s.indexOf(Pe,p+1),F=s.slice(0,p).join(""),l=s.slice(p+1,f).join(""),d=s.slice(f+1).join("");return {formatted:F+l+d,cursorNodeStart:F.length,cursorNodeText:l}}return {formatted:s.join("")}}function Uu(e,t,r=0){let n=0;for(let o=r;o<e.length;++o)e[o]===" "?n=n+t-n%t:n++;return n}var de=Uu;var ee,Ot,et,wt=class{constructor(t){sr(this,ee);this.stack=[t];}get key(){let{stack:t,siblings:r}=this;return y(!1,t,r===null?-2:-4)??null}get index(){return this.siblings===null?null:y(!1,this.stack,-2)}get node(){return y(!1,this.stack,-1)}get parent(){return this.getNode(1)}get grandparent(){return this.getNode(2)}get isInArray(){return this.siblings!==null}get siblings(){let{stack:t}=this,r=y(!1,t,-3);return Array.isArray(r)?r:null}get next(){let{siblings:t}=this;return t===null?null:t[this.index+1]}get previous(){let{siblings:t}=this;return t===null?null:t[this.index-1]}get isFirst(){return this.index===0}get isLast(){let{siblings:t,index:r}=this;return t!==null&&r===t.length-1}get isRoot(){return this.stack.length===1}get root(){return this.stack[0]}get ancestors(){return [...fe(this,ee,et).call(this)]}getName(){let{stack:t}=this,{length:r}=t;return r>1?y(!1,t,-2):null}getValue(){return y(!1,this.stack,-1)}getNode(t=0){let r=fe(this,ee,Ot).call(this,t);return r===-1?null:this.stack[r]}getParentNode(t=0){return this.getNode(t+1)}call(t,...r){let{stack:n}=this,{length:o}=n,u=y(!1,n,-1);for(let i of r)u=u[i],n.push(i,u);try{return t(this)}finally{n.length=o;}}callParent(t,r=0){let n=fe(this,ee,Ot).call(this,r+1),o=this.stack.splice(n+1);try{return t(this)}finally{this.stack.push(...o);}}each(t,...r){let{stack:n}=this,{length:o}=n,u=y(!1,n,-1);for(let i of r)u=u[i],n.push(i,u);try{for(let i=0;i<u.length;++i)n.push(i,u[i]),t(this,i,u),n.length-=2;}finally{n.length=o;}}map(t,...r){let n=[];return this.each((o,u,i)=>{n[u]=t(o,u,i);},...r),n}match(...t){let r=this.stack.length-1,n=null,o=this.stack[r--];for(let u of t){if(o===void 0)return !1;let i=null;if(typeof n=="number"&&(i=n,n=this.stack[r--],o=this.stack[r--]),u&&!u(o,n,i))return !1;n=this.stack[r--],o=this.stack[r--];}return !0}findAncestor(t){for(let r of fe(this,ee,et).call(this))if(t(r))return r}hasAncestor(t){for(let r of fe(this,ee,et).call(this))if(t(r))return !0;return !1}};ee=new WeakSet,Ot=function(t){let{stack:r}=this;for(let n=r.length-1;n>=0;n-=2)if(!Array.isArray(r[n])&&--t<0)return n;return -1},et=function*(){let{stack:t}=this;for(let r=t.length-3;r>=0;r-=2){let n=t[r];Array.isArray(n)||(yield n);}};var Yr=wt;var jr=new Proxy(()=>{},{get:()=>jr}),Le=jr;function Gu(e){return e!==null&&typeof e=="object"}var Mr=Gu;function*Nt(e,t){let{getVisitorKeys:r,filter:n=()=>!0}=t,o=u=>Mr(u)&&n(u);for(let u of r(e)){let i=e[u];if(Array.isArray(i))for(let s of i)o(s)&&(yield s);else o(i)&&(yield i);}}function*Vr(e,t){let r=[e];for(let n=0;n<r.length;n++){let o=r[n];for(let u of Nt(o,t))yield u,r.push(u);}}function me(e){return (t,r,n)=>{let o=!!(n!=null&&n.backwards);if(r===!1)return !1;let{length:u}=t,i=r;for(;i>=0&&i<u;){let s=t.charAt(i);if(e instanceof RegExp){if(!e.test(s))return i}else if(!e.includes(s))return i;o?i--:i++;}return i===-1||i===u?i:!1}}var $r=me(/\s/),S=me(" "),tt=me(",; "),rt=me(/[^\n\r]/);function zu(e,t,r){let n=!!(r!=null&&r.backwards);if(t===!1)return !1;let o=e.charAt(t);if(n){if(e.charAt(t-1)==="\r"&&o===`
|
|
30051
|
+
`)return t-2;if(o===`
|
|
30052
|
+
`||o==="\r"||o==="\u2028"||o==="\u2029")return t-1}else {if(o==="\r"&&e.charAt(t+1)===`
|
|
30053
|
+
`)return t+2;if(o===`
|
|
30054
|
+
`||o==="\r"||o==="\u2028"||o==="\u2029")return t+1}return t}var $=zu;function Ku(e,t,r={}){let n=S(e,r.backwards?t-1:t,r),o=$(e,n,r);return n!==o}var U=Ku;function Hu(e){return Array.isArray(e)&&e.length>0}var Tt=Hu;var Wr=new Set(["tokens","comments","parent","enclosingNode","precedingNode","followingNode"]),qu=e=>Object.keys(e).filter(t=>!Wr.has(t));function Ju(e){return e?t=>e(t,Wr):qu}var X=Ju;function Xu(e){let t=e.type||e.kind||"(unknown type)",r=String(e.name||e.id&&(typeof e.id=="object"?e.id.name:e.id)||e.key&&(typeof e.key=="object"?e.key.name:e.key)||e.value&&(typeof e.value=="object"?"":String(e.value))||e.operator||"");return r.length>20&&(r=r.slice(0,19)+"\u2026"),t+(r?" "+r:"")}function St(e,t){(e.comments??(e.comments=[])).push(t),t.printed=!1,t.nodeDescription=Xu(e);}function ne(e,t){t.leading=!0,t.trailing=!1,St(e,t);}function te(e,t,r){t.leading=!1,t.trailing=!1,r&&(t.marker=r),St(e,t);}function ue(e,t){t.leading=!1,t.trailing=!0,St(e,t);}var vt=new WeakMap;function nt(e,t){if(vt.has(e))return vt.get(e);let{printer:{getCommentChildNodes:r,canAttachComment:n,getVisitorKeys:o},locStart:u,locEnd:i}=t;if(!n)return [];let s=((r==null?void 0:r(e,t))??[...Nt(e,{getVisitorKeys:X(o)})]).flatMap(D=>n(D)?[D]:nt(D,t));return s.sort((D,a)=>u(D)-u(a)||i(D)-i(a)),vt.set(e,s),s}function Gr(e,t,r,n){let{locStart:o,locEnd:u}=r,i=o(t),s=u(t),D=nt(e,r),a,c,p=0,f=D.length;for(;p<f;){let F=p+f>>1,l=D[F],d=o(l),m=u(l);if(d<=i&&s<=m)return Gr(l,t,r,l);if(m<=i){a=l,p=F+1;continue}if(s<=d){c=l,f=F;continue}throw new Error("Comment location overlaps with node location")}if((n==null?void 0:n.type)==="TemplateLiteral"){let{quasis:F}=n,l=Lt(F,t,r);a&&Lt(F,a,r)!==l&&(a=null),c&&Lt(F,c,r)!==l&&(c=null);}return {enclosingNode:n,precedingNode:a,followingNode:c}}var Pt=()=>!1;function zr(e,t){let{comments:r}=e;if(delete e.comments,!Tt(r)||!t.printer.canAttachComment)return;let n=[],{locStart:o,locEnd:u,printer:{experimentalFeatures:{avoidAstMutation:i=!1}={},handleComments:s={}},originalText:D}=t,{ownLine:a=Pt,endOfLine:c=Pt,remaining:p=Pt}=s,f=r.map((F,l)=>({...Gr(e,F,t),comment:F,text:D,options:t,ast:e,isLastComment:r.length-1===l}));for(let[F,l]of f.entries()){let{comment:d,precedingNode:m,enclosingNode:E,followingNode:A,text:_,options:C,ast:h,isLastComment:v}=l;if(C.parser==="json"||C.parser==="json5"||C.parser==="jsonc"||C.parser==="__js_expression"||C.parser==="__ts_expression"||C.parser==="__vue_expression"||C.parser==="__vue_ts_expression"){if(o(d)-o(h)<=0){ne(h,d);continue}if(u(d)-u(h)>=0){ue(h,d);continue}}let k;if(i?k=[l]:(d.enclosingNode=E,d.precedingNode=m,d.followingNode=A,k=[d,_,C,h,v]),Zu(_,C,f,F))d.placement="ownLine",a(...k)||(A?ne(A,d):m?ue(m,d):E?te(E,d):te(h,d));else if(Qu(_,C,f,F))d.placement="endOfLine",c(...k)||(m?ue(m,d):A?ne(A,d):E?te(E,d):te(h,d));else if(d.placement="remaining",!p(...k))if(m&&A){let W=n.length;W>0&&n[W-1].followingNode!==A&&Ur(n,C),n.push(l);}else m?ue(m,d):A?ne(A,d):E?te(E,d):te(h,d);}if(Ur(n,t),!i)for(let F of r)delete F.precedingNode,delete F.enclosingNode,delete F.followingNode;}var Kr=e=>!/[\S\n\u2028\u2029]/.test(e);function Zu(e,t,r,n){let{comment:o,precedingNode:u}=r[n],{locStart:i,locEnd:s}=t,D=i(o);if(u)for(let a=n-1;a>=0;a--){let{comment:c,precedingNode:p}=r[a];if(p!==u||!Kr(e.slice(s(c),D)))break;D=i(c);}return U(e,D,{backwards:!0})}function Qu(e,t,r,n){let{comment:o,followingNode:u}=r[n],{locStart:i,locEnd:s}=t,D=s(o);if(u)for(let a=n+1;a<r.length;a++){let{comment:c,followingNode:p}=r[a];if(p!==u||!Kr(e.slice(D,i(c))))break;D=s(c);}return U(e,D)}function Ur(e,t){var s,D;let r=e.length;if(r===0)return;let{precedingNode:n,followingNode:o}=e[0],u=t.locStart(o),i;for(i=r;i>0;--i){let{comment:a,precedingNode:c,followingNode:p}=e[i-1];Le.strictEqual(c,n),Le.strictEqual(p,o);let f=t.originalText.slice(t.locEnd(a),u);if(((D=(s=t.printer).isGap)==null?void 0:D.call(s,f,t))??/^[\s(]*$/.test(f))u=t.locStart(a);else break}for(let[a,{comment:c}]of e.entries())a<i?ue(n,c):ne(o,c);for(let a of [n,o])a.comments&&a.comments.length>1&&a.comments.sort((c,p)=>t.locStart(c)-t.locStart(p));e.length=0;}function Lt(e,t,r){let n=r.locStart(t)-1;for(let o=1;o<e.length;++o)if(n<r.locStart(e[o]))return o-1;return 0}function eo(e,t){let r=t-1;r=S(e,r,{backwards:!0}),r=$(e,r,{backwards:!0}),r=S(e,r,{backwards:!0});let n=$(e,r,{backwards:!0});return r!==n}var Ie=eo;function Hr(e,t){let r=e.node;return r.printed=!0,t.printer.printComment(e,t)}function to(e,t){var c;let r=e.node,n=[Hr(e,t)],{printer:o,originalText:u,locStart:i,locEnd:s}=t;if((c=o.isBlockComment)==null?void 0:c.call(o,r)){let p=U(u,s(r))?U(u,i(r),{backwards:!0})?q:Ke:" ";n.push(p);}else n.push(q);let a=$(u,S(u,s(r)));return a!==!1&&U(u,a)&&n.push(q),n}function ro(e,t,r){var a;let n=e.node,o=Hr(e,t),{printer:u,originalText:i,locStart:s}=t,D=(a=u.isBlockComment)==null?void 0:a.call(u,n);if(r!=null&&r.hasLineSuffix&&!(r!=null&&r.isBlock)||U(i,s(n),{backwards:!0})){let c=Ie(i,s(n));return {doc:ke([q,c?q:"",o]),isBlock:D,hasLineSuffix:!0}}return !D||r!=null&&r.hasLineSuffix?{doc:[ke([" ",o]),Fe],isBlock:D,hasLineSuffix:!0}:{doc:[" ",o],isBlock:D,hasLineSuffix:!1}}function no(e,t){let r=e.node;if(!r)return {};let n=t[Symbol.for("printedComments")];if((r.comments||[]).filter(D=>!n.has(D)).length===0)return {leading:"",trailing:""};let u=[],i=[],s;return e.each(()=>{let D=e.node;if(n!=null&&n.has(D))return;let{leading:a,trailing:c}=D;a?u.push(to(e,t)):c&&(s=ro(e,t,s),i.push(s.doc));},"comments"),{leading:u,trailing:i}}function qr(e,t,r){let{leading:n,trailing:o}=no(e,r);return !n&&!o?t:Ze(t,u=>[n,u,o])}function Jr(e){let{[Symbol.for("comments")]:t,[Symbol.for("printedComments")]:r}=e;for(let n of t){if(!n.printed&&!r.has(n))throw new Error('Comment "'+n.value.trim()+'" was not printed. Please report this error!');delete n.printed;}}var Re=class extends Error{name="ConfigError"},Ye=class extends Error{name="UndefinedParserError"};var Zr={cursorOffset:{category:"Special",type:"int",default:-1,range:{start:-1,end:1/0,step:1},description:"Print (to stderr) where a cursor at the given position would move to after formatting.",cliCategory:"Editor"},endOfLine:{category:"Global",type:"choice",default:"lf",description:"Which end of line characters to apply.",choices:[{value:"lf",description:"Line Feed only (\\n), common on Linux and macOS as well as inside git repos"},{value:"crlf",description:"Carriage Return + Line Feed characters (\\r\\n), common on Windows"},{value:"cr",description:"Carriage Return character only (\\r), used very rarely"},{value:"auto",description:`Maintain existing
|
|
30055
|
+
(mixed values within one file are normalised by looking at what's used after the first line)`}]},filepath:{category:"Special",type:"path",description:"Specify the input filepath. This will be used to do parser inference.",cliName:"stdin-filepath",cliCategory:"Other",cliDescription:"Path to the file to pretend that stdin comes from."},insertPragma:{category:"Special",type:"boolean",default:!1,description:"Insert @format pragma into file's first docblock comment.",cliCategory:"Other"},parser:{category:"Global",type:"choice",default:void 0,description:"Which parser to use.",exception:e=>typeof e=="string"||typeof e=="function",choices:[{value:"flow",description:"Flow"},{value:"babel",description:"JavaScript"},{value:"babel-flow",description:"Flow"},{value:"babel-ts",description:"TypeScript"},{value:"typescript",description:"TypeScript"},{value:"acorn",description:"JavaScript"},{value:"espree",description:"JavaScript"},{value:"meriyah",description:"JavaScript"},{value:"css",description:"CSS"},{value:"less",description:"Less"},{value:"scss",description:"SCSS"},{value:"json",description:"JSON"},{value:"json5",description:"JSON5"},{value:"jsonc",description:"JSON with Comments"},{value:"json-stringify",description:"JSON.stringify"},{value:"graphql",description:"GraphQL"},{value:"markdown",description:"Markdown"},{value:"mdx",description:"MDX"},{value:"vue",description:"Vue"},{value:"yaml",description:"YAML"},{value:"glimmer",description:"Ember / Handlebars"},{value:"html",description:"HTML"},{value:"angular",description:"Angular"},{value:"lwc",description:"Lightning Web Components"}]},plugins:{type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>typeof e=="string"||typeof e=="object",cliName:"plugin",cliCategory:"Config"},printWidth:{category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:1/0,step:1}},rangeEnd:{category:"Special",type:"int",default:1/0,range:{start:0,end:1/0,step:1},description:`Format code ending at a given character offset (exclusive).
|
|
30056
|
+
The range will extend forwards to the end of the selected statement.`,cliCategory:"Editor"},rangeStart:{category:"Special",type:"int",default:0,range:{start:0,end:1/0,step:1},description:`Format code starting at a given character offset.
|
|
30057
|
+
The range will extend backwards to the start of the first line containing the selected statement.`,cliCategory:"Editor"},requirePragma:{category:"Special",type:"boolean",default:!1,description:`Require either '@prettier' or '@format' to be present in the file's first docblock comment
|
|
30058
|
+
in order for it to be formatted.`,cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:1/0,step:1}},useTabs:{category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{category:"Global",type:"choice",default:"auto",description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};function ut({plugins:e=[],showDeprecated:t=!1}={}){let r=e.flatMap(o=>o.languages??[]),n=[];for(let o of io(Object.assign({},...e.map(({options:u})=>u),Zr)))!t&&o.deprecated||(Array.isArray(o.choices)&&(t||(o.choices=o.choices.filter(u=>!u.deprecated)),o.name==="parser"&&(o.choices=[...o.choices,...oo(o.choices,r,e)])),o.pluginDefaults=Object.fromEntries(e.filter(u=>{var i;return ((i=u.defaultOptions)==null?void 0:i[o.name])!==void 0}).map(u=>[u.name,u.defaultOptions[o.name]])),n.push(o));return {languages:r,options:n}}function*oo(e,t,r){let n=new Set(e.map(o=>o.value));for(let o of t)if(o.parsers){for(let u of o.parsers)if(!n.has(u)){n.add(u);let i=r.find(D=>D.parsers&&Object.prototype.hasOwnProperty.call(D.parsers,u)),s=o.name;i!=null&&i.name&&(s+=` (plugin: ${i.name})`),yield {value:u,description:s};}}}function io(e){let t=[];for(let[r,n]of Object.entries(e)){let o={name:r,...n};Array.isArray(o.default)&&(o.default=y(!1,o.default,-1).value),t.push(o);}return t}var so=e=>String(e).split(/[/\\]/).pop();function Qr(e,t){if(!t)return;let r=so(t).toLowerCase();return e.find(({filenames:n})=>n==null?void 0:n.some(o=>o.toLowerCase()===r))??e.find(({extensions:n})=>n==null?void 0:n.some(o=>r.endsWith(o)))}function Do(e,t){if(t)return e.find(({name:r})=>r.toLowerCase()===t)??e.find(({aliases:r})=>r==null?void 0:r.includes(t))??e.find(({extensions:r})=>r==null?void 0:r.includes(`.${t}`))}function ao(e,t){let r=e.plugins.flatMap(o=>o.languages??[]),n=Do(r,t.language)??Qr(r,t.physicalFile)??Qr(r,t.file)??(t.physicalFile,void 0);return n==null?void 0:n.parsers[0]}var en=ao;var oe={key:e=>/^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(e)?e:JSON.stringify(e),value(e){if(e===null||typeof e!="object")return JSON.stringify(e);if(Array.isArray(e))return `[${e.map(r=>oe.value(r)).join(", ")}]`;let t=Object.keys(e);return t.length===0?"{}":`{ ${t.map(r=>`${oe.key(r)}: ${oe.value(e[r])}`).join(", ")} }`},pair:({key:e,value:t})=>oe.value({[e]:t})};var It=Ae(ot()),nn=(e,t,{descriptor:r})=>{let n=[`${It.default.yellow(typeof e=="string"?r.key(e):r.pair(e))} is deprecated`];return t&&n.push(`we now treat it as ${It.default.blue(typeof t=="string"?r.key(t):r.pair(t))}`),n.join("; ")+"."};var ae=Ae(ot());var it=Symbol.for("vnopts.VALUE_NOT_EXIST"),Ee=Symbol.for("vnopts.VALUE_UNCHANGED");var un=" ".repeat(2),sn=(e,t,r)=>{let{text:n,list:o}=r.normalizeExpectedResult(r.schemas[e].expected(r)),u=[];return n&&u.push(on(e,t,n,r.descriptor)),o&&u.push([on(e,t,o.title,r.descriptor)].concat(o.values.map(i=>Dn(i,r.loggerPrintWidth))).join(`
|
|
30059
|
+
`)),an(u,r.loggerPrintWidth)};function on(e,t,r,n){return [`Invalid ${ae.default.red(n.key(e))} value.`,`Expected ${ae.default.blue(r)},`,`but received ${t===it?ae.default.gray("nothing"):ae.default.red(n.value(t))}.`].join(" ")}function Dn({text:e,list:t},r){let n=[];return e&&n.push(`- ${ae.default.blue(e)}`),t&&n.push([`- ${ae.default.blue(t.title)}:`].concat(t.values.map(o=>Dn(o,r-un.length).replace(/^|\n/g,`$&${un}`))).join(`
|
|
30060
|
+
`)),an(n,r)}function an(e,t){if(e.length===1)return e[0];let[r,n]=e,[o,u]=e.map(i=>i.split(`
|
|
30061
|
+
`,1)[0].length);return o>t&&o>u?n:r}var jt=Ae(ot());var Rt=[],cn=[];function Yt(e,t){if(e===t)return 0;let r=e;e.length>t.length&&(e=t,t=r);let n=e.length,o=t.length;for(;n>0&&e.charCodeAt(~-n)===t.charCodeAt(~-o);)n--,o--;let u=0;for(;u<n&&e.charCodeAt(u)===t.charCodeAt(u);)u++;if(n-=u,o-=u,n===0)return o;let i,s,D,a,c=0,p=0;for(;c<n;)cn[c]=e.charCodeAt(u+c),Rt[c]=++c;for(;p<o;)for(i=t.charCodeAt(u+p),D=p++,s=p,c=0;c<n;c++)a=i===cn[c]?D:D+1,D=Rt[c],s=Rt[c]=D>s?a>s?s+1:a:a>D?D+1:a;return s}var st=(e,t,{descriptor:r,logger:n,schemas:o})=>{let u=[`Ignored unknown option ${jt.default.yellow(r.pair({key:e,value:t}))}.`],i=Object.keys(o).sort().find(s=>Yt(e,s)<3);i&&u.push(`Did you mean ${jt.default.blue(r.key(i))}?`),n.warn(u.join(" "));};var co=["default","expected","validate","deprecated","forward","redirect","overlap","preprocess","postprocess"];function lo(e,t){let r=new e(t),n=Object.create(r);for(let o of co)o in t&&(n[o]=fo(t[o],r,O.prototype[o].length));return n}var O=class{static create(t){return lo(this,t)}constructor(t){this.name=t.name;}default(t){}expected(t){return "nothing"}validate(t,r){return !1}deprecated(t,r){return !1}forward(t,r){}redirect(t,r){}overlap(t,r,n){return t}preprocess(t,r){return t}postprocess(t,r){return Ee}};function fo(e,t,r){return typeof e=="function"?(...n)=>e(...n.slice(0,r-1),t,...n.slice(r-1)):()=>e}var Dt=class extends O{constructor(t){super(t),this._sourceName=t.sourceName;}expected(t){return t.schemas[this._sourceName].expected(t)}validate(t,r){return r.schemas[this._sourceName].validate(t,r)}redirect(t,r){return this._sourceName}};var at$1=class at extends O{expected(){return "anything"}validate(){return !0}};var ct=class extends O{constructor({valueSchema:t,name:r=t.name,...n}){super({...n,name:r}),this._valueSchema=t;}expected(t){let{text:r,list:n}=t.normalizeExpectedResult(this._valueSchema.expected(t));return {text:r&&`an array of ${r}`,list:n&&{title:"an array of the following values",values:[{list:n}]}}}validate(t,r){if(!Array.isArray(t))return !1;let n=[];for(let o of t){let u=r.normalizeValidateResult(this._valueSchema.validate(o,r),o);u!==!0&&n.push(u.value);}return n.length===0?!0:{value:n}}deprecated(t,r){let n=[];for(let o of t){let u=r.normalizeDeprecatedResult(this._valueSchema.deprecated(o,r),o);u!==!1&&n.push(...u.map(({value:i})=>({value:[i]})));}return n}forward(t,r){let n=[];for(let o of t){let u=r.normalizeForwardResult(this._valueSchema.forward(o,r),o);n.push(...u.map(ln));}return n}redirect(t,r){let n=[],o=[];for(let u of t){let i=r.normalizeRedirectResult(this._valueSchema.redirect(u,r),u);"remain"in i&&n.push(i.remain),o.push(...i.redirect.map(ln));}return n.length===0?{redirect:o}:{redirect:o,remain:n}}overlap(t,r){return t.concat(r)}};function ln({from:e,to:t}){return {from:[e],to:t}}var lt=class extends O{expected(){return "true or false"}validate(t){return typeof t=="boolean"}};function Fn(e,t){let r=Object.create(null);for(let n of e){let o=n[t];if(r[o])throw new Error(`Duplicate ${t} ${JSON.stringify(o)}`);r[o]=n;}return r}function pn(e,t){let r=new Map;for(let n of e){let o=n[t];if(r.has(o))throw new Error(`Duplicate ${t} ${JSON.stringify(o)}`);r.set(o,n);}return r}function dn(){let e=Object.create(null);return t=>{let r=JSON.stringify(t);return e[r]?!0:(e[r]=!0,!1)}}function mn(e,t){let r=[],n=[];for(let o of e)t(o)?r.push(o):n.push(o);return [r,n]}function En(e){return e===Math.floor(e)}function Cn(e,t){if(e===t)return 0;let r=typeof e,n=typeof t,o=["undefined","object","boolean","number","string"];return r!==n?o.indexOf(r)-o.indexOf(n):r!=="string"?Number(e)-Number(t):e.localeCompare(t)}function hn(e){return (...t)=>{let r=e(...t);return typeof r=="string"?new Error(r):r}}function Mt(e){return e===void 0?{}:e}function Vt(e){if(typeof e=="string")return {text:e};let{text:t,list:r}=e;return Fo((t||r)!==void 0,"Unexpected `expected` result, there should be at least one field."),r?{text:t,list:{title:r.title,values:r.values.map(Vt)}}:{text:t}}function $t(e,t){return e===!0?!0:e===!1?{value:t}:e}function Wt(e,t,r=!1){return e===!1?!1:e===!0?r?!0:[{value:t}]:"value"in e?[e]:e.length===0?!1:e}function fn(e,t){return typeof e=="string"||"key"in e?{from:t,to:e}:"from"in e?{from:e.from,to:e.to}:{from:t,to:e.to}}function ft(e,t){return e===void 0?[]:Array.isArray(e)?e.map(r=>fn(r,t)):[fn(e,t)]}function Ut(e,t){let r=ft(typeof e=="object"&&"redirect"in e?e.redirect:e,t);return r.length===0?{remain:t,redirect:r}:typeof e=="object"&&"remain"in e?{remain:e.remain,redirect:r}:{redirect:r}}function Fo(e,t){if(!e)throw new Error(t)}var Ft=class extends O{constructor(t){super(t),this._choices=pn(t.choices.map(r=>r&&typeof r=="object"?r:{value:r}),"value");}expected({descriptor:t}){let r=Array.from(this._choices.keys()).map(i=>this._choices.get(i)).filter(({hidden:i})=>!i).map(i=>i.value).sort(Cn).map(t.value),n=r.slice(0,-2),o=r.slice(-2);return {text:n.concat(o.join(" or ")).join(", "),list:{title:"one of the following values",values:r}}}validate(t){return this._choices.has(t)}deprecated(t){let r=this._choices.get(t);return r&&r.deprecated?{value:t}:!1}forward(t){let r=this._choices.get(t);return r?r.forward:void 0}redirect(t){let r=this._choices.get(t);return r?r.redirect:void 0}};var pt=class extends O{expected(){return "a number"}validate(t,r){return typeof t=="number"}};var dt=class extends pt{expected(){return "an integer"}validate(t,r){return r.normalizeValidateResult(super.validate(t,r),t)===!0&&En(t)}};var je=class extends O{expected(){return "a string"}validate(t){return typeof t=="string"}};var gn=oe,yn=st,An=sn,Bn=nn;var mt=class{constructor(t,r){let{logger:n=console,loggerPrintWidth:o=80,descriptor:u=gn,unknown:i=yn,invalid:s=An,deprecated:D=Bn,missing:a=()=>!1,required:c=()=>!1,preprocess:p=F=>F,postprocess:f=()=>Ee}=r||{};this._utils={descriptor:u,logger:n||{warn:()=>{}},loggerPrintWidth:o,schemas:Fn(t,"name"),normalizeDefaultResult:Mt,normalizeExpectedResult:Vt,normalizeDeprecatedResult:Wt,normalizeForwardResult:ft,normalizeRedirectResult:Ut,normalizeValidateResult:$t},this._unknownHandler=i,this._invalidHandler=hn(s),this._deprecatedHandler=D,this._identifyMissing=(F,l)=>!(F in l)||a(F,l),this._identifyRequired=c,this._preprocess=p,this._postprocess=f,this.cleanHistory();}cleanHistory(){this._hasDeprecationWarned=dn();}normalize(t){let r={},o=[this._preprocess(t,this._utils)],u=()=>{for(;o.length!==0;){let i=o.shift(),s=this._applyNormalization(i,r);o.push(...s);}};u();for(let i of Object.keys(this._utils.schemas)){let s=this._utils.schemas[i];if(!(i in r)){let D=Mt(s.default(this._utils));"value"in D&&o.push({[i]:D.value});}}u();for(let i of Object.keys(this._utils.schemas)){if(!(i in r))continue;let s=this._utils.schemas[i],D=r[i],a=s.postprocess(D,this._utils);a!==Ee&&(this._applyValidation(a,i,s),r[i]=a);}return this._applyPostprocess(r),this._applyRequiredCheck(r),r}_applyNormalization(t,r){let n=[],{knownKeys:o,unknownKeys:u}=this._partitionOptionKeys(t);for(let i of o){let s=this._utils.schemas[i],D=s.preprocess(t[i],this._utils);this._applyValidation(D,i,s);let a=({from:F,to:l})=>{n.push(typeof l=="string"?{[l]:F}:{[l.key]:l.value});},c=({value:F,redirectTo:l})=>{let d=Wt(s.deprecated(F,this._utils),D,!0);if(d!==!1)if(d===!0)this._hasDeprecationWarned(i)||this._utils.logger.warn(this._deprecatedHandler(i,l,this._utils));else for(let{value:m}of d){let E={key:i,value:m};if(!this._hasDeprecationWarned(E)){let A=typeof l=="string"?{key:l,value:m}:l;this._utils.logger.warn(this._deprecatedHandler(E,A,this._utils));}}};ft(s.forward(D,this._utils),D).forEach(a);let f=Ut(s.redirect(D,this._utils),D);if(f.redirect.forEach(a),"remain"in f){let F=f.remain;r[i]=i in r?s.overlap(r[i],F,this._utils):F,c({value:F});}for(let{from:F,to:l}of f.redirect)c({value:F,redirectTo:l});}for(let i of u){let s=t[i];this._applyUnknownHandler(i,s,r,(D,a)=>{n.push({[D]:a});});}return n}_applyRequiredCheck(t){for(let r of Object.keys(this._utils.schemas))if(this._identifyMissing(r,t)&&this._identifyRequired(r))throw this._invalidHandler(r,it,this._utils)}_partitionOptionKeys(t){let[r,n]=mn(Object.keys(t).filter(o=>!this._identifyMissing(o,t)),o=>o in this._utils.schemas);return {knownKeys:r,unknownKeys:n}}_applyValidation(t,r,n){let o=$t(n.validate(t,this._utils),t);if(o!==!0)throw this._invalidHandler(r,o.value,this._utils)}_applyUnknownHandler(t,r,n,o){let u=this._unknownHandler(t,r,this._utils);if(u)for(let i of Object.keys(u)){if(this._identifyMissing(i,u))continue;let s=u[i];i in this._utils.schemas?o(i,s):n[i]=s;}}_applyPostprocess(t){let r=this._postprocess(t,this._utils);if(r!==Ee){if(r.delete)for(let n of r.delete)delete t[n];if(r.override){let{knownKeys:n,unknownKeys:o}=this._partitionOptionKeys(r.override);for(let u of n){let i=r.override[u];this._applyValidation(i,u,this._utils.schemas[u]),t[u]=i;}for(let u of o){let i=r.override[u];this._applyUnknownHandler(u,i,t,(s,D)=>{let a=this._utils.schemas[s];this._applyValidation(D,s,a),t[s]=D;});}}}}};var Gt;function mo(e,t,{logger:r=!1,isCLI:n=!1,passThrough:o=!1,FlagSchema:u,descriptor:i}={}){if(n){if(!u)throw new Error("'FlagSchema' option is required.");if(!i)throw new Error("'descriptor' option is required.")}else i=oe;let s=o?Array.isArray(o)?(f,F)=>o.includes(f)?{[f]:F}:void 0:(f,F)=>({[f]:F}):(f,F,l)=>{let{_:d,...m}=l.schemas;return st(f,F,{...l,schemas:m})},D=Eo(t,{isCLI:n,FlagSchema:u}),a=new mt(D,{logger:r,unknown:s,descriptor:i}),c=r!==!1;c&&Gt&&(a._hasDeprecationWarned=Gt);let p=a.normalize(e);return c&&(Gt=a._hasDeprecationWarned),p}function Eo(e,{isCLI:t,FlagSchema:r}){let n=[];t&&n.push(at$1.create({name:"_"}));for(let o of e)n.push(Co(o,{isCLI:t,optionInfos:e,FlagSchema:r})),o.alias&&t&&n.push(Dt.create({name:o.alias,sourceName:o.name}));return n}function Co(e,{isCLI:t,optionInfos:r,FlagSchema:n}){let{name:o}=e,u={name:o},i,s={};switch(e.type){case"int":i=dt,t&&(u.preprocess=Number);break;case"string":i=je;break;case"choice":i=Ft,u.choices=e.choices.map(D=>D!=null&&D.redirect?{...D,redirect:{to:{key:e.name,value:D.redirect}}}:D);break;case"boolean":i=lt;break;case"flag":i=n,u.flags=r.flatMap(D=>[D.alias,D.description&&D.name,D.oppositeDescription&&`no-${D.name}`].filter(Boolean));break;case"path":i=je;break;default:throw new Error(`Unexpected type ${e.type}`)}if(e.exception?u.validate=(D,a,c)=>e.exception(D)||a.validate(D,c):u.validate=(D,a,c)=>D===void 0||a.validate(D,c),e.redirect&&(s.redirect=D=>D?{to:typeof e.redirect=="string"?e.redirect:{key:e.redirect.option,value:e.redirect.value}}:void 0),e.deprecated&&(s.deprecated=!0),t&&!e.array){let D=u.preprocess||(a=>a);u.preprocess=(a,c,p)=>c.preprocess(D(Array.isArray(a)?y(!1,a,-1):a),p);}return e.array?ct.create({...t?{preprocess:D=>Array.isArray(D)?D:[D]}:{},...s,valueSchema:i.create(u)}):i.create({...u,...s})}var _n=mo;var ho=(e,t,r)=>{if(!(e&&t==null)){if(t.findLast)return t.findLast(r);for(let n=t.length-1;n>=0;n--){let o=t[n];if(r(o,n,t))return o}}},zt=ho;function Kt(e,t){if(!t)throw new Error("parserName is required.");let r=zt(!1,e,o=>o.parsers&&Object.prototype.hasOwnProperty.call(o.parsers,t));if(r)return r;let n=`Couldn't resolve parser "${t}".`;throw n+=" Plugins must be explicitly added to the standalone bundle.",new Re(n)}function bn(e,t){if(!t)throw new Error("astFormat is required.");let r=zt(!1,e,o=>o.printers&&Object.prototype.hasOwnProperty.call(o.printers,t));if(r)return r;let n=`Couldn't find plugin for AST format "${t}".`;throw n+=" Plugins must be explicitly added to the standalone bundle.",new Re(n)}function Et({plugins:e,parser:t}){let r=Kt(e,t);return Ht(r,t)}function Ht(e,t){let r=e.parsers[t];return typeof r=="function"?r():r}function xn(e,t){let r=e.printers[t];return typeof r=="function"?r():r}var kn={astFormat:"estree",printer:{},originalText:void 0,locStart:null,locEnd:null};async function go(e,t={}){var p;let r={...e};if(!r.parser)if(r.filepath){if(r.parser=en(r,{physicalFile:r.filepath}),!r.parser)throw new Ye(`No parser could be inferred for file "${r.filepath}".`)}else throw new Ye("No parser and no file path given, couldn't infer a parser.");let n=ut({plugins:e.plugins,showDeprecated:!0}).options,o={...kn,...Object.fromEntries(n.filter(f=>f.default!==void 0).map(f=>[f.name,f.default]))},u=Kt(r.plugins,r.parser),i=await Ht(u,r.parser);r.astFormat=i.astFormat,r.locEnd=i.locEnd,r.locStart=i.locStart;let s=(p=u.printers)!=null&&p[i.astFormat]?u:bn(r.plugins,i.astFormat),D=await xn(s,i.astFormat);r.printer=D;let a=s.defaultOptions?Object.fromEntries(Object.entries(s.defaultOptions).filter(([,f])=>f!==void 0)):{},c={...o,...a};for(let[f,F]of Object.entries(c))(r[f]===null||r[f]===void 0)&&(r[f]=F);return r.parser==="json"&&(r.trailingComma="none"),_n(r,n,{passThrough:Object.keys(kn),...t})}var ie=go;var Mn=Ae(jn());async function Oo(e,t){let r=await Et(t),n=r.preprocess?r.preprocess(e,t):e;t.originalText=n;let o;try{o=await r.parse(n,t,t);}catch(u){No(u,e);}return {text:n,ast:o}}function No(e,t){let{loc:r}=e;if(r){let n=(0, Mn.codeFrameColumns)(t,r,{highlightCode:!0});throw e.message+=`
|
|
30062
|
+
`+n,e.codeFrame=n,e}throw e}var ce=Oo;async function Vn(e,t,r,n,o){let{embeddedLanguageFormatting:u,printer:{embed:i,hasPrettierIgnore:s=()=>!1,getVisitorKeys:D}}=r;if(!i||u!=="auto")return;if(i.length>2)throw new Error("printer.embed has too many parameters. The API changed in Prettier v3. Please update your plugin. See https://prettier.io/docs/en/plugins.html#optional-embed");let a=X(i.getVisitorKeys??D),c=[];F();let p=e.stack;for(let{print:l,node:d,pathStack:m}of c)try{e.stack=m;let E=await l(f,t,e,r);E&&o.set(d,E);}catch(E){if(globalThis.PRETTIER_DEBUG)throw E}e.stack=p;function f(l,d){return To(l,d,r,n)}function F(){let{node:l}=e;if(l===null||typeof l!="object"||s(e))return;for(let m of a(l))Array.isArray(l[m])?e.each(F,m):e.call(F,m);let d=i(e,r);if(d){if(typeof d=="function"){c.push({print:d,node:l,pathStack:[...e.stack]});return}o.set(l,d);}}}async function To(e,t,r,n){let o=await ie({...r,...t,parentParser:r.parser,originalText:e},{passThrough:!0}),{ast:u}=await ce(e,o),i=await n(u,o);return Xe(i)}function So(e,t){let{originalText:r,[Symbol.for("comments")]:n,locStart:o,locEnd:u,[Symbol.for("printedComments")]:i}=t,{node:s}=e,D=o(s),a=u(s);for(let c of n)o(c)>=D&&u(c)<=a&&i.add(c);return r.slice(D,a)}var $n=So;async function Me(e,t){({ast:e}=await Xt(e,t));let r=new Map,n=new Yr(e),u=new Map;await Vn(n,s,t,Me,u);let i=await Wn(n,t,s,void 0,u);return Jr(t),i;function s(a,c){return a===void 0||a===n?D(c):Array.isArray(a)?n.call(()=>D(c),...a):n.call(()=>D(c),a)}function D(a){let c=n.node;if(c==null)return "";let p=c&&typeof c=="object"&&a===void 0;if(p&&r.has(c))return r.get(c);let f=Wn(n,t,s,a,u);return p&&r.set(c,f),f}}function Wn(e,t,r,n,o){var D;let{node:u}=e,{printer:i}=t,s;return (D=i.hasPrettierIgnore)!=null&&D.call(i,e)?s=$n(e,t):o.has(u)?s=o.get(u):s=i.print(e,t,r,n),u===t.cursorNode&&(s=Ze(s,a=>[Oe,a,Oe])),i.printComment&&(!i.willPrintOwnComments||!i.willPrintOwnComments(e,t))&&(s=qr(e,s,t)),s}async function Xt(e,t){let r=e.comments??[];t[Symbol.for("comments")]=r,t[Symbol.for("tokens")]=e.tokens??[],t[Symbol.for("printedComments")]=new Set,zr(e,t);let{printer:{preprocess:n}}=t;return e=n?await n(e,t):e,{ast:e,comments:r}}function vo(e,t){let{cursorOffset:r,locStart:n,locEnd:o}=t,u=X(t.printer.getVisitorKeys),i=D=>n(D)<=r&&o(D)>=r,s=e;for(let D of Vr(e,{getVisitorKeys:u,filter:i}))s=D;return s}var Un=vo;function Po(e,t){let{printer:{massageAstNode:r,getVisitorKeys:n}}=t;if(!r)return e;let o=X(n),u=r.ignoredProperties??new Set;return i(e);function i(s,D){if(!(s!==null&&typeof s=="object"))return s;if(Array.isArray(s))return s.map(f=>i(f,D)).filter(Boolean);let a={},c=new Set(o(s));for(let f in s)!Object.prototype.hasOwnProperty.call(s,f)||u.has(f)||(c.has(f)?a[f]=i(s[f],s):a[f]=s[f]);let p=r(s,a,D);if(p!==null)return p??a}}var Gn=Po;var Lo=({parser:e})=>e==="json"||e==="json5"||e==="jsonc"||e==="json-stringify";function Io(e,t){let r=[e.node,...e.parentNodes],n=new Set([t.node,...t.parentNodes]);return r.find(o=>Hn.has(o.type)&&n.has(o))}function zn(e){let t=e.length-1;for(;;){let r=e[t];if((r==null?void 0:r.type)==="Program"||(r==null?void 0:r.type)==="File")t--;else break}return e.slice(0,t+1)}function Ro(e,t,{locStart:r,locEnd:n}){let o=e.node,u=t.node;if(o===u)return {startNode:o,endNode:u};let i=r(e.node);for(let D of zn(t.parentNodes))if(r(D)>=i)u=D;else break;let s=n(t.node);for(let D of zn(e.parentNodes)){if(n(D)<=s)o=D;else break;if(o===u)break}return {startNode:o,endNode:u}}function Zt(e,t,r,n,o=[],u){let{locStart:i,locEnd:s}=r,D=i(e),a=s(e);if(!(t>a||t<D||u==="rangeEnd"&&t===D||u==="rangeStart"&&t===a)){for(let c of nt(e,r)){let p=Zt(c,t,r,n,[e,...o],u);if(p)return p}if(!n||n(e,o[0]))return {node:e,parentNodes:o}}}function Yo(e,t){return t!=="DeclareExportDeclaration"&&e!=="TypeParameterDeclaration"&&(e==="Directive"||e==="TypeAlias"||e==="TSExportAssignment"||e.startsWith("Declare")||e.startsWith("TSDeclare")||e.endsWith("Statement")||e.endsWith("Declaration"))}var Hn=new Set(["JsonRoot","ObjectExpression","ArrayExpression","StringLiteral","NumericLiteral","BooleanLiteral","NullLiteral","UnaryExpression","TemplateLiteral"]),jo=new Set(["OperationDefinition","FragmentDefinition","VariableDefinition","TypeExtensionDefinition","ObjectTypeDefinition","FieldDefinition","DirectiveDefinition","EnumTypeDefinition","EnumValueDefinition","InputValueDefinition","InputObjectTypeDefinition","SchemaDefinition","OperationTypeDefinition","InterfaceTypeDefinition","UnionTypeDefinition","ScalarTypeDefinition"]);function Kn(e,t,r){if(!t)return !1;switch(e.parser){case"flow":case"babel":case"babel-flow":case"babel-ts":case"typescript":case"acorn":case"espree":case"meriyah":case"__babel_estree":return Yo(t.type,r==null?void 0:r.type);case"json":case"json5":case"jsonc":case"json-stringify":return Hn.has(t.type);case"graphql":return jo.has(t.kind);case"vue":return t.tag!=="root"}return !1}function qn(e,t,r){let{rangeStart:n,rangeEnd:o,locStart:u,locEnd:i}=t;Le.ok(o>n);let s=e.slice(n,o).search(/\S/),D=s===-1;if(!D)for(n+=s;o>n&&!/\S/.test(e[o-1]);--o);let a=Zt(r,n,t,(F,l)=>Kn(t,F,l),[],"rangeStart"),c=D?a:Zt(r,o,t,F=>Kn(t,F),[],"rangeEnd");if(!a||!c)return {rangeStart:0,rangeEnd:0};let p,f;if(Lo(t)){let F=Io(a,c);p=F,f=F;}else ({startNode:p,endNode:f}=Ro(a,c,t));return {rangeStart:Math.min(u(p),u(f)),rangeEnd:Math.max(i(p),i(f))}}var eu="\uFEFF",Jn=Symbol("cursor");async function tu(e,t,r=0){if(!e||e.trim().length===0)return {formatted:"",cursorOffset:-1,comments:[]};let{ast:n,text:o}=await ce(e,t);t.cursorOffset>=0&&(t.cursorNode=Un(n,t));let u=await Me(n,t);r>0&&(u=qe([q,u],r,t.tabWidth));let i=pe(u,t);if(r>0){let D=i.formatted.trim();i.cursorNodeStart!==void 0&&(i.cursorNodeStart-=i.formatted.indexOf(D)),i.formatted=D+be(t.endOfLine);}let s=t[Symbol.for("comments")];if(t.cursorOffset>=0){let D,a,c,p,f;if(t.cursorNode&&i.cursorNodeText?(D=t.locStart(t.cursorNode),a=o.slice(D,t.locEnd(t.cursorNode)),c=t.cursorOffset-D,p=i.cursorNodeStart,f=i.cursorNodeText):(D=0,a=o,c=t.cursorOffset,p=0,f=i.formatted),a===f)return {formatted:i.formatted,cursorOffset:p+c,comments:s};let F=a.split("");F.splice(c,0,Jn);let l=f.split(""),d=(0, Qn.diffArrays)(F,l),m=p;for(let E of d)if(E.removed){if(E.value.includes(Jn))break}else m+=E.count;return {formatted:i.formatted,cursorOffset:m,comments:s}}return {formatted:i.formatted,cursorOffset:-1,comments:s}}async function Mo(e,t){let{ast:r,text:n}=await ce(e,t),{rangeStart:o,rangeEnd:u}=qn(n,t,r),i=n.slice(o,u),s=Math.min(o,n.lastIndexOf(`
|
|
30063
|
+
`,o)+1),D=n.slice(s,o).match(/^\s*/)[0],a=de(D,t.tabWidth),c=await tu(i,{...t,rangeStart:0,rangeEnd:Number.POSITIVE_INFINITY,cursorOffset:t.cursorOffset>o&&t.cursorOffset<=u?t.cursorOffset-o:-1,endOfLine:"lf"},a),p=c.formatted.trimEnd(),{cursorOffset:f}=t;f>u?f+=p.length-i.length:c.cursorOffset>=0&&(f=c.cursorOffset+o);let F=n.slice(0,o)+p+n.slice(u);if(t.endOfLine!=="lf"){let l=be(t.endOfLine);f>=0&&l===`\r
|
|
30064
|
+
`&&(f+=At(F.slice(0,f),`
|
|
30065
|
+
`)),F=re(!1,F,`
|
|
30066
|
+
`,l);}return {formatted:F,cursorOffset:f,comments:c.comments}}function Qt(e,t,r){return typeof t!="number"||Number.isNaN(t)||t<0||t>e.length?r:t}function Xn(e,t){let{cursorOffset:r,rangeStart:n,rangeEnd:o}=t;return r=Qt(e,r,-1),n=Qt(e,n,0),o=Qt(e,o,e.length),{...t,cursorOffset:r,rangeStart:n,rangeEnd:o}}function ru(e,t){let{cursorOffset:r,rangeStart:n,rangeEnd:o,endOfLine:u}=Xn(e,t),i=e.charAt(0)===eu;if(i&&(e=e.slice(1),r--,n--,o--),u==="auto"&&(u=lr(e)),e.includes("\r")){let s=D=>At(e.slice(0,Math.max(D,0)),`\r
|
|
30067
|
+
`);r-=s(r),n-=s(n),o-=s(o),e=fr(e);}return {hasBOM:i,text:e,options:Xn(e,{...t,cursorOffset:r,rangeStart:n,rangeEnd:o,endOfLine:u})}}async function Zn(e,t){let r=await Et(t);return !r.hasPragma||r.hasPragma(e)}async function er(e,t){let{hasBOM:r,text:n,options:o}=ru(e,await ie(t));if(o.rangeStart>=o.rangeEnd&&n!==""||o.requirePragma&&!await Zn(n,o))return {formatted:e,cursorOffset:t.cursorOffset,comments:[]};let u;return o.rangeStart>0||o.rangeEnd<n.length?u=await Mo(n,o):(!o.requirePragma&&o.insertPragma&&o.printer.insertPragma&&!await Zn(n,o)&&(n=o.printer.insertPragma(n)),u=await tu(n,o)),r&&(u.formatted=eu+u.formatted,u.cursorOffset>=0&&u.cursorOffset++),u}async function nu(e,t,r){let{text:n,options:o}=ru(e,await ie(t)),u=await ce(n,o);return r&&(r.preprocessForPrint&&(u.ast=await Xt(u.ast,o)),r.massage&&(u.ast=Gn(u.ast,o))),u}async function uu(e,t){t=await ie(t);let r=await Me(e,t);return pe(r,t)}async function ou(e,t){let r=br(e),{formatted:n}=await er(r,{...t,parser:"__js_expression"});return n}async function iu(e,t){t=await ie(t);let{ast:r}=await ce(e,t);return Me(r,t)}async function su(e,t){return pe(e,await ie(t))}var tr={};We(tr,{builders:()=>$o,printer:()=>Wo,utils:()=>Uo});var $o={join:Ne,line:Ke,softline:Br,hardline:q,literalline:He,group:_t,conditionalGroup:Cr,fill:ze,lineSuffix:ke,lineSuffixBoundary:yr,cursor:Oe,breakParent:Fe,ifBreak:hr,trim:Ar,indent:De,indentIfBreak:gr,align:se,addAlignmentToDoc:qe,markAsRoot:mr,dedentToRoot:dr,dedent:Er,hardlineWithoutBreakParent:we,literallineWithoutBreakParent:bt,label:_r,concat:e=>e},Wo={printDocToString:pe},Uo={willBreak:Sr,traverseDoc:xe,findInDoc:Je,mapDoc:ve,removeLines:Pr,stripTrailingHardline:Xe,replaceEndOfLine:Lr,canBreak:Ir};var Du="3.3.2";var nr={};We(nr,{addDanglingComment:()=>te,addLeadingComment:()=>ne,addTrailingComment:()=>ue,getAlignmentSize:()=>de,getIndentSize:()=>au,getMaxContinuousCount:()=>cu,getNextNonSpaceNonCommentCharacter:()=>lu,getNextNonSpaceNonCommentCharacterIndex:()=>ri,getStringWidth:()=>Te,hasNewline:()=>U,hasNewlineInRange:()=>fu,hasSpaces:()=>Fu,isNextLineEmpty:()=>ii,isNextLineEmptyAfterIndex:()=>ht,isPreviousLineEmpty:()=>ui,makeString:()=>pu,skip:()=>me,skipEverythingButNewLine:()=>rt,skipInlineComment:()=>Ce,skipNewline:()=>$,skipSpaces:()=>S,skipToLineEnd:()=>tt,skipTrailingComment:()=>he,skipWhitespace:()=>$r});function Go(e,t){if(t===!1)return !1;if(e.charAt(t)==="/"&&e.charAt(t+1)==="*"){for(let r=t+2;r<e.length;++r)if(e.charAt(r)==="*"&&e.charAt(r+1)==="/")return r+2}return t}var Ce=Go;function zo(e,t){return t===!1?!1:e.charAt(t)==="/"&&e.charAt(t+1)==="/"?rt(e,t):t}var he=zo;function Ko(e,t){let r=null,n=t;for(;n!==r;)r=n,n=S(e,n),n=Ce(e,n),n=he(e,n),n=$(e,n);return n}var Ve=Ko;function Ho(e,t){let r=null,n=t;for(;n!==r;)r=n,n=tt(e,n),n=Ce(e,n),n=S(e,n);return n=he(e,n),n=$(e,n),n!==!1&&U(e,n)}var ht=Ho;function qo(e,t){let r=e.lastIndexOf(`
|
|
30068
|
+
`);return r===-1?0:de(e.slice(r+1).match(/^[\t ]*/)[0],t)}var au=qo;function rr(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function Jo(e,t){let r=e.match(new RegExp(`(${rr(t)})+`,"g"));return r===null?0:r.reduce((n,o)=>Math.max(n,o.length/t.length),0)}var cu=Jo;function Xo(e,t){let r=Ve(e,t);return r===!1?"":e.charAt(r)}var lu=Xo;function Zo(e,t,r){for(let n=t;n<r;++n)if(e.charAt(n)===`
|
|
30069
|
+
`)return !0;return !1}var fu=Zo;function Qo(e,t,r={}){return S(e,r.backwards?t-1:t,r)!==t}var Fu=Qo;function ei(e,t,r){let n=t==='"'?"'":'"',u=re(!1,e,/\\(.)|(["'])/gs,(i,s,D)=>s===n?s:D===t?"\\"+D:D||(r&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(s)?s:"\\"+s));return t+u+t}var pu=ei;function ti(e,t,r){return Ve(e,r(t))}function ri(e,t){return arguments.length===2||typeof t=="number"?Ve(e,t):ti(...arguments)}function ni(e,t,r){return Ie(e,r(t))}function ui(e,t){return arguments.length===2||typeof t=="number"?Ie(e,t):ni(...arguments)}function oi(e,t,r){return ht(e,r(t))}function ii(e,t){return arguments.length===2||typeof t=="number"?ht(e,t):oi(...arguments)}function le(e,t=1){return async(...r)=>{let n=r[t]??{},o=n.plugins??[];return r[t]={...n,plugins:Array.isArray(o)?o:Object.values(o)},e(...r)}}var du=le(er);async function mu(e,t){let{formatted:r}=await du(e,{...t,cursorOffset:-1});return r}async function si(e,t){return await mu(e,t)===e}var Di=le(ut,0),ai={parse:le(nu),formatAST:le(uu),formatDoc:le(ou),printToDoc:le(iu),printDocToString:le(su)};
|
|
30070
|
+
|
|
30071
|
+
var __defProp = Object.defineProperty;
|
|
30072
|
+
var __export = (target, all) => {
|
|
30073
|
+
for (var name in all)
|
|
30074
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
30075
|
+
};
|
|
30076
|
+
|
|
30077
|
+
// src/document/public.js
|
|
30078
|
+
var public_exports = {};
|
|
30079
|
+
__export(public_exports, {
|
|
30080
|
+
builders: () => builders,
|
|
30081
|
+
printer: () => printer,
|
|
30082
|
+
utils: () => utils
|
|
30083
|
+
});
|
|
30084
|
+
|
|
30085
|
+
// src/document/constants.js
|
|
30086
|
+
var DOC_TYPE_STRING = "string";
|
|
30087
|
+
var DOC_TYPE_ARRAY = "array";
|
|
30088
|
+
var DOC_TYPE_CURSOR = "cursor";
|
|
30089
|
+
var DOC_TYPE_INDENT = "indent";
|
|
30090
|
+
var DOC_TYPE_ALIGN = "align";
|
|
30091
|
+
var DOC_TYPE_TRIM = "trim";
|
|
30092
|
+
var DOC_TYPE_GROUP = "group";
|
|
30093
|
+
var DOC_TYPE_FILL = "fill";
|
|
30094
|
+
var DOC_TYPE_IF_BREAK = "if-break";
|
|
30095
|
+
var DOC_TYPE_INDENT_IF_BREAK = "indent-if-break";
|
|
30096
|
+
var DOC_TYPE_LINE_SUFFIX = "line-suffix";
|
|
30097
|
+
var DOC_TYPE_LINE_SUFFIX_BOUNDARY = "line-suffix-boundary";
|
|
30098
|
+
var DOC_TYPE_LINE = "line";
|
|
30099
|
+
var DOC_TYPE_LABEL = "label";
|
|
30100
|
+
var DOC_TYPE_BREAK_PARENT = "break-parent";
|
|
30101
|
+
var VALID_OBJECT_DOC_TYPES = /* @__PURE__ */ new Set([
|
|
30102
|
+
DOC_TYPE_CURSOR,
|
|
30103
|
+
DOC_TYPE_INDENT,
|
|
30104
|
+
DOC_TYPE_ALIGN,
|
|
30105
|
+
DOC_TYPE_TRIM,
|
|
30106
|
+
DOC_TYPE_GROUP,
|
|
30107
|
+
DOC_TYPE_FILL,
|
|
30108
|
+
DOC_TYPE_IF_BREAK,
|
|
30109
|
+
DOC_TYPE_INDENT_IF_BREAK,
|
|
30110
|
+
DOC_TYPE_LINE_SUFFIX,
|
|
30111
|
+
DOC_TYPE_LINE_SUFFIX_BOUNDARY,
|
|
30112
|
+
DOC_TYPE_LINE,
|
|
30113
|
+
DOC_TYPE_LABEL,
|
|
30114
|
+
DOC_TYPE_BREAK_PARENT
|
|
30115
|
+
]);
|
|
30116
|
+
|
|
30117
|
+
// src/document/utils/get-doc-type.js
|
|
30118
|
+
function getDocType(doc) {
|
|
30119
|
+
if (typeof doc === "string") {
|
|
30120
|
+
return DOC_TYPE_STRING;
|
|
30121
|
+
}
|
|
30122
|
+
if (Array.isArray(doc)) {
|
|
30123
|
+
return DOC_TYPE_ARRAY;
|
|
30124
|
+
}
|
|
30125
|
+
if (!doc) {
|
|
30126
|
+
return;
|
|
30127
|
+
}
|
|
30128
|
+
const { type } = doc;
|
|
30129
|
+
if (VALID_OBJECT_DOC_TYPES.has(type)) {
|
|
30130
|
+
return type;
|
|
30141
30131
|
}
|
|
30142
|
-
return doc;
|
|
30143
30132
|
}
|
|
30144
|
-
|
|
30145
|
-
|
|
30133
|
+
var get_doc_type_default = getDocType;
|
|
30134
|
+
|
|
30135
|
+
// src/document/invalid-doc-error.js
|
|
30136
|
+
var disjunctionListFormat = (list) => new Intl.ListFormat("en-US", { type: "disjunction" }).format(list);
|
|
30137
|
+
function getDocErrorMessage(doc) {
|
|
30138
|
+
const type = doc === null ? "null" : typeof doc;
|
|
30139
|
+
if (type !== "string" && type !== "object") {
|
|
30140
|
+
return `Unexpected doc '${type}',
|
|
30141
|
+
Expected it to be 'string' or 'object'.`;
|
|
30142
|
+
}
|
|
30143
|
+
if (get_doc_type_default(doc)) {
|
|
30144
|
+
throw new Error("doc is valid.");
|
|
30145
|
+
}
|
|
30146
|
+
const objectType = Object.prototype.toString.call(doc);
|
|
30147
|
+
if (objectType !== "[object Object]") {
|
|
30148
|
+
return `Unexpected doc '${objectType}'.`;
|
|
30149
|
+
}
|
|
30150
|
+
const EXPECTED_TYPE_VALUES = disjunctionListFormat(
|
|
30151
|
+
[...VALID_OBJECT_DOC_TYPES].map((type2) => `'${type2}'`)
|
|
30152
|
+
);
|
|
30153
|
+
return `Unexpected doc.type '${doc.type}'.
|
|
30154
|
+
Expected it to be ${EXPECTED_TYPE_VALUES}.`;
|
|
30146
30155
|
}
|
|
30147
|
-
|
|
30148
|
-
|
|
30149
|
-
|
|
30150
|
-
|
|
30151
|
-
|
|
30152
|
-
|
|
30153
|
-
|
|
30154
|
-
|
|
30155
|
-
|
|
30156
|
-
|
|
30157
|
-
|
|
30158
|
-
|
|
30159
|
-
|
|
30160
|
-
|
|
30161
|
-
|
|
30162
|
-
|
|
30163
|
-
|
|
30164
|
-
|
|
30165
|
-
|
|
30166
|
-
|
|
30167
|
-
|
|
30168
|
-
|
|
30169
|
-
|
|
30170
|
-
|
|
30171
|
-
|
|
30172
|
-
|
|
30173
|
-
|
|
30174
|
-
|
|
30175
|
-
|
|
30176
|
-
|
|
30177
|
-
|
|
30178
|
-
|
|
30179
|
-
|
|
30156
|
+
var InvalidDocError = class extends Error {
|
|
30157
|
+
name = "InvalidDocError";
|
|
30158
|
+
constructor(doc) {
|
|
30159
|
+
super(getDocErrorMessage(doc));
|
|
30160
|
+
this.doc = doc;
|
|
30161
|
+
}
|
|
30162
|
+
};
|
|
30163
|
+
var invalid_doc_error_default = InvalidDocError;
|
|
30164
|
+
|
|
30165
|
+
// src/document/utils/traverse-doc.js
|
|
30166
|
+
var traverseDocOnExitStackMarker = {};
|
|
30167
|
+
function traverseDoc(doc, onEnter, onExit, shouldTraverseConditionalGroups) {
|
|
30168
|
+
const docsStack = [doc];
|
|
30169
|
+
while (docsStack.length > 0) {
|
|
30170
|
+
const doc2 = docsStack.pop();
|
|
30171
|
+
if (doc2 === traverseDocOnExitStackMarker) {
|
|
30172
|
+
onExit(docsStack.pop());
|
|
30173
|
+
continue;
|
|
30174
|
+
}
|
|
30175
|
+
if (onExit) {
|
|
30176
|
+
docsStack.push(doc2, traverseDocOnExitStackMarker);
|
|
30177
|
+
}
|
|
30178
|
+
const docType = get_doc_type_default(doc2);
|
|
30179
|
+
if (!docType) {
|
|
30180
|
+
throw new invalid_doc_error_default(doc2);
|
|
30181
|
+
}
|
|
30182
|
+
if ((onEnter == null ? void 0 : onEnter(doc2)) === false) {
|
|
30183
|
+
continue;
|
|
30184
|
+
}
|
|
30185
|
+
switch (docType) {
|
|
30186
|
+
case DOC_TYPE_ARRAY:
|
|
30187
|
+
case DOC_TYPE_FILL: {
|
|
30188
|
+
const parts = docType === DOC_TYPE_ARRAY ? doc2 : doc2.parts;
|
|
30189
|
+
for (let ic = parts.length, i = ic - 1; i >= 0; --i) {
|
|
30190
|
+
docsStack.push(parts[i]);
|
|
30180
30191
|
}
|
|
30181
|
-
|
|
30182
|
-
|
|
30183
|
-
|
|
30184
|
-
|
|
30185
|
-
|
|
30186
|
-
|
|
30187
|
-
|
|
30188
|
-
|
|
30192
|
+
break;
|
|
30193
|
+
}
|
|
30194
|
+
case DOC_TYPE_IF_BREAK:
|
|
30195
|
+
docsStack.push(doc2.flatContents, doc2.breakContents);
|
|
30196
|
+
break;
|
|
30197
|
+
case DOC_TYPE_GROUP:
|
|
30198
|
+
if (shouldTraverseConditionalGroups && doc2.expandedStates) {
|
|
30199
|
+
for (let ic = doc2.expandedStates.length, i = ic - 1; i >= 0; --i) {
|
|
30200
|
+
docsStack.push(doc2.expandedStates[i]);
|
|
30201
|
+
}
|
|
30189
30202
|
} else {
|
|
30190
|
-
|
|
30203
|
+
docsStack.push(doc2.contents);
|
|
30191
30204
|
}
|
|
30192
|
-
|
|
30193
|
-
|
|
30194
|
-
|
|
30195
|
-
|
|
30196
|
-
|
|
30197
|
-
|
|
30198
|
-
|
|
30199
|
-
|
|
30200
|
-
|
|
30205
|
+
break;
|
|
30206
|
+
case DOC_TYPE_ALIGN:
|
|
30207
|
+
case DOC_TYPE_INDENT:
|
|
30208
|
+
case DOC_TYPE_INDENT_IF_BREAK:
|
|
30209
|
+
case DOC_TYPE_LABEL:
|
|
30210
|
+
case DOC_TYPE_LINE_SUFFIX:
|
|
30211
|
+
docsStack.push(doc2.contents);
|
|
30212
|
+
break;
|
|
30213
|
+
case DOC_TYPE_STRING:
|
|
30214
|
+
case DOC_TYPE_CURSOR:
|
|
30215
|
+
case DOC_TYPE_TRIM:
|
|
30216
|
+
case DOC_TYPE_LINE_SUFFIX_BOUNDARY:
|
|
30217
|
+
case DOC_TYPE_LINE:
|
|
30218
|
+
case DOC_TYPE_BREAK_PARENT:
|
|
30219
|
+
break;
|
|
30220
|
+
default:
|
|
30221
|
+
throw new invalid_doc_error_default(doc2);
|
|
30201
30222
|
}
|
|
30202
|
-
case DOC_TYPE_STRING:
|
|
30203
|
-
case DOC_TYPE_CURSOR:
|
|
30204
|
-
case DOC_TYPE_TRIM:
|
|
30205
|
-
case DOC_TYPE_LINE_SUFFIX_BOUNDARY:
|
|
30206
|
-
case DOC_TYPE_LINE:
|
|
30207
|
-
case DOC_TYPE_LABEL:
|
|
30208
|
-
case DOC_TYPE_BREAK_PARENT:
|
|
30209
|
-
break;
|
|
30210
|
-
default:
|
|
30211
|
-
throw new invalid_doc_error_default(doc);
|
|
30212
30223
|
}
|
|
30213
|
-
return doc;
|
|
30214
30224
|
}
|
|
30215
|
-
|
|
30216
|
-
|
|
30225
|
+
var traverse_doc_default = traverseDoc;
|
|
30226
|
+
|
|
30227
|
+
// src/document/utils/assert-doc.js
|
|
30228
|
+
var noop = () => {
|
|
30229
|
+
};
|
|
30230
|
+
var assertDocArray = noop ;
|
|
30231
|
+
|
|
30232
|
+
// src/document/builders.js
|
|
30233
|
+
function indent(contents) {
|
|
30234
|
+
return { type: DOC_TYPE_INDENT, contents };
|
|
30217
30235
|
}
|
|
30218
|
-
function
|
|
30219
|
-
return
|
|
30236
|
+
function align(widthOrString, contents) {
|
|
30237
|
+
return { type: DOC_TYPE_ALIGN, contents, n: widthOrString };
|
|
30220
30238
|
}
|
|
30221
|
-
function
|
|
30222
|
-
|
|
30223
|
-
|
|
30224
|
-
|
|
30239
|
+
function group(contents, opts = {}) {
|
|
30240
|
+
assertDocArray(
|
|
30241
|
+
opts.expandedStates);
|
|
30242
|
+
return {
|
|
30243
|
+
type: DOC_TYPE_GROUP,
|
|
30244
|
+
id: opts.id,
|
|
30245
|
+
contents,
|
|
30246
|
+
break: Boolean(opts.shouldBreak),
|
|
30247
|
+
expandedStates: opts.expandedStates
|
|
30248
|
+
};
|
|
30225
30249
|
}
|
|
30226
|
-
function
|
|
30227
|
-
return
|
|
30250
|
+
function dedentToRoot(contents) {
|
|
30251
|
+
return align(Number.NEGATIVE_INFINITY, contents);
|
|
30228
30252
|
}
|
|
30229
|
-
|
|
30230
|
-
|
|
30231
|
-
|
|
30232
|
-
|
|
30233
|
-
|
|
30234
|
-
|
|
30253
|
+
function markAsRoot(contents) {
|
|
30254
|
+
return align({ type: "root" }, contents);
|
|
30255
|
+
}
|
|
30256
|
+
function dedent(contents) {
|
|
30257
|
+
return align(-1, contents);
|
|
30258
|
+
}
|
|
30259
|
+
function conditionalGroup(states, opts) {
|
|
30260
|
+
return group(states[0], { ...opts, expandedStates: states });
|
|
30261
|
+
}
|
|
30262
|
+
function fill(parts) {
|
|
30263
|
+
return { type: DOC_TYPE_FILL, parts };
|
|
30264
|
+
}
|
|
30265
|
+
function ifBreak(breakContents, flatContents = "", opts = {}) {
|
|
30235
30266
|
return {
|
|
30236
|
-
|
|
30237
|
-
|
|
30238
|
-
|
|
30267
|
+
type: DOC_TYPE_IF_BREAK,
|
|
30268
|
+
breakContents,
|
|
30269
|
+
flatContents,
|
|
30270
|
+
groupId: opts.groupId
|
|
30239
30271
|
};
|
|
30240
30272
|
}
|
|
30241
|
-
function
|
|
30242
|
-
return
|
|
30243
|
-
type:
|
|
30244
|
-
|
|
30273
|
+
function indentIfBreak(contents, opts) {
|
|
30274
|
+
return {
|
|
30275
|
+
type: DOC_TYPE_INDENT_IF_BREAK,
|
|
30276
|
+
contents,
|
|
30277
|
+
groupId: opts.groupId,
|
|
30278
|
+
negate: opts.negate
|
|
30279
|
+
};
|
|
30245
30280
|
}
|
|
30246
|
-
function
|
|
30247
|
-
|
|
30248
|
-
|
|
30281
|
+
function lineSuffix(contents) {
|
|
30282
|
+
return { type: DOC_TYPE_LINE_SUFFIX, contents };
|
|
30283
|
+
}
|
|
30284
|
+
var lineSuffixBoundary = { type: DOC_TYPE_LINE_SUFFIX_BOUNDARY };
|
|
30285
|
+
var breakParent = { type: DOC_TYPE_BREAK_PARENT };
|
|
30286
|
+
var trim = { type: DOC_TYPE_TRIM };
|
|
30287
|
+
var hardlineWithoutBreakParent = { type: DOC_TYPE_LINE, hard: true };
|
|
30288
|
+
var literallineWithoutBreakParent = {
|
|
30289
|
+
type: DOC_TYPE_LINE,
|
|
30290
|
+
hard: true,
|
|
30291
|
+
literal: true
|
|
30292
|
+
};
|
|
30293
|
+
var line = { type: DOC_TYPE_LINE };
|
|
30294
|
+
var softline = { type: DOC_TYPE_LINE, soft: true };
|
|
30295
|
+
var hardline = [hardlineWithoutBreakParent, breakParent];
|
|
30296
|
+
var literalline = [literallineWithoutBreakParent, breakParent];
|
|
30297
|
+
var cursor = { type: DOC_TYPE_CURSOR };
|
|
30298
|
+
function join(separator, docs) {
|
|
30299
|
+
const parts = [];
|
|
30300
|
+
for (let i = 0; i < docs.length; i++) {
|
|
30301
|
+
if (i !== 0) {
|
|
30302
|
+
parts.push(separator);
|
|
30303
|
+
}
|
|
30304
|
+
parts.push(docs[i]);
|
|
30249
30305
|
}
|
|
30250
|
-
|
|
30251
|
-
|
|
30252
|
-
|
|
30253
|
-
|
|
30306
|
+
return parts;
|
|
30307
|
+
}
|
|
30308
|
+
function addAlignmentToDoc(doc, size, tabWidth) {
|
|
30309
|
+
let aligned = doc;
|
|
30310
|
+
if (size > 0) {
|
|
30311
|
+
for (let i = 0; i < Math.floor(size / tabWidth); ++i) {
|
|
30312
|
+
aligned = indent(aligned);
|
|
30313
|
+
}
|
|
30314
|
+
aligned = align(size % tabWidth, aligned);
|
|
30315
|
+
aligned = align(Number.NEGATIVE_INFINITY, aligned);
|
|
30254
30316
|
}
|
|
30255
|
-
|
|
30256
|
-
|
|
30317
|
+
return aligned;
|
|
30318
|
+
}
|
|
30319
|
+
function label(label2, contents) {
|
|
30320
|
+
return label2 ? { type: DOC_TYPE_LABEL, label: label2, contents } : contents;
|
|
30321
|
+
}
|
|
30322
|
+
|
|
30323
|
+
// scripts/build/shims/at.js
|
|
30324
|
+
var at = (isOptionalObject, object, index) => {
|
|
30325
|
+
if (isOptionalObject && (object === void 0 || object === null)) {
|
|
30326
|
+
return;
|
|
30257
30327
|
}
|
|
30258
|
-
if (
|
|
30259
|
-
return
|
|
30260
|
-
...indent2,
|
|
30261
|
-
root: indent2
|
|
30262
|
-
};
|
|
30328
|
+
if (Array.isArray(object) || typeof object === "string") {
|
|
30329
|
+
return object[index < 0 ? object.length + index : index];
|
|
30263
30330
|
}
|
|
30264
|
-
|
|
30265
|
-
|
|
30266
|
-
|
|
30267
|
-
|
|
30268
|
-
|
|
30269
|
-
|
|
30270
|
-
|
|
30271
|
-
|
|
30272
|
-
let value = "";
|
|
30273
|
-
let length = 0;
|
|
30274
|
-
let lastTabs = 0;
|
|
30275
|
-
let lastSpaces = 0;
|
|
30276
|
-
for (const part of queue) {
|
|
30277
|
-
switch (part.type) {
|
|
30278
|
-
case "indent":
|
|
30279
|
-
flush();
|
|
30280
|
-
if (options.useTabs) {
|
|
30281
|
-
addTabs(1);
|
|
30282
|
-
} else {
|
|
30283
|
-
addSpaces(options.tabWidth);
|
|
30284
|
-
}
|
|
30285
|
-
break;
|
|
30286
|
-
case "stringAlign":
|
|
30287
|
-
flush();
|
|
30288
|
-
value += part.n;
|
|
30289
|
-
length += part.n.length;
|
|
30290
|
-
break;
|
|
30291
|
-
case "numberAlign":
|
|
30292
|
-
lastTabs += 1;
|
|
30293
|
-
lastSpaces += part.n;
|
|
30294
|
-
break;
|
|
30295
|
-
default:
|
|
30296
|
-
throw new Error(`Unexpected type '${part.type}'`);
|
|
30297
|
-
}
|
|
30298
|
-
}
|
|
30299
|
-
flushSpaces();
|
|
30300
|
-
return {
|
|
30301
|
-
...ind,
|
|
30302
|
-
value,
|
|
30303
|
-
length,
|
|
30304
|
-
queue
|
|
30305
|
-
};
|
|
30306
|
-
function addTabs(count) {
|
|
30307
|
-
value += " ".repeat(count);
|
|
30308
|
-
length += options.tabWidth * count;
|
|
30309
|
-
}
|
|
30310
|
-
function addSpaces(count) {
|
|
30311
|
-
value += " ".repeat(count);
|
|
30312
|
-
length += count;
|
|
30313
|
-
}
|
|
30314
|
-
function flush() {
|
|
30315
|
-
if (options.useTabs) {
|
|
30316
|
-
flushTabs();
|
|
30317
|
-
} else {
|
|
30318
|
-
flushSpaces();
|
|
30319
|
-
}
|
|
30331
|
+
return object.at(index);
|
|
30332
|
+
};
|
|
30333
|
+
var at_default = at;
|
|
30334
|
+
|
|
30335
|
+
// scripts/build/shims/string-replace-all.js
|
|
30336
|
+
var stringReplaceAll = (isOptionalObject, original, pattern, replacement) => {
|
|
30337
|
+
if (isOptionalObject && (original === void 0 || original === null)) {
|
|
30338
|
+
return;
|
|
30320
30339
|
}
|
|
30321
|
-
|
|
30322
|
-
|
|
30323
|
-
addTabs(lastTabs);
|
|
30324
|
-
}
|
|
30325
|
-
resetLast();
|
|
30340
|
+
if (original.replaceAll) {
|
|
30341
|
+
return original.replaceAll(pattern, replacement);
|
|
30326
30342
|
}
|
|
30327
|
-
|
|
30328
|
-
|
|
30329
|
-
addSpaces(lastSpaces);
|
|
30330
|
-
}
|
|
30331
|
-
resetLast();
|
|
30343
|
+
if (pattern.global) {
|
|
30344
|
+
return original.replace(pattern, replacement);
|
|
30332
30345
|
}
|
|
30333
|
-
|
|
30334
|
-
|
|
30335
|
-
|
|
30346
|
+
return original.split(pattern).join(replacement);
|
|
30347
|
+
};
|
|
30348
|
+
var string_replace_all_default = stringReplaceAll;
|
|
30349
|
+
|
|
30350
|
+
// src/common/end-of-line.js
|
|
30351
|
+
function convertEndOfLineToChars(value) {
|
|
30352
|
+
switch (value) {
|
|
30353
|
+
case "cr":
|
|
30354
|
+
return "\r";
|
|
30355
|
+
case "crlf":
|
|
30356
|
+
return "\r\n";
|
|
30357
|
+
default:
|
|
30358
|
+
return "\n";
|
|
30336
30359
|
}
|
|
30337
30360
|
}
|
|
30338
|
-
|
|
30339
|
-
|
|
30340
|
-
|
|
30341
|
-
let outIndex = out.length;
|
|
30342
|
-
|
|
30343
|
-
|
|
30344
|
-
|
|
30345
|
-
|
|
30346
|
-
|
|
30347
|
-
}
|
|
30348
|
-
for (let charIndex = last.length - 1; charIndex >= 0; charIndex--) {
|
|
30349
|
-
const char = last[charIndex];
|
|
30350
|
-
if (char === " " || char === " ") {
|
|
30351
|
-
trimCount++;
|
|
30352
|
-
} else {
|
|
30353
|
-
out[outIndex] = last.slice(0, charIndex + 1);
|
|
30354
|
-
break outer;
|
|
30355
|
-
}
|
|
30356
|
-
}
|
|
30357
|
-
}
|
|
30358
|
-
if (trimCount > 0 || cursorCount > 0) {
|
|
30359
|
-
out.length = outIndex + 1;
|
|
30360
|
-
while (cursorCount-- > 0) {
|
|
30361
|
-
out.push(CURSOR_PLACEHOLDER);
|
|
30362
|
-
}
|
|
30363
|
-
}
|
|
30364
|
-
return trimCount;
|
|
30361
|
+
|
|
30362
|
+
// node_modules/emoji-regex/index.mjs
|
|
30363
|
+
var emoji_regex_default = () => {
|
|
30364
|
+
return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\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?|[\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](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\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-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC2\uDECE-\uDEDB\uDEE0-\uDEE8]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
|
|
30365
|
+
};
|
|
30366
|
+
|
|
30367
|
+
// node_modules/get-east-asian-width/lookup.js
|
|
30368
|
+
function isFullWidth(x) {
|
|
30369
|
+
return x === 12288 || x >= 65281 && x <= 65376 || x >= 65504 && x <= 65510;
|
|
30365
30370
|
}
|
|
30366
|
-
function
|
|
30367
|
-
|
|
30368
|
-
return true;
|
|
30369
|
-
}
|
|
30370
|
-
let restIdx = restCommands.length;
|
|
30371
|
-
const cmds = [next];
|
|
30372
|
-
const out = [];
|
|
30373
|
-
while (width >= 0) {
|
|
30374
|
-
if (cmds.length === 0) {
|
|
30375
|
-
if (restIdx === 0) {
|
|
30376
|
-
return true;
|
|
30377
|
-
}
|
|
30378
|
-
cmds.push(restCommands[--restIdx]);
|
|
30379
|
-
continue;
|
|
30380
|
-
}
|
|
30381
|
-
const {
|
|
30382
|
-
mode,
|
|
30383
|
-
doc
|
|
30384
|
-
} = cmds.pop();
|
|
30385
|
-
const docType = get_doc_type_default(doc);
|
|
30386
|
-
switch (docType) {
|
|
30387
|
-
case DOC_TYPE_STRING:
|
|
30388
|
-
out.push(doc);
|
|
30389
|
-
width -= get_string_width_default(doc);
|
|
30390
|
-
break;
|
|
30391
|
-
case DOC_TYPE_ARRAY:
|
|
30392
|
-
case DOC_TYPE_FILL: {
|
|
30393
|
-
const parts = docType === DOC_TYPE_ARRAY ? doc : doc.parts;
|
|
30394
|
-
for (let i = parts.length - 1; i >= 0; i--) {
|
|
30395
|
-
cmds.push({
|
|
30396
|
-
mode,
|
|
30397
|
-
doc: parts[i]
|
|
30398
|
-
});
|
|
30399
|
-
}
|
|
30400
|
-
break;
|
|
30401
|
-
}
|
|
30402
|
-
case DOC_TYPE_INDENT:
|
|
30403
|
-
case DOC_TYPE_ALIGN:
|
|
30404
|
-
case DOC_TYPE_INDENT_IF_BREAK:
|
|
30405
|
-
case DOC_TYPE_LABEL:
|
|
30406
|
-
cmds.push({
|
|
30407
|
-
mode,
|
|
30408
|
-
doc: doc.contents
|
|
30409
|
-
});
|
|
30410
|
-
break;
|
|
30411
|
-
case DOC_TYPE_TRIM:
|
|
30412
|
-
width += trim2(out);
|
|
30413
|
-
break;
|
|
30414
|
-
case DOC_TYPE_GROUP: {
|
|
30415
|
-
if (mustBeFlat && doc.break) {
|
|
30416
|
-
return false;
|
|
30417
|
-
}
|
|
30418
|
-
const groupMode = doc.break ? MODE_BREAK : mode;
|
|
30419
|
-
const contents = doc.expandedStates && groupMode === MODE_BREAK ? at_default(
|
|
30420
|
-
/* isOptionalObject */
|
|
30421
|
-
false,
|
|
30422
|
-
doc.expandedStates,
|
|
30423
|
-
-1
|
|
30424
|
-
) : doc.contents;
|
|
30425
|
-
cmds.push({
|
|
30426
|
-
mode: groupMode,
|
|
30427
|
-
doc: contents
|
|
30428
|
-
});
|
|
30429
|
-
break;
|
|
30430
|
-
}
|
|
30431
|
-
case DOC_TYPE_IF_BREAK: {
|
|
30432
|
-
const groupMode = doc.groupId ? groupModeMap[doc.groupId] || MODE_FLAT : mode;
|
|
30433
|
-
const contents = groupMode === MODE_BREAK ? doc.breakContents : doc.flatContents;
|
|
30434
|
-
if (contents) {
|
|
30435
|
-
cmds.push({
|
|
30436
|
-
mode,
|
|
30437
|
-
doc: contents
|
|
30438
|
-
});
|
|
30439
|
-
}
|
|
30440
|
-
break;
|
|
30441
|
-
}
|
|
30442
|
-
case DOC_TYPE_LINE:
|
|
30443
|
-
if (mode === MODE_BREAK || doc.hard) {
|
|
30444
|
-
return true;
|
|
30445
|
-
}
|
|
30446
|
-
if (!doc.soft) {
|
|
30447
|
-
out.push(" ");
|
|
30448
|
-
width--;
|
|
30449
|
-
}
|
|
30450
|
-
break;
|
|
30451
|
-
case DOC_TYPE_LINE_SUFFIX:
|
|
30452
|
-
hasLineSuffix = true;
|
|
30453
|
-
break;
|
|
30454
|
-
case DOC_TYPE_LINE_SUFFIX_BOUNDARY:
|
|
30455
|
-
if (hasLineSuffix) {
|
|
30456
|
-
return false;
|
|
30457
|
-
}
|
|
30458
|
-
break;
|
|
30459
|
-
}
|
|
30460
|
-
}
|
|
30461
|
-
return false;
|
|
30371
|
+
function isWide(x) {
|
|
30372
|
+
return x >= 4352 && x <= 4447 || x === 8986 || x === 8987 || x === 9001 || x === 9002 || x >= 9193 && x <= 9196 || x === 9200 || x === 9203 || x === 9725 || x === 9726 || x === 9748 || x === 9749 || x >= 9800 && x <= 9811 || x === 9855 || x === 9875 || x === 9889 || x === 9898 || x === 9899 || x === 9917 || x === 9918 || x === 9924 || x === 9925 || x === 9934 || x === 9940 || x === 9962 || x === 9970 || x === 9971 || x === 9973 || x === 9978 || x === 9981 || x === 9989 || x === 9994 || x === 9995 || x === 10024 || x === 10060 || x === 10062 || x >= 10067 && x <= 10069 || x === 10071 || x >= 10133 && x <= 10135 || x === 10160 || x === 10175 || x === 11035 || x === 11036 || x === 11088 || x === 11093 || x >= 11904 && x <= 11929 || x >= 11931 && x <= 12019 || x >= 12032 && x <= 12245 || x >= 12272 && x <= 12287 || x >= 12289 && x <= 12350 || x >= 12353 && x <= 12438 || x >= 12441 && x <= 12543 || x >= 12549 && x <= 12591 || x >= 12593 && x <= 12686 || x >= 12688 && x <= 12771 || x >= 12783 && x <= 12830 || x >= 12832 && x <= 12871 || x >= 12880 && x <= 19903 || x >= 19968 && x <= 42124 || x >= 42128 && x <= 42182 || x >= 43360 && x <= 43388 || x >= 44032 && x <= 55203 || x >= 63744 && x <= 64255 || x >= 65040 && x <= 65049 || x >= 65072 && x <= 65106 || x >= 65108 && x <= 65126 || x >= 65128 && x <= 65131 || x >= 94176 && x <= 94180 || x === 94192 || x === 94193 || x >= 94208 && x <= 100343 || x >= 100352 && x <= 101589 || x >= 101632 && x <= 101640 || x >= 110576 && x <= 110579 || x >= 110581 && x <= 110587 || x === 110589 || x === 110590 || x >= 110592 && x <= 110882 || x === 110898 || x >= 110928 && x <= 110930 || x === 110933 || x >= 110948 && x <= 110951 || x >= 110960 && x <= 111355 || x === 126980 || x === 127183 || x === 127374 || x >= 127377 && x <= 127386 || x >= 127488 && x <= 127490 || x >= 127504 && x <= 127547 || x >= 127552 && x <= 127560 || x === 127568 || x === 127569 || x >= 127584 && x <= 127589 || x >= 127744 && x <= 127776 || x >= 127789 && x <= 127797 || x >= 127799 && x <= 127868 || x >= 127870 && x <= 127891 || x >= 127904 && x <= 127946 || x >= 127951 && x <= 127955 || x >= 127968 && x <= 127984 || x === 127988 || x >= 127992 && x <= 128062 || x === 128064 || x >= 128066 && x <= 128252 || x >= 128255 && x <= 128317 || x >= 128331 && x <= 128334 || x >= 128336 && x <= 128359 || x === 128378 || x === 128405 || x === 128406 || x === 128420 || x >= 128507 && x <= 128591 || x >= 128640 && x <= 128709 || x === 128716 || x >= 128720 && x <= 128722 || x >= 128725 && x <= 128727 || x >= 128732 && x <= 128735 || x === 128747 || x === 128748 || x >= 128756 && x <= 128764 || x >= 128992 && x <= 129003 || x === 129008 || x >= 129292 && x <= 129338 || x >= 129340 && x <= 129349 || x >= 129351 && x <= 129535 || x >= 129648 && x <= 129660 || x >= 129664 && x <= 129672 || x >= 129680 && x <= 129725 || x >= 129727 && x <= 129733 || x >= 129742 && x <= 129755 || x >= 129760 && x <= 129768 || x >= 129776 && x <= 129784 || x >= 131072 && x <= 196605 || x >= 196608 && x <= 262141;
|
|
30462
30373
|
}
|
|
30463
|
-
|
|
30464
|
-
|
|
30465
|
-
|
|
30466
|
-
|
|
30467
|
-
|
|
30468
|
-
|
|
30469
|
-
|
|
30470
|
-
|
|
30471
|
-
|
|
30472
|
-
}
|
|
30473
|
-
|
|
30474
|
-
|
|
30475
|
-
|
|
30476
|
-
|
|
30477
|
-
|
|
30478
|
-
|
|
30479
|
-
const
|
|
30480
|
-
|
|
30481
|
-
|
|
30482
|
-
|
|
30483
|
-
|
|
30484
|
-
|
|
30485
|
-
|
|
30486
|
-
|
|
30487
|
-
|
|
30488
|
-
|
|
30489
|
-
|
|
30490
|
-
|
|
30491
|
-
|
|
30492
|
-
|
|
30493
|
-
|
|
30494
|
-
|
|
30495
|
-
|
|
30496
|
-
|
|
30497
|
-
|
|
30498
|
-
|
|
30499
|
-
|
|
30500
|
-
|
|
30501
|
-
|
|
30502
|
-
|
|
30503
|
-
|
|
30504
|
-
|
|
30505
|
-
|
|
30506
|
-
|
|
30507
|
-
|
|
30508
|
-
|
|
30509
|
-
|
|
30510
|
-
|
|
30511
|
-
|
|
30512
|
-
|
|
30513
|
-
|
|
30514
|
-
|
|
30515
|
-
|
|
30516
|
-
|
|
30517
|
-
|
|
30518
|
-
|
|
30519
|
-
|
|
30520
|
-
|
|
30521
|
-
|
|
30522
|
-
case
|
|
30523
|
-
|
|
30524
|
-
|
|
30525
|
-
|
|
30526
|
-
doc: doc2.contents
|
|
30527
|
-
});
|
|
30528
|
-
break;
|
|
30529
|
-
case DOC_TYPE_TRIM:
|
|
30530
|
-
pos -= trim2(out);
|
|
30531
|
-
break;
|
|
30532
|
-
case DOC_TYPE_GROUP:
|
|
30533
|
-
switch (mode) {
|
|
30534
|
-
case MODE_FLAT:
|
|
30535
|
-
if (!shouldRemeasure) {
|
|
30536
|
-
cmds.push({
|
|
30537
|
-
ind,
|
|
30538
|
-
mode: doc2.break ? MODE_BREAK : MODE_FLAT,
|
|
30539
|
-
doc: doc2.contents
|
|
30540
|
-
});
|
|
30541
|
-
break;
|
|
30542
|
-
}
|
|
30543
|
-
case MODE_BREAK: {
|
|
30544
|
-
shouldRemeasure = false;
|
|
30545
|
-
const next = {
|
|
30546
|
-
ind,
|
|
30547
|
-
mode: MODE_FLAT,
|
|
30548
|
-
doc: doc2.contents
|
|
30549
|
-
};
|
|
30550
|
-
const rem = width - pos;
|
|
30551
|
-
const hasLineSuffix = lineSuffix2.length > 0;
|
|
30552
|
-
if (!doc2.break && fits(next, cmds, rem, hasLineSuffix, groupModeMap)) {
|
|
30553
|
-
cmds.push(next);
|
|
30554
|
-
} else {
|
|
30555
|
-
if (doc2.expandedStates) {
|
|
30556
|
-
const mostExpanded = at_default(
|
|
30557
|
-
/* isOptionalObject */
|
|
30558
|
-
false,
|
|
30559
|
-
doc2.expandedStates,
|
|
30560
|
-
-1
|
|
30561
|
-
);
|
|
30562
|
-
if (doc2.break) {
|
|
30563
|
-
cmds.push({
|
|
30564
|
-
ind,
|
|
30565
|
-
mode: MODE_BREAK,
|
|
30566
|
-
doc: mostExpanded
|
|
30567
|
-
});
|
|
30568
|
-
break;
|
|
30569
|
-
} else {
|
|
30570
|
-
for (let i = 1; i < doc2.expandedStates.length + 1; i++) {
|
|
30571
|
-
if (i >= doc2.expandedStates.length) {
|
|
30572
|
-
cmds.push({
|
|
30573
|
-
ind,
|
|
30574
|
-
mode: MODE_BREAK,
|
|
30575
|
-
doc: mostExpanded
|
|
30576
|
-
});
|
|
30577
|
-
break;
|
|
30578
|
-
} else {
|
|
30579
|
-
const state = doc2.expandedStates[i];
|
|
30580
|
-
const cmd = {
|
|
30581
|
-
ind,
|
|
30582
|
-
mode: MODE_FLAT,
|
|
30583
|
-
doc: state
|
|
30584
|
-
};
|
|
30585
|
-
if (fits(cmd, cmds, rem, hasLineSuffix, groupModeMap)) {
|
|
30586
|
-
cmds.push(cmd);
|
|
30587
|
-
break;
|
|
30588
|
-
}
|
|
30589
|
-
}
|
|
30590
|
-
}
|
|
30591
|
-
}
|
|
30592
|
-
} else {
|
|
30593
|
-
cmds.push({
|
|
30594
|
-
ind,
|
|
30595
|
-
mode: MODE_BREAK,
|
|
30596
|
-
doc: doc2.contents
|
|
30597
|
-
});
|
|
30598
|
-
}
|
|
30599
|
-
}
|
|
30600
|
-
break;
|
|
30601
|
-
}
|
|
30602
|
-
}
|
|
30603
|
-
if (doc2.id) {
|
|
30604
|
-
groupModeMap[doc2.id] = at_default(
|
|
30605
|
-
/* isOptionalObject */
|
|
30606
|
-
false,
|
|
30607
|
-
cmds,
|
|
30608
|
-
-1
|
|
30609
|
-
).mode;
|
|
30610
|
-
}
|
|
30611
|
-
break;
|
|
30612
|
-
case DOC_TYPE_FILL: {
|
|
30613
|
-
const rem = width - pos;
|
|
30614
|
-
const {
|
|
30615
|
-
parts
|
|
30374
|
+
|
|
30375
|
+
// node_modules/get-east-asian-width/index.js
|
|
30376
|
+
var _isNarrowWidth = (codePoint) => !(isFullWidth(codePoint) || isWide(codePoint));
|
|
30377
|
+
|
|
30378
|
+
// src/utils/get-string-width.js
|
|
30379
|
+
var notAsciiRegex = /[^\x20-\x7F]/;
|
|
30380
|
+
function getStringWidth(text) {
|
|
30381
|
+
if (!text) {
|
|
30382
|
+
return 0;
|
|
30383
|
+
}
|
|
30384
|
+
if (!notAsciiRegex.test(text)) {
|
|
30385
|
+
return text.length;
|
|
30386
|
+
}
|
|
30387
|
+
text = text.replace(emoji_regex_default(), " ");
|
|
30388
|
+
let width = 0;
|
|
30389
|
+
for (const character of text) {
|
|
30390
|
+
const codePoint = character.codePointAt(0);
|
|
30391
|
+
if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) {
|
|
30392
|
+
continue;
|
|
30393
|
+
}
|
|
30394
|
+
if (codePoint >= 768 && codePoint <= 879) {
|
|
30395
|
+
continue;
|
|
30396
|
+
}
|
|
30397
|
+
width += _isNarrowWidth(codePoint) ? 1 : 2;
|
|
30398
|
+
}
|
|
30399
|
+
return width;
|
|
30400
|
+
}
|
|
30401
|
+
var get_string_width_default = getStringWidth;
|
|
30402
|
+
|
|
30403
|
+
// src/document/utils.js
|
|
30404
|
+
function mapDoc(doc, cb) {
|
|
30405
|
+
if (typeof doc === "string") {
|
|
30406
|
+
return cb(doc);
|
|
30407
|
+
}
|
|
30408
|
+
const mapped = /* @__PURE__ */ new Map();
|
|
30409
|
+
return rec(doc);
|
|
30410
|
+
function rec(doc2) {
|
|
30411
|
+
if (mapped.has(doc2)) {
|
|
30412
|
+
return mapped.get(doc2);
|
|
30413
|
+
}
|
|
30414
|
+
const result = process2(doc2);
|
|
30415
|
+
mapped.set(doc2, result);
|
|
30416
|
+
return result;
|
|
30417
|
+
}
|
|
30418
|
+
function process2(doc2) {
|
|
30419
|
+
switch (get_doc_type_default(doc2)) {
|
|
30420
|
+
case DOC_TYPE_ARRAY:
|
|
30421
|
+
return cb(doc2.map(rec));
|
|
30422
|
+
case DOC_TYPE_FILL:
|
|
30423
|
+
return cb({
|
|
30424
|
+
...doc2,
|
|
30425
|
+
parts: doc2.parts.map(rec)
|
|
30426
|
+
});
|
|
30427
|
+
case DOC_TYPE_IF_BREAK:
|
|
30428
|
+
return cb({
|
|
30429
|
+
...doc2,
|
|
30430
|
+
breakContents: rec(doc2.breakContents),
|
|
30431
|
+
flatContents: rec(doc2.flatContents)
|
|
30432
|
+
});
|
|
30433
|
+
case DOC_TYPE_GROUP: {
|
|
30434
|
+
let {
|
|
30435
|
+
expandedStates,
|
|
30436
|
+
contents
|
|
30616
30437
|
} = doc2;
|
|
30617
|
-
if (
|
|
30618
|
-
|
|
30619
|
-
|
|
30620
|
-
const [content, whitespace] = parts;
|
|
30621
|
-
const contentFlatCmd = {
|
|
30622
|
-
ind,
|
|
30623
|
-
mode: MODE_FLAT,
|
|
30624
|
-
doc: content
|
|
30625
|
-
};
|
|
30626
|
-
const contentBreakCmd = {
|
|
30627
|
-
ind,
|
|
30628
|
-
mode: MODE_BREAK,
|
|
30629
|
-
doc: content
|
|
30630
|
-
};
|
|
30631
|
-
const contentFits = fits(contentFlatCmd, [], rem, lineSuffix2.length > 0, groupModeMap, true);
|
|
30632
|
-
if (parts.length === 1) {
|
|
30633
|
-
if (contentFits) {
|
|
30634
|
-
cmds.push(contentFlatCmd);
|
|
30635
|
-
} else {
|
|
30636
|
-
cmds.push(contentBreakCmd);
|
|
30637
|
-
}
|
|
30638
|
-
break;
|
|
30639
|
-
}
|
|
30640
|
-
const whitespaceFlatCmd = {
|
|
30641
|
-
ind,
|
|
30642
|
-
mode: MODE_FLAT,
|
|
30643
|
-
doc: whitespace
|
|
30644
|
-
};
|
|
30645
|
-
const whitespaceBreakCmd = {
|
|
30646
|
-
ind,
|
|
30647
|
-
mode: MODE_BREAK,
|
|
30648
|
-
doc: whitespace
|
|
30649
|
-
};
|
|
30650
|
-
if (parts.length === 2) {
|
|
30651
|
-
if (contentFits) {
|
|
30652
|
-
cmds.push(whitespaceFlatCmd, contentFlatCmd);
|
|
30653
|
-
} else {
|
|
30654
|
-
cmds.push(whitespaceBreakCmd, contentBreakCmd);
|
|
30655
|
-
}
|
|
30656
|
-
break;
|
|
30657
|
-
}
|
|
30658
|
-
parts.splice(0, 2);
|
|
30659
|
-
const remainingCmd = {
|
|
30660
|
-
ind,
|
|
30661
|
-
mode,
|
|
30662
|
-
doc: fill(parts)
|
|
30663
|
-
};
|
|
30664
|
-
const secondContent = parts[0];
|
|
30665
|
-
const firstAndSecondContentFlatCmd = {
|
|
30666
|
-
ind,
|
|
30667
|
-
mode: MODE_FLAT,
|
|
30668
|
-
doc: [content, whitespace, secondContent]
|
|
30669
|
-
};
|
|
30670
|
-
const firstAndSecondContentFits = fits(firstAndSecondContentFlatCmd, [], rem, lineSuffix2.length > 0, groupModeMap, true);
|
|
30671
|
-
if (firstAndSecondContentFits) {
|
|
30672
|
-
cmds.push(remainingCmd, whitespaceFlatCmd, contentFlatCmd);
|
|
30673
|
-
} else if (contentFits) {
|
|
30674
|
-
cmds.push(remainingCmd, whitespaceBreakCmd, contentFlatCmd);
|
|
30438
|
+
if (expandedStates) {
|
|
30439
|
+
expandedStates = expandedStates.map(rec);
|
|
30440
|
+
contents = expandedStates[0];
|
|
30675
30441
|
} else {
|
|
30676
|
-
|
|
30677
|
-
}
|
|
30678
|
-
break;
|
|
30679
|
-
}
|
|
30680
|
-
case DOC_TYPE_IF_BREAK:
|
|
30681
|
-
case DOC_TYPE_INDENT_IF_BREAK: {
|
|
30682
|
-
const groupMode = doc2.groupId ? groupModeMap[doc2.groupId] : mode;
|
|
30683
|
-
if (groupMode === MODE_BREAK) {
|
|
30684
|
-
const breakContents = doc2.type === DOC_TYPE_IF_BREAK ? doc2.breakContents : doc2.negate ? doc2.contents : indent(doc2.contents);
|
|
30685
|
-
if (breakContents) {
|
|
30686
|
-
cmds.push({
|
|
30687
|
-
ind,
|
|
30688
|
-
mode,
|
|
30689
|
-
doc: breakContents
|
|
30690
|
-
});
|
|
30691
|
-
}
|
|
30692
|
-
}
|
|
30693
|
-
if (groupMode === MODE_FLAT) {
|
|
30694
|
-
const flatContents = doc2.type === DOC_TYPE_IF_BREAK ? doc2.flatContents : doc2.negate ? indent(doc2.contents) : doc2.contents;
|
|
30695
|
-
if (flatContents) {
|
|
30696
|
-
cmds.push({
|
|
30697
|
-
ind,
|
|
30698
|
-
mode,
|
|
30699
|
-
doc: flatContents
|
|
30700
|
-
});
|
|
30701
|
-
}
|
|
30442
|
+
contents = rec(contents);
|
|
30702
30443
|
}
|
|
30703
|
-
|
|
30444
|
+
return cb({
|
|
30445
|
+
...doc2,
|
|
30446
|
+
contents,
|
|
30447
|
+
expandedStates
|
|
30448
|
+
});
|
|
30704
30449
|
}
|
|
30450
|
+
case DOC_TYPE_ALIGN:
|
|
30451
|
+
case DOC_TYPE_INDENT:
|
|
30452
|
+
case DOC_TYPE_INDENT_IF_BREAK:
|
|
30453
|
+
case DOC_TYPE_LABEL:
|
|
30705
30454
|
case DOC_TYPE_LINE_SUFFIX:
|
|
30706
|
-
|
|
30707
|
-
|
|
30708
|
-
|
|
30709
|
-
doc: doc2.contents
|
|
30455
|
+
return cb({
|
|
30456
|
+
...doc2,
|
|
30457
|
+
contents: rec(doc2.contents)
|
|
30710
30458
|
});
|
|
30711
|
-
|
|
30459
|
+
case DOC_TYPE_STRING:
|
|
30460
|
+
case DOC_TYPE_CURSOR:
|
|
30461
|
+
case DOC_TYPE_TRIM:
|
|
30712
30462
|
case DOC_TYPE_LINE_SUFFIX_BOUNDARY:
|
|
30713
|
-
if (lineSuffix2.length > 0) {
|
|
30714
|
-
cmds.push({
|
|
30715
|
-
ind,
|
|
30716
|
-
mode,
|
|
30717
|
-
doc: hardlineWithoutBreakParent
|
|
30718
|
-
});
|
|
30719
|
-
}
|
|
30720
|
-
break;
|
|
30721
30463
|
case DOC_TYPE_LINE:
|
|
30722
|
-
switch (mode) {
|
|
30723
|
-
case MODE_FLAT:
|
|
30724
|
-
if (!doc2.hard) {
|
|
30725
|
-
if (!doc2.soft) {
|
|
30726
|
-
out.push(" ");
|
|
30727
|
-
pos += 1;
|
|
30728
|
-
}
|
|
30729
|
-
break;
|
|
30730
|
-
} else {
|
|
30731
|
-
shouldRemeasure = true;
|
|
30732
|
-
}
|
|
30733
|
-
case MODE_BREAK:
|
|
30734
|
-
if (lineSuffix2.length > 0) {
|
|
30735
|
-
cmds.push({
|
|
30736
|
-
ind,
|
|
30737
|
-
mode,
|
|
30738
|
-
doc: doc2
|
|
30739
|
-
}, ...lineSuffix2.reverse());
|
|
30740
|
-
lineSuffix2.length = 0;
|
|
30741
|
-
break;
|
|
30742
|
-
}
|
|
30743
|
-
if (doc2.literal) {
|
|
30744
|
-
if (ind.root) {
|
|
30745
|
-
out.push(newLine, ind.root.value);
|
|
30746
|
-
pos = ind.root.length;
|
|
30747
|
-
} else {
|
|
30748
|
-
out.push(newLine);
|
|
30749
|
-
pos = 0;
|
|
30750
|
-
}
|
|
30751
|
-
} else {
|
|
30752
|
-
pos -= trim2(out);
|
|
30753
|
-
out.push(newLine + ind.value);
|
|
30754
|
-
pos = ind.length;
|
|
30755
|
-
}
|
|
30756
|
-
break;
|
|
30757
|
-
}
|
|
30758
|
-
break;
|
|
30759
|
-
case DOC_TYPE_LABEL:
|
|
30760
|
-
cmds.push({
|
|
30761
|
-
ind,
|
|
30762
|
-
mode,
|
|
30763
|
-
doc: doc2.contents
|
|
30764
|
-
});
|
|
30765
|
-
break;
|
|
30766
30464
|
case DOC_TYPE_BREAK_PARENT:
|
|
30767
|
-
|
|
30465
|
+
return cb(doc2);
|
|
30768
30466
|
default:
|
|
30769
30467
|
throw new invalid_doc_error_default(doc2);
|
|
30770
30468
|
}
|
|
30771
|
-
|
|
30772
|
-
|
|
30773
|
-
|
|
30469
|
+
}
|
|
30470
|
+
}
|
|
30471
|
+
function findInDoc(doc, fn, defaultValue) {
|
|
30472
|
+
let result = defaultValue;
|
|
30473
|
+
let shouldSkipFurtherProcessing = false;
|
|
30474
|
+
function findInDocOnEnterFn(doc2) {
|
|
30475
|
+
if (shouldSkipFurtherProcessing) {
|
|
30476
|
+
return false;
|
|
30477
|
+
}
|
|
30478
|
+
const maybeResult = fn(doc2);
|
|
30479
|
+
if (maybeResult !== void 0) {
|
|
30480
|
+
shouldSkipFurtherProcessing = true;
|
|
30481
|
+
result = maybeResult;
|
|
30774
30482
|
}
|
|
30775
30483
|
}
|
|
30776
|
-
|
|
30777
|
-
|
|
30778
|
-
|
|
30779
|
-
|
|
30780
|
-
|
|
30781
|
-
|
|
30782
|
-
|
|
30783
|
-
|
|
30784
|
-
|
|
30785
|
-
|
|
30786
|
-
|
|
30484
|
+
traverse_doc_default(doc, findInDocOnEnterFn);
|
|
30485
|
+
return result;
|
|
30486
|
+
}
|
|
30487
|
+
function willBreakFn(doc) {
|
|
30488
|
+
if (doc.type === DOC_TYPE_GROUP && doc.break) {
|
|
30489
|
+
return true;
|
|
30490
|
+
}
|
|
30491
|
+
if (doc.type === DOC_TYPE_LINE && doc.hard) {
|
|
30492
|
+
return true;
|
|
30493
|
+
}
|
|
30494
|
+
if (doc.type === DOC_TYPE_BREAK_PARENT) {
|
|
30495
|
+
return true;
|
|
30787
30496
|
}
|
|
30788
|
-
return {
|
|
30789
|
-
formatted: out.join("")
|
|
30790
|
-
};
|
|
30791
30497
|
}
|
|
30792
|
-
|
|
30793
|
-
|
|
30794
|
-
|
|
30795
|
-
|
|
30796
|
-
|
|
30797
|
-
|
|
30798
|
-
|
|
30799
|
-
|
|
30800
|
-
|
|
30801
|
-
|
|
30802
|
-
|
|
30803
|
-
|
|
30804
|
-
|
|
30805
|
-
cursor,
|
|
30806
|
-
breakParent,
|
|
30807
|
-
ifBreak,
|
|
30808
|
-
trim,
|
|
30809
|
-
indent,
|
|
30810
|
-
indentIfBreak,
|
|
30811
|
-
align,
|
|
30812
|
-
addAlignmentToDoc,
|
|
30813
|
-
markAsRoot,
|
|
30814
|
-
dedentToRoot,
|
|
30815
|
-
dedent,
|
|
30816
|
-
hardlineWithoutBreakParent,
|
|
30817
|
-
literallineWithoutBreakParent,
|
|
30818
|
-
label,
|
|
30819
|
-
// TODO: Remove this in v4
|
|
30820
|
-
concat: (parts) => parts
|
|
30821
|
-
};
|
|
30822
|
-
var printer = { printDocToString };
|
|
30823
|
-
var utils = {
|
|
30824
|
-
willBreak,
|
|
30825
|
-
traverseDoc: traverse_doc_default,
|
|
30826
|
-
findInDoc,
|
|
30827
|
-
mapDoc,
|
|
30828
|
-
removeLines,
|
|
30829
|
-
stripTrailingHardline,
|
|
30830
|
-
replaceEndOfLine,
|
|
30831
|
-
canBreak
|
|
30832
|
-
};
|
|
30833
|
-
|
|
30834
|
-
var Eu=Object.create;var $e=Object.defineProperty;var Cu=Object.getOwnPropertyDescriptor;var hu=Object.getOwnPropertyNames;var gu=Object.getPrototypeOf,yu=Object.prototype.hasOwnProperty;var or=e=>{throw TypeError(e)};var Au=(e,t)=>()=>(e&&(t=e(e=0)),t);var ye=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),We=(e,t)=>{for(var r in t)$e(e,r,{get:t[r],enumerable:!0});},ir=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of hu(t))!yu.call(e,o)&&o!==r&&$e(e,o,{get:()=>t[o],enumerable:!(n=Cu(t,o))||n.enumerable});return e};var Ae=(e,t,r)=>(r=e!=null?Eu(gu(e)):{},ir($e(r,"default",{value:e,enumerable:!0}),e)),Bu=e=>ir($e({},"__esModule",{value:!0}),e);var _u=(e,t,r)=>t.has(e)||or("Cannot "+r);var sr=(e,t,r)=>t.has(e)?or("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r);var fe=(e,t,r)=>(_u(e,t,"access private method"),r);var ar=ye(yt=>{Object.defineProperty(yt,"__esModule",{value:!0});yt.default=Dr;function Dr(){}Dr.prototype={diff:function(t,r){var n,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},u=o.callback;typeof o=="function"&&(u=o,o={}),this.options=o;var i=this;function s(C){return u?(setTimeout(function(){u(void 0,C);},0),!0):C}t=this.castInput(t),r=this.castInput(r),t=this.removeEmpty(this.tokenize(t)),r=this.removeEmpty(this.tokenize(r));var D=r.length,a=t.length,c=1,p=D+a;o.maxEditLength&&(p=Math.min(p,o.maxEditLength));var f=(n=o.timeout)!==null&&n!==void 0?n:1/0,F=Date.now()+f,l=[{oldPos:-1,lastComponent:void 0}],d=this.extractCommon(l[0],r,t,0);if(l[0].oldPos+1>=a&&d+1>=D)return s([{value:this.join(r),count:r.length}]);var m=-1/0,E=1/0;function A(){for(var C=Math.max(m,-c);C<=Math.min(E,c);C+=2){var h=void 0,v=l[C-1],k=l[C+1];v&&(l[C-1]=void 0);var W=!1;if(k){var ge=k.oldPos-C;W=k&&0<=ge&&ge<D;}var gt=v&&v.oldPos+1<a;if(!W&&!gt){l[C]=void 0;continue}if(!gt||W&&v.oldPos+1<k.oldPos?h=i.addToPath(k,!0,void 0,0):h=i.addToPath(v,void 0,!0,1),d=i.extractCommon(h,r,t,C),h.oldPos+1>=a&&d+1>=D)return s(xu(i,h.lastComponent,r,t,i.useLongestToken));l[C]=h,h.oldPos+1>=a&&(E=Math.min(E,C-1)),d+1>=D&&(m=Math.max(m,C+1));}c++;}if(u)(function C(){setTimeout(function(){if(c>p||Date.now()>F)return u();A()||C();},0);})();else for(;c<=p&&Date.now()<=F;){var _=A();if(_)return _}},addToPath:function(t,r,n,o){var u=t.lastComponent;return u&&u.added===r&&u.removed===n?{oldPos:t.oldPos+o,lastComponent:{count:u.count+1,added:r,removed:n,previousComponent:u.previousComponent}}:{oldPos:t.oldPos+o,lastComponent:{count:1,added:r,removed:n,previousComponent:u}}},extractCommon:function(t,r,n,o){for(var u=r.length,i=n.length,s=t.oldPos,D=s-o,a=0;D+1<u&&s+1<i&&this.equals(r[D+1],n[s+1]);)D++,s++,a++;return a&&(t.lastComponent={count:a,previousComponent:t.lastComponent}),t.oldPos=s,D},equals:function(t,r){return this.options.comparator?this.options.comparator(t,r):t===r||this.options.ignoreCase&&t.toLowerCase()===r.toLowerCase()},removeEmpty:function(t){for(var r=[],n=0;n<t.length;n++)t[n]&&r.push(t[n]);return r},castInput:function(t){return t},tokenize:function(t){return t.split("")},join:function(t){return t.join("")}};function xu(e,t,r,n,o){for(var u=[],i;t;)u.push(t),i=t.previousComponent,delete t.previousComponent,t=i;u.reverse();for(var s=0,D=u.length,a=0,c=0;s<D;s++){var p=u[s];if(p.removed){if(p.value=e.join(n.slice(c,c+p.count)),c+=p.count,s&&u[s-1].added){var F=u[s-1];u[s-1]=u[s],u[s]=F;}}else {if(!p.added&&o){var f=r.slice(a,a+p.count);f=f.map(function(d,m){var E=n[c+m];return E.length>d.length?E:d}),p.value=e.join(f);}else p.value=e.join(r.slice(a,a+p.count));a+=p.count,p.added||(c+=p.count);}}var l=u[D-1];return D>1&&typeof l.value=="string"&&(l.added||l.removed)&&e.equals("",l.value)&&(u[D-2].value+=l.value,u.pop()),u}});var cr=ye(_e=>{Object.defineProperty(_e,"__esModule",{value:!0});_e.diffArrays=Ou;_e.arrayDiff=void 0;var ku=wu(ar());function wu(e){return e&&e.__esModule?e:{default:e}}var Be=new ku.default;_e.arrayDiff=Be;Be.tokenize=function(e){return e.slice()};Be.join=Be.removeEmpty=function(e){return e};function Ou(e,t,r){return Be.diff(e,t,r)}});var ot=ye((tD,rn)=>{var tn=new Proxy(String,{get:()=>tn});rn.exports=tn;});var wn={};We(wn,{default:()=>Ao,shouldHighlight:()=>yo});var yo,Ao,On=Au(()=>{yo=()=>!1,Ao=String;});var Tn=ye((Ba,qt)=>{var g=String,Nn=function(){return {isColorSupported:!1,reset:g,bold:g,dim:g,italic:g,underline:g,inverse:g,hidden:g,strikethrough:g,black:g,red:g,green:g,yellow:g,blue:g,magenta:g,cyan:g,white:g,gray:g,bgBlack:g,bgRed:g,bgGreen:g,bgYellow:g,bgBlue:g,bgMagenta:g,bgCyan:g,bgWhite:g}};qt.exports=Nn();qt.exports.createColors=Nn;});var jn=ye(Ct=>{Object.defineProperty(Ct,"__esModule",{value:!0});Ct.codeFrameColumns=Yn;Ct.default=wo;var Sn=(On(),Bu(wn)),In=Bo(Tn(),!0);function Rn(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,r=new WeakMap;return (Rn=function(n){return n?r:t})(e)}function Bo(e,t){if(e===null||typeof e!="object"&&typeof e!="function")return {default:e};var r=Rn(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if(u!=="default"&&{}.hasOwnProperty.call(e,u)){var i=o?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,r&&r.set(e,n),n}var _o=In.default,vn=(e,t)=>r=>e(t(r)),Jt;function bo(e){if(e){return (Jt)!=null||(Jt=(0, In.createColors)(!0)),Jt}return _o}var Pn=!1;function xo(e){return {gutter:e.gray,marker:vn(e.red,e.bold),message:vn(e.red,e.bold)}}var Ln=/\r\n|[\n\r\u2028\u2029]/;function ko(e,t,r){let n=Object.assign({column:0,line:-1},e.start),o=Object.assign({},n,e.end),{linesAbove:u=2,linesBelow:i=3}=r||{},s=n.line,D=n.column,a=o.line,c=o.column,p=Math.max(s-(u+1),0),f=Math.min(t.length,a+i);s===-1&&(p=0),a===-1&&(f=t.length);let F=a-s,l={};if(F)for(let d=0;d<=F;d++){let m=d+s;if(!D)l[m]=!0;else if(d===0){let E=t[m-1].length;l[m]=[D,E-D+1];}else if(d===F)l[m]=[0,c];else {let E=t[m-d].length;l[m]=[0,E];}}else D===c?D?l[s]=[D,0]:l[s]=!0:l[s]=[D,c-D];return {start:p,end:f,markerLines:l}}function Yn(e,t,r={}){let n=(r.highlightCode||r.forceColor)&&(0, Sn.shouldHighlight)(r),o=bo(r.forceColor),u=xo(o),i=(d,m)=>n?d(m):m,s=e.split(Ln),{start:D,end:a,markerLines:c}=ko(t,s,r),p=t.start&&typeof t.start.column=="number",f=String(a).length,l=(n?(0, Sn.default)(e,r):e).split(Ln,a).slice(D,a).map((d,m)=>{let E=D+1+m,_=` ${` ${E}`.slice(-f)} |`,C=c[E],h=!c[E+1];if(C){let v="";if(Array.isArray(C)){let k=d.slice(0,Math.max(C[0]-1,0)).replace(/[^\t]/g," "),W=C[1]||1;v=[`
|
|
30835
|
-
`,i(u.gutter,_.replace(/\d/g," "))," ",k,i(u.marker,"^").repeat(W)].join(""),h&&r.message&&(v+=" "+i(u.message,r.message));}return [i(u.marker,">"),i(u.gutter,_),d.length>0?` ${d}`:"",v].join("")}else return ` ${i(u.gutter,_)}${d.length>0?` ${d}`:""}`}).join(`
|
|
30836
|
-
`);return r.message&&!p&&(l=`${" ".repeat(f+1)}${r.message}
|
|
30837
|
-
${l}`),n?o.reset(l):l}function wo(e,t,r,n={}){if(!Pn){Pn=!0;let u="Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";{let i=new Error(u);i.name="DeprecationWarning",console.warn(new Error(u));}}return r=Math.max(r,0),Yn(e,{start:{column:r,line:t}},n)}});var ur={};We(ur,{__debug:()=>ai,check:()=>si,doc:()=>tr,format:()=>mu,formatWithCursor:()=>du,getSupportInfo:()=>Di,util:()=>nr,version:()=>Du});var bu=(e,t,r,n)=>{if(!(e&&t==null))return t.replaceAll?t.replaceAll(r,n):r.global?t.replace(r,n):t.split(r).join(n)},re=bu;var Qn=Ae(cr());function lr(e){let t=e.indexOf("\r");return t>=0?e.charAt(t+1)===`
|
|
30838
|
-
`?"crlf":"cr":"lf"}function be(e){switch(e){case"cr":return "\r";case"crlf":return `\r
|
|
30839
|
-
`;default:return `
|
|
30840
|
-
`}}function At(e,t){let r;switch(t){case`
|
|
30841
|
-
`:r=/\n/g;break;case"\r":r=/\r/g;break;case`\r
|
|
30842
|
-
`:r=/\r\n/g;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(t)}.`)}let n=e.match(r);return n?n.length:0}function fr(e){return re(!1,e,/\r\n?/g,`
|
|
30843
|
-
`)}var G="string",V="array",z="cursor",P="indent",L="align",I="trim",b="group",N="fill",x="if-break",R="indent-if-break",Y="line-suffix",j="line-suffix-boundary",B="line",T="label",w="break-parent",Ue=new Set([z,P,L,I,b,N,x,R,Y,j,B,T,w]);function Nu(e){if(typeof e=="string")return G;if(Array.isArray(e))return V;if(!e)return;let{type:t}=e;if(Ue.has(t))return t}var K=Nu;var Tu=e=>new Intl.ListFormat("en-US",{type:"disjunction"}).format(e);function Su(e){let t=e===null?"null":typeof e;if(t!=="string"&&t!=="object")return `Unexpected doc '${t}',
|
|
30844
|
-
Expected it to be 'string' or 'object'.`;if(K(e))throw new Error("doc is valid.");let r=Object.prototype.toString.call(e);if(r!=="[object Object]")return `Unexpected doc '${r}'.`;let n=Tu([...Ue].map(o=>`'${o}'`));return `Unexpected doc.type '${e.type}'.
|
|
30845
|
-
Expected it to be ${n}.`}var Bt=class extends Error{name="InvalidDocError";constructor(t){super(Su(t)),this.doc=t;}},Z=Bt;var Fr={};function vu(e,t,r,n){let o=[e];for(;o.length>0;){let u=o.pop();if(u===Fr){r(o.pop());continue}r&&o.push(u,Fr);let i=K(u);if(!i)throw new Z(u);if((t==null?void 0:t(u))!==!1)switch(i){case V:case N:{let s=i===V?u:u.parts;for(let D=s.length,a=D-1;a>=0;--a)o.push(s[a]);break}case x:o.push(u.flatContents,u.breakContents);break;case b:if(n&&u.expandedStates)for(let s=u.expandedStates.length,D=s-1;D>=0;--D)o.push(u.expandedStates[D]);else o.push(u.contents);break;case L:case P:case R:case T:case Y:o.push(u.contents);break;case G:case z:case I:case j:case B:case w:break;default:throw new Z(u)}}}var xe=vu;var pr=()=>{},Ge=pr;function De(e){return {type:P,contents:e}}function se(e,t){return {type:L,contents:t,n:e}}function _t(e,t={}){return Ge(t.expandedStates),{type:b,id:t.id,contents:e,break:!!t.shouldBreak,expandedStates:t.expandedStates}}function dr(e){return se(Number.NEGATIVE_INFINITY,e)}function mr(e){return se({type:"root"},e)}function Er(e){return se(-1,e)}function Cr(e,t){return _t(e[0],{...t,expandedStates:e})}function ze(e){return {type:N,parts:e}}function hr(e,t="",r={}){return {type:x,breakContents:e,flatContents:t,groupId:r.groupId}}function gr(e,t){return {type:R,contents:e,groupId:t.groupId,negate:t.negate}}function ke(e){return {type:Y,contents:e}}var yr={type:j},Fe={type:w},Ar={type:I},we={type:B,hard:!0},bt={type:B,hard:!0,literal:!0},Ke={type:B},Br={type:B,soft:!0},q=[we,Fe],He=[bt,Fe],Oe={type:z};function Ne(e,t){let r=[];for(let n=0;n<t.length;n++)n!==0&&r.push(e),r.push(t[n]);return r}function qe(e,t,r){let n=e;if(t>0){for(let o=0;o<Math.floor(t/r);++o)n=De(n);n=se(t%r,n),n=se(Number.NEGATIVE_INFINITY,n);}return n}function _r(e,t){return e?{type:T,label:e,contents:t}:t}function Q(e){var t;if(!e)return "";if(Array.isArray(e)){let r=[];for(let n of e)if(Array.isArray(n))r.push(...Q(n));else {let o=Q(n);o!==""&&r.push(o);}return r}return e.type===x?{...e,breakContents:Q(e.breakContents),flatContents:Q(e.flatContents)}:e.type===b?{...e,contents:Q(e.contents),expandedStates:(t=e.expandedStates)==null?void 0:t.map(Q)}:e.type===N?{type:"fill",parts:e.parts.map(Q)}:e.contents?{...e,contents:Q(e.contents)}:e}function br(e){let t=Object.create(null),r=new Set;return n(Q(e));function n(u,i,s){var D,a;if(typeof u=="string")return JSON.stringify(u);if(Array.isArray(u)){let c=u.map(n).filter(Boolean);return c.length===1?c[0]:`[${c.join(", ")}]`}if(u.type===B){let c=((D=s==null?void 0:s[i+1])==null?void 0:D.type)===w;return u.literal?c?"literalline":"literallineWithoutBreakParent":u.hard?c?"hardline":"hardlineWithoutBreakParent":u.soft?"softline":"line"}if(u.type===w)return ((a=s==null?void 0:s[i-1])==null?void 0:a.type)===B&&s[i-1].hard?void 0:"breakParent";if(u.type===I)return "trim";if(u.type===P)return "indent("+n(u.contents)+")";if(u.type===L)return u.n===Number.NEGATIVE_INFINITY?"dedentToRoot("+n(u.contents)+")":u.n<0?"dedent("+n(u.contents)+")":u.n.type==="root"?"markAsRoot("+n(u.contents)+")":"align("+JSON.stringify(u.n)+", "+n(u.contents)+")";if(u.type===x)return "ifBreak("+n(u.breakContents)+(u.flatContents?", "+n(u.flatContents):"")+(u.groupId?(u.flatContents?"":', ""')+`, { groupId: ${o(u.groupId)} }`:"")+")";if(u.type===R){let c=[];u.negate&&c.push("negate: true"),u.groupId&&c.push(`groupId: ${o(u.groupId)}`);let p=c.length>0?`, { ${c.join(", ")} }`:"";return `indentIfBreak(${n(u.contents)}${p})`}if(u.type===b){let c=[];u.break&&u.break!=="propagated"&&c.push("shouldBreak: true"),u.id&&c.push(`id: ${o(u.id)}`);let p=c.length>0?`, { ${c.join(", ")} }`:"";return u.expandedStates?`conditionalGroup([${u.expandedStates.map(f=>n(f)).join(",")}]${p})`:`group(${n(u.contents)}${p})`}if(u.type===N)return `fill([${u.parts.map(c=>n(c)).join(", ")}])`;if(u.type===Y)return "lineSuffix("+n(u.contents)+")";if(u.type===j)return "lineSuffixBoundary";if(u.type===T)return `label(${JSON.stringify(u.label)}, ${n(u.contents)})`;throw new Error("Unknown doc type "+u.type)}function o(u){if(typeof u!="symbol")return JSON.stringify(String(u));if(u in t)return t[u];let i=u.description||"symbol";for(let s=0;;s++){let D=i+(s>0?` #${s}`:"");if(!r.has(D))return r.add(D),t[u]=`Symbol.for(${JSON.stringify(D)})`}}}var Pu=(e,t,r)=>{if(!(e&&t==null))return Array.isArray(t)||typeof t=="string"?t[r<0?t.length+r:r]:t.at(r)},y=Pu;var xr=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\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?|[\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](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\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-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC2\uDECE-\uDEDB\uDEE0-\uDEE8]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;function kr(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function wr(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9800&&e<=9811||e===9855||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12771||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e===94192||e===94193||e>=94208&&e<=100343||e>=100352&&e<=101589||e>=101632&&e<=101640||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128727||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129672||e>=129680&&e<=129725||e>=129727&&e<=129733||e>=129742&&e<=129755||e>=129760&&e<=129768||e>=129776&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}var Or=e=>!(kr(e)||wr(e));var Lu=/[^\x20-\x7F]/;function Iu(e){if(!e)return 0;if(!Lu.test(e))return e.length;e=e.replace(xr()," ");let t=0;for(let r of e){let n=r.codePointAt(0);n<=31||n>=127&&n<=159||n>=768&&n<=879||(t+=Or(n)?1:2);}return t}var Te=Iu;function ve(e,t){if(typeof e=="string")return t(e);let r=new Map;return n(e);function n(u){if(r.has(u))return r.get(u);let i=o(u);return r.set(u,i),i}function o(u){switch(K(u)){case V:return t(u.map(n));case N:return t({...u,parts:u.parts.map(n)});case x:return t({...u,breakContents:n(u.breakContents),flatContents:n(u.flatContents)});case b:{let{expandedStates:i,contents:s}=u;return i?(i=i.map(n),s=i[0]):s=n(s),t({...u,contents:s,expandedStates:i})}case L:case P:case R:case T:case Y:return t({...u,contents:n(u.contents)});case G:case z:case I:case j:case B:case w:return t(u);default:throw new Z(u)}}}function Je(e,t,r){let n=r,o=!1;function u(i){if(o)return !1;let s=t(i);s!==void 0&&(o=!0,n=s);}return xe(e,u),n}function Ru(e){if(e.type===b&&e.break||e.type===B&&e.hard||e.type===w)return !0}function Sr(e){return Je(e,Ru,!1)}function Nr(e){if(e.length>0){let t=y(!1,e,-1);!t.expandedStates&&!t.break&&(t.break="propagated");}return null}function vr(e){let t=new Set,r=[];function n(u){if(u.type===w&&Nr(r),u.type===b){if(r.push(u),t.has(u))return !1;t.add(u);}}function o(u){u.type===b&&r.pop().break&&Nr(r);}xe(e,n,o,!0);}function Yu(e){return e.type===B&&!e.hard?e.soft?"":" ":e.type===x?e.flatContents:e}function Pr(e){return ve(e,Yu)}function Tr(e){for(e=[...e];e.length>=2&&y(!1,e,-2).type===B&&y(!1,e,-1).type===w;)e.length-=2;if(e.length>0){let t=Se(y(!1,e,-1));e[e.length-1]=t;}return e}function Se(e){switch(K(e)){case P:case R:case b:case Y:case T:{let t=Se(e.contents);return {...e,contents:t}}case x:return {...e,breakContents:Se(e.breakContents),flatContents:Se(e.flatContents)};case N:return {...e,parts:Tr(e.parts)};case V:return Tr(e);case G:return e.replace(/[\n\r]*$/,"");case L:case z:case I:case j:case B:case w:break;default:throw new Z(e)}return e}function Xe(e){return Se(Mu(e))}function ju(e){switch(K(e)){case N:if(e.parts.every(t=>t===""))return "";break;case b:if(!e.contents&&!e.id&&!e.break&&!e.expandedStates)return "";if(e.contents.type===b&&e.contents.id===e.id&&e.contents.break===e.break&&e.contents.expandedStates===e.expandedStates)return e.contents;break;case L:case P:case R:case Y:if(!e.contents)return "";break;case x:if(!e.flatContents&&!e.breakContents)return "";break;case V:{let t=[];for(let r of e){if(!r)continue;let[n,...o]=Array.isArray(r)?r:[r];typeof n=="string"&&typeof y(!1,t,-1)=="string"?t[t.length-1]+=n:t.push(n),t.push(...o);}return t.length===0?"":t.length===1?t[0]:t}case G:case z:case I:case j:case B:case T:case w:break;default:throw new Z(e)}return e}function Mu(e){return ve(e,t=>ju(t))}function Lr(e,t=He){return ve(e,r=>typeof r=="string"?Ne(t,r.split(`
|
|
30846
|
-
`)):r)}function Vu(e){if(e.type===B)return !0}function Ir(e){return Je(e,Vu,!1)}function Ze(e,t){return e.type===T?{...e,contents:t(e.contents)}:t(e)}var M=Symbol("MODE_BREAK"),J=Symbol("MODE_FLAT"),Pe=Symbol("cursor");function Rr(){return {value:"",length:0,queue:[]}}function $u(e,t){return xt(e,{type:"indent"},t)}function Wu(e,t,r){return t===Number.NEGATIVE_INFINITY?e.root||Rr():t<0?xt(e,{type:"dedent"},r):t?t.type==="root"?{...e,root:e}:xt(e,{type:typeof t=="string"?"stringAlign":"numberAlign",n:t},r):e}function xt(e,t,r){let n=t.type==="dedent"?e.queue.slice(0,-1):[...e.queue,t],o="",u=0,i=0,s=0;for(let l of n)switch(l.type){case"indent":c(),r.useTabs?D(1):a(r.tabWidth);break;case"stringAlign":c(),o+=l.n,u+=l.n.length;break;case"numberAlign":i+=1,s+=l.n;break;default:throw new Error(`Unexpected type '${l.type}'`)}return f(),{...e,value:o,length:u,queue:n};function D(l){o+=" ".repeat(l),u+=r.tabWidth*l;}function a(l){o+=" ".repeat(l),u+=l;}function c(){r.useTabs?p():f();}function p(){i>0&&D(i),F();}function f(){s>0&&a(s),F();}function F(){i=0,s=0;}}function kt(e){let t=0,r=0,n=e.length;e:for(;n--;){let o=e[n];if(o===Pe){r++;continue}for(let u=o.length-1;u>=0;u--){let i=o[u];if(i===" "||i===" ")t++;else {e[n]=o.slice(0,u+1);break e}}}if(t>0||r>0)for(e.length=n+1;r-- >0;)e.push(Pe);return t}function Qe(e,t,r,n,o,u){if(r===Number.POSITIVE_INFINITY)return !0;let i=t.length,s=[e],D=[];for(;r>=0;){if(s.length===0){if(i===0)return !0;s.push(t[--i]);continue}let{mode:a,doc:c}=s.pop(),p=K(c);switch(p){case G:D.push(c),r-=Te(c);break;case V:case N:{let f=p===V?c:c.parts;for(let F=f.length-1;F>=0;F--)s.push({mode:a,doc:f[F]});break}case P:case L:case R:case T:s.push({mode:a,doc:c.contents});break;case I:r+=kt(D);break;case b:{if(u&&c.break)return !1;let f=c.break?M:a,F=c.expandedStates&&f===M?y(!1,c.expandedStates,-1):c.contents;s.push({mode:f,doc:F});break}case x:{let F=(c.groupId?o[c.groupId]||J:a)===M?c.breakContents:c.flatContents;F&&s.push({mode:a,doc:F});break}case B:if(a===M||c.hard)return !0;c.soft||(D.push(" "),r--);break;case Y:n=!0;break;case j:if(n)return !1;break}}return !1}function pe(e,t){let r={},n=t.printWidth,o=be(t.endOfLine),u=0,i=[{ind:Rr(),mode:M,doc:e}],s=[],D=!1,a=[],c=0;for(vr(e);i.length>0;){let{ind:f,mode:F,doc:l}=i.pop();switch(K(l)){case G:{let d=o!==`
|
|
30847
|
-
`?re(!1,l,`
|
|
30848
|
-
`,o):l;s.push(d),i.length>0&&(u+=Te(d));break}case V:for(let d=l.length-1;d>=0;d--)i.push({ind:f,mode:F,doc:l[d]});break;case z:if(c>=2)throw new Error("There are too many 'cursor' in doc.");s.push(Pe),c++;break;case P:i.push({ind:$u(f,t),mode:F,doc:l.contents});break;case L:i.push({ind:Wu(f,l.n,t),mode:F,doc:l.contents});break;case I:u-=kt(s);break;case b:switch(F){case J:if(!D){i.push({ind:f,mode:l.break?M:J,doc:l.contents});break}case M:{D=!1;let d={ind:f,mode:J,doc:l.contents},m=n-u,E=a.length>0;if(!l.break&&Qe(d,i,m,E,r))i.push(d);else if(l.expandedStates){let A=y(!1,l.expandedStates,-1);if(l.break){i.push({ind:f,mode:M,doc:A});break}else for(let _=1;_<l.expandedStates.length+1;_++)if(_>=l.expandedStates.length){i.push({ind:f,mode:M,doc:A});break}else {let C=l.expandedStates[_],h={ind:f,mode:J,doc:C};if(Qe(h,i,m,E,r)){i.push(h);break}}}else i.push({ind:f,mode:M,doc:l.contents});break}}l.id&&(r[l.id]=y(!1,i,-1).mode);break;case N:{let d=n-u,{parts:m}=l;if(m.length===0)break;let[E,A]=m,_={ind:f,mode:J,doc:E},C={ind:f,mode:M,doc:E},h=Qe(_,[],d,a.length>0,r,!0);if(m.length===1){h?i.push(_):i.push(C);break}let v={ind:f,mode:J,doc:A},k={ind:f,mode:M,doc:A};if(m.length===2){h?i.push(v,_):i.push(k,C);break}m.splice(0,2);let W={ind:f,mode:F,doc:ze(m)},ge=m[0];Qe({ind:f,mode:J,doc:[E,A,ge]},[],d,a.length>0,r,!0)?i.push(W,v,_):h?i.push(W,k,_):i.push(W,k,C);break}case x:case R:{let d=l.groupId?r[l.groupId]:F;if(d===M){let m=l.type===x?l.breakContents:l.negate?l.contents:De(l.contents);m&&i.push({ind:f,mode:F,doc:m});}if(d===J){let m=l.type===x?l.flatContents:l.negate?De(l.contents):l.contents;m&&i.push({ind:f,mode:F,doc:m});}break}case Y:a.push({ind:f,mode:F,doc:l.contents});break;case j:a.length>0&&i.push({ind:f,mode:F,doc:we});break;case B:switch(F){case J:if(l.hard)D=!0;else {l.soft||(s.push(" "),u+=1);break}case M:if(a.length>0){i.push({ind:f,mode:F,doc:l},...a.reverse()),a.length=0;break}l.literal?f.root?(s.push(o,f.root.value),u=f.root.length):(s.push(o),u=0):(u-=kt(s),s.push(o+f.value),u=f.length);break}break;case T:i.push({ind:f,mode:F,doc:l.contents});break;case w:break;default:throw new Z(l)}i.length===0&&a.length>0&&(i.push(...a.reverse()),a.length=0);}let p=s.indexOf(Pe);if(p!==-1){let f=s.indexOf(Pe,p+1),F=s.slice(0,p).join(""),l=s.slice(p+1,f).join(""),d=s.slice(f+1).join("");return {formatted:F+l+d,cursorNodeStart:F.length,cursorNodeText:l}}return {formatted:s.join("")}}function Uu(e,t,r=0){let n=0;for(let o=r;o<e.length;++o)e[o]===" "?n=n+t-n%t:n++;return n}var de=Uu;var ee,Ot,et,wt=class{constructor(t){sr(this,ee);this.stack=[t];}get key(){let{stack:t,siblings:r}=this;return y(!1,t,r===null?-2:-4)??null}get index(){return this.siblings===null?null:y(!1,this.stack,-2)}get node(){return y(!1,this.stack,-1)}get parent(){return this.getNode(1)}get grandparent(){return this.getNode(2)}get isInArray(){return this.siblings!==null}get siblings(){let{stack:t}=this,r=y(!1,t,-3);return Array.isArray(r)?r:null}get next(){let{siblings:t}=this;return t===null?null:t[this.index+1]}get previous(){let{siblings:t}=this;return t===null?null:t[this.index-1]}get isFirst(){return this.index===0}get isLast(){let{siblings:t,index:r}=this;return t!==null&&r===t.length-1}get isRoot(){return this.stack.length===1}get root(){return this.stack[0]}get ancestors(){return [...fe(this,ee,et).call(this)]}getName(){let{stack:t}=this,{length:r}=t;return r>1?y(!1,t,-2):null}getValue(){return y(!1,this.stack,-1)}getNode(t=0){let r=fe(this,ee,Ot).call(this,t);return r===-1?null:this.stack[r]}getParentNode(t=0){return this.getNode(t+1)}call(t,...r){let{stack:n}=this,{length:o}=n,u=y(!1,n,-1);for(let i of r)u=u[i],n.push(i,u);try{return t(this)}finally{n.length=o;}}callParent(t,r=0){let n=fe(this,ee,Ot).call(this,r+1),o=this.stack.splice(n+1);try{return t(this)}finally{this.stack.push(...o);}}each(t,...r){let{stack:n}=this,{length:o}=n,u=y(!1,n,-1);for(let i of r)u=u[i],n.push(i,u);try{for(let i=0;i<u.length;++i)n.push(i,u[i]),t(this,i,u),n.length-=2;}finally{n.length=o;}}map(t,...r){let n=[];return this.each((o,u,i)=>{n[u]=t(o,u,i);},...r),n}match(...t){let r=this.stack.length-1,n=null,o=this.stack[r--];for(let u of t){if(o===void 0)return !1;let i=null;if(typeof n=="number"&&(i=n,n=this.stack[r--],o=this.stack[r--]),u&&!u(o,n,i))return !1;n=this.stack[r--],o=this.stack[r--];}return !0}findAncestor(t){for(let r of fe(this,ee,et).call(this))if(t(r))return r}hasAncestor(t){for(let r of fe(this,ee,et).call(this))if(t(r))return !0;return !1}};ee=new WeakSet,Ot=function(t){let{stack:r}=this;for(let n=r.length-1;n>=0;n-=2)if(!Array.isArray(r[n])&&--t<0)return n;return -1},et=function*(){let{stack:t}=this;for(let r=t.length-3;r>=0;r-=2){let n=t[r];Array.isArray(n)||(yield n);}};var Yr=wt;var jr=new Proxy(()=>{},{get:()=>jr}),Le=jr;function Gu(e){return e!==null&&typeof e=="object"}var Mr=Gu;function*Nt(e,t){let{getVisitorKeys:r,filter:n=()=>!0}=t,o=u=>Mr(u)&&n(u);for(let u of r(e)){let i=e[u];if(Array.isArray(i))for(let s of i)o(s)&&(yield s);else o(i)&&(yield i);}}function*Vr(e,t){let r=[e];for(let n=0;n<r.length;n++){let o=r[n];for(let u of Nt(o,t))yield u,r.push(u);}}function me(e){return (t,r,n)=>{let o=!!(n!=null&&n.backwards);if(r===!1)return !1;let{length:u}=t,i=r;for(;i>=0&&i<u;){let s=t.charAt(i);if(e instanceof RegExp){if(!e.test(s))return i}else if(!e.includes(s))return i;o?i--:i++;}return i===-1||i===u?i:!1}}var $r=me(/\s/),S=me(" "),tt=me(",; "),rt=me(/[^\n\r]/);function zu(e,t,r){let n=!!(r!=null&&r.backwards);if(t===!1)return !1;let o=e.charAt(t);if(n){if(e.charAt(t-1)==="\r"&&o===`
|
|
30849
|
-
`)return t-2;if(o===`
|
|
30850
|
-
`||o==="\r"||o==="\u2028"||o==="\u2029")return t-1}else {if(o==="\r"&&e.charAt(t+1)===`
|
|
30851
|
-
`)return t+2;if(o===`
|
|
30852
|
-
`||o==="\r"||o==="\u2028"||o==="\u2029")return t+1}return t}var $=zu;function Ku(e,t,r={}){let n=S(e,r.backwards?t-1:t,r),o=$(e,n,r);return n!==o}var U=Ku;function Hu(e){return Array.isArray(e)&&e.length>0}var Tt=Hu;var Wr=new Set(["tokens","comments","parent","enclosingNode","precedingNode","followingNode"]),qu=e=>Object.keys(e).filter(t=>!Wr.has(t));function Ju(e){return e?t=>e(t,Wr):qu}var X=Ju;function Xu(e){let t=e.type||e.kind||"(unknown type)",r=String(e.name||e.id&&(typeof e.id=="object"?e.id.name:e.id)||e.key&&(typeof e.key=="object"?e.key.name:e.key)||e.value&&(typeof e.value=="object"?"":String(e.value))||e.operator||"");return r.length>20&&(r=r.slice(0,19)+"\u2026"),t+(r?" "+r:"")}function St(e,t){(e.comments??(e.comments=[])).push(t),t.printed=!1,t.nodeDescription=Xu(e);}function ne(e,t){t.leading=!0,t.trailing=!1,St(e,t);}function te(e,t,r){t.leading=!1,t.trailing=!1,r&&(t.marker=r),St(e,t);}function ue(e,t){t.leading=!1,t.trailing=!0,St(e,t);}var vt=new WeakMap;function nt(e,t){if(vt.has(e))return vt.get(e);let{printer:{getCommentChildNodes:r,canAttachComment:n,getVisitorKeys:o},locStart:u,locEnd:i}=t;if(!n)return [];let s=((r==null?void 0:r(e,t))??[...Nt(e,{getVisitorKeys:X(o)})]).flatMap(D=>n(D)?[D]:nt(D,t));return s.sort((D,a)=>u(D)-u(a)||i(D)-i(a)),vt.set(e,s),s}function Gr(e,t,r,n){let{locStart:o,locEnd:u}=r,i=o(t),s=u(t),D=nt(e,r),a,c,p=0,f=D.length;for(;p<f;){let F=p+f>>1,l=D[F],d=o(l),m=u(l);if(d<=i&&s<=m)return Gr(l,t,r,l);if(m<=i){a=l,p=F+1;continue}if(s<=d){c=l,f=F;continue}throw new Error("Comment location overlaps with node location")}if((n==null?void 0:n.type)==="TemplateLiteral"){let{quasis:F}=n,l=Lt(F,t,r);a&&Lt(F,a,r)!==l&&(a=null),c&&Lt(F,c,r)!==l&&(c=null);}return {enclosingNode:n,precedingNode:a,followingNode:c}}var Pt=()=>!1;function zr(e,t){let{comments:r}=e;if(delete e.comments,!Tt(r)||!t.printer.canAttachComment)return;let n=[],{locStart:o,locEnd:u,printer:{experimentalFeatures:{avoidAstMutation:i=!1}={},handleComments:s={}},originalText:D}=t,{ownLine:a=Pt,endOfLine:c=Pt,remaining:p=Pt}=s,f=r.map((F,l)=>({...Gr(e,F,t),comment:F,text:D,options:t,ast:e,isLastComment:r.length-1===l}));for(let[F,l]of f.entries()){let{comment:d,precedingNode:m,enclosingNode:E,followingNode:A,text:_,options:C,ast:h,isLastComment:v}=l;if(C.parser==="json"||C.parser==="json5"||C.parser==="jsonc"||C.parser==="__js_expression"||C.parser==="__ts_expression"||C.parser==="__vue_expression"||C.parser==="__vue_ts_expression"){if(o(d)-o(h)<=0){ne(h,d);continue}if(u(d)-u(h)>=0){ue(h,d);continue}}let k;if(i?k=[l]:(d.enclosingNode=E,d.precedingNode=m,d.followingNode=A,k=[d,_,C,h,v]),Zu(_,C,f,F))d.placement="ownLine",a(...k)||(A?ne(A,d):m?ue(m,d):E?te(E,d):te(h,d));else if(Qu(_,C,f,F))d.placement="endOfLine",c(...k)||(m?ue(m,d):A?ne(A,d):E?te(E,d):te(h,d));else if(d.placement="remaining",!p(...k))if(m&&A){let W=n.length;W>0&&n[W-1].followingNode!==A&&Ur(n,C),n.push(l);}else m?ue(m,d):A?ne(A,d):E?te(E,d):te(h,d);}if(Ur(n,t),!i)for(let F of r)delete F.precedingNode,delete F.enclosingNode,delete F.followingNode;}var Kr=e=>!/[\S\n\u2028\u2029]/.test(e);function Zu(e,t,r,n){let{comment:o,precedingNode:u}=r[n],{locStart:i,locEnd:s}=t,D=i(o);if(u)for(let a=n-1;a>=0;a--){let{comment:c,precedingNode:p}=r[a];if(p!==u||!Kr(e.slice(s(c),D)))break;D=i(c);}return U(e,D,{backwards:!0})}function Qu(e,t,r,n){let{comment:o,followingNode:u}=r[n],{locStart:i,locEnd:s}=t,D=s(o);if(u)for(let a=n+1;a<r.length;a++){let{comment:c,followingNode:p}=r[a];if(p!==u||!Kr(e.slice(D,i(c))))break;D=s(c);}return U(e,D)}function Ur(e,t){var s,D;let r=e.length;if(r===0)return;let{precedingNode:n,followingNode:o}=e[0],u=t.locStart(o),i;for(i=r;i>0;--i){let{comment:a,precedingNode:c,followingNode:p}=e[i-1];Le.strictEqual(c,n),Le.strictEqual(p,o);let f=t.originalText.slice(t.locEnd(a),u);if(((D=(s=t.printer).isGap)==null?void 0:D.call(s,f,t))??/^[\s(]*$/.test(f))u=t.locStart(a);else break}for(let[a,{comment:c}]of e.entries())a<i?ue(n,c):ne(o,c);for(let a of [n,o])a.comments&&a.comments.length>1&&a.comments.sort((c,p)=>t.locStart(c)-t.locStart(p));e.length=0;}function Lt(e,t,r){let n=r.locStart(t)-1;for(let o=1;o<e.length;++o)if(n<r.locStart(e[o]))return o-1;return 0}function eo(e,t){let r=t-1;r=S(e,r,{backwards:!0}),r=$(e,r,{backwards:!0}),r=S(e,r,{backwards:!0});let n=$(e,r,{backwards:!0});return r!==n}var Ie=eo;function Hr(e,t){let r=e.node;return r.printed=!0,t.printer.printComment(e,t)}function to(e,t){var c;let r=e.node,n=[Hr(e,t)],{printer:o,originalText:u,locStart:i,locEnd:s}=t;if((c=o.isBlockComment)==null?void 0:c.call(o,r)){let p=U(u,s(r))?U(u,i(r),{backwards:!0})?q:Ke:" ";n.push(p);}else n.push(q);let a=$(u,S(u,s(r)));return a!==!1&&U(u,a)&&n.push(q),n}function ro(e,t,r){var a;let n=e.node,o=Hr(e,t),{printer:u,originalText:i,locStart:s}=t,D=(a=u.isBlockComment)==null?void 0:a.call(u,n);if(r!=null&&r.hasLineSuffix&&!(r!=null&&r.isBlock)||U(i,s(n),{backwards:!0})){let c=Ie(i,s(n));return {doc:ke([q,c?q:"",o]),isBlock:D,hasLineSuffix:!0}}return !D||r!=null&&r.hasLineSuffix?{doc:[ke([" ",o]),Fe],isBlock:D,hasLineSuffix:!0}:{doc:[" ",o],isBlock:D,hasLineSuffix:!1}}function no(e,t){let r=e.node;if(!r)return {};let n=t[Symbol.for("printedComments")];if((r.comments||[]).filter(D=>!n.has(D)).length===0)return {leading:"",trailing:""};let u=[],i=[],s;return e.each(()=>{let D=e.node;if(n!=null&&n.has(D))return;let{leading:a,trailing:c}=D;a?u.push(to(e,t)):c&&(s=ro(e,t,s),i.push(s.doc));},"comments"),{leading:u,trailing:i}}function qr(e,t,r){let{leading:n,trailing:o}=no(e,r);return !n&&!o?t:Ze(t,u=>[n,u,o])}function Jr(e){let{[Symbol.for("comments")]:t,[Symbol.for("printedComments")]:r}=e;for(let n of t){if(!n.printed&&!r.has(n))throw new Error('Comment "'+n.value.trim()+'" was not printed. Please report this error!');delete n.printed;}}var Re=class extends Error{name="ConfigError"},Ye=class extends Error{name="UndefinedParserError"};var Zr={cursorOffset:{category:"Special",type:"int",default:-1,range:{start:-1,end:1/0,step:1},description:"Print (to stderr) where a cursor at the given position would move to after formatting.",cliCategory:"Editor"},endOfLine:{category:"Global",type:"choice",default:"lf",description:"Which end of line characters to apply.",choices:[{value:"lf",description:"Line Feed only (\\n), common on Linux and macOS as well as inside git repos"},{value:"crlf",description:"Carriage Return + Line Feed characters (\\r\\n), common on Windows"},{value:"cr",description:"Carriage Return character only (\\r), used very rarely"},{value:"auto",description:`Maintain existing
|
|
30853
|
-
(mixed values within one file are normalised by looking at what's used after the first line)`}]},filepath:{category:"Special",type:"path",description:"Specify the input filepath. This will be used to do parser inference.",cliName:"stdin-filepath",cliCategory:"Other",cliDescription:"Path to the file to pretend that stdin comes from."},insertPragma:{category:"Special",type:"boolean",default:!1,description:"Insert @format pragma into file's first docblock comment.",cliCategory:"Other"},parser:{category:"Global",type:"choice",default:void 0,description:"Which parser to use.",exception:e=>typeof e=="string"||typeof e=="function",choices:[{value:"flow",description:"Flow"},{value:"babel",description:"JavaScript"},{value:"babel-flow",description:"Flow"},{value:"babel-ts",description:"TypeScript"},{value:"typescript",description:"TypeScript"},{value:"acorn",description:"JavaScript"},{value:"espree",description:"JavaScript"},{value:"meriyah",description:"JavaScript"},{value:"css",description:"CSS"},{value:"less",description:"Less"},{value:"scss",description:"SCSS"},{value:"json",description:"JSON"},{value:"json5",description:"JSON5"},{value:"jsonc",description:"JSON with Comments"},{value:"json-stringify",description:"JSON.stringify"},{value:"graphql",description:"GraphQL"},{value:"markdown",description:"Markdown"},{value:"mdx",description:"MDX"},{value:"vue",description:"Vue"},{value:"yaml",description:"YAML"},{value:"glimmer",description:"Ember / Handlebars"},{value:"html",description:"HTML"},{value:"angular",description:"Angular"},{value:"lwc",description:"Lightning Web Components"}]},plugins:{type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>typeof e=="string"||typeof e=="object",cliName:"plugin",cliCategory:"Config"},printWidth:{category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:1/0,step:1}},rangeEnd:{category:"Special",type:"int",default:1/0,range:{start:0,end:1/0,step:1},description:`Format code ending at a given character offset (exclusive).
|
|
30854
|
-
The range will extend forwards to the end of the selected statement.`,cliCategory:"Editor"},rangeStart:{category:"Special",type:"int",default:0,range:{start:0,end:1/0,step:1},description:`Format code starting at a given character offset.
|
|
30855
|
-
The range will extend backwards to the start of the first line containing the selected statement.`,cliCategory:"Editor"},requirePragma:{category:"Special",type:"boolean",default:!1,description:`Require either '@prettier' or '@format' to be present in the file's first docblock comment
|
|
30856
|
-
in order for it to be formatted.`,cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:1/0,step:1}},useTabs:{category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{category:"Global",type:"choice",default:"auto",description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};function ut({plugins:e=[],showDeprecated:t=!1}={}){let r=e.flatMap(o=>o.languages??[]),n=[];for(let o of io(Object.assign({},...e.map(({options:u})=>u),Zr)))!t&&o.deprecated||(Array.isArray(o.choices)&&(t||(o.choices=o.choices.filter(u=>!u.deprecated)),o.name==="parser"&&(o.choices=[...o.choices,...oo(o.choices,r,e)])),o.pluginDefaults=Object.fromEntries(e.filter(u=>{var i;return ((i=u.defaultOptions)==null?void 0:i[o.name])!==void 0}).map(u=>[u.name,u.defaultOptions[o.name]])),n.push(o));return {languages:r,options:n}}function*oo(e,t,r){let n=new Set(e.map(o=>o.value));for(let o of t)if(o.parsers){for(let u of o.parsers)if(!n.has(u)){n.add(u);let i=r.find(D=>D.parsers&&Object.prototype.hasOwnProperty.call(D.parsers,u)),s=o.name;i!=null&&i.name&&(s+=` (plugin: ${i.name})`),yield {value:u,description:s};}}}function io(e){let t=[];for(let[r,n]of Object.entries(e)){let o={name:r,...n};Array.isArray(o.default)&&(o.default=y(!1,o.default,-1).value),t.push(o);}return t}var so=e=>String(e).split(/[/\\]/).pop();function Qr(e,t){if(!t)return;let r=so(t).toLowerCase();return e.find(({filenames:n})=>n==null?void 0:n.some(o=>o.toLowerCase()===r))??e.find(({extensions:n})=>n==null?void 0:n.some(o=>r.endsWith(o)))}function Do(e,t){if(t)return e.find(({name:r})=>r.toLowerCase()===t)??e.find(({aliases:r})=>r==null?void 0:r.includes(t))??e.find(({extensions:r})=>r==null?void 0:r.includes(`.${t}`))}function ao(e,t){let r=e.plugins.flatMap(o=>o.languages??[]),n=Do(r,t.language)??Qr(r,t.physicalFile)??Qr(r,t.file)??(t.physicalFile,void 0);return n==null?void 0:n.parsers[0]}var en=ao;var oe={key:e=>/^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(e)?e:JSON.stringify(e),value(e){if(e===null||typeof e!="object")return JSON.stringify(e);if(Array.isArray(e))return `[${e.map(r=>oe.value(r)).join(", ")}]`;let t=Object.keys(e);return t.length===0?"{}":`{ ${t.map(r=>`${oe.key(r)}: ${oe.value(e[r])}`).join(", ")} }`},pair:({key:e,value:t})=>oe.value({[e]:t})};var It=Ae(ot()),nn=(e,t,{descriptor:r})=>{let n=[`${It.default.yellow(typeof e=="string"?r.key(e):r.pair(e))} is deprecated`];return t&&n.push(`we now treat it as ${It.default.blue(typeof t=="string"?r.key(t):r.pair(t))}`),n.join("; ")+"."};var ae=Ae(ot());var it=Symbol.for("vnopts.VALUE_NOT_EXIST"),Ee=Symbol.for("vnopts.VALUE_UNCHANGED");var un=" ".repeat(2),sn=(e,t,r)=>{let{text:n,list:o}=r.normalizeExpectedResult(r.schemas[e].expected(r)),u=[];return n&&u.push(on(e,t,n,r.descriptor)),o&&u.push([on(e,t,o.title,r.descriptor)].concat(o.values.map(i=>Dn(i,r.loggerPrintWidth))).join(`
|
|
30857
|
-
`)),an(u,r.loggerPrintWidth)};function on(e,t,r,n){return [`Invalid ${ae.default.red(n.key(e))} value.`,`Expected ${ae.default.blue(r)},`,`but received ${t===it?ae.default.gray("nothing"):ae.default.red(n.value(t))}.`].join(" ")}function Dn({text:e,list:t},r){let n=[];return e&&n.push(`- ${ae.default.blue(e)}`),t&&n.push([`- ${ae.default.blue(t.title)}:`].concat(t.values.map(o=>Dn(o,r-un.length).replace(/^|\n/g,`$&${un}`))).join(`
|
|
30858
|
-
`)),an(n,r)}function an(e,t){if(e.length===1)return e[0];let[r,n]=e,[o,u]=e.map(i=>i.split(`
|
|
30859
|
-
`,1)[0].length);return o>t&&o>u?n:r}var jt=Ae(ot());var Rt=[],cn=[];function Yt(e,t){if(e===t)return 0;let r=e;e.length>t.length&&(e=t,t=r);let n=e.length,o=t.length;for(;n>0&&e.charCodeAt(~-n)===t.charCodeAt(~-o);)n--,o--;let u=0;for(;u<n&&e.charCodeAt(u)===t.charCodeAt(u);)u++;if(n-=u,o-=u,n===0)return o;let i,s,D,a,c=0,p=0;for(;c<n;)cn[c]=e.charCodeAt(u+c),Rt[c]=++c;for(;p<o;)for(i=t.charCodeAt(u+p),D=p++,s=p,c=0;c<n;c++)a=i===cn[c]?D:D+1,D=Rt[c],s=Rt[c]=D>s?a>s?s+1:a:a>D?D+1:a;return s}var st=(e,t,{descriptor:r,logger:n,schemas:o})=>{let u=[`Ignored unknown option ${jt.default.yellow(r.pair({key:e,value:t}))}.`],i=Object.keys(o).sort().find(s=>Yt(e,s)<3);i&&u.push(`Did you mean ${jt.default.blue(r.key(i))}?`),n.warn(u.join(" "));};var co=["default","expected","validate","deprecated","forward","redirect","overlap","preprocess","postprocess"];function lo(e,t){let r=new e(t),n=Object.create(r);for(let o of co)o in t&&(n[o]=fo(t[o],r,O.prototype[o].length));return n}var O=class{static create(t){return lo(this,t)}constructor(t){this.name=t.name;}default(t){}expected(t){return "nothing"}validate(t,r){return !1}deprecated(t,r){return !1}forward(t,r){}redirect(t,r){}overlap(t,r,n){return t}preprocess(t,r){return t}postprocess(t,r){return Ee}};function fo(e,t,r){return typeof e=="function"?(...n)=>e(...n.slice(0,r-1),t,...n.slice(r-1)):()=>e}var Dt=class extends O{constructor(t){super(t),this._sourceName=t.sourceName;}expected(t){return t.schemas[this._sourceName].expected(t)}validate(t,r){return r.schemas[this._sourceName].validate(t,r)}redirect(t,r){return this._sourceName}};var at=class extends O{expected(){return "anything"}validate(){return !0}};var ct=class extends O{constructor({valueSchema:t,name:r=t.name,...n}){super({...n,name:r}),this._valueSchema=t;}expected(t){let{text:r,list:n}=t.normalizeExpectedResult(this._valueSchema.expected(t));return {text:r&&`an array of ${r}`,list:n&&{title:"an array of the following values",values:[{list:n}]}}}validate(t,r){if(!Array.isArray(t))return !1;let n=[];for(let o of t){let u=r.normalizeValidateResult(this._valueSchema.validate(o,r),o);u!==!0&&n.push(u.value);}return n.length===0?!0:{value:n}}deprecated(t,r){let n=[];for(let o of t){let u=r.normalizeDeprecatedResult(this._valueSchema.deprecated(o,r),o);u!==!1&&n.push(...u.map(({value:i})=>({value:[i]})));}return n}forward(t,r){let n=[];for(let o of t){let u=r.normalizeForwardResult(this._valueSchema.forward(o,r),o);n.push(...u.map(ln));}return n}redirect(t,r){let n=[],o=[];for(let u of t){let i=r.normalizeRedirectResult(this._valueSchema.redirect(u,r),u);"remain"in i&&n.push(i.remain),o.push(...i.redirect.map(ln));}return n.length===0?{redirect:o}:{redirect:o,remain:n}}overlap(t,r){return t.concat(r)}};function ln({from:e,to:t}){return {from:[e],to:t}}var lt=class extends O{expected(){return "true or false"}validate(t){return typeof t=="boolean"}};function Fn(e,t){let r=Object.create(null);for(let n of e){let o=n[t];if(r[o])throw new Error(`Duplicate ${t} ${JSON.stringify(o)}`);r[o]=n;}return r}function pn(e,t){let r=new Map;for(let n of e){let o=n[t];if(r.has(o))throw new Error(`Duplicate ${t} ${JSON.stringify(o)}`);r.set(o,n);}return r}function dn(){let e=Object.create(null);return t=>{let r=JSON.stringify(t);return e[r]?!0:(e[r]=!0,!1)}}function mn(e,t){let r=[],n=[];for(let o of e)t(o)?r.push(o):n.push(o);return [r,n]}function En(e){return e===Math.floor(e)}function Cn(e,t){if(e===t)return 0;let r=typeof e,n=typeof t,o=["undefined","object","boolean","number","string"];return r!==n?o.indexOf(r)-o.indexOf(n):r!=="string"?Number(e)-Number(t):e.localeCompare(t)}function hn(e){return (...t)=>{let r=e(...t);return typeof r=="string"?new Error(r):r}}function Mt(e){return e===void 0?{}:e}function Vt(e){if(typeof e=="string")return {text:e};let{text:t,list:r}=e;return Fo((t||r)!==void 0,"Unexpected `expected` result, there should be at least one field."),r?{text:t,list:{title:r.title,values:r.values.map(Vt)}}:{text:t}}function $t(e,t){return e===!0?!0:e===!1?{value:t}:e}function Wt(e,t,r=!1){return e===!1?!1:e===!0?r?!0:[{value:t}]:"value"in e?[e]:e.length===0?!1:e}function fn(e,t){return typeof e=="string"||"key"in e?{from:t,to:e}:"from"in e?{from:e.from,to:e.to}:{from:t,to:e.to}}function ft(e,t){return e===void 0?[]:Array.isArray(e)?e.map(r=>fn(r,t)):[fn(e,t)]}function Ut(e,t){let r=ft(typeof e=="object"&&"redirect"in e?e.redirect:e,t);return r.length===0?{remain:t,redirect:r}:typeof e=="object"&&"remain"in e?{remain:e.remain,redirect:r}:{redirect:r}}function Fo(e,t){if(!e)throw new Error(t)}var Ft=class extends O{constructor(t){super(t),this._choices=pn(t.choices.map(r=>r&&typeof r=="object"?r:{value:r}),"value");}expected({descriptor:t}){let r=Array.from(this._choices.keys()).map(i=>this._choices.get(i)).filter(({hidden:i})=>!i).map(i=>i.value).sort(Cn).map(t.value),n=r.slice(0,-2),o=r.slice(-2);return {text:n.concat(o.join(" or ")).join(", "),list:{title:"one of the following values",values:r}}}validate(t){return this._choices.has(t)}deprecated(t){let r=this._choices.get(t);return r&&r.deprecated?{value:t}:!1}forward(t){let r=this._choices.get(t);return r?r.forward:void 0}redirect(t){let r=this._choices.get(t);return r?r.redirect:void 0}};var pt=class extends O{expected(){return "a number"}validate(t,r){return typeof t=="number"}};var dt=class extends pt{expected(){return "an integer"}validate(t,r){return r.normalizeValidateResult(super.validate(t,r),t)===!0&&En(t)}};var je=class extends O{expected(){return "a string"}validate(t){return typeof t=="string"}};var gn=oe,yn=st,An=sn,Bn=nn;var mt=class{constructor(t,r){let{logger:n=console,loggerPrintWidth:o=80,descriptor:u=gn,unknown:i=yn,invalid:s=An,deprecated:D=Bn,missing:a=()=>!1,required:c=()=>!1,preprocess:p=F=>F,postprocess:f=()=>Ee}=r||{};this._utils={descriptor:u,logger:n||{warn:()=>{}},loggerPrintWidth:o,schemas:Fn(t,"name"),normalizeDefaultResult:Mt,normalizeExpectedResult:Vt,normalizeDeprecatedResult:Wt,normalizeForwardResult:ft,normalizeRedirectResult:Ut,normalizeValidateResult:$t},this._unknownHandler=i,this._invalidHandler=hn(s),this._deprecatedHandler=D,this._identifyMissing=(F,l)=>!(F in l)||a(F,l),this._identifyRequired=c,this._preprocess=p,this._postprocess=f,this.cleanHistory();}cleanHistory(){this._hasDeprecationWarned=dn();}normalize(t){let r={},o=[this._preprocess(t,this._utils)],u=()=>{for(;o.length!==0;){let i=o.shift(),s=this._applyNormalization(i,r);o.push(...s);}};u();for(let i of Object.keys(this._utils.schemas)){let s=this._utils.schemas[i];if(!(i in r)){let D=Mt(s.default(this._utils));"value"in D&&o.push({[i]:D.value});}}u();for(let i of Object.keys(this._utils.schemas)){if(!(i in r))continue;let s=this._utils.schemas[i],D=r[i],a=s.postprocess(D,this._utils);a!==Ee&&(this._applyValidation(a,i,s),r[i]=a);}return this._applyPostprocess(r),this._applyRequiredCheck(r),r}_applyNormalization(t,r){let n=[],{knownKeys:o,unknownKeys:u}=this._partitionOptionKeys(t);for(let i of o){let s=this._utils.schemas[i],D=s.preprocess(t[i],this._utils);this._applyValidation(D,i,s);let a=({from:F,to:l})=>{n.push(typeof l=="string"?{[l]:F}:{[l.key]:l.value});},c=({value:F,redirectTo:l})=>{let d=Wt(s.deprecated(F,this._utils),D,!0);if(d!==!1)if(d===!0)this._hasDeprecationWarned(i)||this._utils.logger.warn(this._deprecatedHandler(i,l,this._utils));else for(let{value:m}of d){let E={key:i,value:m};if(!this._hasDeprecationWarned(E)){let A=typeof l=="string"?{key:l,value:m}:l;this._utils.logger.warn(this._deprecatedHandler(E,A,this._utils));}}};ft(s.forward(D,this._utils),D).forEach(a);let f=Ut(s.redirect(D,this._utils),D);if(f.redirect.forEach(a),"remain"in f){let F=f.remain;r[i]=i in r?s.overlap(r[i],F,this._utils):F,c({value:F});}for(let{from:F,to:l}of f.redirect)c({value:F,redirectTo:l});}for(let i of u){let s=t[i];this._applyUnknownHandler(i,s,r,(D,a)=>{n.push({[D]:a});});}return n}_applyRequiredCheck(t){for(let r of Object.keys(this._utils.schemas))if(this._identifyMissing(r,t)&&this._identifyRequired(r))throw this._invalidHandler(r,it,this._utils)}_partitionOptionKeys(t){let[r,n]=mn(Object.keys(t).filter(o=>!this._identifyMissing(o,t)),o=>o in this._utils.schemas);return {knownKeys:r,unknownKeys:n}}_applyValidation(t,r,n){let o=$t(n.validate(t,this._utils),t);if(o!==!0)throw this._invalidHandler(r,o.value,this._utils)}_applyUnknownHandler(t,r,n,o){let u=this._unknownHandler(t,r,this._utils);if(u)for(let i of Object.keys(u)){if(this._identifyMissing(i,u))continue;let s=u[i];i in this._utils.schemas?o(i,s):n[i]=s;}}_applyPostprocess(t){let r=this._postprocess(t,this._utils);if(r!==Ee){if(r.delete)for(let n of r.delete)delete t[n];if(r.override){let{knownKeys:n,unknownKeys:o}=this._partitionOptionKeys(r.override);for(let u of n){let i=r.override[u];this._applyValidation(i,u,this._utils.schemas[u]),t[u]=i;}for(let u of o){let i=r.override[u];this._applyUnknownHandler(u,i,t,(s,D)=>{let a=this._utils.schemas[s];this._applyValidation(D,s,a),t[s]=D;});}}}}};var Gt;function mo(e,t,{logger:r=!1,isCLI:n=!1,passThrough:o=!1,FlagSchema:u,descriptor:i}={}){if(n){if(!u)throw new Error("'FlagSchema' option is required.");if(!i)throw new Error("'descriptor' option is required.")}else i=oe;let s=o?Array.isArray(o)?(f,F)=>o.includes(f)?{[f]:F}:void 0:(f,F)=>({[f]:F}):(f,F,l)=>{let{_:d,...m}=l.schemas;return st(f,F,{...l,schemas:m})},D=Eo(t,{isCLI:n,FlagSchema:u}),a=new mt(D,{logger:r,unknown:s,descriptor:i}),c=r!==!1;c&&Gt&&(a._hasDeprecationWarned=Gt);let p=a.normalize(e);return c&&(Gt=a._hasDeprecationWarned),p}function Eo(e,{isCLI:t,FlagSchema:r}){let n=[];t&&n.push(at.create({name:"_"}));for(let o of e)n.push(Co(o,{isCLI:t,optionInfos:e,FlagSchema:r})),o.alias&&t&&n.push(Dt.create({name:o.alias,sourceName:o.name}));return n}function Co(e,{isCLI:t,optionInfos:r,FlagSchema:n}){let{name:o}=e,u={name:o},i,s={};switch(e.type){case"int":i=dt,t&&(u.preprocess=Number);break;case"string":i=je;break;case"choice":i=Ft,u.choices=e.choices.map(D=>D!=null&&D.redirect?{...D,redirect:{to:{key:e.name,value:D.redirect}}}:D);break;case"boolean":i=lt;break;case"flag":i=n,u.flags=r.flatMap(D=>[D.alias,D.description&&D.name,D.oppositeDescription&&`no-${D.name}`].filter(Boolean));break;case"path":i=je;break;default:throw new Error(`Unexpected type ${e.type}`)}if(e.exception?u.validate=(D,a,c)=>e.exception(D)||a.validate(D,c):u.validate=(D,a,c)=>D===void 0||a.validate(D,c),e.redirect&&(s.redirect=D=>D?{to:typeof e.redirect=="string"?e.redirect:{key:e.redirect.option,value:e.redirect.value}}:void 0),e.deprecated&&(s.deprecated=!0),t&&!e.array){let D=u.preprocess||(a=>a);u.preprocess=(a,c,p)=>c.preprocess(D(Array.isArray(a)?y(!1,a,-1):a),p);}return e.array?ct.create({...t?{preprocess:D=>Array.isArray(D)?D:[D]}:{},...s,valueSchema:i.create(u)}):i.create({...u,...s})}var _n=mo;var ho=(e,t,r)=>{if(!(e&&t==null)){if(t.findLast)return t.findLast(r);for(let n=t.length-1;n>=0;n--){let o=t[n];if(r(o,n,t))return o}}},zt=ho;function Kt(e,t){if(!t)throw new Error("parserName is required.");let r=zt(!1,e,o=>o.parsers&&Object.prototype.hasOwnProperty.call(o.parsers,t));if(r)return r;let n=`Couldn't resolve parser "${t}".`;throw n+=" Plugins must be explicitly added to the standalone bundle.",new Re(n)}function bn(e,t){if(!t)throw new Error("astFormat is required.");let r=zt(!1,e,o=>o.printers&&Object.prototype.hasOwnProperty.call(o.printers,t));if(r)return r;let n=`Couldn't find plugin for AST format "${t}".`;throw n+=" Plugins must be explicitly added to the standalone bundle.",new Re(n)}function Et({plugins:e,parser:t}){let r=Kt(e,t);return Ht(r,t)}function Ht(e,t){let r=e.parsers[t];return typeof r=="function"?r():r}function xn(e,t){let r=e.printers[t];return typeof r=="function"?r():r}var kn={astFormat:"estree",printer:{},originalText:void 0,locStart:null,locEnd:null};async function go(e,t={}){var p;let r={...e};if(!r.parser)if(r.filepath){if(r.parser=en(r,{physicalFile:r.filepath}),!r.parser)throw new Ye(`No parser could be inferred for file "${r.filepath}".`)}else throw new Ye("No parser and no file path given, couldn't infer a parser.");let n=ut({plugins:e.plugins,showDeprecated:!0}).options,o={...kn,...Object.fromEntries(n.filter(f=>f.default!==void 0).map(f=>[f.name,f.default]))},u=Kt(r.plugins,r.parser),i=await Ht(u,r.parser);r.astFormat=i.astFormat,r.locEnd=i.locEnd,r.locStart=i.locStart;let s=(p=u.printers)!=null&&p[i.astFormat]?u:bn(r.plugins,i.astFormat),D=await xn(s,i.astFormat);r.printer=D;let a=s.defaultOptions?Object.fromEntries(Object.entries(s.defaultOptions).filter(([,f])=>f!==void 0)):{},c={...o,...a};for(let[f,F]of Object.entries(c))(r[f]===null||r[f]===void 0)&&(r[f]=F);return r.parser==="json"&&(r.trailingComma="none"),_n(r,n,{passThrough:Object.keys(kn),...t})}var ie=go;var Mn=Ae(jn());async function Oo(e,t){let r=await Et(t),n=r.preprocess?r.preprocess(e,t):e;t.originalText=n;let o;try{o=await r.parse(n,t,t);}catch(u){No(u,e);}return {text:n,ast:o}}function No(e,t){let{loc:r}=e;if(r){let n=(0, Mn.codeFrameColumns)(t,r,{highlightCode:!0});throw e.message+=`
|
|
30860
|
-
`+n,e.codeFrame=n,e}throw e}var ce=Oo;async function Vn(e,t,r,n,o){let{embeddedLanguageFormatting:u,printer:{embed:i,hasPrettierIgnore:s=()=>!1,getVisitorKeys:D}}=r;if(!i||u!=="auto")return;if(i.length>2)throw new Error("printer.embed has too many parameters. The API changed in Prettier v3. Please update your plugin. See https://prettier.io/docs/en/plugins.html#optional-embed");let a=X(i.getVisitorKeys??D),c=[];F();let p=e.stack;for(let{print:l,node:d,pathStack:m}of c)try{e.stack=m;let E=await l(f,t,e,r);E&&o.set(d,E);}catch(E){if(globalThis.PRETTIER_DEBUG)throw E}e.stack=p;function f(l,d){return To(l,d,r,n)}function F(){let{node:l}=e;if(l===null||typeof l!="object"||s(e))return;for(let m of a(l))Array.isArray(l[m])?e.each(F,m):e.call(F,m);let d=i(e,r);if(d){if(typeof d=="function"){c.push({print:d,node:l,pathStack:[...e.stack]});return}o.set(l,d);}}}async function To(e,t,r,n){let o=await ie({...r,...t,parentParser:r.parser,originalText:e},{passThrough:!0}),{ast:u}=await ce(e,o),i=await n(u,o);return Xe(i)}function So(e,t){let{originalText:r,[Symbol.for("comments")]:n,locStart:o,locEnd:u,[Symbol.for("printedComments")]:i}=t,{node:s}=e,D=o(s),a=u(s);for(let c of n)o(c)>=D&&u(c)<=a&&i.add(c);return r.slice(D,a)}var $n=So;async function Me(e,t){({ast:e}=await Xt(e,t));let r=new Map,n=new Yr(e),u=new Map;await Vn(n,s,t,Me,u);let i=await Wn(n,t,s,void 0,u);return Jr(t),i;function s(a,c){return a===void 0||a===n?D(c):Array.isArray(a)?n.call(()=>D(c),...a):n.call(()=>D(c),a)}function D(a){let c=n.node;if(c==null)return "";let p=c&&typeof c=="object"&&a===void 0;if(p&&r.has(c))return r.get(c);let f=Wn(n,t,s,a,u);return p&&r.set(c,f),f}}function Wn(e,t,r,n,o){var D;let{node:u}=e,{printer:i}=t,s;return (D=i.hasPrettierIgnore)!=null&&D.call(i,e)?s=$n(e,t):o.has(u)?s=o.get(u):s=i.print(e,t,r,n),u===t.cursorNode&&(s=Ze(s,a=>[Oe,a,Oe])),i.printComment&&(!i.willPrintOwnComments||!i.willPrintOwnComments(e,t))&&(s=qr(e,s,t)),s}async function Xt(e,t){let r=e.comments??[];t[Symbol.for("comments")]=r,t[Symbol.for("tokens")]=e.tokens??[],t[Symbol.for("printedComments")]=new Set,zr(e,t);let{printer:{preprocess:n}}=t;return e=n?await n(e,t):e,{ast:e,comments:r}}function vo(e,t){let{cursorOffset:r,locStart:n,locEnd:o}=t,u=X(t.printer.getVisitorKeys),i=D=>n(D)<=r&&o(D)>=r,s=e;for(let D of Vr(e,{getVisitorKeys:u,filter:i}))s=D;return s}var Un=vo;function Po(e,t){let{printer:{massageAstNode:r,getVisitorKeys:n}}=t;if(!r)return e;let o=X(n),u=r.ignoredProperties??new Set;return i(e);function i(s,D){if(!(s!==null&&typeof s=="object"))return s;if(Array.isArray(s))return s.map(f=>i(f,D)).filter(Boolean);let a={},c=new Set(o(s));for(let f in s)!Object.prototype.hasOwnProperty.call(s,f)||u.has(f)||(c.has(f)?a[f]=i(s[f],s):a[f]=s[f]);let p=r(s,a,D);if(p!==null)return p??a}}var Gn=Po;var Lo=({parser:e})=>e==="json"||e==="json5"||e==="jsonc"||e==="json-stringify";function Io(e,t){let r=[e.node,...e.parentNodes],n=new Set([t.node,...t.parentNodes]);return r.find(o=>Hn.has(o.type)&&n.has(o))}function zn(e){let t=e.length-1;for(;;){let r=e[t];if((r==null?void 0:r.type)==="Program"||(r==null?void 0:r.type)==="File")t--;else break}return e.slice(0,t+1)}function Ro(e,t,{locStart:r,locEnd:n}){let o=e.node,u=t.node;if(o===u)return {startNode:o,endNode:u};let i=r(e.node);for(let D of zn(t.parentNodes))if(r(D)>=i)u=D;else break;let s=n(t.node);for(let D of zn(e.parentNodes)){if(n(D)<=s)o=D;else break;if(o===u)break}return {startNode:o,endNode:u}}function Zt(e,t,r,n,o=[],u){let{locStart:i,locEnd:s}=r,D=i(e),a=s(e);if(!(t>a||t<D||u==="rangeEnd"&&t===D||u==="rangeStart"&&t===a)){for(let c of nt(e,r)){let p=Zt(c,t,r,n,[e,...o],u);if(p)return p}if(!n||n(e,o[0]))return {node:e,parentNodes:o}}}function Yo(e,t){return t!=="DeclareExportDeclaration"&&e!=="TypeParameterDeclaration"&&(e==="Directive"||e==="TypeAlias"||e==="TSExportAssignment"||e.startsWith("Declare")||e.startsWith("TSDeclare")||e.endsWith("Statement")||e.endsWith("Declaration"))}var Hn=new Set(["JsonRoot","ObjectExpression","ArrayExpression","StringLiteral","NumericLiteral","BooleanLiteral","NullLiteral","UnaryExpression","TemplateLiteral"]),jo=new Set(["OperationDefinition","FragmentDefinition","VariableDefinition","TypeExtensionDefinition","ObjectTypeDefinition","FieldDefinition","DirectiveDefinition","EnumTypeDefinition","EnumValueDefinition","InputValueDefinition","InputObjectTypeDefinition","SchemaDefinition","OperationTypeDefinition","InterfaceTypeDefinition","UnionTypeDefinition","ScalarTypeDefinition"]);function Kn(e,t,r){if(!t)return !1;switch(e.parser){case"flow":case"babel":case"babel-flow":case"babel-ts":case"typescript":case"acorn":case"espree":case"meriyah":case"__babel_estree":return Yo(t.type,r==null?void 0:r.type);case"json":case"json5":case"jsonc":case"json-stringify":return Hn.has(t.type);case"graphql":return jo.has(t.kind);case"vue":return t.tag!=="root"}return !1}function qn(e,t,r){let{rangeStart:n,rangeEnd:o,locStart:u,locEnd:i}=t;Le.ok(o>n);let s=e.slice(n,o).search(/\S/),D=s===-1;if(!D)for(n+=s;o>n&&!/\S/.test(e[o-1]);--o);let a=Zt(r,n,t,(F,l)=>Kn(t,F,l),[],"rangeStart"),c=D?a:Zt(r,o,t,F=>Kn(t,F),[],"rangeEnd");if(!a||!c)return {rangeStart:0,rangeEnd:0};let p,f;if(Lo(t)){let F=Io(a,c);p=F,f=F;}else ({startNode:p,endNode:f}=Ro(a,c,t));return {rangeStart:Math.min(u(p),u(f)),rangeEnd:Math.max(i(p),i(f))}}var eu="\uFEFF",Jn=Symbol("cursor");async function tu(e,t,r=0){if(!e||e.trim().length===0)return {formatted:"",cursorOffset:-1,comments:[]};let{ast:n,text:o}=await ce(e,t);t.cursorOffset>=0&&(t.cursorNode=Un(n,t));let u=await Me(n,t);r>0&&(u=qe([q,u],r,t.tabWidth));let i=pe(u,t);if(r>0){let D=i.formatted.trim();i.cursorNodeStart!==void 0&&(i.cursorNodeStart-=i.formatted.indexOf(D)),i.formatted=D+be(t.endOfLine);}let s=t[Symbol.for("comments")];if(t.cursorOffset>=0){let D,a,c,p,f;if(t.cursorNode&&i.cursorNodeText?(D=t.locStart(t.cursorNode),a=o.slice(D,t.locEnd(t.cursorNode)),c=t.cursorOffset-D,p=i.cursorNodeStart,f=i.cursorNodeText):(D=0,a=o,c=t.cursorOffset,p=0,f=i.formatted),a===f)return {formatted:i.formatted,cursorOffset:p+c,comments:s};let F=a.split("");F.splice(c,0,Jn);let l=f.split(""),d=(0, Qn.diffArrays)(F,l),m=p;for(let E of d)if(E.removed){if(E.value.includes(Jn))break}else m+=E.count;return {formatted:i.formatted,cursorOffset:m,comments:s}}return {formatted:i.formatted,cursorOffset:-1,comments:s}}async function Mo(e,t){let{ast:r,text:n}=await ce(e,t),{rangeStart:o,rangeEnd:u}=qn(n,t,r),i=n.slice(o,u),s=Math.min(o,n.lastIndexOf(`
|
|
30861
|
-
`,o)+1),D=n.slice(s,o).match(/^\s*/)[0],a=de(D,t.tabWidth),c=await tu(i,{...t,rangeStart:0,rangeEnd:Number.POSITIVE_INFINITY,cursorOffset:t.cursorOffset>o&&t.cursorOffset<=u?t.cursorOffset-o:-1,endOfLine:"lf"},a),p=c.formatted.trimEnd(),{cursorOffset:f}=t;f>u?f+=p.length-i.length:c.cursorOffset>=0&&(f=c.cursorOffset+o);let F=n.slice(0,o)+p+n.slice(u);if(t.endOfLine!=="lf"){let l=be(t.endOfLine);f>=0&&l===`\r
|
|
30862
|
-
`&&(f+=At(F.slice(0,f),`
|
|
30863
|
-
`)),F=re(!1,F,`
|
|
30864
|
-
`,l);}return {formatted:F,cursorOffset:f,comments:c.comments}}function Qt(e,t,r){return typeof t!="number"||Number.isNaN(t)||t<0||t>e.length?r:t}function Xn(e,t){let{cursorOffset:r,rangeStart:n,rangeEnd:o}=t;return r=Qt(e,r,-1),n=Qt(e,n,0),o=Qt(e,o,e.length),{...t,cursorOffset:r,rangeStart:n,rangeEnd:o}}function ru(e,t){let{cursorOffset:r,rangeStart:n,rangeEnd:o,endOfLine:u}=Xn(e,t),i=e.charAt(0)===eu;if(i&&(e=e.slice(1),r--,n--,o--),u==="auto"&&(u=lr(e)),e.includes("\r")){let s=D=>At(e.slice(0,Math.max(D,0)),`\r
|
|
30865
|
-
`);r-=s(r),n-=s(n),o-=s(o),e=fr(e);}return {hasBOM:i,text:e,options:Xn(e,{...t,cursorOffset:r,rangeStart:n,rangeEnd:o,endOfLine:u})}}async function Zn(e,t){let r=await Et(t);return !r.hasPragma||r.hasPragma(e)}async function er(e,t){let{hasBOM:r,text:n,options:o}=ru(e,await ie(t));if(o.rangeStart>=o.rangeEnd&&n!==""||o.requirePragma&&!await Zn(n,o))return {formatted:e,cursorOffset:t.cursorOffset,comments:[]};let u;return o.rangeStart>0||o.rangeEnd<n.length?u=await Mo(n,o):(!o.requirePragma&&o.insertPragma&&o.printer.insertPragma&&!await Zn(n,o)&&(n=o.printer.insertPragma(n)),u=await tu(n,o)),r&&(u.formatted=eu+u.formatted,u.cursorOffset>=0&&u.cursorOffset++),u}async function nu(e,t,r){let{text:n,options:o}=ru(e,await ie(t)),u=await ce(n,o);return r&&(r.preprocessForPrint&&(u.ast=await Xt(u.ast,o)),r.massage&&(u.ast=Gn(u.ast,o))),u}async function uu(e,t){t=await ie(t);let r=await Me(e,t);return pe(r,t)}async function ou(e,t){let r=br(e),{formatted:n}=await er(r,{...t,parser:"__js_expression"});return n}async function iu(e,t){t=await ie(t);let{ast:r}=await ce(e,t);return Me(r,t)}async function su(e,t){return pe(e,await ie(t))}var tr={};We(tr,{builders:()=>$o,printer:()=>Wo,utils:()=>Uo});var $o={join:Ne,line:Ke,softline:Br,hardline:q,literalline:He,group:_t,conditionalGroup:Cr,fill:ze,lineSuffix:ke,lineSuffixBoundary:yr,cursor:Oe,breakParent:Fe,ifBreak:hr,trim:Ar,indent:De,indentIfBreak:gr,align:se,addAlignmentToDoc:qe,markAsRoot:mr,dedentToRoot:dr,dedent:Er,hardlineWithoutBreakParent:we,literallineWithoutBreakParent:bt,label:_r,concat:e=>e},Wo={printDocToString:pe},Uo={willBreak:Sr,traverseDoc:xe,findInDoc:Je,mapDoc:ve,removeLines:Pr,stripTrailingHardline:Xe,replaceEndOfLine:Lr,canBreak:Ir};var Du="3.3.2";var nr={};We(nr,{addDanglingComment:()=>te,addLeadingComment:()=>ne,addTrailingComment:()=>ue,getAlignmentSize:()=>de,getIndentSize:()=>au,getMaxContinuousCount:()=>cu,getNextNonSpaceNonCommentCharacter:()=>lu,getNextNonSpaceNonCommentCharacterIndex:()=>ri,getStringWidth:()=>Te,hasNewline:()=>U,hasNewlineInRange:()=>fu,hasSpaces:()=>Fu,isNextLineEmpty:()=>ii,isNextLineEmptyAfterIndex:()=>ht,isPreviousLineEmpty:()=>ui,makeString:()=>pu,skip:()=>me,skipEverythingButNewLine:()=>rt,skipInlineComment:()=>Ce,skipNewline:()=>$,skipSpaces:()=>S,skipToLineEnd:()=>tt,skipTrailingComment:()=>he,skipWhitespace:()=>$r});function Go(e,t){if(t===!1)return !1;if(e.charAt(t)==="/"&&e.charAt(t+1)==="*"){for(let r=t+2;r<e.length;++r)if(e.charAt(r)==="*"&&e.charAt(r+1)==="/")return r+2}return t}var Ce=Go;function zo(e,t){return t===!1?!1:e.charAt(t)==="/"&&e.charAt(t+1)==="/"?rt(e,t):t}var he=zo;function Ko(e,t){let r=null,n=t;for(;n!==r;)r=n,n=S(e,n),n=Ce(e,n),n=he(e,n),n=$(e,n);return n}var Ve=Ko;function Ho(e,t){let r=null,n=t;for(;n!==r;)r=n,n=tt(e,n),n=Ce(e,n),n=S(e,n);return n=he(e,n),n=$(e,n),n!==!1&&U(e,n)}var ht=Ho;function qo(e,t){let r=e.lastIndexOf(`
|
|
30866
|
-
`);return r===-1?0:de(e.slice(r+1).match(/^[\t ]*/)[0],t)}var au=qo;function rr(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function Jo(e,t){let r=e.match(new RegExp(`(${rr(t)})+`,"g"));return r===null?0:r.reduce((n,o)=>Math.max(n,o.length/t.length),0)}var cu=Jo;function Xo(e,t){let r=Ve(e,t);return r===!1?"":e.charAt(r)}var lu=Xo;function Zo(e,t,r){for(let n=t;n<r;++n)if(e.charAt(n)===`
|
|
30867
|
-
`)return !0;return !1}var fu=Zo;function Qo(e,t,r={}){return S(e,r.backwards?t-1:t,r)!==t}var Fu=Qo;function ei(e,t,r){let n=t==='"'?"'":'"',u=re(!1,e,/\\(.)|(["'])/gs,(i,s,D)=>s===n?s:D===t?"\\"+D:D||(r&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(s)?s:"\\"+s));return t+u+t}var pu=ei;function ti(e,t,r){return Ve(e,r(t))}function ri(e,t){return arguments.length===2||typeof t=="number"?Ve(e,t):ti(...arguments)}function ni(e,t,r){return Ie(e,r(t))}function ui(e,t){return arguments.length===2||typeof t=="number"?Ie(e,t):ni(...arguments)}function oi(e,t,r){return ht(e,r(t))}function ii(e,t){return arguments.length===2||typeof t=="number"?ht(e,t):oi(...arguments)}function le(e,t=1){return async(...r)=>{let n=r[t]??{},o=n.plugins??[];return r[t]={...n,plugins:Array.isArray(o)?o:Object.values(o)},e(...r)}}var du=le(er);async function mu(e,t){let{formatted:r}=await du(e,{...t,cursorOffset:-1});return r}async function si(e,t){return await mu(e,t)===e}var Di=le(ut,0),ai={parse:le(nu),formatAST:le(uu),formatDoc:le(ou),printToDoc:le(iu),printDocToString:le(su)};
|
|
30868
|
-
|
|
30869
|
-
function printId(sv) {
|
|
30870
|
-
if (needBacktick(sv)) {
|
|
30871
|
-
const escapedString = sv
|
|
30872
|
-
.replace(/\\/g, "\\\\")
|
|
30873
|
-
.replace(/\n/g, "\\n")
|
|
30874
|
-
.replace(/\r/g, "\\r")
|
|
30875
|
-
.replace(/\t/g, "\\t")
|
|
30876
|
-
.replace(/`/g, "\\`");
|
|
30877
|
-
return `\`${escapedString}\``;
|
|
30878
|
-
}
|
|
30879
|
-
else {
|
|
30880
|
-
return sv;
|
|
30498
|
+
function willBreak(doc) {
|
|
30499
|
+
return findInDoc(doc, willBreakFn, false);
|
|
30500
|
+
}
|
|
30501
|
+
function breakParentGroup(groupStack) {
|
|
30502
|
+
if (groupStack.length > 0) {
|
|
30503
|
+
const parentGroup = at_default(
|
|
30504
|
+
/* isOptionalObject */
|
|
30505
|
+
false,
|
|
30506
|
+
groupStack,
|
|
30507
|
+
-1
|
|
30508
|
+
);
|
|
30509
|
+
if (!parentGroup.expandedStates && !parentGroup.break) {
|
|
30510
|
+
parentGroup.break = "propagated";
|
|
30881
30511
|
}
|
|
30512
|
+
}
|
|
30513
|
+
return null;
|
|
30882
30514
|
}
|
|
30883
|
-
function
|
|
30884
|
-
|
|
30885
|
-
|
|
30515
|
+
function propagateBreaks(doc) {
|
|
30516
|
+
const alreadyVisitedSet = /* @__PURE__ */ new Set();
|
|
30517
|
+
const groupStack = [];
|
|
30518
|
+
function propagateBreaksOnEnterFn(doc2) {
|
|
30519
|
+
if (doc2.type === DOC_TYPE_BREAK_PARENT) {
|
|
30520
|
+
breakParentGroup(groupStack);
|
|
30886
30521
|
}
|
|
30887
|
-
if (
|
|
30888
|
-
|
|
30522
|
+
if (doc2.type === DOC_TYPE_GROUP) {
|
|
30523
|
+
groupStack.push(doc2);
|
|
30524
|
+
if (alreadyVisitedSet.has(doc2)) {
|
|
30525
|
+
return false;
|
|
30526
|
+
}
|
|
30527
|
+
alreadyVisitedSet.add(doc2);
|
|
30889
30528
|
}
|
|
30890
|
-
|
|
30891
|
-
|
|
30892
|
-
|
|
30529
|
+
}
|
|
30530
|
+
function propagateBreaksOnExitFn(doc2) {
|
|
30531
|
+
if (doc2.type === DOC_TYPE_GROUP) {
|
|
30532
|
+
const group2 = groupStack.pop();
|
|
30533
|
+
if (group2.break) {
|
|
30534
|
+
breakParentGroup(groupStack);
|
|
30535
|
+
}
|
|
30893
30536
|
}
|
|
30894
|
-
|
|
30895
|
-
|
|
30896
|
-
|
|
30897
|
-
|
|
30898
|
-
|
|
30537
|
+
}
|
|
30538
|
+
traverse_doc_default(
|
|
30539
|
+
doc,
|
|
30540
|
+
propagateBreaksOnEnterFn,
|
|
30541
|
+
propagateBreaksOnExitFn,
|
|
30542
|
+
/* shouldTraverseConditionalGroups */
|
|
30543
|
+
true
|
|
30544
|
+
);
|
|
30899
30545
|
}
|
|
30900
|
-
|
|
30901
|
-
(
|
|
30902
|
-
|
|
30903
|
-
|
|
30904
|
-
|
|
30905
|
-
|
|
30906
|
-
|
|
30907
|
-
|
|
30908
|
-
|
|
30909
|
-
|
|
30910
|
-
|
|
30911
|
-
|
|
30912
|
-
|
|
30913
|
-
|
|
30914
|
-
|
|
30915
|
-
|
|
30916
|
-
|
|
30917
|
-
|
|
30918
|
-
|
|
30919
|
-
|
|
30920
|
-
|
|
30921
|
-
|
|
30922
|
-
|
|
30923
|
-
|
|
30924
|
-
|
|
30925
|
-
|
|
30926
|
-
|
|
30927
|
-
|
|
30928
|
-
|
|
30929
|
-
|
|
30930
|
-
|
|
30931
|
-
|
|
30932
|
-
|
|
30933
|
-
|
|
30934
|
-
|
|
30935
|
-
|
|
30936
|
-
|
|
30937
|
-
|
|
30938
|
-
|
|
30939
|
-
|
|
30940
|
-
|
|
30941
|
-
|
|
30942
|
-
|
|
30943
|
-
|
|
30944
|
-
|
|
30945
|
-
|
|
30946
|
-
|
|
30947
|
-
|
|
30948
|
-
|
|
30949
|
-
|
|
30950
|
-
case "Number":
|
|
30951
|
-
return type.valueAsString;
|
|
30952
|
-
case "Boolean":
|
|
30953
|
-
return type.value.toString();
|
|
30954
|
-
case "Intrinsic":
|
|
30955
|
-
return type.name;
|
|
30956
|
-
default:
|
|
30957
|
-
return `(unnamed type)`;
|
|
30546
|
+
function removeLinesFn(doc) {
|
|
30547
|
+
if (doc.type === DOC_TYPE_LINE && !doc.hard) {
|
|
30548
|
+
return doc.soft ? "" : " ";
|
|
30549
|
+
}
|
|
30550
|
+
if (doc.type === DOC_TYPE_IF_BREAK) {
|
|
30551
|
+
return doc.flatContents;
|
|
30552
|
+
}
|
|
30553
|
+
return doc;
|
|
30554
|
+
}
|
|
30555
|
+
function removeLines(doc) {
|
|
30556
|
+
return mapDoc(doc, removeLinesFn);
|
|
30557
|
+
}
|
|
30558
|
+
function stripTrailingHardlineFromParts(parts) {
|
|
30559
|
+
parts = [...parts];
|
|
30560
|
+
while (parts.length >= 2 && at_default(
|
|
30561
|
+
/* isOptionalObject */
|
|
30562
|
+
false,
|
|
30563
|
+
parts,
|
|
30564
|
+
-2
|
|
30565
|
+
).type === DOC_TYPE_LINE && at_default(
|
|
30566
|
+
/* isOptionalObject */
|
|
30567
|
+
false,
|
|
30568
|
+
parts,
|
|
30569
|
+
-1
|
|
30570
|
+
).type === DOC_TYPE_BREAK_PARENT) {
|
|
30571
|
+
parts.length -= 2;
|
|
30572
|
+
}
|
|
30573
|
+
if (parts.length > 0) {
|
|
30574
|
+
const lastPart = stripTrailingHardlineFromDoc(at_default(
|
|
30575
|
+
/* isOptionalObject */
|
|
30576
|
+
false,
|
|
30577
|
+
parts,
|
|
30578
|
+
-1
|
|
30579
|
+
));
|
|
30580
|
+
parts[parts.length - 1] = lastPart;
|
|
30581
|
+
}
|
|
30582
|
+
return parts;
|
|
30583
|
+
}
|
|
30584
|
+
function stripTrailingHardlineFromDoc(doc) {
|
|
30585
|
+
switch (get_doc_type_default(doc)) {
|
|
30586
|
+
case DOC_TYPE_INDENT:
|
|
30587
|
+
case DOC_TYPE_INDENT_IF_BREAK:
|
|
30588
|
+
case DOC_TYPE_GROUP:
|
|
30589
|
+
case DOC_TYPE_LINE_SUFFIX:
|
|
30590
|
+
case DOC_TYPE_LABEL: {
|
|
30591
|
+
const contents = stripTrailingHardlineFromDoc(doc.contents);
|
|
30592
|
+
return {
|
|
30593
|
+
...doc,
|
|
30594
|
+
contents
|
|
30595
|
+
};
|
|
30958
30596
|
}
|
|
30597
|
+
case DOC_TYPE_IF_BREAK:
|
|
30598
|
+
return {
|
|
30599
|
+
...doc,
|
|
30600
|
+
breakContents: stripTrailingHardlineFromDoc(doc.breakContents),
|
|
30601
|
+
flatContents: stripTrailingHardlineFromDoc(doc.flatContents)
|
|
30602
|
+
};
|
|
30603
|
+
case DOC_TYPE_FILL:
|
|
30604
|
+
return {
|
|
30605
|
+
...doc,
|
|
30606
|
+
parts: stripTrailingHardlineFromParts(doc.parts)
|
|
30607
|
+
};
|
|
30608
|
+
case DOC_TYPE_ARRAY:
|
|
30609
|
+
return stripTrailingHardlineFromParts(doc);
|
|
30610
|
+
case DOC_TYPE_STRING:
|
|
30611
|
+
return doc.replace(/[\n\r]*$/, "");
|
|
30612
|
+
case DOC_TYPE_ALIGN:
|
|
30613
|
+
case DOC_TYPE_CURSOR:
|
|
30614
|
+
case DOC_TYPE_TRIM:
|
|
30615
|
+
case DOC_TYPE_LINE_SUFFIX_BOUNDARY:
|
|
30616
|
+
case DOC_TYPE_LINE:
|
|
30617
|
+
case DOC_TYPE_BREAK_PARENT:
|
|
30618
|
+
break;
|
|
30619
|
+
default:
|
|
30620
|
+
throw new invalid_doc_error_default(doc);
|
|
30621
|
+
}
|
|
30622
|
+
return doc;
|
|
30959
30623
|
}
|
|
30960
|
-
function
|
|
30961
|
-
|
|
30962
|
-
case "ObjectValue":
|
|
30963
|
-
return `#{${[...value.properties.entries()].map(([name, value]) => `${name}: ${getValuePreview(value.value, options)}`).join(", ")}}`;
|
|
30964
|
-
case "ArrayValue":
|
|
30965
|
-
return `#[${value.values.map((x) => getValuePreview(x, options)).join(", ")}]`;
|
|
30966
|
-
case "StringValue":
|
|
30967
|
-
return `"${value.value}"`;
|
|
30968
|
-
case "BooleanValue":
|
|
30969
|
-
return `${value.value}`;
|
|
30970
|
-
case "NumericValue":
|
|
30971
|
-
return `${value.value.toString()}`;
|
|
30972
|
-
case "EnumValue":
|
|
30973
|
-
return getTypeName(value.value);
|
|
30974
|
-
case "NullValue":
|
|
30975
|
-
return "null";
|
|
30976
|
-
case "ScalarValue":
|
|
30977
|
-
return `${getTypeName(value.type, options)}.${value.value.name}(${value.value.args.map((x) => getValuePreview(x, options)).join(", ")}})`;
|
|
30978
|
-
}
|
|
30624
|
+
function stripTrailingHardline(doc) {
|
|
30625
|
+
return stripTrailingHardlineFromDoc(cleanDoc(doc));
|
|
30979
30626
|
}
|
|
30980
|
-
function
|
|
30981
|
-
|
|
30982
|
-
|
|
30983
|
-
|
|
30984
|
-
|
|
30985
|
-
|
|
30986
|
-
|
|
30987
|
-
|
|
30988
|
-
|
|
30989
|
-
|
|
30990
|
-
|
|
30991
|
-
|
|
30992
|
-
|
|
30993
|
-
|
|
30994
|
-
|
|
30995
|
-
|
|
30996
|
-
|
|
30997
|
-
|
|
30627
|
+
function cleanDocFn(doc) {
|
|
30628
|
+
switch (get_doc_type_default(doc)) {
|
|
30629
|
+
case DOC_TYPE_FILL:
|
|
30630
|
+
if (doc.parts.every((part) => part === "")) {
|
|
30631
|
+
return "";
|
|
30632
|
+
}
|
|
30633
|
+
break;
|
|
30634
|
+
case DOC_TYPE_GROUP:
|
|
30635
|
+
if (!doc.contents && !doc.id && !doc.break && !doc.expandedStates) {
|
|
30636
|
+
return "";
|
|
30637
|
+
}
|
|
30638
|
+
if (doc.contents.type === DOC_TYPE_GROUP && doc.contents.id === doc.id && doc.contents.break === doc.break && doc.contents.expandedStates === doc.expandedStates) {
|
|
30639
|
+
return doc.contents;
|
|
30640
|
+
}
|
|
30641
|
+
break;
|
|
30642
|
+
case DOC_TYPE_ALIGN:
|
|
30643
|
+
case DOC_TYPE_INDENT:
|
|
30644
|
+
case DOC_TYPE_INDENT_IF_BREAK:
|
|
30645
|
+
case DOC_TYPE_LINE_SUFFIX:
|
|
30646
|
+
if (!doc.contents) {
|
|
30647
|
+
return "";
|
|
30648
|
+
}
|
|
30649
|
+
break;
|
|
30650
|
+
case DOC_TYPE_IF_BREAK:
|
|
30651
|
+
if (!doc.flatContents && !doc.breakContents) {
|
|
30652
|
+
return "";
|
|
30653
|
+
}
|
|
30654
|
+
break;
|
|
30655
|
+
case DOC_TYPE_ARRAY: {
|
|
30656
|
+
const parts = [];
|
|
30657
|
+
for (const part of doc) {
|
|
30658
|
+
if (!part) {
|
|
30659
|
+
continue;
|
|
30660
|
+
}
|
|
30661
|
+
const [currentPart, ...restParts] = Array.isArray(part) ? part : [part];
|
|
30662
|
+
if (typeof currentPart === "string" && typeof at_default(
|
|
30663
|
+
/* isOptionalObject */
|
|
30664
|
+
false,
|
|
30665
|
+
parts,
|
|
30666
|
+
-1
|
|
30667
|
+
) === "string") {
|
|
30668
|
+
parts[parts.length - 1] += currentPart;
|
|
30669
|
+
} else {
|
|
30670
|
+
parts.push(currentPart);
|
|
30998
30671
|
}
|
|
30672
|
+
parts.push(...restParts);
|
|
30673
|
+
}
|
|
30674
|
+
if (parts.length === 0) {
|
|
30675
|
+
return "";
|
|
30676
|
+
}
|
|
30677
|
+
if (parts.length === 1) {
|
|
30678
|
+
return parts[0];
|
|
30679
|
+
}
|
|
30680
|
+
return parts;
|
|
30999
30681
|
}
|
|
30682
|
+
case DOC_TYPE_STRING:
|
|
30683
|
+
case DOC_TYPE_CURSOR:
|
|
30684
|
+
case DOC_TYPE_TRIM:
|
|
30685
|
+
case DOC_TYPE_LINE_SUFFIX_BOUNDARY:
|
|
30686
|
+
case DOC_TYPE_LINE:
|
|
30687
|
+
case DOC_TYPE_LABEL:
|
|
30688
|
+
case DOC_TYPE_BREAK_PARENT:
|
|
30689
|
+
break;
|
|
30690
|
+
default:
|
|
30691
|
+
throw new invalid_doc_error_default(doc);
|
|
30692
|
+
}
|
|
30693
|
+
return doc;
|
|
31000
30694
|
}
|
|
31001
|
-
function
|
|
31002
|
-
|
|
31003
|
-
(namespace.name === "Reflection" &&
|
|
31004
|
-
namespace.namespace?.name === "TypeSpec" &&
|
|
31005
|
-
namespace.namespace?.namespace?.name === ""));
|
|
30695
|
+
function cleanDoc(doc) {
|
|
30696
|
+
return mapDoc(doc, (currentDoc) => cleanDocFn(currentDoc));
|
|
31006
30697
|
}
|
|
31007
|
-
|
|
31008
|
-
|
|
31009
|
-
* @param type namespace type
|
|
31010
|
-
* @param options
|
|
31011
|
-
* @returns
|
|
31012
|
-
*/
|
|
31013
|
-
function getNamespaceFullName(type, options) {
|
|
31014
|
-
const segments = [];
|
|
31015
|
-
let current = type;
|
|
31016
|
-
while (current && current.name !== "") {
|
|
31017
|
-
segments.unshift(getIdentifierName(current.name, options));
|
|
31018
|
-
current = current.namespace;
|
|
31019
|
-
}
|
|
31020
|
-
return segments.join(".");
|
|
30698
|
+
function replaceEndOfLine(doc, replacement = literalline) {
|
|
30699
|
+
return mapDoc(doc, (currentDoc) => typeof currentDoc === "string" ? join(replacement, currentDoc.split("\n")) : currentDoc);
|
|
31021
30700
|
}
|
|
31022
|
-
function
|
|
31023
|
-
|
|
31024
|
-
|
|
31025
|
-
|
|
31026
|
-
const namespaceFullName = getNamespaceFullName(type, options);
|
|
31027
|
-
return namespaceFullName !== "" ? namespaceFullName + "." : "";
|
|
30701
|
+
function canBreakFn(doc) {
|
|
30702
|
+
if (doc.type === DOC_TYPE_LINE) {
|
|
30703
|
+
return true;
|
|
30704
|
+
}
|
|
31028
30705
|
}
|
|
31029
|
-
function
|
|
31030
|
-
|
|
30706
|
+
function canBreak(doc) {
|
|
30707
|
+
return findInDoc(doc, canBreakFn, false);
|
|
31031
30708
|
}
|
|
31032
|
-
|
|
31033
|
-
|
|
30709
|
+
|
|
30710
|
+
// src/document/printer.js
|
|
30711
|
+
var MODE_BREAK = Symbol("MODE_BREAK");
|
|
30712
|
+
var MODE_FLAT = Symbol("MODE_FLAT");
|
|
30713
|
+
var CURSOR_PLACEHOLDER = Symbol("cursor");
|
|
30714
|
+
function rootIndent() {
|
|
30715
|
+
return {
|
|
30716
|
+
value: "",
|
|
30717
|
+
length: 0,
|
|
30718
|
+
queue: []
|
|
30719
|
+
};
|
|
31034
30720
|
}
|
|
31035
|
-
function
|
|
31036
|
-
|
|
31037
|
-
|
|
31038
|
-
|
|
31039
|
-
|
|
31040
|
-
|
|
31041
|
-
|
|
31042
|
-
|
|
30721
|
+
function makeIndent(ind, options) {
|
|
30722
|
+
return generateInd(ind, {
|
|
30723
|
+
type: "indent"
|
|
30724
|
+
}, options);
|
|
30725
|
+
}
|
|
30726
|
+
function makeAlign(indent2, widthOrDoc, options) {
|
|
30727
|
+
if (widthOrDoc === Number.NEGATIVE_INFINITY) {
|
|
30728
|
+
return indent2.root || rootIndent();
|
|
30729
|
+
}
|
|
30730
|
+
if (widthOrDoc < 0) {
|
|
30731
|
+
return generateInd(indent2, {
|
|
30732
|
+
type: "dedent"
|
|
30733
|
+
}, options);
|
|
30734
|
+
}
|
|
30735
|
+
if (!widthOrDoc) {
|
|
30736
|
+
return indent2;
|
|
30737
|
+
}
|
|
30738
|
+
if (widthOrDoc.type === "root") {
|
|
30739
|
+
return {
|
|
30740
|
+
...indent2,
|
|
30741
|
+
root: indent2
|
|
30742
|
+
};
|
|
30743
|
+
}
|
|
30744
|
+
const alignType = typeof widthOrDoc === "string" ? "stringAlign" : "numberAlign";
|
|
30745
|
+
return generateInd(indent2, {
|
|
30746
|
+
type: alignType,
|
|
30747
|
+
n: widthOrDoc
|
|
30748
|
+
}, options);
|
|
30749
|
+
}
|
|
30750
|
+
function generateInd(ind, newPart, options) {
|
|
30751
|
+
const queue = newPart.type === "dedent" ? ind.queue.slice(0, -1) : [...ind.queue, newPart];
|
|
30752
|
+
let value = "";
|
|
30753
|
+
let length = 0;
|
|
30754
|
+
let lastTabs = 0;
|
|
30755
|
+
let lastSpaces = 0;
|
|
30756
|
+
for (const part of queue) {
|
|
30757
|
+
switch (part.type) {
|
|
30758
|
+
case "indent":
|
|
30759
|
+
flush();
|
|
30760
|
+
if (options.useTabs) {
|
|
30761
|
+
addTabs(1);
|
|
30762
|
+
} else {
|
|
30763
|
+
addSpaces(options.tabWidth);
|
|
31043
30764
|
}
|
|
30765
|
+
break;
|
|
30766
|
+
case "stringAlign":
|
|
30767
|
+
flush();
|
|
30768
|
+
value += part.n;
|
|
30769
|
+
length += part.n.length;
|
|
30770
|
+
break;
|
|
30771
|
+
case "numberAlign":
|
|
30772
|
+
lastTabs += 1;
|
|
30773
|
+
lastSpaces += part.n;
|
|
30774
|
+
break;
|
|
30775
|
+
default:
|
|
30776
|
+
throw new Error(`Unexpected type '${part.type}'`);
|
|
31044
30777
|
}
|
|
31045
|
-
|
|
31046
|
-
|
|
31047
|
-
|
|
31048
|
-
|
|
31049
|
-
|
|
31050
|
-
|
|
31051
|
-
|
|
31052
|
-
|
|
31053
|
-
|
|
31054
|
-
|
|
31055
|
-
|
|
31056
|
-
|
|
31057
|
-
|
|
31058
|
-
|
|
31059
|
-
|
|
31060
|
-
|
|
31061
|
-
|
|
31062
|
-
|
|
30778
|
+
}
|
|
30779
|
+
flushSpaces();
|
|
30780
|
+
return {
|
|
30781
|
+
...ind,
|
|
30782
|
+
value,
|
|
30783
|
+
length,
|
|
30784
|
+
queue
|
|
30785
|
+
};
|
|
30786
|
+
function addTabs(count) {
|
|
30787
|
+
value += " ".repeat(count);
|
|
30788
|
+
length += options.tabWidth * count;
|
|
30789
|
+
}
|
|
30790
|
+
function addSpaces(count) {
|
|
30791
|
+
value += " ".repeat(count);
|
|
30792
|
+
length += count;
|
|
30793
|
+
}
|
|
30794
|
+
function flush() {
|
|
30795
|
+
if (options.useTabs) {
|
|
30796
|
+
flushTabs();
|
|
30797
|
+
} else {
|
|
30798
|
+
flushSpaces();
|
|
31063
30799
|
}
|
|
31064
|
-
}
|
|
31065
|
-
function
|
|
31066
|
-
|
|
31067
|
-
|
|
31068
|
-
? getIdentifierName(type.name, options)
|
|
31069
|
-
: [...type.variants.values()].map((x) => getTypeName(x.type, options)).join(" | ");
|
|
31070
|
-
return nsPrefix + typeName;
|
|
31071
|
-
}
|
|
31072
|
-
/**
|
|
31073
|
-
* Check if the given namespace is the standard library `TypeSpec` namespace.
|
|
31074
|
-
*/
|
|
31075
|
-
function isTypeSpecNamespace(namespace) {
|
|
31076
|
-
return namespace.name === "TypeSpec" && namespace.namespace?.name === "";
|
|
31077
|
-
}
|
|
31078
|
-
/**
|
|
31079
|
-
* Check if the given type is defined right in the TypeSpec namespace.
|
|
31080
|
-
*/
|
|
31081
|
-
function isInTypeSpecNamespace(type) {
|
|
31082
|
-
return Boolean(type.namespace && isTypeSpecNamespace(type.namespace));
|
|
31083
|
-
}
|
|
31084
|
-
function getModelPropertyName(prop, options) {
|
|
31085
|
-
const modelName = prop.model ? getModelName(prop.model, options) : undefined;
|
|
31086
|
-
return `${modelName ?? "(anonymous model)"}.${prop.name}`;
|
|
31087
|
-
}
|
|
31088
|
-
function getInterfaceName(iface, options) {
|
|
31089
|
-
let interfaceName = getIdentifierName(iface.name, options);
|
|
31090
|
-
if (isTemplateInstance(iface)) {
|
|
31091
|
-
interfaceName += `<${iface.templateMapper.args
|
|
31092
|
-
.map((x) => getEntityName(x, options))
|
|
31093
|
-
.join(", ")}>`;
|
|
30800
|
+
}
|
|
30801
|
+
function flushTabs() {
|
|
30802
|
+
if (lastTabs > 0) {
|
|
30803
|
+
addTabs(lastTabs);
|
|
31094
30804
|
}
|
|
31095
|
-
|
|
31096
|
-
}
|
|
31097
|
-
function
|
|
31098
|
-
|
|
31099
|
-
|
|
31100
|
-
// template
|
|
31101
|
-
const params = op.node.templateParameters.map((t) => getIdentifierName(t.id.sv, options));
|
|
31102
|
-
opName += `<${params.join(", ")}>`;
|
|
30805
|
+
resetLast();
|
|
30806
|
+
}
|
|
30807
|
+
function flushSpaces() {
|
|
30808
|
+
if (lastSpaces > 0) {
|
|
30809
|
+
addSpaces(lastSpaces);
|
|
31103
30810
|
}
|
|
31104
|
-
|
|
31105
|
-
|
|
31106
|
-
|
|
31107
|
-
|
|
31108
|
-
|
|
31109
|
-
|
|
31110
|
-
return options?.printable ? printId(name) : name;
|
|
30811
|
+
resetLast();
|
|
30812
|
+
}
|
|
30813
|
+
function resetLast() {
|
|
30814
|
+
lastTabs = 0;
|
|
30815
|
+
lastSpaces = 0;
|
|
30816
|
+
}
|
|
31111
30817
|
}
|
|
31112
|
-
function
|
|
31113
|
-
|
|
31114
|
-
|
|
30818
|
+
function trim2(out) {
|
|
30819
|
+
let trimCount = 0;
|
|
30820
|
+
let cursorCount = 0;
|
|
30821
|
+
let outIndex = out.length;
|
|
30822
|
+
outer: while (outIndex--) {
|
|
30823
|
+
const last = out[outIndex];
|
|
30824
|
+
if (last === CURSOR_PLACEHOLDER) {
|
|
30825
|
+
cursorCount++;
|
|
30826
|
+
continue;
|
|
31115
30827
|
}
|
|
31116
|
-
|
|
31117
|
-
|
|
31118
|
-
|
|
31119
|
-
|
|
31120
|
-
|
|
31121
|
-
|
|
31122
|
-
|
|
31123
|
-
|
|
31124
|
-
/**
|
|
31125
|
-
* Represent any possible numeric value
|
|
31126
|
-
*/
|
|
31127
|
-
function Numeric(stringValue) {
|
|
31128
|
-
if (new.target) {
|
|
31129
|
-
throw new Error("Numeric is not a constructor");
|
|
30828
|
+
for (let charIndex = last.length - 1; charIndex >= 0; charIndex--) {
|
|
30829
|
+
const char = last[charIndex];
|
|
30830
|
+
if (char === " " || char === " ") {
|
|
30831
|
+
trimCount++;
|
|
30832
|
+
} else {
|
|
30833
|
+
out[outIndex] = last.slice(0, charIndex + 1);
|
|
30834
|
+
break outer;
|
|
30835
|
+
}
|
|
31130
30836
|
}
|
|
31131
|
-
|
|
31132
|
-
|
|
31133
|
-
|
|
31134
|
-
|
|
31135
|
-
|
|
31136
|
-
}
|
|
31137
|
-
|
|
31138
|
-
|
|
31139
|
-
return Object.freeze(numeric);
|
|
31140
|
-
}
|
|
31141
|
-
function setTypedProptotype(obj, prototype) {
|
|
31142
|
-
Object.setPrototypeOf(obj, prototype);
|
|
31143
|
-
return obj;
|
|
30837
|
+
}
|
|
30838
|
+
if (trimCount > 0 || cursorCount > 0) {
|
|
30839
|
+
out.length = outIndex + 1;
|
|
30840
|
+
while (cursorCount-- > 0) {
|
|
30841
|
+
out.push(CURSOR_PLACEHOLDER);
|
|
30842
|
+
}
|
|
30843
|
+
}
|
|
30844
|
+
return trimCount;
|
|
31144
30845
|
}
|
|
31145
|
-
function
|
|
31146
|
-
|
|
31147
|
-
|
|
31148
|
-
|
|
31149
|
-
|
|
31150
|
-
|
|
31151
|
-
|
|
31152
|
-
|
|
31153
|
-
|
|
31154
|
-
|
|
30846
|
+
function fits(next, restCommands, width, hasLineSuffix, groupModeMap, mustBeFlat) {
|
|
30847
|
+
if (width === Number.POSITIVE_INFINITY) {
|
|
30848
|
+
return true;
|
|
30849
|
+
}
|
|
30850
|
+
let restIdx = restCommands.length;
|
|
30851
|
+
const cmds = [next];
|
|
30852
|
+
const out = [];
|
|
30853
|
+
while (width >= 0) {
|
|
30854
|
+
if (cmds.length === 0) {
|
|
30855
|
+
if (restIdx === 0) {
|
|
30856
|
+
return true;
|
|
30857
|
+
}
|
|
30858
|
+
cmds.push(restCommands[--restIdx]);
|
|
30859
|
+
continue;
|
|
31155
30860
|
}
|
|
31156
|
-
const
|
|
31157
|
-
|
|
31158
|
-
|
|
31159
|
-
|
|
31160
|
-
|
|
31161
|
-
|
|
30861
|
+
const {
|
|
30862
|
+
mode,
|
|
30863
|
+
doc
|
|
30864
|
+
} = cmds.pop();
|
|
30865
|
+
const docType = get_doc_type_default(doc);
|
|
30866
|
+
switch (docType) {
|
|
30867
|
+
case DOC_TYPE_STRING:
|
|
30868
|
+
out.push(doc);
|
|
30869
|
+
width -= get_string_width_default(doc);
|
|
30870
|
+
break;
|
|
30871
|
+
case DOC_TYPE_ARRAY:
|
|
30872
|
+
case DOC_TYPE_FILL: {
|
|
30873
|
+
const parts = docType === DOC_TYPE_ARRAY ? doc : doc.parts;
|
|
30874
|
+
for (let i = parts.length - 1; i >= 0; i--) {
|
|
30875
|
+
cmds.push({
|
|
30876
|
+
mode,
|
|
30877
|
+
doc: parts[i]
|
|
30878
|
+
});
|
|
31162
30879
|
}
|
|
31163
|
-
|
|
31164
|
-
|
|
30880
|
+
break;
|
|
30881
|
+
}
|
|
30882
|
+
case DOC_TYPE_INDENT:
|
|
30883
|
+
case DOC_TYPE_ALIGN:
|
|
30884
|
+
case DOC_TYPE_INDENT_IF_BREAK:
|
|
30885
|
+
case DOC_TYPE_LABEL:
|
|
30886
|
+
cmds.push({
|
|
30887
|
+
mode,
|
|
30888
|
+
doc: doc.contents
|
|
30889
|
+
});
|
|
30890
|
+
break;
|
|
30891
|
+
case DOC_TYPE_TRIM:
|
|
30892
|
+
width += trim2(out);
|
|
30893
|
+
break;
|
|
30894
|
+
case DOC_TYPE_GROUP: {
|
|
30895
|
+
if (mustBeFlat && doc.break) {
|
|
30896
|
+
return false;
|
|
30897
|
+
}
|
|
30898
|
+
const groupMode = doc.break ? MODE_BREAK : mode;
|
|
30899
|
+
const contents = doc.expandedStates && groupMode === MODE_BREAK ? at_default(
|
|
30900
|
+
/* isOptionalObject */
|
|
30901
|
+
false,
|
|
30902
|
+
doc.expandedStates,
|
|
30903
|
+
-1
|
|
30904
|
+
) : doc.contents;
|
|
30905
|
+
cmds.push({
|
|
30906
|
+
mode: groupMode,
|
|
30907
|
+
doc: contents
|
|
30908
|
+
});
|
|
30909
|
+
break;
|
|
30910
|
+
}
|
|
30911
|
+
case DOC_TYPE_IF_BREAK: {
|
|
30912
|
+
const groupMode = doc.groupId ? groupModeMap[doc.groupId] || MODE_FLAT : mode;
|
|
30913
|
+
const contents = groupMode === MODE_BREAK ? doc.breakContents : doc.flatContents;
|
|
30914
|
+
if (contents) {
|
|
30915
|
+
cmds.push({
|
|
30916
|
+
mode,
|
|
30917
|
+
doc: contents
|
|
30918
|
+
});
|
|
30919
|
+
}
|
|
30920
|
+
break;
|
|
30921
|
+
}
|
|
30922
|
+
case DOC_TYPE_LINE:
|
|
30923
|
+
if (mode === MODE_BREAK || doc.hard) {
|
|
30924
|
+
return true;
|
|
30925
|
+
}
|
|
30926
|
+
if (!doc.soft) {
|
|
30927
|
+
out.push(" ");
|
|
30928
|
+
width--;
|
|
30929
|
+
}
|
|
30930
|
+
break;
|
|
30931
|
+
case DOC_TYPE_LINE_SUFFIX:
|
|
30932
|
+
hasLineSuffix = true;
|
|
30933
|
+
break;
|
|
30934
|
+
case DOC_TYPE_LINE_SUFFIX_BOUNDARY:
|
|
30935
|
+
if (hasLineSuffix) {
|
|
30936
|
+
return false;
|
|
30937
|
+
}
|
|
30938
|
+
break;
|
|
30939
|
+
}
|
|
30940
|
+
}
|
|
30941
|
+
return false;
|
|
30942
|
+
}
|
|
30943
|
+
function printDocToString(doc, options) {
|
|
30944
|
+
const groupModeMap = {};
|
|
30945
|
+
const width = options.printWidth;
|
|
30946
|
+
const newLine = convertEndOfLineToChars(options.endOfLine);
|
|
30947
|
+
let pos = 0;
|
|
30948
|
+
const cmds = [{
|
|
30949
|
+
ind: rootIndent(),
|
|
30950
|
+
mode: MODE_BREAK,
|
|
30951
|
+
doc
|
|
30952
|
+
}];
|
|
30953
|
+
const out = [];
|
|
30954
|
+
let shouldRemeasure = false;
|
|
30955
|
+
const lineSuffix2 = [];
|
|
30956
|
+
let printedCursorCount = 0;
|
|
30957
|
+
propagateBreaks(doc);
|
|
30958
|
+
while (cmds.length > 0) {
|
|
30959
|
+
const {
|
|
30960
|
+
ind,
|
|
30961
|
+
mode,
|
|
30962
|
+
doc: doc2
|
|
30963
|
+
} = cmds.pop();
|
|
30964
|
+
switch (get_doc_type_default(doc2)) {
|
|
30965
|
+
case DOC_TYPE_STRING: {
|
|
30966
|
+
const formatted = newLine !== "\n" ? string_replace_all_default(
|
|
30967
|
+
/* isOptionalObject */
|
|
30968
|
+
false,
|
|
30969
|
+
doc2,
|
|
30970
|
+
"\n",
|
|
30971
|
+
newLine
|
|
30972
|
+
) : doc2;
|
|
30973
|
+
out.push(formatted);
|
|
30974
|
+
if (cmds.length > 0) {
|
|
30975
|
+
pos += get_string_width_default(formatted);
|
|
31165
30976
|
}
|
|
31166
|
-
|
|
31167
|
-
|
|
31168
|
-
|
|
31169
|
-
|
|
31170
|
-
|
|
30977
|
+
break;
|
|
30978
|
+
}
|
|
30979
|
+
case DOC_TYPE_ARRAY:
|
|
30980
|
+
for (let i = doc2.length - 1; i >= 0; i--) {
|
|
30981
|
+
cmds.push({
|
|
30982
|
+
ind,
|
|
30983
|
+
mode,
|
|
30984
|
+
doc: doc2[i]
|
|
30985
|
+
});
|
|
31171
30986
|
}
|
|
31172
|
-
|
|
31173
|
-
|
|
31174
|
-
|
|
31175
|
-
|
|
31176
|
-
exp = adjustedPointIndex;
|
|
31177
|
-
stringValue = stringValue.replace(".", "");
|
|
30987
|
+
break;
|
|
30988
|
+
case DOC_TYPE_CURSOR:
|
|
30989
|
+
if (printedCursorCount >= 2) {
|
|
30990
|
+
throw new Error("There are too many 'cursor' in doc.");
|
|
31178
30991
|
}
|
|
31179
|
-
|
|
31180
|
-
|
|
31181
|
-
|
|
31182
|
-
|
|
31183
|
-
|
|
30992
|
+
out.push(CURSOR_PLACEHOLDER);
|
|
30993
|
+
printedCursorCount++;
|
|
30994
|
+
break;
|
|
30995
|
+
case DOC_TYPE_INDENT:
|
|
30996
|
+
cmds.push({
|
|
30997
|
+
ind: makeIndent(ind, options),
|
|
30998
|
+
mode,
|
|
30999
|
+
doc: doc2.contents
|
|
31000
|
+
});
|
|
31001
|
+
break;
|
|
31002
|
+
case DOC_TYPE_ALIGN:
|
|
31003
|
+
cmds.push({
|
|
31004
|
+
ind: makeAlign(ind, doc2.n, options),
|
|
31005
|
+
mode,
|
|
31006
|
+
doc: doc2.contents
|
|
31007
|
+
});
|
|
31008
|
+
break;
|
|
31009
|
+
case DOC_TYPE_TRIM:
|
|
31010
|
+
pos -= trim2(out);
|
|
31011
|
+
break;
|
|
31012
|
+
case DOC_TYPE_GROUP:
|
|
31013
|
+
switch (mode) {
|
|
31014
|
+
case MODE_FLAT:
|
|
31015
|
+
if (!shouldRemeasure) {
|
|
31016
|
+
cmds.push({
|
|
31017
|
+
ind,
|
|
31018
|
+
mode: doc2.break ? MODE_BREAK : MODE_FLAT,
|
|
31019
|
+
doc: doc2.contents
|
|
31020
|
+
});
|
|
31021
|
+
break;
|
|
31184
31022
|
}
|
|
31185
|
-
|
|
31186
|
-
|
|
31023
|
+
case MODE_BREAK: {
|
|
31024
|
+
shouldRemeasure = false;
|
|
31025
|
+
const next = {
|
|
31026
|
+
ind,
|
|
31027
|
+
mode: MODE_FLAT,
|
|
31028
|
+
doc: doc2.contents
|
|
31029
|
+
};
|
|
31030
|
+
const rem = width - pos;
|
|
31031
|
+
const hasLineSuffix = lineSuffix2.length > 0;
|
|
31032
|
+
if (!doc2.break && fits(next, cmds, rem, hasLineSuffix, groupModeMap)) {
|
|
31033
|
+
cmds.push(next);
|
|
31034
|
+
} else {
|
|
31035
|
+
if (doc2.expandedStates) {
|
|
31036
|
+
const mostExpanded = at_default(
|
|
31037
|
+
/* isOptionalObject */
|
|
31038
|
+
false,
|
|
31039
|
+
doc2.expandedStates,
|
|
31040
|
+
-1
|
|
31041
|
+
);
|
|
31042
|
+
if (doc2.break) {
|
|
31043
|
+
cmds.push({
|
|
31044
|
+
ind,
|
|
31045
|
+
mode: MODE_BREAK,
|
|
31046
|
+
doc: mostExpanded
|
|
31047
|
+
});
|
|
31048
|
+
break;
|
|
31049
|
+
} else {
|
|
31050
|
+
for (let i = 1; i < doc2.expandedStates.length + 1; i++) {
|
|
31051
|
+
if (i >= doc2.expandedStates.length) {
|
|
31052
|
+
cmds.push({
|
|
31053
|
+
ind,
|
|
31054
|
+
mode: MODE_BREAK,
|
|
31055
|
+
doc: mostExpanded
|
|
31056
|
+
});
|
|
31057
|
+
break;
|
|
31058
|
+
} else {
|
|
31059
|
+
const state = doc2.expandedStates[i];
|
|
31060
|
+
const cmd = {
|
|
31061
|
+
ind,
|
|
31062
|
+
mode: MODE_FLAT,
|
|
31063
|
+
doc: state
|
|
31064
|
+
};
|
|
31065
|
+
if (fits(cmd, cmds, rem, hasLineSuffix, groupModeMap)) {
|
|
31066
|
+
cmds.push(cmd);
|
|
31067
|
+
break;
|
|
31068
|
+
}
|
|
31069
|
+
}
|
|
31070
|
+
}
|
|
31071
|
+
}
|
|
31072
|
+
} else {
|
|
31073
|
+
cmds.push({
|
|
31074
|
+
ind,
|
|
31075
|
+
mode: MODE_BREAK,
|
|
31076
|
+
doc: doc2.contents
|
|
31077
|
+
});
|
|
31078
|
+
}
|
|
31079
|
+
}
|
|
31080
|
+
break;
|
|
31081
|
+
}
|
|
31187
31082
|
}
|
|
31188
|
-
|
|
31189
|
-
|
|
31190
|
-
|
|
31191
|
-
|
|
31083
|
+
if (doc2.id) {
|
|
31084
|
+
groupModeMap[doc2.id] = at_default(
|
|
31085
|
+
/* isOptionalObject */
|
|
31086
|
+
false,
|
|
31087
|
+
cmds,
|
|
31088
|
+
-1
|
|
31089
|
+
).mode;
|
|
31192
31090
|
}
|
|
31193
|
-
|
|
31194
|
-
|
|
31091
|
+
break;
|
|
31092
|
+
case DOC_TYPE_FILL: {
|
|
31093
|
+
const rem = width - pos;
|
|
31094
|
+
const {
|
|
31095
|
+
parts
|
|
31096
|
+
} = doc2;
|
|
31097
|
+
if (parts.length === 0) {
|
|
31098
|
+
break;
|
|
31195
31099
|
}
|
|
31196
|
-
|
|
31197
|
-
|
|
31198
|
-
|
|
31100
|
+
const [content, whitespace] = parts;
|
|
31101
|
+
const contentFlatCmd = {
|
|
31102
|
+
ind,
|
|
31103
|
+
mode: MODE_FLAT,
|
|
31104
|
+
doc: content
|
|
31105
|
+
};
|
|
31106
|
+
const contentBreakCmd = {
|
|
31107
|
+
ind,
|
|
31108
|
+
mode: MODE_BREAK,
|
|
31109
|
+
doc: content
|
|
31110
|
+
};
|
|
31111
|
+
const contentFits = fits(contentFlatCmd, [], rem, lineSuffix2.length > 0, groupModeMap, true);
|
|
31112
|
+
if (parts.length === 1) {
|
|
31113
|
+
if (contentFits) {
|
|
31114
|
+
cmds.push(contentFlatCmd);
|
|
31115
|
+
} else {
|
|
31116
|
+
cmds.push(contentBreakCmd);
|
|
31117
|
+
}
|
|
31118
|
+
break;
|
|
31119
|
+
}
|
|
31120
|
+
const whitespaceFlatCmd = {
|
|
31121
|
+
ind,
|
|
31122
|
+
mode: MODE_FLAT,
|
|
31123
|
+
doc: whitespace
|
|
31124
|
+
};
|
|
31125
|
+
const whitespaceBreakCmd = {
|
|
31126
|
+
ind,
|
|
31127
|
+
mode: MODE_BREAK,
|
|
31128
|
+
doc: whitespace
|
|
31129
|
+
};
|
|
31130
|
+
if (parts.length === 2) {
|
|
31131
|
+
if (contentFits) {
|
|
31132
|
+
cmds.push(whitespaceFlatCmd, contentFlatCmd);
|
|
31133
|
+
} else {
|
|
31134
|
+
cmds.push(whitespaceBreakCmd, contentBreakCmd);
|
|
31135
|
+
}
|
|
31136
|
+
break;
|
|
31137
|
+
}
|
|
31138
|
+
parts.splice(0, 2);
|
|
31139
|
+
const remainingCmd = {
|
|
31140
|
+
ind,
|
|
31141
|
+
mode,
|
|
31142
|
+
doc: fill(parts)
|
|
31143
|
+
};
|
|
31144
|
+
const secondContent = parts[0];
|
|
31145
|
+
const firstAndSecondContentFlatCmd = {
|
|
31146
|
+
ind,
|
|
31147
|
+
mode: MODE_FLAT,
|
|
31148
|
+
doc: [content, whitespace, secondContent]
|
|
31149
|
+
};
|
|
31150
|
+
const firstAndSecondContentFits = fits(firstAndSecondContentFlatCmd, [], rem, lineSuffix2.length > 0, groupModeMap, true);
|
|
31151
|
+
if (firstAndSecondContentFits) {
|
|
31152
|
+
cmds.push(remainingCmd, whitespaceFlatCmd, contentFlatCmd);
|
|
31153
|
+
} else if (contentFits) {
|
|
31154
|
+
cmds.push(remainingCmd, whitespaceBreakCmd, contentFlatCmd);
|
|
31155
|
+
} else {
|
|
31156
|
+
cmds.push(remainingCmd, whitespaceBreakCmd, contentBreakCmd);
|
|
31157
|
+
}
|
|
31158
|
+
break;
|
|
31159
|
+
}
|
|
31160
|
+
case DOC_TYPE_IF_BREAK:
|
|
31161
|
+
case DOC_TYPE_INDENT_IF_BREAK: {
|
|
31162
|
+
const groupMode = doc2.groupId ? groupModeMap[doc2.groupId] : mode;
|
|
31163
|
+
if (groupMode === MODE_BREAK) {
|
|
31164
|
+
const breakContents = doc2.type === DOC_TYPE_IF_BREAK ? doc2.breakContents : doc2.negate ? doc2.contents : indent(doc2.contents);
|
|
31165
|
+
if (breakContents) {
|
|
31166
|
+
cmds.push({
|
|
31167
|
+
ind,
|
|
31168
|
+
mode,
|
|
31169
|
+
doc: breakContents
|
|
31170
|
+
});
|
|
31171
|
+
}
|
|
31172
|
+
}
|
|
31173
|
+
if (groupMode === MODE_FLAT) {
|
|
31174
|
+
const flatContents = doc2.type === DOC_TYPE_IF_BREAK ? doc2.flatContents : doc2.negate ? indent(doc2.contents) : doc2.contents;
|
|
31175
|
+
if (flatContents) {
|
|
31176
|
+
cmds.push({
|
|
31177
|
+
ind,
|
|
31178
|
+
mode,
|
|
31179
|
+
doc: flatContents
|
|
31180
|
+
});
|
|
31181
|
+
}
|
|
31199
31182
|
}
|
|
31200
|
-
|
|
31201
|
-
|
|
31202
|
-
|
|
31203
|
-
|
|
31204
|
-
|
|
31183
|
+
break;
|
|
31184
|
+
}
|
|
31185
|
+
case DOC_TYPE_LINE_SUFFIX:
|
|
31186
|
+
lineSuffix2.push({
|
|
31187
|
+
ind,
|
|
31188
|
+
mode,
|
|
31189
|
+
doc: doc2.contents
|
|
31190
|
+
});
|
|
31191
|
+
break;
|
|
31192
|
+
case DOC_TYPE_LINE_SUFFIX_BOUNDARY:
|
|
31193
|
+
if (lineSuffix2.length > 0) {
|
|
31194
|
+
cmds.push({
|
|
31195
|
+
ind,
|
|
31196
|
+
mode,
|
|
31197
|
+
doc: hardlineWithoutBreakParent
|
|
31198
|
+
});
|
|
31205
31199
|
}
|
|
31206
|
-
|
|
31207
|
-
|
|
31200
|
+
break;
|
|
31201
|
+
case DOC_TYPE_LINE:
|
|
31202
|
+
switch (mode) {
|
|
31203
|
+
case MODE_FLAT:
|
|
31204
|
+
if (!doc2.hard) {
|
|
31205
|
+
if (!doc2.soft) {
|
|
31206
|
+
out.push(" ");
|
|
31207
|
+
pos += 1;
|
|
31208
|
+
}
|
|
31209
|
+
break;
|
|
31210
|
+
} else {
|
|
31211
|
+
shouldRemeasure = true;
|
|
31212
|
+
}
|
|
31213
|
+
case MODE_BREAK:
|
|
31214
|
+
if (lineSuffix2.length > 0) {
|
|
31215
|
+
cmds.push({
|
|
31216
|
+
ind,
|
|
31217
|
+
mode,
|
|
31218
|
+
doc: doc2
|
|
31219
|
+
}, ...lineSuffix2.reverse());
|
|
31220
|
+
lineSuffix2.length = 0;
|
|
31221
|
+
break;
|
|
31222
|
+
}
|
|
31223
|
+
if (doc2.literal) {
|
|
31224
|
+
if (ind.root) {
|
|
31225
|
+
out.push(newLine, ind.root.value);
|
|
31226
|
+
pos = ind.root.length;
|
|
31227
|
+
} else {
|
|
31228
|
+
out.push(newLine);
|
|
31229
|
+
pos = 0;
|
|
31230
|
+
}
|
|
31231
|
+
} else {
|
|
31232
|
+
pos -= trim2(out);
|
|
31233
|
+
out.push(newLine + ind.value);
|
|
31234
|
+
pos = ind.length;
|
|
31235
|
+
}
|
|
31236
|
+
break;
|
|
31208
31237
|
}
|
|
31238
|
+
break;
|
|
31239
|
+
case DOC_TYPE_LABEL:
|
|
31240
|
+
cmds.push({
|
|
31241
|
+
ind,
|
|
31242
|
+
mode,
|
|
31243
|
+
doc: doc2.contents
|
|
31244
|
+
});
|
|
31245
|
+
break;
|
|
31246
|
+
case DOC_TYPE_BREAK_PARENT:
|
|
31247
|
+
break;
|
|
31248
|
+
default:
|
|
31249
|
+
throw new invalid_doc_error_default(doc2);
|
|
31209
31250
|
}
|
|
31210
|
-
|
|
31211
|
-
|
|
31212
|
-
|
|
31213
|
-
const n = value.n.toString();
|
|
31214
|
-
const sign = value.s === -1 ? "-" : "";
|
|
31215
|
-
const decimal = value.e < n.length ? "." + n.slice(value.e) : "";
|
|
31216
|
-
return sign + n.slice(0, value.e) + decimal;
|
|
31217
|
-
}
|
|
31218
|
-
const equals = (a, b) => a.n === b.n && a.e === b.e;
|
|
31219
|
-
const compare = (a, b) => {
|
|
31220
|
-
if (a.s < b.s) {
|
|
31221
|
-
return -1;
|
|
31222
|
-
}
|
|
31223
|
-
else if (a.s > b.s) {
|
|
31224
|
-
return 1;
|
|
31225
|
-
}
|
|
31226
|
-
const neg = a.s;
|
|
31227
|
-
if (a.e < b.e) {
|
|
31228
|
-
return (-1 * neg);
|
|
31229
|
-
}
|
|
31230
|
-
else if (a.e > b.e) {
|
|
31231
|
-
return (1 * neg);
|
|
31232
|
-
}
|
|
31233
|
-
let aN = a.n;
|
|
31234
|
-
let bN = b.n;
|
|
31235
|
-
if (a.d < b.d) {
|
|
31236
|
-
aN *= 10n ** BigInt(b.d - a.d);
|
|
31237
|
-
}
|
|
31238
|
-
else {
|
|
31239
|
-
bN *= 10n ** BigInt(a.d - b.d);
|
|
31251
|
+
if (cmds.length === 0 && lineSuffix2.length > 0) {
|
|
31252
|
+
cmds.push(...lineSuffix2.reverse());
|
|
31253
|
+
lineSuffix2.length = 0;
|
|
31240
31254
|
}
|
|
31241
|
-
|
|
31242
|
-
|
|
31243
|
-
|
|
31244
|
-
|
|
31245
|
-
|
|
31246
|
-
|
|
31247
|
-
const
|
|
31248
|
-
|
|
31249
|
-
|
|
31250
|
-
|
|
31251
|
-
|
|
31252
|
-
|
|
31253
|
-
|
|
31254
|
-
|
|
31255
|
-
|
|
31256
|
-
|
|
31257
|
-
|
|
31258
|
-
|
|
31259
|
-
|
|
31260
|
-
|
|
31261
|
-
|
|
31262
|
-
|
|
31263
|
-
|
|
31264
|
-
|
|
31265
|
-
|
|
31266
|
-
|
|
31267
|
-
|
|
31268
|
-
|
|
31269
|
-
|
|
31270
|
-
|
|
31271
|
-
|
|
31272
|
-
|
|
31255
|
+
}
|
|
31256
|
+
const cursorPlaceholderIndex = out.indexOf(CURSOR_PLACEHOLDER);
|
|
31257
|
+
if (cursorPlaceholderIndex !== -1) {
|
|
31258
|
+
const otherCursorPlaceholderIndex = out.indexOf(CURSOR_PLACEHOLDER, cursorPlaceholderIndex + 1);
|
|
31259
|
+
const beforeCursor = out.slice(0, cursorPlaceholderIndex).join("");
|
|
31260
|
+
const aroundCursor = out.slice(cursorPlaceholderIndex + 1, otherCursorPlaceholderIndex).join("");
|
|
31261
|
+
const afterCursor = out.slice(otherCursorPlaceholderIndex + 1).join("");
|
|
31262
|
+
return {
|
|
31263
|
+
formatted: beforeCursor + aroundCursor + afterCursor,
|
|
31264
|
+
cursorNodeStart: beforeCursor.length,
|
|
31265
|
+
cursorNodeText: aroundCursor
|
|
31266
|
+
};
|
|
31267
|
+
}
|
|
31268
|
+
return {
|
|
31269
|
+
formatted: out.join("")
|
|
31270
|
+
};
|
|
31271
|
+
}
|
|
31272
|
+
|
|
31273
|
+
// src/document/public.js
|
|
31274
|
+
var builders = {
|
|
31275
|
+
join,
|
|
31276
|
+
line,
|
|
31277
|
+
softline,
|
|
31278
|
+
hardline,
|
|
31279
|
+
literalline,
|
|
31280
|
+
group,
|
|
31281
|
+
conditionalGroup,
|
|
31282
|
+
fill,
|
|
31283
|
+
lineSuffix,
|
|
31284
|
+
lineSuffixBoundary,
|
|
31285
|
+
cursor,
|
|
31286
|
+
breakParent,
|
|
31287
|
+
ifBreak,
|
|
31288
|
+
trim,
|
|
31289
|
+
indent,
|
|
31290
|
+
indentIfBreak,
|
|
31291
|
+
align,
|
|
31292
|
+
addAlignmentToDoc,
|
|
31293
|
+
markAsRoot,
|
|
31294
|
+
dedentToRoot,
|
|
31295
|
+
dedent,
|
|
31296
|
+
hardlineWithoutBreakParent,
|
|
31297
|
+
literallineWithoutBreakParent,
|
|
31298
|
+
label,
|
|
31299
|
+
// TODO: Remove this in v4
|
|
31300
|
+
concat: (parts) => parts
|
|
31273
31301
|
};
|
|
31274
|
-
|
|
31275
|
-
|
|
31302
|
+
var printer = { printDocToString };
|
|
31303
|
+
var utils = {
|
|
31304
|
+
willBreak,
|
|
31305
|
+
traverseDoc: traverse_doc_default,
|
|
31306
|
+
findInDoc,
|
|
31307
|
+
mapDoc,
|
|
31308
|
+
removeLines,
|
|
31309
|
+
stripTrailingHardline,
|
|
31310
|
+
replaceEndOfLine,
|
|
31311
|
+
canBreak
|
|
31276
31312
|
};
|
|
31277
31313
|
|
|
31278
|
-
|
|
31279
|
-
|
|
31280
|
-
*/
|
|
31281
|
-
|
|
31282
|
-
|
|
31283
|
-
|
|
31284
|
-
|
|
31285
|
-
|
|
31286
|
-
|
|
31287
|
-
|
|
31288
|
-
|
|
31289
|
-
|
|
31290
|
-
|
|
31291
|
-
|
|
31292
|
-
|
|
31293
|
-
|
|
31294
|
-
|
|
31295
|
-
|
|
31296
|
-
|
|
31297
|
-
{ int: true, isJsNumber: true },
|
|
31298
|
-
],
|
|
31299
|
-
float32: [Numeric("-3.4e38"), Numeric("3.4e38"), { int: false, isJsNumber: true }],
|
|
31300
|
-
float64: [
|
|
31301
|
-
Numeric(`${-Number.MAX_VALUE}`),
|
|
31302
|
-
Numeric(Number.MAX_VALUE.toString()),
|
|
31303
|
-
{ int: false, isJsNumber: true },
|
|
31304
|
-
],
|
|
31305
|
-
});
|
|
31306
|
-
|
|
31307
|
-
var ResolutionKind;
|
|
31308
|
-
(function (ResolutionKind) {
|
|
31309
|
-
ResolutionKind[ResolutionKind["Value"] = 0] = "Value";
|
|
31310
|
-
ResolutionKind[ResolutionKind["Type"] = 1] = "Type";
|
|
31311
|
-
ResolutionKind[ResolutionKind["BaseType"] = 2] = "BaseType";
|
|
31312
|
-
ResolutionKind[ResolutionKind["Constraint"] = 3] = "Constraint";
|
|
31313
|
-
})(ResolutionKind || (ResolutionKind = {}));
|
|
31314
|
-
var Related;
|
|
31315
|
-
(function (Related) {
|
|
31316
|
-
Related[Related["false"] = 0] = "false";
|
|
31317
|
-
Related[Related["true"] = 1] = "true";
|
|
31318
|
-
Related[Related["maybe"] = 2] = "maybe";
|
|
31319
|
-
})(Related || (Related = {}));
|
|
31314
|
+
var CommentCheckFlags;
|
|
31315
|
+
(function (CommentCheckFlags) {
|
|
31316
|
+
/** Check comment is a leading comment */
|
|
31317
|
+
CommentCheckFlags[CommentCheckFlags["Leading"] = 2] = "Leading";
|
|
31318
|
+
/** Check comment is a trailing comment */
|
|
31319
|
+
CommentCheckFlags[CommentCheckFlags["Trailing"] = 4] = "Trailing";
|
|
31320
|
+
/** Check comment is a dangling comment */
|
|
31321
|
+
CommentCheckFlags[CommentCheckFlags["Dangling"] = 8] = "Dangling";
|
|
31322
|
+
/** Check comment is a block comment */
|
|
31323
|
+
CommentCheckFlags[CommentCheckFlags["Block"] = 16] = "Block";
|
|
31324
|
+
/** Check comment is a line comment */
|
|
31325
|
+
CommentCheckFlags[CommentCheckFlags["Line"] = 32] = "Line";
|
|
31326
|
+
/** Check comment is a `prettier-ignore` comment */
|
|
31327
|
+
CommentCheckFlags[CommentCheckFlags["PrettierIgnore"] = 64] = "PrettierIgnore";
|
|
31328
|
+
/** Check comment is the first attached comment */
|
|
31329
|
+
CommentCheckFlags[CommentCheckFlags["First"] = 128] = "First";
|
|
31330
|
+
/** Check comment is the last attached comment */
|
|
31331
|
+
CommentCheckFlags[CommentCheckFlags["Last"] = 256] = "Last";
|
|
31332
|
+
})(CommentCheckFlags || (CommentCheckFlags = {}));
|
|
31320
31333
|
|
|
31321
31334
|
const noContext = new Set(["modelPropertyReference", "enumMemberReference"]);
|
|
31322
31335
|
new Set([
|