eslint-plugin-jsdoc 41.0.0 → 41.1.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/README.md CHANGED
@@ -38,6 +38,7 @@ JSDoc linting rules for ESLint.
38
38
  * [`check-values`](#user-content-eslint-plugin-jsdoc-rules-check-values)
39
39
  * [`empty-tags`](#user-content-eslint-plugin-jsdoc-rules-empty-tags)
40
40
  * [`implements-on-classes`](#user-content-eslint-plugin-jsdoc-rules-implements-on-classes)
41
+ * [`informative-docs`](#user-content-eslint-plugin-jsdoc-rules-informative-docs)
41
42
  * [`match-description`](#user-content-eslint-plugin-jsdoc-rules-match-description)
42
43
  * [`match-name`](#user-content-eslint-plugin-jsdoc-rules-match-name)
43
44
  * [`multiline-blocks`](#user-content-eslint-plugin-jsdoc-rules-multiline-blocks)
@@ -7279,6 +7280,378 @@ function quux () {
7279
7280
  ````
7280
7281
 
7281
7282
 
7283
+ <a name="user-content-eslint-plugin-jsdoc-rules-informative-docs"></a>
7284
+ <a name="eslint-plugin-jsdoc-rules-informative-docs"></a>
7285
+ ### <code>informative-docs</code>
7286
+
7287
+ Reports on JSDoc texts that serve only to restart their attached name.
7288
+
7289
+ Devs sometimes write JSDoc descriptions that add no additional information just to fill out the doc:
7290
+
7291
+ ```js
7292
+ /** The user id. */
7293
+ let userId;
7294
+ ```
7295
+
7296
+ Those "uninformative" docs comments take up space without being helpful.
7297
+ This rule requires all docs comments contain at least one word not already in the code.
7298
+
7299
+ <a name="user-content-eslint-plugin-jsdoc-rules-informative-docs-options-11"></a>
7300
+ <a name="eslint-plugin-jsdoc-rules-informative-docs-options-11"></a>
7301
+ #### Options
7302
+
7303
+ <a name="user-content-eslint-plugin-jsdoc-rules-informative-docs-options-11-aliases"></a>
7304
+ <a name="eslint-plugin-jsdoc-rules-informative-docs-options-11-aliases"></a>
7305
+ ##### <code>aliases</code>
7306
+
7307
+ The `aliases` option allows indicating words as synonyms (aliases) of each other.
7308
+
7309
+ For example, with `{ aliases: { emoji: ["smiley", "winkey"] } }`, the following comment would be considered uninformative:
7310
+
7311
+ ```js
7312
+ /** A smiley/winkey. */
7313
+ let emoji;
7314
+ ```
7315
+
7316
+ The default `aliases` option is:
7317
+
7318
+ ```json
7319
+ {
7320
+ "a": ["an", "our"]
7321
+ }
7322
+ ```
7323
+
7324
+ <a name="user-content-eslint-plugin-jsdoc-rules-informative-docs-options-11-uselesswords"></a>
7325
+ <a name="eslint-plugin-jsdoc-rules-informative-docs-options-11-uselesswords"></a>
7326
+ ##### <code>uselessWords</code>
7327
+
7328
+ Words that are ignored when searching for one that adds meaning.
7329
+
7330
+ For example, with `{ uselessWords: ["our"] }`, the following comment would be considered uninformative:
7331
+
7332
+ ```js
7333
+ /** Our text. */
7334
+ let text;
7335
+ ```
7336
+
7337
+ The default `uselessWords` option is:
7338
+
7339
+ ```json
7340
+ ["a", "an", "i", "in", "of", "s", "the"]
7341
+ ```
7342
+
7343
+ |||
7344
+ |---|---|
7345
+ |Context|everywhere|
7346
+ |Tags|any|
7347
+ |Recommended|false|
7348
+ |Settings||
7349
+ |Options|`aliases`, `uselessWords`|
7350
+
7351
+ The following patterns are considered problems:
7352
+
7353
+ ````js
7354
+ /** the */
7355
+ let myValue = 3;
7356
+ // Message: This description only repeats the name it describes.
7357
+
7358
+ /** The user id. */
7359
+ let userId: string;
7360
+ // Message: This description only repeats the name it describes.
7361
+
7362
+ /** the my value */
7363
+ let myValue = 3;
7364
+ // Message: This description only repeats the name it describes.
7365
+
7366
+ /** value **/
7367
+ let myValue,
7368
+ count = 3;
7369
+ // Message: This description only repeats the name it describes.
7370
+
7371
+ let myValue,
7372
+ /** count **/
7373
+ count = 3;
7374
+ // Message: This description only repeats the name it describes.
7375
+
7376
+ /**
7377
+ * the foo.
7378
+ */
7379
+ function foo() {}
7380
+ // Message: This description only repeats the name it describes.
7381
+
7382
+ /**
7383
+ * the value foo.
7384
+ */
7385
+ const value = function foo() {}
7386
+ // Message: This description only repeats the name it describes.
7387
+
7388
+ const value = {
7389
+ /**
7390
+ * the prop.
7391
+ */
7392
+ prop: true,
7393
+ }
7394
+ // Message: This description only repeats the name it describes.
7395
+
7396
+ /**
7397
+ * name
7398
+ */
7399
+ class Name {}
7400
+ // Message: This description only repeats the name it describes.
7401
+
7402
+ /**
7403
+ * abc def
7404
+ */
7405
+ const abc = class Def {}
7406
+ // Message: This description only repeats the name it describes.
7407
+
7408
+ class Abc {
7409
+ /** the abc def! */
7410
+ def;
7411
+ }
7412
+ // Message: This description only repeats the name it describes.
7413
+
7414
+ const _ = class Abc {
7415
+ /** the abc def! */
7416
+ def;
7417
+ }
7418
+ // Message: This description only repeats the name it describes.
7419
+
7420
+ class Abc {
7421
+ /** the abc def! */
7422
+ def() {};
7423
+ }
7424
+ // Message: This description only repeats the name it describes.
7425
+
7426
+ class Abc {
7427
+ /** def */
7428
+ accessor def;
7429
+ }
7430
+ // Message: This description only repeats the name it describes.
7431
+
7432
+ class Abc {
7433
+ /** def */
7434
+ def() {}
7435
+ }
7436
+ // Message: This description only repeats the name it describes.
7437
+
7438
+ class Abc {
7439
+ /** def */
7440
+ abstract accessor def;
7441
+ }
7442
+ // Message: This description only repeats the name it describes.
7443
+
7444
+ class Abc {
7445
+ /** def */
7446
+ abstract def();
7447
+ }
7448
+ // Message: This description only repeats the name it describes.
7449
+
7450
+ class Abc {
7451
+ /** def */
7452
+ abstract def;
7453
+ }
7454
+ // Message: This description only repeats the name it describes.
7455
+
7456
+ /** abc */
7457
+ namespace Abc {}
7458
+ // Message: This description only repeats the name it describes.
7459
+
7460
+ class Abc {
7461
+ /** def */
7462
+ def();
7463
+ def() {}
7464
+ }
7465
+ // Message: This description only repeats the name it describes.
7466
+
7467
+ /** abc */
7468
+ declare function abc();
7469
+ // Message: This description only repeats the name it describes.
7470
+
7471
+ /** abc */
7472
+ enum Abc {}
7473
+ // Message: This description only repeats the name it describes.
7474
+
7475
+ enum Abc {
7476
+ /** def */
7477
+ def,
7478
+ }
7479
+ // Message: This description only repeats the name it describes.
7480
+
7481
+ /** def */
7482
+ interface Def {}
7483
+ // Message: This description only repeats the name it describes.
7484
+
7485
+ /** def */
7486
+ type Def = {};
7487
+ // Message: This description only repeats the name it describes.
7488
+
7489
+ /**
7490
+ * count
7491
+ *
7492
+ * @description the value
7493
+ */
7494
+ let value = 3;
7495
+ // Message: This tag description only repeats the name it describes.
7496
+
7497
+ /** @param {number} param - the param */
7498
+ function takesOne(param) {}
7499
+ // Message: This tag description only repeats the name it describes.
7500
+
7501
+ /** @other param - takes one */
7502
+ function takesOne(param) {}
7503
+ // Message: This tag description only repeats the name it describes.
7504
+
7505
+ /**
7506
+ * takes one
7507
+ * @other param - takes one
7508
+ */
7509
+ function takesOne(param) {}
7510
+ // Message: This description only repeats the name it describes.
7511
+
7512
+ /**
7513
+ * - takes one
7514
+ * @other param - takes one
7515
+ */
7516
+ function takesOne(param) {}
7517
+ // Message: This description only repeats the name it describes.
7518
+ ````
7519
+
7520
+ The following patterns are not considered problems:
7521
+
7522
+ ````js
7523
+ /** */
7524
+ let myValue = 3;
7525
+
7526
+ /** count */
7527
+ let myValue = 3;
7528
+
7529
+ /** Informative info user id. */
7530
+ let userId: string;
7531
+
7532
+ let myValue,
7533
+ /** count value **/
7534
+ count = 3;
7535
+
7536
+ /**
7537
+ * Does X Y Z work.
7538
+ */
7539
+ function foo() {}
7540
+
7541
+ const value = {
7542
+ /**
7543
+ * the truthiness of the prop.
7544
+ */
7545
+ prop: true,
7546
+ }
7547
+
7548
+ const value = {
7549
+ /**
7550
+ * the truthiness of the prop.
7551
+ */
7552
+ ['prop']: true,
7553
+ }
7554
+
7555
+ /**
7556
+ * abc def ghi
7557
+ */
7558
+ const abc = function def() {}
7559
+
7560
+ /**
7561
+ * name extra
7562
+ */
7563
+ class Name {}
7564
+
7565
+ /**
7566
+ * abc name extra
7567
+ */
7568
+ const abc = class Name {}
7569
+
7570
+ class Abc {
7571
+ /** ghi */
7572
+ def;
7573
+ }
7574
+
7575
+ class Abc {
7576
+ /** ghi */
7577
+ accessor def;
7578
+ }
7579
+
7580
+ class Abc {
7581
+ /** ghi */
7582
+ def() {}
7583
+ }
7584
+
7585
+ class Abc {
7586
+ /** ghi */
7587
+ abstract accessor def;
7588
+ }
7589
+
7590
+ class Abc {
7591
+ /** ghi */
7592
+ abstract def();
7593
+ }
7594
+
7595
+ class Abc {
7596
+ /** ghi */
7597
+ abstract def;
7598
+ }
7599
+
7600
+ /** abc */
7601
+ namespace Def {}
7602
+
7603
+ class Abc {
7604
+ /** ghi */
7605
+ def();
7606
+ def() {}
7607
+ }
7608
+
7609
+ /** abc */
7610
+ declare function def();
7611
+
7612
+ /** abc */
7613
+ enum Def {}
7614
+
7615
+ enum Abc {
7616
+ /** def */
7617
+ ghi,
7618
+ }
7619
+
7620
+ /** abc */
7621
+ interface Def {}
7622
+
7623
+ /** abc */
7624
+ type Def = {};
7625
+
7626
+ /** abc */
7627
+ type Def = {};
7628
+
7629
+ /**
7630
+ * count
7631
+ *
7632
+ * @description increment value
7633
+ */
7634
+ let value = 3;
7635
+
7636
+ /**
7637
+ * count
7638
+ *
7639
+ * @unknownTag - increment value
7640
+ */
7641
+ let value = 3;
7642
+
7643
+ /**
7644
+ * @other param - takes one two
7645
+ */
7646
+ function takesOne(param) {}
7647
+
7648
+ /**
7649
+ * takes abc param
7650
+ */
7651
+ function takesOne(param) {}
7652
+ ````
7653
+
7654
+
7282
7655
  <a name="user-content-eslint-plugin-jsdoc-rules-match-description"></a>
7283
7656
  <a name="eslint-plugin-jsdoc-rules-match-description"></a>
7284
7657
  ### <code>match-description</code>
@@ -7307,12 +7680,12 @@ case-insensitive unless one opts in to add the `i` flag.
7307
7680
  You can add the `s` flag if you want `.` to match newlines. Note, however,
7308
7681
  that the trailing newlines of a description will not be matched.
7309
7682
 
7310
- <a name="user-content-eslint-plugin-jsdoc-rules-match-description-options-11"></a>
7311
- <a name="eslint-plugin-jsdoc-rules-match-description-options-11"></a>
7683
+ <a name="user-content-eslint-plugin-jsdoc-rules-match-description-options-12"></a>
7684
+ <a name="eslint-plugin-jsdoc-rules-match-description-options-12"></a>
7312
7685
  #### Options
7313
7686
 
7314
- <a name="user-content-eslint-plugin-jsdoc-rules-match-description-options-11-matchdescription"></a>
7315
- <a name="eslint-plugin-jsdoc-rules-match-description-options-11-matchdescription"></a>
7687
+ <a name="user-content-eslint-plugin-jsdoc-rules-match-description-options-12-matchdescription"></a>
7688
+ <a name="eslint-plugin-jsdoc-rules-match-description-options-12-matchdescription"></a>
7316
7689
  ##### <code>matchDescription</code>
7317
7690
 
7318
7691
  You can supply your own expression to override the default, passing a
@@ -7324,8 +7697,8 @@ You can supply your own expression to override the default, passing a
7324
7697
  }
7325
7698
  ```
7326
7699
 
7327
- <a name="user-content-eslint-plugin-jsdoc-rules-match-description-options-11-message"></a>
7328
- <a name="eslint-plugin-jsdoc-rules-match-description-options-11-message"></a>
7700
+ <a name="user-content-eslint-plugin-jsdoc-rules-match-description-options-12-message"></a>
7701
+ <a name="eslint-plugin-jsdoc-rules-match-description-options-12-message"></a>
7329
7702
  ##### <code>message</code>
7330
7703
 
7331
7704
  You may provide a custom default message by using the following format:
@@ -7341,8 +7714,8 @@ You may provide a custom default message by using the following format:
7341
7714
  This can be overridden per tag or for the main block description by setting
7342
7715
  `message` within `tags` or `mainDescription`, respectively.
7343
7716
 
7344
- <a name="user-content-eslint-plugin-jsdoc-rules-match-description-options-11-tags-2"></a>
7345
- <a name="eslint-plugin-jsdoc-rules-match-description-options-11-tags-2"></a>
7717
+ <a name="user-content-eslint-plugin-jsdoc-rules-match-description-options-12-tags-2"></a>
7718
+ <a name="eslint-plugin-jsdoc-rules-match-description-options-12-tags-2"></a>
7346
7719
  ##### <code>tags</code>
7347
7720
 
7348
7721
  If you want different regular expressions to apply to tags, you may use
@@ -7391,8 +7764,8 @@ its "description" (e.g., for `@returns {someType} some description`, the
7391
7764
  description is `some description` while for `@some-tag xyz`, the description
7392
7765
  is `xyz`).
7393
7766
 
7394
- <a name="user-content-eslint-plugin-jsdoc-rules-match-description-options-11-maindescription"></a>
7395
- <a name="eslint-plugin-jsdoc-rules-match-description-options-11-maindescription"></a>
7767
+ <a name="user-content-eslint-plugin-jsdoc-rules-match-description-options-12-maindescription"></a>
7768
+ <a name="eslint-plugin-jsdoc-rules-match-description-options-12-maindescription"></a>
7396
7769
  ##### <code>mainDescription</code>
7397
7770
 
7398
7771
  If you wish to override the main block description without changing the
@@ -7432,8 +7805,8 @@ You may also provide an object with `message`:
7432
7805
  }
7433
7806
  ```
7434
7807
 
7435
- <a name="user-content-eslint-plugin-jsdoc-rules-match-description-options-11-contexts-2"></a>
7436
- <a name="eslint-plugin-jsdoc-rules-match-description-options-11-contexts-2"></a>
7808
+ <a name="user-content-eslint-plugin-jsdoc-rules-match-description-options-12-contexts-2"></a>
7809
+ <a name="eslint-plugin-jsdoc-rules-match-description-options-12-contexts-2"></a>
7437
7810
  ##### <code>contexts</code>
7438
7811
 
7439
7812
  Set this to an array of strings representing the AST context (or an object with
@@ -8253,14 +8626,14 @@ that tag).
8253
8626
 
8254
8627
  Will replace `disallowName` with `replacement` if these are provided.
8255
8628
 
8256
- <a name="user-content-eslint-plugin-jsdoc-rules-match-name-options-12"></a>
8257
- <a name="eslint-plugin-jsdoc-rules-match-name-options-12"></a>
8629
+ <a name="user-content-eslint-plugin-jsdoc-rules-match-name-options-13"></a>
8630
+ <a name="eslint-plugin-jsdoc-rules-match-name-options-13"></a>
8258
8631
  #### Options
8259
8632
 
8260
8633
  A single options object with the following properties:
8261
8634
 
8262
- <a name="user-content-eslint-plugin-jsdoc-rules-match-name-options-12-match"></a>
8263
- <a name="eslint-plugin-jsdoc-rules-match-name-options-12-match"></a>
8635
+ <a name="user-content-eslint-plugin-jsdoc-rules-match-name-options-13-match"></a>
8636
+ <a name="eslint-plugin-jsdoc-rules-match-name-options-13-match"></a>
8264
8637
  ##### <code>match</code>
8265
8638
 
8266
8639
  `match` is a required option containing an array of objects which determine
@@ -8475,14 +8848,14 @@ all jsdoc blocks!
8475
8848
 
8476
8849
  Also allows for preventing text at the very beginning or very end of blocks.
8477
8850
 
8478
- <a name="user-content-eslint-plugin-jsdoc-rules-multiline-blocks-options-13"></a>
8479
- <a name="eslint-plugin-jsdoc-rules-multiline-blocks-options-13"></a>
8851
+ <a name="user-content-eslint-plugin-jsdoc-rules-multiline-blocks-options-14"></a>
8852
+ <a name="eslint-plugin-jsdoc-rules-multiline-blocks-options-14"></a>
8480
8853
  #### Options
8481
8854
 
8482
8855
  A single options object with the following properties.
8483
8856
 
8484
- <a name="user-content-eslint-plugin-jsdoc-rules-multiline-blocks-options-13-nozerolinetext-defaults-to-true"></a>
8485
- <a name="eslint-plugin-jsdoc-rules-multiline-blocks-options-13-nozerolinetext-defaults-to-true"></a>
8857
+ <a name="user-content-eslint-plugin-jsdoc-rules-multiline-blocks-options-14-nozerolinetext-defaults-to-true"></a>
8858
+ <a name="eslint-plugin-jsdoc-rules-multiline-blocks-options-14-nozerolinetext-defaults-to-true"></a>
8486
8859
  ##### <code>noZeroLineText</code> (defaults to <code>true</code>)
8487
8860
 
8488
8861
  For multiline blocks, any non-whitespace text immediately after the `/**` and
@@ -8490,8 +8863,8 @@ space will be reported. (Text after a newline is not reported.)
8490
8863
 
8491
8864
  `noMultilineBlocks` will have priority over this rule if it applies.
8492
8865
 
8493
- <a name="user-content-eslint-plugin-jsdoc-rules-multiline-blocks-options-13-nofinallinetext-defaults-to-true"></a>
8494
- <a name="eslint-plugin-jsdoc-rules-multiline-blocks-options-13-nofinallinetext-defaults-to-true"></a>
8866
+ <a name="user-content-eslint-plugin-jsdoc-rules-multiline-blocks-options-14-nofinallinetext-defaults-to-true"></a>
8867
+ <a name="eslint-plugin-jsdoc-rules-multiline-blocks-options-14-nofinallinetext-defaults-to-true"></a>
8495
8868
  ##### <code>noFinalLineText</code> (defaults to <code>true</code>)
8496
8869
 
8497
8870
  For multiline blocks, any non-whitespace text preceding the `*/` on the final
@@ -8499,15 +8872,15 @@ line will be reported. (Text preceding a newline is not reported.)
8499
8872
 
8500
8873
  `noMultilineBlocks` will have priority over this rule if it applies.
8501
8874
 
8502
- <a name="user-content-eslint-plugin-jsdoc-rules-multiline-blocks-options-13-nosinglelineblocks-defaults-to-false"></a>
8503
- <a name="eslint-plugin-jsdoc-rules-multiline-blocks-options-13-nosinglelineblocks-defaults-to-false"></a>
8875
+ <a name="user-content-eslint-plugin-jsdoc-rules-multiline-blocks-options-14-nosinglelineblocks-defaults-to-false"></a>
8876
+ <a name="eslint-plugin-jsdoc-rules-multiline-blocks-options-14-nosinglelineblocks-defaults-to-false"></a>
8504
8877
  ##### <code>noSingleLineBlocks</code> (defaults to <code>false</code>)
8505
8878
 
8506
8879
  If this is `true`, any single line blocks will be reported, except those which
8507
8880
  are whitelisted in `singleLineTags`.
8508
8881
 
8509
- <a name="user-content-eslint-plugin-jsdoc-rules-multiline-blocks-options-13-singlelinetags-defaults-to-lends-type"></a>
8510
- <a name="eslint-plugin-jsdoc-rules-multiline-blocks-options-13-singlelinetags-defaults-to-lends-type"></a>
8882
+ <a name="user-content-eslint-plugin-jsdoc-rules-multiline-blocks-options-14-singlelinetags-defaults-to-lends-type"></a>
8883
+ <a name="eslint-plugin-jsdoc-rules-multiline-blocks-options-14-singlelinetags-defaults-to-lends-type"></a>
8511
8884
  ##### <code>singleLineTags</code> (defaults to <code>[&#39;lends&#39;, &#39;type&#39;]</code>)
8512
8885
 
8513
8886
  An array of tags which can nevertheless be allowed as single line blocks when
@@ -8516,16 +8889,16 @@ cause all single line blocks to be reported. If `'*'` is present, then
8516
8889
  the presence of a tag will allow single line blocks (but not if a tag is
8517
8890
  missing).
8518
8891
 
8519
- <a name="user-content-eslint-plugin-jsdoc-rules-multiline-blocks-options-13-nomultilineblocks-defaults-to-false"></a>
8520
- <a name="eslint-plugin-jsdoc-rules-multiline-blocks-options-13-nomultilineblocks-defaults-to-false"></a>
8892
+ <a name="user-content-eslint-plugin-jsdoc-rules-multiline-blocks-options-14-nomultilineblocks-defaults-to-false"></a>
8893
+ <a name="eslint-plugin-jsdoc-rules-multiline-blocks-options-14-nomultilineblocks-defaults-to-false"></a>
8521
8894
  ##### <code>noMultilineBlocks</code> (defaults to <code>false</code>)
8522
8895
 
8523
8896
  Requires that jsdoc blocks are restricted to single lines only unless impacted
8524
8897
  by the options `minimumLengthForMultiline`, `multilineTags`, or
8525
8898
  `allowMultipleTags`.
8526
8899
 
8527
- <a name="user-content-eslint-plugin-jsdoc-rules-multiline-blocks-options-13-minimumlengthformultiline-defaults-to-not-being-in-effect"></a>
8528
- <a name="eslint-plugin-jsdoc-rules-multiline-blocks-options-13-minimumlengthformultiline-defaults-to-not-being-in-effect"></a>
8900
+ <a name="user-content-eslint-plugin-jsdoc-rules-multiline-blocks-options-14-minimumlengthformultiline-defaults-to-not-being-in-effect"></a>
8901
+ <a name="eslint-plugin-jsdoc-rules-multiline-blocks-options-14-minimumlengthformultiline-defaults-to-not-being-in-effect"></a>
8529
8902
  ##### <code>minimumLengthForMultiline</code> (defaults to not being in effect)
8530
8903
 
8531
8904
  If `noMultilineBlocks` is set with this numeric option, multiline blocks will
@@ -8534,8 +8907,8 @@ be permitted if containing at least the given amount of text.
8534
8907
  If not set, multiline blocks will not be permitted regardless of length unless
8535
8908
  a relevant tag is present and `multilineTags` is set.
8536
8909
 
8537
- <a name="user-content-eslint-plugin-jsdoc-rules-multiline-blocks-options-13-multilinetags-defaults-to"></a>
8538
- <a name="eslint-plugin-jsdoc-rules-multiline-blocks-options-13-multilinetags-defaults-to"></a>
8910
+ <a name="user-content-eslint-plugin-jsdoc-rules-multiline-blocks-options-14-multilinetags-defaults-to"></a>
8911
+ <a name="eslint-plugin-jsdoc-rules-multiline-blocks-options-14-multilinetags-defaults-to"></a>
8539
8912
  ##### <code>multilineTags</code> (defaults to <code>[&#39;*&#39;]</code>)
8540
8913
 
8541
8914
  If `noMultilineBlocks` is set with this option, multiline blocks may be allowed
@@ -8551,8 +8924,8 @@ such a tag will cause multiline blocks to be allowed.
8551
8924
  You may set this to an empty array to prevent any tag from permitting multiple
8552
8925
  lines.
8553
8926
 
8554
- <a name="user-content-eslint-plugin-jsdoc-rules-multiline-blocks-options-13-allowmultipletags-defaults-to-true"></a>
8555
- <a name="eslint-plugin-jsdoc-rules-multiline-blocks-options-13-allowmultipletags-defaults-to-true"></a>
8927
+ <a name="user-content-eslint-plugin-jsdoc-rules-multiline-blocks-options-14-allowmultipletags-defaults-to-true"></a>
8928
+ <a name="eslint-plugin-jsdoc-rules-multiline-blocks-options-14-allowmultipletags-defaults-to-true"></a>
8556
8929
  ##### <code>allowMultipleTags</code> (defaults to <code>true</code>)
8557
8930
 
8558
8931
  If `noMultilineBlocks` is set to `true` with this option and multiple tags are
@@ -8845,8 +9218,8 @@ The following patterns are not considered problems:
8845
9218
 
8846
9219
  Enforces a consistent padding of the block description.
8847
9220
 
8848
- <a name="user-content-eslint-plugin-jsdoc-rules-newline-after-description-options-14"></a>
8849
- <a name="eslint-plugin-jsdoc-rules-newline-after-description-options-14"></a>
9221
+ <a name="user-content-eslint-plugin-jsdoc-rules-newline-after-description-options-15"></a>
9222
+ <a name="eslint-plugin-jsdoc-rules-newline-after-description-options-15"></a>
8850
9223
  #### Options
8851
9224
 
8852
9225
  This rule allows one optional string argument. If it is `"always"` then a
@@ -9090,14 +9463,14 @@ asterisks, but which appear to be intended as jsdoc blocks due to the presence
9090
9463
  of whitespace followed by whitespace or asterisks, and
9091
9464
  an at-sign (`@`) and some non-whitespace (as with a jsdoc block tag).
9092
9465
 
9093
- <a name="user-content-eslint-plugin-jsdoc-rules-no-bad-blocks-options-15"></a>
9094
- <a name="eslint-plugin-jsdoc-rules-no-bad-blocks-options-15"></a>
9466
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-bad-blocks-options-16"></a>
9467
+ <a name="eslint-plugin-jsdoc-rules-no-bad-blocks-options-16"></a>
9095
9468
  #### Options
9096
9469
 
9097
9470
  Takes an optional options object with the following.
9098
9471
 
9099
- <a name="user-content-eslint-plugin-jsdoc-rules-no-bad-blocks-options-15-ignore"></a>
9100
- <a name="eslint-plugin-jsdoc-rules-no-bad-blocks-options-15-ignore"></a>
9472
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-bad-blocks-options-16-ignore"></a>
9473
+ <a name="eslint-plugin-jsdoc-rules-no-bad-blocks-options-16-ignore"></a>
9101
9474
  ##### <code>ignore</code>
9102
9475
 
9103
9476
  An array of directives that will not be reported if present at the beginning of
@@ -9106,8 +9479,8 @@ a multi-comment block and at-sign `/* @`.
9106
9479
  Defaults to `['ts-check', 'ts-expect-error', 'ts-ignore', 'ts-nocheck']`
9107
9480
  (some directives [used by TypeScript](https://www.typescriptlang.org/docs/handbook/intro-to-js-ts.html#ts-check)).
9108
9481
 
9109
- <a name="user-content-eslint-plugin-jsdoc-rules-no-bad-blocks-options-15-preventallmultiasteriskblocks"></a>
9110
- <a name="eslint-plugin-jsdoc-rules-no-bad-blocks-options-15-preventallmultiasteriskblocks"></a>
9482
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-bad-blocks-options-16-preventallmultiasteriskblocks"></a>
9483
+ <a name="eslint-plugin-jsdoc-rules-no-bad-blocks-options-16-preventallmultiasteriskblocks"></a>
9111
9484
  ##### <code>preventAllMultiAsteriskBlocks</code>
9112
9485
 
9113
9486
  A boolean (defaulting to `false`) which if `true` will prevent all
@@ -9319,12 +9692,12 @@ tag is attached).
9319
9692
  Unless your `@default` is on a function, you will need to set `contexts`
9320
9693
  to an appropriate context, including, if you wish, "any".
9321
9694
 
9322
- <a name="user-content-eslint-plugin-jsdoc-rules-no-defaults-options-16"></a>
9323
- <a name="eslint-plugin-jsdoc-rules-no-defaults-options-16"></a>
9695
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-defaults-options-17"></a>
9696
+ <a name="eslint-plugin-jsdoc-rules-no-defaults-options-17"></a>
9324
9697
  #### Options
9325
9698
 
9326
- <a name="user-content-eslint-plugin-jsdoc-rules-no-defaults-options-16-nooptionalparamnames"></a>
9327
- <a name="eslint-plugin-jsdoc-rules-no-defaults-options-16-nooptionalparamnames"></a>
9699
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-defaults-options-17-nooptionalparamnames"></a>
9700
+ <a name="eslint-plugin-jsdoc-rules-no-defaults-options-17-nooptionalparamnames"></a>
9328
9701
  ##### <code>noOptionalParamNames</code>
9329
9702
 
9330
9703
  Set this to `true` to report the presence of optional parameters. May be
@@ -9333,8 +9706,8 @@ the presence of ES6 default parameters (bearing in mind that such
9333
9706
  "defaults" are only applied when the supplied value is missing or
9334
9707
  `undefined` but not for `null` or other "falsey" values).
9335
9708
 
9336
- <a name="user-content-eslint-plugin-jsdoc-rules-no-defaults-options-16-contexts-3"></a>
9337
- <a name="eslint-plugin-jsdoc-rules-no-defaults-options-16-contexts-3"></a>
9709
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-defaults-options-17-contexts-3"></a>
9710
+ <a name="eslint-plugin-jsdoc-rules-no-defaults-options-17-contexts-3"></a>
9338
9711
  ##### <code>contexts</code>
9339
9712
 
9340
9713
  Set this to an array of strings representing the AST context (or an object with
@@ -9520,12 +9893,12 @@ which are not adequate to satisfy a condition, e.g.,
9520
9893
  not report if there were only a function declaration of the name "ignoreMe"
9521
9894
  (though it would report by function declarations of other names).
9522
9895
 
9523
- <a name="user-content-eslint-plugin-jsdoc-rules-no-missing-syntax-options-17"></a>
9524
- <a name="eslint-plugin-jsdoc-rules-no-missing-syntax-options-17"></a>
9896
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-missing-syntax-options-18"></a>
9897
+ <a name="eslint-plugin-jsdoc-rules-no-missing-syntax-options-18"></a>
9525
9898
  #### Options
9526
9899
 
9527
- <a name="user-content-eslint-plugin-jsdoc-rules-no-missing-syntax-options-17-contexts-4"></a>
9528
- <a name="eslint-plugin-jsdoc-rules-no-missing-syntax-options-17-contexts-4"></a>
9900
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-missing-syntax-options-18-contexts-4"></a>
9901
+ <a name="eslint-plugin-jsdoc-rules-no-missing-syntax-options-18-contexts-4"></a>
9529
9902
  ##### <code>contexts</code>
9530
9903
 
9531
9904
  Set this to an array of strings representing the AST context (or an object with
@@ -9741,12 +10114,12 @@ Note that if you wish to prevent multiple asterisks at the very beginning of
9741
10114
  the jsdoc block, you should use `no-bad-blocks` (as that is not proper jsdoc
9742
10115
  and that rule is for catching blocks which only seem like jsdoc).
9743
10116
 
9744
- <a name="user-content-eslint-plugin-jsdoc-rules-no-multi-asterisks-options-18"></a>
9745
- <a name="eslint-plugin-jsdoc-rules-no-multi-asterisks-options-18"></a>
10117
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-multi-asterisks-options-19"></a>
10118
+ <a name="eslint-plugin-jsdoc-rules-no-multi-asterisks-options-19"></a>
9746
10119
  #### Options
9747
10120
 
9748
- <a name="user-content-eslint-plugin-jsdoc-rules-no-multi-asterisks-options-18-allowwhitespace-defaults-to-false"></a>
9749
- <a name="eslint-plugin-jsdoc-rules-no-multi-asterisks-options-18-allowwhitespace-defaults-to-false"></a>
10121
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-multi-asterisks-options-19-allowwhitespace-defaults-to-false"></a>
10122
+ <a name="eslint-plugin-jsdoc-rules-no-multi-asterisks-options-19-allowwhitespace-defaults-to-false"></a>
9750
10123
  ##### <code>allowWhitespace</code> (defaults to <code>false</code>)
9751
10124
 
9752
10125
  Set to `true` if you wish to allow asterisks after a space (as with Markdown):
@@ -9757,8 +10130,8 @@ Set to `true` if you wish to allow asterisks after a space (as with Markdown):
9757
10130
  */
9758
10131
  ```
9759
10132
 
9760
- <a name="user-content-eslint-plugin-jsdoc-rules-no-multi-asterisks-options-18-preventatmiddlelines-defaults-to-true"></a>
9761
- <a name="eslint-plugin-jsdoc-rules-no-multi-asterisks-options-18-preventatmiddlelines-defaults-to-true"></a>
10133
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-multi-asterisks-options-19-preventatmiddlelines-defaults-to-true"></a>
10134
+ <a name="eslint-plugin-jsdoc-rules-no-multi-asterisks-options-19-preventatmiddlelines-defaults-to-true"></a>
9762
10135
  ##### <code>preventAtMiddleLines</code> (defaults to <code>true</code>)
9763
10136
 
9764
10137
  Prevent the likes of this:
@@ -9770,8 +10143,8 @@ Prevent the likes of this:
9770
10143
  */
9771
10144
  ```
9772
10145
 
9773
- <a name="user-content-eslint-plugin-jsdoc-rules-no-multi-asterisks-options-18-preventatend-defaults-to-true"></a>
9774
- <a name="eslint-plugin-jsdoc-rules-no-multi-asterisks-options-18-preventatend-defaults-to-true"></a>
10146
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-multi-asterisks-options-19-preventatend-defaults-to-true"></a>
10147
+ <a name="eslint-plugin-jsdoc-rules-no-multi-asterisks-options-19-preventatend-defaults-to-true"></a>
9775
10148
  ##### <code>preventAtEnd</code> (defaults to <code>true</code>)
9776
10149
 
9777
10150
  Prevent the likes of this:
@@ -10006,12 +10379,12 @@ structures, (whether or not you add a specific `comment` condition).
10006
10379
  Note that if your parser supports comment AST (as [jsdoc-eslint-parser](https://github.com/brettz9/jsdoc-eslint-parser)
10007
10380
  is designed to do), you can just use ESLint's rule.
10008
10381
 
10009
- <a name="user-content-eslint-plugin-jsdoc-rules-no-restricted-syntax-options-19"></a>
10010
- <a name="eslint-plugin-jsdoc-rules-no-restricted-syntax-options-19"></a>
10382
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-restricted-syntax-options-20"></a>
10383
+ <a name="eslint-plugin-jsdoc-rules-no-restricted-syntax-options-20"></a>
10011
10384
  #### Options
10012
10385
 
10013
- <a name="user-content-eslint-plugin-jsdoc-rules-no-restricted-syntax-options-19-contexts-5"></a>
10014
- <a name="eslint-plugin-jsdoc-rules-no-restricted-syntax-options-19-contexts-5"></a>
10386
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-restricted-syntax-options-20-contexts-5"></a>
10387
+ <a name="eslint-plugin-jsdoc-rules-no-restricted-syntax-options-20-contexts-5"></a>
10015
10388
  ##### <code>contexts</code>
10016
10389
 
10017
10390
  Set this to an array of strings representing the AST context (or an object with
@@ -10336,12 +10709,12 @@ This rule reports types being used on `@param` or `@returns`.
10336
10709
  The rule is intended to prevent the indication of types on tags where
10337
10710
  the type information would be redundant with TypeScript.
10338
10711
 
10339
- <a name="user-content-eslint-plugin-jsdoc-rules-no-types-options-20"></a>
10340
- <a name="eslint-plugin-jsdoc-rules-no-types-options-20"></a>
10712
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-types-options-21"></a>
10713
+ <a name="eslint-plugin-jsdoc-rules-no-types-options-21"></a>
10341
10714
  #### Options
10342
10715
 
10343
- <a name="user-content-eslint-plugin-jsdoc-rules-no-types-options-20-contexts-6"></a>
10344
- <a name="eslint-plugin-jsdoc-rules-no-types-options-20-contexts-6"></a>
10716
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-types-options-21-contexts-6"></a>
10717
+ <a name="eslint-plugin-jsdoc-rules-no-types-options-21-contexts-6"></a>
10345
10718
  ##### <code>contexts</code>
10346
10719
 
10347
10720
  Set this to an array of strings representing the AST context (or an object with
@@ -10515,8 +10888,8 @@ reporting on use of that namepath elsewhere) and/or that a tag's `type` is
10515
10888
  `false` (and should not be checked for types). If the `type` is an array, that
10516
10889
  array's items will be considered as defined for the purposes of that tag.
10517
10890
 
10518
- <a name="user-content-eslint-plugin-jsdoc-rules-no-undefined-types-options-21"></a>
10519
- <a name="eslint-plugin-jsdoc-rules-no-undefined-types-options-21"></a>
10891
+ <a name="user-content-eslint-plugin-jsdoc-rules-no-undefined-types-options-22"></a>
10892
+ <a name="eslint-plugin-jsdoc-rules-no-undefined-types-options-22"></a>
10520
10893
  #### Options
10521
10894
 
10522
10895
  An option object may have the following key:
@@ -11184,8 +11557,8 @@ class Foo {
11184
11557
 
11185
11558
  Requires that each JSDoc line starts with an `*`.
11186
11559
 
11187
- <a name="user-content-eslint-plugin-jsdoc-rules-require-asterisk-prefix-options-22"></a>
11188
- <a name="eslint-plugin-jsdoc-rules-require-asterisk-prefix-options-22"></a>
11560
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-asterisk-prefix-options-23"></a>
11561
+ <a name="eslint-plugin-jsdoc-rules-require-asterisk-prefix-options-23"></a>
11189
11562
  #### Options
11190
11563
 
11191
11564
  This rule allows an optional string argument. If it is `"always"` then a
@@ -11196,8 +11569,8 @@ and use the `tags` option to apply to specific tags only.
11196
11569
 
11197
11570
  After the string option, one may add an object with the following.
11198
11571
 
11199
- <a name="user-content-eslint-plugin-jsdoc-rules-require-asterisk-prefix-options-22-tags-3"></a>
11200
- <a name="eslint-plugin-jsdoc-rules-require-asterisk-prefix-options-22-tags-3"></a>
11572
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-asterisk-prefix-options-23-tags-3"></a>
11573
+ <a name="eslint-plugin-jsdoc-rules-require-asterisk-prefix-options-23-tags-3"></a>
11201
11574
  ##### <code>tags</code>
11202
11575
 
11203
11576
  If you want different values to apply to specific tags, you may use
@@ -11481,12 +11854,12 @@ If sentences do not end with terminal punctuation, a period will be added.
11481
11854
  If sentences do not start with an uppercase character, the initial
11482
11855
  letter will be capitalized.
11483
11856
 
11484
- <a name="user-content-eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-23"></a>
11485
- <a name="eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-23"></a>
11857
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-24"></a>
11858
+ <a name="eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-24"></a>
11486
11859
  #### Options
11487
11860
 
11488
- <a name="user-content-eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-23-tags-4"></a>
11489
- <a name="eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-23-tags-4"></a>
11861
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-24-tags-4"></a>
11862
+ <a name="eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-24-tags-4"></a>
11490
11863
  ##### <code>tags</code>
11491
11864
 
11492
11865
  If you want additional tags to be checked for their descriptions, you may
@@ -11510,16 +11883,16 @@ its "description" (e.g., for `@returns {someType} some description`, the
11510
11883
  description is `some description` while for `@some-tag xyz`, the description
11511
11884
  is `xyz`).
11512
11885
 
11513
- <a name="user-content-eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-23-abbreviations"></a>
11514
- <a name="eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-23-abbreviations"></a>
11886
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-24-abbreviations"></a>
11887
+ <a name="eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-24-abbreviations"></a>
11515
11888
  ##### <code>abbreviations</code>
11516
11889
 
11517
11890
  You can provide an `abbreviations` options array to avoid such strings of text
11518
11891
  being treated as sentence endings when followed by dots. The `.` is not
11519
11892
  necessary at the end of the array items.
11520
11893
 
11521
- <a name="user-content-eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-23-newlinebeforecapsassumesbadsentenceend"></a>
11522
- <a name="eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-23-newlinebeforecapsassumesbadsentenceend"></a>
11894
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-24-newlinebeforecapsassumesbadsentenceend"></a>
11895
+ <a name="eslint-plugin-jsdoc-rules-require-description-complete-sentence-options-24-newlinebeforecapsassumesbadsentenceend"></a>
11523
11896
  ##### <code>newlineBeforeCapsAssumesBadSentenceEnd</code>
11524
11897
 
11525
11898
  When `false` (the new default), we will not assume capital letters after
@@ -12260,8 +12633,8 @@ Requires that all functions have a description.
12260
12633
  is `"tag"`) must have a non-empty description that explains the purpose of
12261
12634
  the method.
12262
12635
 
12263
- <a name="user-content-eslint-plugin-jsdoc-rules-require-description-options-24"></a>
12264
- <a name="eslint-plugin-jsdoc-rules-require-description-options-24"></a>
12636
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-description-options-25"></a>
12637
+ <a name="eslint-plugin-jsdoc-rules-require-description-options-25"></a>
12265
12638
  #### Options
12266
12639
 
12267
12640
  An options object may have any of the following properties:
@@ -12822,14 +13195,14 @@ Requires that all functions have examples.
12822
13195
  * Every example tag must have a non-empty description that explains the
12823
13196
  method's usage.
12824
13197
 
12825
- <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-25"></a>
12826
- <a name="eslint-plugin-jsdoc-rules-require-example-options-25"></a>
13198
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-26"></a>
13199
+ <a name="eslint-plugin-jsdoc-rules-require-example-options-26"></a>
12827
13200
  #### Options
12828
13201
 
12829
13202
  This rule has an object option.
12830
13203
 
12831
- <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-25-exemptedby"></a>
12832
- <a name="eslint-plugin-jsdoc-rules-require-example-options-25-exemptedby"></a>
13204
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-26-exemptedby"></a>
13205
+ <a name="eslint-plugin-jsdoc-rules-require-example-options-26-exemptedby"></a>
12833
13206
  ##### <code>exemptedBy</code>
12834
13207
 
12835
13208
  Array of tags (e.g., `['type']`) whose presence on the document
@@ -12838,15 +13211,15 @@ block avoids the need for an `@example`. Defaults to an array with
12838
13211
  so be sure to add back `inheritdoc` if you wish its presence to cause
12839
13212
  exemption of the rule.
12840
13213
 
12841
- <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-25-exemptnoarguments"></a>
12842
- <a name="eslint-plugin-jsdoc-rules-require-example-options-25-exemptnoarguments"></a>
13214
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-26-exemptnoarguments"></a>
13215
+ <a name="eslint-plugin-jsdoc-rules-require-example-options-26-exemptnoarguments"></a>
12843
13216
  ##### <code>exemptNoArguments</code>
12844
13217
 
12845
13218
  Boolean to indicate that no-argument functions should not be reported for
12846
13219
  missing `@example` declarations.
12847
13220
 
12848
- <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-25-contexts-7"></a>
12849
- <a name="eslint-plugin-jsdoc-rules-require-example-options-25-contexts-7"></a>
13221
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-26-contexts-7"></a>
13222
+ <a name="eslint-plugin-jsdoc-rules-require-example-options-26-contexts-7"></a>
12850
13223
  ##### <code>contexts</code>
12851
13224
 
12852
13225
  Set this to an array of strings representing the AST context (or an object with
@@ -12858,27 +13231,27 @@ want the rule to apply to any jsdoc block throughout your files.
12858
13231
  See the ["AST and Selectors"](#user-content-eslint-plugin-jsdoc-advanced-ast-and-selectors)
12859
13232
  section of our README for more on the expected format.
12860
13233
 
12861
- <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-25-checkconstructors"></a>
12862
- <a name="eslint-plugin-jsdoc-rules-require-example-options-25-checkconstructors"></a>
13234
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-26-checkconstructors"></a>
13235
+ <a name="eslint-plugin-jsdoc-rules-require-example-options-26-checkconstructors"></a>
12863
13236
  ##### <code>checkConstructors</code>
12864
13237
 
12865
13238
  A value indicating whether `constructor`s should be checked.
12866
13239
  Defaults to `true`.
12867
13240
 
12868
- <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-25-checkgetters"></a>
12869
- <a name="eslint-plugin-jsdoc-rules-require-example-options-25-checkgetters"></a>
13241
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-26-checkgetters"></a>
13242
+ <a name="eslint-plugin-jsdoc-rules-require-example-options-26-checkgetters"></a>
12870
13243
  ##### <code>checkGetters</code>
12871
13244
 
12872
13245
  A value indicating whether getters should be checked. Defaults to `false`.
12873
13246
 
12874
- <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-25-checksetters"></a>
12875
- <a name="eslint-plugin-jsdoc-rules-require-example-options-25-checksetters"></a>
13247
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-26-checksetters"></a>
13248
+ <a name="eslint-plugin-jsdoc-rules-require-example-options-26-checksetters"></a>
12876
13249
  ##### <code>checkSetters</code>
12877
13250
 
12878
13251
  A value indicating whether setters should be checked. Defaults to `false`.
12879
13252
 
12880
- <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-25-enablefixer-3"></a>
12881
- <a name="eslint-plugin-jsdoc-rules-require-example-options-25-enablefixer-3"></a>
13253
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-example-options-26-enablefixer-3"></a>
13254
+ <a name="eslint-plugin-jsdoc-rules-require-example-options-26-enablefixer-3"></a>
12882
13255
  ##### <code>enableFixer</code>
12883
13256
 
12884
13257
  A boolean on whether to enable the fixer (which adds an empty `@example` block).
@@ -13191,12 +13564,12 @@ Checks that:
13191
13564
  as being when the overview tag is not preceded by anything other than
13192
13565
  a comment.
13193
13566
 
13194
- <a name="user-content-eslint-plugin-jsdoc-rules-require-file-overview-options-26"></a>
13195
- <a name="eslint-plugin-jsdoc-rules-require-file-overview-options-26"></a>
13567
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-file-overview-options-27"></a>
13568
+ <a name="eslint-plugin-jsdoc-rules-require-file-overview-options-27"></a>
13196
13569
  #### Options
13197
13570
 
13198
- <a name="user-content-eslint-plugin-jsdoc-rules-require-file-overview-options-26-tags-5"></a>
13199
- <a name="eslint-plugin-jsdoc-rules-require-file-overview-options-26-tags-5"></a>
13571
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-file-overview-options-27-tags-5"></a>
13572
+ <a name="eslint-plugin-jsdoc-rules-require-file-overview-options-27-tags-5"></a>
13200
13573
  ##### <code>tags</code>
13201
13574
 
13202
13575
  The keys of this object are tag names, and the values are configuration
@@ -13480,8 +13853,8 @@ function quux () {
13480
13853
 
13481
13854
  Requires (or disallows) a hyphen before the `@param` description.
13482
13855
 
13483
- <a name="user-content-eslint-plugin-jsdoc-rules-require-hyphen-before-param-description-options-27"></a>
13484
- <a name="eslint-plugin-jsdoc-rules-require-hyphen-before-param-description-options-27"></a>
13856
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-hyphen-before-param-description-options-28"></a>
13857
+ <a name="eslint-plugin-jsdoc-rules-require-hyphen-before-param-description-options-28"></a>
13485
13858
  #### Options
13486
13859
 
13487
13860
  This rule takes one optional string argument and an optional options object.
@@ -13713,14 +14086,14 @@ function main(argv) {
13713
14086
  Checks for presence of jsdoc comments, on class declarations as well as
13714
14087
  functions.
13715
14088
 
13716
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28"></a>
13717
- <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28"></a>
14089
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29"></a>
14090
+ <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-29"></a>
13718
14091
  #### Options
13719
14092
 
13720
14093
  Accepts one optional options object with the following optional keys.
13721
14094
 
13722
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28-publiconly"></a>
13723
- <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28-publiconly"></a>
14095
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29-publiconly"></a>
14096
+ <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-29-publiconly"></a>
13724
14097
  ##### <code>publicOnly</code>
13725
14098
 
13726
14099
  This option will insist that missing jsdoc blocks are only reported for
@@ -13736,8 +14109,8 @@ otherwise noted):
13736
14109
  - `cjs` - CommonJS exports are checked for JSDoc comments (Defaults to `true`)
13737
14110
  - `window` - Window global exports are checked for JSDoc comments
13738
14111
 
13739
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28-require"></a>
13740
- <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28-require"></a>
14112
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29-require"></a>
14113
+ <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-29-require"></a>
13741
14114
  ##### <code>require</code>
13742
14115
 
13743
14116
  An object with the following optional boolean keys which all default to
@@ -13750,8 +14123,8 @@ An object with the following optional boolean keys which all default to
13750
14123
  - `FunctionExpression`
13751
14124
  - `MethodDefinition`
13752
14125
 
13753
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28-contexts-8"></a>
13754
- <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28-contexts-8"></a>
14126
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29-contexts-8"></a>
14127
+ <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-29-contexts-8"></a>
13755
14128
  ##### <code>contexts</code>
13756
14129
 
13757
14130
  Set this to an array of strings or objects representing the additional AST
@@ -13768,8 +14141,8 @@ if you are specifying a more precise form in `contexts` (e.g., `MethodDefinition
13768
14141
  See the ["AST and Selectors"](#user-content-eslint-plugin-jsdoc-advanced-ast-and-selectors)
13769
14142
  section of our README for more on the expected format.
13770
14143
 
13771
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28-exemptemptyconstructors"></a>
13772
- <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28-exemptemptyconstructors"></a>
14144
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29-exemptemptyconstructors"></a>
14145
+ <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-29-exemptemptyconstructors"></a>
13773
14146
  ##### <code>exemptEmptyConstructors</code>
13774
14147
 
13775
14148
  Default: true
@@ -13778,8 +14151,8 @@ When `true`, the rule will not report missing jsdoc blocks above constructors
13778
14151
  with no parameters or return values (this is enabled by default as the class
13779
14152
  name or description should be seen as sufficient to convey intent).
13780
14153
 
13781
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28-exemptemptyfunctions"></a>
13782
- <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28-exemptemptyfunctions"></a>
14154
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29-exemptemptyfunctions"></a>
14155
+ <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-29-exemptemptyfunctions"></a>
13783
14156
  ##### <code>exemptEmptyFunctions</code>
13784
14157
 
13785
14158
  Default: false.
@@ -13788,16 +14161,16 @@ When `true`, the rule will not report missing jsdoc blocks above
13788
14161
  functions/methods with no parameters or return values (intended where
13789
14162
  function/method names are sufficient for themselves as documentation).
13790
14163
 
13791
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28-checkconstructors-1"></a>
13792
- <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28-checkconstructors-1"></a>
14164
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29-checkconstructors-1"></a>
14165
+ <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-29-checkconstructors-1"></a>
13793
14166
  ##### <code>checkConstructors</code>
13794
14167
 
13795
14168
  A value indicating whether `constructor`s should be checked. Defaults to
13796
14169
  `true`. When `true`, `exemptEmptyConstructors` may still avoid reporting when
13797
14170
  no parameters or return values are found.
13798
14171
 
13799
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28-checkgetters-1"></a>
13800
- <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28-checkgetters-1"></a>
14172
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29-checkgetters-1"></a>
14173
+ <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-29-checkgetters-1"></a>
13801
14174
  ##### <code>checkGetters</code>
13802
14175
 
13803
14176
  A value indicating whether getters should be checked. Besides setting as a
@@ -13806,8 +14179,8 @@ getters should be checked but only when there is no setter. This may be useful
13806
14179
  if one only wishes documentation on one of the two accessors. Defaults to
13807
14180
  `false`.
13808
14181
 
13809
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28-checksetters-1"></a>
13810
- <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28-checksetters-1"></a>
14182
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29-checksetters-1"></a>
14183
+ <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-29-checksetters-1"></a>
13811
14184
  ##### <code>checkSetters</code>
13812
14185
 
13813
14186
  A value indicating whether setters should be checked. Besides setting as a
@@ -13816,15 +14189,15 @@ setters should be checked but only when there is no getter. This may be useful
13816
14189
  if one only wishes documentation on one of the two accessors. Defaults to
13817
14190
  `false`.
13818
14191
 
13819
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28-enablefixer-4"></a>
13820
- <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28-enablefixer-4"></a>
14192
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29-enablefixer-4"></a>
14193
+ <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-29-enablefixer-4"></a>
13821
14194
  ##### <code>enableFixer</code>
13822
14195
 
13823
14196
  A boolean on whether to enable the fixer (which adds an empty jsdoc block).
13824
14197
  Defaults to `true`.
13825
14198
 
13826
- <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-28-minlinecount"></a>
13827
- <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-28-minlinecount"></a>
14199
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-jsdoc-options-29-minlinecount"></a>
14200
+ <a name="eslint-plugin-jsdoc-rules-require-jsdoc-options-29-minlinecount"></a>
13828
14201
  ##### <code>minLineCount</code>
13829
14202
 
13830
14203
  An integer to indicate a minimum number of lines expected for a node in order
@@ -15516,12 +15889,12 @@ Will exempt destructured roots and their children if
15516
15889
  `@param {object} props` will be exempted from requiring a description given
15517
15890
  `function someFunc ({child1, child2})`).
15518
15891
 
15519
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-description-options-29"></a>
15520
- <a name="eslint-plugin-jsdoc-rules-require-param-description-options-29"></a>
15892
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-description-options-30"></a>
15893
+ <a name="eslint-plugin-jsdoc-rules-require-param-description-options-30"></a>
15521
15894
  #### Options
15522
15895
 
15523
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-description-options-29-setdefaultdestructuredrootdescription"></a>
15524
- <a name="eslint-plugin-jsdoc-rules-require-param-description-options-29-setdefaultdestructuredrootdescription"></a>
15896
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-description-options-30-setdefaultdestructuredrootdescription"></a>
15897
+ <a name="eslint-plugin-jsdoc-rules-require-param-description-options-30-setdefaultdestructuredrootdescription"></a>
15525
15898
  ##### <code>setDefaultDestructuredRootDescription</code>
15526
15899
 
15527
15900
  Whether to set a default destructured root description. For example, you may
@@ -15530,15 +15903,15 @@ corresponding to a destructured root object as it should always be the same
15530
15903
  type of object. Uses `defaultDestructuredRootDescription` for the description
15531
15904
  string. Defaults to `false`.
15532
15905
 
15533
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-description-options-29-defaultdestructuredrootdescription"></a>
15534
- <a name="eslint-plugin-jsdoc-rules-require-param-description-options-29-defaultdestructuredrootdescription"></a>
15906
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-description-options-30-defaultdestructuredrootdescription"></a>
15907
+ <a name="eslint-plugin-jsdoc-rules-require-param-description-options-30-defaultdestructuredrootdescription"></a>
15535
15908
  ##### <code>defaultDestructuredRootDescription</code>
15536
15909
 
15537
15910
  The description string to set by default for destructured roots. Defaults to
15538
15911
  "The root object".
15539
15912
 
15540
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-description-options-29-contexts-9"></a>
15541
- <a name="eslint-plugin-jsdoc-rules-require-param-description-options-29-contexts-9"></a>
15913
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-description-options-30-contexts-9"></a>
15914
+ <a name="eslint-plugin-jsdoc-rules-require-param-description-options-30-contexts-9"></a>
15542
15915
  ##### <code>contexts</code>
15543
15916
 
15544
15917
  Set this to an array of strings representing the AST context (or an object with
@@ -15731,12 +16104,12 @@ Requires that all function parameters have names.
15731
16104
  >
15732
16105
  > [JSDoc](https://jsdoc.app/tags-param.html#overview)
15733
16106
 
15734
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-name-options-30"></a>
15735
- <a name="eslint-plugin-jsdoc-rules-require-param-name-options-30"></a>
16107
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-name-options-31"></a>
16108
+ <a name="eslint-plugin-jsdoc-rules-require-param-name-options-31"></a>
15736
16109
  #### Options
15737
16110
 
15738
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-name-options-30-contexts-10"></a>
15739
- <a name="eslint-plugin-jsdoc-rules-require-param-name-options-30-contexts-10"></a>
16111
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-name-options-31-contexts-10"></a>
16112
+ <a name="eslint-plugin-jsdoc-rules-require-param-name-options-31-contexts-10"></a>
15740
16113
  ##### <code>contexts</code>
15741
16114
 
15742
16115
  Set this to an array of strings representing the AST context (or an object with
@@ -15875,12 +16248,12 @@ Will exempt destructured roots and their children if
15875
16248
  `@param props` will be exempted from requiring a type given
15876
16249
  `function someFunc ({child1, child2})`).
15877
16250
 
15878
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-type-options-31"></a>
15879
- <a name="eslint-plugin-jsdoc-rules-require-param-type-options-31"></a>
16251
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-type-options-32"></a>
16252
+ <a name="eslint-plugin-jsdoc-rules-require-param-type-options-32"></a>
15880
16253
  #### Options
15881
16254
 
15882
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-type-options-31-setdefaultdestructuredroottype"></a>
15883
- <a name="eslint-plugin-jsdoc-rules-require-param-type-options-31-setdefaultdestructuredroottype"></a>
16255
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-type-options-32-setdefaultdestructuredroottype"></a>
16256
+ <a name="eslint-plugin-jsdoc-rules-require-param-type-options-32-setdefaultdestructuredroottype"></a>
15884
16257
  ##### <code>setDefaultDestructuredRootType</code>
15885
16258
 
15886
16259
  Whether to set a default destructured root type. For example, you may wish
@@ -15889,14 +16262,14 @@ corresponding to a destructured root object as it is always going to be an
15889
16262
  object. Uses `defaultDestructuredRootType` for the type string. Defaults to
15890
16263
  `false`.
15891
16264
 
15892
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-type-options-31-defaultdestructuredroottype"></a>
15893
- <a name="eslint-plugin-jsdoc-rules-require-param-type-options-31-defaultdestructuredroottype"></a>
16265
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-type-options-32-defaultdestructuredroottype"></a>
16266
+ <a name="eslint-plugin-jsdoc-rules-require-param-type-options-32-defaultdestructuredroottype"></a>
15894
16267
  ##### <code>defaultDestructuredRootType</code>
15895
16268
 
15896
16269
  The type string to set by default for destructured roots. Defaults to "object".
15897
16270
 
15898
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-type-options-31-contexts-11"></a>
15899
- <a name="eslint-plugin-jsdoc-rules-require-param-type-options-31-contexts-11"></a>
16271
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-type-options-32-contexts-11"></a>
16272
+ <a name="eslint-plugin-jsdoc-rules-require-param-type-options-32-contexts-11"></a>
15900
16273
  ##### <code>contexts</code>
15901
16274
 
15902
16275
  Set this to an array of strings representing the AST context (or an object with
@@ -16261,35 +16634,35 @@ other properties, so in looking at the docs alone without looking at the
16261
16634
  function signature, it may appear that there is an actual property named
16262
16635
  `extra`.
16263
16636
 
16264
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32"></a>
16265
- <a name="eslint-plugin-jsdoc-rules-require-param-options-32"></a>
16637
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33"></a>
16638
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-33"></a>
16266
16639
  #### Options
16267
16640
 
16268
16641
  An options object accepts the following optional properties:
16269
16642
 
16270
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-enablefixer-5"></a>
16271
- <a name="eslint-plugin-jsdoc-rules-require-param-options-32-enablefixer-5"></a>
16643
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-enablefixer-5"></a>
16644
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-33-enablefixer-5"></a>
16272
16645
  ##### <code>enableFixer</code>
16273
16646
 
16274
16647
  Whether to enable the fixer. Defaults to `true`.
16275
16648
 
16276
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-enablerootfixer"></a>
16277
- <a name="eslint-plugin-jsdoc-rules-require-param-options-32-enablerootfixer"></a>
16649
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-enablerootfixer"></a>
16650
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-33-enablerootfixer"></a>
16278
16651
  ##### <code>enableRootFixer</code>
16279
16652
 
16280
16653
  Whether to enable the auto-adding of incrementing roots (see the "Fixer"
16281
16654
  section). Defaults to `true`. Has no effect if `enableFixer` is set to
16282
16655
  `false`.
16283
16656
 
16284
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-enablerestelementfixer"></a>
16285
- <a name="eslint-plugin-jsdoc-rules-require-param-options-32-enablerestelementfixer"></a>
16657
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-enablerestelementfixer"></a>
16658
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-33-enablerestelementfixer"></a>
16286
16659
  ##### <code>enableRestElementFixer</code>
16287
16660
 
16288
16661
  Whether to enable the rest element fixer (see
16289
16662
  "Rest Element (`RestElement`) insertions"). Defaults to `true`.
16290
16663
 
16291
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-checkrestproperty-1"></a>
16292
- <a name="eslint-plugin-jsdoc-rules-require-param-options-32-checkrestproperty-1"></a>
16664
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-checkrestproperty-1"></a>
16665
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-33-checkrestproperty-1"></a>
16293
16666
  ##### <code>checkRestProperty</code>
16294
16667
 
16295
16668
  If set to `true`, will report (and add fixer insertions) for missing rest
@@ -16343,15 +16716,15 @@ function quux ({num, ...extra}) {
16343
16716
  }
16344
16717
  ```
16345
16718
 
16346
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-autoincrementbase"></a>
16347
- <a name="eslint-plugin-jsdoc-rules-require-param-options-32-autoincrementbase"></a>
16719
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-autoincrementbase"></a>
16720
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-33-autoincrementbase"></a>
16348
16721
  ##### <code>autoIncrementBase</code>
16349
16722
 
16350
16723
  Numeric to indicate the number at which to begin auto-incrementing roots.
16351
16724
  Defaults to `0`.
16352
16725
 
16353
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-unnamedrootbase"></a>
16354
- <a name="eslint-plugin-jsdoc-rules-require-param-options-32-unnamedrootbase"></a>
16726
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-unnamedrootbase"></a>
16727
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-33-unnamedrootbase"></a>
16355
16728
  ##### <code>unnamedRootBase</code>
16356
16729
 
16357
16730
  An array of root names to use in the fixer when roots are missing. Defaults
@@ -16377,8 +16750,8 @@ function quux ({foo}, [bar], {baz}) {
16377
16750
  */
16378
16751
  ```
16379
16752
 
16380
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-exemptedby-1"></a>
16381
- <a name="eslint-plugin-jsdoc-rules-require-param-options-32-exemptedby-1"></a>
16753
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-exemptedby-1"></a>
16754
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-33-exemptedby-1"></a>
16382
16755
  ##### <code>exemptedBy</code>
16383
16756
 
16384
16757
  Array of tags (e.g., `['type']`) whose presence on the document block
@@ -16387,8 +16760,8 @@ avoids the need for a `@param`. Defaults to an array with
16387
16760
  so be sure to add back `inheritdoc` if you wish its presence to cause
16388
16761
  exemption of the rule.
16389
16762
 
16390
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-checktypespattern-1"></a>
16391
- <a name="eslint-plugin-jsdoc-rules-require-param-options-32-checktypespattern-1"></a>
16763
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-checktypespattern-1"></a>
16764
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-33-checktypespattern-1"></a>
16392
16765
  ##### <code>checkTypesPattern</code>
16393
16766
 
16394
16767
  When one specifies a type, unless it is of a generic type, like `object`
@@ -16423,8 +16796,8 @@ You could set this regular expression to a more expansive list, or you
16423
16796
  could restrict it such that even types matching those strings would not
16424
16797
  need destructuring.
16425
16798
 
16426
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-contexts-12"></a>
16427
- <a name="eslint-plugin-jsdoc-rules-require-param-options-32-contexts-12"></a>
16799
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-contexts-12"></a>
16800
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-33-contexts-12"></a>
16428
16801
  ##### <code>contexts</code>
16429
16802
 
16430
16803
  Set this to an array of strings representing the AST context (or an object with
@@ -16436,33 +16809,33 @@ which are checked.
16436
16809
  See the ["AST and Selectors"](#user-content-eslint-plugin-jsdoc-advanced-ast-and-selectors)
16437
16810
  section of our README for more on the expected format.
16438
16811
 
16439
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-checkconstructors-2"></a>
16440
- <a name="eslint-plugin-jsdoc-rules-require-param-options-32-checkconstructors-2"></a>
16812
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-checkconstructors-2"></a>
16813
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-33-checkconstructors-2"></a>
16441
16814
  ##### <code>checkConstructors</code>
16442
16815
 
16443
16816
  A value indicating whether `constructor`s should be checked. Defaults to
16444
16817
  `true`.
16445
16818
 
16446
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-checkgetters-2"></a>
16447
- <a name="eslint-plugin-jsdoc-rules-require-param-options-32-checkgetters-2"></a>
16819
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-checkgetters-2"></a>
16820
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-33-checkgetters-2"></a>
16448
16821
  ##### <code>checkGetters</code>
16449
16822
 
16450
16823
  A value indicating whether getters should be checked. Defaults to `false`.
16451
16824
 
16452
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-checksetters-2"></a>
16453
- <a name="eslint-plugin-jsdoc-rules-require-param-options-32-checksetters-2"></a>
16825
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-checksetters-2"></a>
16826
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-33-checksetters-2"></a>
16454
16827
  ##### <code>checkSetters</code>
16455
16828
 
16456
16829
  A value indicating whether setters should be checked. Defaults to `false`.
16457
16830
 
16458
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-checkdestructured-1"></a>
16459
- <a name="eslint-plugin-jsdoc-rules-require-param-options-32-checkdestructured-1"></a>
16831
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-checkdestructured-1"></a>
16832
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-33-checkdestructured-1"></a>
16460
16833
  ##### <code>checkDestructured</code>
16461
16834
 
16462
16835
  Whether to require destructured properties. Defaults to `true`.
16463
16836
 
16464
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-checkdestructuredroots"></a>
16465
- <a name="eslint-plugin-jsdoc-rules-require-param-options-32-checkdestructuredroots"></a>
16837
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-checkdestructuredroots"></a>
16838
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-33-checkdestructuredroots"></a>
16466
16839
  ##### <code>checkDestructuredRoots</code>
16467
16840
 
16468
16841
  Whether to check the existence of a corresponding `@param` for root objects
@@ -16475,8 +16848,8 @@ implied to be `false` (i.e., the inside of the roots will not be checked
16475
16848
  either, e.g., it will also not complain if `a` or `b` do not have their own
16476
16849
  documentation). Defaults to `true`.
16477
16850
 
16478
- <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-32-usedefaultobjectproperties-1"></a>
16479
- <a name="eslint-plugin-jsdoc-rules-require-param-options-32-usedefaultobjectproperties-1"></a>
16851
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-param-options-33-usedefaultobjectproperties-1"></a>
16852
+ <a name="eslint-plugin-jsdoc-rules-require-param-options-33-usedefaultobjectproperties-1"></a>
16480
16853
  ##### <code>useDefaultObjectProperties</code>
16481
16854
 
16482
16855
  Set to `true` if you wish to expect documentation of properties on objects
@@ -18161,8 +18534,8 @@ is found. Also reports if `@returns {never}` is discovered with a return value.
18161
18534
 
18162
18535
  Will also report if multiple `@returns` tags are present.
18163
18536
 
18164
- <a name="user-content-eslint-plugin-jsdoc-rules-require-returns-check-options-33"></a>
18165
- <a name="eslint-plugin-jsdoc-rules-require-returns-check-options-33"></a>
18537
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-returns-check-options-34"></a>
18538
+ <a name="eslint-plugin-jsdoc-rules-require-returns-check-options-34"></a>
18166
18539
  #### Options
18167
18540
 
18168
18541
  - `exemptGenerators`- Because a generator might be labeled as having a
@@ -19188,12 +19561,12 @@ Requires that the `@returns` tag has a `description` value. The error
19188
19561
  will not be reported if the return value is `void` or `undefined`
19189
19562
  or if it is `Promise<void>` or `Promise<undefined>`.
19190
19563
 
19191
- <a name="user-content-eslint-plugin-jsdoc-rules-require-returns-description-options-34"></a>
19192
- <a name="eslint-plugin-jsdoc-rules-require-returns-description-options-34"></a>
19564
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-returns-description-options-35"></a>
19565
+ <a name="eslint-plugin-jsdoc-rules-require-returns-description-options-35"></a>
19193
19566
  #### Options
19194
19567
 
19195
- <a name="user-content-eslint-plugin-jsdoc-rules-require-returns-description-options-34-contexts-13"></a>
19196
- <a name="eslint-plugin-jsdoc-rules-require-returns-description-options-34-contexts-13"></a>
19568
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-returns-description-options-35-contexts-13"></a>
19569
+ <a name="eslint-plugin-jsdoc-rules-require-returns-description-options-35-contexts-13"></a>
19197
19570
  ##### <code>contexts</code>
19198
19571
 
19199
19572
  Set this to an array of strings representing the AST context (or an object with
@@ -19347,12 +19720,12 @@ function quux () {
19347
19720
 
19348
19721
  Requires that `@returns` tag has `type` value.
19349
19722
 
19350
- <a name="user-content-eslint-plugin-jsdoc-rules-require-returns-type-options-35"></a>
19351
- <a name="eslint-plugin-jsdoc-rules-require-returns-type-options-35"></a>
19723
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-returns-type-options-36"></a>
19724
+ <a name="eslint-plugin-jsdoc-rules-require-returns-type-options-36"></a>
19352
19725
  #### Options
19353
19726
 
19354
- <a name="user-content-eslint-plugin-jsdoc-rules-require-returns-type-options-35-contexts-14"></a>
19355
- <a name="eslint-plugin-jsdoc-rules-require-returns-type-options-35-contexts-14"></a>
19727
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-returns-type-options-36-contexts-14"></a>
19728
+ <a name="eslint-plugin-jsdoc-rules-require-returns-type-options-36-contexts-14"></a>
19356
19729
  ##### <code>contexts</code>
19357
19730
 
19358
19731
  Set this to an array of strings representing the AST context (or an object with
@@ -19473,8 +19846,8 @@ Requires that returns are documented.
19473
19846
 
19474
19847
  Will also report if multiple `@returns` tags are present.
19475
19848
 
19476
- <a name="user-content-eslint-plugin-jsdoc-rules-require-returns-options-36"></a>
19477
- <a name="eslint-plugin-jsdoc-rules-require-returns-options-36"></a>
19849
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-returns-options-37"></a>
19850
+ <a name="eslint-plugin-jsdoc-rules-require-returns-options-37"></a>
19478
19851
  #### Options
19479
19852
 
19480
19853
  - `checkConstructors` - A value indicating whether `constructor`s should
@@ -20614,8 +20987,8 @@ for our desire for a separate tag to document rejection types and see
20614
20987
  [this discussion](https://stackoverflow.com/questions/50071115/typescript-promise-rejection-type)
20615
20988
  on why TypeScript doesn't offer such a feature.
20616
20989
 
20617
- <a name="user-content-eslint-plugin-jsdoc-rules-require-throws-options-37"></a>
20618
- <a name="eslint-plugin-jsdoc-rules-require-throws-options-37"></a>
20990
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-throws-options-38"></a>
20991
+ <a name="eslint-plugin-jsdoc-rules-require-throws-options-38"></a>
20619
20992
  #### Options
20620
20993
 
20621
20994
  - `exemptedBy` - Array of tags (e.g., `['type']`) whose presence on the
@@ -20919,8 +21292,8 @@ Will also report if multiple `@yields` tags are present.
20919
21292
  See the `next`, `forceRequireNext`, and `nextWithGeneratorTag` options for an
20920
21293
  option to expect a non-standard `@next` tag.
20921
21294
 
20922
- <a name="user-content-eslint-plugin-jsdoc-rules-require-yields-options-38"></a>
20923
- <a name="eslint-plugin-jsdoc-rules-require-yields-options-38"></a>
21295
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-yields-options-39"></a>
21296
+ <a name="eslint-plugin-jsdoc-rules-require-yields-options-39"></a>
20924
21297
  #### Options
20925
21298
 
20926
21299
  - `exemptedBy` - Array of tags (e.g., `['type']`) whose presence on the
@@ -21731,8 +22104,8 @@ function bodies.
21731
22104
 
21732
22105
  Will also report if multiple `@yields` tags are present.
21733
22106
 
21734
- <a name="user-content-eslint-plugin-jsdoc-rules-require-yields-check-options-39"></a>
21735
- <a name="eslint-plugin-jsdoc-rules-require-yields-check-options-39"></a>
22107
+ <a name="user-content-eslint-plugin-jsdoc-rules-require-yields-check-options-40"></a>
22108
+ <a name="eslint-plugin-jsdoc-rules-require-yields-check-options-40"></a>
21736
22109
  #### Options
21737
22110
 
21738
22111
  - `checkGeneratorsOnly` - Avoids checking the function body and merely insists
@@ -22244,12 +22617,12 @@ Sorts tags by a specified sequence according to tag name.
22244
22617
 
22245
22618
  (Default order originally inspired by [`@homer0/prettier-plugin-jsdoc`](https://github.com/homer0/packages/tree/main/packages/public/prettier-plugin-jsdoc).)
22246
22619
 
22247
- <a name="user-content-eslint-plugin-jsdoc-rules-sort-tags-options-40"></a>
22248
- <a name="eslint-plugin-jsdoc-rules-sort-tags-options-40"></a>
22620
+ <a name="user-content-eslint-plugin-jsdoc-rules-sort-tags-options-41"></a>
22621
+ <a name="eslint-plugin-jsdoc-rules-sort-tags-options-41"></a>
22249
22622
  #### Options
22250
22623
 
22251
- <a name="user-content-eslint-plugin-jsdoc-rules-sort-tags-options-40-tagsequence"></a>
22252
- <a name="eslint-plugin-jsdoc-rules-sort-tags-options-40-tagsequence"></a>
22624
+ <a name="user-content-eslint-plugin-jsdoc-rules-sort-tags-options-41-tagsequence"></a>
22625
+ <a name="eslint-plugin-jsdoc-rules-sort-tags-options-41-tagsequence"></a>
22253
22626
  ##### <code>tagSequence</code>
22254
22627
 
22255
22628
  An array of tag names indicating the preferred sequence for sorting tags.
@@ -22425,8 +22798,8 @@ a fixed order that doesn't change into the future, supply your own
22425
22798
  ];
22426
22799
  ```
22427
22800
 
22428
- <a name="user-content-eslint-plugin-jsdoc-rules-sort-tags-options-40-alphabetizeextras"></a>
22429
- <a name="eslint-plugin-jsdoc-rules-sort-tags-options-40-alphabetizeextras"></a>
22801
+ <a name="user-content-eslint-plugin-jsdoc-rules-sort-tags-options-41-alphabetizeextras"></a>
22802
+ <a name="eslint-plugin-jsdoc-rules-sort-tags-options-41-alphabetizeextras"></a>
22430
22803
  ##### <code>alphabetizeExtras</code>
22431
22804
 
22432
22805
  Defaults to `false`. Alphabetizes any items not within `tagSequence` after any
@@ -22583,8 +22956,8 @@ function quux () {}
22583
22956
 
22584
22957
  Enforces lines (or no lines) between tags.
22585
22958
 
22586
- <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-41"></a>
22587
- <a name="eslint-plugin-jsdoc-rules-tag-lines-options-41"></a>
22959
+ <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-42"></a>
22960
+ <a name="eslint-plugin-jsdoc-rules-tag-lines-options-42"></a>
22588
22961
  #### Options
22589
22962
 
22590
22963
  The first option is a single string set to "always", "never", or "any"
@@ -22595,27 +22968,27 @@ for particular tags) or with `dropEndLines`.
22595
22968
 
22596
22969
  The second option is an object with the following optional properties.
22597
22970
 
22598
- <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-41-count-defaults-to-1"></a>
22599
- <a name="eslint-plugin-jsdoc-rules-tag-lines-options-41-count-defaults-to-1"></a>
22971
+ <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-42-count-defaults-to-1"></a>
22972
+ <a name="eslint-plugin-jsdoc-rules-tag-lines-options-42-count-defaults-to-1"></a>
22600
22973
  ##### <code>count</code> (defaults to 1)
22601
22974
 
22602
22975
  Use with "always" to indicate the number of lines to require be present.
22603
22976
 
22604
- <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-41-noendlines-defaults-to-false"></a>
22605
- <a name="eslint-plugin-jsdoc-rules-tag-lines-options-41-noendlines-defaults-to-false"></a>
22977
+ <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-42-noendlines-defaults-to-false"></a>
22978
+ <a name="eslint-plugin-jsdoc-rules-tag-lines-options-42-noendlines-defaults-to-false"></a>
22606
22979
  ##### <code>noEndLines</code> (defaults to <code>false</code>)
22607
22980
 
22608
22981
  Use with "always" to indicate the normal lines to be added after tags should
22609
22982
  not be added after the final tag.
22610
22983
 
22611
- <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-41-dropendlines-defaults-to-false"></a>
22612
- <a name="eslint-plugin-jsdoc-rules-tag-lines-options-41-dropendlines-defaults-to-false"></a>
22984
+ <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-42-dropendlines-defaults-to-false"></a>
22985
+ <a name="eslint-plugin-jsdoc-rules-tag-lines-options-42-dropendlines-defaults-to-false"></a>
22613
22986
  ##### <code>dropEndLines</code> (defaults to <code>false</code>)
22614
22987
 
22615
22988
  If defined, will drop end lines for the final tag only.
22616
22989
 
22617
- <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-41-tags-default-to-empty-object"></a>
22618
- <a name="eslint-plugin-jsdoc-rules-tag-lines-options-41-tags-default-to-empty-object"></a>
22990
+ <a name="user-content-eslint-plugin-jsdoc-rules-tag-lines-options-42-tags-default-to-empty-object"></a>
22991
+ <a name="eslint-plugin-jsdoc-rules-tag-lines-options-42-tags-default-to-empty-object"></a>
22619
22992
  ##### <code>tags</code> (default to empty object)
22620
22993
 
22621
22994
  Overrides the default behavior depending on specific tags.
@@ -22969,19 +23342,19 @@ Markdown and you therefore do not wish for it to be accidentally interpreted
22969
23342
  as such by the likes of Visual Studio Code or if you wish to view it escaped
22970
23343
  within it or your documentation.
22971
23344
 
22972
- <a name="user-content-eslint-plugin-jsdoc-rules-text-escaping-options-42"></a>
22973
- <a name="eslint-plugin-jsdoc-rules-text-escaping-options-42"></a>
23345
+ <a name="user-content-eslint-plugin-jsdoc-rules-text-escaping-options-43"></a>
23346
+ <a name="eslint-plugin-jsdoc-rules-text-escaping-options-43"></a>
22974
23347
  #### Options
22975
23348
 
22976
- <a name="user-content-eslint-plugin-jsdoc-rules-text-escaping-options-42-escapehtml"></a>
22977
- <a name="eslint-plugin-jsdoc-rules-text-escaping-options-42-escapehtml"></a>
23349
+ <a name="user-content-eslint-plugin-jsdoc-rules-text-escaping-options-43-escapehtml"></a>
23350
+ <a name="eslint-plugin-jsdoc-rules-text-escaping-options-43-escapehtml"></a>
22978
23351
  ##### <code>escapeHTML</code>
22979
23352
 
22980
23353
  This option escapes all `<` and `&` characters (except those followed by
22981
23354
  whitespace which are treated as literals by Visual Studio Code).
22982
23355
 
22983
- <a name="user-content-eslint-plugin-jsdoc-rules-text-escaping-options-42-escapemarkdown"></a>
22984
- <a name="eslint-plugin-jsdoc-rules-text-escaping-options-42-escapemarkdown"></a>
23356
+ <a name="user-content-eslint-plugin-jsdoc-rules-text-escaping-options-43-escapemarkdown"></a>
23357
+ <a name="eslint-plugin-jsdoc-rules-text-escaping-options-43-escapemarkdown"></a>
22985
23358
  ##### <code>escapeMarkdown</code>
22986
23359
 
22987
23360
  This option escapes the first backtick (`` ` ``) in a paired sequence.
@@ -23188,8 +23561,8 @@ for valid types (based on the tag's `type` value), and either portion checked
23188
23561
  for presence (based on `false` `name` or `type` values or their `required`
23189
23562
  value). See the setting for more details.
23190
23563
 
23191
- <a name="user-content-eslint-plugin-jsdoc-rules-valid-types-options-43"></a>
23192
- <a name="eslint-plugin-jsdoc-rules-valid-types-options-43"></a>
23564
+ <a name="user-content-eslint-plugin-jsdoc-rules-valid-types-options-44"></a>
23565
+ <a name="eslint-plugin-jsdoc-rules-valid-types-options-44"></a>
23193
23566
  #### Options
23194
23567
 
23195
23568
  - `allowEmptyNamepaths` (default: true) - Set to `false` to bulk disallow