@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,15 @@
1
+ # ParentInterface Interface
2
+
3
+ ## Namespace
4
+ ns
5
+
6
+ ## Methods
7
+ ### `sampleParentMethod()`
8
+
9
+ #### Signature
10
+ ```apex
11
+ public void sampleParentMethod()
12
+ ```
13
+
14
+ #### Return Type
15
+ **void**
@@ -0,0 +1,8 @@
1
+ # ReferencedEnum Enum
2
+
3
+ ## Namespace
4
+ ns
5
+
6
+ ## Values
7
+ | Value | Description |
8
+ |-------|-------------|
@@ -0,0 +1,7 @@
1
+ # SampleException Class
2
+
3
+ ## Namespace
4
+ ns
5
+
6
+ **Extends**
7
+ Exception
@@ -0,0 +1,115 @@
1
+ # SampleInterface Interface
2
+
3
+ `NAMESPACEACCESSIBLE`
4
+
5
+ This is a sample interface
6
+
7
+ **Author** John Doe
8
+
9
+ **Date** 2020-01-01
10
+
11
+ **See** [ns.SampleEnum](../Sample-Enums/ns.SampleEnum.md)
12
+
13
+ **See** [ns.ReferencedEnum](./ns.ReferencedEnum.md)
14
+
15
+ ## Namespace
16
+ ns
17
+
18
+ ## Diagram
19
+ ```mermaid
20
+ graph TD
21
+ A[SampleInterface] -->|extends| B[ParentInterface]
22
+ B -->|extends| C[GrandParentInterface]
23
+ C -->|extends| D[GreatGrandParentInterface]
24
+ ```
25
+
26
+ ## Example
27
+ ```apex
28
+ SampleInterface sampleInterface = new SampleInterface();
29
+ sampleInterface.sampleMethod();
30
+ ```
31
+
32
+ **Extends**
33
+ [ns.ParentInterface](./ns.ParentInterface.md)
34
+
35
+ ## Methods
36
+ ### `sampleMethod()`
37
+
38
+ `NAMESPACEACCESSIBLE`
39
+
40
+ This is a sample method
41
+
42
+ **Custom Tag** This is a custom tag
43
+
44
+ **Another Custom Tag** This is another custom tag
45
+
46
+ #### Signature
47
+ ```apex
48
+ public String sampleMethod()
49
+ ```
50
+
51
+ #### Return Type
52
+ **String**
53
+
54
+ Some return value
55
+
56
+ #### Throws
57
+ [ns.SampleException](./ns.SampleException.md): This is a sample exception
58
+
59
+ AnotherSampleException: This is another sample exception
60
+
61
+ #### Diagram
62
+ ```mermaid
63
+ graph TD
64
+ A[SampleInterface] -->|extends| B[ParentInterface]
65
+ B -->|extends| C[GrandParentInterface]
66
+ C -->|extends| D[GreatGrandParentInterface]
67
+ ```
68
+
69
+ #### Example
70
+ ```apex
71
+ SampleInterface sampleInterface = new SampleInterface();
72
+ sampleInterface.sampleMethod();
73
+ ```
74
+
75
+ ---
76
+
77
+ ### `sampleMethodWithParams(param1, param2, theEnum)`
78
+
79
+ `NAMESPACEACCESSIBLE`
80
+ `DEPRECATED`
81
+
82
+ This is a sample method with parameters
83
+
84
+ Sometimes it won't be possible to find a NonExistent link.
85
+
86
+ #### Signature
87
+ ```apex
88
+ public SampleEnum sampleMethodWithParams(String param1, Integer param2, SampleEnum theEnum)
89
+ ```
90
+
91
+ #### Parameters
92
+ | Name | Type | Description |
93
+ |------|------|-------------|
94
+ | param1 | String | This is the first parameter |
95
+ | param2 | Integer | This is the second parameter |
96
+ | theEnum | [ns.SampleEnum](../Sample-Enums/ns.SampleEnum.md) | This is an enum parameter |
97
+
98
+ #### Return Type
99
+ **[ns.SampleEnum](../Sample-Enums/ns.SampleEnum.md)**
100
+
101
+ Some return value
102
+
103
+ ---
104
+
105
+ ### `sampleParentMethod()`
106
+
107
+ *Inherited*
108
+
109
+ #### Signature
110
+ ```apex
111
+ public void sampleParentMethod()
112
+ ```
113
+
114
+ #### Return Type
115
+ **void**
@@ -0,0 +1,36 @@
1
+ # SampleEnum Enum
2
+
3
+ `NAMESPACEACCESSIBLE`
4
+
5
+ This is a sample enum. This references [ns.ReferencedEnum](../Miscellaneous/ns.ReferencedEnum.md) .
6
+
7
+ This description has several lines
8
+
9
+ **Some Custom** Test. I can also have a [ns.ReferencedEnum](../Miscellaneous/ns.ReferencedEnum.md) here.
10
+
11
+ And it can be multiline.
12
+
13
+ **Group** Sample Enums
14
+
15
+ **Author** John Doe
16
+
17
+ **Date** 2022-01-01
18
+
19
+ **See** [ns.ReferencedEnum](../Miscellaneous/ns.ReferencedEnum.md)
20
+
21
+ ## Namespace
22
+ ns
23
+
24
+ ## Diagram
25
+ ```mermaid
26
+ graph TD
27
+ A[SampleEnum] -->|references| B[ReferencedEnum]
28
+ B -->|referenced by| A
29
+ ```
30
+
31
+ ## Values
32
+ | Value | Description |
33
+ |-------|-------------|
34
+ | VALUE1 | This is value 1 |
35
+ | VALUE2 | This is value 2 |
36
+ | VALUE3 | This is value 3 |
@@ -0,0 +1,173 @@
1
+ # SampleClass Class
2
+ `virtual`
3
+
4
+ aliquip ex sunt officia ullamco anim deserunt magna aliquip nisi eiusmod in sit officia veniam ex
5
+
6
+ deserunt ea officia exercitation laboris enim in duis quis enim eiusmod eu amet cupidatat.
7
+
8
+ **Group** SampleGroup
9
+
10
+ ## Namespace
11
+ ns
12
+
13
+ ## Example
14
+ ```apex
15
+ SampleClass sample = new SampleClass();
16
+ sample.doSomething();
17
+ ```
18
+
19
+ **Extends**
20
+ [ns.BaseClass](../Miscellaneous/ns.BaseClass.md)
21
+
22
+ **Implements**
23
+ [ns.SampleInterface](../Miscellaneous/ns.SampleInterface.md),
24
+ [ns.ParentInterface](../Miscellaneous/ns.ParentInterface.md)
25
+
26
+ ## Fields
27
+ ### Group Name
28
+ #### `name`
29
+
30
+ This is a sample field.
31
+
32
+ ##### Signature
33
+ ```apex
34
+ private name
35
+ ```
36
+
37
+ ##### Type
38
+ String
39
+
40
+ ### Other
41
+ #### `sampleEnumFromBase`
42
+
43
+ *Inherited*
44
+
45
+ ##### Signature
46
+ ```apex
47
+ public sampleEnumFromBase
48
+ ```
49
+
50
+ ##### Type
51
+ [ns.SampleEnum](../Sample-Enums/ns.SampleEnum.md)
52
+
53
+ ## Properties
54
+ ### Group Name
55
+ #### `someProperty`
56
+
57
+ ##### Signature
58
+ ```apex
59
+ public someProperty
60
+ ```
61
+
62
+ ##### Type
63
+ String
64
+
65
+ ## Constructors
66
+ ### Other
67
+ #### `SampleClass()`
68
+
69
+ This is a sample constructor.
70
+
71
+ ##### Signature
72
+ ```apex
73
+ public SampleClass()
74
+ ```
75
+
76
+ ### Other Constructors
77
+ #### `SampleClass(name)`
78
+
79
+ ##### Signature
80
+ ```apex
81
+ public SampleClass(String name)
82
+ ```
83
+
84
+ ##### Parameters
85
+ | Name | Type | Description |
86
+ |------|------|-------------|
87
+ | name | String | |
88
+
89
+ ## Methods
90
+ ### Available Methods
91
+ #### `doSomething()`
92
+
93
+ ##### Signature
94
+ ```apex
95
+ public void doSomething()
96
+ ```
97
+
98
+ ##### Return Type
99
+ **void**
100
+
101
+ ### Deprecated Methods
102
+ #### `sayHello()`
103
+
104
+ `DEPRECATED`
105
+
106
+ This is a sample method.
107
+
108
+ ##### Signature
109
+ ```apex
110
+ public virtual String sayHello()
111
+ ```
112
+
113
+ ##### Return Type
114
+ **String**
115
+
116
+ A string value.
117
+
118
+ ##### Example
119
+ ```apex
120
+ SampleClass sample = new SampleClass();
121
+ sample.doSomething();
122
+ ```
123
+
124
+ ## Classes
125
+ ### SomeInnerClass Class
126
+
127
+ #### Fields
128
+ ##### `someInnerField`
129
+
130
+ ###### Signature
131
+ ```apex
132
+ public someInnerField
133
+ ```
134
+
135
+ ###### Type
136
+ String
137
+
138
+ #### Methods
139
+ ##### `doSomething()`
140
+
141
+ ###### Signature
142
+ ```apex
143
+ public void doSomething()
144
+ ```
145
+
146
+ ###### Return Type
147
+ **void**
148
+
149
+ ## Enums
150
+ ### SomeEnum Enum
151
+
152
+ This enum is used for foo and bar.
153
+
154
+ #### Values
155
+ | Value | Description |
156
+ |-------|-------------|
157
+ | TEST_1 | This is a test. |
158
+ | TEST_2 | |
159
+ | TEST_3 | |
160
+
161
+ ## Interfaces
162
+ ### SomeInterface Interface
163
+
164
+ #### Methods
165
+ ##### `doSomething()`
166
+
167
+ ###### Signature
168
+ ```apex
169
+ public void doSomething()
170
+ ```
171
+
172
+ ###### Return Type
173
+ **void**
@@ -0,0 +1,36 @@
1
+ # Classes
2
+ ## Miscellaneous
3
+
4
+ ### [ns.BaseClass](./Miscellaneous/ns.BaseClass.md)
5
+
6
+
7
+ ### [ns.ParentInterface](./Miscellaneous/ns.ParentInterface.md)
8
+
9
+
10
+ ### [ns.ReferencedEnum](./Miscellaneous/ns.ReferencedEnum.md)
11
+
12
+
13
+ ### [ns.SampleException](./Miscellaneous/ns.SampleException.md)
14
+
15
+
16
+ ### [ns.SampleInterface](./Miscellaneous/ns.SampleInterface.md)
17
+
18
+ This is a sample interface
19
+
20
+
21
+ ## SampleGroup
22
+
23
+ ### [ns.SampleClass](./SampleGroup/ns.SampleClass.md)
24
+
25
+ aliquip ex sunt officia ullamco anim deserunt magna aliquip nisi eiusmod in sit officia veniam ex
26
+ deserunt ea officia exercitation laboris enim in duis quis enim eiusmod eu amet cupidatat.
27
+
28
+
29
+ ## Sample Enums
30
+
31
+ ### [ns.SampleEnum](./Sample-Enums/ns.SampleEnum.md)
32
+
33
+ This is a sample enum. This references {@link ReferencedEnum}.
34
+ This description has several lines
35
+
36
+
@@ -0,0 +1,3 @@
1
+ public abstract class BaseClass {
2
+ public SampleEnum sampleEnumFromBase;
3
+ }
@@ -0,0 +1,3 @@
1
+ public interface ParentInterface {
2
+ void sampleParentMethod();
3
+ }
@@ -0,0 +1,3 @@
1
+ public enum ReferencedEnum {
2
+
3
+ }
@@ -0,0 +1,72 @@
1
+ /**
2
+ * @description aliquip ex sunt officia ullamco anim deserunt magna aliquip nisi eiusmod in sit officia veniam ex
3
+ * deserunt ea officia exercitation laboris enim in duis quis enim eiusmod eu amet cupidatat.
4
+ * @group SampleGroup
5
+ * @example
6
+ * SampleClass sample = new SampleClass();
7
+ * sample.doSomething();
8
+ */
9
+ public with sharing virtual class SampleClass extends BaseClass implements SampleInterface, ParentInterface {
10
+ // @start-group Group Name
11
+ /**
12
+ * @description This is a sample field.
13
+ */
14
+ private final String name;
15
+ public String someProperty { get; private set; }
16
+ // @end-group
17
+
18
+ /**
19
+ * @description This is a sample constructor.
20
+ */
21
+ public SampleClass() {}
22
+
23
+ // @start-group Other Constructors
24
+ public SampleClass(String name) {
25
+ this.name = name;
26
+ }
27
+ // @end-group
28
+
29
+ // @start-group Available Methods
30
+ public void doSomething() {
31
+ System.debug('Doing something');
32
+ }
33
+ // @end-group
34
+
35
+ // @start-group Deprecated Methods
36
+
37
+ /**
38
+ * @description This is a sample method.
39
+ * @return A string value.
40
+ * @example
41
+ * SampleClass sample = new SampleClass();
42
+ * sample.doSomething();
43
+ */
44
+ @Deprecated
45
+ public virtual String sayHello() {
46
+ return 'Hello';
47
+ }
48
+
49
+ // @end-group
50
+
51
+ public class SomeInnerClass {
52
+ public String someInnerField;
53
+
54
+ public void doSomething() {
55
+ System.debug('Doing something');
56
+ }
57
+ }
58
+
59
+ /**
60
+ * @description This enum is used for foo and bar.
61
+ */
62
+ public enum SomeEnum {
63
+ /** @description This is a test. */
64
+ TEST_1,
65
+ TEST_2,
66
+ TEST_3
67
+ }
68
+
69
+ public interface SomeInterface {
70
+ void doSomething();
71
+ }
72
+ }
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @description This is a sample enum. This references {@link ReferencedEnum}.
3
+ *
4
+ * This description has several lines
5
+ * @group Sample Enums
6
+ * @author John Doe
7
+ * @date 2022-01-01
8
+ * @some-custom Test. I can also have a {@link ReferencedEnum} here.
9
+ * And it can be multiline.
10
+ * @see ReferencedEnum
11
+ * @mermaid
12
+ * graph TD
13
+ * A[SampleEnum] -->|references| B[ReferencedEnum]
14
+ * B -->|referenced by| A
15
+ */
16
+ @NamespaceAccessible
17
+ public enum SampleEnum {
18
+ /**
19
+ * @description This is value 1
20
+ */
21
+ VALUE1,
22
+ /**
23
+ * @description This is value 2
24
+ */
25
+ VALUE2,
26
+ /**
27
+ * @description This is value 3
28
+ */
29
+ VALUE3
30
+ }
@@ -0,0 +1 @@
1
+ public class SampleException extends Exception {}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * @description This is a sample interface
3
+ * @author John Doe
4
+ * @date 2020-01-01
5
+ * @see SampleEnum
6
+ * @see ReferencedEnum
7
+ * @mermaid
8
+ * graph TD
9
+ * A[SampleInterface] -->|extends| B[ParentInterface]
10
+ * B -->|extends| C[GrandParentInterface]
11
+ * C -->|extends| D[GreatGrandParentInterface]
12
+ * @example
13
+ * SampleInterface sampleInterface = new SampleInterface();
14
+ * sampleInterface.sampleMethod();
15
+ */
16
+ @NamespaceAccessible
17
+ public interface SampleInterface extends ParentInterface {
18
+ /**
19
+ * @description This is a sample method
20
+ * @return Some return value
21
+ * @throws SampleException This is a sample exception
22
+ * @throws AnotherSampleException This is another sample exception
23
+ * @custom-tag This is a custom tag
24
+ * @another-custom-tag This is another custom tag
25
+ * @mermaid
26
+ * graph TD
27
+ * A[SampleInterface] -->|extends| B[ParentInterface]
28
+ * B -->|extends| C[GrandParentInterface]
29
+ * C -->|extends| D[GreatGrandParentInterface]
30
+ * @example
31
+ * SampleInterface sampleInterface = new SampleInterface();
32
+ * sampleInterface.sampleMethod();
33
+ */
34
+ String sampleMethod();
35
+
36
+ /**
37
+ * @description This is a sample method with parameters
38
+ * Sometimes it won't be possible to find a {@link NonExistent} link.
39
+ * @param param1 This is the first parameter
40
+ * @param param2 This is the second parameter
41
+ * @param theEnum This is an enum parameter
42
+ * @return Some return value
43
+ */
44
+ @Deprecated
45
+ SampleEnum sampleMethodWithParams(String param1, Integer param2, SampleEnum theEnum);
46
+ }