@cparra/apexdocs 2.25.0 → 3.0.0-alpha.10

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 (431) hide show
  1. package/.github/workflows/ci.yaml +22 -0
  2. package/README.md +73 -12
  3. package/__mocks__/chalk.js +12 -0
  4. package/__mocks__/log-update.js +6 -0
  5. package/dist/cli/generate.js +3181 -0
  6. package/dist/defaults-DGKfeZq-.js +13 -0
  7. package/dist/index.d.ts +117 -0
  8. package/dist/index.js +36 -0
  9. package/eslint.config.mjs +10 -0
  10. package/examples/markdown/.forceignore +12 -0
  11. package/examples/markdown/config/project-scratch-def.json +5 -0
  12. package/examples/markdown/docs/index.md +109 -0
  13. package/examples/markdown/docs/miscellaneous/BaseClass.md +16 -0
  14. package/examples/markdown/docs/miscellaneous/MultiInheritanceClass.md +72 -0
  15. package/examples/markdown/docs/miscellaneous/ParentInterface.md +15 -0
  16. package/examples/markdown/docs/miscellaneous/ReferencedEnum.md +8 -0
  17. package/examples/markdown/docs/miscellaneous/SampleException.md +24 -0
  18. package/examples/markdown/docs/miscellaneous/SampleInterface.md +116 -0
  19. package/examples/markdown/docs/miscellaneous/Url.md +309 -0
  20. package/examples/markdown/docs/sample-enums/SampleEnum.md +36 -0
  21. package/examples/markdown/docs/samplegroup/SampleClass.md +170 -0
  22. package/examples/markdown/force-app/classes/BaseClass.cls +3 -0
  23. package/examples/markdown/force-app/classes/MultiInheritanceClass.cls +1 -0
  24. package/examples/markdown/force-app/classes/ParentInterface.cls +3 -0
  25. package/examples/markdown/force-app/classes/ReferencedEnum.cls +3 -0
  26. package/examples/markdown/force-app/classes/SampleClass.cls +72 -0
  27. package/examples/markdown/force-app/classes/SampleEnum.cls +30 -0
  28. package/examples/markdown/force-app/classes/SampleException.cls +17 -0
  29. package/examples/markdown/force-app/classes/SampleInterface.cls +50 -0
  30. package/examples/markdown/force-app/classes/Url.cls +194 -0
  31. package/examples/markdown/package-lock.json +665 -0
  32. package/examples/markdown/package.json +20 -0
  33. package/examples/markdown/sfdx-project.json +12 -0
  34. package/examples/vitepress/.forceignore +12 -0
  35. package/examples/vitepress/apexdocs.config.ts +106 -0
  36. package/examples/vitepress/config/project-scratch-def.json +13 -0
  37. package/examples/vitepress/docs/.vitepress/cache/deps/@theme_index.js +259 -0
  38. package/examples/vitepress/docs/.vitepress/cache/deps/@theme_index.js.map +7 -0
  39. package/examples/vitepress/docs/.vitepress/cache/deps/_metadata.json +40 -0
  40. package/examples/vitepress/docs/.vitepress/cache/deps/chunk-574YRH25.js +11474 -0
  41. package/examples/vitepress/docs/.vitepress/cache/deps/chunk-574YRH25.js.map +7 -0
  42. package/examples/vitepress/docs/.vitepress/cache/deps/chunk-E5DZZB2I.js +9172 -0
  43. package/examples/vitepress/docs/.vitepress/cache/deps/chunk-E5DZZB2I.js.map +7 -0
  44. package/examples/vitepress/docs/.vitepress/cache/deps/package.json +3 -0
  45. package/examples/vitepress/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js +4339 -0
  46. package/examples/vitepress/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js.map +7 -0
  47. package/examples/vitepress/docs/.vitepress/cache/deps/vitepress___@vueuse_core.js +567 -0
  48. package/examples/vitepress/docs/.vitepress/cache/deps/vitepress___@vueuse_core.js.map +7 -0
  49. package/examples/vitepress/docs/.vitepress/cache/deps/vue.js +323 -0
  50. package/examples/vitepress/docs/.vitepress/cache/deps/vue.js.map +7 -0
  51. package/examples/vitepress/docs/.vitepress/config.mts +21 -0
  52. package/examples/vitepress/docs/.vitepress/sidebar.json +119 -0
  53. package/examples/vitepress/docs/api-examples.md +49 -0
  54. package/examples/vitepress/docs/index-frontmatter.md +16 -0
  55. package/examples/vitepress/docs/index.md +56 -0
  56. package/examples/vitepress/docs/markdown-examples.md +85 -0
  57. package/examples/vitepress/docs/miscellaneous/BaseClass.md +20 -0
  58. package/examples/vitepress/docs/miscellaneous/MultiInheritanceClass.md +76 -0
  59. package/examples/vitepress/docs/miscellaneous/ParentInterface.md +19 -0
  60. package/examples/vitepress/docs/miscellaneous/ReferencedEnum.md +15 -0
  61. package/examples/vitepress/docs/miscellaneous/SampleException.md +28 -0
  62. package/examples/vitepress/docs/miscellaneous/SampleInterface.md +116 -0
  63. package/examples/vitepress/docs/miscellaneous/Url.md +317 -0
  64. package/examples/vitepress/docs/sample-enums/SampleEnum.md +40 -0
  65. package/examples/vitepress/docs/samplegroup/SampleClass.md +174 -0
  66. package/examples/vitepress/force-app/main/default/classes/BaseClass.cls +3 -0
  67. package/examples/vitepress/force-app/main/default/classes/MultiInheritanceClass.cls +1 -0
  68. package/examples/vitepress/force-app/main/default/classes/ParentInterface.cls +3 -0
  69. package/examples/vitepress/force-app/main/default/classes/ReferencedEnum.cls +5 -0
  70. package/examples/vitepress/force-app/main/default/classes/SampleClass.cls +72 -0
  71. package/examples/vitepress/force-app/main/default/classes/SampleEnum.cls +30 -0
  72. package/examples/vitepress/force-app/main/default/classes/SampleException.cls +17 -0
  73. package/examples/vitepress/force-app/main/default/classes/SampleInterface.cls +46 -0
  74. package/examples/vitepress/force-app/main/default/classes/Url.cls +198 -0
  75. package/examples/vitepress/package-lock.json +2574 -0
  76. package/examples/vitepress/package.json +18 -0
  77. package/examples/vitepress/sfdx-project.json +12 -0
  78. package/jest.config.js +6 -1
  79. package/jest.d.ts +7 -0
  80. package/package.json +34 -36
  81. package/src/application/Apexdocs.ts +58 -68
  82. package/src/application/__tests__/apex-file-reader.spec.ts +104 -0
  83. package/src/application/apex-file-reader.ts +55 -0
  84. package/src/application/file-system.ts +69 -0
  85. package/src/application/file-writer.ts +43 -0
  86. package/src/application/generators/markdown.ts +45 -0
  87. package/src/application/generators/openapi.ts +60 -0
  88. package/src/cli/args.ts +43 -0
  89. package/src/cli/commands/markdown.ts +53 -0
  90. package/src/cli/generate.ts +10 -131
  91. package/src/core/manifest.ts +90 -0
  92. package/src/core/markdown/__test__/expect-extensions.ts +32 -0
  93. package/src/core/markdown/__test__/generating-class-docs.spec.ts +733 -0
  94. package/src/core/markdown/__test__/generating-enum-docs.spec.ts +385 -0
  95. package/src/core/markdown/__test__/generating-interface-docs.spec.ts +461 -0
  96. package/src/core/markdown/__test__/generating-reference-guide.spec.ts +180 -0
  97. package/src/core/markdown/__test__/inheritance-chain.test.ts +54 -0
  98. package/src/core/markdown/__test__/test-helpers.ts +23 -0
  99. package/src/core/markdown/adapters/__tests__/documentables.spec.ts +109 -0
  100. package/src/core/markdown/adapters/__tests__/interface-adapter.spec.ts +148 -0
  101. package/src/core/markdown/adapters/__tests__/link-generator.spec.ts +130 -0
  102. package/src/core/markdown/adapters/__tests__/references.spec.ts +136 -0
  103. package/src/core/markdown/adapters/apex-types.ts +238 -0
  104. package/src/core/markdown/adapters/documentables.ts +115 -0
  105. package/src/core/markdown/adapters/fields-and-properties.ts +45 -0
  106. package/src/core/markdown/adapters/generate-link.ts +82 -0
  107. package/src/core/markdown/adapters/inline.ts +143 -0
  108. package/src/core/markdown/adapters/methods-and-constructors.ts +133 -0
  109. package/src/core/markdown/adapters/reference-guide.ts +37 -0
  110. package/src/core/markdown/adapters/renderable-bundle.ts +61 -0
  111. package/src/core/markdown/adapters/renderable-to-page-data.ts +89 -0
  112. package/src/core/markdown/adapters/type-utils.ts +13 -0
  113. package/src/core/markdown/adapters/types.d.ts +180 -0
  114. package/src/core/markdown/generate-docs.ts +212 -0
  115. package/src/core/markdown/reflection/filter-scope.ts +13 -0
  116. package/src/core/markdown/reflection/inheritance-chain-expanion.ts +22 -0
  117. package/src/core/markdown/reflection/inheritance-chain.ts +23 -0
  118. package/src/core/markdown/reflection/inherited-member-expansion.ts +105 -0
  119. package/src/core/markdown/reflection/reflect-source.ts +123 -0
  120. package/src/core/markdown/reflection/sort-members.ts +59 -0
  121. package/src/core/markdown/templates/class-template.ts +75 -0
  122. package/src/core/markdown/templates/constructors-partial-template.ts +32 -0
  123. package/src/core/markdown/templates/documentable-partial-template.ts +26 -0
  124. package/src/core/markdown/templates/enum-template.ts +12 -0
  125. package/src/core/markdown/templates/fieldsPartialTemplate.ts +23 -0
  126. package/src/core/markdown/templates/grouped-members-partial-template.ts +6 -0
  127. package/src/core/markdown/templates/hookable.ts +7 -0
  128. package/src/core/markdown/templates/interface-template.ts +16 -0
  129. package/src/core/markdown/templates/methods-partial-template.ts +43 -0
  130. package/src/core/markdown/templates/reference-guide.ts +14 -0
  131. package/src/core/markdown/templates/template.ts +114 -0
  132. package/src/core/markdown/templates/type-doc-partial.ts +27 -0
  133. package/src/core/markdown/utils.ts +3 -0
  134. package/src/{service → core/openapi}/__tests__/manifest-factory.spec.ts +1 -2
  135. package/src/{transpiler → core}/openapi/__tests__/open-api-docs-processor.spec.ts +1 -1
  136. package/src/{model → core/openapi}/apex-type-wrappers/__tests__/ClassMirrorWrapper.spec.ts +3 -3
  137. package/src/core/openapi/file-container.ts +13 -0
  138. package/src/{service → core/openapi}/manifest-factory.ts +3 -3
  139. package/src/{transpiler → core}/openapi/open-api-docs-processor.ts +10 -11
  140. package/src/{model → core}/openapi/open-api-types.ts +2 -2
  141. package/src/core/openapi/openapi-type-file.ts +12 -0
  142. package/src/{service → core/openapi}/parser.ts +7 -21
  143. package/src/{transpiler → core}/openapi/parsers/Builder.ts +3 -3
  144. package/src/{transpiler → core}/openapi/parsers/MethodParser.ts +6 -6
  145. package/src/{transpiler → core}/openapi/parsers/ParameterObjectBuilder.ts +2 -2
  146. package/src/{transpiler → core}/openapi/parsers/ReferenceBuilder.ts +7 -6
  147. package/src/{transpiler → core}/openapi/parsers/RequestBodyBuilder.ts +2 -2
  148. package/src/{transpiler → core}/openapi/parsers/ResponsesBuilder.ts +2 -2
  149. package/src/{transpiler → core}/openapi/parsers/__tests__/MethodParser.spec.ts +1 -1
  150. package/src/{transpiler → core}/openapi/parsers/__tests__/ParameterObjectBuilder.spec.ts +2 -2
  151. package/src/{transpiler → core}/openapi/parsers/__tests__/ReferenceBuilder.spec.ts +2 -2
  152. package/src/{transpiler → core}/openapi/parsers/__tests__/RequestBodyBuilder.spec.ts +2 -2
  153. package/src/{transpiler → core}/openapi/parsers/__tests__/ResponsesBuilder.spec.ts +1 -1
  154. package/src/{transpiler → core/openapi}/transpiler.ts +2 -6
  155. package/src/{model → core/openapi}/types-repository.ts +0 -9
  156. package/src/core/parse-apex-metadata.ts +30 -0
  157. package/src/core/settings.ts +56 -0
  158. package/src/core/shared/types.d.ts +147 -0
  159. package/src/core/shared/utils.ts +5 -0
  160. package/src/defaults.ts +9 -0
  161. package/src/index.ts +36 -1
  162. package/src/test-helpers/ClassMirrorBuilder.ts +14 -1
  163. package/src/test-helpers/FieldMirrorBuilder.ts +1 -1
  164. package/src/test-helpers/InterfaceMirrorBuilder.ts +39 -0
  165. package/src/test-helpers/MethodMirrorBuilder.ts +46 -6
  166. package/src/test-helpers/SettingsBuilder.ts +1 -4
  167. package/src/util/error-logger.ts +4 -4
  168. package/src/util/fp.ts +3 -0
  169. package/src/util/logger.ts +12 -25
  170. package/src/util/string-utils.ts +0 -4
  171. package/tsconfig.json +8 -3
  172. package/.eslintrc.js +0 -12
  173. package/apexdocs.config.ts +0 -13
  174. package/docs/.nojekyll +0 -0
  175. package/docs/README.md +0 -1
  176. package/docs/index.html +0 -22
  177. package/docs/restapi.json +0 -589
  178. package/docs/types/Classes/nspc.AnotherInterface.md +0 -22
  179. package/docs/types/Classes/nspc.ChildClass.md +0 -97
  180. package/docs/types/Main/nspc.GroupedClass.md +0 -10
  181. package/docs/types/Main/nspc.SampleClass.md +0 -190
  182. package/docs/types/Misc-Group/nspc.EscapedAnnotations.md +0 -4
  183. package/docs/types/Misc-Group/nspc.GrandparentClass.md +0 -13
  184. package/docs/types/Misc-Group/nspc.InterfaceWithInheritance.md +0 -29
  185. package/docs/types/Misc-Group/nspc.MemberGrouping.md +0 -13
  186. package/docs/types/Misc-Group/nspc.ParentClass.md +0 -37
  187. package/docs/types/Misc-Group/nspc.Reference1.md +0 -18
  188. package/docs/types/Misc-Group/nspc.Reference2.md +0 -12
  189. package/docs/types/Misc-Group/nspc.Reference3.md +0 -7
  190. package/docs/types/Misc-Group/nspc.Reference4.md +0 -7
  191. package/docs/types/Misc-Group/nspc.Reference5.md +0 -7
  192. package/docs/types/Misc-Group/nspc.Reference6.md +0 -9
  193. package/docs/types/Misc-Group/nspc.Reference7.md +0 -7
  194. package/docs/types/Misc-Group/nspc.SampleClassWithoutModifier.md +0 -11
  195. package/docs/types/Misc-Group/nspc.SampleRestResource.md +0 -211
  196. package/docs/types/Misc-Group/nspc.SampleRestResourceWithInnerClass.md +0 -34
  197. package/docs/types/Misc-Group/nspc.SampleRestResourceWithoutApexDocs.md +0 -14
  198. package/docs/types/README.md +0 -97
  199. package/docs/types/Sample-Interfaces/nspc.SampleInterface.md +0 -23
  200. package/examples/includes/header.md +0 -3
  201. package/lib/application/Apexdocs.d.ts +0 -13
  202. package/lib/application/Apexdocs.js +0 -77
  203. package/lib/application/Apexdocs.js.map +0 -1
  204. package/lib/cli/generate.d.ts +0 -2
  205. package/lib/cli/generate.js +0 -131
  206. package/lib/cli/generate.js.map +0 -1
  207. package/lib/index.d.ts +0 -1
  208. package/lib/index.js +0 -18
  209. package/lib/index.js.map +0 -1
  210. package/lib/model/apex-bundle.d.ts +0 -6
  211. package/lib/model/apex-bundle.js +0 -11
  212. package/lib/model/apex-bundle.js.map +0 -1
  213. package/lib/model/apex-type-wrappers/ClassMirrorWrapper.d.ts +0 -7
  214. package/lib/model/apex-type-wrappers/ClassMirrorWrapper.js +0 -14
  215. package/lib/model/apex-type-wrappers/ClassMirrorWrapper.js.map +0 -1
  216. package/lib/model/apex-type-wrappers/MethodMirrorWrapper.d.ts +0 -7
  217. package/lib/model/apex-type-wrappers/MethodMirrorWrapper.js +0 -12
  218. package/lib/model/apex-type-wrappers/MethodMirrorWrapper.js.map +0 -1
  219. package/lib/model/inheritance.d.ts +0 -8
  220. package/lib/model/inheritance.js +0 -3
  221. package/lib/model/inheritance.js.map +0 -1
  222. package/lib/model/manifest-diff.d.ts +0 -27
  223. package/lib/model/manifest-diff.js +0 -69
  224. package/lib/model/manifest-diff.js.map +0 -1
  225. package/lib/model/manifest.d.ts +0 -22
  226. package/lib/model/manifest.js +0 -47
  227. package/lib/model/manifest.js.map +0 -1
  228. package/lib/model/markdown-file.d.ts +0 -16
  229. package/lib/model/markdown-file.js +0 -107
  230. package/lib/model/markdown-file.js.map +0 -1
  231. package/lib/model/markdown-generation-util/doc-comment-annotation-util.d.ts +0 -8
  232. package/lib/model/markdown-generation-util/doc-comment-annotation-util.js +0 -44
  233. package/lib/model/markdown-generation-util/doc-comment-annotation-util.js.map +0 -1
  234. package/lib/model/markdown-generation-util/field-declaration-util.d.ts +0 -3
  235. package/lib/model/markdown-generation-util/field-declaration-util.js +0 -55
  236. package/lib/model/markdown-generation-util/field-declaration-util.js.map +0 -1
  237. package/lib/model/markdown-generation-util/index.d.ts +0 -3
  238. package/lib/model/markdown-generation-util/index.js +0 -20
  239. package/lib/model/markdown-generation-util/index.js.map +0 -1
  240. package/lib/model/markdown-generation-util/method-declaration-util.d.ts +0 -4
  241. package/lib/model/markdown-generation-util/method-declaration-util.js +0 -115
  242. package/lib/model/markdown-generation-util/method-declaration-util.js.map +0 -1
  243. package/lib/model/markdown-generation-util/type-declaration-util.d.ts +0 -3
  244. package/lib/model/markdown-generation-util/type-declaration-util.js +0 -82
  245. package/lib/model/markdown-generation-util/type-declaration-util.js.map +0 -1
  246. package/lib/model/markdown-home-file.d.ts +0 -11
  247. package/lib/model/markdown-home-file.js +0 -54
  248. package/lib/model/markdown-home-file.js.map +0 -1
  249. package/lib/model/markdown-type-file.d.ts +0 -26
  250. package/lib/model/markdown-type-file.js +0 -134
  251. package/lib/model/markdown-type-file.js.map +0 -1
  252. package/lib/model/openapi/apex-doc-types.d.ts +0 -19
  253. package/lib/model/openapi/apex-doc-types.js +0 -5
  254. package/lib/model/openapi/apex-doc-types.js.map +0 -1
  255. package/lib/model/openapi/open-api-types.d.ts +0 -93
  256. package/lib/model/openapi/open-api-types.js +0 -3
  257. package/lib/model/openapi/open-api-types.js.map +0 -1
  258. package/lib/model/openapi/open-api.d.ts +0 -16
  259. package/lib/model/openapi/open-api.js +0 -34
  260. package/lib/model/openapi/open-api.js.map +0 -1
  261. package/lib/model/openapi/openapi-type-file.d.ts +0 -7
  262. package/lib/model/openapi/openapi-type-file.js +0 -17
  263. package/lib/model/openapi/openapi-type-file.js.map +0 -1
  264. package/lib/model/outputFile.d.ts +0 -10
  265. package/lib/model/outputFile.js +0 -29
  266. package/lib/model/outputFile.js.map +0 -1
  267. package/lib/model/types-repository.d.ts +0 -16
  268. package/lib/model/types-repository.js +0 -54
  269. package/lib/model/types-repository.js.map +0 -1
  270. package/lib/service/apex-file-reader.d.ts +0 -14
  271. package/lib/service/apex-file-reader.js +0 -46
  272. package/lib/service/apex-file-reader.js.map +0 -1
  273. package/lib/service/file-system.d.ts +0 -14
  274. package/lib/service/file-system.js +0 -25
  275. package/lib/service/file-system.js.map +0 -1
  276. package/lib/service/file-writer.d.ts +0 -6
  277. package/lib/service/file-writer.js +0 -34
  278. package/lib/service/file-writer.js.map +0 -1
  279. package/lib/service/manifest-factory.d.ts +0 -10
  280. package/lib/service/manifest-factory.js +0 -14
  281. package/lib/service/manifest-factory.js.map +0 -1
  282. package/lib/service/metadata-processor.d.ts +0 -3
  283. package/lib/service/metadata-processor.js +0 -17
  284. package/lib/service/metadata-processor.js.map +0 -1
  285. package/lib/service/parser.d.ts +0 -21
  286. package/lib/service/parser.js +0 -135
  287. package/lib/service/parser.js.map +0 -1
  288. package/lib/service/state.d.ts +0 -9
  289. package/lib/service/state.js +0 -20
  290. package/lib/service/state.js.map +0 -1
  291. package/lib/service/walkers/class-walker.d.ts +0 -4
  292. package/lib/service/walkers/class-walker.js +0 -33
  293. package/lib/service/walkers/class-walker.js.map +0 -1
  294. package/lib/service/walkers/enum-walker.d.ts +0 -4
  295. package/lib/service/walkers/enum-walker.js +0 -11
  296. package/lib/service/walkers/enum-walker.js.map +0 -1
  297. package/lib/service/walkers/interface-walker.d.ts +0 -4
  298. package/lib/service/walkers/interface-walker.js +0 -15
  299. package/lib/service/walkers/interface-walker.js.map +0 -1
  300. package/lib/service/walkers/walker-factory.d.ts +0 -5
  301. package/lib/service/walkers/walker-factory.js +0 -21
  302. package/lib/service/walkers/walker-factory.js.map +0 -1
  303. package/lib/service/walkers/walker.d.ts +0 -19
  304. package/lib/service/walkers/walker.js +0 -17
  305. package/lib/service/walkers/walker.js.map +0 -1
  306. package/lib/settings.d.ts +0 -64
  307. package/lib/settings.js +0 -89
  308. package/lib/settings.js.map +0 -1
  309. package/lib/test-helpers/AnnotationBuilder.d.ts +0 -12
  310. package/lib/test-helpers/AnnotationBuilder.js +0 -31
  311. package/lib/test-helpers/AnnotationBuilder.js.map +0 -1
  312. package/lib/test-helpers/ClassMirrorBuilder.d.ts +0 -18
  313. package/lib/test-helpers/ClassMirrorBuilder.js +0 -54
  314. package/lib/test-helpers/ClassMirrorBuilder.js.map +0 -1
  315. package/lib/test-helpers/DocCommentAnnotationBuilder.d.ts +0 -8
  316. package/lib/test-helpers/DocCommentAnnotationBuilder.js +0 -26
  317. package/lib/test-helpers/DocCommentAnnotationBuilder.js.map +0 -1
  318. package/lib/test-helpers/DocCommentBuilder.d.ts +0 -12
  319. package/lib/test-helpers/DocCommentBuilder.js +0 -38
  320. package/lib/test-helpers/DocCommentBuilder.js.map +0 -1
  321. package/lib/test-helpers/FieldMirrorBuilder.d.ts +0 -18
  322. package/lib/test-helpers/FieldMirrorBuilder.js +0 -54
  323. package/lib/test-helpers/FieldMirrorBuilder.js.map +0 -1
  324. package/lib/test-helpers/MethodMirrorBuilder.d.ts +0 -10
  325. package/lib/test-helpers/MethodMirrorBuilder.js +0 -37
  326. package/lib/test-helpers/MethodMirrorBuilder.js.map +0 -1
  327. package/lib/test-helpers/SettingsBuilder.d.ts +0 -8
  328. package/lib/test-helpers/SettingsBuilder.js +0 -27
  329. package/lib/test-helpers/SettingsBuilder.js.map +0 -1
  330. package/lib/transpiler/factory.d.ts +0 -6
  331. package/lib/transpiler/factory.js +0 -32
  332. package/lib/transpiler/factory.js.map +0 -1
  333. package/lib/transpiler/file-container.d.ts +0 -6
  334. package/lib/transpiler/file-container.js +0 -16
  335. package/lib/transpiler/file-container.js.map +0 -1
  336. package/lib/transpiler/generator-choices.d.ts +0 -1
  337. package/lib/transpiler/generator-choices.js +0 -3
  338. package/lib/transpiler/generator-choices.js.map +0 -1
  339. package/lib/transpiler/markdown/class-file-generatorHelper.d.ts +0 -8
  340. package/lib/transpiler/markdown/class-file-generatorHelper.js +0 -56
  341. package/lib/transpiler/markdown/class-file-generatorHelper.js.map +0 -1
  342. package/lib/transpiler/markdown/docsify/docsify-docs-processor.d.ts +0 -6
  343. package/lib/transpiler/markdown/docsify/docsify-docs-processor.js +0 -13
  344. package/lib/transpiler/markdown/docsify/docsify-docs-processor.js.map +0 -1
  345. package/lib/transpiler/markdown/jekyll/jekyll-docsProcessor.d.ts +0 -11
  346. package/lib/transpiler/markdown/jekyll/jekyll-docsProcessor.js +0 -51
  347. package/lib/transpiler/markdown/jekyll/jekyll-docsProcessor.js.map +0 -1
  348. package/lib/transpiler/markdown/markdown-transpiler-base.d.ts +0 -11
  349. package/lib/transpiler/markdown/markdown-transpiler-base.js +0 -24
  350. package/lib/transpiler/markdown/markdown-transpiler-base.js.map +0 -1
  351. package/lib/transpiler/markdown/plain-markdown/plain-docsProcessor.d.ts +0 -6
  352. package/lib/transpiler/markdown/plain-markdown/plain-docsProcessor.js +0 -14
  353. package/lib/transpiler/markdown/plain-markdown/plain-docsProcessor.js.map +0 -1
  354. package/lib/transpiler/openapi/open-api-docs-processor.d.ts +0 -13
  355. package/lib/transpiler/openapi/open-api-docs-processor.js +0 -75
  356. package/lib/transpiler/openapi/open-api-docs-processor.js.map +0 -1
  357. package/lib/transpiler/openapi/parsers/Builder.d.ts +0 -16
  358. package/lib/transpiler/openapi/parsers/Builder.js +0 -30
  359. package/lib/transpiler/openapi/parsers/Builder.js.map +0 -1
  360. package/lib/transpiler/openapi/parsers/MethodParser.d.ts +0 -20
  361. package/lib/transpiler/openapi/parsers/MethodParser.js +0 -167
  362. package/lib/transpiler/openapi/parsers/MethodParser.js.map +0 -1
  363. package/lib/transpiler/openapi/parsers/ParameterObjectBuilder.d.ts +0 -7
  364. package/lib/transpiler/openapi/parsers/ParameterObjectBuilder.js +0 -11
  365. package/lib/transpiler/openapi/parsers/ParameterObjectBuilder.js.map +0 -1
  366. package/lib/transpiler/openapi/parsers/ReferenceBuilder.d.ts +0 -39
  367. package/lib/transpiler/openapi/parsers/ReferenceBuilder.js +0 -226
  368. package/lib/transpiler/openapi/parsers/ReferenceBuilder.js.map +0 -1
  369. package/lib/transpiler/openapi/parsers/RequestBodyBuilder.d.ts +0 -10
  370. package/lib/transpiler/openapi/parsers/RequestBodyBuilder.js +0 -20
  371. package/lib/transpiler/openapi/parsers/RequestBodyBuilder.js.map +0 -1
  372. package/lib/transpiler/openapi/parsers/ResponsesBuilder.d.ts +0 -7
  373. package/lib/transpiler/openapi/parsers/ResponsesBuilder.js +0 -22
  374. package/lib/transpiler/openapi/parsers/ResponsesBuilder.js.map +0 -1
  375. package/lib/transpiler/processor-type-transpiler.d.ts +0 -10
  376. package/lib/transpiler/processor-type-transpiler.js +0 -9
  377. package/lib/transpiler/processor-type-transpiler.js.map +0 -1
  378. package/lib/transpiler/transpiler.d.ts +0 -5
  379. package/lib/transpiler/transpiler.js +0 -27
  380. package/lib/transpiler/transpiler.js.map +0 -1
  381. package/lib/util/error-logger.d.ts +0 -8
  382. package/lib/util/error-logger.js +0 -90
  383. package/lib/util/error-logger.js.map +0 -1
  384. package/lib/util/logger.d.ts +0 -21
  385. package/lib/util/logger.js +0 -58
  386. package/lib/util/logger.js.map +0 -1
  387. package/lib/util/string-utils.d.ts +0 -2
  388. package/lib/util/string-utils.js +0 -15
  389. package/lib/util/string-utils.js.map +0 -1
  390. package/src/model/__tests__/manifest-diff.spec.ts +0 -147
  391. package/src/model/apex-bundle.ts +0 -3
  392. package/src/model/inheritance.ts +0 -7
  393. package/src/model/manifest-diff.ts +0 -94
  394. package/src/model/manifest.ts +0 -74
  395. package/src/model/markdown-file.ts +0 -121
  396. package/src/model/markdown-generation-util/doc-comment-annotation-util.ts +0 -50
  397. package/src/model/markdown-generation-util/field-declaration-util.ts +0 -71
  398. package/src/model/markdown-generation-util/index.ts +0 -3
  399. package/src/model/markdown-generation-util/method-declaration-util.ts +0 -166
  400. package/src/model/markdown-generation-util/type-declaration-util.ts +0 -91
  401. package/src/model/markdown-home-file.ts +0 -58
  402. package/src/model/markdown-type-file.ts +0 -165
  403. package/src/model/openapi/openapi-type-file.ts +0 -14
  404. package/src/model/outputFile.ts +0 -29
  405. package/src/service/__tests__/apex-file-reader.spec.ts +0 -92
  406. package/src/service/apex-file-reader.ts +0 -51
  407. package/src/service/file-system.ts +0 -33
  408. package/src/service/file-writer.ts +0 -34
  409. package/src/service/metadata-processor.ts +0 -16
  410. package/src/service/state.ts +0 -24
  411. package/src/service/walkers/class-walker.ts +0 -30
  412. package/src/service/walkers/enum-walker.ts +0 -7
  413. package/src/service/walkers/interface-walker.ts +0 -12
  414. package/src/service/walkers/walker-factory.ts +0 -19
  415. package/src/service/walkers/walker.ts +0 -42
  416. package/src/settings.ts +0 -147
  417. package/src/transpiler/factory.ts +0 -33
  418. package/src/transpiler/file-container.ts +0 -13
  419. package/src/transpiler/generator-choices.ts +0 -1
  420. package/src/transpiler/markdown/class-file-generatorHelper.ts +0 -58
  421. package/src/transpiler/markdown/docsify/docsify-docs-processor.ts +0 -12
  422. package/src/transpiler/markdown/jekyll/jekyll-docsProcessor.ts +0 -50
  423. package/src/transpiler/markdown/markdown-transpiler-base.ts +0 -28
  424. package/src/transpiler/markdown/plain-markdown/plain-docsProcessor.ts +0 -12
  425. package/src/transpiler/processor-type-transpiler.ts +0 -18
  426. /package/src/{model/__tests__ → core/__test__}/manifest.spec.ts +0 -0
  427. /package/src/{model → core}/openapi/__tests__/open-api.spec.ts +0 -0
  428. /package/src/{model → core}/openapi/apex-doc-types.ts +0 -0
  429. /package/src/{model → core/openapi}/apex-type-wrappers/ClassMirrorWrapper.ts +0 -0
  430. /package/src/{model → core/openapi}/apex-type-wrappers/MethodMirrorWrapper.ts +0 -0
  431. /package/src/{model → core}/openapi/open-api.ts +0 -0
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ const defaults = {
4
+ targetGenerator: "markdown",
5
+ targetDir: "./docs/",
6
+ scope: ["global"],
7
+ defaultGroupName: "Miscellaneous",
8
+ includeMetadata: false,
9
+ sortMembersAlphabetically: false,
10
+ linkingStrategy: "relative"
11
+ };
12
+
13
+ exports.defaults = defaults;
@@ -0,0 +1,117 @@
1
+ import { SetOptional } from 'type-fest';
2
+
3
+ /**
4
+ * The configurable hooks that can be used to modify the output of the generator.
5
+ */
6
+ type ConfigurableHooks = {
7
+ transformReferenceGuide: TransformReferenceGuide;
8
+ transformDocs: TransformDocs;
9
+ transformDocPage: TransformDocPage;
10
+ transformReference: TransformReference;
11
+ };
12
+
13
+ type LinkingStrategy =
14
+ // Links will be generated using relative paths.
15
+ | 'relative'
16
+ // No links will be generated.
17
+ // If the reference is found, the display name will be used.
18
+ // Otherwise, the name
19
+ // of the reference itself will be used.
20
+ | 'no-link'
21
+ // No logic will be applied, the reference path will be used as is.
22
+ | 'none';
23
+
24
+ type UserDefinedMarkdownConfig = {
25
+ targetGenerator: 'markdown';
26
+ sourceDir: string;
27
+ targetDir: string;
28
+ scope: string[];
29
+ defaultGroupName: string;
30
+ namespace?: string;
31
+ sortMembersAlphabetically: boolean;
32
+ includeMetadata: boolean;
33
+ linkingStrategy: LinkingStrategy;
34
+ } & Partial<ConfigurableHooks>;
35
+
36
+ type SourceFileMetadata = {
37
+ filePath: string;
38
+ name: string;
39
+ type: 'interface' | 'class' | 'enum';
40
+ };
41
+
42
+ type DocPageReference = {
43
+ source: SourceFileMetadata;
44
+ // The name under which the type should be displayed in the documentation.
45
+ // By default, this will match the source.name, but it can be configured by the user.
46
+ displayName: string;
47
+ // The location where the file will be written.
48
+ outputDocPath: string;
49
+ // The path to the file relative to the documentation root directory. This is used when linking to the file.
50
+ // Usually the value will be the same as outputDocPath. However, some site generators may have a different way of
51
+ // organizing the files, so this allows for the flexibility of having a path from linking that is different from
52
+ // the path where the file is written.
53
+ referencePath: string;
54
+ };
55
+
56
+ type Frontmatter = string | Record<string, unknown> | null;
57
+
58
+ type ReferenceGuidePageData = {
59
+ frontmatter: Frontmatter;
60
+ content: string;
61
+ outputDocPath: string;
62
+ };
63
+
64
+ type DocPageData = {
65
+ source: SourceFileMetadata;
66
+ group: string | null;
67
+ outputDocPath: string;
68
+ frontmatter: Frontmatter;
69
+ content: string;
70
+ };
71
+
72
+ /**
73
+ * Represents a file to be skipped.
74
+ */
75
+ type Skip = {
76
+ readonly _tag: 'Skip';
77
+ };
78
+
79
+ // Configurable Hooks
80
+
81
+ type ConfigurableDocPageReference = Omit<DocPageReference, 'source'>;
82
+
83
+ type ConfigurableDocPageData = Omit<DocPageData, 'source' | 'outputDocPath'>;
84
+
85
+ /**
86
+ * Allows changing where the files are written to.
87
+ */
88
+ type TransformReference = (
89
+ reference: DocPageReference,
90
+ ) => Partial<ConfigurableDocPageReference> | Promise<ConfigurableDocPageReference>;
91
+
92
+ /**
93
+ * Allows changing the frontmatter and content of the reference guide, or even if creating a reference
94
+ * guide will be skipped altogether.
95
+ */
96
+ type TransformReferenceGuide = (
97
+ referenceGuide: ReferenceGuidePageData,
98
+ ) => Partial<ReferenceGuidePageData> | Skip | Promise<Partial<ReferenceGuidePageData> | Skip>;
99
+
100
+ /**
101
+ * The main purpose if for allowing for doc pages to be skipped, but it can also be used to change the frontmatter
102
+ * and content of the doc pages.
103
+ */
104
+ type TransformDocs = (docs: DocPageData[]) => DocPageData[] | Promise<DocPageData[]>;
105
+
106
+ /**
107
+ * Allows changing the frontmatter and content of the doc pages.
108
+ */
109
+ type TransformDocPage = (
110
+ doc: DocPageData,
111
+ ) => Partial<ConfigurableDocPageData> | Promise<Partial<ConfigurableDocPageData>>;
112
+
113
+ type ConfigurableMarkdownConfig = Omit<SetOptional<UserDefinedMarkdownConfig, 'targetDir' | 'scope' | 'defaultGroupName' | 'includeMetadata' | 'sortMembersAlphabetically' | 'linkingStrategy'>, 'targetGenerator'>;
114
+ declare function defineMarkdownConfig(config: ConfigurableMarkdownConfig): UserDefinedMarkdownConfig;
115
+ declare function skip(): Skip;
116
+
117
+ export { type ConfigurableHooks, type DocPageData, type DocPageReference, type ReferenceGuidePageData, defineMarkdownConfig, skip };
package/dist/index.js ADDED
@@ -0,0 +1,36 @@
1
+ 'use strict';
2
+
3
+ var defaults = require('./defaults-DGKfeZq-.js');
4
+
5
+ var __defProp = Object.defineProperty;
6
+ var __defProps = Object.defineProperties;
7
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
8
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
+ var __spreadValues = (a, b) => {
13
+ for (var prop in b || (b = {}))
14
+ if (__hasOwnProp.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ if (__getOwnPropSymbols)
17
+ for (var prop of __getOwnPropSymbols(b)) {
18
+ if (__propIsEnum.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ }
21
+ return a;
22
+ };
23
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
+ function defineMarkdownConfig(config) {
25
+ return __spreadProps(__spreadValues(__spreadValues({}, defaults.defaults), config), {
26
+ targetGenerator: "markdown"
27
+ });
28
+ }
29
+ function skip() {
30
+ return {
31
+ _tag: "Skip"
32
+ };
33
+ }
34
+
35
+ exports.defineMarkdownConfig = defineMarkdownConfig;
36
+ exports.skip = skip;
@@ -0,0 +1,10 @@
1
+ // @ts-check
2
+
3
+ import eslint from '@eslint/js';
4
+ import tseslint from 'typescript-eslint';
5
+ import eslintConfigPrettier from "eslint-config-prettier";
6
+
7
+ export default tseslint.config(
8
+ eslint.configs.recommended,
9
+ ...tseslint.configs.recommended,
10
+ eslintConfigPrettier);
@@ -0,0 +1,12 @@
1
+ # List files or directories below to ignore them when running force:source:push, force:source:pull, and force:source:status
2
+ # More information: https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_exclude_source.htm
3
+ #
4
+
5
+ package.xml
6
+
7
+ # LWC configuration files
8
+ **/jsconfig.json
9
+ **/.eslintrc.json
10
+
11
+ # LWC Jest
12
+ **/__tests__/**
@@ -0,0 +1,5 @@
1
+ {
2
+ "orgName": "cesarparra company",
3
+ "edition": "Developer",
4
+ "features": []
5
+ }
@@ -0,0 +1,109 @@
1
+ # Apex Reference Guide
2
+
3
+ ## Miscellaneous
4
+
5
+ ### [BaseClass](miscellaneous/BaseClass.md)
6
+
7
+ ### [MultiInheritanceClass](miscellaneous/MultiInheritanceClass.md)
8
+
9
+ ### [ParentInterface](miscellaneous/ParentInterface.md)
10
+
11
+ ### [ReferencedEnum](miscellaneous/ReferencedEnum.md)
12
+
13
+ ### [SampleException](miscellaneous/SampleException.md)
14
+
15
+ This is a sample exception.
16
+
17
+ ### [SampleInterface](miscellaneous/SampleInterface.md)
18
+
19
+ This is a sample interface
20
+
21
+ ### [Url](miscellaneous/Url.md)
22
+
23
+ Represents a uniform resource locator (URL) and provides access to parts of the URL.
24
+ Enables access to the base URL used to access your Salesforce org.
25
+
26
+ ## Usage
27
+ Use the methods of the `System.URL` class to create links to objects in your organization. Such objects can be files, images,
28
+ logos, or records that you want to include in external emails, in activities, or in Chatter posts. For example, you can create
29
+ a link to a file uploaded as an attachment to a Chatter post by concatenating the Salesforce base URL with the file ID:
30
+
31
+ ```apex
32
+ // Get a file uploaded through Chatter.
33
+ ContentDocument doc = [SELECT Id FROM ContentDocument
34
+ WHERE Title = 'myfile'];
35
+ // Create a link to the file.
36
+ String fullFileURL = URL.getOrgDomainURL().toExternalForm() +
37
+ '/' + doc.id;
38
+ system.debug(fullFileURL);
39
+ ```
40
+
41
+
42
+ The following example creates a link to a Salesforce record. The full URL is created by concatenating the Salesforce base
43
+ URL with the record ID.
44
+
45
+ ```ape
46
+ Account acct = [SELECT Id FROM Account WHERE Name = 'Acme' LIMIT 1];
47
+ String fullRecordURL = URL.getOrgDomainURL().toExternalForm() + '/' + acct.Id;
48
+ ```
49
+
50
+
51
+ ## Example
52
+ In this example, the base URL and the full request URL of the current Salesforce server instance are retrieved. Next, a URL
53
+ pointing to a specific account object is created. Finally, components of the base and full URL are obtained. This example
54
+ prints out all the results to the debug log output.
55
+
56
+ ```apex
57
+ // Create a new account called Acme that we will create a link for later.
58
+ Account myAccount = new Account(Name='Acme');
59
+ insert myAccount;
60
+
61
+ // Get the base URL.
62
+ String sfdcBaseURL = URL.getOrgDomainURL().toExternalForm();
63
+ System.debug('Base URL: ' + sfdcBaseURL );
64
+
65
+ // Get the URL for the current request.
66
+ String currentRequestURL = URL.getCurrentRequestUrl().toExternalForm();
67
+ System.debug('Current request URL: ' + currentRequestURL);
68
+
69
+ // Create the account URL from the base URL.
70
+ String accountURL = URL.getOrgDomainURL().toExternalForm() +
71
+ '/' + myAccount.Id;
72
+ System.debug('URL of a particular account: ' + accountURL);
73
+
74
+ // Get some parts of the base URL.
75
+ System.debug('Host: ' + URL.getOrgDomainURL().getHost());
76
+ System.debug('Protocol: ' + URL.getOrgDomainURL().getProtocol());
77
+
78
+ // Get the query string of the current request.
79
+ System.debug('Query: ' + URL.getCurrentRequestUrl().getQuery());
80
+ ```
81
+
82
+
83
+ ## Version Behavior Changes
84
+ In API version 41.0 and later, Apex URL objects are represented by the java.net.URI type, not the java.net.URL type.
85
+ The API version in which the URL object was instantiated determines the behavior of subsequent method calls to the
86
+ specific instance. Salesforce strongly encourages you to use API 41.0 and later versions for fully RFC-compliant URL
87
+ parsing that includes proper handling of edge cases of complex URL structures. API 41.0 and later versions also enforce
88
+ that inputs are valid, RFC-compliant URL or URI strings.
89
+
90
+ * [URL Constructors](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_methods_system_url.htm#apex_System_URL_constructors)
91
+ * [URL Methods](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_methods_system_url.htm#apex_System_URL_methods)
92
+
93
+ **See Also**
94
+ * [URL Class](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_classes_url.htm)
95
+
96
+ ## Sample Enums
97
+
98
+ ### [SampleEnum](sample-enums/SampleEnum.md)
99
+
100
+ This is a sample enum. This references [ReferencedEnum](miscellaneous/ReferencedEnum.md) .
101
+
102
+ This description has several lines
103
+
104
+ ## SampleGroup
105
+
106
+ ### [SampleClass](samplegroup/SampleClass.md)
107
+
108
+ aliquip ex sunt officia ullamco anim deserunt magna aliquip nisi eiusmod in sit officia veniam ex
109
+ deserunt ea officia exercitation laboris enim in duis quis enim eiusmod eu amet cupidatat.
@@ -0,0 +1,16 @@
1
+ # BaseClass Class
2
+ `abstract`
3
+
4
+ ## Namespace
5
+ ns
6
+
7
+ ## Fields
8
+ ### `sampleEnumFromBase`
9
+
10
+ #### Signature
11
+ ```apex
12
+ public sampleEnumFromBase
13
+ ```
14
+
15
+ #### Type
16
+ [SampleEnum](../sample-enums/SampleEnum.md)
@@ -0,0 +1,72 @@
1
+ # MultiInheritanceClass Class
2
+
3
+ ## Namespace
4
+ ns
5
+
6
+ **Inheritance**
7
+
8
+ [SampleClass](../samplegroup/SampleClass.md) < [BaseClass](BaseClass.md)
9
+
10
+ ## Fields
11
+ ### `sampleEnumFromBase`
12
+
13
+ *Inherited*
14
+
15
+ #### Signature
16
+ ```apex
17
+ public sampleEnumFromBase
18
+ ```
19
+
20
+ #### Type
21
+ [SampleEnum](../sample-enums/SampleEnum.md)
22
+
23
+ ## Properties
24
+ ### Group Name
25
+ #### `someProperty`
26
+
27
+ *Inherited*
28
+
29
+ ##### Signature
30
+ ```apex
31
+ public someProperty
32
+ ```
33
+
34
+ ##### Type
35
+ String
36
+
37
+ ## Methods
38
+ ### Available Methods
39
+ #### `doSomething()`
40
+
41
+ *Inherited*
42
+
43
+ ##### Signature
44
+ ```apex
45
+ public void doSomething()
46
+ ```
47
+
48
+ ##### Return Type
49
+ **void**
50
+
51
+ ### Deprecated Methods
52
+ #### `sayHello()`
53
+
54
+ *Inherited*
55
+
56
+ `DEPRECATED`
57
+
58
+ This is a sample method.
59
+
60
+ ##### Signature
61
+ ```apex
62
+ public virtual String sayHello()
63
+ ```
64
+
65
+ ##### Return Type
66
+ **String**
67
+
68
+ A string value.
69
+
70
+ ##### Example
71
+ SampleClass sample &#x3D; new SampleClass();
72
+ sample.doSomething();
@@ -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,24 @@
1
+ # SampleException Class
2
+
3
+ This is a sample exception.
4
+
5
+ **Usage**
6
+
7
+ You can use the exception the following way.
8
+ You can also take a look at [SampleClass](../samplegroup/SampleClass.md) to see how it is used.
9
+ This is a dangerous HTML tag: &lt;script&gt;alert(&#x27;Hello&#x27;);&lt;/script&gt;
10
+
11
+ ```apex
12
+ try {
13
+ throw new SampleException();
14
+ } catch (SampleException e) {
15
+ System.debug('Caught exception');
16
+ }
17
+ ```
18
+
19
+ ## Namespace
20
+ ns
21
+
22
+ **Inheritance**
23
+
24
+ Exception
@@ -0,0 +1,116 @@
1
+ # SampleInterface Interface
2
+
3
+ `NAMESPACEACCESSIBLE`
4
+
5
+ This is a sample interface
6
+
7
+ **Mermaid**
8
+
9
+ ```mermaid
10
+ graph TD
11
+ A[SampleInterface] -->|extends| B[ParentInterface]
12
+ B -->|extends| C[GrandParentInterface]
13
+ C -->|extends| D[GreatGrandParentInterface]
14
+ ```
15
+
16
+ **Author** John Doe
17
+
18
+ **Date** 2020-01-01
19
+
20
+ **See** [SampleEnum](../sample-enums/SampleEnum.md)
21
+
22
+ **See** [ReferencedEnum](ReferencedEnum.md)
23
+
24
+ ## Namespace
25
+ ns
26
+
27
+ ## Example
28
+ ```apex
29
+ SampleInterface sampleInterface = new SampleInterface();
30
+ sampleInterface.sampleMethod();
31
+ ```
32
+
33
+ **Extends**
34
+ [ParentInterface](ParentInterface.md)
35
+
36
+ ## Methods
37
+ ### `sampleMethod()`
38
+
39
+ `NAMESPACEACCESSIBLE`
40
+
41
+ This is a sample method
42
+
43
+ **Custom Tag**
44
+
45
+ This is a custom tag
46
+
47
+ **Another Custom Tag**
48
+
49
+ This is another custom tag
50
+
51
+ **Mermaid**
52
+
53
+ graph TD
54
+ A[SampleInterface] --&gt;|extends| B[ParentInterface]
55
+ B --&gt;|extends| C[GrandParentInterface]
56
+ C --&gt;|extends| D[GreatGrandParentInterface]
57
+
58
+ #### Signature
59
+ ```apex
60
+ public String sampleMethod()
61
+ ```
62
+
63
+ #### Return Type
64
+ **String**
65
+
66
+ Some return value
67
+
68
+ #### Throws
69
+ [SampleException](SampleException.md): This is a sample exception
70
+
71
+ AnotherSampleException: This is another sample exception
72
+
73
+ #### Example
74
+ SampleInterface sampleInterface &#x3D; new SampleInterface();
75
+ sampleInterface.sampleMethod();
76
+
77
+ ---
78
+
79
+ ### `sampleMethodWithParams(param1, param2, theEnum)`
80
+
81
+ `NAMESPACEACCESSIBLE`
82
+ `DEPRECATED`
83
+
84
+ This is a sample method with parameters
85
+ Sometimes it won&#x27;t be possible to find a NonExistent link.
86
+
87
+ #### Signature
88
+ ```apex
89
+ public SampleEnum sampleMethodWithParams(String param1, Integer param2, SampleEnum theEnum)
90
+ ```
91
+
92
+ #### Parameters
93
+ | Name | Type | Description |
94
+ |------|------|-------------|
95
+ | param1 | String | This is the first parameter |
96
+ | param2 | Integer | This is the second parameter |
97
+ | theEnum | [SampleEnum](../sample-enums/SampleEnum.md) | This is an enum parameter |
98
+
99
+ #### Return Type
100
+ **[SampleEnum](../sample-enums/SampleEnum.md)**
101
+
102
+ Some return value
103
+
104
+ ---
105
+
106
+ ### `sampleParentMethod()`
107
+
108
+ *Inherited*
109
+
110
+ #### Signature
111
+ ```apex
112
+ public void sampleParentMethod()
113
+ ```
114
+
115
+ #### Return Type
116
+ **void**