eslint-plugin-jsdoc 46.4.6 → 46.5.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.
Files changed (187) hide show
  1. package/README.md +31 -0
  2. package/dist/index.js +21 -10
  3. package/dist/index.js.map +1 -1
  4. package/package.json +14 -12
  5. package/dist/WarnSettings.d.ts +0 -17
  6. package/dist/WarnSettings.d.ts.map +0 -1
  7. package/dist/alignTransform.d.ts +0 -32
  8. package/dist/alignTransform.d.ts.map +0 -1
  9. package/dist/defaultTagOrder.d.ts +0 -5
  10. package/dist/defaultTagOrder.d.ts.map +0 -1
  11. package/dist/exportParser.d.ts +0 -41
  12. package/dist/exportParser.d.ts.map +0 -1
  13. package/dist/getDefaultTagStructureForMode.d.ts +0 -11
  14. package/dist/getDefaultTagStructureForMode.d.ts.map +0 -1
  15. package/dist/index.d.ts +0 -10
  16. package/dist/index.d.ts.map +0 -1
  17. package/dist/iterateJsdoc.d.ts +0 -460
  18. package/dist/iterateJsdoc.d.ts.map +0 -1
  19. package/dist/jsdocUtils.d.ts +0 -421
  20. package/dist/jsdocUtils.d.ts.map +0 -1
  21. package/dist/rules/checkAccess.d.ts +0 -3
  22. package/dist/rules/checkAccess.d.ts.map +0 -1
  23. package/dist/rules/checkAlignment.d.ts +0 -3
  24. package/dist/rules/checkAlignment.d.ts.map +0 -1
  25. package/dist/rules/checkExamples.d.ts +0 -4
  26. package/dist/rules/checkExamples.d.ts.map +0 -1
  27. package/dist/rules/checkIndentation.d.ts +0 -3
  28. package/dist/rules/checkIndentation.d.ts.map +0 -1
  29. package/dist/rules/checkLineAlignment.d.ts +0 -10
  30. package/dist/rules/checkLineAlignment.d.ts.map +0 -1
  31. package/dist/rules/checkParamNames.d.ts +0 -3
  32. package/dist/rules/checkParamNames.d.ts.map +0 -1
  33. package/dist/rules/checkPropertyNames.d.ts +0 -3
  34. package/dist/rules/checkPropertyNames.d.ts.map +0 -1
  35. package/dist/rules/checkSyntax.d.ts +0 -3
  36. package/dist/rules/checkSyntax.d.ts.map +0 -1
  37. package/dist/rules/checkTagNames.d.ts +0 -3
  38. package/dist/rules/checkTagNames.d.ts.map +0 -1
  39. package/dist/rules/checkTypes.d.ts +0 -3
  40. package/dist/rules/checkTypes.d.ts.map +0 -1
  41. package/dist/rules/checkValues.d.ts +0 -3
  42. package/dist/rules/checkValues.d.ts.map +0 -1
  43. package/dist/rules/emptyTags.d.ts +0 -3
  44. package/dist/rules/emptyTags.d.ts.map +0 -1
  45. package/dist/rules/implementsOnClasses.d.ts +0 -3
  46. package/dist/rules/implementsOnClasses.d.ts.map +0 -1
  47. package/dist/rules/importsAsDependencies.d.ts +0 -3
  48. package/dist/rules/importsAsDependencies.d.ts.map +0 -1
  49. package/dist/rules/informativeDocs.d.ts +0 -3
  50. package/dist/rules/informativeDocs.d.ts.map +0 -1
  51. package/dist/rules/matchDescription.d.ts +0 -3
  52. package/dist/rules/matchDescription.d.ts.map +0 -1
  53. package/dist/rules/matchName.d.ts +0 -3
  54. package/dist/rules/matchName.d.ts.map +0 -1
  55. package/dist/rules/multilineBlocks.d.ts +0 -3
  56. package/dist/rules/multilineBlocks.d.ts.map +0 -1
  57. package/dist/rules/noBadBlocks.d.ts +0 -3
  58. package/dist/rules/noBadBlocks.d.ts.map +0 -1
  59. package/dist/rules/noBlankBlockDescriptions.d.ts +0 -3
  60. package/dist/rules/noBlankBlockDescriptions.d.ts.map +0 -1
  61. package/dist/rules/noBlankBlocks.d.ts +0 -3
  62. package/dist/rules/noBlankBlocks.d.ts.map +0 -1
  63. package/dist/rules/noDefaults.d.ts +0 -3
  64. package/dist/rules/noDefaults.d.ts.map +0 -1
  65. package/dist/rules/noMissingSyntax.d.ts +0 -10
  66. package/dist/rules/noMissingSyntax.d.ts.map +0 -1
  67. package/dist/rules/noMultiAsterisks.d.ts +0 -3
  68. package/dist/rules/noMultiAsterisks.d.ts.map +0 -1
  69. package/dist/rules/noRestrictedSyntax.d.ts +0 -3
  70. package/dist/rules/noRestrictedSyntax.d.ts.map +0 -1
  71. package/dist/rules/noTypes.d.ts +0 -3
  72. package/dist/rules/noTypes.d.ts.map +0 -1
  73. package/dist/rules/noUndefinedTypes.d.ts +0 -3
  74. package/dist/rules/noUndefinedTypes.d.ts.map +0 -1
  75. package/dist/rules/requireAsteriskPrefix.d.ts +0 -3
  76. package/dist/rules/requireAsteriskPrefix.d.ts.map +0 -1
  77. package/dist/rules/requireDescription.d.ts +0 -3
  78. package/dist/rules/requireDescription.d.ts.map +0 -1
  79. package/dist/rules/requireDescriptionCompleteSentence.d.ts +0 -3
  80. package/dist/rules/requireDescriptionCompleteSentence.d.ts.map +0 -1
  81. package/dist/rules/requireExample.d.ts +0 -3
  82. package/dist/rules/requireExample.d.ts.map +0 -1
  83. package/dist/rules/requireFileOverview.d.ts +0 -3
  84. package/dist/rules/requireFileOverview.d.ts.map +0 -1
  85. package/dist/rules/requireHyphenBeforeParamDescription.d.ts +0 -3
  86. package/dist/rules/requireHyphenBeforeParamDescription.d.ts.map +0 -1
  87. package/dist/rules/requireJsdoc.d.ts +0 -9
  88. package/dist/rules/requireJsdoc.d.ts.map +0 -1
  89. package/dist/rules/requireParam.d.ts +0 -4
  90. package/dist/rules/requireParam.d.ts.map +0 -1
  91. package/dist/rules/requireParamDescription.d.ts +0 -3
  92. package/dist/rules/requireParamDescription.d.ts.map +0 -1
  93. package/dist/rules/requireParamName.d.ts +0 -3
  94. package/dist/rules/requireParamName.d.ts.map +0 -1
  95. package/dist/rules/requireParamType.d.ts +0 -3
  96. package/dist/rules/requireParamType.d.ts.map +0 -1
  97. package/dist/rules/requireProperty.d.ts +0 -3
  98. package/dist/rules/requireProperty.d.ts.map +0 -1
  99. package/dist/rules/requirePropertyDescription.d.ts +0 -3
  100. package/dist/rules/requirePropertyDescription.d.ts.map +0 -1
  101. package/dist/rules/requirePropertyName.d.ts +0 -3
  102. package/dist/rules/requirePropertyName.d.ts.map +0 -1
  103. package/dist/rules/requirePropertyType.d.ts +0 -3
  104. package/dist/rules/requirePropertyType.d.ts.map +0 -1
  105. package/dist/rules/requireReturns.d.ts +0 -3
  106. package/dist/rules/requireReturns.d.ts.map +0 -1
  107. package/dist/rules/requireReturnsCheck.d.ts +0 -3
  108. package/dist/rules/requireReturnsCheck.d.ts.map +0 -1
  109. package/dist/rules/requireReturnsDescription.d.ts +0 -3
  110. package/dist/rules/requireReturnsDescription.d.ts.map +0 -1
  111. package/dist/rules/requireReturnsType.d.ts +0 -3
  112. package/dist/rules/requireReturnsType.d.ts.map +0 -1
  113. package/dist/rules/requireThrows.d.ts +0 -3
  114. package/dist/rules/requireThrows.d.ts.map +0 -1
  115. package/dist/rules/requireYields.d.ts +0 -3
  116. package/dist/rules/requireYields.d.ts.map +0 -1
  117. package/dist/rules/requireYieldsCheck.d.ts +0 -3
  118. package/dist/rules/requireYieldsCheck.d.ts.map +0 -1
  119. package/dist/rules/sortTags.d.ts +0 -3
  120. package/dist/rules/sortTags.d.ts.map +0 -1
  121. package/dist/rules/tagLines.d.ts +0 -3
  122. package/dist/rules/tagLines.d.ts.map +0 -1
  123. package/dist/rules/textEscaping.d.ts +0 -3
  124. package/dist/rules/textEscaping.d.ts.map +0 -1
  125. package/dist/rules/validTypes.d.ts +0 -3
  126. package/dist/rules/validTypes.d.ts.map +0 -1
  127. package/dist/tagNames.d.ts +0 -16
  128. package/dist/tagNames.d.ts.map +0 -1
  129. package/dist/utils/hasReturnValue.d.ts +0 -20
  130. package/dist/utils/hasReturnValue.d.ts.map +0 -1
  131. package/docs/advanced.md +0 -102
  132. package/docs/rules/check-access.md +0 -193
  133. package/docs/rules/check-alignment.md +0 -169
  134. package/docs/rules/check-examples.md +0 -784
  135. package/docs/rules/check-indentation.md +0 -296
  136. package/docs/rules/check-line-alignment.md +0 -1002
  137. package/docs/rules/check-param-names.md +0 -1035
  138. package/docs/rules/check-property-names.md +0 -244
  139. package/docs/rules/check-syntax.md +0 -80
  140. package/docs/rules/check-tag-names.md +0 -1132
  141. package/docs/rules/check-types.md +0 -1198
  142. package/docs/rules/check-values.md +0 -409
  143. package/docs/rules/empty-tags.md +0 -220
  144. package/docs/rules/implements-on-classes.md +0 -219
  145. package/docs/rules/imports-as-dependencies.md +0 -99
  146. package/docs/rules/informative-docs.md +0 -400
  147. package/docs/rules/match-description.md +0 -1008
  148. package/docs/rules/match-name.md +0 -249
  149. package/docs/rules/multiline-blocks.md +0 -398
  150. package/docs/rules/no-bad-blocks.md +0 -174
  151. package/docs/rules/no-blank-block-descriptions.md +0 -91
  152. package/docs/rules/no-blank-blocks.md +0 -98
  153. package/docs/rules/no-defaults.md +0 -207
  154. package/docs/rules/no-missing-syntax.md +0 -275
  155. package/docs/rules/no-multi-asterisks.md +0 -278
  156. package/docs/rules/no-restricted-syntax.md +0 -383
  157. package/docs/rules/no-types.md +0 -168
  158. package/docs/rules/no-undefined-types.md +0 -789
  159. package/docs/rules/require-asterisk-prefix.md +0 -297
  160. package/docs/rules/require-description-complete-sentence.md +0 -820
  161. package/docs/rules/require-description.md +0 -585
  162. package/docs/rules/require-example.md +0 -390
  163. package/docs/rules/require-file-overview.md +0 -324
  164. package/docs/rules/require-hyphen-before-param-description.md +0 -281
  165. package/docs/rules/require-jsdoc.md +0 -1857
  166. package/docs/rules/require-param-description.md +0 -238
  167. package/docs/rules/require-param-name.md +0 -163
  168. package/docs/rules/require-param-type.md +0 -227
  169. package/docs/rules/require-param.md +0 -1820
  170. package/docs/rules/require-property-description.md +0 -88
  171. package/docs/rules/require-property-name.md +0 -79
  172. package/docs/rules/require-property-type.md +0 -79
  173. package/docs/rules/require-property.md +0 -128
  174. package/docs/rules/require-returns-check.md +0 -1053
  175. package/docs/rules/require-returns-description.md +0 -181
  176. package/docs/rules/require-returns-type.md +0 -144
  177. package/docs/rules/require-returns.md +0 -1191
  178. package/docs/rules/require-throws.md +0 -326
  179. package/docs/rules/require-yields-check.md +0 -544
  180. package/docs/rules/require-yields.md +0 -823
  181. package/docs/rules/sort-tags.md +0 -635
  182. package/docs/rules/tag-lines.md +0 -551
  183. package/docs/rules/text-escaping.md +0 -177
  184. package/docs/rules/valid-types.md +0 -881
  185. package/docs/settings.md +0 -362
  186. package/tsconfig-prod.json +0 -20
  187. package/tsconfig.json +0 -21
@@ -1,544 +0,0 @@
1
- <a name="user-content-require-yields-check"></a>
2
- <a name="require-yields-check"></a>
3
- # <code>require-yields-check</code>
4
-
5
- * [Options](#user-content-require-yields-check-options)
6
- * [Context and settings](#user-content-require-yields-check-context-and-settings)
7
- * [Failing examples](#user-content-require-yields-check-failing-examples)
8
- * [Passing examples](#user-content-require-yields-check-passing-examples)
9
-
10
-
11
- Ensures that if a `@yields` is present that a `yield` (or `yield` with a
12
- value) is present in the function body (or that if a `@next` is present that
13
- there is a `yield` with a return value present).
14
-
15
- Please also note that JavaScript does allow generators not to have `yield`
16
- (e.g., with just a return or even no explicit return), but if you want to
17
- enforce that all generators (except wholly empty ones) have a `yield` in the
18
- function body, you can use the ESLint
19
- [`require-yield`](https://eslint.org/docs/rules/require-yield) rule. In
20
- conjunction with this, you can also use the `checkGeneratorsOnly` option
21
- as an optimization so that this rule won't need to do its own checking within
22
- function bodies.
23
-
24
- Will also report if multiple `@yields` tags are present.
25
-
26
- <a name="user-content-require-yields-check-options"></a>
27
- <a name="require-yields-check-options"></a>
28
- ## Options
29
-
30
- - `checkGeneratorsOnly` - Avoids checking the function body and merely insists
31
- that all generators have `@yields`. This can be an optimization with the
32
- ESLint `require-yield` rule, as that rule already ensures a `yield` is
33
- present in generators, albeit assuming the generator is not empty).
34
- Defaults to `false`.
35
- - `next` - If `true`, this option will insist that any use of a (non-standard)
36
- `@next` tag (in addition to any `@yields` tag) will be matched by a `yield`
37
- which uses a return value in the body of the generator (e.g.,
38
- `const rv = yield;` or `const rv = yield value;`). This (non-standard)
39
- tag is intended to be used to indicate a type and/or description of
40
- the value expected to be supplied by the user when supplied to the iterator
41
- by its `next` method, as with `it.next(value)` (with the iterator being
42
- the `Generator` iterator that is returned by the call to the generator
43
- function). This option will report an error if the generator function body
44
- merely has plain `yield;` or `yield value;` statements without returning
45
- the values. Defaults to `false`.
46
-
47
- <a name="user-content-require-yields-check-context-and-settings"></a>
48
- <a name="require-yields-check-context-and-settings"></a>
49
- ## Context and settings
50
-
51
- |||
52
- |---|---|
53
- |Context|`ArrowFunctionExpression`, `FunctionDeclaration`, `FunctionExpression`|
54
- |Tags|`yields`|
55
- |Aliases|`yield`|
56
- |Recommended|true|
57
- |Options|`checkGeneratorsOnly`, `contexts`, `exemptedBy`, `next`|
58
-
59
- <a name="user-content-require-yields-check-failing-examples"></a>
60
- <a name="require-yields-check-failing-examples"></a>
61
- ## Failing examples
62
-
63
- The following patterns are considered problems:
64
-
65
- ````js
66
- /**
67
- * @yields
68
- */
69
- function * quux (foo) {
70
-
71
- }
72
- // Message: JSDoc @yields declaration present but yield expression not available in function.
73
-
74
- /**
75
- * @yields
76
- */
77
- function quux (foo) {
78
-
79
- }
80
- // "jsdoc/require-yields-check": ["error"|"warn", {"checkGeneratorsOnly":true}]
81
- // Message: JSDoc @yields declaration present but yield expression not available in function.
82
-
83
- /**
84
- * @next
85
- */
86
- function quux (foo) {
87
-
88
- }
89
- // "jsdoc/require-yields-check": ["error"|"warn", {"checkGeneratorsOnly":true,"next":true}]
90
- // Message: JSDoc @next declaration present but yield expression with return value not available in function.
91
-
92
- /**
93
- * @next {SomeType}
94
- */
95
- function * quux (foo) {
96
-
97
- }
98
- // "jsdoc/require-yields-check": ["error"|"warn", {"next":true}]
99
- // Message: JSDoc @next declaration present but yield expression with return value not available in function.
100
-
101
- /**
102
- * @next {SomeType}
103
- */
104
- function * quux (foo) {
105
- yield;
106
- }
107
- // "jsdoc/require-yields-check": ["error"|"warn", {"next":true}]
108
- // Message: JSDoc @next declaration present but yield expression with return value not available in function.
109
-
110
- /**
111
- * @next {SomeType}
112
- */
113
- function * quux (foo) {
114
- yield 5;
115
- }
116
- // "jsdoc/require-yields-check": ["error"|"warn", {"next":true}]
117
- // Message: JSDoc @next declaration present but yield expression with return value not available in function.
118
-
119
- /**
120
- * @yield
121
- */
122
- function * quux (foo) {
123
-
124
- }
125
- // Settings: {"jsdoc":{"tagNamePreference":{"yields":"yield"}}}
126
- // Message: JSDoc @yield declaration present but yield expression not available in function.
127
-
128
- /**
129
- * @yield-returns {Something}
130
- */
131
- function * quux (foo) {
132
- yield;
133
- }
134
- // Settings: {"jsdoc":{"tagNamePreference":{"next":"yield-returns"}}}
135
- // "jsdoc/require-yields-check": ["error"|"warn", {"next":true}]
136
- // Message: JSDoc @yield-returns declaration present but yield expression with return value not available in function.
137
-
138
- /**
139
- * @yields {undefined} Foo.
140
- * @yields {String} Foo.
141
- */
142
- function * quux () {
143
-
144
- yield foo;
145
- }
146
- // Message: Found more than one @yields declaration.
147
-
148
- class Foo {
149
- /**
150
- * @yields {string}
151
- */
152
- * bar () {
153
- }
154
- }
155
- // Message: JSDoc @yields declaration present but yield expression not available in function.
156
-
157
- /**
158
- * @yields
159
- */
160
- function * quux () {
161
-
162
- }
163
- // Settings: {"jsdoc":{"tagNamePreference":{"yields":false}}}
164
- // Message: Unexpected tag `@yields`
165
-
166
- /**
167
- * @next
168
- */
169
- function * quux () {
170
-
171
- }
172
- // Settings: {"jsdoc":{"tagNamePreference":{"next":false}}}
173
- // "jsdoc/require-yields-check": ["error"|"warn", {"next":true}]
174
- // Message: Unexpected tag `@next`
175
-
176
- /**
177
- * @yields {string}
178
- */
179
- function * f () {
180
- function * g() {
181
- yield 'foo'
182
- }
183
- }
184
- // Message: JSDoc @yields declaration present but yield expression not available in function.
185
-
186
- /**
187
- * @yields {Promise<void>}
188
- */
189
- async function * quux() {}
190
- // Message: JSDoc @yields declaration present but yield expression not available in function.
191
-
192
- /**
193
- * @yields {Promise<void>}
194
- */
195
- const quux = async function * () {}
196
- // Message: JSDoc @yields declaration present but yield expression not available in function.
197
-
198
- /**
199
- * @yields {never} Foo.
200
- */
201
- function * quux () {
202
- yield 5;
203
- }
204
- // Message: JSDoc @yields declaration set with "never" but yield expression is present in function.
205
-
206
- /**
207
- * @next {never}
208
- */
209
- function * quux (foo) {
210
- const a = yield;
211
- }
212
- // "jsdoc/require-yields-check": ["error"|"warn", {"next":true}]
213
- // Message: JSDoc @next declaration set with "never" but yield expression with return value is present in function.
214
- ````
215
-
216
-
217
-
218
- <a name="user-content-require-yields-check-passing-examples"></a>
219
- <a name="require-yields-check-passing-examples"></a>
220
- ## Passing examples
221
-
222
- The following patterns are not considered problems:
223
-
224
- ````js
225
- /**
226
- * @yields Foo.
227
- */
228
- function * quux () {
229
-
230
- yield foo;
231
- }
232
-
233
- /**
234
- * @yields {string} Foo.
235
- */
236
- function * quux () {
237
-
238
- yield foo;
239
- }
240
-
241
- /**
242
- * @yields {string} Foo.
243
- */
244
- function * quux () {
245
-
246
- yield foo;
247
- }
248
-
249
- /**
250
- *
251
- */
252
- function * quux () {
253
- }
254
-
255
- /**
256
- * @yields {undefined} Foo.
257
- */
258
- function * quux () {}
259
-
260
- /**
261
- * @yields { void } Foo.
262
- */
263
- function quux () {}
264
-
265
- /**
266
- * @yields Foo.
267
- * @abstract
268
- */
269
- function * quux () {
270
- throw new Error('must be implemented by subclass!');
271
- }
272
-
273
- /**
274
- * @yields Foo.
275
- * @virtual
276
- */
277
- function * quux () {
278
- throw new Error('must be implemented by subclass!');
279
- }
280
-
281
- /**
282
- * @yields Foo.
283
- * @constructor
284
- */
285
- function * quux () {
286
- }
287
-
288
- /**
289
- * @interface
290
- */
291
- class Foo {
292
- /**
293
- * @yields {string}
294
- */
295
- * bar () {
296
- }
297
- }
298
-
299
- /**
300
- * @record
301
- */
302
- class Foo {
303
- /**
304
- * @yields {string}
305
- */
306
- * bar () {
307
- }
308
- }
309
- // Settings: {"jsdoc":{"mode":"closure"}}
310
-
311
- /**
312
- * @yields {undefined} Foo.
313
- */
314
- function * quux () {
315
- }
316
-
317
- /**
318
- * @yields {void} Foo.
319
- */
320
- function * quux () {
321
- }
322
-
323
- /**
324
- * @yields {never} Foo.
325
- */
326
- function * quux () {
327
- }
328
-
329
- /**
330
- * @yields {void} Foo.
331
- */
332
- function * quux () {
333
- yield undefined;
334
- }
335
-
336
- /**
337
- * @yields {void} Foo.
338
- */
339
- function * quux () {
340
- yield;
341
- }
342
-
343
- /**
344
- *
345
- */
346
- function * quux () {
347
- yield undefined;
348
- }
349
-
350
- /**
351
- *
352
- */
353
- function * quux () {
354
- yield;
355
- }
356
-
357
- /**
358
- * @yields {true}
359
- */
360
- function * quux () {
361
- try {
362
- yield true;
363
- } catch (err) {
364
- }
365
- yield;
366
- }
367
-
368
- /**
369
- * @yields {true}
370
- */
371
- function * quux () {
372
- try {
373
- } finally {
374
- yield true;
375
- }
376
- yield;
377
- }
378
-
379
- /**
380
- * @yields {true}
381
- */
382
- function * quux () {
383
- try {
384
- yield;
385
- } catch (err) {
386
- }
387
- yield true;
388
- }
389
-
390
- /**
391
- * @yields {true}
392
- */
393
- function * quux () {
394
- try {
395
- something();
396
- } catch (err) {
397
- yield true;
398
- }
399
- yield;
400
- }
401
-
402
- /**
403
- * @yields {true}
404
- */
405
- function * quux () {
406
- switch (true) {
407
- case 'abc':
408
- yield true;
409
- }
410
- yield;
411
- }
412
-
413
- /**
414
- * @yields {true}
415
- */
416
- function * quux () {
417
- switch (true) {
418
- case 'abc':
419
- yield;
420
- }
421
- yield true;
422
- }
423
-
424
- /**
425
- * @yields {true}
426
- */
427
- function * quux () {
428
- for (const i of abc) {
429
- yield true;
430
- }
431
- yield;
432
- }
433
-
434
- /**
435
- * @yields {true}
436
- */
437
- function * quux () {
438
- for (const a in b) {
439
- yield true;
440
- }
441
- }
442
-
443
- /**
444
- * @yields {true}
445
- */
446
- function * quux () {
447
- for (let i=0; i<n; i+=1) {
448
- yield true;
449
- }
450
- }
451
-
452
- /**
453
- * @yields {true}
454
- */
455
- function * quux () {
456
- while(true) {
457
- yield true
458
- }
459
- }
460
-
461
- /**
462
- * @yields {true}
463
- */
464
- function * quux () {
465
- do {
466
- yield true
467
- }
468
- while(true)
469
- }
470
-
471
- /**
472
- * @yields {true}
473
- */
474
- function * quux () {
475
- if (true) {
476
- yield;
477
- }
478
- yield true;
479
- }
480
-
481
- /**
482
- * @yields {true}
483
- */
484
- function * quux () {
485
- if (true) {
486
- yield true;
487
- }
488
- }
489
-
490
- /**
491
- * @yields {true}
492
- */
493
- function * quux () {
494
- var a = {};
495
- with (a) {
496
- yield true;
497
- }
498
- }
499
-
500
- /**
501
- * @yields {true}
502
- */
503
- function * quux () {
504
- if (true) {
505
- yield;
506
- } else {
507
- yield true;
508
- }
509
- yield;
510
- }
511
-
512
- /**
513
- * @next {void}
514
- */
515
- function * quux (foo) {
516
-
517
- }
518
- // "jsdoc/require-yields-check": ["error"|"warn", {"next":true}]
519
-
520
- /**
521
- * @next {SomeType}
522
- */
523
- function * quux (foo) {
524
- const a = yield;
525
- }
526
- // "jsdoc/require-yields-check": ["error"|"warn", {"next":true}]
527
-
528
- /**
529
- * @next {SomeType}
530
- */
531
- function * quux (foo) {
532
- const a = yield 5;
533
- }
534
- // "jsdoc/require-yields-check": ["error"|"warn", {"next":true}]
535
-
536
- /**
537
- * @next {never}
538
- */
539
- function * quux (foo) {
540
-
541
- }
542
- // "jsdoc/require-yields-check": ["error"|"warn", {"next":true}]
543
- ````
544
-