eslint-plugin-jsdoc 52.0.4 → 53.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/WarnSettings.cjs +18 -35
- package/dist/WarnSettings.cjs.map +1 -1
- package/dist/WarnSettings.js +20 -0
- package/dist/WarnSettings.js.map +1 -0
- package/dist/_virtual/rolldown_runtime.cjs +32 -0
- package/dist/_virtual/rolldown_runtime.js +11 -0
- package/dist/alignTransform.cjs +224 -305
- package/dist/alignTransform.cjs.map +1 -1
- package/dist/alignTransform.js +241 -0
- package/dist/alignTransform.js.map +1 -0
- package/dist/defaultTagOrder.cjs +132 -43
- package/dist/defaultTagOrder.cjs.map +1 -1
- package/dist/defaultTagOrder.js +134 -0
- package/dist/defaultTagOrder.js.map +1 -0
- package/dist/exportParser.cjs +478 -696
- package/dist/exportParser.cjs.map +1 -1
- package/dist/exportParser.js +518 -0
- package/dist/exportParser.js.map +1 -0
- package/dist/getDefaultTagStructureForMode.cjs +184 -288
- package/dist/getDefaultTagStructureForMode.cjs.map +1 -1
- package/dist/getDefaultTagStructureForMode.js +188 -0
- package/dist/getDefaultTagStructureForMode.js.map +1 -0
- package/dist/getJsdocProcessorPlugin.cjs +364 -550
- package/dist/getJsdocProcessorPlugin.cjs.map +1 -1
- package/dist/getJsdocProcessorPlugin.d.cts +70 -0
- package/dist/getJsdocProcessorPlugin.d.cts.map +1 -0
- package/dist/getJsdocProcessorPlugin.d.ts +68 -65
- package/dist/getJsdocProcessorPlugin.d.ts.map +1 -1
- package/dist/getJsdocProcessorPlugin.js +383 -0
- package/dist/getJsdocProcessorPlugin.js.map +1 -0
- package/dist/index.cjs +2 -410
- package/dist/index.d.cts +2 -0
- package/dist/index.d.ts +2 -17
- package/dist/index.js +3 -0
- package/dist/iterateJsdoc.cjs +1528 -1988
- package/dist/iterateJsdoc.cjs.map +1 -1
- package/dist/iterateJsdoc.d.cts +471 -0
- package/dist/iterateJsdoc.d.cts.map +1 -0
- package/dist/iterateJsdoc.d.ts +358 -349
- package/dist/iterateJsdoc.d.ts.map +1 -1
- package/dist/iterateJsdoc.js +1617 -0
- package/dist/iterateJsdoc.js.map +1 -0
- package/dist/jsdocUtils.cjs +1009 -1376
- package/dist/jsdocUtils.cjs.map +1 -1
- package/dist/jsdocUtils.js +1123 -0
- package/dist/jsdocUtils.js.map +1 -0
- package/dist/plugin.cjs +427 -0
- package/dist/plugin.cjs.map +1 -0
- package/dist/plugin.js +427 -0
- package/dist/plugin.js.map +1 -0
- package/dist/rules/checkAccess.cjs +29 -36
- package/dist/rules/checkAccess.cjs.map +1 -1
- package/dist/rules/checkAccess.js +33 -0
- package/dist/rules/checkAccess.js.map +1 -0
- package/dist/rules/checkAlignment.cjs +41 -54
- package/dist/rules/checkAlignment.cjs.map +1 -1
- package/dist/rules/checkAlignment.js +47 -0
- package/dist/rules/checkAlignment.js.map +1 -0
- package/dist/rules/checkExamples.cjs +327 -484
- package/dist/rules/checkExamples.cjs.map +1 -1
- package/dist/rules/checkExamples.js +348 -0
- package/dist/rules/checkExamples.js.map +1 -0
- package/dist/rules/checkIndentation.cjs +50 -65
- package/dist/rules/checkIndentation.cjs.map +1 -1
- package/dist/rules/checkIndentation.js +59 -0
- package/dist/rules/checkIndentation.js.map +1 -0
- package/dist/rules/checkLineAlignment.cjs +220 -311
- package/dist/rules/checkLineAlignment.cjs.map +1 -1
- package/dist/rules/checkLineAlignment.js +229 -0
- package/dist/rules/checkLineAlignment.js.map +1 -0
- package/dist/rules/checkParamNames.cjs +227 -335
- package/dist/rules/checkParamNames.cjs.map +1 -1
- package/dist/rules/checkParamNames.js +237 -0
- package/dist/rules/checkParamNames.js.map +1 -0
- package/dist/rules/checkPropertyNames.cjs +78 -106
- package/dist/rules/checkPropertyNames.cjs.map +1 -1
- package/dist/rules/checkPropertyNames.js +88 -0
- package/dist/rules/checkPropertyNames.js.map +1 -0
- package/dist/rules/checkSyntax.cjs +21 -34
- package/dist/rules/checkSyntax.cjs.map +1 -1
- package/dist/rules/checkSyntax.js +25 -0
- package/dist/rules/checkSyntax.js.map +1 -0
- package/dist/rules/checkTagNames.cjs +188 -210
- package/dist/rules/checkTagNames.cjs.map +1 -1
- package/dist/rules/checkTagNames.js +191 -0
- package/dist/rules/checkTagNames.js.map +1 -0
- package/dist/rules/checkTemplateNames.cjs +121 -178
- package/dist/rules/checkTemplateNames.cjs.map +1 -1
- package/dist/rules/checkTemplateNames.js +124 -0
- package/dist/rules/checkTemplateNames.js.map +1 -0
- package/dist/rules/checkTypes.cjs +291 -385
- package/dist/rules/checkTypes.cjs.map +1 -1
- package/dist/rules/checkTypes.js +299 -0
- package/dist/rules/checkTypes.js.map +1 -0
- package/dist/rules/checkValues.cjs +100 -146
- package/dist/rules/checkValues.cjs.map +1 -1
- package/dist/rules/checkValues.js +103 -0
- package/dist/rules/checkValues.js.map +1 -0
- package/dist/rules/convertToJsdocComments.cjs +228 -306
- package/dist/rules/convertToJsdocComments.cjs.map +1 -1
- package/dist/rules/convertToJsdocComments.js +231 -0
- package/dist/rules/convertToJsdocComments.js.map +1 -0
- package/dist/rules/emptyTags.cjs +62 -72
- package/dist/rules/emptyTags.cjs.map +1 -1
- package/dist/rules/emptyTags.js +67 -0
- package/dist/rules/emptyTags.js.map +1 -0
- package/dist/rules/implementsOnClasses.cjs +36 -56
- package/dist/rules/implementsOnClasses.cjs.map +1 -1
- package/dist/rules/implementsOnClasses.js +40 -0
- package/dist/rules/implementsOnClasses.js.map +1 -0
- package/dist/rules/importsAsDependencies.cjs +62 -99
- package/dist/rules/importsAsDependencies.cjs.map +1 -1
- package/dist/rules/importsAsDependencies.js +68 -0
- package/dist/rules/importsAsDependencies.js.map +1 -0
- package/dist/rules/informativeDocs.cjs +105 -142
- package/dist/rules/informativeDocs.cjs.map +1 -1
- package/dist/rules/informativeDocs.js +110 -0
- package/dist/rules/informativeDocs.js.map +1 -0
- package/dist/rules/linesBeforeBlock.cjs +70 -105
- package/dist/rules/linesBeforeBlock.cjs.map +1 -1
- package/dist/rules/linesBeforeBlock.js +75 -0
- package/dist/rules/linesBeforeBlock.js.map +1 -0
- package/dist/rules/matchDescription.cjs +160 -222
- package/dist/rules/matchDescription.cjs.map +1 -1
- package/dist/rules/matchDescription.js +167 -0
- package/dist/rules/matchDescription.js.map +1 -0
- package/dist/rules/matchName.cjs +73 -128
- package/dist/rules/matchName.cjs.map +1 -1
- package/dist/rules/matchName.js +77 -0
- package/dist/rules/matchName.js.map +1 -0
- package/dist/rules/multilineBlocks.cjs +235 -352
- package/dist/rules/multilineBlocks.cjs.map +1 -1
- package/dist/rules/multilineBlocks.js +245 -0
- package/dist/rules/multilineBlocks.js.map +1 -0
- package/dist/rules/noBadBlocks.cjs +63 -86
- package/dist/rules/noBadBlocks.cjs.map +1 -1
- package/dist/rules/noBadBlocks.js +68 -0
- package/dist/rules/noBadBlocks.js.map +1 -0
- package/dist/rules/noBlankBlockDescriptions.cjs +35 -57
- package/dist/rules/noBlankBlockDescriptions.cjs.map +1 -1
- package/dist/rules/noBlankBlockDescriptions.js +41 -0
- package/dist/rules/noBlankBlockDescriptions.js.map +1 -0
- package/dist/rules/noBlankBlocks.cjs +26 -48
- package/dist/rules/noBlankBlocks.cjs.map +1 -1
- package/dist/rules/noBlankBlocks.js +30 -0
- package/dist/rules/noBlankBlocks.js.map +1 -0
- package/dist/rules/noDefaults.cjs +52 -79
- package/dist/rules/noDefaults.cjs.map +1 -1
- package/dist/rules/noDefaults.js +56 -0
- package/dist/rules/noDefaults.js.map +1 -0
- package/dist/rules/noMissingSyntax.cjs +115 -165
- package/dist/rules/noMissingSyntax.cjs.map +1 -1
- package/dist/rules/noMissingSyntax.js +126 -0
- package/dist/rules/noMissingSyntax.js.map +1 -0
- package/dist/rules/noMultiAsterisks.cjs +48 -89
- package/dist/rules/noMultiAsterisks.cjs.map +1 -1
- package/dist/rules/noMultiAsterisks.js +58 -0
- package/dist/rules/noMultiAsterisks.js.map +1 -0
- package/dist/rules/noRestrictedSyntax.cjs +45 -79
- package/dist/rules/noRestrictedSyntax.cjs.map +1 -1
- package/dist/rules/noRestrictedSyntax.js +49 -0
- package/dist/rules/noRestrictedSyntax.js.map +1 -0
- package/dist/rules/noTypes.cjs +59 -80
- package/dist/rules/noTypes.cjs.map +1 -1
- package/dist/rules/noTypes.js +65 -0
- package/dist/rules/noTypes.js.map +1 -0
- package/dist/rules/noUndefinedTypes.cjs +297 -388
- package/dist/rules/noUndefinedTypes.cjs.map +1 -1
- package/dist/rules/noUndefinedTypes.js +303 -0
- package/dist/rules/noUndefinedTypes.js.map +1 -0
- package/dist/rules/requireAsteriskPrefix.cjs +108 -159
- package/dist/rules/requireAsteriskPrefix.cjs.map +1 -1
- package/dist/rules/requireAsteriskPrefix.js +112 -0
- package/dist/rules/requireAsteriskPrefix.js.map +1 -0
- package/dist/rules/requireDescription.cjs +89 -129
- package/dist/rules/requireDescription.cjs.map +1 -1
- package/dist/rules/requireDescription.js +95 -0
- package/dist/rules/requireDescription.js.map +1 -0
- package/dist/rules/requireDescriptionCompleteSentence.cjs +201 -262
- package/dist/rules/requireDescriptionCompleteSentence.cjs.map +1 -1
- package/dist/rules/requireDescriptionCompleteSentence.js +220 -0
- package/dist/rules/requireDescriptionCompleteSentence.js.map +1 -0
- package/dist/rules/requireExample.cjs +73 -104
- package/dist/rules/requireExample.cjs.map +1 -1
- package/dist/rules/requireExample.js +77 -0
- package/dist/rules/requireExample.js.map +1 -0
- package/dist/rules/requireFileOverview.cjs +75 -129
- package/dist/rules/requireFileOverview.cjs.map +1 -1
- package/dist/rules/requireFileOverview.js +81 -0
- package/dist/rules/requireFileOverview.js.map +1 -0
- package/dist/rules/requireHyphenBeforeParamDescription.cjs +85 -133
- package/dist/rules/requireHyphenBeforeParamDescription.cjs.map +1 -1
- package/dist/rules/requireHyphenBeforeParamDescription.js +89 -0
- package/dist/rules/requireHyphenBeforeParamDescription.js.map +1 -0
- package/dist/rules/requireJsdoc.cjs +384 -557
- package/dist/rules/requireJsdoc.cjs.map +1 -1
- package/dist/rules/requireJsdoc.js +404 -0
- package/dist/rules/requireJsdoc.js.map +1 -0
- package/dist/rules/requireParam.cjs +336 -526
- package/dist/rules/requireParam.cjs.map +1 -1
- package/dist/rules/requireParam.js +344 -0
- package/dist/rules/requireParam.js.map +1 -0
- package/dist/rules/requireParamDescription.cjs +55 -80
- package/dist/rules/requireParamDescription.cjs.map +1 -1
- package/dist/rules/requireParamDescription.js +59 -0
- package/dist/rules/requireParamDescription.js.map +1 -0
- package/dist/rules/requireParamName.cjs +32 -50
- package/dist/rules/requireParamName.cjs.map +1 -1
- package/dist/rules/requireParamName.js +36 -0
- package/dist/rules/requireParamName.js.map +1 -0
- package/dist/rules/requireParamType.cjs +55 -80
- package/dist/rules/requireParamType.cjs.map +1 -1
- package/dist/rules/requireParamType.js +59 -0
- package/dist/rules/requireParamType.js.map +1 -0
- package/dist/rules/requireProperty.cjs +31 -42
- package/dist/rules/requireProperty.cjs.map +1 -1
- package/dist/rules/requireProperty.js +35 -0
- package/dist/rules/requireProperty.js.map +1 -0
- package/dist/rules/requirePropertyDescription.cjs +17 -25
- package/dist/rules/requirePropertyDescription.cjs.map +1 -1
- package/dist/rules/requirePropertyDescription.js +21 -0
- package/dist/rules/requirePropertyDescription.js.map +1 -0
- package/dist/rules/requirePropertyName.cjs +17 -25
- package/dist/rules/requirePropertyName.cjs.map +1 -1
- package/dist/rules/requirePropertyName.js +21 -0
- package/dist/rules/requirePropertyName.js.map +1 -0
- package/dist/rules/requirePropertyType.cjs +17 -25
- package/dist/rules/requirePropertyType.cjs.map +1 -1
- package/dist/rules/requirePropertyType.js +21 -0
- package/dist/rules/requirePropertyType.js.map +1 -0
- package/dist/rules/requireReturns.cjs +125 -203
- package/dist/rules/requireReturns.cjs.map +1 -1
- package/dist/rules/requireReturns.js +131 -0
- package/dist/rules/requireReturns.js.map +1 -0
- package/dist/rules/requireReturnsCheck.cjs +60 -103
- package/dist/rules/requireReturnsCheck.cjs.map +1 -1
- package/dist/rules/requireReturnsCheck.js +66 -0
- package/dist/rules/requireReturnsCheck.js.map +1 -0
- package/dist/rules/requireReturnsDescription.cjs +39 -54
- package/dist/rules/requireReturnsDescription.cjs.map +1 -1
- package/dist/rules/requireReturnsDescription.js +43 -0
- package/dist/rules/requireReturnsDescription.js.map +1 -0
- package/dist/rules/requireReturnsType.cjs +32 -50
- package/dist/rules/requireReturnsType.cjs.map +1 -1
- package/dist/rules/requireReturnsType.js +36 -0
- package/dist/rules/requireReturnsType.js.map +1 -0
- package/dist/rules/requireTemplate.cjs +119 -178
- package/dist/rules/requireTemplate.cjs.map +1 -1
- package/dist/rules/requireTemplate.js +122 -0
- package/dist/rules/requireTemplate.js.map +1 -0
- package/dist/rules/requireThrows.cjs +61 -95
- package/dist/rules/requireThrows.cjs.map +1 -1
- package/dist/rules/requireThrows.js +67 -0
- package/dist/rules/requireThrows.js.map +1 -0
- package/dist/rules/requireYields.cjs +106 -166
- package/dist/rules/requireYields.cjs.map +1 -1
- package/dist/rules/requireYields.js +115 -0
- package/dist/rules/requireYields.js.map +1 -0
- package/dist/rules/requireYieldsCheck.cjs +96 -152
- package/dist/rules/requireYieldsCheck.cjs.map +1 -1
- package/dist/rules/requireYieldsCheck.js +105 -0
- package/dist/rules/requireYieldsCheck.js.map +1 -0
- package/dist/rules/sortTags.cjs +258 -444
- package/dist/rules/sortTags.cjs.map +1 -1
- package/dist/rules/sortTags.js +262 -0
- package/dist/rules/sortTags.js.map +1 -0
- package/dist/rules/tagLines.cjs +179 -266
- package/dist/rules/tagLines.cjs.map +1 -1
- package/dist/rules/tagLines.js +183 -0
- package/dist/rules/tagLines.js.map +1 -0
- package/dist/rules/textEscaping.cjs +92 -127
- package/dist/rules/textEscaping.cjs.map +1 -1
- package/dist/rules/textEscaping.js +102 -0
- package/dist/rules/textEscaping.js.map +1 -0
- package/dist/rules/validTypes.cjs +252 -265
- package/dist/rules/validTypes.cjs.map +1 -1
- package/dist/rules/validTypes.js +259 -0
- package/dist/rules/validTypes.js.map +1 -0
- package/dist/tagNames.cjs +134 -170
- package/dist/tagNames.cjs.map +1 -1
- package/dist/tagNames.js +144 -0
- package/dist/tagNames.js.map +1 -0
- package/dist/utils/hasReturnValue.cjs +246 -474
- package/dist/utils/hasReturnValue.cjs.map +1 -1
- package/dist/utils/hasReturnValue.js +265 -0
- package/dist/utils/hasReturnValue.js.map +1 -0
- package/package.json +40 -24
- package/dist/generateRule.cjs +0 -242
- package/dist/generateRule.cjs.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/src/WarnSettings.js +0 -34
- package/src/alignTransform.js +0 -358
- package/src/defaultTagOrder.js +0 -169
- package/src/exportParser.js +0 -978
- package/src/getDefaultTagStructureForMode.js +0 -969
- package/src/getJsdocProcessorPlugin.js +0 -672
- package/src/index.js +0 -530
- package/src/iterateJsdoc.js +0 -2518
- package/src/jsdocUtils.js +0 -1896
- package/src/rules/checkAccess.js +0 -45
- package/src/rules/checkAlignment.js +0 -63
- package/src/rules/checkExamples.js +0 -589
- package/src/rules/checkIndentation.js +0 -75
- package/src/rules/checkLineAlignment.js +0 -372
- package/src/rules/checkParamNames.js +0 -474
- package/src/rules/checkPropertyNames.js +0 -152
- package/src/rules/checkSyntax.js +0 -30
- package/src/rules/checkTagNames.js +0 -314
- package/src/rules/checkTemplateNames.js +0 -204
- package/src/rules/checkTypes.js +0 -535
- package/src/rules/checkValues.js +0 -248
- package/src/rules/convertToJsdocComments.js +0 -398
- package/src/rules/emptyTags.js +0 -98
- package/src/rules/implementsOnClasses.js +0 -64
- package/src/rules/importsAsDependencies.js +0 -133
- package/src/rules/informativeDocs.js +0 -189
- package/src/rules/linesBeforeBlock.js +0 -134
- package/src/rules/matchDescription.js +0 -286
- package/src/rules/matchName.js +0 -151
- package/src/rules/multilineBlocks.js +0 -493
- package/src/rules/noBadBlocks.js +0 -119
- package/src/rules/noBlankBlockDescriptions.js +0 -69
- package/src/rules/noBlankBlocks.js +0 -53
- package/src/rules/noDefaults.js +0 -85
- package/src/rules/noMissingSyntax.js +0 -195
- package/src/rules/noMultiAsterisks.js +0 -134
- package/src/rules/noRestrictedSyntax.js +0 -91
- package/src/rules/noTypes.js +0 -93
- package/src/rules/noUndefinedTypes.js +0 -543
- package/src/rules/requireAsteriskPrefix.js +0 -190
- package/src/rules/requireDescription.js +0 -161
- package/src/rules/requireDescriptionCompleteSentence.js +0 -335
- package/src/rules/requireExample.js +0 -118
- package/src/rules/requireFileOverview.js +0 -154
- package/src/rules/requireHyphenBeforeParamDescription.js +0 -176
- package/src/rules/requireJsdoc.js +0 -743
- package/src/rules/requireParam.js +0 -602
- package/src/rules/requireParamDescription.js +0 -89
- package/src/rules/requireParamName.js +0 -55
- package/src/rules/requireParamType.js +0 -89
- package/src/rules/requireProperty.js +0 -48
- package/src/rules/requirePropertyDescription.js +0 -25
- package/src/rules/requirePropertyName.js +0 -25
- package/src/rules/requirePropertyType.js +0 -25
- package/src/rules/requireReturns.js +0 -238
- package/src/rules/requireReturnsCheck.js +0 -145
- package/src/rules/requireReturnsDescription.js +0 -59
- package/src/rules/requireReturnsType.js +0 -51
- package/src/rules/requireTemplate.js +0 -201
- package/src/rules/requireThrows.js +0 -111
- package/src/rules/requireYields.js +0 -216
- package/src/rules/requireYieldsCheck.js +0 -208
- package/src/rules/sortTags.js +0 -558
- package/src/rules/tagLines.js +0 -359
- package/src/rules/textEscaping.js +0 -154
- package/src/rules/validTypes.js +0 -401
- package/src/tagNames.js +0 -238
- package/src/utils/hasReturnValue.js +0 -572
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
import { util } from "comment-parser";
|
|
2
|
+
|
|
3
|
+
//#region src/alignTransform.js
|
|
4
|
+
/**
|
|
5
|
+
* @typedef {{
|
|
6
|
+
* hasNoTypes: boolean,
|
|
7
|
+
* maxNamedTagLength: import('./iterateJsdoc.js').Integer,
|
|
8
|
+
* maxUnnamedTagLength: import('./iterateJsdoc.js').Integer
|
|
9
|
+
* }} TypelessInfo
|
|
10
|
+
*/
|
|
11
|
+
const { rewireSource } = util;
|
|
12
|
+
/**
|
|
13
|
+
* @typedef {{
|
|
14
|
+
* name: import('./iterateJsdoc.js').Integer,
|
|
15
|
+
* start: import('./iterateJsdoc.js').Integer,
|
|
16
|
+
* tag: import('./iterateJsdoc.js').Integer,
|
|
17
|
+
* type: import('./iterateJsdoc.js').Integer
|
|
18
|
+
* }} Width
|
|
19
|
+
*/
|
|
20
|
+
/** @type {Width} */
|
|
21
|
+
const zeroWidth = {
|
|
22
|
+
name: 0,
|
|
23
|
+
start: 0,
|
|
24
|
+
tag: 0,
|
|
25
|
+
type: 0
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* @param {string[]} tags
|
|
29
|
+
* @param {import('./iterateJsdoc.js').Integer} index
|
|
30
|
+
* @param {import('comment-parser').Line[]} source
|
|
31
|
+
* @returns {boolean}
|
|
32
|
+
*/
|
|
33
|
+
const shouldAlign = (tags, index, source) => {
|
|
34
|
+
const tag = source[index].tokens.tag.replace("@", "");
|
|
35
|
+
const includesTag = tags.includes(tag);
|
|
36
|
+
if (includesTag) return true;
|
|
37
|
+
if (tag !== "") return false;
|
|
38
|
+
for (let iterator = index; iterator >= 0; iterator--) {
|
|
39
|
+
const previousTag = source[iterator].tokens.tag.replace("@", "");
|
|
40
|
+
if (previousTag !== "") {
|
|
41
|
+
if (tags.includes(previousTag)) return true;
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return true;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* @param {string[]} tags
|
|
49
|
+
* @returns {(
|
|
50
|
+
* width: Width,
|
|
51
|
+
* line: {
|
|
52
|
+
* tokens: import('comment-parser').Tokens
|
|
53
|
+
* },
|
|
54
|
+
* index: import('./iterateJsdoc.js').Integer,
|
|
55
|
+
* source: import('comment-parser').Line[]
|
|
56
|
+
* ) => Width}
|
|
57
|
+
*/
|
|
58
|
+
const getWidth = (tags) => {
|
|
59
|
+
return (width, { tokens }, index, source) => {
|
|
60
|
+
if (!shouldAlign(tags, index, source)) return width;
|
|
61
|
+
return {
|
|
62
|
+
name: Math.max(width.name, tokens.name.length),
|
|
63
|
+
start: tokens.delimiter === "/**" ? tokens.start.length : width.start,
|
|
64
|
+
tag: Math.max(width.tag, tokens.tag.length),
|
|
65
|
+
type: Math.max(width.type, tokens.type.length)
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* @param {{
|
|
71
|
+
* description: string;
|
|
72
|
+
* tags: import('comment-parser').Spec[];
|
|
73
|
+
* problems: import('comment-parser').Problem[];
|
|
74
|
+
* }} fields
|
|
75
|
+
* @returns {TypelessInfo}
|
|
76
|
+
*/
|
|
77
|
+
const getTypelessInfo = (fields) => {
|
|
78
|
+
const hasNoTypes = fields.tags.every(({ type }) => {
|
|
79
|
+
return !type;
|
|
80
|
+
});
|
|
81
|
+
const maxNamedTagLength = Math.max(...fields.tags.map(({ name, tag }) => {
|
|
82
|
+
return name.length === 0 ? -1 : tag.length;
|
|
83
|
+
}).filter((length) => {
|
|
84
|
+
return length !== -1;
|
|
85
|
+
})) + 1;
|
|
86
|
+
const maxUnnamedTagLength = Math.max(...fields.tags.map(({ name, tag }) => {
|
|
87
|
+
return name.length === 0 ? tag.length : -1;
|
|
88
|
+
}).filter((length) => {
|
|
89
|
+
return length !== -1;
|
|
90
|
+
})) + 1;
|
|
91
|
+
return {
|
|
92
|
+
hasNoTypes,
|
|
93
|
+
maxNamedTagLength,
|
|
94
|
+
maxUnnamedTagLength
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* @param {import('./iterateJsdoc.js').Integer} len
|
|
99
|
+
* @returns {string}
|
|
100
|
+
*/
|
|
101
|
+
const space = (len) => {
|
|
102
|
+
return "".padStart(len, " ");
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* @param {{
|
|
106
|
+
* customSpacings: import('../src/rules/checkLineAlignment.js').CustomSpacings,
|
|
107
|
+
* tags: string[],
|
|
108
|
+
* indent: string,
|
|
109
|
+
* preserveMainDescriptionPostDelimiter: boolean,
|
|
110
|
+
* wrapIndent: string,
|
|
111
|
+
* disableWrapIndent: boolean,
|
|
112
|
+
* }} cfg
|
|
113
|
+
* @returns {(
|
|
114
|
+
* block: import('comment-parser').Block
|
|
115
|
+
* ) => import('comment-parser').Block}
|
|
116
|
+
*/
|
|
117
|
+
const alignTransform = ({ customSpacings, disableWrapIndent, indent, preserveMainDescriptionPostDelimiter, tags, wrapIndent }) => {
|
|
118
|
+
let intoTags = false;
|
|
119
|
+
/** @type {Width} */
|
|
120
|
+
let width;
|
|
121
|
+
/**
|
|
122
|
+
* @param {import('comment-parser').Tokens} tokens
|
|
123
|
+
* @param {TypelessInfo} typelessInfo
|
|
124
|
+
* @returns {import('comment-parser').Tokens}
|
|
125
|
+
*/
|
|
126
|
+
const alignTokens = (tokens, typelessInfo) => {
|
|
127
|
+
const nothingAfter = {
|
|
128
|
+
delim: false,
|
|
129
|
+
name: false,
|
|
130
|
+
tag: false,
|
|
131
|
+
type: false
|
|
132
|
+
};
|
|
133
|
+
if (tokens.description === "") {
|
|
134
|
+
nothingAfter.name = true;
|
|
135
|
+
tokens.postName = "";
|
|
136
|
+
if (tokens.name === "") {
|
|
137
|
+
nothingAfter.type = true;
|
|
138
|
+
tokens.postType = "";
|
|
139
|
+
if (tokens.type === "") {
|
|
140
|
+
nothingAfter.tag = true;
|
|
141
|
+
tokens.postTag = "";
|
|
142
|
+
/* c8 ignore next: Never happens because the !intoTags return. But it's here for consistency with the original align transform */
|
|
143
|
+
if (tokens.tag === "") nothingAfter.delim = true;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
let untypedNameAdjustment = 0;
|
|
148
|
+
let untypedTypeAdjustment = 0;
|
|
149
|
+
if (typelessInfo.hasNoTypes) {
|
|
150
|
+
nothingAfter.tag = true;
|
|
151
|
+
tokens.postTag = "";
|
|
152
|
+
if (tokens.name === "") untypedNameAdjustment = typelessInfo.maxNamedTagLength - tokens.tag.length;
|
|
153
|
+
else {
|
|
154
|
+
untypedNameAdjustment = typelessInfo.maxNamedTagLength > typelessInfo.maxUnnamedTagLength ? 0 : Math.max(0, typelessInfo.maxUnnamedTagLength - (tokens.tag.length + tokens.name.length + 1));
|
|
155
|
+
untypedTypeAdjustment = typelessInfo.maxNamedTagLength - tokens.tag.length;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
if (tokens.tag === "" && tokens.type) return tokens;
|
|
159
|
+
const spacings = {
|
|
160
|
+
postDelimiter: customSpacings?.postDelimiter || 1,
|
|
161
|
+
postName: customSpacings?.postName || 1,
|
|
162
|
+
postTag: customSpacings?.postTag || 1,
|
|
163
|
+
postType: customSpacings?.postType || 1
|
|
164
|
+
};
|
|
165
|
+
tokens.postDelimiter = nothingAfter.delim ? "" : space(spacings.postDelimiter);
|
|
166
|
+
if (!nothingAfter.tag) tokens.postTag = space(width.tag - tokens.tag.length + spacings.postTag);
|
|
167
|
+
if (!nothingAfter.type) tokens.postType = space(width.type - tokens.type.length + spacings.postType + untypedTypeAdjustment);
|
|
168
|
+
if (!nothingAfter.name) tokens.postName = width.name === 0 ? "" : space(width.name - tokens.name.length + spacings.postName + untypedNameAdjustment);
|
|
169
|
+
return tokens;
|
|
170
|
+
};
|
|
171
|
+
/**
|
|
172
|
+
* @param {import('comment-parser').Line} line
|
|
173
|
+
* @param {import('./iterateJsdoc.js').Integer} index
|
|
174
|
+
* @param {import('comment-parser').Line[]} source
|
|
175
|
+
* @param {TypelessInfo} typelessInfo
|
|
176
|
+
* @param {string|false} indentTag
|
|
177
|
+
* @returns {import('comment-parser').Line}
|
|
178
|
+
*/
|
|
179
|
+
const update = (line, index, source, typelessInfo, indentTag) => {
|
|
180
|
+
/** @type {import('comment-parser').Tokens} */
|
|
181
|
+
const tokens = { ...line.tokens };
|
|
182
|
+
if (tokens.tag !== "") intoTags = true;
|
|
183
|
+
const isEmpty = tokens.tag === "" && tokens.name === "" && tokens.type === "" && tokens.description === "";
|
|
184
|
+
if (tokens.end === "*/" && isEmpty) {
|
|
185
|
+
tokens.start = indent + " ";
|
|
186
|
+
return {
|
|
187
|
+
...line,
|
|
188
|
+
tokens
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
switch (tokens.delimiter) {
|
|
192
|
+
case "*":
|
|
193
|
+
tokens.start = indent + " ";
|
|
194
|
+
break;
|
|
195
|
+
case "/**":
|
|
196
|
+
tokens.start = indent;
|
|
197
|
+
break;
|
|
198
|
+
default:
|
|
199
|
+
tokens.delimiter = "";
|
|
200
|
+
tokens.start = indent + " ";
|
|
201
|
+
}
|
|
202
|
+
if (!intoTags) {
|
|
203
|
+
if (tokens.description === "") tokens.postDelimiter = "";
|
|
204
|
+
else if (!preserveMainDescriptionPostDelimiter) tokens.postDelimiter = " ";
|
|
205
|
+
return {
|
|
206
|
+
...line,
|
|
207
|
+
tokens
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
const postHyphenSpacing = customSpacings?.postHyphen ?? 1;
|
|
211
|
+
const hyphenSpacing = /^\s*-\s+/v;
|
|
212
|
+
tokens.description = tokens.description.replace(hyphenSpacing, "-" + "".padStart(postHyphenSpacing, " "));
|
|
213
|
+
if (shouldAlign(tags, index, source)) {
|
|
214
|
+
alignTokens(tokens, typelessInfo);
|
|
215
|
+
if (!disableWrapIndent && indentTag) tokens.postDelimiter += wrapIndent;
|
|
216
|
+
}
|
|
217
|
+
return {
|
|
218
|
+
...line,
|
|
219
|
+
tokens
|
|
220
|
+
};
|
|
221
|
+
};
|
|
222
|
+
return ({ source,...fields }) => {
|
|
223
|
+
width = source.reduce(getWidth(tags), { ...zeroWidth });
|
|
224
|
+
const typelessInfo = getTypelessInfo(fields);
|
|
225
|
+
let tagIndentMode = false;
|
|
226
|
+
return rewireSource({
|
|
227
|
+
...fields,
|
|
228
|
+
source: source.map((line, index) => {
|
|
229
|
+
const indentTag = !disableWrapIndent && tagIndentMode && !line.tokens.tag && line.tokens.description;
|
|
230
|
+
const ret = update(line, index, source, typelessInfo, indentTag);
|
|
231
|
+
if (!disableWrapIndent && line.tokens.tag) tagIndentMode = true;
|
|
232
|
+
return ret;
|
|
233
|
+
})
|
|
234
|
+
});
|
|
235
|
+
};
|
|
236
|
+
};
|
|
237
|
+
var alignTransform_default = alignTransform;
|
|
238
|
+
|
|
239
|
+
//#endregion
|
|
240
|
+
export { alignTransform_default as default };
|
|
241
|
+
//# sourceMappingURL=alignTransform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alignTransform.js","names":[],"sources":["../src/alignTransform.js"],"sourcesContent":["/**\n * Transform based on https://github.com/syavorsky/comment-parser/blob/master/src/transforms/align.ts\n *\n * It contains some customizations to align based on the tags, and some custom options.\n */\n\nimport {\n // `comment-parser/primitives` export\n util,\n} from 'comment-parser';\n\n/**\n * @typedef {{\n * hasNoTypes: boolean,\n * maxNamedTagLength: import('./iterateJsdoc.js').Integer,\n * maxUnnamedTagLength: import('./iterateJsdoc.js').Integer\n * }} TypelessInfo\n */\n\nconst {\n rewireSource,\n} = util;\n\n/**\n * @typedef {{\n * name: import('./iterateJsdoc.js').Integer,\n * start: import('./iterateJsdoc.js').Integer,\n * tag: import('./iterateJsdoc.js').Integer,\n * type: import('./iterateJsdoc.js').Integer\n * }} Width\n */\n\n/** @type {Width} */\nconst zeroWidth = {\n name: 0,\n start: 0,\n tag: 0,\n type: 0,\n};\n\n/**\n * @param {string[]} tags\n * @param {import('./iterateJsdoc.js').Integer} index\n * @param {import('comment-parser').Line[]} source\n * @returns {boolean}\n */\nconst shouldAlign = (tags, index, source) => {\n const tag = source[index].tokens.tag.replace('@', '');\n const includesTag = tags.includes(tag);\n\n if (includesTag) {\n return true;\n }\n\n if (tag !== '') {\n return false;\n }\n\n for (let iterator = index; iterator >= 0; iterator--) {\n const previousTag = source[iterator].tokens.tag.replace('@', '');\n\n if (previousTag !== '') {\n if (tags.includes(previousTag)) {\n return true;\n }\n\n return false;\n }\n }\n\n return true;\n};\n\n/**\n * @param {string[]} tags\n * @returns {(\n * width: Width,\n * line: {\n * tokens: import('comment-parser').Tokens\n * },\n * index: import('./iterateJsdoc.js').Integer,\n * source: import('comment-parser').Line[]\n * ) => Width}\n */\nconst getWidth = (tags) => {\n return (width, {\n tokens,\n }, index, source) => {\n if (!shouldAlign(tags, index, source)) {\n return width;\n }\n\n return {\n name: Math.max(width.name, tokens.name.length),\n start: tokens.delimiter === '/**' ? tokens.start.length : width.start,\n tag: Math.max(width.tag, tokens.tag.length),\n type: Math.max(width.type, tokens.type.length),\n };\n };\n};\n\n/**\n * @param {{\n * description: string;\n * tags: import('comment-parser').Spec[];\n * problems: import('comment-parser').Problem[];\n * }} fields\n * @returns {TypelessInfo}\n */\nconst getTypelessInfo = (fields) => {\n const hasNoTypes = fields.tags.every(({\n type,\n }) => {\n return !type;\n });\n const maxNamedTagLength = Math.max(...fields.tags.map(({\n name,\n tag,\n }) => {\n return name.length === 0 ? -1 : tag.length;\n }).filter((length) => {\n return length !== -1;\n })) + 1;\n const maxUnnamedTagLength = Math.max(...fields.tags.map(({\n name,\n tag,\n }) => {\n return name.length === 0 ? tag.length : -1;\n }).filter((length) => {\n return length !== -1;\n })) + 1;\n return {\n hasNoTypes,\n maxNamedTagLength,\n maxUnnamedTagLength,\n };\n};\n\n/**\n * @param {import('./iterateJsdoc.js').Integer} len\n * @returns {string}\n */\nconst space = (len) => {\n return ''.padStart(len, ' ');\n};\n\n/**\n * @param {{\n * customSpacings: import('../src/rules/checkLineAlignment.js').CustomSpacings,\n * tags: string[],\n * indent: string,\n * preserveMainDescriptionPostDelimiter: boolean,\n * wrapIndent: string,\n * disableWrapIndent: boolean,\n * }} cfg\n * @returns {(\n * block: import('comment-parser').Block\n * ) => import('comment-parser').Block}\n */\nconst alignTransform = ({\n customSpacings,\n disableWrapIndent,\n indent,\n preserveMainDescriptionPostDelimiter,\n tags,\n wrapIndent,\n}) => {\n let intoTags = false;\n /** @type {Width} */\n let width;\n\n /**\n * @param {import('comment-parser').Tokens} tokens\n * @param {TypelessInfo} typelessInfo\n * @returns {import('comment-parser').Tokens}\n */\n const alignTokens = (tokens, typelessInfo) => {\n const nothingAfter = {\n delim: false,\n name: false,\n tag: false,\n type: false,\n };\n\n if (tokens.description === '') {\n nothingAfter.name = true;\n tokens.postName = '';\n\n if (tokens.name === '') {\n nothingAfter.type = true;\n tokens.postType = '';\n\n if (tokens.type === '') {\n nothingAfter.tag = true;\n tokens.postTag = '';\n\n /* c8 ignore next: Never happens because the !intoTags return. But it's here for consistency with the original align transform */\n if (tokens.tag === '') {\n nothingAfter.delim = true;\n }\n }\n }\n }\n\n let untypedNameAdjustment = 0;\n let untypedTypeAdjustment = 0;\n if (typelessInfo.hasNoTypes) {\n nothingAfter.tag = true;\n tokens.postTag = '';\n if (tokens.name === '') {\n untypedNameAdjustment = typelessInfo.maxNamedTagLength - tokens.tag.length;\n } else {\n untypedNameAdjustment = typelessInfo.maxNamedTagLength > typelessInfo.maxUnnamedTagLength ? 0 :\n Math.max(0, typelessInfo.maxUnnamedTagLength - (tokens.tag.length + tokens.name.length + 1));\n untypedTypeAdjustment = typelessInfo.maxNamedTagLength - tokens.tag.length;\n }\n }\n\n // Todo: Avoid fixing alignment of blocks with multiline wrapping of type\n if (tokens.tag === '' && tokens.type) {\n return tokens;\n }\n\n const spacings = {\n postDelimiter: customSpacings?.postDelimiter || 1,\n postName: customSpacings?.postName || 1,\n postTag: customSpacings?.postTag || 1,\n postType: customSpacings?.postType || 1,\n };\n\n tokens.postDelimiter = nothingAfter.delim ? '' : space(spacings.postDelimiter);\n\n if (!nothingAfter.tag) {\n tokens.postTag = space(width.tag - tokens.tag.length + spacings.postTag);\n }\n\n if (!nothingAfter.type) {\n tokens.postType = space(width.type - tokens.type.length + spacings.postType + untypedTypeAdjustment);\n }\n\n if (!nothingAfter.name) {\n // If post name is empty for all lines (name width 0), don't add post name spacing.\n tokens.postName = width.name === 0 ? '' : space(width.name - tokens.name.length + spacings.postName + untypedNameAdjustment);\n }\n\n return tokens;\n };\n\n /**\n * @param {import('comment-parser').Line} line\n * @param {import('./iterateJsdoc.js').Integer} index\n * @param {import('comment-parser').Line[]} source\n * @param {TypelessInfo} typelessInfo\n * @param {string|false} indentTag\n * @returns {import('comment-parser').Line}\n */\n const update = (line, index, source, typelessInfo, indentTag) => {\n /** @type {import('comment-parser').Tokens} */\n const tokens = {\n ...line.tokens,\n };\n\n if (tokens.tag !== '') {\n intoTags = true;\n }\n\n const isEmpty =\n tokens.tag === '' &&\n tokens.name === '' &&\n tokens.type === '' &&\n tokens.description === '';\n\n // dangling '*/'\n if (tokens.end === '*/' && isEmpty) {\n tokens.start = indent + ' ';\n\n return {\n ...line,\n tokens,\n };\n }\n\n switch (tokens.delimiter) {\n case '*':\n tokens.start = indent + ' ';\n break;\n case '/**':\n tokens.start = indent;\n break;\n default:\n tokens.delimiter = '';\n\n // compensate delimiter\n tokens.start = indent + ' ';\n }\n\n if (!intoTags) {\n if (tokens.description === '') {\n tokens.postDelimiter = '';\n } else if (!preserveMainDescriptionPostDelimiter) {\n tokens.postDelimiter = ' ';\n }\n\n return {\n ...line,\n tokens,\n };\n }\n\n const postHyphenSpacing = customSpacings?.postHyphen ?? 1;\n const hyphenSpacing = /^\\s*-\\s+/v;\n tokens.description = tokens.description.replace(\n hyphenSpacing, '-' + ''.padStart(postHyphenSpacing, ' '),\n );\n\n // Not align.\n if (shouldAlign(tags, index, source)) {\n alignTokens(tokens, typelessInfo);\n if (!disableWrapIndent && indentTag) {\n tokens.postDelimiter += wrapIndent;\n }\n }\n\n return {\n ...line,\n tokens,\n };\n };\n\n return ({\n source,\n ...fields\n }) => {\n width = source.reduce(getWidth(tags), {\n ...zeroWidth,\n });\n\n const typelessInfo = getTypelessInfo(fields);\n\n let tagIndentMode = false;\n\n return rewireSource({\n ...fields,\n source: source.map((line, index) => {\n const indentTag = !disableWrapIndent && tagIndentMode && !line.tokens.tag && line.tokens.description;\n const ret = update(line, index, source, typelessInfo, indentTag);\n\n if (!disableWrapIndent && line.tokens.tag) {\n tagIndentMode = true;\n }\n\n return ret;\n }),\n });\n };\n};\n\nexport default alignTransform;\n"],"mappings":"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"}
|
package/dist/defaultTagOrder.cjs
CHANGED
|
@@ -1,46 +1,135 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
2
|
+
//#region src/defaultTagOrder.js
|
|
3
|
+
const defaultTagOrder = [{ tags: [
|
|
4
|
+
"summary",
|
|
5
|
+
"typeSummary",
|
|
6
|
+
"module",
|
|
7
|
+
"exports",
|
|
8
|
+
"file",
|
|
9
|
+
"fileoverview",
|
|
10
|
+
"overview",
|
|
11
|
+
"import",
|
|
12
|
+
"template",
|
|
13
|
+
"typedef",
|
|
14
|
+
"interface",
|
|
15
|
+
"record",
|
|
16
|
+
"name",
|
|
17
|
+
"kind",
|
|
18
|
+
"type",
|
|
19
|
+
"alias",
|
|
20
|
+
"external",
|
|
21
|
+
"host",
|
|
22
|
+
"callback",
|
|
23
|
+
"func",
|
|
24
|
+
"function",
|
|
25
|
+
"method",
|
|
26
|
+
"class",
|
|
27
|
+
"constructor",
|
|
28
|
+
"modifies",
|
|
29
|
+
"mixes",
|
|
30
|
+
"mixin",
|
|
31
|
+
"mixinClass",
|
|
32
|
+
"mixinFunction",
|
|
33
|
+
"namespace",
|
|
34
|
+
"borrows",
|
|
35
|
+
"constructs",
|
|
36
|
+
"lends",
|
|
37
|
+
"implements",
|
|
38
|
+
"requires",
|
|
39
|
+
"desc",
|
|
40
|
+
"description",
|
|
41
|
+
"classdesc",
|
|
42
|
+
"tutorial",
|
|
43
|
+
"copyright",
|
|
44
|
+
"license",
|
|
45
|
+
"internal",
|
|
46
|
+
"overload",
|
|
47
|
+
"const",
|
|
48
|
+
"constant",
|
|
49
|
+
"final",
|
|
50
|
+
"global",
|
|
51
|
+
"readonly",
|
|
52
|
+
"abstract",
|
|
53
|
+
"virtual",
|
|
54
|
+
"var",
|
|
55
|
+
"member",
|
|
56
|
+
"memberof",
|
|
57
|
+
"memberof!",
|
|
58
|
+
"inner",
|
|
59
|
+
"instance",
|
|
60
|
+
"inheritdoc",
|
|
61
|
+
"inheritDoc",
|
|
62
|
+
"override",
|
|
63
|
+
"hideconstructor",
|
|
64
|
+
"param",
|
|
65
|
+
"arg",
|
|
66
|
+
"argument",
|
|
67
|
+
"prop",
|
|
68
|
+
"property",
|
|
69
|
+
"return",
|
|
70
|
+
"returns",
|
|
71
|
+
"async",
|
|
72
|
+
"generator",
|
|
73
|
+
"default",
|
|
74
|
+
"defaultvalue",
|
|
75
|
+
"enum",
|
|
76
|
+
"augments",
|
|
77
|
+
"extends",
|
|
78
|
+
"throws",
|
|
79
|
+
"exception",
|
|
80
|
+
"yield",
|
|
81
|
+
"yields",
|
|
82
|
+
"event",
|
|
83
|
+
"fires",
|
|
84
|
+
"emits",
|
|
85
|
+
"listens",
|
|
86
|
+
"this",
|
|
87
|
+
"satisfies",
|
|
88
|
+
"static",
|
|
89
|
+
"private",
|
|
90
|
+
"protected",
|
|
91
|
+
"public",
|
|
92
|
+
"access",
|
|
93
|
+
"package",
|
|
94
|
+
"-other",
|
|
95
|
+
"see",
|
|
96
|
+
"example",
|
|
97
|
+
"closurePrimitive",
|
|
98
|
+
"customElement",
|
|
99
|
+
"expose",
|
|
100
|
+
"hidden",
|
|
101
|
+
"idGenerator",
|
|
102
|
+
"meaning",
|
|
103
|
+
"ngInject",
|
|
104
|
+
"owner",
|
|
105
|
+
"wizaction",
|
|
106
|
+
"define",
|
|
107
|
+
"dict",
|
|
108
|
+
"export",
|
|
109
|
+
"externs",
|
|
110
|
+
"implicitCast",
|
|
111
|
+
"noalias",
|
|
112
|
+
"nocollapse",
|
|
113
|
+
"nocompile",
|
|
114
|
+
"noinline",
|
|
115
|
+
"nosideeffects",
|
|
116
|
+
"polymer",
|
|
117
|
+
"polymerBehavior",
|
|
118
|
+
"preserve",
|
|
119
|
+
"struct",
|
|
120
|
+
"suppress",
|
|
121
|
+
"unrestricted",
|
|
122
|
+
"category",
|
|
123
|
+
"ignore",
|
|
124
|
+
"author",
|
|
125
|
+
"version",
|
|
126
|
+
"variation",
|
|
127
|
+
"since",
|
|
128
|
+
"deprecated",
|
|
129
|
+
"todo"
|
|
130
|
+
] }];
|
|
131
|
+
var defaultTagOrder_default = defaultTagOrder;
|
|
20
132
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
// Core function/object info
|
|
24
|
-
'param', 'arg', 'argument', 'prop', 'property', 'return', 'returns',
|
|
25
|
-
// Important behavior details
|
|
26
|
-
'async', 'generator', 'default', 'defaultvalue', 'enum', 'augments', 'extends', 'throws', 'exception', 'yield', 'yields', 'event', 'fires', 'emits', 'listens', 'this',
|
|
27
|
-
// TypeScript
|
|
28
|
-
'satisfies',
|
|
29
|
-
// Access
|
|
30
|
-
'static', 'private', 'protected', 'public', 'access', 'package', '-other',
|
|
31
|
-
// Supplementary descriptions
|
|
32
|
-
'see', 'example',
|
|
33
|
-
// METADATA
|
|
34
|
-
|
|
35
|
-
// Other Closure (undocumented) metadata
|
|
36
|
-
'closurePrimitive', 'customElement', 'expose', 'hidden', 'idGenerator', 'meaning', 'ngInject', 'owner', 'wizaction',
|
|
37
|
-
// Other Closure (documented) metadata
|
|
38
|
-
'define', 'dict', 'export', 'externs', 'implicitCast', 'noalias', 'nocollapse', 'nocompile', 'noinline', 'nosideeffects', 'polymer', 'polymerBehavior', 'preserve', 'struct', 'suppress', 'unrestricted',
|
|
39
|
-
// @homer0/prettier-plugin-jsdoc metadata
|
|
40
|
-
'category',
|
|
41
|
-
// Non-Closure metadata
|
|
42
|
-
'ignore', 'author', 'version', 'variation', 'since', 'deprecated', 'todo']
|
|
43
|
-
}];
|
|
44
|
-
var _default = exports.default = defaultTagOrder;
|
|
45
|
-
module.exports = exports.default;
|
|
133
|
+
//#endregion
|
|
134
|
+
exports.default = defaultTagOrder_default;
|
|
46
135
|
//# sourceMappingURL=defaultTagOrder.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultTagOrder.cjs","names":[
|
|
1
|
+
{"version":3,"file":"defaultTagOrder.cjs","names":[],"sources":["../src/defaultTagOrder.js"],"sourcesContent":["const defaultTagOrder = [\n {\n tags: [\n // Brief descriptions\n 'summary',\n 'typeSummary',\n\n // Module/file-level\n 'module',\n 'exports',\n 'file',\n 'fileoverview',\n 'overview',\n 'import',\n\n // Identifying (name, type)\n 'template',\n 'typedef',\n 'interface',\n 'record',\n 'name',\n 'kind',\n 'type',\n 'alias',\n 'external',\n 'host',\n 'callback',\n 'func',\n 'function',\n 'method',\n 'class',\n 'constructor',\n\n // Relationships\n 'modifies',\n 'mixes',\n 'mixin',\n 'mixinClass',\n 'mixinFunction',\n 'namespace',\n 'borrows',\n 'constructs',\n 'lends',\n 'implements',\n 'requires',\n\n // Long descriptions\n 'desc',\n 'description',\n 'classdesc',\n 'tutorial',\n 'copyright',\n 'license',\n\n // Simple annotations\n\n // TypeScript\n 'internal',\n 'overload',\n\n 'const',\n 'constant',\n 'final',\n 'global',\n 'readonly',\n 'abstract',\n 'virtual',\n 'var',\n 'member',\n 'memberof',\n 'memberof!',\n 'inner',\n 'instance',\n 'inheritdoc',\n 'inheritDoc',\n 'override',\n 'hideconstructor',\n\n // Core function/object info\n 'param',\n 'arg',\n 'argument',\n 'prop',\n 'property',\n 'return',\n 'returns',\n\n // Important behavior details\n 'async',\n 'generator',\n 'default',\n 'defaultvalue',\n 'enum',\n 'augments',\n 'extends',\n 'throws',\n 'exception',\n 'yield',\n 'yields',\n 'event',\n 'fires',\n 'emits',\n 'listens',\n 'this',\n\n // TypeScript\n 'satisfies',\n\n // Access\n 'static',\n 'private',\n 'protected',\n 'public',\n 'access',\n 'package',\n\n '-other',\n\n // Supplementary descriptions\n 'see',\n 'example',\n\n // METADATA\n\n // Other Closure (undocumented) metadata\n 'closurePrimitive',\n 'customElement',\n 'expose',\n 'hidden',\n 'idGenerator',\n 'meaning',\n 'ngInject',\n 'owner',\n 'wizaction',\n\n // Other Closure (documented) metadata\n 'define',\n 'dict',\n 'export',\n 'externs',\n 'implicitCast',\n 'noalias',\n 'nocollapse',\n 'nocompile',\n 'noinline',\n 'nosideeffects',\n 'polymer',\n 'polymerBehavior',\n 'preserve',\n 'struct',\n 'suppress',\n 'unrestricted',\n\n // @homer0/prettier-plugin-jsdoc metadata\n 'category',\n\n // Non-Closure metadata\n 'ignore',\n 'author',\n 'version',\n 'variation',\n 'since',\n 'deprecated',\n 'todo',\n ],\n },\n];\n\nexport default defaultTagOrder;\n"],"mappings":";;AAAA,MAAM,kBAAkB,CACtB,EACE,MAAM;CAEJ;CACA;CAGA;CACA;CACA;CACA;CACA;CACA;CAGA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAGA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAGA;CACA;CACA;CACA;CACA;CACA;CAKA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAGA;CACA;CACA;CACA;CACA;CACA;CACA;CAGA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAGA;CAGA;CACA;CACA;CACA;CACA;CACA;CAEA;CAGA;CACA;CAKA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAGA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAGA;CAGA;CACA;CACA;CACA;CACA;CACA;CACA;AACD,EACF,CACF;AAED,8BAAe"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
//#region src/defaultTagOrder.js
|
|
2
|
+
const defaultTagOrder = [{ tags: [
|
|
3
|
+
"summary",
|
|
4
|
+
"typeSummary",
|
|
5
|
+
"module",
|
|
6
|
+
"exports",
|
|
7
|
+
"file",
|
|
8
|
+
"fileoverview",
|
|
9
|
+
"overview",
|
|
10
|
+
"import",
|
|
11
|
+
"template",
|
|
12
|
+
"typedef",
|
|
13
|
+
"interface",
|
|
14
|
+
"record",
|
|
15
|
+
"name",
|
|
16
|
+
"kind",
|
|
17
|
+
"type",
|
|
18
|
+
"alias",
|
|
19
|
+
"external",
|
|
20
|
+
"host",
|
|
21
|
+
"callback",
|
|
22
|
+
"func",
|
|
23
|
+
"function",
|
|
24
|
+
"method",
|
|
25
|
+
"class",
|
|
26
|
+
"constructor",
|
|
27
|
+
"modifies",
|
|
28
|
+
"mixes",
|
|
29
|
+
"mixin",
|
|
30
|
+
"mixinClass",
|
|
31
|
+
"mixinFunction",
|
|
32
|
+
"namespace",
|
|
33
|
+
"borrows",
|
|
34
|
+
"constructs",
|
|
35
|
+
"lends",
|
|
36
|
+
"implements",
|
|
37
|
+
"requires",
|
|
38
|
+
"desc",
|
|
39
|
+
"description",
|
|
40
|
+
"classdesc",
|
|
41
|
+
"tutorial",
|
|
42
|
+
"copyright",
|
|
43
|
+
"license",
|
|
44
|
+
"internal",
|
|
45
|
+
"overload",
|
|
46
|
+
"const",
|
|
47
|
+
"constant",
|
|
48
|
+
"final",
|
|
49
|
+
"global",
|
|
50
|
+
"readonly",
|
|
51
|
+
"abstract",
|
|
52
|
+
"virtual",
|
|
53
|
+
"var",
|
|
54
|
+
"member",
|
|
55
|
+
"memberof",
|
|
56
|
+
"memberof!",
|
|
57
|
+
"inner",
|
|
58
|
+
"instance",
|
|
59
|
+
"inheritdoc",
|
|
60
|
+
"inheritDoc",
|
|
61
|
+
"override",
|
|
62
|
+
"hideconstructor",
|
|
63
|
+
"param",
|
|
64
|
+
"arg",
|
|
65
|
+
"argument",
|
|
66
|
+
"prop",
|
|
67
|
+
"property",
|
|
68
|
+
"return",
|
|
69
|
+
"returns",
|
|
70
|
+
"async",
|
|
71
|
+
"generator",
|
|
72
|
+
"default",
|
|
73
|
+
"defaultvalue",
|
|
74
|
+
"enum",
|
|
75
|
+
"augments",
|
|
76
|
+
"extends",
|
|
77
|
+
"throws",
|
|
78
|
+
"exception",
|
|
79
|
+
"yield",
|
|
80
|
+
"yields",
|
|
81
|
+
"event",
|
|
82
|
+
"fires",
|
|
83
|
+
"emits",
|
|
84
|
+
"listens",
|
|
85
|
+
"this",
|
|
86
|
+
"satisfies",
|
|
87
|
+
"static",
|
|
88
|
+
"private",
|
|
89
|
+
"protected",
|
|
90
|
+
"public",
|
|
91
|
+
"access",
|
|
92
|
+
"package",
|
|
93
|
+
"-other",
|
|
94
|
+
"see",
|
|
95
|
+
"example",
|
|
96
|
+
"closurePrimitive",
|
|
97
|
+
"customElement",
|
|
98
|
+
"expose",
|
|
99
|
+
"hidden",
|
|
100
|
+
"idGenerator",
|
|
101
|
+
"meaning",
|
|
102
|
+
"ngInject",
|
|
103
|
+
"owner",
|
|
104
|
+
"wizaction",
|
|
105
|
+
"define",
|
|
106
|
+
"dict",
|
|
107
|
+
"export",
|
|
108
|
+
"externs",
|
|
109
|
+
"implicitCast",
|
|
110
|
+
"noalias",
|
|
111
|
+
"nocollapse",
|
|
112
|
+
"nocompile",
|
|
113
|
+
"noinline",
|
|
114
|
+
"nosideeffects",
|
|
115
|
+
"polymer",
|
|
116
|
+
"polymerBehavior",
|
|
117
|
+
"preserve",
|
|
118
|
+
"struct",
|
|
119
|
+
"suppress",
|
|
120
|
+
"unrestricted",
|
|
121
|
+
"category",
|
|
122
|
+
"ignore",
|
|
123
|
+
"author",
|
|
124
|
+
"version",
|
|
125
|
+
"variation",
|
|
126
|
+
"since",
|
|
127
|
+
"deprecated",
|
|
128
|
+
"todo"
|
|
129
|
+
] }];
|
|
130
|
+
var defaultTagOrder_default = defaultTagOrder;
|
|
131
|
+
|
|
132
|
+
//#endregion
|
|
133
|
+
export { defaultTagOrder_default as default };
|
|
134
|
+
//# sourceMappingURL=defaultTagOrder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultTagOrder.js","names":[],"sources":["../src/defaultTagOrder.js"],"sourcesContent":["const defaultTagOrder = [\n {\n tags: [\n // Brief descriptions\n 'summary',\n 'typeSummary',\n\n // Module/file-level\n 'module',\n 'exports',\n 'file',\n 'fileoverview',\n 'overview',\n 'import',\n\n // Identifying (name, type)\n 'template',\n 'typedef',\n 'interface',\n 'record',\n 'name',\n 'kind',\n 'type',\n 'alias',\n 'external',\n 'host',\n 'callback',\n 'func',\n 'function',\n 'method',\n 'class',\n 'constructor',\n\n // Relationships\n 'modifies',\n 'mixes',\n 'mixin',\n 'mixinClass',\n 'mixinFunction',\n 'namespace',\n 'borrows',\n 'constructs',\n 'lends',\n 'implements',\n 'requires',\n\n // Long descriptions\n 'desc',\n 'description',\n 'classdesc',\n 'tutorial',\n 'copyright',\n 'license',\n\n // Simple annotations\n\n // TypeScript\n 'internal',\n 'overload',\n\n 'const',\n 'constant',\n 'final',\n 'global',\n 'readonly',\n 'abstract',\n 'virtual',\n 'var',\n 'member',\n 'memberof',\n 'memberof!',\n 'inner',\n 'instance',\n 'inheritdoc',\n 'inheritDoc',\n 'override',\n 'hideconstructor',\n\n // Core function/object info\n 'param',\n 'arg',\n 'argument',\n 'prop',\n 'property',\n 'return',\n 'returns',\n\n // Important behavior details\n 'async',\n 'generator',\n 'default',\n 'defaultvalue',\n 'enum',\n 'augments',\n 'extends',\n 'throws',\n 'exception',\n 'yield',\n 'yields',\n 'event',\n 'fires',\n 'emits',\n 'listens',\n 'this',\n\n // TypeScript\n 'satisfies',\n\n // Access\n 'static',\n 'private',\n 'protected',\n 'public',\n 'access',\n 'package',\n\n '-other',\n\n // Supplementary descriptions\n 'see',\n 'example',\n\n // METADATA\n\n // Other Closure (undocumented) metadata\n 'closurePrimitive',\n 'customElement',\n 'expose',\n 'hidden',\n 'idGenerator',\n 'meaning',\n 'ngInject',\n 'owner',\n 'wizaction',\n\n // Other Closure (documented) metadata\n 'define',\n 'dict',\n 'export',\n 'externs',\n 'implicitCast',\n 'noalias',\n 'nocollapse',\n 'nocompile',\n 'noinline',\n 'nosideeffects',\n 'polymer',\n 'polymerBehavior',\n 'preserve',\n 'struct',\n 'suppress',\n 'unrestricted',\n\n // @homer0/prettier-plugin-jsdoc metadata\n 'category',\n\n // Non-Closure metadata\n 'ignore',\n 'author',\n 'version',\n 'variation',\n 'since',\n 'deprecated',\n 'todo',\n ],\n },\n];\n\nexport default defaultTagOrder;\n"],"mappings":";AAAA,MAAM,kBAAkB,CACtB,EACE,MAAM;CAEJ;CACA;CAGA;CACA;CACA;CACA;CACA;CACA;CAGA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAGA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAGA;CACA;CACA;CACA;CACA;CACA;CAKA;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAGA;CACA;CACA;CACA;CACA;CACA;CACA;CAGA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAGA;CAGA;CACA;CACA;CACA;CACA;CACA;CAEA;CAGA;CACA;CAKA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAGA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAGA;CAGA;CACA;CACA;CACA;CACA;CACA;CACA;AACD,EACF,CACF;AAED,8BAAe"}
|