eslint-plugin-jsdoc 39.4.0 → 39.5.1

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 CHANGED
@@ -72,6 +72,7 @@ JSDoc linting rules for ESLint.
72
72
  * [`require-yields-check`](#user-content-eslint-plugin-jsdoc-rules-require-yields-check)
73
73
  * [`sort-tags`](#user-content-eslint-plugin-jsdoc-rules-sort-tags)
74
74
  * [`tag-lines`](#user-content-eslint-plugin-jsdoc-rules-tag-lines)
75
+ * [`text-escaping`](#user-content-eslint-plugin-jsdoc-rules-text-escaping)
75
76
  * [`valid-types`](#user-content-eslint-plugin-jsdoc-rules-valid-types)
76
77
 
77
78
 
@@ -18320,6 +18321,22 @@ function maybeTrue() {
18320
18321
  return true;
18321
18322
  }
18322
18323
  }
18324
+
18325
+ /**
18326
+ * @param {AST} astNode
18327
+ * @returns {AST}
18328
+ */
18329
+ const getTSFunctionComment = function (astNode) {
18330
+ switch (greatGrandparent.type) {
18331
+ case 'VariableDeclarator':
18332
+ if (greatGreatGrandparent.type === 'VariableDeclaration') {
18333
+ return greatGreatGrandparent;
18334
+ }
18335
+
18336
+ default:
18337
+ return astNode;
18338
+ }
18339
+ };
18323
18340
  ````
18324
18341
 
18325
18342
 
@@ -22100,6 +22117,155 @@ The following patterns are not considered problems:
22100
22117
  ````
22101
22118
 
22102
22119
 
22120
+ <a name="user-content-eslint-plugin-jsdoc-rules-text-escaping"></a>
22121
+ <a name="eslint-plugin-jsdoc-rules-text-escaping"></a>
22122
+ ### <code>text-escaping</code>
22123
+
22124
+ This rule can auto-escape certain characters that are input within block and
22125
+ tag descriptions.
22126
+
22127
+ This rule may be desirable if your text is known not to contain HTML or
22128
+ Markdown and you therefore do not wish for it to be accidentally interpreted
22129
+ as such by the likes of Visual Studio Code or if you wish to view it escaped
22130
+ within it or your documentation.
22131
+
22132
+ <a name="user-content-eslint-plugin-jsdoc-rules-text-escaping-options-42"></a>
22133
+ <a name="eslint-plugin-jsdoc-rules-text-escaping-options-42"></a>
22134
+ #### Options
22135
+
22136
+ <a name="user-content-eslint-plugin-jsdoc-rules-text-escaping-options-42-escapehtml"></a>
22137
+ <a name="eslint-plugin-jsdoc-rules-text-escaping-options-42-escapehtml"></a>
22138
+ ##### <code>escapeHTML</code>
22139
+
22140
+ This option escapes all `<` and `&` characters (except those followed by
22141
+ whitespace which are treated as literals by Visual Studio Code).
22142
+
22143
+ <a name="user-content-eslint-plugin-jsdoc-rules-text-escaping-options-42-escapemarkdown"></a>
22144
+ <a name="eslint-plugin-jsdoc-rules-text-escaping-options-42-escapemarkdown"></a>
22145
+ ##### <code>escapeMarkdown</code>
22146
+
22147
+ This option escapes the first backtick (`` ` ``) in a paired sequence.
22148
+
22149
+ |||
22150
+ |---|---|
22151
+ |Context|everywhere|
22152
+ |Tags|``|
22153
+ |Recommended|false|
22154
+ |Settings||
22155
+ |Options||
22156
+
22157
+ The following patterns are considered problems:
22158
+
22159
+ ````js
22160
+ /**
22161
+ * Some things to escape: <a> and &gt; and `test`
22162
+ */
22163
+ // Message: You must include either `escapeHTML` or `escapeMarkdown`
22164
+
22165
+ /**
22166
+ * Some things to escape: <a> and &gt; and &#xabc; and `test`
22167
+ */
22168
+ // "jsdoc/text-escaping": ["error"|"warn", {"escapeHTML":true}]
22169
+ // Message: You have unescaped HTML characters < or &
22170
+
22171
+ /**
22172
+ * Some things to escape: <a> and &gt; and `test`
22173
+ */
22174
+ // "jsdoc/text-escaping": ["error"|"warn", {"escapeMarkdown":true}]
22175
+ // Message: You have unescaped Markdown backtick sequences
22176
+
22177
+ /**
22178
+ * Some things to escape:
22179
+ * <a> and &gt; and `test`
22180
+ */
22181
+ // "jsdoc/text-escaping": ["error"|"warn", {"escapeHTML":true}]
22182
+ // Message: You have unescaped HTML characters < or &
22183
+
22184
+ /**
22185
+ * Some things to escape:
22186
+ * <a> and &gt; and `test`
22187
+ */
22188
+ // "jsdoc/text-escaping": ["error"|"warn", {"escapeMarkdown":true}]
22189
+ // Message: You have unescaped Markdown backtick sequences
22190
+
22191
+ /**
22192
+ * @param {SomeType} aName Some things to escape: <a> and &gt; and `test`
22193
+ */
22194
+ // "jsdoc/text-escaping": ["error"|"warn", {"escapeHTML":true}]
22195
+ // Message: You have unescaped HTML characters < or & in a tag
22196
+
22197
+ /**
22198
+ * @param {SomeType} aName Some things to escape: <a> and &gt; and `test`
22199
+ */
22200
+ // "jsdoc/text-escaping": ["error"|"warn", {"escapeMarkdown":true}]
22201
+ // Message: You have unescaped Markdown backtick sequences in a tag
22202
+
22203
+ /**
22204
+ * @param {SomeType} aName Some things to escape:
22205
+ * <a> and &gt; and `test`
22206
+ */
22207
+ // "jsdoc/text-escaping": ["error"|"warn", {"escapeHTML":true}]
22208
+ // Message: You have unescaped HTML characters < or & in a tag
22209
+
22210
+ /**
22211
+ * @param {SomeType} aName Some things to escape:
22212
+ * <a> and &gt; and `test`
22213
+ */
22214
+ // "jsdoc/text-escaping": ["error"|"warn", {"escapeMarkdown":true}]
22215
+ // Message: You have unescaped Markdown backtick sequences in a tag
22216
+ ````
22217
+
22218
+ The following patterns are not considered problems:
22219
+
22220
+ ````js
22221
+ /**
22222
+ * Some things to escape: &lt;a> and &gt; and `test`
22223
+ */
22224
+ // "jsdoc/text-escaping": ["error"|"warn", {"escapeHTML":true}]
22225
+
22226
+ /**
22227
+ * Some things to escape: <a> and &gt; and \`test`
22228
+ */
22229
+ // "jsdoc/text-escaping": ["error"|"warn", {"escapeMarkdown":true}]
22230
+
22231
+ /**
22232
+ * Some things to escape: < and &
22233
+ */
22234
+ // "jsdoc/text-escaping": ["error"|"warn", {"escapeHTML":true}]
22235
+
22236
+ /**
22237
+ * Some things to escape: `
22238
+ */
22239
+ // "jsdoc/text-escaping": ["error"|"warn", {"escapeMarkdown":true}]
22240
+
22241
+ /**
22242
+ * @param {SomeType} aName Some things to escape: &lt;a> and &gt; and `test`
22243
+ */
22244
+ // "jsdoc/text-escaping": ["error"|"warn", {"escapeHTML":true}]
22245
+
22246
+ /**
22247
+ * @param {SomeType} aName Some things to escape: <a> and &gt; and \`test`
22248
+ */
22249
+ // "jsdoc/text-escaping": ["error"|"warn", {"escapeMarkdown":true}]
22250
+
22251
+ /**
22252
+ * @param {SomeType} aName Some things to escape: < and &
22253
+ */
22254
+ // "jsdoc/text-escaping": ["error"|"warn", {"escapeHTML":true}]
22255
+
22256
+ /**
22257
+ * @param {SomeType} aName Some things to escape: `
22258
+ */
22259
+ // "jsdoc/text-escaping": ["error"|"warn", {"escapeMarkdown":true}]
22260
+
22261
+ /**
22262
+ * Nothing
22263
+ * to escape
22264
+ */
22265
+ // "jsdoc/text-escaping": ["error"|"warn", {"escapeHTML":true}]
22266
+ ````
22267
+
22268
+
22103
22269
  <a name="user-content-eslint-plugin-jsdoc-rules-valid-types"></a>
22104
22270
  <a name="eslint-plugin-jsdoc-rules-valid-types"></a>
22105
22271
  ### <code>valid-types</code>
@@ -22181,8 +22347,8 @@ for valid types (based on the tag's `type` value), and either portion checked
22181
22347
  for presence (based on `false` `name` or `type` values or their `required`
22182
22348
  value). See the setting for more details.
22183
22349
 
22184
- <a name="user-content-eslint-plugin-jsdoc-rules-valid-types-options-42"></a>
22185
- <a name="eslint-plugin-jsdoc-rules-valid-types-options-42"></a>
22350
+ <a name="user-content-eslint-plugin-jsdoc-rules-valid-types-options-43"></a>
22351
+ <a name="eslint-plugin-jsdoc-rules-valid-types-options-43"></a>
22186
22352
  #### Options
22187
22353
 
22188
22354
  - `allowEmptyNamepaths` (default: true) - Set to `false` to bulk disallow
package/dist/index.js CHANGED
@@ -52,6 +52,7 @@ var _requireYields = _interopRequireDefault(require("./rules/requireYields"));
52
52
  var _requireYieldsCheck = _interopRequireDefault(require("./rules/requireYieldsCheck"));
53
53
  var _sortTags = _interopRequireDefault(require("./rules/sortTags"));
54
54
  var _tagLines = _interopRequireDefault(require("./rules/tagLines"));
55
+ var _textEscaping = _interopRequireDefault(require("./rules/textEscaping"));
55
56
  var _validTypes = _interopRequireDefault(require("./rules/validTypes"));
56
57
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
57
58
  var _default = {
@@ -107,6 +108,7 @@ var _default = {
107
108
  'jsdoc/require-yields-check': 'warn',
108
109
  'jsdoc/sort-tags': 'off',
109
110
  'jsdoc/tag-lines': 'warn',
111
+ 'jsdoc/text-escaping': 'off',
110
112
  'jsdoc/valid-types': 'warn'
111
113
  }
112
114
  }
@@ -160,6 +162,7 @@ var _default = {
160
162
  'require-yields-check': _requireYieldsCheck.default,
161
163
  'sort-tags': _sortTags.default,
162
164
  'tag-lines': _tagLines.default,
165
+ 'text-escaping': _textEscaping.default,
163
166
  'valid-types': _validTypes.default
164
167
  }
165
168
  };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["configs","recommended","plugins","rules","checkAccess","checkAlignment","checkExamples","checkIndentation","checkLineAlignment","checkParamNames","checkPropertyNames","checkSyntax","checkTagNames","checkTypes","checkValues","emptyTags","implementsOnClasses","matchDescription","matchName","multilineBlocks","newlineAfterDescription","noBadBlocks","noDefaults","noMissingSyntax","noMultiAsterisks","noRestrictedSyntax","noTypes","noUndefinedTypes","requireAsteriskPrefix","requireDescription","requireDescriptionCompleteSentence","requireExample","requireFileOverview","requireHyphenBeforeParamDescription","requireJsdoc","requireParam","requireParamDescription","requireParamName","requireParamType","requireProperty","requirePropertyDescription","requirePropertyName","requirePropertyType","requireReturns","requireReturnsCheck","requireReturnsDescription","requireReturnsType","requireThrows","requireYields","requireYieldsCheck","sortTags","tagLines","validTypes"],"sources":["../src/index.js"],"sourcesContent":["import checkAccess from './rules/checkAccess';\nimport checkAlignment from './rules/checkAlignment';\nimport checkExamples from './rules/checkExamples';\nimport checkIndentation from './rules/checkIndentation';\nimport checkLineAlignment from './rules/checkLineAlignment';\nimport checkParamNames from './rules/checkParamNames';\nimport checkPropertyNames from './rules/checkPropertyNames';\nimport checkSyntax from './rules/checkSyntax';\nimport checkTagNames from './rules/checkTagNames';\nimport checkTypes from './rules/checkTypes';\nimport checkValues from './rules/checkValues';\nimport emptyTags from './rules/emptyTags';\nimport implementsOnClasses from './rules/implementsOnClasses';\nimport matchDescription from './rules/matchDescription';\nimport matchName from './rules/matchName';\nimport multilineBlocks from './rules/multilineBlocks';\nimport newlineAfterDescription from './rules/newlineAfterDescription';\nimport noBadBlocks from './rules/noBadBlocks';\nimport noDefaults from './rules/noDefaults';\nimport noMissingSyntax from './rules/noMissingSyntax';\nimport noMultiAsterisks from './rules/noMultiAsterisks';\nimport noRestrictedSyntax from './rules/noRestrictedSyntax';\nimport noTypes from './rules/noTypes';\nimport noUndefinedTypes from './rules/noUndefinedTypes';\nimport requireAsteriskPrefix from './rules/requireAsteriskPrefix';\nimport requireDescription from './rules/requireDescription';\nimport requireDescriptionCompleteSentence from './rules/requireDescriptionCompleteSentence';\nimport requireExample from './rules/requireExample';\nimport requireFileOverview from './rules/requireFileOverview';\nimport requireHyphenBeforeParamDescription from './rules/requireHyphenBeforeParamDescription';\nimport requireJsdoc from './rules/requireJsdoc';\nimport requireParam from './rules/requireParam';\nimport requireParamDescription from './rules/requireParamDescription';\nimport requireParamName from './rules/requireParamName';\nimport requireParamType from './rules/requireParamType';\nimport requireProperty from './rules/requireProperty';\nimport requirePropertyDescription from './rules/requirePropertyDescription';\nimport requirePropertyName from './rules/requirePropertyName';\nimport requirePropertyType from './rules/requirePropertyType';\nimport requireReturns from './rules/requireReturns';\nimport requireReturnsCheck from './rules/requireReturnsCheck';\nimport requireReturnsDescription from './rules/requireReturnsDescription';\nimport requireReturnsType from './rules/requireReturnsType';\nimport requireThrows from './rules/requireThrows';\nimport requireYields from './rules/requireYields';\nimport requireYieldsCheck from './rules/requireYieldsCheck';\nimport sortTags from './rules/sortTags';\nimport tagLines from './rules/tagLines';\nimport validTypes from './rules/validTypes';\n\nexport default {\n configs: {\n recommended: {\n plugins: [\n 'jsdoc',\n ],\n rules: {\n 'jsdoc/check-access': 'warn',\n 'jsdoc/check-alignment': 'warn',\n 'jsdoc/check-examples': 'off',\n 'jsdoc/check-indentation': 'off',\n 'jsdoc/check-line-alignment': 'off',\n 'jsdoc/check-param-names': 'warn',\n 'jsdoc/check-property-names': 'warn',\n 'jsdoc/check-syntax': 'off',\n 'jsdoc/check-tag-names': 'warn',\n 'jsdoc/check-types': 'warn',\n 'jsdoc/check-values': 'warn',\n 'jsdoc/empty-tags': 'warn',\n 'jsdoc/implements-on-classes': 'warn',\n 'jsdoc/match-description': 'off',\n 'jsdoc/match-name': 'off',\n 'jsdoc/multiline-blocks': 'warn',\n 'jsdoc/newline-after-description': 'warn',\n 'jsdoc/no-bad-blocks': 'off',\n 'jsdoc/no-defaults': 'off',\n 'jsdoc/no-missing-syntax': 'off',\n 'jsdoc/no-multi-asterisks': 'warn',\n 'jsdoc/no-restricted-syntax': 'off',\n 'jsdoc/no-types': 'off',\n 'jsdoc/no-undefined-types': 'warn',\n 'jsdoc/require-asterisk-prefix': 'off',\n 'jsdoc/require-description': 'off',\n 'jsdoc/require-description-complete-sentence': 'off',\n 'jsdoc/require-example': 'off',\n 'jsdoc/require-file-overview': 'off',\n 'jsdoc/require-hyphen-before-param-description': 'off',\n 'jsdoc/require-jsdoc': 'warn',\n 'jsdoc/require-param': 'warn',\n 'jsdoc/require-param-description': 'warn',\n 'jsdoc/require-param-name': 'warn',\n 'jsdoc/require-param-type': 'warn',\n 'jsdoc/require-property': 'warn',\n 'jsdoc/require-property-description': 'warn',\n 'jsdoc/require-property-name': 'warn',\n 'jsdoc/require-property-type': 'warn',\n 'jsdoc/require-returns': 'warn',\n 'jsdoc/require-returns-check': 'warn',\n 'jsdoc/require-returns-description': 'warn',\n 'jsdoc/require-returns-type': 'warn',\n 'jsdoc/require-throws': 'off',\n 'jsdoc/require-yields': 'warn',\n 'jsdoc/require-yields-check': 'warn',\n 'jsdoc/sort-tags': 'off',\n 'jsdoc/tag-lines': 'warn',\n 'jsdoc/valid-types': 'warn',\n },\n },\n },\n rules: {\n 'check-access': checkAccess,\n 'check-alignment': checkAlignment,\n 'check-examples': checkExamples,\n 'check-indentation': checkIndentation,\n 'check-line-alignment': checkLineAlignment,\n 'check-param-names': checkParamNames,\n 'check-property-names': checkPropertyNames,\n 'check-syntax': checkSyntax,\n 'check-tag-names': checkTagNames,\n 'check-types': checkTypes,\n 'check-values': checkValues,\n 'empty-tags': emptyTags,\n 'implements-on-classes': implementsOnClasses,\n 'match-description': matchDescription,\n 'match-name': matchName,\n 'multiline-blocks': multilineBlocks,\n 'newline-after-description': newlineAfterDescription,\n 'no-bad-blocks': noBadBlocks,\n 'no-defaults': noDefaults,\n 'no-missing-syntax': noMissingSyntax,\n 'no-multi-asterisks': noMultiAsterisks,\n 'no-restricted-syntax': noRestrictedSyntax,\n 'no-types': noTypes,\n 'no-undefined-types': noUndefinedTypes,\n 'require-asterisk-prefix': requireAsteriskPrefix,\n 'require-description': requireDescription,\n 'require-description-complete-sentence': requireDescriptionCompleteSentence,\n 'require-example': requireExample,\n 'require-file-overview': requireFileOverview,\n 'require-hyphen-before-param-description': requireHyphenBeforeParamDescription,\n 'require-jsdoc': requireJsdoc,\n 'require-param': requireParam,\n 'require-param-description': requireParamDescription,\n 'require-param-name': requireParamName,\n 'require-param-type': requireParamType,\n 'require-property': requireProperty,\n 'require-property-description': requirePropertyDescription,\n 'require-property-name': requirePropertyName,\n 'require-property-type': requirePropertyType,\n 'require-returns': requireReturns,\n 'require-returns-check': requireReturnsCheck,\n 'require-returns-description': requireReturnsDescription,\n 'require-returns-type': requireReturnsType,\n 'require-throws': requireThrows,\n 'require-yields': requireYields,\n 'require-yields-check': requireYieldsCheck,\n 'sort-tags': sortTags,\n 'tag-lines': tagLines,\n 'valid-types': validTypes,\n },\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["configs","recommended","plugins","rules","checkAccess","checkAlignment","checkExamples","checkIndentation","checkLineAlignment","checkParamNames","checkPropertyNames","checkSyntax","checkTagNames","checkTypes","checkValues","emptyTags","implementsOnClasses","matchDescription","matchName","multilineBlocks","newlineAfterDescription","noBadBlocks","noDefaults","noMissingSyntax","noMultiAsterisks","noRestrictedSyntax","noTypes","noUndefinedTypes","requireAsteriskPrefix","requireDescription","requireDescriptionCompleteSentence","requireExample","requireFileOverview","requireHyphenBeforeParamDescription","requireJsdoc","requireParam","requireParamDescription","requireParamName","requireParamType","requireProperty","requirePropertyDescription","requirePropertyName","requirePropertyType","requireReturns","requireReturnsCheck","requireReturnsDescription","requireReturnsType","requireThrows","requireYields","requireYieldsCheck","sortTags","tagLines","textEscaping","validTypes"],"sources":["../src/index.js"],"sourcesContent":["import checkAccess from './rules/checkAccess';\nimport checkAlignment from './rules/checkAlignment';\nimport checkExamples from './rules/checkExamples';\nimport checkIndentation from './rules/checkIndentation';\nimport checkLineAlignment from './rules/checkLineAlignment';\nimport checkParamNames from './rules/checkParamNames';\nimport checkPropertyNames from './rules/checkPropertyNames';\nimport checkSyntax from './rules/checkSyntax';\nimport checkTagNames from './rules/checkTagNames';\nimport checkTypes from './rules/checkTypes';\nimport checkValues from './rules/checkValues';\nimport emptyTags from './rules/emptyTags';\nimport implementsOnClasses from './rules/implementsOnClasses';\nimport matchDescription from './rules/matchDescription';\nimport matchName from './rules/matchName';\nimport multilineBlocks from './rules/multilineBlocks';\nimport newlineAfterDescription from './rules/newlineAfterDescription';\nimport noBadBlocks from './rules/noBadBlocks';\nimport noDefaults from './rules/noDefaults';\nimport noMissingSyntax from './rules/noMissingSyntax';\nimport noMultiAsterisks from './rules/noMultiAsterisks';\nimport noRestrictedSyntax from './rules/noRestrictedSyntax';\nimport noTypes from './rules/noTypes';\nimport noUndefinedTypes from './rules/noUndefinedTypes';\nimport requireAsteriskPrefix from './rules/requireAsteriskPrefix';\nimport requireDescription from './rules/requireDescription';\nimport requireDescriptionCompleteSentence from './rules/requireDescriptionCompleteSentence';\nimport requireExample from './rules/requireExample';\nimport requireFileOverview from './rules/requireFileOverview';\nimport requireHyphenBeforeParamDescription from './rules/requireHyphenBeforeParamDescription';\nimport requireJsdoc from './rules/requireJsdoc';\nimport requireParam from './rules/requireParam';\nimport requireParamDescription from './rules/requireParamDescription';\nimport requireParamName from './rules/requireParamName';\nimport requireParamType from './rules/requireParamType';\nimport requireProperty from './rules/requireProperty';\nimport requirePropertyDescription from './rules/requirePropertyDescription';\nimport requirePropertyName from './rules/requirePropertyName';\nimport requirePropertyType from './rules/requirePropertyType';\nimport requireReturns from './rules/requireReturns';\nimport requireReturnsCheck from './rules/requireReturnsCheck';\nimport requireReturnsDescription from './rules/requireReturnsDescription';\nimport requireReturnsType from './rules/requireReturnsType';\nimport requireThrows from './rules/requireThrows';\nimport requireYields from './rules/requireYields';\nimport requireYieldsCheck from './rules/requireYieldsCheck';\nimport sortTags from './rules/sortTags';\nimport tagLines from './rules/tagLines';\nimport textEscaping from './rules/textEscaping';\nimport validTypes from './rules/validTypes';\n\nexport default {\n configs: {\n recommended: {\n plugins: [\n 'jsdoc',\n ],\n rules: {\n 'jsdoc/check-access': 'warn',\n 'jsdoc/check-alignment': 'warn',\n 'jsdoc/check-examples': 'off',\n 'jsdoc/check-indentation': 'off',\n 'jsdoc/check-line-alignment': 'off',\n 'jsdoc/check-param-names': 'warn',\n 'jsdoc/check-property-names': 'warn',\n 'jsdoc/check-syntax': 'off',\n 'jsdoc/check-tag-names': 'warn',\n 'jsdoc/check-types': 'warn',\n 'jsdoc/check-values': 'warn',\n 'jsdoc/empty-tags': 'warn',\n 'jsdoc/implements-on-classes': 'warn',\n 'jsdoc/match-description': 'off',\n 'jsdoc/match-name': 'off',\n 'jsdoc/multiline-blocks': 'warn',\n 'jsdoc/newline-after-description': 'warn',\n 'jsdoc/no-bad-blocks': 'off',\n 'jsdoc/no-defaults': 'off',\n 'jsdoc/no-missing-syntax': 'off',\n 'jsdoc/no-multi-asterisks': 'warn',\n 'jsdoc/no-restricted-syntax': 'off',\n 'jsdoc/no-types': 'off',\n 'jsdoc/no-undefined-types': 'warn',\n 'jsdoc/require-asterisk-prefix': 'off',\n 'jsdoc/require-description': 'off',\n 'jsdoc/require-description-complete-sentence': 'off',\n 'jsdoc/require-example': 'off',\n 'jsdoc/require-file-overview': 'off',\n 'jsdoc/require-hyphen-before-param-description': 'off',\n 'jsdoc/require-jsdoc': 'warn',\n 'jsdoc/require-param': 'warn',\n 'jsdoc/require-param-description': 'warn',\n 'jsdoc/require-param-name': 'warn',\n 'jsdoc/require-param-type': 'warn',\n 'jsdoc/require-property': 'warn',\n 'jsdoc/require-property-description': 'warn',\n 'jsdoc/require-property-name': 'warn',\n 'jsdoc/require-property-type': 'warn',\n 'jsdoc/require-returns': 'warn',\n 'jsdoc/require-returns-check': 'warn',\n 'jsdoc/require-returns-description': 'warn',\n 'jsdoc/require-returns-type': 'warn',\n 'jsdoc/require-throws': 'off',\n 'jsdoc/require-yields': 'warn',\n 'jsdoc/require-yields-check': 'warn',\n 'jsdoc/sort-tags': 'off',\n 'jsdoc/tag-lines': 'warn',\n 'jsdoc/text-escaping': 'off',\n 'jsdoc/valid-types': 'warn',\n },\n },\n },\n rules: {\n 'check-access': checkAccess,\n 'check-alignment': checkAlignment,\n 'check-examples': checkExamples,\n 'check-indentation': checkIndentation,\n 'check-line-alignment': checkLineAlignment,\n 'check-param-names': checkParamNames,\n 'check-property-names': checkPropertyNames,\n 'check-syntax': checkSyntax,\n 'check-tag-names': checkTagNames,\n 'check-types': checkTypes,\n 'check-values': checkValues,\n 'empty-tags': emptyTags,\n 'implements-on-classes': implementsOnClasses,\n 'match-description': matchDescription,\n 'match-name': matchName,\n 'multiline-blocks': multilineBlocks,\n 'newline-after-description': newlineAfterDescription,\n 'no-bad-blocks': noBadBlocks,\n 'no-defaults': noDefaults,\n 'no-missing-syntax': noMissingSyntax,\n 'no-multi-asterisks': noMultiAsterisks,\n 'no-restricted-syntax': noRestrictedSyntax,\n 'no-types': noTypes,\n 'no-undefined-types': noUndefinedTypes,\n 'require-asterisk-prefix': requireAsteriskPrefix,\n 'require-description': requireDescription,\n 'require-description-complete-sentence': requireDescriptionCompleteSentence,\n 'require-example': requireExample,\n 'require-file-overview': requireFileOverview,\n 'require-hyphen-before-param-description': requireHyphenBeforeParamDescription,\n 'require-jsdoc': requireJsdoc,\n 'require-param': requireParam,\n 'require-param-description': requireParamDescription,\n 'require-param-name': requireParamName,\n 'require-param-type': requireParamType,\n 'require-property': requireProperty,\n 'require-property-description': requirePropertyDescription,\n 'require-property-name': requirePropertyName,\n 'require-property-type': requirePropertyType,\n 'require-returns': requireReturns,\n 'require-returns-check': requireReturnsCheck,\n 'require-returns-description': requireReturnsDescription,\n 'require-returns-type': requireReturnsType,\n 'require-throws': requireThrows,\n 'require-yields': requireYields,\n 'require-yields-check': requireYieldsCheck,\n 'sort-tags': sortTags,\n 'tag-lines': tagLines,\n 'text-escaping': textEscaping,\n 'valid-types': validTypes,\n },\n};\n"],"mappings":"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"}
@@ -117,7 +117,7 @@ const getUtils = (node, jsdoc, jsdocNode, settings, report, context, iteratingAl
117
117
  utils.getRegexFromString = (str, requiredFlags) => {
118
118
  return _jsdocUtils.default.getRegexFromString(str, requiredFlags);
119
119
  };
120
- utils.getTagDescription = tg => {
120
+ utils.getTagDescription = (tg, returnArray) => {
121
121
  const descriptions = [];
122
122
  tg.source.some(({
123
123
  tokens: {
@@ -144,7 +144,23 @@ const getUtils = (node, jsdoc, jsdocNode, settings, report, context, iteratingAl
144
144
  descriptions.push(desc);
145
145
  return false;
146
146
  });
147
- return descriptions.join('\n');
147
+ return returnArray ? descriptions : descriptions.join('\n');
148
+ };
149
+ utils.setTagDescription = (tg, matcher, setter) => {
150
+ let finalIdx = 0;
151
+ tg.source.some(({
152
+ tokens: {
153
+ description
154
+ }
155
+ }, idx) => {
156
+ if (description && matcher.test(description)) {
157
+ tg.source[idx].tokens.description = setter(description);
158
+ finalIdx = idx;
159
+ return true;
160
+ }
161
+ return false;
162
+ });
163
+ return finalIdx;
148
164
  };
149
165
  utils.getDescription = () => {
150
166
  const descriptions = [];
@@ -167,9 +183,32 @@ const getUtils = (node, jsdoc, jsdocNode, settings, report, context, iteratingAl
167
183
  });
168
184
  return {
169
185
  description: descriptions.join('\n'),
186
+ descriptions,
170
187
  lastDescriptionLine
171
188
  };
172
189
  };
190
+ utils.setDescriptionLines = (matcher, setter) => {
191
+ let finalIdx = 0;
192
+ jsdoc.source.some(({
193
+ tokens: {
194
+ description,
195
+ tag,
196
+ end
197
+ }
198
+ }, idx) => {
199
+ // istanbul ignore if -- Already checked
200
+ if (idx && (tag || end)) {
201
+ return true;
202
+ }
203
+ if (description && matcher.test(description)) {
204
+ jsdoc.source[idx].tokens.description = setter(description);
205
+ finalIdx = idx;
206
+ return true;
207
+ }
208
+ return false;
209
+ });
210
+ return finalIdx;
211
+ };
173
212
  utils.changeTag = (tag, ...tokens) => {
174
213
  for (const [idx, src] of tag.source.entries()) {
175
214
  src.tokens = {