eslint-plugin-jsdoc 39.3.2 → 39.3.3
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/README.md +16 -0
- package/dist/alignTransform.js +14 -4
- package/dist/alignTransform.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2682,6 +2682,22 @@ const fn = ({ids}) => {}
|
|
|
2682
2682
|
*/
|
|
2683
2683
|
const fn = ( lorem, sit ) => {}
|
|
2684
2684
|
// "jsdoc/check-line-alignment": ["error"|"warn", "always"]
|
|
2685
|
+
|
|
2686
|
+
/**
|
|
2687
|
+
* Function description.
|
|
2688
|
+
*
|
|
2689
|
+
* @param lorem Description.
|
|
2690
|
+
* @param sit Description multi words.
|
|
2691
|
+
*/
|
|
2692
|
+
const fn = ( lorem, sit ) => {};
|
|
2693
|
+
|
|
2694
|
+
/**
|
|
2695
|
+
* Function description.
|
|
2696
|
+
*
|
|
2697
|
+
* @return Return description.
|
|
2698
|
+
*/
|
|
2699
|
+
const fn2 = () => {}
|
|
2700
|
+
// "jsdoc/check-line-alignment": ["error"|"warn", "always"]
|
|
2685
2701
|
````
|
|
2686
2702
|
|
|
2687
2703
|
|
package/dist/alignTransform.js
CHANGED
|
@@ -79,7 +79,7 @@ const alignTransform = ({
|
|
|
79
79
|
let intoTags = false;
|
|
80
80
|
let width;
|
|
81
81
|
|
|
82
|
-
const alignTokens = tokens => {
|
|
82
|
+
const alignTokens = (tokens, hasNoTypes) => {
|
|
83
83
|
const nothingAfter = {
|
|
84
84
|
delim: false,
|
|
85
85
|
name: false,
|
|
@@ -105,6 +105,11 @@ const alignTransform = ({
|
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
if (hasNoTypes) {
|
|
111
|
+
nothingAfter.tag = true;
|
|
112
|
+
tokens.postTag = '';
|
|
108
113
|
} // Todo: Avoid fixing alignment of blocks with multiline wrapping of type
|
|
109
114
|
|
|
110
115
|
|
|
@@ -136,7 +141,7 @@ const alignTransform = ({
|
|
|
136
141
|
return tokens;
|
|
137
142
|
};
|
|
138
143
|
|
|
139
|
-
const update = (line, index, source) => {
|
|
144
|
+
const update = (line, index, source, hasNoTypes) => {
|
|
140
145
|
const tokens = { ...line.tokens
|
|
141
146
|
};
|
|
142
147
|
|
|
@@ -192,7 +197,7 @@ const alignTransform = ({
|
|
|
192
197
|
}
|
|
193
198
|
|
|
194
199
|
return { ...line,
|
|
195
|
-
tokens: alignTokens(tokens)
|
|
200
|
+
tokens: alignTokens(tokens, hasNoTypes)
|
|
196
201
|
};
|
|
197
202
|
};
|
|
198
203
|
|
|
@@ -202,9 +207,14 @@ const alignTransform = ({
|
|
|
202
207
|
}) => {
|
|
203
208
|
width = source.reduce(getWidth(tags), { ...zeroWidth
|
|
204
209
|
});
|
|
210
|
+
const hasNoTypes = fields.tags.every(({
|
|
211
|
+
type
|
|
212
|
+
}) => {
|
|
213
|
+
return !type;
|
|
214
|
+
});
|
|
205
215
|
return rewireSource({ ...fields,
|
|
206
216
|
source: source.map((line, index) => {
|
|
207
|
-
return update(line, index, source);
|
|
217
|
+
return update(line, index, source, hasNoTypes);
|
|
208
218
|
})
|
|
209
219
|
});
|
|
210
220
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alignTransform.js","names":["rewireSource","util","zeroWidth","name","start","tag","type","shouldAlign","tags","index","source","tokens","replace","includesTag","includes","iterator","previousTag","getWidth","width","Math","max","length","delimiter","Markers","space","len","padStart","alignTransform","customSpacings","indent","preserveMainDescriptionPostDelimiter","intoTags","alignTokens","nothingAfter","delim","description","postName","postType","postTag","spacings","postDelimiter","update","line","isEmpty","end","fields","reduce","map"],"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\n // `comment-parser/primitives` export\n Markers,\n util,\n} from 'comment-parser';\n\nconst {\n rewireSource,\n} = util;\n\nconst zeroWidth = {\n name: 0,\n start: 0,\n tag: 0,\n type: 0,\n};\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\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 === Markers.start ? 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\nconst space = (len) => {\n return ''.padStart(len, ' ');\n};\n\nconst alignTransform = ({\n customSpacings,\n tags,\n indent,\n preserveMainDescriptionPostDelimiter,\n}) => {\n let intoTags = false;\n let width;\n\n const alignTokens = (tokens) => {\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 /* istanbul 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 // 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);\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);\n }\n\n return tokens;\n };\n\n const update = (line, index, source) => {\n const tokens = {\n ...line.tokens,\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 === Markers.end && isEmpty) {\n tokens.start = indent + ' ';\n\n return {\n ...line,\n tokens,\n };\n }\n\n /* eslint-disable indent */\n switch (tokens.delimiter) {\n case Markers.start:\n tokens.start = indent;\n break;\n case Markers.delim:\n tokens.start = indent + ' ';\n break;\n default:\n tokens.delimiter = '';\n\n // compensate delimiter\n tokens.start = indent + ' ';\n }\n /* eslint-enable */\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 // Not align.\n if (!shouldAlign(tags, index, source)) {\n return {\n ...line,\n tokens,\n };\n }\n\n return {\n ...line,\n tokens: alignTokens(tokens),\n };\n };\n\n return ({\n source,\n ...fields\n }) => {\n width = source.reduce(getWidth(tags), {\n ...zeroWidth,\n });\n\n return rewireSource({\n ...fields,\n source: source.map((line, index) => {\n return update(line, index, source);\n }),\n });\n };\n};\n\nexport default alignTransform;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"alignTransform.js","names":["rewireSource","util","zeroWidth","name","start","tag","type","shouldAlign","tags","index","source","tokens","replace","includesTag","includes","iterator","previousTag","getWidth","width","Math","max","length","delimiter","Markers","space","len","padStart","alignTransform","customSpacings","indent","preserveMainDescriptionPostDelimiter","intoTags","alignTokens","hasNoTypes","nothingAfter","delim","description","postName","postType","postTag","spacings","postDelimiter","update","line","isEmpty","end","fields","reduce","every","map"],"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\n // `comment-parser/primitives` export\n Markers,\n util,\n} from 'comment-parser';\n\nconst {\n rewireSource,\n} = util;\n\nconst zeroWidth = {\n name: 0,\n start: 0,\n tag: 0,\n type: 0,\n};\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\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 === Markers.start ? 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\nconst space = (len) => {\n return ''.padStart(len, ' ');\n};\n\nconst alignTransform = ({\n customSpacings,\n tags,\n indent,\n preserveMainDescriptionPostDelimiter,\n}) => {\n let intoTags = false;\n let width;\n\n const alignTokens = (tokens, hasNoTypes) => {\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 /* istanbul 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 if (hasNoTypes) {\n nothingAfter.tag = true;\n tokens.postTag = '';\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);\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);\n }\n\n return tokens;\n };\n\n const update = (line, index, source, hasNoTypes) => {\n const tokens = {\n ...line.tokens,\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 === Markers.end && isEmpty) {\n tokens.start = indent + ' ';\n\n return {\n ...line,\n tokens,\n };\n }\n\n /* eslint-disable indent */\n switch (tokens.delimiter) {\n case Markers.start:\n tokens.start = indent;\n break;\n case Markers.delim:\n tokens.start = indent + ' ';\n break;\n default:\n tokens.delimiter = '';\n\n // compensate delimiter\n tokens.start = indent + ' ';\n }\n /* eslint-enable */\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 // Not align.\n if (!shouldAlign(tags, index, source)) {\n return {\n ...line,\n tokens,\n };\n }\n\n return {\n ...line,\n tokens: alignTokens(tokens, hasNoTypes),\n };\n };\n\n return ({\n source,\n ...fields\n }) => {\n width = source.reduce(getWidth(tags), {\n ...zeroWidth,\n });\n const hasNoTypes = fields.tags.every(({\n type,\n }) => {\n return !type;\n });\n\n return rewireSource({\n ...fields,\n source: source.map((line, index) => {\n return update(line, index, source, hasNoTypes);\n }),\n });\n };\n};\n\nexport default alignTransform;\n"],"mappings":"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"}
|
package/package.json
CHANGED