eslint-plugin-jsdoc 52.0.4 → 53.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 +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 +1528 -1988
  36. package/dist/iterateJsdoc.cjs.map +1 -1
  37. package/dist/iterateJsdoc.d.cts +471 -0
  38. package/dist/iterateJsdoc.d.cts.map +1 -0
  39. package/dist/iterateJsdoc.d.ts +358 -349
  40. package/dist/iterateJsdoc.d.ts.map +1 -1
  41. package/dist/iterateJsdoc.js +1617 -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
@@ -1 +1 @@
1
- {"version":3,"file":"getDefaultTagStructureForMode.cjs","names":["getDefaultTagStructureForMode","mode","isJsdoc","isClosure","isTypescript","isPermissive","isJsdocOrPermissive","isJsdocOrTypescript","isTypescriptOrClosure","isClosureOrPermissive","isJsdocTypescriptOrPermissive","Map","_default","exports","default","module"],"sources":["../src/getDefaultTagStructureForMode.js"],"sourcesContent":["/**\n * @typedef {Map<string, Map<string, (string|boolean)>>} TagStructure\n */\n/**\n * @param {import('./jsdocUtils.js').ParserMode} mode\n * @returns {TagStructure}\n */\nconst getDefaultTagStructureForMode = (mode) => {\n const isJsdoc = mode === 'jsdoc';\n const isClosure = mode === 'closure';\n const isTypescript = mode === 'typescript';\n const isPermissive = mode === 'permissive';\n\n const isJsdocOrPermissive = isJsdoc || isPermissive;\n const isJsdocOrTypescript = isJsdoc || isTypescript;\n const isTypescriptOrClosure = isTypescript || isClosure;\n const isClosureOrPermissive = isClosure || isPermissive;\n const isJsdocTypescriptOrPermissive = isJsdocOrTypescript || isPermissive;\n\n // Properties:\n // `namepathRole` - 'namepath-referencing'|'namepath-defining'|'namepath-or-url-referencing'|'text'|false\n // `typeAllowed` - boolean\n // `nameRequired` - boolean\n // `typeRequired` - boolean\n // `typeOrNameRequired` - boolean\n\n // All of `typeAllowed` have a signature with \"type\" except for\n // `augments`/`extends` (\"namepath\")\n // `param`/`arg`/`argument` (no signature)\n // `property`/`prop` (no signature)\n // `modifies` (undocumented)\n\n // None of the `namepathRole: 'namepath-defining'` show as having curly\n // brackets for their name/namepath\n\n // Among `namepath-defining` and `namepath-referencing`, these do not seem\n // to allow curly brackets in their doc signature or examples (`modifies`\n // references namepaths within its type brackets and `param` is\n // name-defining but not namepath-defining, so not part of these groups)\n\n // Todo: Should support special processing for \"name\" as distinct from\n // \"namepath\" (e.g., param can't define a namepath)\n\n // Todo: Should support a `tutorialID` type (for `@tutorial` block and\n // inline)\n\n /**\n * @type {TagStructure}\n */\n return new Map([\n [\n 'alias', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"namepath\" (and no counter-examples)\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // \"namepath\"\n [\n 'typeOrNameRequired', true,\n ],\n ])),\n ],\n\n [\n 'arg', new Map(/** @type {[string, string|boolean][]} */ ([\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // See `param`\n [\n 'nameRequired', true,\n ],\n\n // Has no formal signature in the docs but shows curly brackets\n // in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'argument', new Map(/** @type {[string, string|boolean][]} */ ([\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // See `param`\n [\n 'nameRequired', true,\n ],\n\n // Has no formal signature in the docs but shows curly brackets\n // in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'augments', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"namepath\" (and no counter-examples)\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n // Does not show curly brackets in either the signature or examples\n [\n 'typeAllowed', true,\n ],\n\n // \"namepath\"\n [\n 'typeOrNameRequired', true,\n ],\n ])),\n ],\n\n [\n 'borrows', new Map(/** @type {[string, string|boolean][]} */ ([\n // `borrows` has a different format, however, so needs special parsing;\n // seems to require both, and as \"namepath\"'s\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n // \"namepath\"\n [\n 'typeOrNameRequired', true,\n ],\n ])),\n ],\n\n [\n 'callback', new Map(/** @type {[string, string|boolean][]} */ ([\n // Seems to require a \"namepath\" in the signature (with no\n // counter-examples); TypeScript does not enforce but seems\n // problematic as not attached so presumably not useable without it\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // \"namepath\"\n [\n 'nameRequired', true,\n ],\n ])),\n ],\n\n [\n 'class', new Map(/** @type {[string, string|boolean][]} */ ([\n // Not in use, but should be this value if using to power `empty-tags`\n [\n 'nameAllowed', true,\n ],\n\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'const', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n [\n 'constant', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n [\n 'constructor', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'constructs', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n [\n 'nameRequired', false,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'define', new Map(/** @type {[string, string|boolean][]} */ ([\n [\n 'typeRequired', isClosure,\n ],\n ])),\n ],\n\n [\n 'emits', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"name\" (of an event) and no counter-examples\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n [\n 'nameRequired', true,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'enum', new Map(/** @type {[string, string|boolean][]} */ ([\n // Has example showing curly brackets but not in doc signature\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'event', new Map(/** @type {[string, string|boolean][]} */ ([\n // Appears to require a \"name\" in its signature, albeit somewhat\n // different from other \"name\"'s (including as described\n // at https://jsdoc.app/about-namepaths.html )\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // The doc signature of `event` seems to require a \"name\"\n [\n 'nameRequired', true,\n ],\n ])),\n ],\n\n [\n 'exception', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows curly brackets in the signature and in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n // Closure\n [\n 'export', new Map(/** @type {[string, string|boolean][]} */ ([\n [\n 'typeAllowed', isClosureOrPermissive,\n ],\n ])),\n ],\n\n [\n 'exports', new Map(/** @type {[string, string|boolean][]} */ ([\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n [\n 'nameRequired', isJsdoc,\n ],\n\n [\n 'typeAllowed', isClosureOrPermissive,\n ],\n ])),\n ],\n\n [\n 'extends', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"namepath\" (and no counter-examples)\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n [\n 'nameRequired', isJsdoc,\n ],\n\n // Does not show curly brackets in either the signature or examples\n [\n 'typeAllowed', isTypescriptOrClosure || isPermissive,\n ],\n\n // \"namepath\"\n [\n 'typeOrNameRequired', isTypescriptOrClosure || isPermissive,\n ],\n ])),\n ],\n\n [\n 'external', new Map(/** @type {[string, string|boolean][]} */ ([\n // Appears to require a \"name\" in its signature, albeit somewhat\n // different from other \"name\"'s (including as described\n // at https://jsdoc.app/about-namepaths.html )\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // \"name\" (and a special syntax for the `external` name)\n [\n 'nameRequired', true,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'fires', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"name\" (of an event) and no\n // counter-examples\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n [\n 'nameRequired', true,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'func', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n ])),\n ],\n [\n 'function', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n [\n 'nameRequired', false,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'host', new Map(/** @type {[string, string|boolean][]} */ ([\n // Appears to require a \"name\" in its signature, albeit somewhat\n // different from other \"name\"'s (including as described\n // at https://jsdoc.app/about-namepaths.html )\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // See `external`\n [\n 'nameRequired', true,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'implements', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows curly brackets in the doc signature and examples\n // \"typeExpression\"\n [\n 'typeRequired', true,\n ],\n ])),\n ],\n\n [\n 'interface', new Map(/** @type {[string, string|boolean][]} */ ([\n // Not in use, but should be this value if using to power `empty-tags`\n [\n 'nameAllowed', isClosure,\n ],\n\n // Allows for \"name\" in signature, but indicates as optional\n [\n 'namepathRole',\n isJsdocTypescriptOrPermissive ? 'namepath-defining' : false,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'internal', new Map(/** @type {[string, string|boolean][]} */ ([\n // Not in use, but should be this value if using to power `empty-tags`\n [\n 'nameAllowed', false,\n ],\n // https://www.typescriptlang.org/tsconfig/#stripInternal\n [\n 'namepathRole', false,\n ],\n ])),\n ],\n\n [\n 'lends', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"namepath\" (and no counter-examples)\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n // \"namepath\"\n [\n 'typeOrNameRequired', true,\n ],\n ])),\n ],\n\n [\n 'link', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a namepath OR URL and might be checked as such.\n [\n 'namepathRole', 'namepath-or-url-referencing',\n ],\n\n ])),\n ],\n\n [\n 'linkcode', new Map(/** @type {[string, string|boolean][]} */ ([\n // Synonym for \"link\"\n // Signature seems to require a namepath OR URL and might be checked as such.\n [\n 'namepathRole', 'namepath-or-url-referencing',\n ],\n ])),\n ],\n\n [\n 'linkplain', new Map(/** @type {[string, string|boolean][]} */ ([\n // Synonym for \"link\"\n // Signature seems to require a namepath OR URL and might be checked as such.\n [\n 'namepathRole', 'namepath-or-url-referencing',\n ],\n ])),\n ],\n\n [\n 'listens', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"name\" (of an event) and no\n // counter-examples\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n [\n 'nameRequired', true,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'member', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // Has example showing curly brackets but not in doc signature\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'memberof!', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"namepath\" (and no counter-examples),\n // though it allows an incomplete namepath ending with connecting symbol\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n // \"namepath\"\n [\n 'typeOrNameRequired', true,\n ],\n ])),\n ],\n [\n 'memberof', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"namepath\" (and no counter-examples),\n // though it allows an incomplete namepath ending with connecting symbol\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n // \"namepath\"\n [\n 'typeOrNameRequired', true,\n ],\n ])),\n ],\n\n [\n 'method', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n ])),\n ],\n [\n 'mixes', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"OtherObjectPath\" with no\n // counter-examples\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n // \"OtherObjectPath\"\n [\n 'typeOrNameRequired', true,\n ],\n ])),\n ],\n\n [\n 'mixin', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n [\n 'nameRequired', false,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'modifies', new Map(/** @type {[string, string|boolean][]} */ ([\n // Has no documentation, but test example has curly brackets, and\n // \"name\" would be suggested rather than \"namepath\" based on example;\n // not sure if name is required\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'module', new Map(/** @type {[string, string|boolean][]} */ ([\n // Optional \"name\" and no curly brackets\n // this block impacts `no-undefined-types` and `valid-types` (search for\n // \"isNamepathDefiningTag|tagMightHaveNamepath|tagMightHaveEitherTypeOrNamePosition\")\n [\n 'namepathRole', isJsdoc ? 'namepath-defining' : 'text',\n ],\n\n // Shows the signature with curly brackets but not in the example\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'name', new Map(/** @type {[string, string|boolean][]} */ ([\n // Seems to require a \"namepath\" in the signature (with no\n // counter-examples)\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // \"namepath\"\n [\n 'nameRequired', true,\n ],\n\n // \"namepath\"\n [\n 'typeOrNameRequired', true,\n ],\n ])),\n ],\n\n [\n 'namespace', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // Shows the signature with curly brackets but not in the example\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n [\n 'package', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows the signature with curly brackets but not in the example\n // \"typeExpression\"\n [\n 'typeAllowed', isClosureOrPermissive,\n ],\n ])),\n ],\n\n [\n 'param', new Map(/** @type {[string, string|boolean][]} */ ([\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // Though no signature provided requiring, per\n // https://jsdoc.app/tags-param.html:\n // \"The @param tag requires you to specify the name of the parameter you\n // are documenting.\"\n [\n 'nameRequired', true,\n ],\n\n // Has no formal signature in the docs but shows curly brackets\n // in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'private', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows the signature with curly brackets but not in the example\n // \"typeExpression\"\n [\n 'typeAllowed', isClosureOrPermissive,\n ],\n ])),\n ],\n\n [\n 'prop', new Map(/** @type {[string, string|boolean][]} */ ([\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // See `property`\n [\n 'nameRequired', true,\n ],\n\n // Has no formal signature in the docs but shows curly brackets\n // in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'property', new Map(/** @type {[string, string|boolean][]} */ ([\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // No docs indicate required, but since parallel to `param`, we treat as\n // such:\n [\n 'nameRequired', true,\n ],\n\n // Has no formal signature in the docs but shows curly brackets\n // in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'protected', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows the signature with curly brackets but not in the example\n // \"typeExpression\"\n [\n 'typeAllowed', isClosureOrPermissive,\n ],\n ])),\n ],\n\n [\n 'public', new Map(/** @type {[string, string|boolean][]} */ ([\n // Does not show a signature nor show curly brackets in the example\n [\n 'typeAllowed', isClosureOrPermissive,\n ],\n ])),\n ],\n\n [\n 'requires', new Map(/** @type {[string, string|boolean][]} */ ([\n // <someModuleName>\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n [\n 'nameRequired', true,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'return', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows curly brackets in the signature and in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n [\n 'returns', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows curly brackets in the signature and in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'satisfies', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows curly brackets in the doc signature and examples\n [\n 'typeRequired', true,\n ],\n ])),\n ],\n\n [\n 'see', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature allows for \"namepath\" or text, so user must configure to\n // 'namepath-referencing' to enforce checks\n [\n 'namepathRole', 'text',\n ],\n ])),\n ],\n\n [\n 'static', new Map(/** @type {[string, string|boolean][]} */ ([\n // Does not show a signature nor show curly brackets in the example\n [\n 'typeAllowed', isClosureOrPermissive,\n ],\n ])),\n ],\n\n [\n 'suppress', new Map(/** @type {[string, string|boolean][]} */ ([\n [\n 'namepathRole', !isClosure,\n ],\n [\n 'typeRequired', isClosure,\n ],\n ])),\n ],\n\n [\n 'template', new Map(/** @type {[string, string|boolean][]} */ ([\n [\n 'namepathRole', isJsdoc ? 'text' : 'namepath-referencing',\n ],\n\n [\n 'nameRequired', !isJsdoc,\n ],\n\n // Though defines `namepathRole: 'namepath-defining'` in a sense, it is\n // not parseable in the same way for template (e.g., allowing commas),\n // so not adding\n [\n 'typeAllowed', isTypescriptOrClosure || isPermissive,\n ],\n ])),\n ],\n\n [\n 'this', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"namepath\" (and no counter-examples)\n // Not used with namepath in Closure/TypeScript, however\n [\n 'namepathRole', isJsdoc ? 'namepath-referencing' : false,\n ],\n\n // namepath\n [\n 'typeOrNameRequired', isJsdoc,\n ],\n\n [\n 'typeRequired', isTypescriptOrClosure,\n ],\n ])),\n ],\n\n [\n 'throws', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows curly brackets in the signature and in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'tutorial', new Map(/** @type {[string, string|boolean][]} */ ([\n // (a tutorial ID)\n [\n 'nameRequired', true,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'type', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows curly brackets in the doc signature and examples\n // \"typeName\"\n [\n 'typeRequired', true,\n ],\n ])),\n ],\n\n [\n 'typedef', new Map(/** @type {[string, string|boolean][]} */ ([\n // Seems to require a \"namepath\" in the signature (with no\n // counter-examples)\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // TypeScript may allow it to be dropped if followed by @property or @member;\n // also shown as missing in Closure\n // \"namepath\"\n [\n 'nameRequired', isJsdocOrPermissive,\n ],\n\n // Is not `typeRequired` for TypeScript because it gives an error:\n // JSDoc '@typedef' tag should either have a type annotation or be followed by '@property' or '@member' tags.\n\n // Has example showing curly brackets but not in doc signature\n [\n 'typeAllowed', true,\n ],\n\n // TypeScript may allow it to be dropped if followed by @property or @member\n // \"namepath\"\n [\n 'typeOrNameRequired', !isTypescript,\n ],\n ])),\n ],\n\n [\n 'var', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // Has example showing curly brackets but not in doc signature\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'yield', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows curly brackets in the signature and in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n [\n 'yields', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows curly brackets in the signature and in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n ]);\n};\n\nexport default getDefaultTagStructureForMode;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"getDefaultTagStructureForMode.cjs","names":[],"sources":["../src/getDefaultTagStructureForMode.js"],"sourcesContent":["/**\n * @typedef {Map<string, Map<string, (string|boolean)>>} TagStructure\n */\n/**\n * @param {import('./jsdocUtils.js').ParserMode} mode\n * @returns {TagStructure}\n */\nconst getDefaultTagStructureForMode = (mode) => {\n const isJsdoc = mode === 'jsdoc';\n const isClosure = mode === 'closure';\n const isTypescript = mode === 'typescript';\n const isPermissive = mode === 'permissive';\n\n const isJsdocOrPermissive = isJsdoc || isPermissive;\n const isJsdocOrTypescript = isJsdoc || isTypescript;\n const isTypescriptOrClosure = isTypescript || isClosure;\n const isClosureOrPermissive = isClosure || isPermissive;\n const isJsdocTypescriptOrPermissive = isJsdocOrTypescript || isPermissive;\n\n // Properties:\n // `namepathRole` - 'namepath-referencing'|'namepath-defining'|'namepath-or-url-referencing'|'text'|false\n // `typeAllowed` - boolean\n // `nameRequired` - boolean\n // `typeRequired` - boolean\n // `typeOrNameRequired` - boolean\n\n // All of `typeAllowed` have a signature with \"type\" except for\n // `augments`/`extends` (\"namepath\")\n // `param`/`arg`/`argument` (no signature)\n // `property`/`prop` (no signature)\n // `modifies` (undocumented)\n\n // None of the `namepathRole: 'namepath-defining'` show as having curly\n // brackets for their name/namepath\n\n // Among `namepath-defining` and `namepath-referencing`, these do not seem\n // to allow curly brackets in their doc signature or examples (`modifies`\n // references namepaths within its type brackets and `param` is\n // name-defining but not namepath-defining, so not part of these groups)\n\n // Todo: Should support special processing for \"name\" as distinct from\n // \"namepath\" (e.g., param can't define a namepath)\n\n // Todo: Should support a `tutorialID` type (for `@tutorial` block and\n // inline)\n\n /**\n * @type {TagStructure}\n */\n return new Map([\n [\n 'alias', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"namepath\" (and no counter-examples)\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // \"namepath\"\n [\n 'typeOrNameRequired', true,\n ],\n ])),\n ],\n\n [\n 'arg', new Map(/** @type {[string, string|boolean][]} */ ([\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // See `param`\n [\n 'nameRequired', true,\n ],\n\n // Has no formal signature in the docs but shows curly brackets\n // in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'argument', new Map(/** @type {[string, string|boolean][]} */ ([\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // See `param`\n [\n 'nameRequired', true,\n ],\n\n // Has no formal signature in the docs but shows curly brackets\n // in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'augments', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"namepath\" (and no counter-examples)\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n // Does not show curly brackets in either the signature or examples\n [\n 'typeAllowed', true,\n ],\n\n // \"namepath\"\n [\n 'typeOrNameRequired', true,\n ],\n ])),\n ],\n\n [\n 'borrows', new Map(/** @type {[string, string|boolean][]} */ ([\n // `borrows` has a different format, however, so needs special parsing;\n // seems to require both, and as \"namepath\"'s\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n // \"namepath\"\n [\n 'typeOrNameRequired', true,\n ],\n ])),\n ],\n\n [\n 'callback', new Map(/** @type {[string, string|boolean][]} */ ([\n // Seems to require a \"namepath\" in the signature (with no\n // counter-examples); TypeScript does not enforce but seems\n // problematic as not attached so presumably not useable without it\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // \"namepath\"\n [\n 'nameRequired', true,\n ],\n ])),\n ],\n\n [\n 'class', new Map(/** @type {[string, string|boolean][]} */ ([\n // Not in use, but should be this value if using to power `empty-tags`\n [\n 'nameAllowed', true,\n ],\n\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'const', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n [\n 'constant', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n [\n 'constructor', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'constructs', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n [\n 'nameRequired', false,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'define', new Map(/** @type {[string, string|boolean][]} */ ([\n [\n 'typeRequired', isClosure,\n ],\n ])),\n ],\n\n [\n 'emits', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"name\" (of an event) and no counter-examples\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n [\n 'nameRequired', true,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'enum', new Map(/** @type {[string, string|boolean][]} */ ([\n // Has example showing curly brackets but not in doc signature\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'event', new Map(/** @type {[string, string|boolean][]} */ ([\n // Appears to require a \"name\" in its signature, albeit somewhat\n // different from other \"name\"'s (including as described\n // at https://jsdoc.app/about-namepaths.html )\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // The doc signature of `event` seems to require a \"name\"\n [\n 'nameRequired', true,\n ],\n ])),\n ],\n\n [\n 'exception', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows curly brackets in the signature and in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n // Closure\n [\n 'export', new Map(/** @type {[string, string|boolean][]} */ ([\n [\n 'typeAllowed', isClosureOrPermissive,\n ],\n ])),\n ],\n\n [\n 'exports', new Map(/** @type {[string, string|boolean][]} */ ([\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n [\n 'nameRequired', isJsdoc,\n ],\n\n [\n 'typeAllowed', isClosureOrPermissive,\n ],\n ])),\n ],\n\n [\n 'extends', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"namepath\" (and no counter-examples)\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n [\n 'nameRequired', isJsdoc,\n ],\n\n // Does not show curly brackets in either the signature or examples\n [\n 'typeAllowed', isTypescriptOrClosure || isPermissive,\n ],\n\n // \"namepath\"\n [\n 'typeOrNameRequired', isTypescriptOrClosure || isPermissive,\n ],\n ])),\n ],\n\n [\n 'external', new Map(/** @type {[string, string|boolean][]} */ ([\n // Appears to require a \"name\" in its signature, albeit somewhat\n // different from other \"name\"'s (including as described\n // at https://jsdoc.app/about-namepaths.html )\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // \"name\" (and a special syntax for the `external` name)\n [\n 'nameRequired', true,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'fires', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"name\" (of an event) and no\n // counter-examples\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n [\n 'nameRequired', true,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'func', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n ])),\n ],\n [\n 'function', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n [\n 'nameRequired', false,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'host', new Map(/** @type {[string, string|boolean][]} */ ([\n // Appears to require a \"name\" in its signature, albeit somewhat\n // different from other \"name\"'s (including as described\n // at https://jsdoc.app/about-namepaths.html )\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // See `external`\n [\n 'nameRequired', true,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'implements', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows curly brackets in the doc signature and examples\n // \"typeExpression\"\n [\n 'typeRequired', true,\n ],\n ])),\n ],\n\n [\n 'interface', new Map(/** @type {[string, string|boolean][]} */ ([\n // Not in use, but should be this value if using to power `empty-tags`\n [\n 'nameAllowed', isClosure,\n ],\n\n // Allows for \"name\" in signature, but indicates as optional\n [\n 'namepathRole',\n isJsdocTypescriptOrPermissive ? 'namepath-defining' : false,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'internal', new Map(/** @type {[string, string|boolean][]} */ ([\n // Not in use, but should be this value if using to power `empty-tags`\n [\n 'nameAllowed', false,\n ],\n // https://www.typescriptlang.org/tsconfig/#stripInternal\n [\n 'namepathRole', false,\n ],\n ])),\n ],\n\n [\n 'lends', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"namepath\" (and no counter-examples)\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n // \"namepath\"\n [\n 'typeOrNameRequired', true,\n ],\n ])),\n ],\n\n [\n 'link', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a namepath OR URL and might be checked as such.\n [\n 'namepathRole', 'namepath-or-url-referencing',\n ],\n\n ])),\n ],\n\n [\n 'linkcode', new Map(/** @type {[string, string|boolean][]} */ ([\n // Synonym for \"link\"\n // Signature seems to require a namepath OR URL and might be checked as such.\n [\n 'namepathRole', 'namepath-or-url-referencing',\n ],\n ])),\n ],\n\n [\n 'linkplain', new Map(/** @type {[string, string|boolean][]} */ ([\n // Synonym for \"link\"\n // Signature seems to require a namepath OR URL and might be checked as such.\n [\n 'namepathRole', 'namepath-or-url-referencing',\n ],\n ])),\n ],\n\n [\n 'listens', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"name\" (of an event) and no\n // counter-examples\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n [\n 'nameRequired', true,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'member', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // Has example showing curly brackets but not in doc signature\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'memberof!', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"namepath\" (and no counter-examples),\n // though it allows an incomplete namepath ending with connecting symbol\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n // \"namepath\"\n [\n 'typeOrNameRequired', true,\n ],\n ])),\n ],\n [\n 'memberof', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"namepath\" (and no counter-examples),\n // though it allows an incomplete namepath ending with connecting symbol\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n // \"namepath\"\n [\n 'typeOrNameRequired', true,\n ],\n ])),\n ],\n\n [\n 'method', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n ])),\n ],\n [\n 'mixes', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"OtherObjectPath\" with no\n // counter-examples\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n // \"OtherObjectPath\"\n [\n 'typeOrNameRequired', true,\n ],\n ])),\n ],\n\n [\n 'mixin', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n [\n 'nameRequired', false,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'modifies', new Map(/** @type {[string, string|boolean][]} */ ([\n // Has no documentation, but test example has curly brackets, and\n // \"name\" would be suggested rather than \"namepath\" based on example;\n // not sure if name is required\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'module', new Map(/** @type {[string, string|boolean][]} */ ([\n // Optional \"name\" and no curly brackets\n // this block impacts `no-undefined-types` and `valid-types` (search for\n // \"isNamepathDefiningTag|tagMightHaveNamepath|tagMightHaveEitherTypeOrNamePosition\")\n [\n 'namepathRole', isJsdoc ? 'namepath-defining' : 'text',\n ],\n\n // Shows the signature with curly brackets but not in the example\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'name', new Map(/** @type {[string, string|boolean][]} */ ([\n // Seems to require a \"namepath\" in the signature (with no\n // counter-examples)\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // \"namepath\"\n [\n 'nameRequired', true,\n ],\n\n // \"namepath\"\n [\n 'typeOrNameRequired', true,\n ],\n ])),\n ],\n\n [\n 'namespace', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // Shows the signature with curly brackets but not in the example\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n [\n 'package', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows the signature with curly brackets but not in the example\n // \"typeExpression\"\n [\n 'typeAllowed', isClosureOrPermissive,\n ],\n ])),\n ],\n\n [\n 'param', new Map(/** @type {[string, string|boolean][]} */ ([\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // Though no signature provided requiring, per\n // https://jsdoc.app/tags-param.html:\n // \"The @param tag requires you to specify the name of the parameter you\n // are documenting.\"\n [\n 'nameRequired', true,\n ],\n\n // Has no formal signature in the docs but shows curly brackets\n // in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'private', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows the signature with curly brackets but not in the example\n // \"typeExpression\"\n [\n 'typeAllowed', isClosureOrPermissive,\n ],\n ])),\n ],\n\n [\n 'prop', new Map(/** @type {[string, string|boolean][]} */ ([\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // See `property`\n [\n 'nameRequired', true,\n ],\n\n // Has no formal signature in the docs but shows curly brackets\n // in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'property', new Map(/** @type {[string, string|boolean][]} */ ([\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // No docs indicate required, but since parallel to `param`, we treat as\n // such:\n [\n 'nameRequired', true,\n ],\n\n // Has no formal signature in the docs but shows curly brackets\n // in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'protected', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows the signature with curly brackets but not in the example\n // \"typeExpression\"\n [\n 'typeAllowed', isClosureOrPermissive,\n ],\n ])),\n ],\n\n [\n 'public', new Map(/** @type {[string, string|boolean][]} */ ([\n // Does not show a signature nor show curly brackets in the example\n [\n 'typeAllowed', isClosureOrPermissive,\n ],\n ])),\n ],\n\n [\n 'requires', new Map(/** @type {[string, string|boolean][]} */ ([\n // <someModuleName>\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n [\n 'nameRequired', true,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'return', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows curly brackets in the signature and in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n [\n 'returns', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows curly brackets in the signature and in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'satisfies', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows curly brackets in the doc signature and examples\n [\n 'typeRequired', true,\n ],\n ])),\n ],\n\n [\n 'see', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature allows for \"namepath\" or text, so user must configure to\n // 'namepath-referencing' to enforce checks\n [\n 'namepathRole', 'text',\n ],\n ])),\n ],\n\n [\n 'static', new Map(/** @type {[string, string|boolean][]} */ ([\n // Does not show a signature nor show curly brackets in the example\n [\n 'typeAllowed', isClosureOrPermissive,\n ],\n ])),\n ],\n\n [\n 'suppress', new Map(/** @type {[string, string|boolean][]} */ ([\n [\n 'namepathRole', !isClosure,\n ],\n [\n 'typeRequired', isClosure,\n ],\n ])),\n ],\n\n [\n 'template', new Map(/** @type {[string, string|boolean][]} */ ([\n [\n 'namepathRole', isJsdoc ? 'text' : 'namepath-referencing',\n ],\n\n [\n 'nameRequired', !isJsdoc,\n ],\n\n // Though defines `namepathRole: 'namepath-defining'` in a sense, it is\n // not parseable in the same way for template (e.g., allowing commas),\n // so not adding\n [\n 'typeAllowed', isTypescriptOrClosure || isPermissive,\n ],\n ])),\n ],\n\n [\n 'this', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"namepath\" (and no counter-examples)\n // Not used with namepath in Closure/TypeScript, however\n [\n 'namepathRole', isJsdoc ? 'namepath-referencing' : false,\n ],\n\n // namepath\n [\n 'typeOrNameRequired', isJsdoc,\n ],\n\n [\n 'typeRequired', isTypescriptOrClosure,\n ],\n ])),\n ],\n\n [\n 'throws', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows curly brackets in the signature and in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'tutorial', new Map(/** @type {[string, string|boolean][]} */ ([\n // (a tutorial ID)\n [\n 'nameRequired', true,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'type', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows curly brackets in the doc signature and examples\n // \"typeName\"\n [\n 'typeRequired', true,\n ],\n ])),\n ],\n\n [\n 'typedef', new Map(/** @type {[string, string|boolean][]} */ ([\n // Seems to require a \"namepath\" in the signature (with no\n // counter-examples)\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // TypeScript may allow it to be dropped if followed by @property or @member;\n // also shown as missing in Closure\n // \"namepath\"\n [\n 'nameRequired', isJsdocOrPermissive,\n ],\n\n // Is not `typeRequired` for TypeScript because it gives an error:\n // JSDoc '@typedef' tag should either have a type annotation or be followed by '@property' or '@member' tags.\n\n // Has example showing curly brackets but not in doc signature\n [\n 'typeAllowed', true,\n ],\n\n // TypeScript may allow it to be dropped if followed by @property or @member\n // \"namepath\"\n [\n 'typeOrNameRequired', !isTypescript,\n ],\n ])),\n ],\n\n [\n 'var', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // Has example showing curly brackets but not in doc signature\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'yield', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows curly brackets in the signature and in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n [\n 'yields', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows curly brackets in the signature and in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n ]);\n};\n\nexport default getDefaultTagStructureForMode;\n"],"mappings":";;;;;;;;;AAOA,MAAM,gCAAgC,CAAC,SAAS;CAC9C,MAAM,UAAU,SAAS;CACzB,MAAM,YAAY,SAAS;CAC3B,MAAM,eAAe,SAAS;CAC9B,MAAM,eAAe,SAAS;CAE9B,MAAM,sBAAsB,WAAW;CACvC,MAAM,sBAAsB,WAAW;CACvC,MAAM,wBAAwB,gBAAgB;CAC9C,MAAM,wBAAwB,aAAa;CAC3C,MAAM,gCAAgC,uBAAuB;;;;AAgC7D,QAAO,IAAI,IAAI;EACb,CACE,SAAS,IAAI,IAA+C,CAE1D,CACE,gBAAgB,mBACjB,GAGD,CACE,sBAAsB,IACvB,CACF,EACF;EAED,CACE,OAAO,IAAI,IAA+C;GACxD,CACE,gBAAgB,mBACjB;GAGD,CACE,gBAAgB,IACjB;GAID,CACE,eAAe,IAChB;EACF,EACF;EAED,CACE,YAAY,IAAI,IAA+C;GAC7D,CACE,gBAAgB,mBACjB;GAGD,CACE,gBAAgB,IACjB;GAID,CACE,eAAe,IAChB;EACF,EACF;EAED,CACE,YAAY,IAAI,IAA+C;GAE7D,CACE,gBAAgB,sBACjB;GAGD,CACE,eAAe,IAChB;GAGD,CACE,sBAAsB,IACvB;EACF,EACF;EAED,CACE,WAAW,IAAI,IAA+C,CAG5D,CACE,gBAAgB,sBACjB,GAGD,CACE,sBAAsB,IACvB,CACF,EACF;EAED,CACE,YAAY,IAAI,IAA+C,CAI7D,CACE,gBAAgB,mBACjB,GAGD,CACE,gBAAgB,IACjB,CACF,EACF;EAED,CACE,SAAS,IAAI,IAA+C;GAE1D,CACE,eAAe,IAChB;GAGD,CACE,gBAAgB,mBACjB;GAED,CACE,eAAe,IAChB;EACF,EACF;EAED,CACE,SAAS,IAAI,IAA+C,CAE1D,CACE,gBAAgB,mBACjB,GAED,CACE,eAAe,IAChB,CACF,EACF;EACD,CACE,YAAY,IAAI,IAA+C,CAE7D,CACE,gBAAgB,mBACjB,GAED,CACE,eAAe,IAChB,CACF,EACF;EACD,CACE,eAAe,IAAI,IAA+C,CAEhE,CACE,gBAAgB,mBACjB,GAED,CACE,eAAe,IAChB,CACF,EACF;EAED,CACE,cAAc,IAAI,IAA+C;GAE/D,CACE,gBAAgB,mBACjB;GAED,CACE,gBAAgB,KACjB;GAED,CACE,eAAe,KAChB;EACF,EACF;EAED,CACE,UAAU,IAAI,IAA+C,CAC3D,CACE,gBAAgB,SACjB,CACF,EACF;EAED,CACE,SAAS,IAAI,IAA+C;GAE1D,CACE,gBAAgB,sBACjB;GAED,CACE,gBAAgB,IACjB;GAED,CACE,eAAe,KAChB;EACF,EACF;EAED,CACE,QAAQ,IAAI,IAA+C,CAEzD,CACE,eAAe,IAChB,CACF,EACF;EAED,CACE,SAAS,IAAI,IAA+C,CAI1D,CACE,gBAAgB,mBACjB,GAGD,CACE,gBAAgB,IACjB,CACF,EACF;EAED,CACE,aAAa,IAAI,IAA+C,CAE9D,CACE,eAAe,IAChB,CACF,EACF;EAGD,CACE,UAAU,IAAI,IAA+C,CAC3D,CACE,eAAe,qBAChB,CACF,EACF;EAED,CACE,WAAW,IAAI,IAA+C;GAC5D,CACE,gBAAgB,mBACjB;GAED,CACE,gBAAgB,OACjB;GAED,CACE,eAAe,qBAChB;EACF,EACF;EAED,CACE,WAAW,IAAI,IAA+C;GAE5D,CACE,gBAAgB,sBACjB;GAED,CACE,gBAAgB,OACjB;GAGD,CACE,eAAe,yBAAyB,YACzC;GAGD,CACE,sBAAsB,yBAAyB,YAChD;EACF,EACF;EAED,CACE,YAAY,IAAI,IAA+C;GAI7D,CACE,gBAAgB,mBACjB;GAGD,CACE,gBAAgB,IACjB;GAED,CACE,eAAe,KAChB;EACF,EACF;EAED,CACE,SAAS,IAAI,IAA+C;GAG1D,CACE,gBAAgB,sBACjB;GAED,CACE,gBAAgB,IACjB;GAED,CACE,eAAe,KAChB;EACF,EACF;EAED,CACE,QAAQ,IAAI,IAA+C,CAEzD,CACE,gBAAgB,mBACjB,CACF,EACF;EACD,CACE,YAAY,IAAI,IAA+C;GAE7D,CACE,gBAAgB,mBACjB;GAED,CACE,gBAAgB,KACjB;GAED,CACE,eAAe,KAChB;EACF,EACF;EAED,CACE,QAAQ,IAAI,IAA+C;GAIzD,CACE,gBAAgB,mBACjB;GAGD,CACE,gBAAgB,IACjB;GAED,CACE,eAAe,KAChB;EACF,EACF;EAED,CACE,cAAc,IAAI,IAA+C,CAG/D,CACE,gBAAgB,IACjB,CACF,EACF;EAED,CACE,aAAa,IAAI,IAA+C;GAE9D,CACE,eAAe,SAChB;GAGD,CACE,gBACA,gCAAgC,sBAAsB,KACvD;GAED,CACE,eAAe,KAChB;EACF,EACF;EAED,CACE,YAAY,IAAI,IAA+C,CAE7D,CACE,eAAe,KAChB,GAED,CACE,gBAAgB,KACjB,CACF,EACF;EAED,CACE,SAAS,IAAI,IAA+C,CAE1D,CACE,gBAAgB,sBACjB,GAGD,CACE,sBAAsB,IACvB,CACF,EACF;EAED,CACE,QAAQ,IAAI,IAA+C,CAEzD,CACE,gBAAgB,6BACjB,CAEF,EACF;EAED,CACE,YAAY,IAAI,IAA+C,CAG7D,CACE,gBAAgB,6BACjB,CACF,EACF;EAED,CACE,aAAa,IAAI,IAA+C,CAG9D,CACE,gBAAgB,6BACjB,CACF,EACF;EAED,CACE,WAAW,IAAI,IAA+C;GAG5D,CACE,gBAAgB,sBACjB;GAED,CACE,gBAAgB,IACjB;GAED,CACE,eAAe,KAChB;EACF,EACF;EAED,CACE,UAAU,IAAI,IAA+C,CAE3D,CACE,gBAAgB,mBACjB,GAGD,CACE,eAAe,IAChB,CACF,EACF;EAED,CACE,aAAa,IAAI,IAA+C,CAG9D,CACE,gBAAgB,sBACjB,GAGD,CACE,sBAAsB,IACvB,CACF,EACF;EACD,CACE,YAAY,IAAI,IAA+C,CAG7D,CACE,gBAAgB,sBACjB,GAGD,CACE,sBAAsB,IACvB,CACF,EACF;EAED,CACE,UAAU,IAAI,IAA+C,CAE3D,CACE,gBAAgB,mBACjB,CACF,EACF;EACD,CACE,SAAS,IAAI,IAA+C,CAG1D,CACE,gBAAgB,sBACjB,GAGD,CACE,sBAAsB,IACvB,CACF,EACF;EAED,CACE,SAAS,IAAI,IAA+C;GAE1D,CACE,gBAAgB,mBACjB;GAED,CACE,gBAAgB,KACjB;GAED,CACE,eAAe,KAChB;EACF,EACF;EAED,CACE,YAAY,IAAI,IAA+C,CAI7D,CACE,eAAe,IAChB,CACF,EACF;EAED,CACE,UAAU,IAAI,IAA+C,CAI3D,CACE,gBAAgB,UAAU,sBAAsB,MACjD,GAGD,CACE,eAAe,IAChB,CACF,EACF;EAED,CACE,QAAQ,IAAI,IAA+C;GAGzD,CACE,gBAAgB,mBACjB;GAGD,CACE,gBAAgB,IACjB;GAGD,CACE,sBAAsB,IACvB;EACF,EACF;EAED,CACE,aAAa,IAAI,IAA+C,CAE9D,CACE,gBAAgB,mBACjB,GAGD,CACE,eAAe,IAChB,CACF,EACF;EACD,CACE,WAAW,IAAI,IAA+C,CAG5D,CACE,eAAe,qBAChB,CACF,EACF;EAED,CACE,SAAS,IAAI,IAA+C;GAC1D,CACE,gBAAgB,mBACjB;GAMD,CACE,gBAAgB,IACjB;GAID,CACE,eAAe,IAChB;EACF,EACF;EAED,CACE,WAAW,IAAI,IAA+C,CAG5D,CACE,eAAe,qBAChB,CACF,EACF;EAED,CACE,QAAQ,IAAI,IAA+C;GACzD,CACE,gBAAgB,mBACjB;GAGD,CACE,gBAAgB,IACjB;GAID,CACE,eAAe,IAChB;EACF,EACF;EAED,CACE,YAAY,IAAI,IAA+C;GAC7D,CACE,gBAAgB,mBACjB;GAID,CACE,gBAAgB,IACjB;GAID,CACE,eAAe,IAChB;EACF,EACF;EAED,CACE,aAAa,IAAI,IAA+C,CAG9D,CACE,eAAe,qBAChB,CACF,EACF;EAED,CACE,UAAU,IAAI,IAA+C,CAE3D,CACE,eAAe,qBAChB,CACF,EACF;EAED,CACE,YAAY,IAAI,IAA+C;GAE7D,CACE,gBAAgB,sBACjB;GAED,CACE,gBAAgB,IACjB;GAED,CACE,eAAe,KAChB;EACF,EACF;EAED,CACE,UAAU,IAAI,IAA+C,CAE3D,CACE,eAAe,IAChB,CACF,EACF;EACD,CACE,WAAW,IAAI,IAA+C,CAE5D,CACE,eAAe,IAChB,CACF,EACF;EAED,CACE,aAAa,IAAI,IAA+C,CAE9D,CACE,gBAAgB,IACjB,CACF,EACF;EAED,CACE,OAAO,IAAI,IAA+C,CAGxD,CACE,gBAAgB,MACjB,CACF,EACF;EAED,CACE,UAAU,IAAI,IAA+C,CAE3D,CACE,eAAe,qBAChB,CACF,EACF;EAED,CACE,YAAY,IAAI,IAA+C,CAC7D,CACE,gBAAgB,CAAC,SAClB,GACD,CACE,gBAAgB,SACjB,CACF,EACF;EAED,CACE,YAAY,IAAI,IAA+C;GAC7D,CACE,gBAAgB,UAAU,SAAS,sBACpC;GAED,CACE,gBAAgB,CAAC,OAClB;GAKD,CACE,eAAe,yBAAyB,YACzC;EACF,EACF;EAED,CACE,QAAQ,IAAI,IAA+C;GAGzD,CACE,gBAAgB,UAAU,yBAAyB,KACpD;GAGD,CACE,sBAAsB,OACvB;GAED,CACE,gBAAgB,qBACjB;EACF,EACF;EAED,CACE,UAAU,IAAI,IAA+C,CAE3D,CACE,eAAe,IAChB,CACF,EACF;EAED,CACE,YAAY,IAAI,IAA+C,CAE7D,CACE,gBAAgB,IACjB,GAED,CACE,eAAe,KAChB,CACF,EACF;EAED,CACE,QAAQ,IAAI,IAA+C,CAGzD,CACE,gBAAgB,IACjB,CACF,EACF;EAED,CACE,WAAW,IAAI,IAA+C;GAG5D,CACE,gBAAgB,mBACjB;GAKD,CACE,gBAAgB,mBACjB;GAMD,CACE,eAAe,IAChB;GAID,CACE,sBAAsB,CAAC,YACxB;EACF,EACF;EAED,CACE,OAAO,IAAI,IAA+C,CAExD,CACE,gBAAgB,mBACjB,GAGD,CACE,eAAe,IAChB,CACF,EACF;EAED,CACE,SAAS,IAAI,IAA+C,CAE1D,CACE,eAAe,IAChB,CACF,EACF;EACD,CACE,UAAU,IAAI,IAA+C,CAE3D,CACE,eAAe,IAChB,CACF,EACF;CACF;AACF;AAED,4CAAe"}
@@ -0,0 +1,188 @@
1
+ //#region src/getDefaultTagStructureForMode.js
2
+ /**
3
+ * @typedef {Map<string, Map<string, (string|boolean)>>} TagStructure
4
+ */
5
+ /**
6
+ * @param {import('./jsdocUtils.js').ParserMode} mode
7
+ * @returns {TagStructure}
8
+ */
9
+ const getDefaultTagStructureForMode = (mode) => {
10
+ const isJsdoc = mode === "jsdoc";
11
+ const isClosure = mode === "closure";
12
+ const isTypescript = mode === "typescript";
13
+ const isPermissive = mode === "permissive";
14
+ const isJsdocOrPermissive = isJsdoc || isPermissive;
15
+ const isJsdocOrTypescript = isJsdoc || isTypescript;
16
+ const isTypescriptOrClosure = isTypescript || isClosure;
17
+ const isClosureOrPermissive = isClosure || isPermissive;
18
+ const isJsdocTypescriptOrPermissive = isJsdocOrTypescript || isPermissive;
19
+ /**
20
+ * @type {TagStructure}
21
+ */
22
+ return new Map([
23
+ ["alias", new Map([["namepathRole", "namepath-defining"], ["typeOrNameRequired", true]])],
24
+ ["arg", new Map([
25
+ ["namepathRole", "namepath-defining"],
26
+ ["nameRequired", true],
27
+ ["typeAllowed", true]
28
+ ])],
29
+ ["argument", new Map([
30
+ ["namepathRole", "namepath-defining"],
31
+ ["nameRequired", true],
32
+ ["typeAllowed", true]
33
+ ])],
34
+ ["augments", new Map([
35
+ ["namepathRole", "namepath-referencing"],
36
+ ["typeAllowed", true],
37
+ ["typeOrNameRequired", true]
38
+ ])],
39
+ ["borrows", new Map([["namepathRole", "namepath-referencing"], ["typeOrNameRequired", true]])],
40
+ ["callback", new Map([["namepathRole", "namepath-defining"], ["nameRequired", true]])],
41
+ ["class", new Map([
42
+ ["nameAllowed", true],
43
+ ["namepathRole", "namepath-defining"],
44
+ ["typeAllowed", true]
45
+ ])],
46
+ ["const", new Map([["namepathRole", "namepath-defining"], ["typeAllowed", true]])],
47
+ ["constant", new Map([["namepathRole", "namepath-defining"], ["typeAllowed", true]])],
48
+ ["constructor", new Map([["namepathRole", "namepath-defining"], ["typeAllowed", true]])],
49
+ ["constructs", new Map([
50
+ ["namepathRole", "namepath-defining"],
51
+ ["nameRequired", false],
52
+ ["typeAllowed", false]
53
+ ])],
54
+ ["define", new Map([["typeRequired", isClosure]])],
55
+ ["emits", new Map([
56
+ ["namepathRole", "namepath-referencing"],
57
+ ["nameRequired", true],
58
+ ["typeAllowed", false]
59
+ ])],
60
+ ["enum", new Map([["typeAllowed", true]])],
61
+ ["event", new Map([["namepathRole", "namepath-defining"], ["nameRequired", true]])],
62
+ ["exception", new Map([["typeAllowed", true]])],
63
+ ["export", new Map([["typeAllowed", isClosureOrPermissive]])],
64
+ ["exports", new Map([
65
+ ["namepathRole", "namepath-defining"],
66
+ ["nameRequired", isJsdoc],
67
+ ["typeAllowed", isClosureOrPermissive]
68
+ ])],
69
+ ["extends", new Map([
70
+ ["namepathRole", "namepath-referencing"],
71
+ ["nameRequired", isJsdoc],
72
+ ["typeAllowed", isTypescriptOrClosure || isPermissive],
73
+ ["typeOrNameRequired", isTypescriptOrClosure || isPermissive]
74
+ ])],
75
+ ["external", new Map([
76
+ ["namepathRole", "namepath-defining"],
77
+ ["nameRequired", true],
78
+ ["typeAllowed", false]
79
+ ])],
80
+ ["fires", new Map([
81
+ ["namepathRole", "namepath-referencing"],
82
+ ["nameRequired", true],
83
+ ["typeAllowed", false]
84
+ ])],
85
+ ["func", new Map([["namepathRole", "namepath-defining"]])],
86
+ ["function", new Map([
87
+ ["namepathRole", "namepath-defining"],
88
+ ["nameRequired", false],
89
+ ["typeAllowed", false]
90
+ ])],
91
+ ["host", new Map([
92
+ ["namepathRole", "namepath-defining"],
93
+ ["nameRequired", true],
94
+ ["typeAllowed", false]
95
+ ])],
96
+ ["implements", new Map([["typeRequired", true]])],
97
+ ["interface", new Map([
98
+ ["nameAllowed", isClosure],
99
+ ["namepathRole", isJsdocTypescriptOrPermissive ? "namepath-defining" : false],
100
+ ["typeAllowed", false]
101
+ ])],
102
+ ["internal", new Map([["nameAllowed", false], ["namepathRole", false]])],
103
+ ["lends", new Map([["namepathRole", "namepath-referencing"], ["typeOrNameRequired", true]])],
104
+ ["link", new Map([["namepathRole", "namepath-or-url-referencing"]])],
105
+ ["linkcode", new Map([["namepathRole", "namepath-or-url-referencing"]])],
106
+ ["linkplain", new Map([["namepathRole", "namepath-or-url-referencing"]])],
107
+ ["listens", new Map([
108
+ ["namepathRole", "namepath-referencing"],
109
+ ["nameRequired", true],
110
+ ["typeAllowed", false]
111
+ ])],
112
+ ["member", new Map([["namepathRole", "namepath-defining"], ["typeAllowed", true]])],
113
+ ["memberof!", new Map([["namepathRole", "namepath-referencing"], ["typeOrNameRequired", true]])],
114
+ ["memberof", new Map([["namepathRole", "namepath-referencing"], ["typeOrNameRequired", true]])],
115
+ ["method", new Map([["namepathRole", "namepath-defining"]])],
116
+ ["mixes", new Map([["namepathRole", "namepath-referencing"], ["typeOrNameRequired", true]])],
117
+ ["mixin", new Map([
118
+ ["namepathRole", "namepath-defining"],
119
+ ["nameRequired", false],
120
+ ["typeAllowed", false]
121
+ ])],
122
+ ["modifies", new Map([["typeAllowed", true]])],
123
+ ["module", new Map([["namepathRole", isJsdoc ? "namepath-defining" : "text"], ["typeAllowed", true]])],
124
+ ["name", new Map([
125
+ ["namepathRole", "namepath-defining"],
126
+ ["nameRequired", true],
127
+ ["typeOrNameRequired", true]
128
+ ])],
129
+ ["namespace", new Map([["namepathRole", "namepath-defining"], ["typeAllowed", true]])],
130
+ ["package", new Map([["typeAllowed", isClosureOrPermissive]])],
131
+ ["param", new Map([
132
+ ["namepathRole", "namepath-defining"],
133
+ ["nameRequired", true],
134
+ ["typeAllowed", true]
135
+ ])],
136
+ ["private", new Map([["typeAllowed", isClosureOrPermissive]])],
137
+ ["prop", new Map([
138
+ ["namepathRole", "namepath-defining"],
139
+ ["nameRequired", true],
140
+ ["typeAllowed", true]
141
+ ])],
142
+ ["property", new Map([
143
+ ["namepathRole", "namepath-defining"],
144
+ ["nameRequired", true],
145
+ ["typeAllowed", true]
146
+ ])],
147
+ ["protected", new Map([["typeAllowed", isClosureOrPermissive]])],
148
+ ["public", new Map([["typeAllowed", isClosureOrPermissive]])],
149
+ ["requires", new Map([
150
+ ["namepathRole", "namepath-referencing"],
151
+ ["nameRequired", true],
152
+ ["typeAllowed", false]
153
+ ])],
154
+ ["return", new Map([["typeAllowed", true]])],
155
+ ["returns", new Map([["typeAllowed", true]])],
156
+ ["satisfies", new Map([["typeRequired", true]])],
157
+ ["see", new Map([["namepathRole", "text"]])],
158
+ ["static", new Map([["typeAllowed", isClosureOrPermissive]])],
159
+ ["suppress", new Map([["namepathRole", !isClosure], ["typeRequired", isClosure]])],
160
+ ["template", new Map([
161
+ ["namepathRole", isJsdoc ? "text" : "namepath-referencing"],
162
+ ["nameRequired", !isJsdoc],
163
+ ["typeAllowed", isTypescriptOrClosure || isPermissive]
164
+ ])],
165
+ ["this", new Map([
166
+ ["namepathRole", isJsdoc ? "namepath-referencing" : false],
167
+ ["typeOrNameRequired", isJsdoc],
168
+ ["typeRequired", isTypescriptOrClosure]
169
+ ])],
170
+ ["throws", new Map([["typeAllowed", true]])],
171
+ ["tutorial", new Map([["nameRequired", true], ["typeAllowed", false]])],
172
+ ["type", new Map([["typeRequired", true]])],
173
+ ["typedef", new Map([
174
+ ["namepathRole", "namepath-defining"],
175
+ ["nameRequired", isJsdocOrPermissive],
176
+ ["typeAllowed", true],
177
+ ["typeOrNameRequired", !isTypescript]
178
+ ])],
179
+ ["var", new Map([["namepathRole", "namepath-defining"], ["typeAllowed", true]])],
180
+ ["yield", new Map([["typeAllowed", true]])],
181
+ ["yields", new Map([["typeAllowed", true]])]
182
+ ]);
183
+ };
184
+ var getDefaultTagStructureForMode_default = getDefaultTagStructureForMode;
185
+
186
+ //#endregion
187
+ export { getDefaultTagStructureForMode_default as default };
188
+ //# sourceMappingURL=getDefaultTagStructureForMode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDefaultTagStructureForMode.js","names":[],"sources":["../src/getDefaultTagStructureForMode.js"],"sourcesContent":["/**\n * @typedef {Map<string, Map<string, (string|boolean)>>} TagStructure\n */\n/**\n * @param {import('./jsdocUtils.js').ParserMode} mode\n * @returns {TagStructure}\n */\nconst getDefaultTagStructureForMode = (mode) => {\n const isJsdoc = mode === 'jsdoc';\n const isClosure = mode === 'closure';\n const isTypescript = mode === 'typescript';\n const isPermissive = mode === 'permissive';\n\n const isJsdocOrPermissive = isJsdoc || isPermissive;\n const isJsdocOrTypescript = isJsdoc || isTypescript;\n const isTypescriptOrClosure = isTypescript || isClosure;\n const isClosureOrPermissive = isClosure || isPermissive;\n const isJsdocTypescriptOrPermissive = isJsdocOrTypescript || isPermissive;\n\n // Properties:\n // `namepathRole` - 'namepath-referencing'|'namepath-defining'|'namepath-or-url-referencing'|'text'|false\n // `typeAllowed` - boolean\n // `nameRequired` - boolean\n // `typeRequired` - boolean\n // `typeOrNameRequired` - boolean\n\n // All of `typeAllowed` have a signature with \"type\" except for\n // `augments`/`extends` (\"namepath\")\n // `param`/`arg`/`argument` (no signature)\n // `property`/`prop` (no signature)\n // `modifies` (undocumented)\n\n // None of the `namepathRole: 'namepath-defining'` show as having curly\n // brackets for their name/namepath\n\n // Among `namepath-defining` and `namepath-referencing`, these do not seem\n // to allow curly brackets in their doc signature or examples (`modifies`\n // references namepaths within its type brackets and `param` is\n // name-defining but not namepath-defining, so not part of these groups)\n\n // Todo: Should support special processing for \"name\" as distinct from\n // \"namepath\" (e.g., param can't define a namepath)\n\n // Todo: Should support a `tutorialID` type (for `@tutorial` block and\n // inline)\n\n /**\n * @type {TagStructure}\n */\n return new Map([\n [\n 'alias', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"namepath\" (and no counter-examples)\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // \"namepath\"\n [\n 'typeOrNameRequired', true,\n ],\n ])),\n ],\n\n [\n 'arg', new Map(/** @type {[string, string|boolean][]} */ ([\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // See `param`\n [\n 'nameRequired', true,\n ],\n\n // Has no formal signature in the docs but shows curly brackets\n // in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'argument', new Map(/** @type {[string, string|boolean][]} */ ([\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // See `param`\n [\n 'nameRequired', true,\n ],\n\n // Has no formal signature in the docs but shows curly brackets\n // in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'augments', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"namepath\" (and no counter-examples)\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n // Does not show curly brackets in either the signature or examples\n [\n 'typeAllowed', true,\n ],\n\n // \"namepath\"\n [\n 'typeOrNameRequired', true,\n ],\n ])),\n ],\n\n [\n 'borrows', new Map(/** @type {[string, string|boolean][]} */ ([\n // `borrows` has a different format, however, so needs special parsing;\n // seems to require both, and as \"namepath\"'s\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n // \"namepath\"\n [\n 'typeOrNameRequired', true,\n ],\n ])),\n ],\n\n [\n 'callback', new Map(/** @type {[string, string|boolean][]} */ ([\n // Seems to require a \"namepath\" in the signature (with no\n // counter-examples); TypeScript does not enforce but seems\n // problematic as not attached so presumably not useable without it\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // \"namepath\"\n [\n 'nameRequired', true,\n ],\n ])),\n ],\n\n [\n 'class', new Map(/** @type {[string, string|boolean][]} */ ([\n // Not in use, but should be this value if using to power `empty-tags`\n [\n 'nameAllowed', true,\n ],\n\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'const', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n [\n 'constant', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n [\n 'constructor', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'constructs', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n [\n 'nameRequired', false,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'define', new Map(/** @type {[string, string|boolean][]} */ ([\n [\n 'typeRequired', isClosure,\n ],\n ])),\n ],\n\n [\n 'emits', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"name\" (of an event) and no counter-examples\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n [\n 'nameRequired', true,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'enum', new Map(/** @type {[string, string|boolean][]} */ ([\n // Has example showing curly brackets but not in doc signature\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'event', new Map(/** @type {[string, string|boolean][]} */ ([\n // Appears to require a \"name\" in its signature, albeit somewhat\n // different from other \"name\"'s (including as described\n // at https://jsdoc.app/about-namepaths.html )\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // The doc signature of `event` seems to require a \"name\"\n [\n 'nameRequired', true,\n ],\n ])),\n ],\n\n [\n 'exception', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows curly brackets in the signature and in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n // Closure\n [\n 'export', new Map(/** @type {[string, string|boolean][]} */ ([\n [\n 'typeAllowed', isClosureOrPermissive,\n ],\n ])),\n ],\n\n [\n 'exports', new Map(/** @type {[string, string|boolean][]} */ ([\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n [\n 'nameRequired', isJsdoc,\n ],\n\n [\n 'typeAllowed', isClosureOrPermissive,\n ],\n ])),\n ],\n\n [\n 'extends', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"namepath\" (and no counter-examples)\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n [\n 'nameRequired', isJsdoc,\n ],\n\n // Does not show curly brackets in either the signature or examples\n [\n 'typeAllowed', isTypescriptOrClosure || isPermissive,\n ],\n\n // \"namepath\"\n [\n 'typeOrNameRequired', isTypescriptOrClosure || isPermissive,\n ],\n ])),\n ],\n\n [\n 'external', new Map(/** @type {[string, string|boolean][]} */ ([\n // Appears to require a \"name\" in its signature, albeit somewhat\n // different from other \"name\"'s (including as described\n // at https://jsdoc.app/about-namepaths.html )\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // \"name\" (and a special syntax for the `external` name)\n [\n 'nameRequired', true,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'fires', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"name\" (of an event) and no\n // counter-examples\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n [\n 'nameRequired', true,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'func', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n ])),\n ],\n [\n 'function', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n [\n 'nameRequired', false,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'host', new Map(/** @type {[string, string|boolean][]} */ ([\n // Appears to require a \"name\" in its signature, albeit somewhat\n // different from other \"name\"'s (including as described\n // at https://jsdoc.app/about-namepaths.html )\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // See `external`\n [\n 'nameRequired', true,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'implements', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows curly brackets in the doc signature and examples\n // \"typeExpression\"\n [\n 'typeRequired', true,\n ],\n ])),\n ],\n\n [\n 'interface', new Map(/** @type {[string, string|boolean][]} */ ([\n // Not in use, but should be this value if using to power `empty-tags`\n [\n 'nameAllowed', isClosure,\n ],\n\n // Allows for \"name\" in signature, but indicates as optional\n [\n 'namepathRole',\n isJsdocTypescriptOrPermissive ? 'namepath-defining' : false,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'internal', new Map(/** @type {[string, string|boolean][]} */ ([\n // Not in use, but should be this value if using to power `empty-tags`\n [\n 'nameAllowed', false,\n ],\n // https://www.typescriptlang.org/tsconfig/#stripInternal\n [\n 'namepathRole', false,\n ],\n ])),\n ],\n\n [\n 'lends', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"namepath\" (and no counter-examples)\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n // \"namepath\"\n [\n 'typeOrNameRequired', true,\n ],\n ])),\n ],\n\n [\n 'link', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a namepath OR URL and might be checked as such.\n [\n 'namepathRole', 'namepath-or-url-referencing',\n ],\n\n ])),\n ],\n\n [\n 'linkcode', new Map(/** @type {[string, string|boolean][]} */ ([\n // Synonym for \"link\"\n // Signature seems to require a namepath OR URL and might be checked as such.\n [\n 'namepathRole', 'namepath-or-url-referencing',\n ],\n ])),\n ],\n\n [\n 'linkplain', new Map(/** @type {[string, string|boolean][]} */ ([\n // Synonym for \"link\"\n // Signature seems to require a namepath OR URL and might be checked as such.\n [\n 'namepathRole', 'namepath-or-url-referencing',\n ],\n ])),\n ],\n\n [\n 'listens', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"name\" (of an event) and no\n // counter-examples\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n [\n 'nameRequired', true,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'member', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // Has example showing curly brackets but not in doc signature\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'memberof!', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"namepath\" (and no counter-examples),\n // though it allows an incomplete namepath ending with connecting symbol\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n // \"namepath\"\n [\n 'typeOrNameRequired', true,\n ],\n ])),\n ],\n [\n 'memberof', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"namepath\" (and no counter-examples),\n // though it allows an incomplete namepath ending with connecting symbol\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n // \"namepath\"\n [\n 'typeOrNameRequired', true,\n ],\n ])),\n ],\n\n [\n 'method', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n ])),\n ],\n [\n 'mixes', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"OtherObjectPath\" with no\n // counter-examples\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n // \"OtherObjectPath\"\n [\n 'typeOrNameRequired', true,\n ],\n ])),\n ],\n\n [\n 'mixin', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n [\n 'nameRequired', false,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'modifies', new Map(/** @type {[string, string|boolean][]} */ ([\n // Has no documentation, but test example has curly brackets, and\n // \"name\" would be suggested rather than \"namepath\" based on example;\n // not sure if name is required\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'module', new Map(/** @type {[string, string|boolean][]} */ ([\n // Optional \"name\" and no curly brackets\n // this block impacts `no-undefined-types` and `valid-types` (search for\n // \"isNamepathDefiningTag|tagMightHaveNamepath|tagMightHaveEitherTypeOrNamePosition\")\n [\n 'namepathRole', isJsdoc ? 'namepath-defining' : 'text',\n ],\n\n // Shows the signature with curly brackets but not in the example\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'name', new Map(/** @type {[string, string|boolean][]} */ ([\n // Seems to require a \"namepath\" in the signature (with no\n // counter-examples)\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // \"namepath\"\n [\n 'nameRequired', true,\n ],\n\n // \"namepath\"\n [\n 'typeOrNameRequired', true,\n ],\n ])),\n ],\n\n [\n 'namespace', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // Shows the signature with curly brackets but not in the example\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n [\n 'package', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows the signature with curly brackets but not in the example\n // \"typeExpression\"\n [\n 'typeAllowed', isClosureOrPermissive,\n ],\n ])),\n ],\n\n [\n 'param', new Map(/** @type {[string, string|boolean][]} */ ([\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // Though no signature provided requiring, per\n // https://jsdoc.app/tags-param.html:\n // \"The @param tag requires you to specify the name of the parameter you\n // are documenting.\"\n [\n 'nameRequired', true,\n ],\n\n // Has no formal signature in the docs but shows curly brackets\n // in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'private', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows the signature with curly brackets but not in the example\n // \"typeExpression\"\n [\n 'typeAllowed', isClosureOrPermissive,\n ],\n ])),\n ],\n\n [\n 'prop', new Map(/** @type {[string, string|boolean][]} */ ([\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // See `property`\n [\n 'nameRequired', true,\n ],\n\n // Has no formal signature in the docs but shows curly brackets\n // in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'property', new Map(/** @type {[string, string|boolean][]} */ ([\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // No docs indicate required, but since parallel to `param`, we treat as\n // such:\n [\n 'nameRequired', true,\n ],\n\n // Has no formal signature in the docs but shows curly brackets\n // in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'protected', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows the signature with curly brackets but not in the example\n // \"typeExpression\"\n [\n 'typeAllowed', isClosureOrPermissive,\n ],\n ])),\n ],\n\n [\n 'public', new Map(/** @type {[string, string|boolean][]} */ ([\n // Does not show a signature nor show curly brackets in the example\n [\n 'typeAllowed', isClosureOrPermissive,\n ],\n ])),\n ],\n\n [\n 'requires', new Map(/** @type {[string, string|boolean][]} */ ([\n // <someModuleName>\n [\n 'namepathRole', 'namepath-referencing',\n ],\n\n [\n 'nameRequired', true,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'return', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows curly brackets in the signature and in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n [\n 'returns', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows curly brackets in the signature and in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'satisfies', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows curly brackets in the doc signature and examples\n [\n 'typeRequired', true,\n ],\n ])),\n ],\n\n [\n 'see', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature allows for \"namepath\" or text, so user must configure to\n // 'namepath-referencing' to enforce checks\n [\n 'namepathRole', 'text',\n ],\n ])),\n ],\n\n [\n 'static', new Map(/** @type {[string, string|boolean][]} */ ([\n // Does not show a signature nor show curly brackets in the example\n [\n 'typeAllowed', isClosureOrPermissive,\n ],\n ])),\n ],\n\n [\n 'suppress', new Map(/** @type {[string, string|boolean][]} */ ([\n [\n 'namepathRole', !isClosure,\n ],\n [\n 'typeRequired', isClosure,\n ],\n ])),\n ],\n\n [\n 'template', new Map(/** @type {[string, string|boolean][]} */ ([\n [\n 'namepathRole', isJsdoc ? 'text' : 'namepath-referencing',\n ],\n\n [\n 'nameRequired', !isJsdoc,\n ],\n\n // Though defines `namepathRole: 'namepath-defining'` in a sense, it is\n // not parseable in the same way for template (e.g., allowing commas),\n // so not adding\n [\n 'typeAllowed', isTypescriptOrClosure || isPermissive,\n ],\n ])),\n ],\n\n [\n 'this', new Map(/** @type {[string, string|boolean][]} */ ([\n // Signature seems to require a \"namepath\" (and no counter-examples)\n // Not used with namepath in Closure/TypeScript, however\n [\n 'namepathRole', isJsdoc ? 'namepath-referencing' : false,\n ],\n\n // namepath\n [\n 'typeOrNameRequired', isJsdoc,\n ],\n\n [\n 'typeRequired', isTypescriptOrClosure,\n ],\n ])),\n ],\n\n [\n 'throws', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows curly brackets in the signature and in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'tutorial', new Map(/** @type {[string, string|boolean][]} */ ([\n // (a tutorial ID)\n [\n 'nameRequired', true,\n ],\n\n [\n 'typeAllowed', false,\n ],\n ])),\n ],\n\n [\n 'type', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows curly brackets in the doc signature and examples\n // \"typeName\"\n [\n 'typeRequired', true,\n ],\n ])),\n ],\n\n [\n 'typedef', new Map(/** @type {[string, string|boolean][]} */ ([\n // Seems to require a \"namepath\" in the signature (with no\n // counter-examples)\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // TypeScript may allow it to be dropped if followed by @property or @member;\n // also shown as missing in Closure\n // \"namepath\"\n [\n 'nameRequired', isJsdocOrPermissive,\n ],\n\n // Is not `typeRequired` for TypeScript because it gives an error:\n // JSDoc '@typedef' tag should either have a type annotation or be followed by '@property' or '@member' tags.\n\n // Has example showing curly brackets but not in doc signature\n [\n 'typeAllowed', true,\n ],\n\n // TypeScript may allow it to be dropped if followed by @property or @member\n // \"namepath\"\n [\n 'typeOrNameRequired', !isTypescript,\n ],\n ])),\n ],\n\n [\n 'var', new Map(/** @type {[string, string|boolean][]} */ ([\n // Allows for \"name\"'s in signature, but indicated as optional\n [\n 'namepathRole', 'namepath-defining',\n ],\n\n // Has example showing curly brackets but not in doc signature\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n\n [\n 'yield', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows curly brackets in the signature and in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n [\n 'yields', new Map(/** @type {[string, string|boolean][]} */ ([\n // Shows curly brackets in the signature and in the examples\n [\n 'typeAllowed', true,\n ],\n ])),\n ],\n ]);\n};\n\nexport default getDefaultTagStructureForMode;\n"],"mappings":";;;;;;;;AAOA,MAAM,gCAAgC,CAAC,SAAS;CAC9C,MAAM,UAAU,SAAS;CACzB,MAAM,YAAY,SAAS;CAC3B,MAAM,eAAe,SAAS;CAC9B,MAAM,eAAe,SAAS;CAE9B,MAAM,sBAAsB,WAAW;CACvC,MAAM,sBAAsB,WAAW;CACvC,MAAM,wBAAwB,gBAAgB;CAC9C,MAAM,wBAAwB,aAAa;CAC3C,MAAM,gCAAgC,uBAAuB;;;;AAgC7D,QAAO,IAAI,IAAI;EACb,CACE,SAAS,IAAI,IAA+C,CAE1D,CACE,gBAAgB,mBACjB,GAGD,CACE,sBAAsB,IACvB,CACF,EACF;EAED,CACE,OAAO,IAAI,IAA+C;GACxD,CACE,gBAAgB,mBACjB;GAGD,CACE,gBAAgB,IACjB;GAID,CACE,eAAe,IAChB;EACF,EACF;EAED,CACE,YAAY,IAAI,IAA+C;GAC7D,CACE,gBAAgB,mBACjB;GAGD,CACE,gBAAgB,IACjB;GAID,CACE,eAAe,IAChB;EACF,EACF;EAED,CACE,YAAY,IAAI,IAA+C;GAE7D,CACE,gBAAgB,sBACjB;GAGD,CACE,eAAe,IAChB;GAGD,CACE,sBAAsB,IACvB;EACF,EACF;EAED,CACE,WAAW,IAAI,IAA+C,CAG5D,CACE,gBAAgB,sBACjB,GAGD,CACE,sBAAsB,IACvB,CACF,EACF;EAED,CACE,YAAY,IAAI,IAA+C,CAI7D,CACE,gBAAgB,mBACjB,GAGD,CACE,gBAAgB,IACjB,CACF,EACF;EAED,CACE,SAAS,IAAI,IAA+C;GAE1D,CACE,eAAe,IAChB;GAGD,CACE,gBAAgB,mBACjB;GAED,CACE,eAAe,IAChB;EACF,EACF;EAED,CACE,SAAS,IAAI,IAA+C,CAE1D,CACE,gBAAgB,mBACjB,GAED,CACE,eAAe,IAChB,CACF,EACF;EACD,CACE,YAAY,IAAI,IAA+C,CAE7D,CACE,gBAAgB,mBACjB,GAED,CACE,eAAe,IAChB,CACF,EACF;EACD,CACE,eAAe,IAAI,IAA+C,CAEhE,CACE,gBAAgB,mBACjB,GAED,CACE,eAAe,IAChB,CACF,EACF;EAED,CACE,cAAc,IAAI,IAA+C;GAE/D,CACE,gBAAgB,mBACjB;GAED,CACE,gBAAgB,KACjB;GAED,CACE,eAAe,KAChB;EACF,EACF;EAED,CACE,UAAU,IAAI,IAA+C,CAC3D,CACE,gBAAgB,SACjB,CACF,EACF;EAED,CACE,SAAS,IAAI,IAA+C;GAE1D,CACE,gBAAgB,sBACjB;GAED,CACE,gBAAgB,IACjB;GAED,CACE,eAAe,KAChB;EACF,EACF;EAED,CACE,QAAQ,IAAI,IAA+C,CAEzD,CACE,eAAe,IAChB,CACF,EACF;EAED,CACE,SAAS,IAAI,IAA+C,CAI1D,CACE,gBAAgB,mBACjB,GAGD,CACE,gBAAgB,IACjB,CACF,EACF;EAED,CACE,aAAa,IAAI,IAA+C,CAE9D,CACE,eAAe,IAChB,CACF,EACF;EAGD,CACE,UAAU,IAAI,IAA+C,CAC3D,CACE,eAAe,qBAChB,CACF,EACF;EAED,CACE,WAAW,IAAI,IAA+C;GAC5D,CACE,gBAAgB,mBACjB;GAED,CACE,gBAAgB,OACjB;GAED,CACE,eAAe,qBAChB;EACF,EACF;EAED,CACE,WAAW,IAAI,IAA+C;GAE5D,CACE,gBAAgB,sBACjB;GAED,CACE,gBAAgB,OACjB;GAGD,CACE,eAAe,yBAAyB,YACzC;GAGD,CACE,sBAAsB,yBAAyB,YAChD;EACF,EACF;EAED,CACE,YAAY,IAAI,IAA+C;GAI7D,CACE,gBAAgB,mBACjB;GAGD,CACE,gBAAgB,IACjB;GAED,CACE,eAAe,KAChB;EACF,EACF;EAED,CACE,SAAS,IAAI,IAA+C;GAG1D,CACE,gBAAgB,sBACjB;GAED,CACE,gBAAgB,IACjB;GAED,CACE,eAAe,KAChB;EACF,EACF;EAED,CACE,QAAQ,IAAI,IAA+C,CAEzD,CACE,gBAAgB,mBACjB,CACF,EACF;EACD,CACE,YAAY,IAAI,IAA+C;GAE7D,CACE,gBAAgB,mBACjB;GAED,CACE,gBAAgB,KACjB;GAED,CACE,eAAe,KAChB;EACF,EACF;EAED,CACE,QAAQ,IAAI,IAA+C;GAIzD,CACE,gBAAgB,mBACjB;GAGD,CACE,gBAAgB,IACjB;GAED,CACE,eAAe,KAChB;EACF,EACF;EAED,CACE,cAAc,IAAI,IAA+C,CAG/D,CACE,gBAAgB,IACjB,CACF,EACF;EAED,CACE,aAAa,IAAI,IAA+C;GAE9D,CACE,eAAe,SAChB;GAGD,CACE,gBACA,gCAAgC,sBAAsB,KACvD;GAED,CACE,eAAe,KAChB;EACF,EACF;EAED,CACE,YAAY,IAAI,IAA+C,CAE7D,CACE,eAAe,KAChB,GAED,CACE,gBAAgB,KACjB,CACF,EACF;EAED,CACE,SAAS,IAAI,IAA+C,CAE1D,CACE,gBAAgB,sBACjB,GAGD,CACE,sBAAsB,IACvB,CACF,EACF;EAED,CACE,QAAQ,IAAI,IAA+C,CAEzD,CACE,gBAAgB,6BACjB,CAEF,EACF;EAED,CACE,YAAY,IAAI,IAA+C,CAG7D,CACE,gBAAgB,6BACjB,CACF,EACF;EAED,CACE,aAAa,IAAI,IAA+C,CAG9D,CACE,gBAAgB,6BACjB,CACF,EACF;EAED,CACE,WAAW,IAAI,IAA+C;GAG5D,CACE,gBAAgB,sBACjB;GAED,CACE,gBAAgB,IACjB;GAED,CACE,eAAe,KAChB;EACF,EACF;EAED,CACE,UAAU,IAAI,IAA+C,CAE3D,CACE,gBAAgB,mBACjB,GAGD,CACE,eAAe,IAChB,CACF,EACF;EAED,CACE,aAAa,IAAI,IAA+C,CAG9D,CACE,gBAAgB,sBACjB,GAGD,CACE,sBAAsB,IACvB,CACF,EACF;EACD,CACE,YAAY,IAAI,IAA+C,CAG7D,CACE,gBAAgB,sBACjB,GAGD,CACE,sBAAsB,IACvB,CACF,EACF;EAED,CACE,UAAU,IAAI,IAA+C,CAE3D,CACE,gBAAgB,mBACjB,CACF,EACF;EACD,CACE,SAAS,IAAI,IAA+C,CAG1D,CACE,gBAAgB,sBACjB,GAGD,CACE,sBAAsB,IACvB,CACF,EACF;EAED,CACE,SAAS,IAAI,IAA+C;GAE1D,CACE,gBAAgB,mBACjB;GAED,CACE,gBAAgB,KACjB;GAED,CACE,eAAe,KAChB;EACF,EACF;EAED,CACE,YAAY,IAAI,IAA+C,CAI7D,CACE,eAAe,IAChB,CACF,EACF;EAED,CACE,UAAU,IAAI,IAA+C,CAI3D,CACE,gBAAgB,UAAU,sBAAsB,MACjD,GAGD,CACE,eAAe,IAChB,CACF,EACF;EAED,CACE,QAAQ,IAAI,IAA+C;GAGzD,CACE,gBAAgB,mBACjB;GAGD,CACE,gBAAgB,IACjB;GAGD,CACE,sBAAsB,IACvB;EACF,EACF;EAED,CACE,aAAa,IAAI,IAA+C,CAE9D,CACE,gBAAgB,mBACjB,GAGD,CACE,eAAe,IAChB,CACF,EACF;EACD,CACE,WAAW,IAAI,IAA+C,CAG5D,CACE,eAAe,qBAChB,CACF,EACF;EAED,CACE,SAAS,IAAI,IAA+C;GAC1D,CACE,gBAAgB,mBACjB;GAMD,CACE,gBAAgB,IACjB;GAID,CACE,eAAe,IAChB;EACF,EACF;EAED,CACE,WAAW,IAAI,IAA+C,CAG5D,CACE,eAAe,qBAChB,CACF,EACF;EAED,CACE,QAAQ,IAAI,IAA+C;GACzD,CACE,gBAAgB,mBACjB;GAGD,CACE,gBAAgB,IACjB;GAID,CACE,eAAe,IAChB;EACF,EACF;EAED,CACE,YAAY,IAAI,IAA+C;GAC7D,CACE,gBAAgB,mBACjB;GAID,CACE,gBAAgB,IACjB;GAID,CACE,eAAe,IAChB;EACF,EACF;EAED,CACE,aAAa,IAAI,IAA+C,CAG9D,CACE,eAAe,qBAChB,CACF,EACF;EAED,CACE,UAAU,IAAI,IAA+C,CAE3D,CACE,eAAe,qBAChB,CACF,EACF;EAED,CACE,YAAY,IAAI,IAA+C;GAE7D,CACE,gBAAgB,sBACjB;GAED,CACE,gBAAgB,IACjB;GAED,CACE,eAAe,KAChB;EACF,EACF;EAED,CACE,UAAU,IAAI,IAA+C,CAE3D,CACE,eAAe,IAChB,CACF,EACF;EACD,CACE,WAAW,IAAI,IAA+C,CAE5D,CACE,eAAe,IAChB,CACF,EACF;EAED,CACE,aAAa,IAAI,IAA+C,CAE9D,CACE,gBAAgB,IACjB,CACF,EACF;EAED,CACE,OAAO,IAAI,IAA+C,CAGxD,CACE,gBAAgB,MACjB,CACF,EACF;EAED,CACE,UAAU,IAAI,IAA+C,CAE3D,CACE,eAAe,qBAChB,CACF,EACF;EAED,CACE,YAAY,IAAI,IAA+C,CAC7D,CACE,gBAAgB,CAAC,SAClB,GACD,CACE,gBAAgB,SACjB,CACF,EACF;EAED,CACE,YAAY,IAAI,IAA+C;GAC7D,CACE,gBAAgB,UAAU,SAAS,sBACpC;GAED,CACE,gBAAgB,CAAC,OAClB;GAKD,CACE,eAAe,yBAAyB,YACzC;EACF,EACF;EAED,CACE,QAAQ,IAAI,IAA+C;GAGzD,CACE,gBAAgB,UAAU,yBAAyB,KACpD;GAGD,CACE,sBAAsB,OACvB;GAED,CACE,gBAAgB,qBACjB;EACF,EACF;EAED,CACE,UAAU,IAAI,IAA+C,CAE3D,CACE,eAAe,IAChB,CACF,EACF;EAED,CACE,YAAY,IAAI,IAA+C,CAE7D,CACE,gBAAgB,IACjB,GAED,CACE,eAAe,KAChB,CACF,EACF;EAED,CACE,QAAQ,IAAI,IAA+C,CAGzD,CACE,gBAAgB,IACjB,CACF,EACF;EAED,CACE,WAAW,IAAI,IAA+C;GAG5D,CACE,gBAAgB,mBACjB;GAKD,CACE,gBAAgB,mBACjB;GAMD,CACE,eAAe,IAChB;GAID,CACE,sBAAsB,CAAC,YACxB;EACF,EACF;EAED,CACE,OAAO,IAAI,IAA+C,CAExD,CACE,gBAAgB,mBACjB,GAGD,CACE,eAAe,IAChB,CACF,EACF;EAED,CACE,SAAS,IAAI,IAA+C,CAE1D,CACE,eAAe,IAChB,CACF,EACF;EACD,CACE,UAAU,IAAI,IAA+C,CAE3D,CACE,eAAe,IAChB,CACF,EACF;CACF;AACF;AAED,4CAAe"}