@cparra/apexdocs 2.24.0 → 2.25.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (375) hide show
  1. package/.github/workflows/ci.yaml +22 -0
  2. package/.github/workflows/close_stale.yml +22 -22
  3. package/.prettierrc.js +7 -7
  4. package/LICENSE +21 -21
  5. package/README.md +742 -718
  6. package/__mocks__/chalk.js +12 -0
  7. package/__mocks__/log-update.js +6 -0
  8. package/apexdocs.config.ts +13 -13
  9. package/docs/{README.md → __old/README.md} +1 -1
  10. package/docs/{restapi.json → __old/restapi.json} +589 -589
  11. package/docs/{types → __old/types}/Classes/nspc.ChildClass.md +97 -97
  12. package/docs/{types → __old/types}/Main/nspc.SampleClass.md +189 -189
  13. package/eslint.config.mjs +10 -0
  14. package/examples/force-app/main/default/classes/AnotherInterface.cls +16 -16
  15. package/examples/force-app/main/default/classes/ChildClass.cls +42 -42
  16. package/examples/force-app/main/default/classes/EscapedAnnotations.cls +5 -5
  17. package/examples/force-app/main/default/classes/GrandparentClass.cls +4 -4
  18. package/examples/force-app/main/default/classes/GroupedClass.cls +8 -8
  19. package/examples/force-app/main/default/classes/MemberGrouping.cls +17 -17
  20. package/examples/force-app/main/default/classes/ParentClass.cls +16 -16
  21. package/examples/force-app/main/default/classes/SampleClass.cls +166 -166
  22. package/examples/force-app/main/default/classes/SampleClass.cls-meta.xml +5 -5
  23. package/examples/force-app/main/default/classes/SampleClassWithoutModifier.cls +9 -9
  24. package/examples/force-app/main/default/classes/SampleInterface.cls +16 -16
  25. package/examples/force-app/main/default/restapi/SampleRestResource.cls +195 -195
  26. package/examples/force-app/main/default/restapi/SampleRestResourceToSkip.cls +35 -35
  27. package/examples/force-app/main/default/restapi/SampleRestResourceWithInnerClass.cls +24 -24
  28. package/examples/force-app/main/default/restapi/SampleRestResourceWithoutApexDocs.cls +15 -15
  29. package/examples/force-app/main/default/restapi/references/Reference1.cls +9 -9
  30. package/examples/force-app/main/default/restapi/references/Reference2.cls +9 -9
  31. package/examples/force-app/main/default/restapi/references/Reference3.cls +3 -3
  32. package/examples/force-app/main/default/restapi/references/Reference4.cls +3 -3
  33. package/examples/force-app/main/default/restapi/references/Reference5.cls +3 -3
  34. package/examples/force-app/main/default/restapi/references/Reference6.cls +6 -6
  35. package/examples/force-app/main/default/restapi/references/Reference7.cls +3 -3
  36. package/examples/includes/header.md +3 -3
  37. package/examples/plain-markdown/.forceignore +12 -0
  38. package/examples/plain-markdown/config/project-scratch-def.json +5 -0
  39. package/examples/plain-markdown/docs/Miscellaneous/ns.BaseClass.md +16 -0
  40. package/examples/plain-markdown/docs/Miscellaneous/ns.ParentInterface.md +15 -0
  41. package/examples/plain-markdown/docs/Miscellaneous/ns.ReferencedEnum.md +8 -0
  42. package/examples/plain-markdown/docs/Miscellaneous/ns.SampleException.md +7 -0
  43. package/examples/plain-markdown/docs/Miscellaneous/ns.SampleInterface.md +115 -0
  44. package/examples/plain-markdown/docs/Sample-Enums/ns.SampleEnum.md +36 -0
  45. package/examples/plain-markdown/docs/SampleGroup/ns.SampleClass.md +173 -0
  46. package/examples/plain-markdown/docs/index.md +36 -0
  47. package/examples/plain-markdown/force-app/classes/BaseClass.cls +3 -0
  48. package/examples/plain-markdown/force-app/classes/ParentInterface.cls +3 -0
  49. package/examples/plain-markdown/force-app/classes/ReferencedEnum.cls +3 -0
  50. package/examples/plain-markdown/force-app/classes/SampleClass.cls +72 -0
  51. package/examples/plain-markdown/force-app/classes/SampleEnum.cls +30 -0
  52. package/examples/plain-markdown/force-app/classes/SampleException.cls +1 -0
  53. package/examples/plain-markdown/force-app/classes/SampleInterface.cls +46 -0
  54. package/examples/plain-markdown/package-lock.json +665 -0
  55. package/examples/plain-markdown/package.json +20 -0
  56. package/examples/plain-markdown/sfdx-project.json +12 -0
  57. package/examples/plain-markdown/template.md +3 -0
  58. package/jest.config.js +9 -5
  59. package/jest.d.ts +7 -0
  60. package/lib/__spec__/core/expect-extensions.d.ts +3 -0
  61. package/lib/__spec__/core/expect-extensions.js +54 -0
  62. package/lib/__spec__/core/expect-extensions.js.map +1 -0
  63. package/lib/__spec__/core/generating-class-docs.spec.d.ts +1 -0
  64. package/lib/__spec__/core/generating-class-docs.spec.js +427 -0
  65. package/lib/__spec__/core/generating-class-docs.spec.js.map +1 -0
  66. package/lib/__spec__/core/generating-enum-docs.spec.d.ts +1 -0
  67. package/lib/__spec__/core/generating-enum-docs.spec.js +303 -0
  68. package/lib/__spec__/core/generating-enum-docs.spec.js.map +1 -0
  69. package/lib/__spec__/core/generating-interface-docs.spec.d.ts +1 -0
  70. package/lib/__spec__/core/generating-interface-docs.spec.js +361 -0
  71. package/lib/__spec__/core/generating-interface-docs.spec.js.map +1 -0
  72. package/lib/__spec__/core/generating-reference-guide.spec.d.ts +1 -0
  73. package/lib/__spec__/core/generating-reference-guide.spec.js +161 -0
  74. package/lib/__spec__/core/generating-reference-guide.spec.js.map +1 -0
  75. package/lib/adapters/apex-types.d.ts +7 -0
  76. package/lib/adapters/apex-types.js +112 -0
  77. package/lib/adapters/apex-types.js.map +1 -0
  78. package/lib/adapters/documentables.d.ts +7 -0
  79. package/lib/adapters/documentables.js +56 -0
  80. package/lib/adapters/documentables.js.map +1 -0
  81. package/lib/adapters/fields-and-properties.d.ts +4 -0
  82. package/lib/adapters/fields-and-properties.js +32 -0
  83. package/lib/adapters/fields-and-properties.js.map +1 -0
  84. package/lib/adapters/methods-and-constructors.d.ts +5 -0
  85. package/lib/adapters/methods-and-constructors.js +92 -0
  86. package/lib/adapters/methods-and-constructors.js.map +1 -0
  87. package/lib/adapters/references.d.ts +5 -0
  88. package/lib/adapters/references.js +82 -0
  89. package/lib/adapters/references.js.map +1 -0
  90. package/lib/adapters/type-utils.d.ts +2 -0
  91. package/lib/adapters/type-utils.js +7 -0
  92. package/lib/adapters/type-utils.js.map +1 -0
  93. package/lib/application/Apexdocs.d.ts +13 -13
  94. package/lib/application/Apexdocs.js +79 -76
  95. package/lib/application/Apexdocs.js.map +1 -1
  96. package/lib/cli/generate.d.ts +2 -2
  97. package/lib/cli/generate.js +156 -130
  98. package/lib/cli/generate.js.map +1 -1
  99. package/lib/core/generate-docs.d.ts +23 -0
  100. package/lib/core/generate-docs.js +241 -0
  101. package/lib/core/generate-docs.js.map +1 -0
  102. package/lib/core/template.d.ts +10 -0
  103. package/lib/core/template.js +92 -0
  104. package/lib/core/template.js.map +1 -0
  105. package/lib/core/templates/reference-guide.d.ts +1 -0
  106. package/lib/core/templates/reference-guide.js +18 -0
  107. package/lib/core/templates/reference-guide.js.map +1 -0
  108. package/lib/index.d.ts +2 -1
  109. package/lib/index.js +28 -17
  110. package/lib/index.js.map +1 -1
  111. package/lib/model/apex-bundle.d.ts +6 -6
  112. package/lib/model/apex-bundle.js +10 -10
  113. package/lib/model/apex-type-wrappers/ClassMirrorWrapper.d.ts +7 -7
  114. package/lib/model/apex-type-wrappers/ClassMirrorWrapper.js +13 -13
  115. package/lib/model/apex-type-wrappers/MethodMirrorWrapper.d.ts +7 -7
  116. package/lib/model/apex-type-wrappers/MethodMirrorWrapper.js +11 -11
  117. package/lib/model/inheritance.d.ts +8 -8
  118. package/lib/model/inheritance.js +2 -2
  119. package/lib/model/manifest.d.ts +22 -22
  120. package/lib/model/manifest.js +52 -46
  121. package/lib/model/manifest.js.map +1 -1
  122. package/lib/model/markdown-file.d.ts +16 -16
  123. package/lib/model/markdown-file.js +110 -106
  124. package/lib/model/markdown-file.js.map +1 -1
  125. package/lib/model/markdown-generation-util/doc-comment-annotation-util.d.ts +8 -8
  126. package/lib/model/markdown-generation-util/doc-comment-annotation-util.js +45 -43
  127. package/lib/model/markdown-generation-util/doc-comment-annotation-util.js.map +1 -1
  128. package/lib/model/markdown-generation-util/field-declaration-util.d.ts +3 -3
  129. package/lib/model/markdown-generation-util/field-declaration-util.js +53 -54
  130. package/lib/model/markdown-generation-util/field-declaration-util.js.map +1 -1
  131. package/lib/model/markdown-generation-util/index.d.ts +3 -3
  132. package/lib/model/markdown-generation-util/index.js +19 -19
  133. package/lib/model/markdown-generation-util/method-declaration-util.d.ts +4 -4
  134. package/lib/model/markdown-generation-util/method-declaration-util.js +113 -114
  135. package/lib/model/markdown-generation-util/method-declaration-util.js.map +1 -1
  136. package/lib/model/markdown-generation-util/type-declaration-util.d.ts +3 -3
  137. package/lib/model/markdown-generation-util/type-declaration-util.js +80 -81
  138. package/lib/model/markdown-generation-util/type-declaration-util.js.map +1 -1
  139. package/lib/model/markdown-home-file.d.ts +11 -11
  140. package/lib/model/markdown-home-file.js +56 -53
  141. package/lib/model/markdown-home-file.js.map +1 -1
  142. package/lib/model/markdown-type-file.d.ts +26 -26
  143. package/lib/model/markdown-type-file.js +136 -133
  144. package/lib/model/markdown-type-file.js.map +1 -1
  145. package/lib/model/openapi/apex-doc-types.d.ts +19 -19
  146. package/lib/model/openapi/apex-doc-types.js +4 -4
  147. package/lib/model/openapi/open-api-types.d.ts +93 -93
  148. package/lib/model/openapi/open-api-types.js +2 -2
  149. package/lib/model/openapi/open-api.d.ts +16 -16
  150. package/lib/model/openapi/open-api.js +33 -33
  151. package/lib/model/openapi/open-api.js.map +1 -1
  152. package/lib/model/openapi/openapi-type-file.d.ts +7 -7
  153. package/lib/model/openapi/openapi-type-file.js +16 -16
  154. package/lib/model/outputFile.d.ts +10 -10
  155. package/lib/model/outputFile.js +21 -28
  156. package/lib/model/outputFile.js.map +1 -1
  157. package/lib/model/types-repository.d.ts +16 -16
  158. package/lib/model/types-repository.js +53 -53
  159. package/lib/model/types-repository.js.map +1 -1
  160. package/lib/service/apex-file-reader.d.ts +14 -14
  161. package/lib/service/apex-file-reader.js +48 -45
  162. package/lib/service/apex-file-reader.js.map +1 -1
  163. package/lib/service/file-system.d.ts +14 -14
  164. package/lib/service/file-system.js +47 -24
  165. package/lib/service/file-system.js.map +1 -1
  166. package/lib/service/file-writer.d.ts +6 -6
  167. package/lib/service/file-writer.js +56 -33
  168. package/lib/service/file-writer.js.map +1 -1
  169. package/lib/service/manifest-factory.d.ts +10 -10
  170. package/lib/service/manifest-factory.js +15 -13
  171. package/lib/service/manifest-factory.js.map +1 -1
  172. package/lib/service/metadata-processor.d.ts +3 -3
  173. package/lib/service/metadata-processor.js +16 -16
  174. package/lib/service/metadata-processor.js.map +1 -1
  175. package/lib/service/parser.d.ts +21 -21
  176. package/lib/service/parser.js +137 -134
  177. package/lib/service/parser.js.map +1 -1
  178. package/lib/service/state.d.ts +9 -9
  179. package/lib/service/state.js +19 -19
  180. package/lib/service/state.js.map +1 -1
  181. package/lib/service/walkers/class-walker.d.ts +4 -4
  182. package/lib/service/walkers/class-walker.js +32 -32
  183. package/lib/service/walkers/class-walker.js.map +1 -1
  184. package/lib/service/walkers/enum-walker.d.ts +4 -4
  185. package/lib/service/walkers/enum-walker.js +10 -10
  186. package/lib/service/walkers/interface-walker.d.ts +4 -4
  187. package/lib/service/walkers/interface-walker.js +14 -14
  188. package/lib/service/walkers/interface-walker.js.map +1 -1
  189. package/lib/service/walkers/walker-factory.d.ts +5 -5
  190. package/lib/service/walkers/walker-factory.js +20 -20
  191. package/lib/service/walkers/walker-factory.js.map +1 -1
  192. package/lib/service/walkers/walker.d.ts +19 -19
  193. package/lib/service/walkers/walker.js +16 -16
  194. package/lib/service/walkers/walker.js.map +1 -1
  195. package/lib/settings.d.ts +64 -64
  196. package/lib/settings.js +88 -88
  197. package/lib/settings.js.map +1 -1
  198. package/lib/test-helpers/AnnotationBuilder.d.ts +12 -12
  199. package/lib/test-helpers/AnnotationBuilder.js +30 -30
  200. package/lib/test-helpers/ClassMirrorBuilder.d.ts +18 -18
  201. package/lib/test-helpers/ClassMirrorBuilder.js +53 -53
  202. package/lib/test-helpers/DocCommentAnnotationBuilder.d.ts +8 -8
  203. package/lib/test-helpers/DocCommentAnnotationBuilder.js +25 -25
  204. package/lib/test-helpers/DocCommentBuilder.d.ts +12 -12
  205. package/lib/test-helpers/DocCommentBuilder.js +37 -37
  206. package/lib/test-helpers/FieldMirrorBuilder.d.ts +18 -18
  207. package/lib/test-helpers/FieldMirrorBuilder.js +53 -53
  208. package/lib/test-helpers/InterfaceMirrorBuilder.d.ts +16 -0
  209. package/lib/test-helpers/InterfaceMirrorBuilder.js +43 -0
  210. package/lib/test-helpers/InterfaceMirrorBuilder.js.map +1 -0
  211. package/lib/test-helpers/MethodMirrorBuilder.d.ts +29 -10
  212. package/lib/test-helpers/MethodMirrorBuilder.js +71 -36
  213. package/lib/test-helpers/MethodMirrorBuilder.js.map +1 -1
  214. package/lib/test-helpers/SettingsBuilder.d.ts +8 -8
  215. package/lib/test-helpers/SettingsBuilder.js +26 -26
  216. package/lib/transpiler/factory.d.ts +6 -6
  217. package/lib/transpiler/factory.js +34 -31
  218. package/lib/transpiler/factory.js.map +1 -1
  219. package/lib/transpiler/file-container.d.ts +6 -6
  220. package/lib/transpiler/file-container.js +15 -15
  221. package/lib/transpiler/generator-choices.d.ts +1 -1
  222. package/lib/transpiler/generator-choices.js +2 -2
  223. package/lib/transpiler/markdown/class-file-generatorHelper.d.ts +11 -8
  224. package/lib/transpiler/markdown/class-file-generatorHelper.js +74 -55
  225. package/lib/transpiler/markdown/class-file-generatorHelper.js.map +1 -1
  226. package/lib/transpiler/markdown/docsify/docsify-docs-processor.d.ts +6 -6
  227. package/lib/transpiler/markdown/docsify/docsify-docs-processor.js +12 -12
  228. package/lib/transpiler/markdown/jekyll/jekyll-docsProcessor.d.ts +11 -11
  229. package/lib/transpiler/markdown/jekyll/jekyll-docsProcessor.js +50 -50
  230. package/lib/transpiler/markdown/jekyll/jekyll-docsProcessor.js.map +1 -1
  231. package/lib/transpiler/markdown/markdown-transpiler-base.d.ts +11 -11
  232. package/lib/transpiler/markdown/markdown-transpiler-base.js +26 -23
  233. package/lib/transpiler/markdown/markdown-transpiler-base.js.map +1 -1
  234. package/lib/transpiler/markdown/plain-markdown/class-template.d.ts +1 -0
  235. package/lib/transpiler/markdown/plain-markdown/class-template.js +77 -0
  236. package/lib/transpiler/markdown/plain-markdown/class-template.js.map +1 -0
  237. package/lib/transpiler/markdown/plain-markdown/constructors-partial-template.d.ts +1 -0
  238. package/lib/transpiler/markdown/plain-markdown/constructors-partial-template.js +36 -0
  239. package/lib/transpiler/markdown/plain-markdown/constructors-partial-template.js.map +1 -0
  240. package/lib/transpiler/markdown/plain-markdown/documentable-partial-template.d.ts +1 -0
  241. package/lib/transpiler/markdown/plain-markdown/documentable-partial-template.js +28 -0
  242. package/lib/transpiler/markdown/plain-markdown/documentable-partial-template.js.map +1 -0
  243. package/lib/transpiler/markdown/plain-markdown/enum-template.d.ts +1 -0
  244. package/lib/transpiler/markdown/plain-markdown/enum-template.js +16 -0
  245. package/lib/transpiler/markdown/plain-markdown/enum-template.js.map +1 -0
  246. package/lib/transpiler/markdown/plain-markdown/fieldsPartialTemplate.d.ts +1 -0
  247. package/lib/transpiler/markdown/plain-markdown/fieldsPartialTemplate.js +27 -0
  248. package/lib/transpiler/markdown/plain-markdown/fieldsPartialTemplate.js.map +1 -0
  249. package/lib/transpiler/markdown/plain-markdown/grouped-members-partial-template.d.ts +1 -0
  250. package/lib/transpiler/markdown/plain-markdown/grouped-members-partial-template.js +10 -0
  251. package/lib/transpiler/markdown/plain-markdown/grouped-members-partial-template.js.map +1 -0
  252. package/lib/transpiler/markdown/plain-markdown/interface-template.d.ts +1 -0
  253. package/lib/transpiler/markdown/plain-markdown/interface-template.js +20 -0
  254. package/lib/transpiler/markdown/plain-markdown/interface-template.js.map +1 -0
  255. package/lib/transpiler/markdown/plain-markdown/methods-partial-template.d.ts +1 -0
  256. package/lib/transpiler/markdown/plain-markdown/methods-partial-template.js +47 -0
  257. package/lib/transpiler/markdown/plain-markdown/methods-partial-template.js.map +1 -0
  258. package/lib/transpiler/markdown/plain-markdown/plain-docsProcessor.d.ts +9 -6
  259. package/lib/transpiler/markdown/plain-markdown/plain-docsProcessor.js +41 -13
  260. package/lib/transpiler/markdown/plain-markdown/plain-docsProcessor.js.map +1 -1
  261. package/lib/transpiler/markdown/plain-markdown/type-doc-partial.d.ts +1 -0
  262. package/lib/transpiler/markdown/plain-markdown/type-doc-partial.js +31 -0
  263. package/lib/transpiler/markdown/plain-markdown/type-doc-partial.js.map +1 -0
  264. package/lib/transpiler/openapi/open-api-docs-processor.d.ts +13 -13
  265. package/lib/transpiler/openapi/open-api-docs-processor.js +77 -74
  266. package/lib/transpiler/openapi/open-api-docs-processor.js.map +1 -1
  267. package/lib/transpiler/openapi/parsers/Builder.d.ts +16 -16
  268. package/lib/transpiler/openapi/parsers/Builder.js +29 -29
  269. package/lib/transpiler/openapi/parsers/Builder.js.map +1 -1
  270. package/lib/transpiler/openapi/parsers/MethodParser.d.ts +20 -20
  271. package/lib/transpiler/openapi/parsers/MethodParser.js +189 -166
  272. package/lib/transpiler/openapi/parsers/MethodParser.js.map +1 -1
  273. package/lib/transpiler/openapi/parsers/ParameterObjectBuilder.d.ts +7 -7
  274. package/lib/transpiler/openapi/parsers/ParameterObjectBuilder.js +10 -10
  275. package/lib/transpiler/openapi/parsers/ReferenceBuilder.d.ts +39 -39
  276. package/lib/transpiler/openapi/parsers/ReferenceBuilder.js +249 -225
  277. package/lib/transpiler/openapi/parsers/ReferenceBuilder.js.map +1 -1
  278. package/lib/transpiler/openapi/parsers/RequestBodyBuilder.d.ts +10 -10
  279. package/lib/transpiler/openapi/parsers/RequestBodyBuilder.js +19 -19
  280. package/lib/transpiler/openapi/parsers/ResponsesBuilder.d.ts +7 -7
  281. package/lib/transpiler/openapi/parsers/ResponsesBuilder.js +21 -21
  282. package/lib/transpiler/openapi/parsers/ResponsesBuilder.js.map +1 -1
  283. package/lib/transpiler/processor-type-transpiler.d.ts +10 -10
  284. package/lib/transpiler/processor-type-transpiler.js +8 -8
  285. package/lib/transpiler/transpiler.d.ts +5 -5
  286. package/lib/transpiler/transpiler.js +29 -26
  287. package/lib/transpiler/transpiler.js.map +1 -1
  288. package/lib/util/error-logger.d.ts +8 -8
  289. package/lib/util/error-logger.js +89 -89
  290. package/lib/util/error-logger.js.map +1 -1
  291. package/lib/util/logger.d.ts +21 -21
  292. package/lib/util/logger.js +60 -57
  293. package/lib/util/logger.js.map +1 -1
  294. package/lib/util/string-utils.d.ts +2 -2
  295. package/lib/util/string-utils.js +14 -14
  296. package/lib/util/string-utils.js.map +1 -1
  297. package/package.json +79 -78
  298. package/src/__spec__/core/expect-extensions.ts +32 -0
  299. package/src/__spec__/core/generating-class-docs.spec.ts +511 -0
  300. package/src/__spec__/core/generating-enum-docs.spec.ts +355 -0
  301. package/src/__spec__/core/generating-interface-docs.spec.ts +431 -0
  302. package/src/__spec__/core/generating-reference-guide.spec.ts +163 -0
  303. package/src/adapters/__tests__/interface-adapter.spec.ts +80 -0
  304. package/src/adapters/__tests__/references.spec.ts +115 -0
  305. package/src/adapters/apex-types.ts +224 -0
  306. package/src/adapters/documentables.ts +93 -0
  307. package/src/adapters/fields-and-properties.ts +38 -0
  308. package/src/adapters/methods-and-constructors.ts +117 -0
  309. package/src/adapters/references.ts +113 -0
  310. package/src/adapters/type-utils.ts +5 -0
  311. package/src/adapters/types.d.ts +8 -0
  312. package/src/cli/generate.ts +96 -93
  313. package/src/core/generate-docs.ts +357 -0
  314. package/src/core/renderable/types.d.ts +131 -0
  315. package/src/core/template.ts +108 -0
  316. package/src/core/templates/reference-guide.ts +14 -0
  317. package/src/index.ts +3 -1
  318. package/src/model/__tests__/manifest.spec.ts +1 -0
  319. package/src/model/manifest.ts +15 -5
  320. package/src/model/markdown-file.ts +6 -5
  321. package/src/model/markdown-generation-util/doc-comment-annotation-util.ts +1 -1
  322. package/src/model/markdown-generation-util/method-declaration-util.ts +1 -1
  323. package/src/model/openapi/open-api-types.ts +2 -2
  324. package/src/model/outputFile.ts +2 -11
  325. package/src/service/__tests__/apex-file-reader.spec.ts +4 -4
  326. package/src/service/__tests__/manifest-factory.spec.ts +1 -2
  327. package/src/service/parser.ts +1 -1
  328. package/src/test-helpers/FieldMirrorBuilder.ts +1 -1
  329. package/src/test-helpers/InterfaceMirrorBuilder.ts +44 -0
  330. package/src/test-helpers/MethodMirrorBuilder.ts +46 -6
  331. package/src/transpiler/markdown/class-file-generatorHelper.ts +22 -2
  332. package/src/transpiler/markdown/plain-markdown/class-template.ts +73 -0
  333. package/src/transpiler/markdown/plain-markdown/constructors-partial-template.ts +32 -0
  334. package/src/transpiler/markdown/plain-markdown/documentable-partial-template.ts +24 -0
  335. package/src/transpiler/markdown/plain-markdown/enum-template.ts +12 -0
  336. package/src/transpiler/markdown/plain-markdown/fieldsPartialTemplate.ts +23 -0
  337. package/src/transpiler/markdown/plain-markdown/grouped-members-partial-template.ts +6 -0
  338. package/src/transpiler/markdown/plain-markdown/interface-template.ts +16 -0
  339. package/src/transpiler/markdown/plain-markdown/methods-partial-template.ts +43 -0
  340. package/src/transpiler/markdown/plain-markdown/plain-docsProcessor.ts +30 -0
  341. package/src/transpiler/markdown/plain-markdown/type-doc-partial.ts +27 -0
  342. package/src/transpiler/openapi/parsers/Builder.ts +1 -1
  343. package/src/transpiler/openapi/parsers/MethodParser.ts +1 -1
  344. package/src/transpiler/openapi/parsers/ReferenceBuilder.ts +4 -3
  345. package/src/util/error-logger.ts +4 -4
  346. package/src/util/logger.ts +3 -3
  347. package/tsconfig.json +21 -20
  348. package/tslint.json +5 -5
  349. package/.eslintrc.js +0 -12
  350. package/lib/model/manifest-diff.d.ts +0 -27
  351. package/lib/model/manifest-diff.js +0 -69
  352. package/lib/model/manifest-diff.js.map +0 -1
  353. package/src/model/__tests__/manifest-diff.spec.ts +0 -139
  354. package/src/model/manifest-diff.ts +0 -94
  355. /package/docs/{index.html → __old/index.html} +0 -0
  356. /package/docs/{types → __old/types}/Classes/nspc.AnotherInterface.md +0 -0
  357. /package/docs/{types → __old/types}/Main/nspc.GroupedClass.md +0 -0
  358. /package/docs/{types → __old/types}/Misc-Group/nspc.EscapedAnnotations.md +0 -0
  359. /package/docs/{types → __old/types}/Misc-Group/nspc.GrandparentClass.md +0 -0
  360. /package/docs/{types → __old/types}/Misc-Group/nspc.InterfaceWithInheritance.md +0 -0
  361. /package/docs/{types → __old/types}/Misc-Group/nspc.MemberGrouping.md +0 -0
  362. /package/docs/{types → __old/types}/Misc-Group/nspc.ParentClass.md +0 -0
  363. /package/docs/{types → __old/types}/Misc-Group/nspc.Reference1.md +0 -0
  364. /package/docs/{types → __old/types}/Misc-Group/nspc.Reference2.md +0 -0
  365. /package/docs/{types → __old/types}/Misc-Group/nspc.Reference3.md +0 -0
  366. /package/docs/{types → __old/types}/Misc-Group/nspc.Reference4.md +0 -0
  367. /package/docs/{types → __old/types}/Misc-Group/nspc.Reference5.md +0 -0
  368. /package/docs/{types → __old/types}/Misc-Group/nspc.Reference6.md +0 -0
  369. /package/docs/{types → __old/types}/Misc-Group/nspc.Reference7.md +0 -0
  370. /package/docs/{types → __old/types}/Misc-Group/nspc.SampleClassWithoutModifier.md +0 -0
  371. /package/docs/{types → __old/types}/Misc-Group/nspc.SampleRestResource.md +0 -0
  372. /package/docs/{types → __old/types}/Misc-Group/nspc.SampleRestResourceWithInnerClass.md +0 -0
  373. /package/docs/{types → __old/types}/Misc-Group/nspc.SampleRestResourceWithoutApexDocs.md +0 -0
  374. /package/docs/{types → __old/types}/README.md +0 -0
  375. /package/docs/{types → __old/types}/Sample-Interfaces/nspc.SampleInterface.md +0 -0
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "plain-markdown",
3
+ "scripts": {
4
+ "docs:clean": "rimraf docs",
5
+ "docs:build": "ts-node ../../src/cli/generate.ts",
6
+ "docs:gen": "npm run docs:clean && npm run docs:build"
7
+ },
8
+ "devDependencies": {
9
+ "ts-node": "^10.9.2"
10
+ },
11
+ "dependencies": {
12
+ "rimraf": "^5.0.7"
13
+ },
14
+ "apexdocs": {
15
+ "sourceDir": "force-app",
16
+ "targetGenerator": "plain-markdown",
17
+ "scope": ["global", "public", "protected", "private", "namespaceaccessible"],
18
+ "namespace": "ns"
19
+ }
20
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "packageDirectories": [
3
+ {
4
+ "path": "force-app",
5
+ "default": true
6
+ }
7
+ ],
8
+ "name": "plain-markdown",
9
+ "namespace": "",
10
+ "sfdcLoginUrl": "https://login.salesforce.com",
11
+ "sourceApiVersion": "59.0"
12
+ }
@@ -0,0 +1,3 @@
1
+ # Template file
2
+
3
+ {{{api_docs}}}
package/jest.config.js CHANGED
@@ -1,5 +1,9 @@
1
- module.exports = {
2
- preset: 'ts-jest',
3
- testEnvironment: 'node',
4
- modulePathIgnorePatterns: ['<rootDir>/lib/'],
5
- };
1
+ module.exports = {
2
+ preset: 'ts-jest',
3
+ testEnvironment: 'node',
4
+ modulePathIgnorePatterns: ['<rootDir>/lib/'],
5
+ moduleNameMapper: {
6
+ '^chalk$': '<rootDir>/__mocks__/chalk.js',
7
+ '^log-update$': '<rootDir>/__mocks__/log-update.js',
8
+ },
9
+ };
package/jest.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ declare namespace jest {
2
+ interface Matchers<R> {
3
+ documentationBundleHasLength(length: number): R;
4
+ firstDocContains(content: string): R;
5
+ firstDocContainsNot(content: string): R;
6
+ }
7
+ }
@@ -0,0 +1,3 @@
1
+ import * as E from 'fp-ts/Either';
2
+ export declare function extendExpect(): void;
3
+ export declare function assertEither<T, U>(result: E.Either<T, U>, assertion: (data: U) => void): void;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.extendExpect = extendExpect;
27
+ exports.assertEither = assertEither;
28
+ const E = __importStar(require("fp-ts/Either"));
29
+ function extendExpect() {
30
+ expect.extend({
31
+ documentationBundleHasLength(received, length) {
32
+ return {
33
+ pass: E.isRight(received) && received.right.docs.length === length,
34
+ message: () => `Expected documentation bundle to have length ${length}`,
35
+ };
36
+ },
37
+ firstDocContains(doc, content) {
38
+ return {
39
+ pass: doc.docs[0].docContents.includes(content),
40
+ message: () => `Expected documentation to contain ${content}. Got ${doc.docs[0].docContents}`,
41
+ };
42
+ },
43
+ firstDocContainsNot(doc, content) {
44
+ return {
45
+ pass: !doc.docs[0].docContents.includes(content),
46
+ message: () => `Expected documentation to not contain ${content}. Got ${doc.docs[0].docContents}`,
47
+ };
48
+ },
49
+ });
50
+ }
51
+ function assertEither(result, assertion) {
52
+ E.match((error) => fail(error), (data) => assertion(data))(result);
53
+ }
54
+ //# sourceMappingURL=expect-extensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expect-extensions.js","sourceRoot":"","sources":["../../../src/__spec__/core/expect-extensions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAGA,oCAqBC;AAED,oCAKC;AA/BD,gDAAkC;AAGlC,SAAgB,YAAY;IAC1B,MAAM,CAAC,MAAM,CAAC;QACZ,4BAA4B,CAAC,QAAiD,EAAE,MAAc;YAC5F,OAAO;gBACL,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM;gBAClE,OAAO,EAAE,GAAG,EAAE,CAAC,gDAAgD,MAAM,EAAE;aACxE,CAAC;QACJ,CAAC;QACD,gBAAgB,CAAC,GAAwB,EAAE,OAAe;YACxD,OAAO;gBACL,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAC/C,OAAO,EAAE,GAAG,EAAE,CAAC,qCAAqC,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;aAC9F,CAAC;QACJ,CAAC;QACD,mBAAmB,CAAC,GAAwB,EAAE,OAAe;YAC3D,OAAO;gBACL,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAChD,OAAO,EAAE,GAAG,EAAE,CAAC,yCAAyC,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;aAClG,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,YAAY,CAAO,MAAsB,EAAE,SAA4B;IACrF,CAAC,CAAC,KAAK,CACL,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EACtB,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAC1B,CAAC,MAAM,CAAC,CAAC;AACZ,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,427 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const expect_extensions_1 = require("./expect-extensions");
4
+ const generate_docs_1 = require("../../core/generate-docs");
5
+ describe('Generates interface documentation', () => {
6
+ beforeAll(() => {
7
+ (0, expect_extensions_1.extendExpect)();
8
+ });
9
+ describe('documentation output', () => {
10
+ it('always returns markdown as the format', () => {
11
+ const input = 'public class MyClass {}';
12
+ const result = (0, generate_docs_1.generateDocs)([input]);
13
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data.format).toBe('markdown'));
14
+ });
15
+ it('returns the name of the class', () => {
16
+ const input = 'public class MyClass {}';
17
+ const result = (0, generate_docs_1.generateDocs)([input]);
18
+ expect(result).documentationBundleHasLength(1);
19
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data.docs[0].typeName).toBe('MyClass'));
20
+ });
21
+ it('returns the type as class', () => {
22
+ const input = 'public class MyClass {}';
23
+ const result = (0, generate_docs_1.generateDocs)([input]);
24
+ expect(result).documentationBundleHasLength(1);
25
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data.docs[0].type).toBe('class'));
26
+ });
27
+ it('does not return classes out of scope', () => {
28
+ const input1 = `
29
+ global class MyClass {}
30
+ `;
31
+ const input2 = `
32
+ public class AnotherClass {}
33
+ `;
34
+ const result = (0, generate_docs_1.generateDocs)([input1, input2], { scope: ['global'] });
35
+ expect(result).documentationBundleHasLength(1);
36
+ });
37
+ it('does not return classes that have an @ignore in the docs', () => {
38
+ const input = `
39
+ /**
40
+ * @ignore
41
+ */
42
+ public class MyClass {}`;
43
+ const result = (0, generate_docs_1.generateDocs)([input]);
44
+ expect(result).documentationBundleHasLength(0);
45
+ });
46
+ it('does not return class methods that have @ignore in the docs', () => {
47
+ const input = `
48
+ public class MyClass {
49
+ /**
50
+ * @ignore
51
+ */
52
+ public void myMethod() {}
53
+ }`;
54
+ const result = (0, generate_docs_1.generateDocs)([input]);
55
+ expect(result).documentationBundleHasLength(1);
56
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data.docs[0].docContents).not.toContain('myMethod'));
57
+ });
58
+ it('does not return class properties that have @ignore in the docs', () => {
59
+ const input = `
60
+ public class MyClass {
61
+ /**
62
+ * @ignore
63
+ */
64
+ public String myProperty { get; set; }
65
+ }`;
66
+ const result = (0, generate_docs_1.generateDocs)([input]);
67
+ expect(result).documentationBundleHasLength(1);
68
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data.docs[0].docContents).not.toContain('myProperty'));
69
+ });
70
+ it('does not return class fields that have @ignore in the docs', () => {
71
+ const input = `
72
+ public class MyClass {
73
+ /**
74
+ * @ignore
75
+ */
76
+ public String myField;
77
+ }`;
78
+ const result = (0, generate_docs_1.generateDocs)([input]);
79
+ expect(result).documentationBundleHasLength(1);
80
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data.docs[0].docContents).not.toContain('myField'));
81
+ });
82
+ it('does not return class inner classes that have @ignore in the docs', () => {
83
+ const input = `
84
+ public class MyClass {
85
+ /**
86
+ * @ignore
87
+ */
88
+ public class InnerClass {}
89
+ }`;
90
+ const result = (0, generate_docs_1.generateDocs)([input]);
91
+ expect(result).documentationBundleHasLength(1);
92
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data.docs[0].docContents).not.toContain('InnerClass'));
93
+ });
94
+ it('does not return class inner interfaces that have @ignore in the docs', () => {
95
+ const input = `
96
+ public class MyClass {
97
+ /**
98
+ * @ignore
99
+ */
100
+ public interface InnerInterface {}
101
+ }`;
102
+ const result = (0, generate_docs_1.generateDocs)([input]);
103
+ expect(result).documentationBundleHasLength(1);
104
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data.docs[0].docContents).not.toContain('InnerInterface'));
105
+ });
106
+ it('does not return class inner enums that have @ignore in the docs', () => {
107
+ const input = `
108
+ public class MyClass {
109
+ /**
110
+ * @ignore
111
+ */
112
+ public enum InnerEnum {}
113
+ }`;
114
+ const result = (0, generate_docs_1.generateDocs)([input]);
115
+ expect(result).documentationBundleHasLength(1);
116
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data.docs[0].docContents).not.toContain('InnerEnum'));
117
+ });
118
+ });
119
+ describe('documentation content', () => {
120
+ describe('type level information', () => {
121
+ it('generates a heading with the class name', () => {
122
+ const input = 'public class MyClass {}';
123
+ const output = `# MyClass Class`;
124
+ const result = (0, generate_docs_1.generateDocs)([input]);
125
+ expect(result).documentationBundleHasLength(1);
126
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains(output));
127
+ });
128
+ it('displays type level annotations', () => {
129
+ const input = `
130
+ @NamespaceAccessible
131
+ public class MyClass {
132
+ @Deprecated
133
+ public void myMethod() {}
134
+ }
135
+ `;
136
+ const result = (0, generate_docs_1.generateDocs)([input]);
137
+ expect(result).documentationBundleHasLength(1);
138
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('NAMESPACEACCESSIBLE'));
139
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('DEPRECATED'));
140
+ });
141
+ it('displays the description', () => {
142
+ const input = `
143
+ /**
144
+ * This is a description
145
+ */
146
+ public class MyClass {}
147
+ `;
148
+ const result = (0, generate_docs_1.generateDocs)([input]);
149
+ expect(result).documentationBundleHasLength(1);
150
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('This is a description'));
151
+ });
152
+ it('display custom documentation tags', () => {
153
+ const input = `
154
+ /**
155
+ * @custom-tag My Value
156
+ */
157
+ public class MyClass {}
158
+ `;
159
+ const result = (0, generate_docs_1.generateDocs)([input]);
160
+ expect(result).documentationBundleHasLength(1);
161
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('Custom Tag'));
162
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('My Value'));
163
+ });
164
+ it('displays the group', () => {
165
+ const input = `
166
+ /**
167
+ * @group MyGroup
168
+ */
169
+ public class MyClass {}`;
170
+ const result = (0, generate_docs_1.generateDocs)([input]);
171
+ expect(result).documentationBundleHasLength(1);
172
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('Group'));
173
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('MyGroup'));
174
+ });
175
+ it('displays the author', () => {
176
+ const input = `
177
+ /**
178
+ * @author John Doe
179
+ */
180
+ public class MyClass {}`;
181
+ const result = (0, generate_docs_1.generateDocs)([input]);
182
+ expect(result).documentationBundleHasLength(1);
183
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('Author'));
184
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('John Doe'));
185
+ });
186
+ it('displays the date', () => {
187
+ const input = `
188
+ /**
189
+ * @date 2021-01-01
190
+ */
191
+ public class MyClass {}`;
192
+ const result = (0, generate_docs_1.generateDocs)([input]);
193
+ expect(result).documentationBundleHasLength(1);
194
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('Date'));
195
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('2021-01-01'));
196
+ });
197
+ it('displays descriptions', () => {
198
+ const input = `
199
+ /**
200
+ * @description This is a description
201
+ */
202
+ public class MyClass {}`;
203
+ const result = (0, generate_docs_1.generateDocs)([input]);
204
+ expect(result).documentationBundleHasLength(1);
205
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('This is a description'));
206
+ });
207
+ it('displays descriptions with links', () => {
208
+ const input1 = `
209
+ /**
210
+ * @description This is a description with a {@link ClassRef} reference
211
+ */
212
+ public enum MyClass {}
213
+ `;
214
+ const input2 = 'public class ClassRef {}';
215
+ const result = (0, generate_docs_1.generateDocs)([input1, input2]);
216
+ expect(result).documentationBundleHasLength(2);
217
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('This is a description with a [ClassRef](./ClassRef.md) reference'));
218
+ });
219
+ it('displays descriptions with emails', () => {
220
+ const input = `
221
+ /**
222
+ * @description This is a description with an {@email test@testerson.com} email
223
+ */
224
+ public class MyClass {}
225
+ `;
226
+ const result = (0, generate_docs_1.generateDocs)([input]);
227
+ expect(result).documentationBundleHasLength(1);
228
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('This is a description with an [test@testerson.com](mailto:test@testerson.com) email'));
229
+ });
230
+ it('displays sees with accurately resolved links', () => {
231
+ const input1 = `
232
+ /**
233
+ * @see ClassRef
234
+ */
235
+ public class MyClass {}
236
+ `;
237
+ const input2 = 'public class ClassRef {}';
238
+ const result = (0, generate_docs_1.generateDocs)([input1, input2]);
239
+ expect(result).documentationBundleHasLength(2);
240
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('See'));
241
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('[ClassRef](./ClassRef.md)'));
242
+ });
243
+ it('displays sees without links when the reference is not found', () => {
244
+ const input = `
245
+ /**
246
+ * @see ClassRef
247
+ */
248
+ public class MyClass {}
249
+ `;
250
+ const result = (0, generate_docs_1.generateDocs)([input]);
251
+ expect(result).documentationBundleHasLength(1);
252
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('See'));
253
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('ClassRef'));
254
+ });
255
+ it('displays the namespace if present in the config', () => {
256
+ const input = 'public class MyClass {}';
257
+ const result = (0, generate_docs_1.generateDocs)([input], { namespace: 'MyNamespace' });
258
+ expect(result).documentationBundleHasLength(1);
259
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('## Namespace'));
260
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('MyNamespace'));
261
+ });
262
+ it('does not display the namespace if not present in the config', () => {
263
+ const input = 'public class MyClass {}';
264
+ const result = (0, generate_docs_1.generateDocs)([input]);
265
+ expect(result).documentationBundleHasLength(1);
266
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContainsNot('## Namespace'));
267
+ });
268
+ it('displays a mermaid diagram', () => {
269
+ const input = `
270
+ /**
271
+ * @mermaid
272
+ * graph TD
273
+ * A[Square Rect] -- Link text --> B((Circle))
274
+ * A --> C(Round Rect)
275
+ * B --> D{Rhombus}
276
+ * C --> D
277
+ */
278
+ public class MyClass {}
279
+ `;
280
+ const result = (0, generate_docs_1.generateDocs)([input]);
281
+ expect(result).documentationBundleHasLength(1);
282
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('```mermaid'));
283
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('graph TD'));
284
+ });
285
+ it('displays an example code block', () => {
286
+ const input = `
287
+ /**
288
+ * @example
289
+ * public class MyClass {
290
+ * public void myMethod() {
291
+ * System.debug('Hello, World!');
292
+ * }
293
+ * }
294
+ */
295
+ public class MyClass {}`;
296
+ const result = (0, generate_docs_1.generateDocs)([input]);
297
+ expect(result).documentationBundleHasLength(1);
298
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('```apex'));
299
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('public class MyClass'));
300
+ });
301
+ });
302
+ });
303
+ describe('member information', () => {
304
+ it('displays the Method heading', () => {
305
+ const input = `
306
+ public class MyClass {
307
+ public void myMethod() {}
308
+ }
309
+ `;
310
+ const result = (0, generate_docs_1.generateDocs)([input]);
311
+ expect(result).documentationBundleHasLength(1);
312
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('## Methods'));
313
+ });
314
+ it('displays the Property heading', () => {
315
+ const input = `
316
+ public class MyClass {
317
+ public String myProperty { get; set; }
318
+ }
319
+ `;
320
+ const result = (0, generate_docs_1.generateDocs)([input]);
321
+ expect(result).documentationBundleHasLength(1);
322
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('## Properties'));
323
+ });
324
+ it('displays the Field heading', () => {
325
+ const input = `
326
+ public class MyClass {
327
+ public String myField;
328
+ }
329
+ `;
330
+ const result = (0, generate_docs_1.generateDocs)([input]);
331
+ expect(result).documentationBundleHasLength(1);
332
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('## Fields'));
333
+ });
334
+ it('displays the Constructor heading', () => {
335
+ const input = `
336
+ public class MyClass {
337
+ public MyClass() {}
338
+ }
339
+ `;
340
+ const result = (0, generate_docs_1.generateDocs)([input]);
341
+ expect(result).documentationBundleHasLength(1);
342
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('## Constructors'));
343
+ });
344
+ it('displays the Inner Class heading', () => {
345
+ const input = `
346
+ public class MyClass {
347
+ public class InnerClass {}
348
+ }
349
+ `;
350
+ const result = (0, generate_docs_1.generateDocs)([input]);
351
+ expect(result).documentationBundleHasLength(1);
352
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('## Classes'));
353
+ });
354
+ it('displays the Inner Interface heading', () => {
355
+ const input = `
356
+ public class MyClass {
357
+ public interface InnerInterface {}
358
+ }
359
+ `;
360
+ const result = (0, generate_docs_1.generateDocs)([input]);
361
+ expect(result).documentationBundleHasLength(1);
362
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('## Interfaces'));
363
+ });
364
+ it('displays the Inner Enum heading', () => {
365
+ const input = `
366
+ public class MyClass {
367
+ public enum InnerEnum {}
368
+ }
369
+ `;
370
+ const result = (0, generate_docs_1.generateDocs)([input]);
371
+ expect(result).documentationBundleHasLength(1);
372
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('## Enums'));
373
+ });
374
+ it('supports having mermaid diagrams in descriptions', () => {
375
+ const input = `
376
+ public class MyClass {
377
+ /**
378
+ * @mermaid
379
+ * graph TD
380
+ * A[Square Rect] -- Link text --> B((Circle))
381
+ * A --> C(Round Rect)
382
+ * B --> D{Rhombus}
383
+ * C --> D
384
+ */
385
+ public void myMethod() {}
386
+ }
387
+ `;
388
+ const result = (0, generate_docs_1.generateDocs)([input]);
389
+ expect(result).documentationBundleHasLength(1);
390
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('```mermaid'));
391
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('graph TD'));
392
+ });
393
+ it('supports having example code blocks in method descriptions', () => {
394
+ const input = `
395
+ public class MyClass {
396
+ /**
397
+ * @example
398
+ * public class MyClass {
399
+ * public void myMethod() {
400
+ * System.debug('Hello, World!');
401
+ * }
402
+ * }
403
+ */
404
+ public void myMethod() {}
405
+ }
406
+ `;
407
+ const result = (0, generate_docs_1.generateDocs)([input]);
408
+ expect(result).documentationBundleHasLength(1);
409
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('```apex'));
410
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('public class MyClass'));
411
+ });
412
+ it('displays an "inherited" tag if the method was inherited from a different interface', () => {
413
+ const input1 = `
414
+ public virtual class MyClass {
415
+ public void myMethod() {}
416
+ }
417
+ `;
418
+ const input2 = `
419
+ public class AnotherClass extends MyClass {}
420
+ `;
421
+ const result = (0, generate_docs_1.generateDocs)([input1, input2]);
422
+ expect(result).documentationBundleHasLength(2);
423
+ (0, expect_extensions_1.assertEither)(result, (data) => { var _a; return expect((_a = data.docs.find((doc) => doc.typeName === 'AnotherClass')) === null || _a === void 0 ? void 0 : _a.docContents).toContain('Inherited'); });
424
+ });
425
+ });
426
+ });
427
+ //# sourceMappingURL=generating-class-docs.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generating-class-docs.spec.js","sourceRoot":"","sources":["../../../src/__spec__/core/generating-class-docs.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};