eslint-plugin-jsdoc 53.0.1 → 54.0.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 (359) hide show
  1. package/dist/WarnSettings.cjs +35 -18
  2. package/dist/WarnSettings.cjs.map +1 -1
  3. package/dist/alignTransform.cjs +305 -224
  4. package/dist/alignTransform.cjs.map +1 -1
  5. package/dist/defaultTagOrder.cjs +43 -132
  6. package/dist/defaultTagOrder.cjs.map +1 -1
  7. package/dist/exportParser.cjs +696 -478
  8. package/dist/exportParser.cjs.map +1 -1
  9. package/dist/generateRule.cjs +242 -0
  10. package/dist/generateRule.cjs.map +1 -0
  11. package/dist/getDefaultTagStructureForMode.cjs +288 -184
  12. package/dist/getDefaultTagStructureForMode.cjs.map +1 -1
  13. package/dist/getJsdocProcessorPlugin.cjs +550 -364
  14. package/dist/getJsdocProcessorPlugin.cjs.map +1 -1
  15. package/dist/getJsdocProcessorPlugin.d.ts +65 -68
  16. package/dist/getJsdocProcessorPlugin.d.ts.map +1 -1
  17. package/dist/index.cjs +410 -2
  18. package/dist/index.cjs.map +1 -0
  19. package/dist/index.d.ts +17 -2
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/iterateJsdoc.cjs +2005 -1539
  22. package/dist/iterateJsdoc.cjs.map +1 -1
  23. package/dist/iterateJsdoc.d.ts +350 -359
  24. package/dist/iterateJsdoc.d.ts.map +1 -1
  25. package/dist/jsdocUtils.cjs +1376 -1009
  26. package/dist/jsdocUtils.cjs.map +1 -1
  27. package/dist/rules/checkAccess.cjs +36 -29
  28. package/dist/rules/checkAccess.cjs.map +1 -1
  29. package/dist/rules/checkAlignment.cjs +54 -41
  30. package/dist/rules/checkAlignment.cjs.map +1 -1
  31. package/dist/rules/checkExamples.cjs +484 -327
  32. package/dist/rules/checkExamples.cjs.map +1 -1
  33. package/dist/rules/checkIndentation.cjs +65 -50
  34. package/dist/rules/checkIndentation.cjs.map +1 -1
  35. package/dist/rules/checkLineAlignment.cjs +311 -220
  36. package/dist/rules/checkLineAlignment.cjs.map +1 -1
  37. package/dist/rules/checkParamNames.cjs +335 -227
  38. package/dist/rules/checkParamNames.cjs.map +1 -1
  39. package/dist/rules/checkPropertyNames.cjs +106 -78
  40. package/dist/rules/checkPropertyNames.cjs.map +1 -1
  41. package/dist/rules/checkSyntax.cjs +34 -21
  42. package/dist/rules/checkSyntax.cjs.map +1 -1
  43. package/dist/rules/checkTagNames.cjs +210 -188
  44. package/dist/rules/checkTagNames.cjs.map +1 -1
  45. package/dist/rules/checkTemplateNames.cjs +178 -121
  46. package/dist/rules/checkTemplateNames.cjs.map +1 -1
  47. package/dist/rules/checkTypes.cjs +385 -291
  48. package/dist/rules/checkTypes.cjs.map +1 -1
  49. package/dist/rules/checkValues.cjs +146 -100
  50. package/dist/rules/checkValues.cjs.map +1 -1
  51. package/dist/rules/convertToJsdocComments.cjs +306 -228
  52. package/dist/rules/convertToJsdocComments.cjs.map +1 -1
  53. package/dist/rules/emptyTags.cjs +72 -62
  54. package/dist/rules/emptyTags.cjs.map +1 -1
  55. package/dist/rules/implementsOnClasses.cjs +56 -36
  56. package/dist/rules/implementsOnClasses.cjs.map +1 -1
  57. package/dist/rules/importsAsDependencies.cjs +99 -62
  58. package/dist/rules/importsAsDependencies.cjs.map +1 -1
  59. package/dist/rules/informativeDocs.cjs +142 -105
  60. package/dist/rules/informativeDocs.cjs.map +1 -1
  61. package/dist/rules/linesBeforeBlock.cjs +105 -70
  62. package/dist/rules/linesBeforeBlock.cjs.map +1 -1
  63. package/dist/rules/matchDescription.cjs +222 -160
  64. package/dist/rules/matchDescription.cjs.map +1 -1
  65. package/dist/rules/matchName.cjs +128 -73
  66. package/dist/rules/matchName.cjs.map +1 -1
  67. package/dist/rules/multilineBlocks.cjs +352 -235
  68. package/dist/rules/multilineBlocks.cjs.map +1 -1
  69. package/dist/rules/noBadBlocks.cjs +86 -63
  70. package/dist/rules/noBadBlocks.cjs.map +1 -1
  71. package/dist/rules/noBlankBlockDescriptions.cjs +57 -35
  72. package/dist/rules/noBlankBlockDescriptions.cjs.map +1 -1
  73. package/dist/rules/noBlankBlocks.cjs +48 -26
  74. package/dist/rules/noBlankBlocks.cjs.map +1 -1
  75. package/dist/rules/noDefaults.cjs +79 -52
  76. package/dist/rules/noDefaults.cjs.map +1 -1
  77. package/dist/rules/noMissingSyntax.cjs +165 -115
  78. package/dist/rules/noMissingSyntax.cjs.map +1 -1
  79. package/dist/rules/noMultiAsterisks.cjs +89 -48
  80. package/dist/rules/noMultiAsterisks.cjs.map +1 -1
  81. package/dist/rules/noRestrictedSyntax.cjs +79 -45
  82. package/dist/rules/noRestrictedSyntax.cjs.map +1 -1
  83. package/dist/rules/noTypes.cjs +80 -59
  84. package/dist/rules/noTypes.cjs.map +1 -1
  85. package/dist/rules/noUndefinedTypes.cjs +388 -297
  86. package/dist/rules/noUndefinedTypes.cjs.map +1 -1
  87. package/dist/rules/requireAsteriskPrefix.cjs +159 -108
  88. package/dist/rules/requireAsteriskPrefix.cjs.map +1 -1
  89. package/dist/rules/requireDescription.cjs +129 -89
  90. package/dist/rules/requireDescription.cjs.map +1 -1
  91. package/dist/rules/requireDescriptionCompleteSentence.cjs +262 -201
  92. package/dist/rules/requireDescriptionCompleteSentence.cjs.map +1 -1
  93. package/dist/rules/requireExample.cjs +104 -73
  94. package/dist/rules/requireExample.cjs.map +1 -1
  95. package/dist/rules/requireFileOverview.cjs +129 -75
  96. package/dist/rules/requireFileOverview.cjs.map +1 -1
  97. package/dist/rules/requireHyphenBeforeParamDescription.cjs +133 -85
  98. package/dist/rules/requireHyphenBeforeParamDescription.cjs.map +1 -1
  99. package/dist/rules/requireJsdoc.cjs +557 -384
  100. package/dist/rules/requireJsdoc.cjs.map +1 -1
  101. package/dist/rules/requireParam.cjs +526 -336
  102. package/dist/rules/requireParam.cjs.map +1 -1
  103. package/dist/rules/requireParamDescription.cjs +80 -55
  104. package/dist/rules/requireParamDescription.cjs.map +1 -1
  105. package/dist/rules/requireParamName.cjs +50 -32
  106. package/dist/rules/requireParamName.cjs.map +1 -1
  107. package/dist/rules/requireParamType.cjs +80 -55
  108. package/dist/rules/requireParamType.cjs.map +1 -1
  109. package/dist/rules/requireProperty.cjs +42 -31
  110. package/dist/rules/requireProperty.cjs.map +1 -1
  111. package/dist/rules/requirePropertyDescription.cjs +25 -17
  112. package/dist/rules/requirePropertyDescription.cjs.map +1 -1
  113. package/dist/rules/requirePropertyName.cjs +25 -17
  114. package/dist/rules/requirePropertyName.cjs.map +1 -1
  115. package/dist/rules/requirePropertyType.cjs +25 -17
  116. package/dist/rules/requirePropertyType.cjs.map +1 -1
  117. package/dist/rules/requireReturns.cjs +203 -125
  118. package/dist/rules/requireReturns.cjs.map +1 -1
  119. package/dist/rules/requireReturnsCheck.cjs +103 -60
  120. package/dist/rules/requireReturnsCheck.cjs.map +1 -1
  121. package/dist/rules/requireReturnsDescription.cjs +54 -39
  122. package/dist/rules/requireReturnsDescription.cjs.map +1 -1
  123. package/dist/rules/requireReturnsType.cjs +50 -32
  124. package/dist/rules/requireReturnsType.cjs.map +1 -1
  125. package/dist/rules/requireTemplate.cjs +178 -119
  126. package/dist/rules/requireTemplate.cjs.map +1 -1
  127. package/dist/rules/requireThrows.cjs +95 -61
  128. package/dist/rules/requireThrows.cjs.map +1 -1
  129. package/dist/rules/requireYields.cjs +166 -106
  130. package/dist/rules/requireYields.cjs.map +1 -1
  131. package/dist/rules/requireYieldsCheck.cjs +152 -96
  132. package/dist/rules/requireYieldsCheck.cjs.map +1 -1
  133. package/dist/rules/sortTags.cjs +444 -258
  134. package/dist/rules/sortTags.cjs.map +1 -1
  135. package/dist/rules/tagLines.cjs +266 -179
  136. package/dist/rules/tagLines.cjs.map +1 -1
  137. package/dist/rules/textEscaping.cjs +127 -92
  138. package/dist/rules/textEscaping.cjs.map +1 -1
  139. package/dist/rules/validTypes.cjs +265 -252
  140. package/dist/rules/validTypes.cjs.map +1 -1
  141. package/dist/tagNames.cjs +170 -134
  142. package/dist/tagNames.cjs.map +1 -1
  143. package/dist/utils/hasReturnValue.cjs +474 -246
  144. package/dist/utils/hasReturnValue.cjs.map +1 -1
  145. package/package.json +24 -40
  146. package/src/WarnSettings.js +34 -0
  147. package/src/alignTransform.js +358 -0
  148. package/src/defaultTagOrder.js +169 -0
  149. package/src/exportParser.js +978 -0
  150. package/src/getDefaultTagStructureForMode.js +969 -0
  151. package/src/getJsdocProcessorPlugin.js +672 -0
  152. package/src/index.js +530 -0
  153. package/src/iterateJsdoc.js +2541 -0
  154. package/src/jsdocUtils.js +1896 -0
  155. package/src/rules/checkAccess.js +45 -0
  156. package/src/rules/checkAlignment.js +63 -0
  157. package/src/rules/checkExamples.js +589 -0
  158. package/src/rules/checkIndentation.js +75 -0
  159. package/src/rules/checkLineAlignment.js +372 -0
  160. package/src/rules/checkParamNames.js +474 -0
  161. package/src/rules/checkPropertyNames.js +152 -0
  162. package/src/rules/checkSyntax.js +30 -0
  163. package/src/rules/checkTagNames.js +314 -0
  164. package/src/rules/checkTemplateNames.js +204 -0
  165. package/src/rules/checkTypes.js +535 -0
  166. package/src/rules/checkValues.js +248 -0
  167. package/src/rules/convertToJsdocComments.js +398 -0
  168. package/src/rules/emptyTags.js +98 -0
  169. package/src/rules/implementsOnClasses.js +64 -0
  170. package/src/rules/importsAsDependencies.js +133 -0
  171. package/src/rules/informativeDocs.js +189 -0
  172. package/src/rules/linesBeforeBlock.js +134 -0
  173. package/src/rules/matchDescription.js +286 -0
  174. package/src/rules/matchName.js +151 -0
  175. package/src/rules/multilineBlocks.js +493 -0
  176. package/src/rules/noBadBlocks.js +119 -0
  177. package/src/rules/noBlankBlockDescriptions.js +69 -0
  178. package/src/rules/noBlankBlocks.js +53 -0
  179. package/src/rules/noDefaults.js +85 -0
  180. package/src/rules/noMissingSyntax.js +195 -0
  181. package/src/rules/noMultiAsterisks.js +134 -0
  182. package/src/rules/noRestrictedSyntax.js +91 -0
  183. package/src/rules/noTypes.js +93 -0
  184. package/src/rules/noUndefinedTypes.js +543 -0
  185. package/src/rules/requireAsteriskPrefix.js +190 -0
  186. package/src/rules/requireDescription.js +161 -0
  187. package/src/rules/requireDescriptionCompleteSentence.js +335 -0
  188. package/src/rules/requireExample.js +118 -0
  189. package/src/rules/requireFileOverview.js +154 -0
  190. package/src/rules/requireHyphenBeforeParamDescription.js +176 -0
  191. package/src/rules/requireJsdoc.js +743 -0
  192. package/src/rules/requireParam.js +602 -0
  193. package/src/rules/requireParamDescription.js +89 -0
  194. package/src/rules/requireParamName.js +55 -0
  195. package/src/rules/requireParamType.js +89 -0
  196. package/src/rules/requireProperty.js +48 -0
  197. package/src/rules/requirePropertyDescription.js +25 -0
  198. package/src/rules/requirePropertyName.js +25 -0
  199. package/src/rules/requirePropertyType.js +25 -0
  200. package/src/rules/requireReturns.js +238 -0
  201. package/src/rules/requireReturnsCheck.js +145 -0
  202. package/src/rules/requireReturnsDescription.js +59 -0
  203. package/src/rules/requireReturnsType.js +51 -0
  204. package/src/rules/requireTemplate.js +201 -0
  205. package/src/rules/requireThrows.js +111 -0
  206. package/src/rules/requireYields.js +216 -0
  207. package/src/rules/requireYieldsCheck.js +208 -0
  208. package/src/rules/sortTags.js +558 -0
  209. package/src/rules/tagLines.js +359 -0
  210. package/src/rules/textEscaping.js +154 -0
  211. package/src/rules/validTypes.js +401 -0
  212. package/src/tagNames.js +238 -0
  213. package/src/utils/hasReturnValue.js +572 -0
  214. package/dist/WarnSettings.js +0 -20
  215. package/dist/WarnSettings.js.map +0 -1
  216. package/dist/_virtual/rolldown_runtime.cjs +0 -32
  217. package/dist/_virtual/rolldown_runtime.js +0 -11
  218. package/dist/alignTransform.js +0 -241
  219. package/dist/alignTransform.js.map +0 -1
  220. package/dist/defaultTagOrder.js +0 -134
  221. package/dist/defaultTagOrder.js.map +0 -1
  222. package/dist/exportParser.js +0 -518
  223. package/dist/exportParser.js.map +0 -1
  224. package/dist/getDefaultTagStructureForMode.js +0 -188
  225. package/dist/getDefaultTagStructureForMode.js.map +0 -1
  226. package/dist/getJsdocProcessorPlugin.d.cts +0 -70
  227. package/dist/getJsdocProcessorPlugin.d.cts.map +0 -1
  228. package/dist/getJsdocProcessorPlugin.js +0 -383
  229. package/dist/getJsdocProcessorPlugin.js.map +0 -1
  230. package/dist/index.d.cts +0 -2
  231. package/dist/index.js +0 -3
  232. package/dist/iterateJsdoc.d.cts +0 -472
  233. package/dist/iterateJsdoc.d.cts.map +0 -1
  234. package/dist/iterateJsdoc.js +0 -1628
  235. package/dist/iterateJsdoc.js.map +0 -1
  236. package/dist/jsdocUtils.js +0 -1123
  237. package/dist/jsdocUtils.js.map +0 -1
  238. package/dist/plugin.cjs +0 -427
  239. package/dist/plugin.cjs.map +0 -1
  240. package/dist/plugin.js +0 -427
  241. package/dist/plugin.js.map +0 -1
  242. package/dist/rules/checkAccess.js +0 -33
  243. package/dist/rules/checkAccess.js.map +0 -1
  244. package/dist/rules/checkAlignment.js +0 -47
  245. package/dist/rules/checkAlignment.js.map +0 -1
  246. package/dist/rules/checkExamples.js +0 -348
  247. package/dist/rules/checkExamples.js.map +0 -1
  248. package/dist/rules/checkIndentation.js +0 -59
  249. package/dist/rules/checkIndentation.js.map +0 -1
  250. package/dist/rules/checkLineAlignment.js +0 -229
  251. package/dist/rules/checkLineAlignment.js.map +0 -1
  252. package/dist/rules/checkParamNames.js +0 -237
  253. package/dist/rules/checkParamNames.js.map +0 -1
  254. package/dist/rules/checkPropertyNames.js +0 -88
  255. package/dist/rules/checkPropertyNames.js.map +0 -1
  256. package/dist/rules/checkSyntax.js +0 -25
  257. package/dist/rules/checkSyntax.js.map +0 -1
  258. package/dist/rules/checkTagNames.js +0 -191
  259. package/dist/rules/checkTagNames.js.map +0 -1
  260. package/dist/rules/checkTemplateNames.js +0 -124
  261. package/dist/rules/checkTemplateNames.js.map +0 -1
  262. package/dist/rules/checkTypes.js +0 -299
  263. package/dist/rules/checkTypes.js.map +0 -1
  264. package/dist/rules/checkValues.js +0 -103
  265. package/dist/rules/checkValues.js.map +0 -1
  266. package/dist/rules/convertToJsdocComments.js +0 -231
  267. package/dist/rules/convertToJsdocComments.js.map +0 -1
  268. package/dist/rules/emptyTags.js +0 -67
  269. package/dist/rules/emptyTags.js.map +0 -1
  270. package/dist/rules/implementsOnClasses.js +0 -40
  271. package/dist/rules/implementsOnClasses.js.map +0 -1
  272. package/dist/rules/importsAsDependencies.js +0 -68
  273. package/dist/rules/importsAsDependencies.js.map +0 -1
  274. package/dist/rules/informativeDocs.js +0 -110
  275. package/dist/rules/informativeDocs.js.map +0 -1
  276. package/dist/rules/linesBeforeBlock.js +0 -75
  277. package/dist/rules/linesBeforeBlock.js.map +0 -1
  278. package/dist/rules/matchDescription.js +0 -167
  279. package/dist/rules/matchDescription.js.map +0 -1
  280. package/dist/rules/matchName.js +0 -77
  281. package/dist/rules/matchName.js.map +0 -1
  282. package/dist/rules/multilineBlocks.js +0 -245
  283. package/dist/rules/multilineBlocks.js.map +0 -1
  284. package/dist/rules/noBadBlocks.js +0 -68
  285. package/dist/rules/noBadBlocks.js.map +0 -1
  286. package/dist/rules/noBlankBlockDescriptions.js +0 -41
  287. package/dist/rules/noBlankBlockDescriptions.js.map +0 -1
  288. package/dist/rules/noBlankBlocks.js +0 -30
  289. package/dist/rules/noBlankBlocks.js.map +0 -1
  290. package/dist/rules/noDefaults.js +0 -56
  291. package/dist/rules/noDefaults.js.map +0 -1
  292. package/dist/rules/noMissingSyntax.js +0 -126
  293. package/dist/rules/noMissingSyntax.js.map +0 -1
  294. package/dist/rules/noMultiAsterisks.js +0 -58
  295. package/dist/rules/noMultiAsterisks.js.map +0 -1
  296. package/dist/rules/noRestrictedSyntax.js +0 -49
  297. package/dist/rules/noRestrictedSyntax.js.map +0 -1
  298. package/dist/rules/noTypes.js +0 -65
  299. package/dist/rules/noTypes.js.map +0 -1
  300. package/dist/rules/noUndefinedTypes.js +0 -303
  301. package/dist/rules/noUndefinedTypes.js.map +0 -1
  302. package/dist/rules/requireAsteriskPrefix.js +0 -112
  303. package/dist/rules/requireAsteriskPrefix.js.map +0 -1
  304. package/dist/rules/requireDescription.js +0 -95
  305. package/dist/rules/requireDescription.js.map +0 -1
  306. package/dist/rules/requireDescriptionCompleteSentence.js +0 -220
  307. package/dist/rules/requireDescriptionCompleteSentence.js.map +0 -1
  308. package/dist/rules/requireExample.js +0 -77
  309. package/dist/rules/requireExample.js.map +0 -1
  310. package/dist/rules/requireFileOverview.js +0 -81
  311. package/dist/rules/requireFileOverview.js.map +0 -1
  312. package/dist/rules/requireHyphenBeforeParamDescription.js +0 -89
  313. package/dist/rules/requireHyphenBeforeParamDescription.js.map +0 -1
  314. package/dist/rules/requireJsdoc.js +0 -404
  315. package/dist/rules/requireJsdoc.js.map +0 -1
  316. package/dist/rules/requireParam.js +0 -344
  317. package/dist/rules/requireParam.js.map +0 -1
  318. package/dist/rules/requireParamDescription.js +0 -59
  319. package/dist/rules/requireParamDescription.js.map +0 -1
  320. package/dist/rules/requireParamName.js +0 -36
  321. package/dist/rules/requireParamName.js.map +0 -1
  322. package/dist/rules/requireParamType.js +0 -59
  323. package/dist/rules/requireParamType.js.map +0 -1
  324. package/dist/rules/requireProperty.js +0 -35
  325. package/dist/rules/requireProperty.js.map +0 -1
  326. package/dist/rules/requirePropertyDescription.js +0 -21
  327. package/dist/rules/requirePropertyDescription.js.map +0 -1
  328. package/dist/rules/requirePropertyName.js +0 -21
  329. package/dist/rules/requirePropertyName.js.map +0 -1
  330. package/dist/rules/requirePropertyType.js +0 -21
  331. package/dist/rules/requirePropertyType.js.map +0 -1
  332. package/dist/rules/requireReturns.js +0 -131
  333. package/dist/rules/requireReturns.js.map +0 -1
  334. package/dist/rules/requireReturnsCheck.js +0 -66
  335. package/dist/rules/requireReturnsCheck.js.map +0 -1
  336. package/dist/rules/requireReturnsDescription.js +0 -43
  337. package/dist/rules/requireReturnsDescription.js.map +0 -1
  338. package/dist/rules/requireReturnsType.js +0 -36
  339. package/dist/rules/requireReturnsType.js.map +0 -1
  340. package/dist/rules/requireTemplate.js +0 -122
  341. package/dist/rules/requireTemplate.js.map +0 -1
  342. package/dist/rules/requireThrows.js +0 -67
  343. package/dist/rules/requireThrows.js.map +0 -1
  344. package/dist/rules/requireYields.js +0 -115
  345. package/dist/rules/requireYields.js.map +0 -1
  346. package/dist/rules/requireYieldsCheck.js +0 -105
  347. package/dist/rules/requireYieldsCheck.js.map +0 -1
  348. package/dist/rules/sortTags.js +0 -262
  349. package/dist/rules/sortTags.js.map +0 -1
  350. package/dist/rules/tagLines.js +0 -183
  351. package/dist/rules/tagLines.js.map +0 -1
  352. package/dist/rules/textEscaping.js +0 -102
  353. package/dist/rules/textEscaping.js.map +0 -1
  354. package/dist/rules/validTypes.js +0 -259
  355. package/dist/rules/validTypes.js.map +0 -1
  356. package/dist/tagNames.js +0 -144
  357. package/dist/tagNames.js.map +0 -1
  358. package/dist/utils/hasReturnValue.js +0 -265
  359. package/dist/utils/hasReturnValue.js.map +0 -1
@@ -1,237 +1,345 @@
1
- const require_iterateJsdoc = require('../iterateJsdoc.cjs');
1
+ "use strict";
2
2
 
3
- //#region src/rules/checkParamNames.js
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _iterateJsdoc = _interopRequireDefault(require("../iterateJsdoc.cjs"));
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
4
9
  /**
5
- * @param {string} targetTagName
6
- * @param {boolean} allowExtraTrailingParamDocs
7
- * @param {boolean} checkDestructured
8
- * @param {boolean} checkRestProperty
9
- * @param {RegExp} checkTypesRegex
10
- * @param {boolean} disableExtraPropertyReporting
11
- * @param {boolean} disableMissingParamChecks
12
- * @param {boolean} enableFixer
13
- * @param {import('../jsdocUtils.js').ParamNameInfo[]} functionParameterNames
14
- * @param {import('comment-parser').Block} jsdoc
15
- * @param {import('../iterateJsdoc.js').Utils} utils
16
- * @param {import('../iterateJsdoc.js').Report} report
17
- * @returns {boolean}
18
- */
10
+ * @param {string} targetTagName
11
+ * @param {boolean} allowExtraTrailingParamDocs
12
+ * @param {boolean} checkDestructured
13
+ * @param {boolean} checkRestProperty
14
+ * @param {RegExp} checkTypesRegex
15
+ * @param {boolean} disableExtraPropertyReporting
16
+ * @param {boolean} disableMissingParamChecks
17
+ * @param {boolean} enableFixer
18
+ * @param {import('../jsdocUtils.js').ParamNameInfo[]} functionParameterNames
19
+ * @param {import('comment-parser').Block} jsdoc
20
+ * @param {import('../iterateJsdoc.js').Utils} utils
21
+ * @param {import('../iterateJsdoc.js').Report} report
22
+ * @returns {boolean}
23
+ */
19
24
  const validateParameterNames = (targetTagName, allowExtraTrailingParamDocs, checkDestructured, checkRestProperty, checkTypesRegex, disableExtraPropertyReporting, disableMissingParamChecks, enableFixer, functionParameterNames, jsdoc, utils, report) => {
20
- const paramTags = Object.entries(jsdoc.tags).filter(([, tag]) => {
21
- return tag.tag === targetTagName;
22
- });
23
- const paramTagsNonNested = paramTags.filter(([, tag]) => {
24
- return !tag.name.includes(".");
25
- });
26
- let dotted = 0;
27
- let thisOffset = 0;
28
- return paramTags.some(([, tag], index) => {
29
- /** @type {import('../iterateJsdoc.js').Integer} */
30
- let tagsIndex;
31
- const dupeTagInfo = paramTags.find(([tgsIndex, tg], idx) => {
32
- tagsIndex = Number(tgsIndex);
33
- return tg.name === tag.name && idx !== index;
34
- });
35
- if (dupeTagInfo) {
36
- utils.reportJSDoc(`Duplicate @${targetTagName} "${tag.name}"`, dupeTagInfo[1], enableFixer ? () => {
37
- utils.removeTag(tagsIndex);
38
- } : null);
39
- return true;
40
- }
41
- if (tag.name.includes(".")) {
42
- dotted++;
43
- return false;
44
- }
45
- let functionParameterName = functionParameterNames[index - dotted + thisOffset];
46
- if (functionParameterName === "this" && tag.name.trim() !== "this") {
47
- ++thisOffset;
48
- functionParameterName = functionParameterNames[index - dotted + thisOffset];
49
- }
50
- if (!functionParameterName) {
51
- if (allowExtraTrailingParamDocs) return false;
52
- report(`@${targetTagName} "${tag.name}" does not match an existing function parameter.`, null, tag);
53
- return true;
54
- }
55
- if (typeof functionParameterName === "object" && "name" in functionParameterName && Array.isArray(functionParameterName.name)) {
56
- const actualName = tag.name.trim();
57
- const expectedName = functionParameterName.name[index];
58
- if (actualName === expectedName) {
59
- thisOffset--;
60
- return false;
61
- }
62
- report(`Expected @${targetTagName} name to be "${expectedName}". Got "${actualName}".`, null, tag);
63
- return true;
64
- }
65
- if (Array.isArray(functionParameterName)) {
66
- if (!checkDestructured) return false;
67
- if (tag.type && tag.type.search(checkTypesRegex) === -1) return false;
68
- const [parameterName, { annotationParamName, hasPropertyRest, names: properties, rests }] = functionParameterName;
69
- if (annotationParamName !== void 0) {
70
- const name = tag.name.trim();
71
- if (name !== annotationParamName) report(`@${targetTagName} "${name}" does not match parameter name "${annotationParamName}"`, null, tag);
72
- }
73
- const tagName = parameterName === void 0 ? tag.name.trim() : parameterName;
74
- const expectedNames = properties.map((name) => {
75
- return `${tagName}.${name}`;
76
- });
77
- const actualNames = paramTags.map(([, paramTag]) => {
78
- return paramTag.name.trim();
79
- });
80
- const actualTypes = paramTags.map(([, paramTag]) => {
81
- return paramTag.type;
82
- });
83
- const missingProperties = [];
84
- /** @type {string[]} */
85
- const notCheckingNames = [];
86
- for (const [idx, name] of expectedNames.entries()) {
87
- if (notCheckingNames.some((notCheckingName) => {
88
- return name.startsWith(notCheckingName);
89
- })) continue;
90
- const actualNameIdx = actualNames.findIndex((actualName) => {
91
- return utils.comparePaths(name)(actualName);
92
- });
93
- if (actualNameIdx === -1) {
94
- if (!checkRestProperty && rests[idx]) continue;
95
- const missingIndex = actualNames.findIndex((actualName) => {
96
- return utils.pathDoesNotBeginWith(name, actualName);
97
- });
98
- const line = tag.source[0].number - 1 + (missingIndex > -1 ? missingIndex : actualNames.length);
99
- missingProperties.push({
100
- name,
101
- tagPlacement: { line: line === 0 ? 1 : line }
102
- });
103
- } else if (actualTypes[actualNameIdx].search(checkTypesRegex) === -1 && actualTypes[actualNameIdx] !== "") notCheckingNames.push(name);
104
- }
105
- const hasMissing = missingProperties.length;
106
- if (hasMissing) for (const { name: missingProperty, tagPlacement } of missingProperties) report(`Missing @${targetTagName} "${missingProperty}"`, null, tagPlacement);
107
- if (!hasPropertyRest || checkRestProperty) {
108
- /** @type {[string, import('comment-parser').Spec][]} */
109
- const extraProperties = [];
110
- for (const [idx, name] of actualNames.entries()) {
111
- const match = name.startsWith(tag.name.trim() + ".");
112
- if (match && !expectedNames.some(utils.comparePaths(name)) && !utils.comparePaths(name)(tag.name) && (!disableExtraPropertyReporting || properties.some((prop) => {
113
- return prop.split(".").length >= name.split(".").length - 1;
114
- }))) extraProperties.push([name, paramTags[idx][1]]);
115
- }
116
- if (extraProperties.length) {
117
- for (const [extraProperty, tg] of extraProperties) report(`@${targetTagName} "${extraProperty}" does not exist on ${tag.name}`, null, tg);
118
- return true;
119
- }
120
- }
121
- return hasMissing;
122
- }
123
- let funcParamName;
124
- if (typeof functionParameterName === "object") {
125
- const { name } = functionParameterName;
126
- funcParamName = name;
127
- } else funcParamName = functionParameterName;
128
- if (funcParamName !== tag.name.trim()) {
129
- const actualNames = paramTagsNonNested.map(([, { name }]) => {
130
- return name.trim();
131
- });
132
- const expectedNames = functionParameterNames.map((item, idx) => {
133
- if (item?.[1]?.names) return actualNames[idx];
134
- return item;
135
- }).filter((item) => {
136
- return item !== "this";
137
- });
138
- if (disableMissingParamChecks) {
139
- const usedExpectedNames = expectedNames.map((a) => {
140
- return a?.toString();
141
- }).filter((expectedName) => {
142
- return expectedName && actualNames.includes(expectedName);
143
- });
144
- const usedInOrder = actualNames.every((actualName, idx) => {
145
- return actualName === usedExpectedNames[idx];
146
- });
147
- if (usedInOrder) return false;
148
- }
149
- report(`Expected @${targetTagName} names to be "${expectedNames.map((expectedName) => {
150
- return typeof expectedName === "object" && "name" in expectedName && expectedName.restElement ? "..." + expectedName.name : expectedName;
151
- }).join(", ")}". Got "${actualNames.join(", ")}".`, null, tag);
152
- return true;
153
- }
154
- return false;
155
- });
25
+ const paramTags = Object.entries(jsdoc.tags).filter(([, tag]) => {
26
+ return tag.tag === targetTagName;
27
+ });
28
+ const paramTagsNonNested = paramTags.filter(([, tag]) => {
29
+ return !tag.name.includes('.');
30
+ });
31
+ let dotted = 0;
32
+ let thisOffset = 0;
33
+
34
+ // eslint-disable-next-line complexity
35
+ return paramTags.some(([, tag], index) => {
36
+ /** @type {import('../iterateJsdoc.js').Integer} */
37
+ let tagsIndex;
38
+ const dupeTagInfo = paramTags.find(([tgsIndex, tg], idx) => {
39
+ tagsIndex = Number(tgsIndex);
40
+ return tg.name === tag.name && idx !== index;
41
+ });
42
+ if (dupeTagInfo) {
43
+ utils.reportJSDoc(`Duplicate @${targetTagName} "${tag.name}"`, dupeTagInfo[1], enableFixer ? () => {
44
+ utils.removeTag(tagsIndex);
45
+ } : null);
46
+ return true;
47
+ }
48
+ if (tag.name.includes('.')) {
49
+ dotted++;
50
+ return false;
51
+ }
52
+ let functionParameterName = functionParameterNames[index - dotted + thisOffset];
53
+ if (functionParameterName === 'this' && tag.name.trim() !== 'this') {
54
+ ++thisOffset;
55
+ functionParameterName = functionParameterNames[index - dotted + thisOffset];
56
+ }
57
+ if (!functionParameterName) {
58
+ if (allowExtraTrailingParamDocs) {
59
+ return false;
60
+ }
61
+ report(`@${targetTagName} "${tag.name}" does not match an existing function parameter.`, null, tag);
62
+ return true;
63
+ }
64
+ if (typeof functionParameterName === 'object' && 'name' in functionParameterName && Array.isArray(functionParameterName.name)) {
65
+ const actualName = tag.name.trim();
66
+ const expectedName = functionParameterName.name[index];
67
+ if (actualName === expectedName) {
68
+ thisOffset--;
69
+ return false;
70
+ }
71
+ report(`Expected @${targetTagName} name to be "${expectedName}". Got "${actualName}".`, null, tag);
72
+ return true;
73
+ }
74
+ if (Array.isArray(functionParameterName)) {
75
+ if (!checkDestructured) {
76
+ return false;
77
+ }
78
+ if (tag.type && tag.type.search(checkTypesRegex) === -1) {
79
+ return false;
80
+ }
81
+ const [parameterName, {
82
+ annotationParamName,
83
+ hasPropertyRest,
84
+ names: properties,
85
+ rests
86
+ }] =
87
+ /**
88
+ * @type {[string | undefined, import('../jsdocUtils.js').FlattendRootInfo & {
89
+ * annotationParamName?: string | undefined;
90
+ }]} */
91
+ functionParameterName;
92
+ if (annotationParamName !== undefined) {
93
+ const name = tag.name.trim();
94
+ if (name !== annotationParamName) {
95
+ report(`@${targetTagName} "${name}" does not match parameter name "${annotationParamName}"`, null, tag);
96
+ }
97
+ }
98
+ const tagName = parameterName === undefined ? tag.name.trim() : parameterName;
99
+ const expectedNames = properties.map(name => {
100
+ return `${tagName}.${name}`;
101
+ });
102
+ const actualNames = paramTags.map(([, paramTag]) => {
103
+ return paramTag.name.trim();
104
+ });
105
+ const actualTypes = paramTags.map(([, paramTag]) => {
106
+ return paramTag.type;
107
+ });
108
+ const missingProperties = [];
109
+
110
+ /** @type {string[]} */
111
+ const notCheckingNames = [];
112
+ for (const [idx, name] of expectedNames.entries()) {
113
+ if (notCheckingNames.some(notCheckingName => {
114
+ return name.startsWith(notCheckingName);
115
+ })) {
116
+ continue;
117
+ }
118
+ const actualNameIdx = actualNames.findIndex(actualName => {
119
+ return utils.comparePaths(name)(actualName);
120
+ });
121
+ if (actualNameIdx === -1) {
122
+ if (!checkRestProperty && rests[idx]) {
123
+ continue;
124
+ }
125
+ const missingIndex = actualNames.findIndex(actualName => {
126
+ return utils.pathDoesNotBeginWith(name, actualName);
127
+ });
128
+ const line = tag.source[0].number - 1 + (missingIndex > -1 ? missingIndex : actualNames.length);
129
+ missingProperties.push({
130
+ name,
131
+ tagPlacement: {
132
+ line: line === 0 ? 1 : line
133
+ }
134
+ });
135
+ } else if (actualTypes[actualNameIdx].search(checkTypesRegex) === -1 && actualTypes[actualNameIdx] !== '') {
136
+ notCheckingNames.push(name);
137
+ }
138
+ }
139
+ const hasMissing = missingProperties.length;
140
+ if (hasMissing) {
141
+ for (const {
142
+ name: missingProperty,
143
+ tagPlacement
144
+ } of missingProperties) {
145
+ report(`Missing @${targetTagName} "${missingProperty}"`, null, tagPlacement);
146
+ }
147
+ }
148
+ if (!hasPropertyRest || checkRestProperty) {
149
+ /** @type {[string, import('comment-parser').Spec][]} */
150
+ const extraProperties = [];
151
+ for (const [idx, name] of actualNames.entries()) {
152
+ const match = name.startsWith(tag.name.trim() + '.');
153
+ if (match && !expectedNames.some(utils.comparePaths(name)) && !utils.comparePaths(name)(tag.name) && (!disableExtraPropertyReporting || properties.some(prop => {
154
+ return prop.split('.').length >= name.split('.').length - 1;
155
+ }))) {
156
+ extraProperties.push([name, paramTags[idx][1]]);
157
+ }
158
+ }
159
+ if (extraProperties.length) {
160
+ for (const [extraProperty, tg] of extraProperties) {
161
+ report(`@${targetTagName} "${extraProperty}" does not exist on ${tag.name}`, null, tg);
162
+ }
163
+ return true;
164
+ }
165
+ }
166
+ return hasMissing;
167
+ }
168
+ let funcParamName;
169
+ if (typeof functionParameterName === 'object') {
170
+ const {
171
+ name
172
+ } = functionParameterName;
173
+ funcParamName = name;
174
+ } else {
175
+ funcParamName = functionParameterName;
176
+ }
177
+ if (funcParamName !== tag.name.trim()) {
178
+ // Todo: Improve for array or object child items
179
+ const actualNames = paramTagsNonNested.map(([, {
180
+ name
181
+ }]) => {
182
+ return name.trim();
183
+ });
184
+ const expectedNames = functionParameterNames.map((item, idx) => {
185
+ if (
186
+ /**
187
+ * @type {[string|undefined, (import('../jsdocUtils.js').FlattendRootInfo & {
188
+ * annotationParamName?: string,
189
+ })]} */
190
+ item?.[1]?.names) {
191
+ return actualNames[idx];
192
+ }
193
+ return item;
194
+ }).filter(item => {
195
+ return item !== 'this';
196
+ });
197
+
198
+ // When disableMissingParamChecks is true tag names can be omitted.
199
+ // Report when the tag names do not match the expected names or they are used out of order.
200
+ if (disableMissingParamChecks) {
201
+ const usedExpectedNames = expectedNames.map(a => {
202
+ return a?.toString();
203
+ }).filter(expectedName => {
204
+ return expectedName && actualNames.includes(expectedName);
205
+ });
206
+ const usedInOrder = actualNames.every((actualName, idx) => {
207
+ return actualName === usedExpectedNames[idx];
208
+ });
209
+ if (usedInOrder) {
210
+ return false;
211
+ }
212
+ }
213
+ report(`Expected @${targetTagName} names to be "${expectedNames.map(expectedName => {
214
+ return typeof expectedName === 'object' && 'name' in expectedName && expectedName.restElement ? '...' + expectedName.name : expectedName;
215
+ }).join(', ')}". Got "${actualNames.join(', ')}".`, null, tag);
216
+ return true;
217
+ }
218
+ return false;
219
+ });
156
220
  };
221
+
157
222
  /**
158
- * @param {string} targetTagName
159
- * @param {boolean} _allowExtraTrailingParamDocs
160
- * @param {{
161
- * name: string,
162
- * idx: import('../iterateJsdoc.js').Integer
163
- * }[]} jsdocParameterNames
164
- * @param {import('comment-parser').Block} jsdoc
165
- * @param {Function} report
166
- * @returns {boolean}
167
- */
223
+ * @param {string} targetTagName
224
+ * @param {boolean} _allowExtraTrailingParamDocs
225
+ * @param {{
226
+ * name: string,
227
+ * idx: import('../iterateJsdoc.js').Integer
228
+ * }[]} jsdocParameterNames
229
+ * @param {import('comment-parser').Block} jsdoc
230
+ * @param {Function} report
231
+ * @returns {boolean}
232
+ */
168
233
  const validateParameterNamesDeep = (targetTagName, _allowExtraTrailingParamDocs, jsdocParameterNames, jsdoc, report) => {
169
- /** @type {string} */
170
- let lastRealParameter;
171
- return jsdocParameterNames.some(({ idx, name: jsdocParameterName }) => {
172
- const isPropertyPath = jsdocParameterName.includes(".");
173
- if (isPropertyPath) {
174
- if (!lastRealParameter) {
175
- report(`@${targetTagName} path declaration ("${jsdocParameterName}") appears before any real parameter.`, null, jsdoc.tags[idx]);
176
- return true;
177
- }
178
- let pathRootNodeName = jsdocParameterName.slice(0, jsdocParameterName.indexOf("."));
179
- if (pathRootNodeName.endsWith("[]")) pathRootNodeName = pathRootNodeName.slice(0, -2);
180
- if (pathRootNodeName !== lastRealParameter) {
181
- report(`@${targetTagName} path declaration ("${jsdocParameterName}") root node name ("${pathRootNodeName}") does not match previous real parameter name ("${lastRealParameter}").`, null, jsdoc.tags[idx]);
182
- return true;
183
- }
184
- } else lastRealParameter = jsdocParameterName;
185
- return false;
186
- });
234
+ /** @type {string} */
235
+ let lastRealParameter;
236
+ return jsdocParameterNames.some(({
237
+ idx,
238
+ name: jsdocParameterName
239
+ }) => {
240
+ const isPropertyPath = jsdocParameterName.includes('.');
241
+ if (isPropertyPath) {
242
+ if (!lastRealParameter) {
243
+ report(`@${targetTagName} path declaration ("${jsdocParameterName}") appears before any real parameter.`, null, jsdoc.tags[idx]);
244
+ return true;
245
+ }
246
+ let pathRootNodeName = jsdocParameterName.slice(0, jsdocParameterName.indexOf('.'));
247
+ if (pathRootNodeName.endsWith('[]')) {
248
+ pathRootNodeName = pathRootNodeName.slice(0, -2);
249
+ }
250
+ if (pathRootNodeName !== lastRealParameter) {
251
+ report(`@${targetTagName} path declaration ("${jsdocParameterName}") root node name ("${pathRootNodeName}") ` + `does not match previous real parameter name ("${lastRealParameter}").`, null, jsdoc.tags[idx]);
252
+ return true;
253
+ }
254
+ } else {
255
+ lastRealParameter = jsdocParameterName;
256
+ }
257
+ return false;
258
+ });
187
259
  };
188
- const allowedNodes = [
189
- "ArrowFunctionExpression",
190
- "FunctionDeclaration",
191
- "FunctionExpression",
192
- "TSDeclareFunction",
193
- "TSMethodSignature"
194
- ];
195
- var checkParamNames_default = require_iterateJsdoc.default(({ context, jsdoc, node, report, utils }) => {
196
- const { allowExtraTrailingParamDocs, checkDestructured = true, checkRestProperty = false, checkTypesPattern = "/^(?:[oO]bject|[aA]rray|PlainObject|Generic(?:Object|Array))$/", disableExtraPropertyReporting = false, disableMissingParamChecks = false, enableFixer = false, useDefaultObjectProperties = false } = context.options[0] || {};
197
- if (!allowedNodes.includes(
198
- /** @type {import('estree').Node} */
199
- node.type
200
- )) return;
201
- const checkTypesRegex = utils.getRegexFromString(checkTypesPattern);
202
- const jsdocParameterNamesDeep = utils.getJsdocTagsDeep("param");
203
- if (!jsdocParameterNamesDeep || !jsdocParameterNamesDeep.length) return;
204
- const functionParameterNames = utils.getFunctionParameterNames(useDefaultObjectProperties);
205
- const targetTagName = utils.getPreferredTagName({ tagName: "param" });
206
- const isError = validateParameterNames(targetTagName, allowExtraTrailingParamDocs, checkDestructured, checkRestProperty, checkTypesRegex, disableExtraPropertyReporting, disableMissingParamChecks, enableFixer, functionParameterNames, jsdoc, utils, report);
207
- if (isError || !checkDestructured) return;
208
- validateParameterNamesDeep(targetTagName, allowExtraTrailingParamDocs, jsdocParameterNamesDeep, jsdoc, report);
260
+ const allowedNodes = ['ArrowFunctionExpression', 'FunctionDeclaration', 'FunctionExpression', 'TSDeclareFunction',
261
+ // Add this to above defaults
262
+ 'TSMethodSignature'];
263
+ var _default = exports.default = (0, _iterateJsdoc.default)(({
264
+ context,
265
+ jsdoc,
266
+ node,
267
+ report,
268
+ utils
269
+ }) => {
270
+ const {
271
+ allowExtraTrailingParamDocs,
272
+ checkDestructured = true,
273
+ checkRestProperty = false,
274
+ checkTypesPattern = '/^(?:[oO]bject|[aA]rray|PlainObject|Generic(?:Object|Array))$/',
275
+ disableExtraPropertyReporting = false,
276
+ disableMissingParamChecks = false,
277
+ enableFixer = false,
278
+ useDefaultObjectProperties = false
279
+ } = context.options[0] || {};
280
+
281
+ // Although we might just remove global settings contexts from applying to
282
+ // this rule (as they can cause problems with `getFunctionParameterNames`
283
+ // checks if they are not functions but say variables), the user may
284
+ // instead wish to narrow contexts in those settings, so this check
285
+ // is still useful
286
+ if (!allowedNodes.includes(/** @type {import('estree').Node} */node.type)) {
287
+ return;
288
+ }
289
+ const checkTypesRegex = utils.getRegexFromString(checkTypesPattern);
290
+ const jsdocParameterNamesDeep = utils.getJsdocTagsDeep('param');
291
+ if (!jsdocParameterNamesDeep || !jsdocParameterNamesDeep.length) {
292
+ return;
293
+ }
294
+ const functionParameterNames = utils.getFunctionParameterNames(useDefaultObjectProperties);
295
+ const targetTagName = /** @type {string} */utils.getPreferredTagName({
296
+ tagName: 'param'
297
+ });
298
+ const isError = validateParameterNames(targetTagName, allowExtraTrailingParamDocs, checkDestructured, checkRestProperty, checkTypesRegex, disableExtraPropertyReporting, disableMissingParamChecks, enableFixer, functionParameterNames, jsdoc, utils, report);
299
+ if (isError || !checkDestructured) {
300
+ return;
301
+ }
302
+ validateParameterNamesDeep(targetTagName, allowExtraTrailingParamDocs, jsdocParameterNamesDeep, jsdoc, report);
209
303
  }, {
210
- contextDefaults: allowedNodes,
211
- meta: {
212
- docs: {
213
- description: "Ensures that parameter names in JSDoc match those in the function declaration.",
214
- url: "https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-param-names.md#repos-sticky-header"
215
- },
216
- fixable: "code",
217
- schema: [{
218
- additionalProperties: false,
219
- properties: {
220
- allowExtraTrailingParamDocs: { type: "boolean" },
221
- checkDestructured: { type: "boolean" },
222
- checkRestProperty: { type: "boolean" },
223
- checkTypesPattern: { type: "string" },
224
- disableExtraPropertyReporting: { type: "boolean" },
225
- disableMissingParamChecks: { type: "boolean" },
226
- enableFixer: { type: "boolean" },
227
- useDefaultObjectProperties: { type: "boolean" }
228
- },
229
- type: "object"
230
- }],
231
- type: "suggestion"
232
- }
304
+ contextDefaults: allowedNodes,
305
+ meta: {
306
+ docs: {
307
+ description: 'Ensures that parameter names in JSDoc match those in the function declaration.',
308
+ url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-param-names.md#repos-sticky-header'
309
+ },
310
+ fixable: 'code',
311
+ schema: [{
312
+ additionalProperties: false,
313
+ properties: {
314
+ allowExtraTrailingParamDocs: {
315
+ type: 'boolean'
316
+ },
317
+ checkDestructured: {
318
+ type: 'boolean'
319
+ },
320
+ checkRestProperty: {
321
+ type: 'boolean'
322
+ },
323
+ checkTypesPattern: {
324
+ type: 'string'
325
+ },
326
+ disableExtraPropertyReporting: {
327
+ type: 'boolean'
328
+ },
329
+ disableMissingParamChecks: {
330
+ type: 'boolean'
331
+ },
332
+ enableFixer: {
333
+ type: 'boolean'
334
+ },
335
+ useDefaultObjectProperties: {
336
+ type: 'boolean'
337
+ }
338
+ },
339
+ type: 'object'
340
+ }],
341
+ type: 'suggestion'
342
+ }
233
343
  });
234
-
235
- //#endregion
236
- exports.default = checkParamNames_default;
344
+ module.exports = exports.default;
237
345
  //# sourceMappingURL=checkParamNames.cjs.map