@openrewrite/rewrite 8.69.0-20251207-220615 → 8.69.0-20251208-071356

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/javascript/autodetect.d.ts +45 -0
  2. package/dist/javascript/autodetect.d.ts.map +1 -0
  3. package/dist/javascript/autodetect.js +303 -0
  4. package/dist/javascript/autodetect.js.map +1 -0
  5. package/dist/javascript/format.d.ts +13 -2
  6. package/dist/javascript/format.d.ts.map +1 -1
  7. package/dist/javascript/format.js +100 -21
  8. package/dist/javascript/format.js.map +1 -1
  9. package/dist/javascript/index.d.ts +1 -0
  10. package/dist/javascript/index.d.ts.map +1 -1
  11. package/dist/javascript/index.js +1 -0
  12. package/dist/javascript/index.js.map +1 -1
  13. package/dist/javascript/recipes/auto-format.d.ts +25 -13
  14. package/dist/javascript/recipes/auto-format.d.ts.map +1 -1
  15. package/dist/javascript/recipes/auto-format.js +38 -13
  16. package/dist/javascript/recipes/auto-format.js.map +1 -1
  17. package/dist/javascript/style.d.ts +9 -0
  18. package/dist/javascript/style.d.ts.map +1 -1
  19. package/dist/javascript/style.js +30 -0
  20. package/dist/javascript/style.js.map +1 -1
  21. package/dist/run.d.ts +6 -5
  22. package/dist/run.d.ts.map +1 -1
  23. package/dist/run.js +36 -37
  24. package/dist/run.js.map +1 -1
  25. package/dist/test/rewrite-test.d.ts +17 -0
  26. package/dist/test/rewrite-test.d.ts.map +1 -1
  27. package/dist/test/rewrite-test.js +1 -0
  28. package/dist/test/rewrite-test.js.map +1 -1
  29. package/dist/version.txt +1 -1
  30. package/package.json +1 -1
  31. package/src/javascript/autodetect.ts +302 -0
  32. package/src/javascript/format.ts +97 -28
  33. package/src/javascript/index.ts +1 -0
  34. package/src/javascript/recipes/auto-format.ts +49 -14
  35. package/src/javascript/style.ts +32 -0
  36. package/src/run.ts +20 -20
  37. package/src/test/rewrite-test.ts +1 -1
@@ -0,0 +1,45 @@
1
+ import { NamedStyles, Style } from "../style";
2
+ import { SourceFile } from "../tree";
3
+ import { JS } from "./tree";
4
+ import { SpacesStyle, TabsAndIndentsStyle, WrappingAndBracesStyle } from "./style";
5
+ /**
6
+ * Auto-detected styles for JavaScript/TypeScript code.
7
+ * Focuses on key formatting variations where projects differ:
8
+ * - Tabs vs spaces
9
+ * - Indent size (2, 4, etc.)
10
+ * - Spaces within ES6 import/export braces
11
+ */
12
+ export declare class Autodetect implements NamedStyles {
13
+ readonly kind: "org.openrewrite.marker.NamedStyles";
14
+ readonly id: string;
15
+ readonly name = "org.openrewrite.javascript.Autodetect";
16
+ readonly displayName = "Auto-detected";
17
+ readonly description = "Automatically detect styles from a repository's existing code.";
18
+ readonly tags: string[];
19
+ readonly styles: Style[];
20
+ constructor(id: string, styles: Style[]);
21
+ static detector(): Detector;
22
+ }
23
+ /**
24
+ * Collects formatting statistics from source files and builds auto-detected styles.
25
+ */
26
+ export declare class Detector {
27
+ private readonly tabsAndIndentsStats;
28
+ private readonly spacesStats;
29
+ /**
30
+ * Sample a source file to collect formatting statistics.
31
+ */
32
+ sample(sourceFile: SourceFile): Promise<void>;
33
+ /**
34
+ * Sample a JavaScript/TypeScript compilation unit.
35
+ */
36
+ sampleJavaScript(cu: JS.CompilationUnit): Promise<void>;
37
+ /**
38
+ * Build the auto-detected styles from collected statistics.
39
+ */
40
+ build(): Autodetect;
41
+ getTabsAndIndentsStyle(): TabsAndIndentsStyle;
42
+ getSpacesStyle(): SpacesStyle;
43
+ getWrappingAndBracesStyle(): WrappingAndBracesStyle;
44
+ }
45
+ //# sourceMappingURL=autodetect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autodetect.d.ts","sourceRoot":"","sources":["../../src/javascript/autodetect.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAC,WAAW,EAAE,KAAK,EAAC,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AACnC,OAAO,EAAC,EAAE,EAAC,MAAM,QAAQ,CAAC;AAG1B,OAAO,EAEH,WAAW,EAEX,mBAAmB,EACnB,sBAAsB,EAEzB,MAAM,SAAS,CAAC;AAEjB;;;;;;GAMG;AACH,qBAAa,UAAW,YAAW,WAAW;IAC1C,QAAQ,CAAC,IAAI,EAAG,oCAAoC,CAAU;IAC9D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,2CAA2C;IACxD,QAAQ,CAAC,WAAW,mBAAmB;IACvC,QAAQ,CAAC,WAAW,oEAAoE;IACxF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAM;IAC7B,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;gBAEb,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;IAKvC,MAAM,CAAC,QAAQ,IAAI,QAAQ;CAG9B;AAED;;GAEG;AACH,qBAAa,QAAQ;IACjB,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAkC;IACtE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0B;IAEtD;;OAEG;IACG,MAAM,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAMnD;;OAEG;IACG,gBAAgB,CAAC,EAAE,EAAE,EAAE,CAAC,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7D;;OAEG;IACH,KAAK,IAAI,UAAU;IAQnB,sBAAsB,IAAI,mBAAmB;IAI7C,cAAc,IAAI,WAAW;IAI7B,yBAAyB,IAAI,sBAAsB;CAStD"}
@@ -0,0 +1,303 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright 2025 the original author or authors.
4
+ * <p>
5
+ * Licensed under the Moderne Source Available License (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ * <p>
9
+ * https://docs.moderne.io/licensing/moderne-source-available-license
10
+ * <p>
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.Detector = exports.Autodetect = void 0;
28
+ const uuid_1 = require("../uuid");
29
+ const tree_1 = require("./tree");
30
+ const visitor_1 = require("./visitor");
31
+ const style_1 = require("./style");
32
+ /**
33
+ * Auto-detected styles for JavaScript/TypeScript code.
34
+ * Focuses on key formatting variations where projects differ:
35
+ * - Tabs vs spaces
36
+ * - Indent size (2, 4, etc.)
37
+ * - Spaces within ES6 import/export braces
38
+ */
39
+ class Autodetect {
40
+ constructor(id, styles) {
41
+ this.kind = "org.openrewrite.marker.NamedStyles";
42
+ this.name = "org.openrewrite.javascript.Autodetect";
43
+ this.displayName = "Auto-detected";
44
+ this.description = "Automatically detect styles from a repository's existing code.";
45
+ this.tags = [];
46
+ this.id = id;
47
+ this.styles = styles;
48
+ }
49
+ static detector() {
50
+ return new Detector();
51
+ }
52
+ }
53
+ exports.Autodetect = Autodetect;
54
+ /**
55
+ * Collects formatting statistics from source files and builds auto-detected styles.
56
+ */
57
+ class Detector {
58
+ constructor() {
59
+ this.tabsAndIndentsStats = new TabsAndIndentsStatistics();
60
+ this.spacesStats = new SpacesStatistics();
61
+ }
62
+ /**
63
+ * Sample a source file to collect formatting statistics.
64
+ */
65
+ sample(sourceFile) {
66
+ return __awaiter(this, void 0, void 0, function* () {
67
+ if (sourceFile.kind === tree_1.JS.Kind.CompilationUnit) {
68
+ yield this.sampleJavaScript(sourceFile);
69
+ }
70
+ });
71
+ }
72
+ /**
73
+ * Sample a JavaScript/TypeScript compilation unit.
74
+ */
75
+ sampleJavaScript(cu) {
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ yield new FindIndentVisitor(this.tabsAndIndentsStats).visit(cu, {});
78
+ yield new FindSpacesVisitor(this.spacesStats).visit(cu, {});
79
+ });
80
+ }
81
+ /**
82
+ * Build the auto-detected styles from collected statistics.
83
+ */
84
+ build() {
85
+ return new Autodetect((0, uuid_1.randomId)(), [
86
+ this.tabsAndIndentsStats.getTabsAndIndentsStyle(),
87
+ this.spacesStats.getSpacesStyle(),
88
+ this.getWrappingAndBracesStyle(),
89
+ ]);
90
+ }
91
+ getTabsAndIndentsStyle() {
92
+ return this.tabsAndIndentsStats.getTabsAndIndentsStyle();
93
+ }
94
+ getSpacesStyle() {
95
+ return this.spacesStats.getSpacesStyle();
96
+ }
97
+ getWrappingAndBracesStyle() {
98
+ return {
99
+ kind: style_1.StyleKind.WrappingAndBracesStyle,
100
+ ifStatement: {
101
+ kind: style_1.WrappingAndBracesStyleDetailKind.WrappingAndBracesStyleIfStatement,
102
+ elseOnNewLine: false
103
+ }
104
+ };
105
+ }
106
+ }
107
+ exports.Detector = Detector;
108
+ // ============================================================================
109
+ // Statistics Classes
110
+ // ============================================================================
111
+ /**
112
+ * Tracks indentation patterns to detect tabs vs spaces and indent size.
113
+ */
114
+ class TabsAndIndentsStatistics {
115
+ constructor() {
116
+ this.totalSpaceIndents = 0;
117
+ this.totalTabIndents = 0;
118
+ // Track all observed indent sizes to compute GCD
119
+ this.observedIndents = [];
120
+ }
121
+ recordSpaceIndent(spaceCount) {
122
+ this.totalSpaceIndents++;
123
+ if (spaceCount > 0) {
124
+ this.observedIndents.push(spaceCount);
125
+ }
126
+ }
127
+ recordTabIndent() {
128
+ this.totalTabIndents++;
129
+ }
130
+ getTabsAndIndentsStyle() {
131
+ // Determine if using tabs or spaces
132
+ const useTabs = this.totalTabIndents > this.totalSpaceIndents;
133
+ // Find indent size by computing GCD of all observed indents
134
+ // This correctly handles 2-space files where we see 2, 4, 6, 8... (all multiples of 2)
135
+ let detectedIndentSize = 4; // Default
136
+ if (this.observedIndents.length > 0) {
137
+ // Compute GCD of all observed indents
138
+ let gcd = this.observedIndents[0];
139
+ for (let i = 1; i < this.observedIndents.length; i++) {
140
+ gcd = this.computeGcd(gcd, this.observedIndents[i]);
141
+ if (gcd === 1)
142
+ break; // Can't get smaller than 1
143
+ }
144
+ // Only use common indent sizes (2, 4, 8)
145
+ if (gcd === 2 || gcd === 4 || gcd === 8) {
146
+ detectedIndentSize = gcd;
147
+ }
148
+ else if (gcd > 0 && gcd % 4 === 0) {
149
+ detectedIndentSize = 4;
150
+ }
151
+ else if (gcd > 0 && gcd % 2 === 0) {
152
+ detectedIndentSize = 2;
153
+ }
154
+ }
155
+ return {
156
+ kind: style_1.StyleKind.TabsAndIndentsStyle,
157
+ useTabCharacter: useTabs,
158
+ tabSize: 4,
159
+ indentSize: detectedIndentSize,
160
+ continuationIndent: detectedIndentSize * 2,
161
+ keepIndentsOnEmptyLines: false,
162
+ indentChainedMethods: true,
163
+ indentAllChainedCallsInAGroup: false
164
+ };
165
+ }
166
+ computeGcd(a, b) {
167
+ while (b !== 0) {
168
+ const temp = b;
169
+ b = a % b;
170
+ a = temp;
171
+ }
172
+ return a;
173
+ }
174
+ }
175
+ /**
176
+ * Tracks spacing patterns around ES6 import/export braces.
177
+ */
178
+ class SpacesStatistics {
179
+ constructor() {
180
+ // Track spaces within ES6 import/export braces: { a } vs {a}
181
+ this.es6ImportExportBracesWithSpace = 0;
182
+ this.es6ImportExportBracesWithoutSpace = 0;
183
+ }
184
+ getSpacesStyle() {
185
+ // Use TypeScript defaults as base since most modern JS/TS projects use similar conventions
186
+ // TypeScript defaults include afterTypeReferenceColon: true which is commonly expected
187
+ const defaults = style_1.IntelliJ.TypeScript.spaces();
188
+ return Object.assign(Object.assign({}, defaults), { within: Object.assign(Object.assign({}, defaults.within), { es6ImportExportBraces: this.es6ImportExportBracesWithSpace > this.es6ImportExportBracesWithoutSpace }) });
189
+ }
190
+ }
191
+ // ============================================================================
192
+ // Visitor Classes for Collecting Statistics
193
+ // ============================================================================
194
+ /**
195
+ * Detects indentation patterns by examining block contents.
196
+ */
197
+ class FindIndentVisitor extends visitor_1.JavaScriptVisitor {
198
+ constructor(stats) {
199
+ super();
200
+ this.stats = stats;
201
+ }
202
+ visitBlock(block, p) {
203
+ const _super = Object.create(null, {
204
+ visitBlock: { get: () => super.visitBlock }
205
+ });
206
+ return __awaiter(this, void 0, void 0, function* () {
207
+ var _a;
208
+ // Check indentation of statements in the block
209
+ for (const stmt of block.statements) {
210
+ const whitespace = (_a = stmt.element.prefix) === null || _a === void 0 ? void 0 : _a.whitespace;
211
+ if (whitespace) {
212
+ this.analyzeIndent(whitespace);
213
+ }
214
+ }
215
+ return _super.visitBlock.call(this, block, p);
216
+ });
217
+ }
218
+ analyzeIndent(whitespace) {
219
+ const newlineIndex = whitespace.lastIndexOf('\n');
220
+ if (newlineIndex < 0)
221
+ return;
222
+ const indent = whitespace.substring(newlineIndex + 1);
223
+ if (indent.length === 0)
224
+ return;
225
+ // Check first character to determine type
226
+ if (indent[0] === '\t') {
227
+ this.stats.recordTabIndent();
228
+ }
229
+ else if (indent[0] === ' ') {
230
+ // Count consecutive spaces
231
+ let spaceCount = 0;
232
+ for (const char of indent) {
233
+ if (char === ' ')
234
+ spaceCount++;
235
+ else
236
+ break;
237
+ }
238
+ if (spaceCount > 0) {
239
+ this.stats.recordSpaceIndent(spaceCount);
240
+ }
241
+ }
242
+ }
243
+ }
244
+ /**
245
+ * Detects spacing patterns in imports and exports.
246
+ */
247
+ class FindSpacesVisitor extends visitor_1.JavaScriptVisitor {
248
+ constructor(stats) {
249
+ super();
250
+ this.stats = stats;
251
+ }
252
+ visitImportDeclaration(import_, p) {
253
+ const _super = Object.create(null, {
254
+ visitImportDeclaration: { get: () => super.visitImportDeclaration }
255
+ });
256
+ return __awaiter(this, void 0, void 0, function* () {
257
+ var _a, _b, _c, _d, _e, _f, _g, _h;
258
+ // Check ES6 import braces spacing: import { a } from 'x' vs import {a} from 'x'
259
+ if (((_b = (_a = import_.importClause) === null || _a === void 0 ? void 0 : _a.namedBindings) === null || _b === void 0 ? void 0 : _b.kind) === tree_1.JS.Kind.NamedImports) {
260
+ const namedImports = import_.importClause.namedBindings;
261
+ if (namedImports.elements.elements.length > 0) {
262
+ const firstElement = namedImports.elements.elements[0];
263
+ const hasSpaceAfterOpenBrace = (_e = (_d = (_c = firstElement.element.prefix) === null || _c === void 0 ? void 0 : _c.whitespace) === null || _d === void 0 ? void 0 : _d.includes(' ')) !== null && _e !== void 0 ? _e : false;
264
+ const lastElement = namedImports.elements.elements[namedImports.elements.elements.length - 1];
265
+ const hasSpaceBeforeCloseBrace = (_h = (_g = (_f = lastElement.after) === null || _f === void 0 ? void 0 : _f.whitespace) === null || _g === void 0 ? void 0 : _g.includes(' ')) !== null && _h !== void 0 ? _h : false;
266
+ if (hasSpaceAfterOpenBrace || hasSpaceBeforeCloseBrace) {
267
+ this.stats.es6ImportExportBracesWithSpace++;
268
+ }
269
+ else {
270
+ this.stats.es6ImportExportBracesWithoutSpace++;
271
+ }
272
+ }
273
+ }
274
+ return _super.visitImportDeclaration.call(this, import_, p);
275
+ });
276
+ }
277
+ visitExportDeclaration(export_, p) {
278
+ const _super = Object.create(null, {
279
+ visitExportDeclaration: { get: () => super.visitExportDeclaration }
280
+ });
281
+ return __awaiter(this, void 0, void 0, function* () {
282
+ var _a, _b, _c, _d, _e, _f, _g;
283
+ // Check ES6 export braces spacing
284
+ if (((_a = export_.exportClause) === null || _a === void 0 ? void 0 : _a.kind) === tree_1.JS.Kind.NamedExports) {
285
+ const namedExports = export_.exportClause;
286
+ if (namedExports.elements.elements.length > 0) {
287
+ const firstElement = namedExports.elements.elements[0];
288
+ const hasSpaceAfterOpenBrace = (_d = (_c = (_b = firstElement.element.prefix) === null || _b === void 0 ? void 0 : _b.whitespace) === null || _c === void 0 ? void 0 : _c.includes(' ')) !== null && _d !== void 0 ? _d : false;
289
+ const lastElement = namedExports.elements.elements[namedExports.elements.elements.length - 1];
290
+ const hasSpaceBeforeCloseBrace = (_g = (_f = (_e = lastElement.after) === null || _e === void 0 ? void 0 : _e.whitespace) === null || _f === void 0 ? void 0 : _f.includes(' ')) !== null && _g !== void 0 ? _g : false;
291
+ if (hasSpaceAfterOpenBrace || hasSpaceBeforeCloseBrace) {
292
+ this.stats.es6ImportExportBracesWithSpace++;
293
+ }
294
+ else {
295
+ this.stats.es6ImportExportBracesWithoutSpace++;
296
+ }
297
+ }
298
+ }
299
+ return _super.visitExportDeclaration.call(this, export_, p);
300
+ });
301
+ }
302
+ }
303
+ //# sourceMappingURL=autodetect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autodetect.js","sourceRoot":"","sources":["../../src/javascript/autodetect.ts"],"names":[],"mappings":"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"}
@@ -3,12 +3,22 @@ import { JavaScriptVisitor } from "./visitor";
3
3
  import { J, Statement } from "../java";
4
4
  import { Cursor, Tree } from "../tree";
5
5
  import { BlankLinesStyle, SpacesStyle, WrappingAndBracesStyle } from "./style";
6
+ import { NamedStyles } from "../style";
6
7
  export { TabsAndIndentsVisitor } from "./tabs-and-indents-visitor";
7
8
  export declare const maybeAutoFormat: <J2 extends J, P>(before: J2, after: J2, p: P, stopAfter?: J, parent?: Cursor) => Promise<J2>;
8
- export declare const autoFormat: <J2 extends J, P>(j: J2, p: P, stopAfter?: J, parent?: Cursor) => Promise<J2>;
9
+ export declare const autoFormat: <J2 extends J, P>(j: J2, p: P, stopAfter?: J, parent?: Cursor, styles?: NamedStyles[]) => Promise<J2>;
10
+ /**
11
+ * Formats JavaScript/TypeScript code using a comprehensive set of formatting rules.
12
+ *
13
+ * Style resolution order (first match wins):
14
+ * 1. Styles passed to the constructor
15
+ * 2. Styles from source file markers (NamedStyles)
16
+ * 3. IntelliJ defaults
17
+ */
9
18
  export declare class AutoformatVisitor<P> extends JavaScriptVisitor<P> {
10
19
  private stopAfter?;
11
- constructor(stopAfter?: Tree | undefined);
20
+ private readonly styles?;
21
+ constructor(stopAfter?: Tree | undefined, styles?: NamedStyles[]);
12
22
  visit<R extends J>(tree: Tree, p: P, cursor?: Cursor): Promise<R | undefined>;
13
23
  }
14
24
  export declare class NormalizeWhitespaceVisitor<P> extends JavaScriptVisitor<P> {
@@ -43,6 +53,7 @@ export declare class SpacesVisitor<P> extends JavaScriptVisitor<P> {
43
53
  protected visitTry(try_: J.Try, p: P): Promise<J | undefined>;
44
54
  protected visitTypeDeclaration(typeDeclaration: JS.TypeDeclaration, p: P): Promise<J | undefined>;
45
55
  protected visitTypeInfo(typeInfo: JS.TypeInfo, p: P): Promise<J | undefined>;
56
+ protected visitTypeLiteral(typeLiteral: JS.TypeLiteral, p: P): Promise<J | undefined>;
46
57
  protected visitUnary(unary: J.Unary, p: P): Promise<J | undefined>;
47
58
  protected visitVariable(variable: J.VariableDeclarations.NamedVariable, p: P): Promise<J | undefined>;
48
59
  protected visitWhileLoop(whileLoop: J.WhileLoop, p: P): Promise<J | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/javascript/format.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,EAAE,EAAC,MAAM,QAAQ,CAAC;AAC1B,OAAO,EAAC,iBAAiB,EAAC,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAU,CAAC,EAAyC,SAAS,EAAC,MAAM,SAAS,CAAC;AAErF,OAAO,EAAC,MAAM,EAAW,IAAI,EAAC,MAAM,SAAS,CAAC;AAC9C,OAAO,EACH,eAAe,EACf,WAAW,EAIX,sBAAsB,EACzB,MAAM,SAAS,CAAC;AAMjB,OAAO,EAAC,qBAAqB,EAAC,MAAM,4BAA4B,CAAC;AAEjE,eAAO,MAAM,eAAe,GAAU,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,EAAE,YAAY,CAAC,EAAE,SAAS,MAAM,KAAG,OAAO,CAAC,EAAE,CAK9H,CAAA;AAED,eAAO,MAAM,UAAU,GAAU,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,YAAY,CAAC,EAAE,SAAS,MAAM,KAAG,OAAO,CAAC,EAAE,CACpC,CAAC;AAEvE,qBAAa,iBAAiB,CAAC,CAAC,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,SAAS,CAAC;gBAAV,SAAS,CAAC,EAAE,IAAI,YAAA;IAI9B,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;CAoBtF;AAED,qBAAa,0BAA0B,CAAC,CAAC,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IAIvD,OAAO,CAAC,SAAS,CAAC;gBAAV,SAAS,CAAC,EAAE,IAAI,YAAA;IAIrB,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAO7E,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;CAMlE;AAED,qBAAa,aAAa,CAAC,CAAC,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,KAAK;IAAe,OAAO,CAAC,SAAS,CAAC;gBAAtC,KAAK,EAAE,WAAW,EAAU,SAAS,CAAC,EAAE,IAAI,YAAA;IAIjD,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAO7E,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAO/C,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAOzD,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAQ1E,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAQvE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAmD3D,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAStD,qBAAqB,CAAC,SAAS,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAUrF,cAAc,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;cAelF,sBAAsB,CAAC,iBAAiB,EAAE,EAAE,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAqB7F,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cA4B9D,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAShD,sBAAsB,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAwBzE,8BAA8B,CAAC,yBAAyB,EAAE,EAAE,CAAC,yBAAyB,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAQrH,sBAAsB,CAAC,UAAU,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAgCrF,qBAAqB,CAAC,SAAS,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAmBlF,uBAAuB,CAAC,kBAAkB,EAAE,EAAE,CAAC,kBAAkB,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAOhG,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAkB/D,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAQ9D,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAkBnD,oBAAoB,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAYvF,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAQlE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAwBxD,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAmB3F,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;YAStE,qBAAqB;YAgBrB,4BAA4B;YAY5B,6BAA6B;YAM7B,WAAW;YAiBX,oBAAoB;IAqBlC,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAKrC,OAAO,CAAC,MAAM,CAAC,WAAW;IAc1B,OAAO,CAAC,MAAM,CAAC,YAAY;IAI3B,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAItC,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAGlC;AAED,qBAAa,wBAAwB,CAAC,CAAC,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IACrD,OAAO,CAAC,QAAQ,CAAC,KAAK;IAA0B,OAAO,CAAC,SAAS,CAAC;gBAAjD,KAAK,EAAE,sBAAsB,EAAU,SAAS,CAAC,EAAE,IAAI,YAAA;IAIrE,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAO7E,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAO/C,yBAAyB,CAAC,aAAa,EAAE,CAAC,CAAC,oBAAoB,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC;cAkBvG,sBAAsB,CAAC,MAAM,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC;cAkBvF,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;cAiBxD,qBAAqB,CAAC,SAAS,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC;cAiBvF,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;cAclD,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI5E,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,oBAAoB;CAe/B;AAGD,qBAAa,2BAA2B,CAAC,CAAC,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IACxD,OAAO,CAAC,SAAS,CAAC;gBAAV,SAAS,CAAC,EAAE,IAAI,YAAA;IAIrB,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAO7E,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAO/C,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAO1D,qBAAqB,CAAC,SAAS,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cA4DlF,sBAAsB,CAAC,MAAM,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAuCjF,yBAAyB,CAAC,oBAAoB,EAAE,EAAE,CAAC,oBAAoB,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAUtG,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAWjE,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAW/D,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAOzD,oBAAoB,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAUvF,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAO5D,kBAAkB,CAAC,SAAS,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAU5E,yBAAyB,CAAC,CAAC,EAAE,CAAC,CAAC,oBAAoB,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAuBlF,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAazE,OAAO,CAAC,WAAW;CAKtB;AAED,qBAAa,iBAAiB,CAAC,CAAC,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAmB,OAAO,CAAC,SAAS,CAAC;gBAA1C,KAAK,EAAE,eAAe,EAAU,SAAS,CAAC,EAAE,IAAI,YAAA;cAI7D,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAoBhD,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;cAO5E,qBAAqB,CAAC,SAAS,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAuCxF,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;cAuC7D,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;cAalD,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAMlF,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,MAAM,CAAC,aAAa;IAIb,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;CAMlE"}
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/javascript/format.ts"],"names":[],"mappings":"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"}