prettier-plugin-java 1.6.2 → 2.0.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/base-cst-printer.js +4 -3
- package/dist/cst-printer.js +1 -0
- package/dist/index.js +1 -0
- package/dist/options.js +2 -0
- package/dist/parser.js +1 -0
- package/dist/printer.js +1 -0
- package/dist/printers/arrays.js +4 -3
- package/dist/printers/blocks-and-statements.js +107 -102
- package/dist/printers/classes.js +152 -151
- package/dist/printers/comments/comments-utils.js +1 -0
- package/dist/printers/comments/format-comments.js +22 -13
- package/dist/printers/comments/handle-comments.js +2 -1
- package/dist/printers/expressions.js +128 -105
- package/dist/printers/interfaces.js +57 -56
- package/dist/printers/lexical-structure.js +5 -4
- package/dist/printers/names.js +9 -8
- package/dist/printers/packages-and-modules.js +73 -59
- package/dist/printers/prettier-builder.js +21 -12
- package/dist/printers/printer-utils.js +64 -56
- package/dist/printers/types-values-and-variables.js +44 -39
- package/dist/src/base-cst-printer.js +77 -0
- package/dist/src/cst-printer.js +37 -0
- package/dist/src/index.js +67 -0
- package/dist/src/options.js +256 -0
- package/dist/src/parser.js +7 -0
- package/dist/src/printer.js +28 -0
- package/dist/src/printers/arrays.js +49 -0
- package/dist/src/printers/blocks-and-statements.js +493 -0
- package/dist/src/printers/classes.js +724 -0
- package/dist/src/printers/comments/comments-utils.js +29 -0
- package/dist/src/printers/comments/format-comments.js +187 -0
- package/dist/src/printers/comments/handle-comments.js +38 -0
- package/dist/src/printers/expressions.js +549 -0
- package/dist/src/printers/interfaces.js +251 -0
- package/dist/src/printers/lexical-structure.js +43 -0
- package/dist/src/printers/names.js +53 -0
- package/dist/src/printers/packages-and-modules.js +185 -0
- package/dist/src/printers/prettier-builder.js +47 -0
- package/dist/src/printers/printer-utils.js +577 -0
- package/dist/src/printers/types-values-and-variables.js +183 -0
- package/dist/src/types/utils.js +29 -0
- package/dist/src/utils/expressions-utils.js +29 -0
- package/dist/src/utils/index.js +10 -0
- package/dist/src/utils/printArgumentListWithBraces.js +21 -0
- package/dist/src/utils/printSingleLambdaInvocation.js +20 -0
- package/dist/test/babel-register.js +3 -0
- package/dist/test/repository-test/core-test.js +12 -0
- package/dist/test/repository-test/jhipster-1-test.js +17 -0
- package/dist/test/repository-test/jhipster-2-test.js +16 -0
- package/dist/test/test-utils.js +215 -0
- package/dist/test/unit-test/annotation_type_declaration/annotation_type_declaration-spec.js +6 -0
- package/dist/test/unit-test/args/args-spec.js +6 -0
- package/dist/test/unit-test/assert/assert-spec.js +6 -0
- package/dist/test/unit-test/binary_expressions/binary_expressions-spec.js +6 -0
- package/dist/test/unit-test/blank_lines/blank_lines-spec.js +6 -0
- package/dist/test/unit-test/bug-fixes/bug-fixes-spec.js +6 -0
- package/dist/test/unit-test/cast/cast-spec.js +6 -0
- package/dist/test/unit-test/char_literal/char_literal-spec.js +6 -0
- package/dist/test/unit-test/classes/multiple_classes-spec.js +6 -0
- package/dist/test/unit-test/comments/comments-spec.js +14 -0
- package/dist/test/unit-test/complex_generic_class/complex_generic_class-spec.js +6 -0
- package/dist/test/unit-test/constructors/constructors-spec.js +6 -0
- package/dist/test/unit-test/empty_statement/empty_statement-spec.js +6 -0
- package/dist/test/unit-test/enum/enum-spec.js +6 -0
- package/dist/test/unit-test/expressions/expressions-spec.js +6 -0
- package/dist/test/unit-test/extends_abstract_class/extends_abstract_class-spec.js +6 -0
- package/dist/test/unit-test/extends_abstract_class_and_implements_interfaces/extends_abstract_class_and_implements_interfaces-spec.js +6 -0
- package/dist/test/unit-test/for/for-spec.js +6 -0
- package/dist/test/unit-test/generic_class/generic_class-spec.js +6 -0
- package/dist/test/unit-test/generic_questionmark/generic_questionmark-spec.js +6 -0
- package/dist/test/unit-test/hello-world/hello-word-spec.js +6 -0
- package/dist/test/unit-test/if/if-spec.js +6 -0
- package/dist/test/unit-test/indent/indent-spec.js +6 -0
- package/dist/test/unit-test/instantiation/instantiation-spec.js +6 -0
- package/dist/test/unit-test/interface/interface-spec.js +6 -0
- package/dist/test/unit-test/lambda/lambda-spec.js +6 -0
- package/dist/test/unit-test/marker_annotations/marker_annotations-spec.js +6 -0
- package/dist/test/unit-test/member_chain/member_chain-spec.js +6 -0
- package/dist/test/unit-test/method_reference/method_reference-spec.js +6 -0
- package/dist/test/unit-test/modifiers/modifiers-spec.js +6 -0
- package/dist/test/unit-test/modules/modules-spec.js +6 -0
- package/dist/test/unit-test/package_and_imports/package_and_imports-spec.js +34 -0
- package/dist/test/unit-test/pattern-matching/pattern-matching-spec.js +6 -0
- package/dist/test/unit-test/prettier-ignore/prettier-ignore-spec.js +28 -0
- package/dist/test/unit-test/records/records-spec.js +6 -0
- package/dist/test/unit-test/return/return-spec.js +6 -0
- package/dist/test/unit-test/sealed/sealed-spec.js +6 -0
- package/dist/test/unit-test/snippets/arrays/array-initializer.spec.js +94 -0
- package/dist/test/unit-test/snippets/arrays/variable-initializer-list.spec.js +19 -0
- package/dist/test/unit-test/snippets/blocks-and-statements/switch.spec.js +26 -0
- package/dist/test/unit-test/snippets/classes/class-body.spec.js +181 -0
- package/dist/test/unit-test/snippets/classes/enum-body.spec.js +87 -0
- package/dist/test/unit-test/snippets/classes/variableDeclarator/test.spec.js +186 -0
- package/dist/test/unit-test/snippets/interfaces/element-value-array-initializer.spec.js +85 -0
- package/dist/test/unit-test/snippets/names/ambiguousName/test.spec.js +19 -0
- package/dist/test/unit-test/snippets/names/expressionName/test.spec.js +19 -0
- package/dist/test/unit-test/snippets/names/methodName/test.spec.js +12 -0
- package/dist/test/unit-test/snippets/names/packageOrTypeName/test.spec.js +19 -0
- package/dist/test/unit-test/snippets/types-values-and-variables/floatingPointType/test.spec.js +19 -0
- package/dist/test/unit-test/snippets/types-values-and-variables/integralType/test.spec.js +40 -0
- package/dist/test/unit-test/snippets/types-values-and-variables/numericType/test.spec.js +88 -0
- package/dist/test/unit-test/snippets/types-values-and-variables/wildcard/test.spec.js +112 -0
- package/dist/test/unit-test/snippets/types-values-and-variables/wildcardBounds/test.spec.js +81 -0
- package/dist/test/unit-test/switch/switch-spec.js +6 -0
- package/dist/test/unit-test/synchronized/synchronized-spec.js +6 -0
- package/dist/test/unit-test/text-blocks/text-block-spec.js +6 -0
- package/dist/test/unit-test/throws/throws-spec.js +6 -0
- package/dist/test/unit-test/try_catch/try_catch-spec.js +6 -0
- package/dist/test/unit-test/types/types-spec.js +6 -0
- package/dist/test/unit-test/variables/variables-spec.js +6 -0
- package/dist/test/unit-test/while/while-spec.js +6 -0
- package/dist/test/unit-test/yield-statement/yield-statement-spec.js +6 -0
- package/dist/types/utils.js +1 -0
- package/dist/utils/expressions-utils.js +1 -0
- package/dist/utils/index.js +4 -1
- package/dist/utils/isEmptyDoc.js +7 -0
- package/dist/utils/printArgumentListWithBraces.js +3 -2
- package/dist/utils/printSingleLambdaInvocation.js +5 -4
- package/package.json +21 -21
- package/dist/utils/constants.js +0 -4
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ifBreak = exports.dedent = exports.indent = exports.fill = exports.group = exports.join = exports.concat = void 0;
|
|
2
4
|
var prettier = require("prettier").doc.builders;
|
|
3
5
|
var processComments = require("./comments/format-comments").processComments;
|
|
4
6
|
/*
|
|
@@ -7,38 +9,45 @@ var processComments = require("./comments/format-comments").processComments;
|
|
|
7
9
|
* ------------------------------------------------------------------
|
|
8
10
|
*/
|
|
9
11
|
function concat(docs) {
|
|
10
|
-
var concatenation =
|
|
11
|
-
|
|
12
|
+
var concatenation = processComments(docs);
|
|
13
|
+
if (!Array.isArray(docs)) {
|
|
14
|
+
return "";
|
|
15
|
+
}
|
|
16
|
+
return concatenation;
|
|
12
17
|
}
|
|
18
|
+
exports.concat = concat;
|
|
13
19
|
function join(sep, docs) {
|
|
14
20
|
var concatenation = prettier.join(processComments(sep), processComments(docs));
|
|
15
|
-
return concatenation
|
|
21
|
+
return processEmptyDocs(concatenation);
|
|
16
22
|
}
|
|
23
|
+
exports.join = join;
|
|
17
24
|
function group(doc, opts) {
|
|
18
25
|
var group = prettier.group(processComments(doc), opts);
|
|
19
26
|
return group.contents === undefined ? "" : group;
|
|
20
27
|
}
|
|
28
|
+
exports.group = group;
|
|
21
29
|
function fill(docs) {
|
|
22
30
|
var fill = prettier.fill(processComments(docs));
|
|
23
|
-
return fill
|
|
31
|
+
return processEmptyDocs(fill);
|
|
24
32
|
}
|
|
33
|
+
exports.fill = fill;
|
|
25
34
|
function indent(doc) {
|
|
26
35
|
var indentedDoc = prettier.indent(processComments(doc));
|
|
27
36
|
return indentedDoc.contents.length === 0 ? "" : indentedDoc;
|
|
28
37
|
}
|
|
38
|
+
exports.indent = indent;
|
|
29
39
|
function dedent(doc) {
|
|
30
40
|
var indentedDoc = prettier.dedent(processComments(doc));
|
|
31
41
|
return indentedDoc.contents.length === 0 ? "" : indentedDoc;
|
|
32
42
|
}
|
|
43
|
+
exports.dedent = dedent;
|
|
33
44
|
function ifBreak(breakContents, flatContents) {
|
|
34
45
|
return prettier.ifBreak(processComments(breakContents), processComments(flatContents));
|
|
35
46
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
indent: indent,
|
|
42
|
-
dedent: dedent,
|
|
43
|
-
ifBreak: ifBreak
|
|
47
|
+
exports.ifBreak = ifBreak;
|
|
48
|
+
// TODO: remove this once prettier 3.0 is released
|
|
49
|
+
var processEmptyDocs = function (doc) {
|
|
50
|
+
var _a;
|
|
51
|
+
return ((_a = doc.parts) === null || _a === void 0 ? void 0 : _a.length) === 0 ? "" : doc;
|
|
44
52
|
};
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldHRpZXItYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcmludGVycy9wcmV0dGllci1idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7O0FBT2IsSUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7QUFFMUMsSUFBQSxlQUFlLEdBQUssT0FBTyxDQUFDLDRCQUE0QixDQUFDLGdCQUExQyxDQUEyQztBQUVsRTs7OztHQUlHO0FBRUgsU0FBZ0IsTUFBTSxDQUFDLElBQXNCO0lBQzNDLElBQU0sYUFBYSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUU1QyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUN4QixPQUFPLEVBQUUsQ0FBQztLQUNYO0lBRUQsT0FBTyxhQUFhLENBQUM7QUFDdkIsQ0FBQztBQVJELHdCQVFDO0FBRUQsU0FBZ0IsSUFBSSxDQUFDLEdBQVEsRUFBRSxJQUFzQjtJQUNuRCxJQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUNqQyxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQ3BCLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FDdEIsQ0FBQztJQUVGLE9BQU8sZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDekMsQ0FBQztBQVBELG9CQU9DO0FBRUQsU0FBZ0IsS0FBSyxDQUFDLEdBQWlCLEVBQUUsSUFBVTtJQUNqRCxJQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6RCxPQUFPLEtBQUssQ0FBQyxRQUFRLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNuRCxDQUFDO0FBSEQsc0JBR0M7QUFFRCxTQUFnQixJQUFJLENBQUMsSUFBc0I7SUFDekMsSUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUVsRCxPQUFPLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2hDLENBQUM7QUFKRCxvQkFJQztBQUVELFNBQWdCLE1BQU0sQ0FBQyxHQUFpQjtJQUN0QyxJQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzFELE9BQU8sV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztBQUM5RCxDQUFDO0FBSEQsd0JBR0M7QUFFRCxTQUFnQixNQUFNLENBQUMsR0FBaUI7SUFDdEMsSUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMxRCxPQUFPLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7QUFDOUQsQ0FBQztBQUhELHdCQUdDO0FBRUQsU0FBZ0IsT0FBTyxDQUNyQixhQUEyQixFQUMzQixZQUEwQjtJQUUxQixPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQ3JCLGVBQWUsQ0FBQyxhQUFhLENBQUMsRUFDOUIsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUM5QixDQUFDO0FBQ0osQ0FBQztBQVJELDBCQVFDO0FBRUQsa0RBQWtEO0FBQ2xELElBQU0sZ0JBQWdCLEdBQUcsVUFBQyxHQUFrQjs7SUFDMUMsT0FBTyxDQUFBLE1BQUEsR0FBRyxDQUFDLEtBQUssMENBQUUsTUFBTSxNQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDNUMsQ0FBQyxDQUFDIn0=
|
|
@@ -10,28 +10,32 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
14
|
-
for (var i = 0,
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
14
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
15
|
+
if (ar || !(i in from)) {
|
|
16
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
17
|
+
ar[i] = from[i];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
17
21
|
};
|
|
18
22
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
19
23
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
20
24
|
};
|
|
21
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
26
|
exports.printArrayList = exports.isUniqueMethodInvocation = exports.sortImports = exports.isStatementEmptyStatement = exports.isShiftOperator = exports.separateTokensIntoGroups = exports.putIntoBraces = exports.getInterfaceBodyDeclarationsSeparator = exports.getClassBodyDeclarationsSeparator = exports.getBlankLinesSeparator = exports.isExplicitLambdaParameter = exports.displaySemicolon = exports.findDeepElementInPartsArray = exports.sortModifiers = exports.sortClassTypeChildren = exports.matchCategory = exports.sortNodes = exports.sortAnnotationIdentifier = exports.rejectAndConcat = exports.rejectAndJoin = exports.rejectSeparators = exports.reject = exports.rejectAndJoinSeps = exports.buildFqn = void 0;
|
|
27
|
+
var findIndex_1 = __importDefault(require("lodash/findIndex"));
|
|
28
|
+
var findLastIndex_1 = __importDefault(require("lodash/findLastIndex"));
|
|
23
29
|
var forEach_1 = __importDefault(require("lodash/forEach"));
|
|
24
30
|
var forEachRight_1 = __importDefault(require("lodash/forEachRight"));
|
|
25
|
-
var findLastIndex_1 = __importDefault(require("lodash/findLastIndex"));
|
|
26
|
-
var findIndex_1 = __importDefault(require("lodash/findIndex"));
|
|
27
31
|
var includes_1 = __importDefault(require("lodash/includes"));
|
|
28
|
-
var prettier_builder_1 = require("./prettier-builder");
|
|
29
|
-
var format_comments_1 = require("./comments/format-comments");
|
|
30
|
-
var comments_utils_1 = require("./comments/comments-utils");
|
|
31
32
|
var doc_1 = require("prettier/doc");
|
|
32
33
|
var utils_1 = require("../types/utils");
|
|
34
|
+
var utils_2 = require("../utils");
|
|
35
|
+
var comments_utils_1 = require("./comments/comments-utils");
|
|
36
|
+
var format_comments_1 = require("./comments/format-comments");
|
|
37
|
+
var prettier_builder_1 = require("./prettier-builder");
|
|
33
38
|
var indent = doc_1.builders.indent, hardline = doc_1.builders.hardline, line = doc_1.builders.line;
|
|
34
|
-
var isConcat = doc_1.utils.isConcat;
|
|
35
39
|
var orderedModifiers = [
|
|
36
40
|
"Public",
|
|
37
41
|
"Protected",
|
|
@@ -65,7 +69,7 @@ function rejectAndJoinSeps(sepTokens, elems, sep) {
|
|
|
65
69
|
}
|
|
66
70
|
}
|
|
67
71
|
res.push.apply(res, actualElements.slice(sepTokens.length));
|
|
68
|
-
return prettier_builder_1.concat(res);
|
|
72
|
+
return (0, prettier_builder_1.concat)(res);
|
|
69
73
|
}
|
|
70
74
|
exports.rejectAndJoinSeps = rejectAndJoinSeps;
|
|
71
75
|
function reject(elems) {
|
|
@@ -92,24 +96,24 @@ function rejectSeparators(separators, elems) {
|
|
|
92
96
|
exports.rejectSeparators = rejectSeparators;
|
|
93
97
|
function rejectAndJoin(sep, elems) {
|
|
94
98
|
var actualElements = reject(elems);
|
|
95
|
-
return prettier_builder_1.join(sep, actualElements);
|
|
99
|
+
return (0, prettier_builder_1.join)(sep, actualElements);
|
|
96
100
|
}
|
|
97
101
|
exports.rejectAndJoin = rejectAndJoin;
|
|
98
102
|
function rejectAndConcat(elems) {
|
|
99
103
|
var actualElements = reject(elems);
|
|
100
|
-
return prettier_builder_1.concat(actualElements);
|
|
104
|
+
return (0, prettier_builder_1.concat)(actualElements);
|
|
101
105
|
}
|
|
102
106
|
exports.rejectAndConcat = rejectAndConcat;
|
|
103
107
|
function sortAnnotationIdentifier(annotations, identifiers) {
|
|
104
|
-
var tokens = __spreadArray([], identifiers);
|
|
108
|
+
var tokens = __spreadArray([], identifiers, true);
|
|
105
109
|
if (annotations && annotations.length > 0) {
|
|
106
|
-
tokens = __spreadArray(__spreadArray([], tokens), annotations);
|
|
110
|
+
tokens = __spreadArray(__spreadArray([], tokens, true), annotations, true);
|
|
107
111
|
}
|
|
108
112
|
return tokens.sort(function (a, b) {
|
|
109
|
-
var startOffset1 = utils_1.isCstNode(a)
|
|
113
|
+
var startOffset1 = (0, utils_1.isCstNode)(a)
|
|
110
114
|
? a.children.At[0].startOffset
|
|
111
115
|
: a.startOffset;
|
|
112
|
-
var startOffset2 = utils_1.isCstNode(b)
|
|
116
|
+
var startOffset2 = (0, utils_1.isCstNode)(b)
|
|
113
117
|
? b.children.At[0].startOffset
|
|
114
118
|
: b.startOffset;
|
|
115
119
|
return startOffset1 - startOffset2;
|
|
@@ -118,7 +122,7 @@ function sortAnnotationIdentifier(annotations, identifiers) {
|
|
|
118
122
|
exports.sortAnnotationIdentifier = sortAnnotationIdentifier;
|
|
119
123
|
function sortTokens(values) {
|
|
120
124
|
var tokens = [];
|
|
121
|
-
forEach_1.default(values, function (argument) {
|
|
125
|
+
(0, forEach_1.default)(values, function (argument) {
|
|
122
126
|
if (argument) {
|
|
123
127
|
tokens = tokens.concat(argument);
|
|
124
128
|
}
|
|
@@ -129,7 +133,7 @@ function sortTokens(values) {
|
|
|
129
133
|
}
|
|
130
134
|
function sortNodes(values) {
|
|
131
135
|
var nodes = [];
|
|
132
|
-
forEach_1.default(values, function (argument) {
|
|
136
|
+
(0, forEach_1.default)(values, function (argument) {
|
|
133
137
|
if (argument) {
|
|
134
138
|
nodes = nodes.concat(argument);
|
|
135
139
|
}
|
|
@@ -149,23 +153,23 @@ function matchCategory(token, categoryName) {
|
|
|
149
153
|
}
|
|
150
154
|
exports.matchCategory = matchCategory;
|
|
151
155
|
function sortClassTypeChildren(annotations, typeArguments, identifiers, dots) {
|
|
152
|
-
var tokens = __spreadArray([], identifiers);
|
|
156
|
+
var tokens = __spreadArray([], identifiers, true);
|
|
153
157
|
if (annotations && annotations.length > 0) {
|
|
154
|
-
tokens = __spreadArray(__spreadArray([], tokens), annotations);
|
|
158
|
+
tokens = __spreadArray(__spreadArray([], tokens, true), annotations, true);
|
|
155
159
|
}
|
|
156
160
|
if (typeArguments && typeArguments.length > 0) {
|
|
157
|
-
tokens = __spreadArray(__spreadArray([], tokens), typeArguments);
|
|
161
|
+
tokens = __spreadArray(__spreadArray([], tokens, true), typeArguments, true);
|
|
158
162
|
}
|
|
159
163
|
if (dots && dots.length > 0) {
|
|
160
|
-
tokens = __spreadArray(__spreadArray([], tokens), dots);
|
|
164
|
+
tokens = __spreadArray(__spreadArray([], tokens, true), dots, true);
|
|
161
165
|
}
|
|
162
166
|
return tokens.sort(function (a, b) {
|
|
163
|
-
var startOffsetA = utils_1.isCstNode(a)
|
|
167
|
+
var startOffsetA = (0, utils_1.isCstNode)(a)
|
|
164
168
|
? a.children.At
|
|
165
169
|
? a.children.At[0].startOffset
|
|
166
170
|
: a.children.Less[0].startOffset
|
|
167
171
|
: a.startOffset;
|
|
168
|
-
var startOffsetB = utils_1.isCstNode(b)
|
|
172
|
+
var startOffsetB = (0, utils_1.isCstNode)(b)
|
|
169
173
|
? b.children.At
|
|
170
174
|
? b.children.At[0].startOffset
|
|
171
175
|
: b.children.Less[0].startOffset
|
|
@@ -184,7 +188,7 @@ function sortModifiers(modifiers) {
|
|
|
184
188
|
* method annotations which come after all other
|
|
185
189
|
* modifiers
|
|
186
190
|
*/
|
|
187
|
-
forEachRight_1.default(modifiers, function (modifier) {
|
|
191
|
+
(0, forEachRight_1.default)(modifiers, function (modifier) {
|
|
188
192
|
var isAnnotation = modifier.children.annotation !== undefined;
|
|
189
193
|
var isMethodAnnotation = isAnnotation &&
|
|
190
194
|
(modifier.name === "methodModifier" ||
|
|
@@ -220,7 +224,7 @@ function sortModifiers(modifiers) {
|
|
|
220
224
|
exports.sortModifiers = sortModifiers;
|
|
221
225
|
function findDeepElementInPartsArray(item, elt) {
|
|
222
226
|
if (Array.isArray(item)) {
|
|
223
|
-
if (includes_1.default(item, elt)) {
|
|
227
|
+
if ((0, includes_1.default)(item, elt)) {
|
|
224
228
|
return true;
|
|
225
229
|
}
|
|
226
230
|
for (var i = 0; i < item.length; i++) {
|
|
@@ -242,13 +246,13 @@ function findDeepElementInPartsArray(item, elt) {
|
|
|
242
246
|
exports.findDeepElementInPartsArray = findDeepElementInPartsArray;
|
|
243
247
|
function displaySemicolon(token, params) {
|
|
244
248
|
if (params !== undefined && params.allowEmptyStatement) {
|
|
245
|
-
return format_comments_1.printTokenWithComments(token);
|
|
249
|
+
return (0, format_comments_1.printTokenWithComments)(token);
|
|
246
250
|
}
|
|
247
|
-
if (!comments_utils_1.hasComments(token)) {
|
|
251
|
+
if (!(0, comments_utils_1.hasComments)(token)) {
|
|
248
252
|
return "";
|
|
249
253
|
}
|
|
250
254
|
token.image = "";
|
|
251
|
-
return format_comments_1.printTokenWithComments(token);
|
|
255
|
+
return (0, format_comments_1.printTokenWithComments)(token);
|
|
252
256
|
}
|
|
253
257
|
exports.displaySemicolon = displaySemicolon;
|
|
254
258
|
function isExplicitLambdaParameter(ctx) {
|
|
@@ -262,20 +266,20 @@ exports.isExplicitLambdaParameter = isExplicitLambdaParameter;
|
|
|
262
266
|
function getBlankLinesSeparator(ctx, separator) {
|
|
263
267
|
if (separator === void 0) { separator = hardline; }
|
|
264
268
|
if (ctx === undefined) {
|
|
265
|
-
return
|
|
269
|
+
return [];
|
|
266
270
|
}
|
|
267
271
|
var separators = [];
|
|
268
272
|
for (var i = 0; i < ctx.length - 1; i++) {
|
|
269
273
|
var node = ctx[i];
|
|
270
|
-
var previousRuleEndLineWithComment = comments_utils_1.hasTrailingComments(node)
|
|
274
|
+
var previousRuleEndLineWithComment = (0, comments_utils_1.hasTrailingComments)(node)
|
|
271
275
|
? node.trailingComments[node.trailingComments.length - 1].endLine
|
|
272
276
|
: node.location.endLine;
|
|
273
277
|
var nextNode = ctx[i + 1];
|
|
274
|
-
var nextRuleStartLineWithComment = comments_utils_1.hasLeadingComments(nextNode)
|
|
278
|
+
var nextRuleStartLineWithComment = (0, comments_utils_1.hasLeadingComments)(nextNode)
|
|
275
279
|
? nextNode.leadingComments[0].startLine
|
|
276
280
|
: nextNode.location.startLine;
|
|
277
281
|
if (nextRuleStartLineWithComment - previousRuleEndLineWithComment > 1) {
|
|
278
|
-
separators.push(
|
|
282
|
+
separators.push([hardline, hardline]);
|
|
279
283
|
}
|
|
280
284
|
else {
|
|
281
285
|
separators.push(separator);
|
|
@@ -284,6 +288,14 @@ function getBlankLinesSeparator(ctx, separator) {
|
|
|
284
288
|
return separators;
|
|
285
289
|
}
|
|
286
290
|
exports.getBlankLinesSeparator = getBlankLinesSeparator;
|
|
291
|
+
var isTwoHardLine = function (userBlankLinesSeparator) {
|
|
292
|
+
if (!Array.isArray(userBlankLinesSeparator)) {
|
|
293
|
+
return false;
|
|
294
|
+
}
|
|
295
|
+
return (userBlankLinesSeparator.length === 2 &&
|
|
296
|
+
userBlankLinesSeparator[0] === hardline &&
|
|
297
|
+
userBlankLinesSeparator[1] === hardline);
|
|
298
|
+
};
|
|
287
299
|
function getDeclarationsSeparator(declarations, needLineDeclaration, isSemicolon) {
|
|
288
300
|
var declarationsWithoutEmptyStatements = declarations.filter(function (declaration) { return !isSemicolon(declaration); });
|
|
289
301
|
var userBlankLinesSeparators = getBlankLinesSeparator(declarationsWithoutEmptyStatements);
|
|
@@ -294,22 +306,19 @@ function getDeclarationsSeparator(declarations, needLineDeclaration, isSemicolon
|
|
|
294
306
|
// if the empty statement has comments
|
|
295
307
|
// we want to print them on their own line
|
|
296
308
|
if (isSemicolon(declarations[i])) {
|
|
297
|
-
if (comments_utils_1.hasComments(declarations[i])) {
|
|
309
|
+
if ((0, comments_utils_1.hasComments)(declarations[i])) {
|
|
298
310
|
separators.push(hardline);
|
|
299
311
|
}
|
|
300
312
|
}
|
|
301
313
|
else if (indexNextNotEmptyDeclaration <
|
|
302
314
|
declarationsWithoutEmptyStatements.length - 1) {
|
|
303
|
-
var
|
|
304
|
-
|
|
305
|
-
userBlankLinesSeparators[indexNextNotEmptyDeclaration].parts[0].type ===
|
|
306
|
-
"concat";
|
|
307
|
-
var additionalSep = !isTwoHardLines &&
|
|
315
|
+
var isNextSeparatorTwoHardLine = isTwoHardLine(userBlankLinesSeparators[indexNextNotEmptyDeclaration]);
|
|
316
|
+
var additionalSep = !isNextSeparatorTwoHardLine &&
|
|
308
317
|
(additionalBlankLines[indexNextNotEmptyDeclaration + 1] ||
|
|
309
318
|
additionalBlankLines[indexNextNotEmptyDeclaration])
|
|
310
319
|
? hardline
|
|
311
320
|
: "";
|
|
312
|
-
separators.push(prettier_builder_1.concat([
|
|
321
|
+
separators.push((0, prettier_builder_1.concat)([
|
|
313
322
|
userBlankLinesSeparators[indexNextNotEmptyDeclaration],
|
|
314
323
|
additionalSep
|
|
315
324
|
]));
|
|
@@ -379,8 +388,8 @@ function hasAnnotation(modifiers) {
|
|
|
379
388
|
* @returns {boolean}
|
|
380
389
|
*/
|
|
381
390
|
function hasNonTrailingAnnotation(methodModifiers) {
|
|
382
|
-
var firstAnnotationIndex = findIndex_1.default(methodModifiers, function (modifier) { return modifier.children.annotation !== undefined; });
|
|
383
|
-
var lastNonAnnotationIndex = findLastIndex_1.default(methodModifiers, function (modifier) { return modifier.children.annotation === undefined; });
|
|
391
|
+
var firstAnnotationIndex = (0, findIndex_1.default)(methodModifiers, function (modifier) { return modifier.children.annotation !== undefined; });
|
|
392
|
+
var lastNonAnnotationIndex = (0, findLastIndex_1.default)(methodModifiers, function (modifier) { return modifier.children.annotation === undefined; });
|
|
384
393
|
return (firstAnnotationIndex < lastNonAnnotationIndex ||
|
|
385
394
|
lastNonAnnotationIndex === -1);
|
|
386
395
|
}
|
|
@@ -393,7 +402,7 @@ function getInterfaceBodyDeclarationsSeparator(interfaceMemberDeclarationContext
|
|
|
393
402
|
}
|
|
394
403
|
exports.getInterfaceBodyDeclarationsSeparator = getInterfaceBodyDeclarationsSeparator;
|
|
395
404
|
function putIntoBraces(argument, separator, LBrace, RBrace) {
|
|
396
|
-
var rightBraceLeadingComments = format_comments_1.getTokenLeadingComments(RBrace);
|
|
405
|
+
var rightBraceLeadingComments = (0, format_comments_1.getTokenLeadingComments)(RBrace);
|
|
397
406
|
var lastBreakLine =
|
|
398
407
|
// check if last element of the array is a line
|
|
399
408
|
rightBraceLeadingComments.length !== 0 &&
|
|
@@ -402,25 +411,25 @@ function putIntoBraces(argument, separator, LBrace, RBrace) {
|
|
|
402
411
|
: separator;
|
|
403
412
|
delete RBrace.leadingComments;
|
|
404
413
|
var contentInsideBraces;
|
|
405
|
-
if (
|
|
414
|
+
if ((0, utils_2.isEmptyDoc)(argument)) {
|
|
406
415
|
if (rightBraceLeadingComments.length === 0) {
|
|
407
|
-
return prettier_builder_1.concat([LBrace, RBrace]);
|
|
416
|
+
return (0, prettier_builder_1.concat)([LBrace, RBrace]);
|
|
408
417
|
}
|
|
409
|
-
contentInsideBraces = __spreadArray([separator], rightBraceLeadingComments);
|
|
418
|
+
contentInsideBraces = __spreadArray([separator], rightBraceLeadingComments, true);
|
|
410
419
|
}
|
|
411
420
|
else if (rightBraceLeadingComments.length !== 0) {
|
|
412
421
|
contentInsideBraces = __spreadArray([
|
|
413
422
|
separator,
|
|
414
423
|
argument,
|
|
415
424
|
separator
|
|
416
|
-
], rightBraceLeadingComments);
|
|
425
|
+
], rightBraceLeadingComments, true);
|
|
417
426
|
}
|
|
418
427
|
else {
|
|
419
428
|
contentInsideBraces = [separator, argument];
|
|
420
429
|
}
|
|
421
|
-
return prettier_builder_1.group(rejectAndConcat([
|
|
430
|
+
return (0, prettier_builder_1.group)(rejectAndConcat([
|
|
422
431
|
LBrace,
|
|
423
|
-
indent(prettier_builder_1.concat(contentInsideBraces)),
|
|
432
|
+
indent((0, prettier_builder_1.concat)(contentInsideBraces)),
|
|
424
433
|
lastBreakLine,
|
|
425
434
|
RBrace
|
|
426
435
|
]));
|
|
@@ -444,7 +453,7 @@ function separateTokensIntoGroups(ctx) {
|
|
|
444
453
|
var tmpGroup = [];
|
|
445
454
|
tokens.forEach(function (token) {
|
|
446
455
|
if (matchCategory(token, "'BinaryOperator'") &&
|
|
447
|
-
includes_1.default(andOrBinaryOperators, token.image)) {
|
|
456
|
+
(0, includes_1.default)(andOrBinaryOperators, token.image)) {
|
|
448
457
|
sortedBinaryOperators.push(token);
|
|
449
458
|
groupsOfOperator.push(tmpGroup);
|
|
450
459
|
tmpGroup = [];
|
|
@@ -483,9 +492,7 @@ function isShiftOperator(tokens, index) {
|
|
|
483
492
|
}
|
|
484
493
|
exports.isShiftOperator = isShiftOperator;
|
|
485
494
|
function isStatementEmptyStatement(statement) {
|
|
486
|
-
return (statement === ";" ||
|
|
487
|
-
// @ts-ignore
|
|
488
|
-
(isConcat(statement) && statement.parts[0] === ";"));
|
|
495
|
+
return (statement === ";" || (Array.isArray(statement) && statement[0] === ";"));
|
|
489
496
|
}
|
|
490
497
|
exports.isStatementEmptyStatement = isStatementEmptyStatement;
|
|
491
498
|
function sortImports(imports) {
|
|
@@ -554,8 +561,8 @@ function printArrayList(_a) {
|
|
|
554
561
|
var optionalComma;
|
|
555
562
|
if (trailingComma !== "none" && list !== "") {
|
|
556
563
|
optionalComma = extraComma
|
|
557
|
-
? prettier_builder_1.ifBreak(extraComma[0], __assign(__assign({}, extraComma[0]), { image: "" }))
|
|
558
|
-
: prettier_builder_1.ifBreak(",", "");
|
|
564
|
+
? (0, prettier_builder_1.ifBreak)(extraComma[0], __assign(__assign({}, extraComma[0]), { image: "" }))
|
|
565
|
+
: (0, prettier_builder_1.ifBreak)(",", "");
|
|
559
566
|
}
|
|
560
567
|
else {
|
|
561
568
|
optionalComma = extraComma ? __assign(__assign({}, extraComma[0]), { image: "" }) : "";
|
|
@@ -563,3 +570,4 @@ function printArrayList(_a) {
|
|
|
563
570
|
return putIntoBraces(rejectAndConcat([list, optionalComma]), line, LCurly, RCurly);
|
|
564
571
|
}
|
|
565
572
|
exports.printArrayList = printArrayList;
|
|
573
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnRlci11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcmludGVycy9wcmludGVyLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZ0JBLCtEQUF5QztBQUN6Qyx1RUFBaUQ7QUFDakQsMkRBQXFDO0FBQ3JDLHFFQUErQztBQUMvQyw2REFBdUM7QUFFdkMsb0NBQXdDO0FBQ3hDLHdDQUEyQztBQUMzQyxrQ0FBc0M7QUFDdEMsNERBSW1DO0FBQ25DLDhEQUdvQztBQUVwQyx1REFBa0U7QUFFMUQsSUFBQSxNQUFNLEdBQXFCLGNBQVEsT0FBN0IsRUFBRSxRQUFRLEdBQVcsY0FBUSxTQUFuQixFQUFFLElBQUksR0FBSyxjQUFRLEtBQWIsQ0FBYztBQUU1QyxJQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLFFBQVE7SUFDUixXQUFXO0lBQ1gsU0FBUztJQUNULFVBQVU7SUFDVixTQUFTO0lBQ1QsUUFBUTtJQUNSLE9BQU87SUFDUCxXQUFXO0lBQ1gsVUFBVTtJQUNWLGNBQWM7SUFDZCxRQUFRO0lBQ1IsUUFBUTtJQUNSLFdBQVc7SUFDWCxVQUFVO0NBQ1gsQ0FBQztBQUVGLFNBQWdCLFFBQVEsQ0FBQyxNQUFnQixFQUFFLElBQTBCO0lBQ25FLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNyRCxDQUFDO0FBRkQsNEJBRUM7QUFFRCxTQUFnQixpQkFBaUIsQ0FDL0IsU0FBdUMsRUFDdkMsS0FBbUMsRUFDbkMsR0FBWTtJQUVaLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1FBQzdCLE9BQU8sYUFBYSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztLQUN4QztJQUNELElBQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENB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
|