eslint-plugin-jsdoc 52.0.4 → 53.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (359) hide show
  1. package/dist/WarnSettings.cjs +18 -35
  2. package/dist/WarnSettings.cjs.map +1 -1
  3. package/dist/WarnSettings.js +20 -0
  4. package/dist/WarnSettings.js.map +1 -0
  5. package/dist/_virtual/rolldown_runtime.cjs +32 -0
  6. package/dist/_virtual/rolldown_runtime.js +11 -0
  7. package/dist/alignTransform.cjs +224 -305
  8. package/dist/alignTransform.cjs.map +1 -1
  9. package/dist/alignTransform.js +241 -0
  10. package/dist/alignTransform.js.map +1 -0
  11. package/dist/defaultTagOrder.cjs +132 -43
  12. package/dist/defaultTagOrder.cjs.map +1 -1
  13. package/dist/defaultTagOrder.js +134 -0
  14. package/dist/defaultTagOrder.js.map +1 -0
  15. package/dist/exportParser.cjs +478 -696
  16. package/dist/exportParser.cjs.map +1 -1
  17. package/dist/exportParser.js +518 -0
  18. package/dist/exportParser.js.map +1 -0
  19. package/dist/getDefaultTagStructureForMode.cjs +184 -288
  20. package/dist/getDefaultTagStructureForMode.cjs.map +1 -1
  21. package/dist/getDefaultTagStructureForMode.js +188 -0
  22. package/dist/getDefaultTagStructureForMode.js.map +1 -0
  23. package/dist/getJsdocProcessorPlugin.cjs +364 -550
  24. package/dist/getJsdocProcessorPlugin.cjs.map +1 -1
  25. package/dist/getJsdocProcessorPlugin.d.cts +70 -0
  26. package/dist/getJsdocProcessorPlugin.d.cts.map +1 -0
  27. package/dist/getJsdocProcessorPlugin.d.ts +68 -65
  28. package/dist/getJsdocProcessorPlugin.d.ts.map +1 -1
  29. package/dist/getJsdocProcessorPlugin.js +383 -0
  30. package/dist/getJsdocProcessorPlugin.js.map +1 -0
  31. package/dist/index.cjs +2 -410
  32. package/dist/index.d.cts +2 -0
  33. package/dist/index.d.ts +2 -17
  34. package/dist/index.js +3 -0
  35. package/dist/iterateJsdoc.cjs +1539 -1988
  36. package/dist/iterateJsdoc.cjs.map +1 -1
  37. package/dist/iterateJsdoc.d.cts +472 -0
  38. package/dist/iterateJsdoc.d.cts.map +1 -0
  39. package/dist/iterateJsdoc.d.ts +359 -349
  40. package/dist/iterateJsdoc.d.ts.map +1 -1
  41. package/dist/iterateJsdoc.js +1628 -0
  42. package/dist/iterateJsdoc.js.map +1 -0
  43. package/dist/jsdocUtils.cjs +1009 -1376
  44. package/dist/jsdocUtils.cjs.map +1 -1
  45. package/dist/jsdocUtils.js +1123 -0
  46. package/dist/jsdocUtils.js.map +1 -0
  47. package/dist/plugin.cjs +427 -0
  48. package/dist/plugin.cjs.map +1 -0
  49. package/dist/plugin.js +427 -0
  50. package/dist/plugin.js.map +1 -0
  51. package/dist/rules/checkAccess.cjs +29 -36
  52. package/dist/rules/checkAccess.cjs.map +1 -1
  53. package/dist/rules/checkAccess.js +33 -0
  54. package/dist/rules/checkAccess.js.map +1 -0
  55. package/dist/rules/checkAlignment.cjs +41 -54
  56. package/dist/rules/checkAlignment.cjs.map +1 -1
  57. package/dist/rules/checkAlignment.js +47 -0
  58. package/dist/rules/checkAlignment.js.map +1 -0
  59. package/dist/rules/checkExamples.cjs +327 -484
  60. package/dist/rules/checkExamples.cjs.map +1 -1
  61. package/dist/rules/checkExamples.js +348 -0
  62. package/dist/rules/checkExamples.js.map +1 -0
  63. package/dist/rules/checkIndentation.cjs +50 -65
  64. package/dist/rules/checkIndentation.cjs.map +1 -1
  65. package/dist/rules/checkIndentation.js +59 -0
  66. package/dist/rules/checkIndentation.js.map +1 -0
  67. package/dist/rules/checkLineAlignment.cjs +220 -311
  68. package/dist/rules/checkLineAlignment.cjs.map +1 -1
  69. package/dist/rules/checkLineAlignment.js +229 -0
  70. package/dist/rules/checkLineAlignment.js.map +1 -0
  71. package/dist/rules/checkParamNames.cjs +227 -335
  72. package/dist/rules/checkParamNames.cjs.map +1 -1
  73. package/dist/rules/checkParamNames.js +237 -0
  74. package/dist/rules/checkParamNames.js.map +1 -0
  75. package/dist/rules/checkPropertyNames.cjs +78 -106
  76. package/dist/rules/checkPropertyNames.cjs.map +1 -1
  77. package/dist/rules/checkPropertyNames.js +88 -0
  78. package/dist/rules/checkPropertyNames.js.map +1 -0
  79. package/dist/rules/checkSyntax.cjs +21 -34
  80. package/dist/rules/checkSyntax.cjs.map +1 -1
  81. package/dist/rules/checkSyntax.js +25 -0
  82. package/dist/rules/checkSyntax.js.map +1 -0
  83. package/dist/rules/checkTagNames.cjs +188 -210
  84. package/dist/rules/checkTagNames.cjs.map +1 -1
  85. package/dist/rules/checkTagNames.js +191 -0
  86. package/dist/rules/checkTagNames.js.map +1 -0
  87. package/dist/rules/checkTemplateNames.cjs +121 -178
  88. package/dist/rules/checkTemplateNames.cjs.map +1 -1
  89. package/dist/rules/checkTemplateNames.js +124 -0
  90. package/dist/rules/checkTemplateNames.js.map +1 -0
  91. package/dist/rules/checkTypes.cjs +291 -385
  92. package/dist/rules/checkTypes.cjs.map +1 -1
  93. package/dist/rules/checkTypes.js +299 -0
  94. package/dist/rules/checkTypes.js.map +1 -0
  95. package/dist/rules/checkValues.cjs +100 -146
  96. package/dist/rules/checkValues.cjs.map +1 -1
  97. package/dist/rules/checkValues.js +103 -0
  98. package/dist/rules/checkValues.js.map +1 -0
  99. package/dist/rules/convertToJsdocComments.cjs +228 -306
  100. package/dist/rules/convertToJsdocComments.cjs.map +1 -1
  101. package/dist/rules/convertToJsdocComments.js +231 -0
  102. package/dist/rules/convertToJsdocComments.js.map +1 -0
  103. package/dist/rules/emptyTags.cjs +62 -72
  104. package/dist/rules/emptyTags.cjs.map +1 -1
  105. package/dist/rules/emptyTags.js +67 -0
  106. package/dist/rules/emptyTags.js.map +1 -0
  107. package/dist/rules/implementsOnClasses.cjs +36 -56
  108. package/dist/rules/implementsOnClasses.cjs.map +1 -1
  109. package/dist/rules/implementsOnClasses.js +40 -0
  110. package/dist/rules/implementsOnClasses.js.map +1 -0
  111. package/dist/rules/importsAsDependencies.cjs +62 -99
  112. package/dist/rules/importsAsDependencies.cjs.map +1 -1
  113. package/dist/rules/importsAsDependencies.js +68 -0
  114. package/dist/rules/importsAsDependencies.js.map +1 -0
  115. package/dist/rules/informativeDocs.cjs +105 -142
  116. package/dist/rules/informativeDocs.cjs.map +1 -1
  117. package/dist/rules/informativeDocs.js +110 -0
  118. package/dist/rules/informativeDocs.js.map +1 -0
  119. package/dist/rules/linesBeforeBlock.cjs +70 -105
  120. package/dist/rules/linesBeforeBlock.cjs.map +1 -1
  121. package/dist/rules/linesBeforeBlock.js +75 -0
  122. package/dist/rules/linesBeforeBlock.js.map +1 -0
  123. package/dist/rules/matchDescription.cjs +160 -222
  124. package/dist/rules/matchDescription.cjs.map +1 -1
  125. package/dist/rules/matchDescription.js +167 -0
  126. package/dist/rules/matchDescription.js.map +1 -0
  127. package/dist/rules/matchName.cjs +73 -128
  128. package/dist/rules/matchName.cjs.map +1 -1
  129. package/dist/rules/matchName.js +77 -0
  130. package/dist/rules/matchName.js.map +1 -0
  131. package/dist/rules/multilineBlocks.cjs +235 -352
  132. package/dist/rules/multilineBlocks.cjs.map +1 -1
  133. package/dist/rules/multilineBlocks.js +245 -0
  134. package/dist/rules/multilineBlocks.js.map +1 -0
  135. package/dist/rules/noBadBlocks.cjs +63 -86
  136. package/dist/rules/noBadBlocks.cjs.map +1 -1
  137. package/dist/rules/noBadBlocks.js +68 -0
  138. package/dist/rules/noBadBlocks.js.map +1 -0
  139. package/dist/rules/noBlankBlockDescriptions.cjs +35 -57
  140. package/dist/rules/noBlankBlockDescriptions.cjs.map +1 -1
  141. package/dist/rules/noBlankBlockDescriptions.js +41 -0
  142. package/dist/rules/noBlankBlockDescriptions.js.map +1 -0
  143. package/dist/rules/noBlankBlocks.cjs +26 -48
  144. package/dist/rules/noBlankBlocks.cjs.map +1 -1
  145. package/dist/rules/noBlankBlocks.js +30 -0
  146. package/dist/rules/noBlankBlocks.js.map +1 -0
  147. package/dist/rules/noDefaults.cjs +52 -79
  148. package/dist/rules/noDefaults.cjs.map +1 -1
  149. package/dist/rules/noDefaults.js +56 -0
  150. package/dist/rules/noDefaults.js.map +1 -0
  151. package/dist/rules/noMissingSyntax.cjs +115 -165
  152. package/dist/rules/noMissingSyntax.cjs.map +1 -1
  153. package/dist/rules/noMissingSyntax.js +126 -0
  154. package/dist/rules/noMissingSyntax.js.map +1 -0
  155. package/dist/rules/noMultiAsterisks.cjs +48 -89
  156. package/dist/rules/noMultiAsterisks.cjs.map +1 -1
  157. package/dist/rules/noMultiAsterisks.js +58 -0
  158. package/dist/rules/noMultiAsterisks.js.map +1 -0
  159. package/dist/rules/noRestrictedSyntax.cjs +45 -79
  160. package/dist/rules/noRestrictedSyntax.cjs.map +1 -1
  161. package/dist/rules/noRestrictedSyntax.js +49 -0
  162. package/dist/rules/noRestrictedSyntax.js.map +1 -0
  163. package/dist/rules/noTypes.cjs +59 -80
  164. package/dist/rules/noTypes.cjs.map +1 -1
  165. package/dist/rules/noTypes.js +65 -0
  166. package/dist/rules/noTypes.js.map +1 -0
  167. package/dist/rules/noUndefinedTypes.cjs +297 -388
  168. package/dist/rules/noUndefinedTypes.cjs.map +1 -1
  169. package/dist/rules/noUndefinedTypes.js +303 -0
  170. package/dist/rules/noUndefinedTypes.js.map +1 -0
  171. package/dist/rules/requireAsteriskPrefix.cjs +108 -159
  172. package/dist/rules/requireAsteriskPrefix.cjs.map +1 -1
  173. package/dist/rules/requireAsteriskPrefix.js +112 -0
  174. package/dist/rules/requireAsteriskPrefix.js.map +1 -0
  175. package/dist/rules/requireDescription.cjs +89 -129
  176. package/dist/rules/requireDescription.cjs.map +1 -1
  177. package/dist/rules/requireDescription.js +95 -0
  178. package/dist/rules/requireDescription.js.map +1 -0
  179. package/dist/rules/requireDescriptionCompleteSentence.cjs +201 -262
  180. package/dist/rules/requireDescriptionCompleteSentence.cjs.map +1 -1
  181. package/dist/rules/requireDescriptionCompleteSentence.js +220 -0
  182. package/dist/rules/requireDescriptionCompleteSentence.js.map +1 -0
  183. package/dist/rules/requireExample.cjs +73 -104
  184. package/dist/rules/requireExample.cjs.map +1 -1
  185. package/dist/rules/requireExample.js +77 -0
  186. package/dist/rules/requireExample.js.map +1 -0
  187. package/dist/rules/requireFileOverview.cjs +75 -129
  188. package/dist/rules/requireFileOverview.cjs.map +1 -1
  189. package/dist/rules/requireFileOverview.js +81 -0
  190. package/dist/rules/requireFileOverview.js.map +1 -0
  191. package/dist/rules/requireHyphenBeforeParamDescription.cjs +85 -133
  192. package/dist/rules/requireHyphenBeforeParamDescription.cjs.map +1 -1
  193. package/dist/rules/requireHyphenBeforeParamDescription.js +89 -0
  194. package/dist/rules/requireHyphenBeforeParamDescription.js.map +1 -0
  195. package/dist/rules/requireJsdoc.cjs +384 -557
  196. package/dist/rules/requireJsdoc.cjs.map +1 -1
  197. package/dist/rules/requireJsdoc.js +404 -0
  198. package/dist/rules/requireJsdoc.js.map +1 -0
  199. package/dist/rules/requireParam.cjs +336 -526
  200. package/dist/rules/requireParam.cjs.map +1 -1
  201. package/dist/rules/requireParam.js +344 -0
  202. package/dist/rules/requireParam.js.map +1 -0
  203. package/dist/rules/requireParamDescription.cjs +55 -80
  204. package/dist/rules/requireParamDescription.cjs.map +1 -1
  205. package/dist/rules/requireParamDescription.js +59 -0
  206. package/dist/rules/requireParamDescription.js.map +1 -0
  207. package/dist/rules/requireParamName.cjs +32 -50
  208. package/dist/rules/requireParamName.cjs.map +1 -1
  209. package/dist/rules/requireParamName.js +36 -0
  210. package/dist/rules/requireParamName.js.map +1 -0
  211. package/dist/rules/requireParamType.cjs +55 -80
  212. package/dist/rules/requireParamType.cjs.map +1 -1
  213. package/dist/rules/requireParamType.js +59 -0
  214. package/dist/rules/requireParamType.js.map +1 -0
  215. package/dist/rules/requireProperty.cjs +31 -42
  216. package/dist/rules/requireProperty.cjs.map +1 -1
  217. package/dist/rules/requireProperty.js +35 -0
  218. package/dist/rules/requireProperty.js.map +1 -0
  219. package/dist/rules/requirePropertyDescription.cjs +17 -25
  220. package/dist/rules/requirePropertyDescription.cjs.map +1 -1
  221. package/dist/rules/requirePropertyDescription.js +21 -0
  222. package/dist/rules/requirePropertyDescription.js.map +1 -0
  223. package/dist/rules/requirePropertyName.cjs +17 -25
  224. package/dist/rules/requirePropertyName.cjs.map +1 -1
  225. package/dist/rules/requirePropertyName.js +21 -0
  226. package/dist/rules/requirePropertyName.js.map +1 -0
  227. package/dist/rules/requirePropertyType.cjs +17 -25
  228. package/dist/rules/requirePropertyType.cjs.map +1 -1
  229. package/dist/rules/requirePropertyType.js +21 -0
  230. package/dist/rules/requirePropertyType.js.map +1 -0
  231. package/dist/rules/requireReturns.cjs +125 -203
  232. package/dist/rules/requireReturns.cjs.map +1 -1
  233. package/dist/rules/requireReturns.js +131 -0
  234. package/dist/rules/requireReturns.js.map +1 -0
  235. package/dist/rules/requireReturnsCheck.cjs +60 -103
  236. package/dist/rules/requireReturnsCheck.cjs.map +1 -1
  237. package/dist/rules/requireReturnsCheck.js +66 -0
  238. package/dist/rules/requireReturnsCheck.js.map +1 -0
  239. package/dist/rules/requireReturnsDescription.cjs +39 -54
  240. package/dist/rules/requireReturnsDescription.cjs.map +1 -1
  241. package/dist/rules/requireReturnsDescription.js +43 -0
  242. package/dist/rules/requireReturnsDescription.js.map +1 -0
  243. package/dist/rules/requireReturnsType.cjs +32 -50
  244. package/dist/rules/requireReturnsType.cjs.map +1 -1
  245. package/dist/rules/requireReturnsType.js +36 -0
  246. package/dist/rules/requireReturnsType.js.map +1 -0
  247. package/dist/rules/requireTemplate.cjs +119 -178
  248. package/dist/rules/requireTemplate.cjs.map +1 -1
  249. package/dist/rules/requireTemplate.js +122 -0
  250. package/dist/rules/requireTemplate.js.map +1 -0
  251. package/dist/rules/requireThrows.cjs +61 -95
  252. package/dist/rules/requireThrows.cjs.map +1 -1
  253. package/dist/rules/requireThrows.js +67 -0
  254. package/dist/rules/requireThrows.js.map +1 -0
  255. package/dist/rules/requireYields.cjs +106 -166
  256. package/dist/rules/requireYields.cjs.map +1 -1
  257. package/dist/rules/requireYields.js +115 -0
  258. package/dist/rules/requireYields.js.map +1 -0
  259. package/dist/rules/requireYieldsCheck.cjs +96 -152
  260. package/dist/rules/requireYieldsCheck.cjs.map +1 -1
  261. package/dist/rules/requireYieldsCheck.js +105 -0
  262. package/dist/rules/requireYieldsCheck.js.map +1 -0
  263. package/dist/rules/sortTags.cjs +258 -444
  264. package/dist/rules/sortTags.cjs.map +1 -1
  265. package/dist/rules/sortTags.js +262 -0
  266. package/dist/rules/sortTags.js.map +1 -0
  267. package/dist/rules/tagLines.cjs +179 -266
  268. package/dist/rules/tagLines.cjs.map +1 -1
  269. package/dist/rules/tagLines.js +183 -0
  270. package/dist/rules/tagLines.js.map +1 -0
  271. package/dist/rules/textEscaping.cjs +92 -127
  272. package/dist/rules/textEscaping.cjs.map +1 -1
  273. package/dist/rules/textEscaping.js +102 -0
  274. package/dist/rules/textEscaping.js.map +1 -0
  275. package/dist/rules/validTypes.cjs +252 -265
  276. package/dist/rules/validTypes.cjs.map +1 -1
  277. package/dist/rules/validTypes.js +259 -0
  278. package/dist/rules/validTypes.js.map +1 -0
  279. package/dist/tagNames.cjs +134 -170
  280. package/dist/tagNames.cjs.map +1 -1
  281. package/dist/tagNames.js +144 -0
  282. package/dist/tagNames.js.map +1 -0
  283. package/dist/utils/hasReturnValue.cjs +246 -474
  284. package/dist/utils/hasReturnValue.cjs.map +1 -1
  285. package/dist/utils/hasReturnValue.js +265 -0
  286. package/dist/utils/hasReturnValue.js.map +1 -0
  287. package/package.json +40 -24
  288. package/dist/generateRule.cjs +0 -242
  289. package/dist/generateRule.cjs.map +0 -1
  290. package/dist/index.cjs.map +0 -1
  291. package/dist/index.d.ts.map +0 -1
  292. package/src/WarnSettings.js +0 -34
  293. package/src/alignTransform.js +0 -358
  294. package/src/defaultTagOrder.js +0 -169
  295. package/src/exportParser.js +0 -978
  296. package/src/getDefaultTagStructureForMode.js +0 -969
  297. package/src/getJsdocProcessorPlugin.js +0 -672
  298. package/src/index.js +0 -530
  299. package/src/iterateJsdoc.js +0 -2518
  300. package/src/jsdocUtils.js +0 -1896
  301. package/src/rules/checkAccess.js +0 -45
  302. package/src/rules/checkAlignment.js +0 -63
  303. package/src/rules/checkExamples.js +0 -589
  304. package/src/rules/checkIndentation.js +0 -75
  305. package/src/rules/checkLineAlignment.js +0 -372
  306. package/src/rules/checkParamNames.js +0 -474
  307. package/src/rules/checkPropertyNames.js +0 -152
  308. package/src/rules/checkSyntax.js +0 -30
  309. package/src/rules/checkTagNames.js +0 -314
  310. package/src/rules/checkTemplateNames.js +0 -204
  311. package/src/rules/checkTypes.js +0 -535
  312. package/src/rules/checkValues.js +0 -248
  313. package/src/rules/convertToJsdocComments.js +0 -398
  314. package/src/rules/emptyTags.js +0 -98
  315. package/src/rules/implementsOnClasses.js +0 -64
  316. package/src/rules/importsAsDependencies.js +0 -133
  317. package/src/rules/informativeDocs.js +0 -189
  318. package/src/rules/linesBeforeBlock.js +0 -134
  319. package/src/rules/matchDescription.js +0 -286
  320. package/src/rules/matchName.js +0 -151
  321. package/src/rules/multilineBlocks.js +0 -493
  322. package/src/rules/noBadBlocks.js +0 -119
  323. package/src/rules/noBlankBlockDescriptions.js +0 -69
  324. package/src/rules/noBlankBlocks.js +0 -53
  325. package/src/rules/noDefaults.js +0 -85
  326. package/src/rules/noMissingSyntax.js +0 -195
  327. package/src/rules/noMultiAsterisks.js +0 -134
  328. package/src/rules/noRestrictedSyntax.js +0 -91
  329. package/src/rules/noTypes.js +0 -93
  330. package/src/rules/noUndefinedTypes.js +0 -543
  331. package/src/rules/requireAsteriskPrefix.js +0 -190
  332. package/src/rules/requireDescription.js +0 -161
  333. package/src/rules/requireDescriptionCompleteSentence.js +0 -335
  334. package/src/rules/requireExample.js +0 -118
  335. package/src/rules/requireFileOverview.js +0 -154
  336. package/src/rules/requireHyphenBeforeParamDescription.js +0 -176
  337. package/src/rules/requireJsdoc.js +0 -743
  338. package/src/rules/requireParam.js +0 -602
  339. package/src/rules/requireParamDescription.js +0 -89
  340. package/src/rules/requireParamName.js +0 -55
  341. package/src/rules/requireParamType.js +0 -89
  342. package/src/rules/requireProperty.js +0 -48
  343. package/src/rules/requirePropertyDescription.js +0 -25
  344. package/src/rules/requirePropertyName.js +0 -25
  345. package/src/rules/requirePropertyType.js +0 -25
  346. package/src/rules/requireReturns.js +0 -238
  347. package/src/rules/requireReturnsCheck.js +0 -145
  348. package/src/rules/requireReturnsDescription.js +0 -59
  349. package/src/rules/requireReturnsType.js +0 -51
  350. package/src/rules/requireTemplate.js +0 -201
  351. package/src/rules/requireThrows.js +0 -111
  352. package/src/rules/requireYields.js +0 -216
  353. package/src/rules/requireYieldsCheck.js +0 -208
  354. package/src/rules/sortTags.js +0 -558
  355. package/src/rules/tagLines.js +0 -359
  356. package/src/rules/textEscaping.js +0 -154
  357. package/src/rules/validTypes.js +0 -401
  358. package/src/tagNames.js +0 -238
  359. package/src/utils/hasReturnValue.js +0 -572
@@ -0,0 +1,472 @@
1
+ import * as eslint0 from "eslint";
2
+ import * as _es_joy_jsdoccomment0 from "@es-joy/jsdoccomment";
3
+ import { parseComment } from "@es-joy/jsdoccomment";
4
+ import * as comment_parser0 from "comment-parser";
5
+ import * as __jsdocUtils_js0 from "./jsdocUtils.js";
6
+ import * as __getDefaultTagStructureForMode_js0 from "./getDefaultTagStructureForMode.js";
7
+ import * as estree0 from "estree";
8
+
9
+ //#region src/iterateJsdoc.d.ts
10
+ /**
11
+ * @param {JsdocVisitor} iterator
12
+ * @param {RuleConfig} ruleConfig
13
+ * @returns {import('eslint').Rule.RuleModule}
14
+ */
15
+ declare function iterateJsdoc(iterator: JsdocVisitor, ruleConfig: RuleConfig): eslint0.Rule.RuleModule;
16
+ type Integer = number;
17
+ type JsdocBlockWithInline = _es_joy_jsdoccomment0.JsdocBlockWithInline;
18
+ type ContextObject = {
19
+ disallowName?: string;
20
+ allowName?: string;
21
+ context?: string;
22
+ comment?: string;
23
+ tags?: string[];
24
+ replacement?: string;
25
+ minimum?: Integer;
26
+ message?: string;
27
+ forceRequireReturn?: boolean;
28
+ };
29
+ type Context = string | ContextObject;
30
+ type CheckJsdoc = (info: {
31
+ lastIndex?: Integer;
32
+ isFunctionContext?: boolean;
33
+ selector?: string;
34
+ comment?: string;
35
+ }, handler: null | ((jsdoc: _es_joy_jsdoccomment0.JsdocBlockWithInline) => boolean | undefined), node: eslint0.Rule.Node) => void;
36
+ type ForEachPreferredTag = (tagName: string, arrayHandler: (matchingJsdocTag: _es_joy_jsdoccomment0.JsdocTagWithInline, targetTagName: string) => void, skipReportingBlockedTag?: boolean | undefined) => void;
37
+ type ReportSettings = (message: string) => void;
38
+ type ParseClosureTemplateTag = (tag: comment_parser0.Spec) => string[];
39
+ type GetPreferredTagNameObject = (cfg: {
40
+ tagName: string;
41
+ }) => string | false | {
42
+ message: string;
43
+ replacement?: string | undefined;
44
+ } | {
45
+ blocked: true;
46
+ tagName: string;
47
+ };
48
+ type BasicUtils = {
49
+ forEachPreferredTag: ForEachPreferredTag;
50
+ reportSettings: ReportSettings;
51
+ parseClosureTemplateTag: ParseClosureTemplateTag;
52
+ getPreferredTagNameObject: GetPreferredTagNameObject;
53
+ pathDoesNotBeginWith: __jsdocUtils_js0.PathDoesNotBeginWith;
54
+ };
55
+ type IsIteratingFunction = () => boolean;
56
+ type IsVirtualFunction = () => boolean;
57
+ type Stringify = (tagBlock: comment_parser0.Block, specRewire?: boolean | undefined) => string;
58
+ type ReportJSDoc = (msg: string, tag?: comment_parser0.Spec | {
59
+ line: Integer;
60
+ column?: Integer;
61
+ } | null | undefined, handler?: (() => void) | null | undefined, specRewire?: boolean | undefined, data?: undefined | {
62
+ [key: string]: string;
63
+ }) => any;
64
+ type GetRegexFromString = (str: string, requiredFlags?: string | undefined) => RegExp;
65
+ type GetTagDescription = (tg: comment_parser0.Spec, returnArray?: boolean | undefined) => string[] | string;
66
+ type SetTagDescription = (tg: comment_parser0.Spec, matcher: RegExp, setter: (description: string) => string) => Integer;
67
+ type GetDescription = () => {
68
+ description: string;
69
+ descriptions: string[];
70
+ lastDescriptionLine: Integer;
71
+ };
72
+ type SetBlockDescription = (setter: (info: {
73
+ delimiter: string;
74
+ postDelimiter: string;
75
+ start: string;
76
+ }, seedTokens: (tokens?: Partial<comment_parser0.Tokens>) => comment_parser0.Tokens, descLines: string[]) => comment_parser0.Line[]) => void;
77
+ type SetDescriptionLines = (matcher: RegExp, setter: (description: string) => string) => Integer;
78
+ type ChangeTag = (tag: comment_parser0.Spec, ...tokens: Partial<comment_parser0.Tokens>[]) => void;
79
+ type SetTag = (tag: comment_parser0.Spec & {
80
+ line: Integer;
81
+ }, tokens?: Partial<comment_parser0.Tokens> | undefined) => void;
82
+ type RemoveTag = (tagIndex: Integer, cfg?: {
83
+ removeEmptyBlock?: boolean;
84
+ tagSourceOffset?: Integer;
85
+ } | undefined) => void;
86
+ type AddTag = (targetTagName: string, number?: number | undefined, tokens?: {} | comment_parser0.Tokens | undefined) => void;
87
+ type GetFirstLine = () => Integer | undefined;
88
+ type SeedTokens = (tokens?: Partial<comment_parser0.Tokens> | undefined) => comment_parser0.Tokens;
89
+ /**
90
+ * Sets tokens to empty string.
91
+ */
92
+ type EmptyTokens = (tokens: comment_parser0.Tokens) => void;
93
+ type AddLine = (sourceIndex: Integer, tokens: Partial<comment_parser0.Tokens>) => void;
94
+ type AddLines = (tagIndex: Integer, tagSourceOffset: Integer, numLines: Integer) => void;
95
+ type MakeMultiline = () => void;
96
+ type GetFunctionParameterNames = (useDefaultObjectProperties?: boolean | undefined) => __jsdocUtils_js0.ParamNameInfo[];
97
+ type HasParams = () => Integer;
98
+ type IsGenerator = () => boolean;
99
+ type IsConstructor = () => boolean;
100
+ type GetJsdocTagsDeep = (tagName: string) => false | {
101
+ idx: Integer;
102
+ name: string;
103
+ type: string;
104
+ }[];
105
+ type GetPreferredTagName = (cfg: {
106
+ tagName: string;
107
+ skipReportingBlockedTag?: boolean;
108
+ allowObjectReturn?: boolean;
109
+ defaultMessage?: string;
110
+ }) => string | undefined | false | {
111
+ message: string;
112
+ replacement?: string | undefined;
113
+ } | {
114
+ blocked: true;
115
+ tagName: string;
116
+ };
117
+ type IsValidTag = (name: string, definedTags: string[]) => boolean;
118
+ type HasATag = (names: string[]) => boolean;
119
+ type HasTag = (name: string) => boolean;
120
+ type ComparePaths = (name: string) => (otherPathName: string) => boolean;
121
+ type DropPathSegmentQuotes = (name: string) => string;
122
+ type AvoidDocs = () => boolean;
123
+ type TagMightHaveNamePositionTypePosition = (tagName: string, otherModeMaps?: __getDefaultTagStructureForMode_js0.TagStructure[] | undefined) => boolean | {
124
+ otherMode: true;
125
+ };
126
+ type TagMustHave = (tagName: string, otherModeMaps: __getDefaultTagStructureForMode_js0.TagStructure[]) => boolean | {
127
+ otherMode: false;
128
+ };
129
+ type TagMissingRequiredTypeOrNamepath = (tag: comment_parser0.Spec, otherModeMaps: __getDefaultTagStructureForMode_js0.TagStructure[]) => boolean | {
130
+ otherMode: false;
131
+ };
132
+ type IsNamepathX = (tagName: string) => boolean;
133
+ type GetTagStructureForMode = (mde: __jsdocUtils_js0.ParserMode) => __getDefaultTagStructureForMode_js0.TagStructure;
134
+ type MayBeUndefinedTypeTag = (tag: comment_parser0.Spec) => boolean;
135
+ type HasValueOrExecutorHasNonEmptyResolveValue = (anyPromiseAsReturn: boolean, allBranches?: boolean | undefined) => boolean;
136
+ type HasYieldValue = () => boolean;
137
+ type HasYieldReturnValue = () => boolean;
138
+ type HasThrowValue = () => boolean;
139
+ type IsAsync = () => boolean | undefined;
140
+ type GetTags = (tagName: string) => comment_parser0.Spec[];
141
+ type GetPresentTags = (tagList: string[]) => _es_joy_jsdoccomment0.JsdocTagWithInline[];
142
+ type FilterTags = (filter: (tag: _es_joy_jsdoccomment0.JsdocTagWithInline) => boolean) => _es_joy_jsdoccomment0.JsdocTagWithInline[];
143
+ type FilterAllTags = (filter: (tag: (comment_parser0.Spec | _es_joy_jsdoccomment0.JsdocInlineTagNoType)) => boolean) => (comment_parser0.Spec | _es_joy_jsdoccomment0.JsdocInlineTagNoType)[];
144
+ type GetTagsByType = (tags: comment_parser0.Spec[]) => {
145
+ tagsWithNames: comment_parser0.Spec[];
146
+ tagsWithoutNames: comment_parser0.Spec[];
147
+ };
148
+ type HasOptionTag = (tagName: string) => boolean;
149
+ type GetClassNode = () => Node | null;
150
+ type GetClassJsdoc = () => null | JsdocBlockWithInline;
151
+ type ClassHasTag = (tagName: string) => boolean;
152
+ type FindContext = (contexts: Context[], comment: string | undefined) => {
153
+ foundContext: Context | undefined;
154
+ contextStr: string;
155
+ };
156
+ type Utils = BasicUtils & {
157
+ isIteratingFunction: IsIteratingFunction;
158
+ isIteratingFunctionOrVariable: IsIteratingFunction;
159
+ isVirtualFunction: IsVirtualFunction;
160
+ stringify: Stringify;
161
+ reportJSDoc: ReportJSDoc;
162
+ getRegexFromString: GetRegexFromString;
163
+ getTagDescription: GetTagDescription;
164
+ setTagDescription: SetTagDescription;
165
+ getDescription: GetDescription;
166
+ setBlockDescription: SetBlockDescription;
167
+ setDescriptionLines: SetDescriptionLines;
168
+ changeTag: ChangeTag;
169
+ setTag: SetTag;
170
+ removeTag: RemoveTag;
171
+ addTag: AddTag;
172
+ getFirstLine: GetFirstLine;
173
+ seedTokens: SeedTokens;
174
+ emptyTokens: EmptyTokens;
175
+ addLine: AddLine;
176
+ addLines: AddLines;
177
+ makeMultiline: MakeMultiline;
178
+ flattenRoots: __jsdocUtils_js0.FlattenRoots;
179
+ getFunctionParameterNames: GetFunctionParameterNames;
180
+ hasParams: HasParams;
181
+ isGenerator: IsGenerator;
182
+ isConstructor: IsConstructor;
183
+ getJsdocTagsDeep: GetJsdocTagsDeep;
184
+ getPreferredTagName: GetPreferredTagName;
185
+ isValidTag: IsValidTag;
186
+ hasATag: HasATag;
187
+ hasTag: HasTag;
188
+ comparePaths: ComparePaths;
189
+ dropPathSegmentQuotes: DropPathSegmentQuotes;
190
+ avoidDocs: AvoidDocs;
191
+ tagMightHaveNamePosition: TagMightHaveNamePositionTypePosition;
192
+ tagMightHaveTypePosition: TagMightHaveNamePositionTypePosition;
193
+ tagMustHaveNamePosition: TagMustHave;
194
+ tagMustHaveTypePosition: TagMustHave;
195
+ tagMissingRequiredTypeOrNamepath: TagMissingRequiredTypeOrNamepath;
196
+ isNamepathDefiningTag: IsNamepathX;
197
+ isNamepathReferencingTag: IsNamepathX;
198
+ isNamepathOrUrlReferencingTag: IsNamepathX;
199
+ tagMightHaveNamepath: IsNamepathX;
200
+ getTagStructureForMode: GetTagStructureForMode;
201
+ mayBeUndefinedTypeTag: MayBeUndefinedTypeTag;
202
+ hasValueOrExecutorHasNonEmptyResolveValue: HasValueOrExecutorHasNonEmptyResolveValue;
203
+ hasYieldValue: HasYieldValue;
204
+ hasYieldReturnValue: HasYieldReturnValue;
205
+ hasThrowValue: HasThrowValue;
206
+ isAsync: IsAsync;
207
+ getTags: GetTags;
208
+ getPresentTags: GetPresentTags;
209
+ filterTags: FilterTags;
210
+ filterAllTags: FilterAllTags;
211
+ getTagsByType: GetTagsByType;
212
+ hasOptionTag: HasOptionTag;
213
+ getClassNode: GetClassNode;
214
+ getClassJsdoc: GetClassJsdoc;
215
+ classHasTag: ClassHasTag;
216
+ findContext: FindContext;
217
+ };
218
+ /**
219
+ * Should use ESLint rule's typing.
220
+ */
221
+ type EslintRuleMeta = eslint0.Rule.RuleMetaData;
222
+ /**
223
+ * A plain object for tracking state as needed by rules across iterations.
224
+ */
225
+ type StateObject = {
226
+ globalTags: {};
227
+ hasDuplicates: {
228
+ [key: string]: boolean;
229
+ };
230
+ selectorMap: {
231
+ [selector: string]: {
232
+ [comment: string]: Integer;
233
+ };
234
+ };
235
+ hasTag: {
236
+ [key: string]: boolean;
237
+ };
238
+ hasNonComment: number;
239
+ hasNonCommentBeforeTag: {
240
+ [key: string]: boolean | number;
241
+ };
242
+ };
243
+ /**
244
+ * The Node AST as supplied by the parser.
245
+ */
246
+ type Node = eslint0.Rule.Node;
247
+ type Report = (message: string, fix?: eslint0.Rule.ReportFixer | null | undefined, jsdocLoc?: {
248
+ line?: Integer;
249
+ column?: Integer;
250
+ } | (comment_parser0.Spec & {
251
+ line?: Integer;
252
+ }) | null | undefined, data?: undefined | {
253
+ [key: string]: string;
254
+ }) => void;
255
+ type PreferredTypes = {
256
+ [key: string]: false | string | {
257
+ message: string;
258
+ replacement?: false | string;
259
+ skipRootChecking?: boolean;
260
+ };
261
+ };
262
+ type StructuredTags = {
263
+ [key: string]: {
264
+ name?: "text" | "namepath-defining" | "namepath-referencing" | false;
265
+ type?: boolean | string[];
266
+ required?: ("name" | "type" | "typeOrNameRequired")[];
267
+ };
268
+ };
269
+ /**
270
+ * Settings from ESLint types.
271
+ */
272
+ type Settings = {
273
+ maxLines: Integer;
274
+ minLines: Integer;
275
+ tagNamePreference: __jsdocUtils_js0.TagNamePreference;
276
+ mode: __jsdocUtils_js0.ParserMode;
277
+ preferredTypes: PreferredTypes;
278
+ structuredTags: StructuredTags;
279
+ [name: string]: any;
280
+ contexts?: Context[];
281
+ };
282
+ type JSDocSettings = {
283
+ settings?: {
284
+ jsdoc?: {
285
+ ignorePrivate: boolean;
286
+ ignoreInternal: boolean;
287
+ maxLines: Integer;
288
+ minLines: Integer;
289
+ tagNamePreference: __jsdocUtils_js0.TagNamePreference;
290
+ preferredTypes: PreferredTypes;
291
+ structuredTags: StructuredTags;
292
+ overrideReplacesDocs: boolean;
293
+ ignoreReplacesDocs: boolean;
294
+ implementsReplacesDocs: boolean;
295
+ augmentsExtendsReplacesDocs: boolean;
296
+ exemptDestructuredRootsFromChecks: boolean;
297
+ mode: __jsdocUtils_js0.ParserMode;
298
+ contexts: Context[];
299
+ };
300
+ };
301
+ };
302
+ /**
303
+ * Create the report function
304
+ */
305
+ type MakeReport = (context: eslint0.Rule.RuleContext, commentNode: estree0.Node) => Report;
306
+ type JsdocVisitorBasic = (arg: {
307
+ context: eslint0.Rule.RuleContext;
308
+ sourceCode: eslint0.SourceCode;
309
+ indent?: string;
310
+ info?: {
311
+ comment?: string | undefined;
312
+ lastIndex?: Integer | undefined;
313
+ };
314
+ state?: StateObject;
315
+ globalState?: Map<string, Map<string, string>>;
316
+ jsdoc?: JsdocBlockWithInline;
317
+ jsdocNode?: eslint0.Rule.Node & {
318
+ range: [number, number];
319
+ };
320
+ node?: Node;
321
+ allComments?: estree0.Node[];
322
+ report?: Report;
323
+ makeReport?: MakeReport;
324
+ settings: Settings;
325
+ utils: BasicUtils;
326
+ }) => any;
327
+ type JsdocVisitor = (arg: {
328
+ context: eslint0.Rule.RuleContext;
329
+ sourceCode: eslint0.SourceCode;
330
+ indent: string;
331
+ info: {
332
+ comment?: string | undefined;
333
+ lastIndex?: Integer | undefined;
334
+ };
335
+ state: StateObject;
336
+ globalState: Map<string, Map<string, string>>;
337
+ jsdoc: JsdocBlockWithInline;
338
+ jsdocNode: eslint0.Rule.Node & {
339
+ range: [number, number];
340
+ };
341
+ node: Node | null;
342
+ allComments?: estree0.Node[];
343
+ report: Report;
344
+ makeReport?: MakeReport;
345
+ settings: Settings;
346
+ utils: Utils;
347
+ }) => any;
348
+ type NonCommentArgs = {
349
+ node: Node & {
350
+ range: [number, number];
351
+ };
352
+ state: StateObject;
353
+ };
354
+ type RuleConfig = {
355
+ /**
356
+ * ESLint rule meta
357
+ */
358
+ meta: EslintRuleMeta;
359
+ /**
360
+ * Any default contexts
361
+ */
362
+ contextDefaults?: __jsdocUtils_js0.DefaultContexts | undefined;
363
+ /**
364
+ * Whether to force a `contexts` check
365
+ */
366
+ contextSelected?: true | undefined;
367
+ /**
368
+ * Whether to iterate all JSDoc blocks by default
369
+ * regardless of context
370
+ */
371
+ iterateAllJsdocs?: true | undefined;
372
+ /**
373
+ * Whether to check `@private` blocks (normally exempted)
374
+ */
375
+ checkPrivate?: true | undefined;
376
+ /**
377
+ * Whether to check `@internal` blocks (normally exempted)
378
+ */
379
+ checkInternal?: true | undefined;
380
+ /**
381
+ * Whether to iterates over all JSDoc blocks regardless of attachment
382
+ */
383
+ checkFile?: true | undefined;
384
+ /**
385
+ * Whether to avoid relying on settings for global contexts
386
+ */
387
+ nonGlobalSettings?: true | undefined;
388
+ /**
389
+ * Whether to disable the tracking of visited comment nodes (as
390
+ * non-tracked may conduct further actions)
391
+ */
392
+ noTracking?: true | undefined;
393
+ /**
394
+ * Whether the rule expects contexts to be based on a match option
395
+ */
396
+ matchContext?: true | undefined;
397
+ /**
398
+ * Handler to be executed upon exiting iteration of program AST
399
+ */
400
+ exit?: ((args: {
401
+ context: eslint0.Rule.RuleContext;
402
+ state: StateObject;
403
+ settings: Settings;
404
+ utils: BasicUtils;
405
+ }) => void) | undefined;
406
+ /**
407
+ * Handler to be executed if rule wishes
408
+ * to be supplied nodes without comments
409
+ */
410
+ nonComment?: ((nca: NonCommentArgs) => void) | undefined;
411
+ };
412
+ /**
413
+ * @typedef {{
414
+ * [key: string]: false|string|{
415
+ * message: string,
416
+ * replacement?: false|string
417
+ * skipRootChecking?: boolean
418
+ * }
419
+ * }} PreferredTypes
420
+ */
421
+ /**
422
+ * @typedef {{
423
+ * [key: string]: {
424
+ * name?: "text"|"namepath-defining"|"namepath-referencing"|false,
425
+ * type?: boolean|string[],
426
+ * required?: ("name"|"type"|"typeOrNameRequired")[]
427
+ * }
428
+ * }} StructuredTags
429
+ */
430
+ /**
431
+ * Settings from ESLint types.
432
+ * @typedef {{
433
+ * maxLines: Integer,
434
+ * minLines: Integer,
435
+ * tagNamePreference: import('./jsdocUtils.js').TagNamePreference,
436
+ * mode: import('./jsdocUtils.js').ParserMode,
437
+ * preferredTypes: PreferredTypes,
438
+ * structuredTags: StructuredTags,
439
+ * [name: string]: any,
440
+ * contexts?: Context[]
441
+ * }} Settings
442
+ */
443
+ /**
444
+ * @typedef {{
445
+ * settings?: {
446
+ * jsdoc?: {
447
+ * ignorePrivate: boolean,
448
+ * ignoreInternal: boolean,
449
+ * maxLines: Integer,
450
+ * minLines: Integer,
451
+ * tagNamePreference: import('./jsdocUtils.js').TagNamePreference,
452
+ * preferredTypes: PreferredTypes,
453
+ * structuredTags: StructuredTags,
454
+ * overrideReplacesDocs: boolean,
455
+ * ignoreReplacesDocs: boolean,
456
+ * implementsReplacesDocs: boolean,
457
+ * augmentsExtendsReplacesDocs: boolean,
458
+ * exemptDestructuredRootsFromChecks: boolean,
459
+ * mode: import('./jsdocUtils.js').ParserMode,
460
+ * contexts: Context[],
461
+ * }
462
+ * }
463
+ * }} JSDocSettings
464
+ */
465
+ /**
466
+ * @param {import('eslint').Rule.RuleContext & JSDocSettings} context
467
+ * @returns {Settings|false}
468
+ */
469
+ declare function getSettings(context: eslint0.Rule.RuleContext & JSDocSettings): Settings | false;
470
+ //#endregion
471
+ export { AddLine, AddLines, AddTag, AvoidDocs, BasicUtils, ChangeTag, CheckJsdoc, ClassHasTag, ComparePaths, Context, ContextObject, DropPathSegmentQuotes, EmptyTokens, EslintRuleMeta, FilterAllTags, FilterTags, FindContext, ForEachPreferredTag, GetClassJsdoc, GetClassNode, GetDescription, GetFirstLine, GetFunctionParameterNames, GetJsdocTagsDeep, GetPreferredTagName, GetPreferredTagNameObject, GetPresentTags, GetRegexFromString, GetTagDescription, GetTagStructureForMode, GetTags, GetTagsByType, HasATag, HasOptionTag, HasParams, HasTag, HasThrowValue, HasValueOrExecutorHasNonEmptyResolveValue, HasYieldReturnValue, HasYieldValue, Integer, IsAsync, IsConstructor, IsGenerator, IsIteratingFunction, IsNamepathX, IsValidTag, IsVirtualFunction, JSDocSettings, JsdocBlockWithInline, JsdocVisitor, JsdocVisitorBasic, MakeMultiline, MakeReport, MayBeUndefinedTypeTag, Node, NonCommentArgs, ParseClosureTemplateTag, PreferredTypes, RemoveTag, Report, ReportJSDoc, ReportSettings, RuleConfig, SeedTokens, SetBlockDescription, SetDescriptionLines, SetTag, SetTagDescription, Settings, StateObject, Stringify, StructuredTags, TagMightHaveNamePositionTypePosition, TagMissingRequiredTypeOrNamepath, TagMustHave, Utils, iterateJsdoc as default, getSettings, parseComment };
472
+ //# sourceMappingURL=iterateJsdoc.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iterateJsdoc.d.cts","names":[],"sources":["../src/iterateJsdoc.js"],"sourcesContent":[],"mappings":"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"}