@cparra/apexdocs 2.25.0-alpha.1 → 2.25.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 (499) hide show
  1. package/README.md +37 -0
  2. package/dist/cli/generate.js +2963 -0
  3. package/dist/defaults-DUwru49Q.js +12 -0
  4. package/dist/defaults-SH0Rsi5E.js +11 -0
  5. package/dist/defaults-jLXD2y8-.js +13 -0
  6. package/dist/index.d.ts +101 -0
  7. package/dist/index.js +36 -0
  8. package/examples/markdown/docs/index.md +109 -0
  9. package/examples/{plain-markdown/docs/Miscellaneous/ns.BaseClass.md → markdown/docs/miscellaneous/BaseClass.md} +1 -1
  10. package/examples/markdown/docs/miscellaneous/MultiInheritanceClass.md +72 -0
  11. package/examples/{plain-markdown/docs/Miscellaneous/ns.ParentInterface.md → markdown/docs/miscellaneous/ParentInterface.md} +1 -1
  12. package/examples/{plain-markdown/docs/Miscellaneous/ns.ReferencedEnum.md → markdown/docs/miscellaneous/ReferencedEnum.md} +1 -1
  13. package/examples/markdown/docs/miscellaneous/SampleException.md +24 -0
  14. package/examples/{plain-markdown/docs/Miscellaneous/ns.SampleInterface.md → markdown/docs/miscellaneous/SampleInterface.md} +29 -32
  15. package/examples/markdown/docs/miscellaneous/Url.md +309 -0
  16. package/examples/markdown/docs/sample-enums/SampleEnum.md +36 -0
  17. package/examples/{plain-markdown/docs/SampleGroup/ns.SampleClass.md → markdown/docs/samplegroup/SampleClass.md} +11 -14
  18. package/examples/markdown/force-app/classes/MultiInheritanceClass.cls +1 -0
  19. package/examples/markdown/force-app/classes/SampleException.cls +17 -0
  20. package/examples/markdown/force-app/classes/Url.cls +194 -0
  21. package/examples/{plain-markdown → markdown}/package.json +2 -2
  22. package/examples/vitepress/.forceignore +12 -0
  23. package/examples/vitepress/apexdocs.config.ts +106 -0
  24. package/examples/vitepress/config/project-scratch-def.json +13 -0
  25. package/examples/vitepress/docs/.vitepress/cache/deps/@theme_index.js +259 -0
  26. package/examples/vitepress/docs/.vitepress/cache/deps/@theme_index.js.map +7 -0
  27. package/examples/vitepress/docs/.vitepress/cache/deps/_metadata.json +40 -0
  28. package/examples/vitepress/docs/.vitepress/cache/deps/chunk-574YRH25.js +11474 -0
  29. package/examples/vitepress/docs/.vitepress/cache/deps/chunk-574YRH25.js.map +7 -0
  30. package/examples/vitepress/docs/.vitepress/cache/deps/chunk-E5DZZB2I.js +9172 -0
  31. package/examples/vitepress/docs/.vitepress/cache/deps/chunk-E5DZZB2I.js.map +7 -0
  32. package/examples/vitepress/docs/.vitepress/cache/deps/package.json +3 -0
  33. package/examples/vitepress/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js +4339 -0
  34. package/examples/vitepress/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js.map +7 -0
  35. package/examples/vitepress/docs/.vitepress/cache/deps/vitepress___@vueuse_core.js +567 -0
  36. package/examples/vitepress/docs/.vitepress/cache/deps/vitepress___@vueuse_core.js.map +7 -0
  37. package/examples/vitepress/docs/.vitepress/cache/deps/vue.js +323 -0
  38. package/examples/vitepress/docs/.vitepress/cache/deps/vue.js.map +7 -0
  39. package/examples/vitepress/docs/.vitepress/config.mts +21 -0
  40. package/examples/vitepress/docs/.vitepress/sidebar.json +119 -0
  41. package/examples/vitepress/docs/api-examples.md +49 -0
  42. package/examples/vitepress/docs/index-frontmatter.md +16 -0
  43. package/examples/vitepress/docs/index.md +56 -0
  44. package/examples/vitepress/docs/markdown-examples.md +85 -0
  45. package/examples/vitepress/docs/miscellaneous/BaseClass.md +20 -0
  46. package/examples/vitepress/docs/miscellaneous/MultiInheritanceClass.md +76 -0
  47. package/examples/vitepress/docs/miscellaneous/ParentInterface.md +19 -0
  48. package/examples/vitepress/docs/miscellaneous/ReferencedEnum.md +15 -0
  49. package/examples/vitepress/docs/miscellaneous/SampleException.md +28 -0
  50. package/examples/vitepress/docs/miscellaneous/SampleInterface.md +116 -0
  51. package/examples/vitepress/docs/miscellaneous/Url.md +317 -0
  52. package/examples/vitepress/docs/sample-enums/SampleEnum.md +40 -0
  53. package/examples/vitepress/docs/samplegroup/SampleClass.md +174 -0
  54. package/examples/vitepress/force-app/main/default/classes/BaseClass.cls +3 -0
  55. package/examples/vitepress/force-app/main/default/classes/MultiInheritanceClass.cls +1 -0
  56. package/examples/vitepress/force-app/main/default/classes/ParentInterface.cls +3 -0
  57. package/examples/vitepress/force-app/main/default/classes/ReferencedEnum.cls +5 -0
  58. package/examples/vitepress/force-app/main/default/classes/SampleClass.cls +72 -0
  59. package/examples/vitepress/force-app/main/default/classes/SampleEnum.cls +30 -0
  60. package/examples/vitepress/force-app/main/default/classes/SampleException.cls +17 -0
  61. package/examples/vitepress/force-app/main/default/classes/SampleInterface.cls +46 -0
  62. package/examples/vitepress/force-app/main/default/classes/Url.cls +198 -0
  63. package/examples/vitepress/package-lock.json +2574 -0
  64. package/examples/vitepress/package.json +18 -0
  65. package/examples/vitepress/sfdx-project.json +12 -0
  66. package/jest.config.js +2 -1
  67. package/package.json +18 -19
  68. package/src/application/Apexdocs.ts +17 -70
  69. package/src/application/__tests__/apex-file-reader.spec.ts +104 -0
  70. package/src/application/apex-file-reader.ts +42 -0
  71. package/src/application/file-writer.ts +21 -0
  72. package/src/application/generators/markdown.ts +58 -0
  73. package/src/application/generators/openapi.ts +56 -0
  74. package/src/cli/args.ts +43 -0
  75. package/src/cli/commands/markdown.ts +52 -0
  76. package/src/cli/generate.ts +10 -134
  77. package/src/core/manifest.ts +90 -0
  78. package/src/{__spec__/core → core/markdown/__test__}/expect-extensions.ts +5 -5
  79. package/src/core/markdown/__test__/generating-class-docs.spec.ts +735 -0
  80. package/src/{__spec__/core → core/markdown/__test__}/generating-enum-docs.spec.ts +89 -59
  81. package/src/{__spec__/core → core/markdown/__test__}/generating-interface-docs.spec.ts +105 -75
  82. package/src/{__spec__/core → core/markdown/__test__}/generating-reference-guide.spec.ts +43 -26
  83. package/src/core/markdown/__test__/inheritance-chain.test.ts +54 -0
  84. package/src/core/markdown/__test__/test-helpers.ts +23 -0
  85. package/src/core/markdown/adapters/__tests__/documentables.spec.ts +109 -0
  86. package/src/core/markdown/adapters/__tests__/interface-adapter.spec.ts +148 -0
  87. package/src/{adapters → core/markdown/adapters}/__tests__/references.spec.ts +23 -2
  88. package/src/{adapters → core/markdown/adapters}/apex-types.ts +58 -44
  89. package/src/{adapters → core/markdown/adapters}/documentables.ts +58 -35
  90. package/src/{adapters → core/markdown/adapters}/fields-and-properties.ts +18 -11
  91. package/src/{adapters/references.ts → core/markdown/adapters/inline.ts} +43 -13
  92. package/src/{adapters → core/markdown/adapters}/methods-and-constructors.ts +36 -20
  93. package/src/core/markdown/adapters/reference-guide.ts +35 -0
  94. package/src/core/markdown/adapters/renderable-bundle.ts +78 -0
  95. package/src/core/markdown/adapters/renderable-to-page-data.ts +89 -0
  96. package/src/core/markdown/adapters/type-utils.ts +13 -0
  97. package/src/core/{renderable → markdown/adapters}/types.d.ts +57 -8
  98. package/src/core/markdown/generate-docs.ts +216 -0
  99. package/src/core/markdown/reflection/error-handling.ts +37 -0
  100. package/src/core/markdown/reflection/filter-scope.ts +13 -0
  101. package/src/core/markdown/reflection/inheritance-chain-expanion.ts +22 -0
  102. package/src/core/markdown/reflection/inheritance-chain.ts +23 -0
  103. package/src/core/markdown/reflection/inherited-member-expansion.ts +105 -0
  104. package/src/core/markdown/reflection/reflect-source.ts +45 -0
  105. package/src/core/markdown/reflection/sort-members.ts +59 -0
  106. package/src/{transpiler/markdown/plain-markdown → core/markdown/templates}/class-template.ts +5 -3
  107. package/src/{transpiler/markdown/plain-markdown → core/markdown/templates}/constructors-partial-template.ts +2 -2
  108. package/src/{transpiler/markdown/plain-markdown → core/markdown/templates}/documentable-partial-template.ts +6 -4
  109. package/src/{transpiler/markdown/plain-markdown → core/markdown/templates}/fieldsPartialTemplate.ts +1 -1
  110. package/src/core/markdown/templates/hookable.ts +7 -0
  111. package/src/{transpiler/markdown/plain-markdown → core/markdown/templates}/methods-partial-template.ts +2 -2
  112. package/src/core/{templates → markdown/templates}/reference-guide.ts +1 -1
  113. package/src/core/{template.ts → markdown/templates/template.ts} +25 -19
  114. package/src/core/markdown/utils.ts +3 -0
  115. package/src/{transpiler → core}/openapi/__tests__/open-api-docs-processor.spec.ts +1 -1
  116. package/src/{model → core/openapi}/apex-type-wrappers/__tests__/ClassMirrorWrapper.spec.ts +3 -3
  117. package/src/core/openapi/file-container.ts +13 -0
  118. package/src/{service → core/openapi}/manifest-factory.ts +3 -3
  119. package/src/{transpiler → core}/openapi/open-api-docs-processor.ts +9 -10
  120. package/src/core/openapi/openapi-type-file.ts +12 -0
  121. package/src/{service → core/openapi}/parser.ts +8 -8
  122. package/src/{transpiler → core}/openapi/parsers/Builder.ts +2 -2
  123. package/src/{transpiler → core}/openapi/parsers/MethodParser.ts +5 -5
  124. package/src/{transpiler → core}/openapi/parsers/ParameterObjectBuilder.ts +2 -2
  125. package/src/{transpiler → core}/openapi/parsers/ReferenceBuilder.ts +3 -3
  126. package/src/{transpiler → core}/openapi/parsers/RequestBodyBuilder.ts +2 -2
  127. package/src/{transpiler → core}/openapi/parsers/ResponsesBuilder.ts +2 -2
  128. package/src/{transpiler → core}/openapi/parsers/__tests__/MethodParser.spec.ts +1 -1
  129. package/src/{transpiler → core}/openapi/parsers/__tests__/ParameterObjectBuilder.spec.ts +2 -2
  130. package/src/{transpiler → core}/openapi/parsers/__tests__/ReferenceBuilder.spec.ts +2 -2
  131. package/src/{transpiler → core}/openapi/parsers/__tests__/RequestBodyBuilder.spec.ts +2 -2
  132. package/src/{transpiler → core}/openapi/parsers/__tests__/ResponsesBuilder.spec.ts +1 -1
  133. package/src/{transpiler → core/openapi}/transpiler.ts +2 -6
  134. package/src/{model → core/openapi}/types-repository.ts +0 -9
  135. package/src/core/parse-apex-metadata.ts +14 -0
  136. package/src/core/settings.ts +56 -0
  137. package/src/core/shared/types.d.ts +131 -0
  138. package/src/core/shared/utils.ts +5 -0
  139. package/src/defaults.ts +9 -0
  140. package/src/index.ts +40 -2
  141. package/src/test-helpers/ClassMirrorBuilder.ts +14 -1
  142. package/src/test-helpers/InterfaceMirrorBuilder.ts +0 -5
  143. package/src/test-helpers/SettingsBuilder.ts +1 -4
  144. package/src/util/fp.ts +3 -0
  145. package/src/util/logger.ts +3 -3
  146. package/src/util/string-utils.ts +0 -4
  147. package/tsconfig.json +6 -2
  148. package/apexdocs.config.ts +0 -13
  149. package/docs/.nojekyll +0 -0
  150. package/docs/__old/README.md +0 -1
  151. package/docs/__old/index.html +0 -22
  152. package/docs/__old/restapi.json +0 -589
  153. package/docs/__old/types/Classes/nspc.AnotherInterface.md +0 -22
  154. package/docs/__old/types/Classes/nspc.ChildClass.md +0 -97
  155. package/docs/__old/types/Main/nspc.GroupedClass.md +0 -10
  156. package/docs/__old/types/Main/nspc.SampleClass.md +0 -189
  157. package/docs/__old/types/Misc-Group/nspc.EscapedAnnotations.md +0 -4
  158. package/docs/__old/types/Misc-Group/nspc.GrandparentClass.md +0 -13
  159. package/docs/__old/types/Misc-Group/nspc.InterfaceWithInheritance.md +0 -29
  160. package/docs/__old/types/Misc-Group/nspc.MemberGrouping.md +0 -13
  161. package/docs/__old/types/Misc-Group/nspc.ParentClass.md +0 -37
  162. package/docs/__old/types/Misc-Group/nspc.Reference1.md +0 -18
  163. package/docs/__old/types/Misc-Group/nspc.Reference2.md +0 -12
  164. package/docs/__old/types/Misc-Group/nspc.Reference3.md +0 -7
  165. package/docs/__old/types/Misc-Group/nspc.Reference4.md +0 -7
  166. package/docs/__old/types/Misc-Group/nspc.Reference5.md +0 -7
  167. package/docs/__old/types/Misc-Group/nspc.Reference6.md +0 -9
  168. package/docs/__old/types/Misc-Group/nspc.Reference7.md +0 -7
  169. package/docs/__old/types/Misc-Group/nspc.SampleClassWithoutModifier.md +0 -11
  170. package/docs/__old/types/Misc-Group/nspc.SampleRestResource.md +0 -104
  171. package/docs/__old/types/Misc-Group/nspc.SampleRestResourceWithInnerClass.md +0 -33
  172. package/docs/__old/types/Misc-Group/nspc.SampleRestResourceWithoutApexDocs.md +0 -14
  173. package/docs/__old/types/README.md +0 -97
  174. package/docs/__old/types/Sample-Interfaces/nspc.SampleInterface.md +0 -23
  175. package/examples/includes/header.md +0 -3
  176. package/examples/plain-markdown/docs/Miscellaneous/ns.SampleException.md +0 -7
  177. package/examples/plain-markdown/docs/Sample-Enums/ns.SampleEnum.md +0 -36
  178. package/examples/plain-markdown/docs/index.md +0 -36
  179. package/examples/plain-markdown/force-app/classes/SampleException.cls +0 -1
  180. package/examples/plain-markdown/template.md +0 -3
  181. package/lib/__spec__/core/expect-extensions.d.ts +0 -3
  182. package/lib/__spec__/core/expect-extensions.js +0 -54
  183. package/lib/__spec__/core/expect-extensions.js.map +0 -1
  184. package/lib/__spec__/core/generating-class-docs.spec.d.ts +0 -1
  185. package/lib/__spec__/core/generating-class-docs.spec.js +0 -427
  186. package/lib/__spec__/core/generating-class-docs.spec.js.map +0 -1
  187. package/lib/__spec__/core/generating-enum-docs.spec.d.ts +0 -1
  188. package/lib/__spec__/core/generating-enum-docs.spec.js +0 -303
  189. package/lib/__spec__/core/generating-enum-docs.spec.js.map +0 -1
  190. package/lib/__spec__/core/generating-interface-docs.spec.d.ts +0 -1
  191. package/lib/__spec__/core/generating-interface-docs.spec.js +0 -361
  192. package/lib/__spec__/core/generating-interface-docs.spec.js.map +0 -1
  193. package/lib/__spec__/core/generating-reference-guide.spec.d.ts +0 -1
  194. package/lib/__spec__/core/generating-reference-guide.spec.js +0 -161
  195. package/lib/__spec__/core/generating-reference-guide.spec.js.map +0 -1
  196. package/lib/adapters/apex-types.d.ts +0 -7
  197. package/lib/adapters/apex-types.js +0 -112
  198. package/lib/adapters/apex-types.js.map +0 -1
  199. package/lib/adapters/documentables.d.ts +0 -7
  200. package/lib/adapters/documentables.js +0 -56
  201. package/lib/adapters/documentables.js.map +0 -1
  202. package/lib/adapters/fields-and-properties.d.ts +0 -4
  203. package/lib/adapters/fields-and-properties.js +0 -32
  204. package/lib/adapters/fields-and-properties.js.map +0 -1
  205. package/lib/adapters/methods-and-constructors.d.ts +0 -5
  206. package/lib/adapters/methods-and-constructors.js +0 -92
  207. package/lib/adapters/methods-and-constructors.js.map +0 -1
  208. package/lib/adapters/references.d.ts +0 -5
  209. package/lib/adapters/references.js +0 -82
  210. package/lib/adapters/references.js.map +0 -1
  211. package/lib/adapters/type-utils.d.ts +0 -2
  212. package/lib/adapters/type-utils.js +0 -7
  213. package/lib/adapters/type-utils.js.map +0 -1
  214. package/lib/application/Apexdocs.d.ts +0 -13
  215. package/lib/application/Apexdocs.js +0 -80
  216. package/lib/application/Apexdocs.js.map +0 -1
  217. package/lib/cli/generate.d.ts +0 -2
  218. package/lib/cli/generate.js +0 -157
  219. package/lib/cli/generate.js.map +0 -1
  220. package/lib/core/generate-docs.d.ts +0 -23
  221. package/lib/core/generate-docs.js +0 -241
  222. package/lib/core/generate-docs.js.map +0 -1
  223. package/lib/core/template.d.ts +0 -10
  224. package/lib/core/template.js +0 -92
  225. package/lib/core/template.js.map +0 -1
  226. package/lib/core/templates/reference-guide.d.ts +0 -1
  227. package/lib/core/templates/reference-guide.js +0 -18
  228. package/lib/core/templates/reference-guide.js.map +0 -1
  229. package/lib/index.d.ts +0 -2
  230. package/lib/index.js +0 -29
  231. package/lib/index.js.map +0 -1
  232. package/lib/model/apex-bundle.d.ts +0 -6
  233. package/lib/model/apex-bundle.js +0 -11
  234. package/lib/model/apex-bundle.js.map +0 -1
  235. package/lib/model/apex-type-wrappers/ClassMirrorWrapper.d.ts +0 -7
  236. package/lib/model/apex-type-wrappers/ClassMirrorWrapper.js +0 -14
  237. package/lib/model/apex-type-wrappers/ClassMirrorWrapper.js.map +0 -1
  238. package/lib/model/apex-type-wrappers/MethodMirrorWrapper.d.ts +0 -7
  239. package/lib/model/apex-type-wrappers/MethodMirrorWrapper.js +0 -12
  240. package/lib/model/apex-type-wrappers/MethodMirrorWrapper.js.map +0 -1
  241. package/lib/model/inheritance.d.ts +0 -8
  242. package/lib/model/inheritance.js +0 -3
  243. package/lib/model/inheritance.js.map +0 -1
  244. package/lib/model/manifest.d.ts +0 -22
  245. package/lib/model/manifest.js +0 -53
  246. package/lib/model/manifest.js.map +0 -1
  247. package/lib/model/markdown-file.d.ts +0 -16
  248. package/lib/model/markdown-file.js +0 -111
  249. package/lib/model/markdown-file.js.map +0 -1
  250. package/lib/model/markdown-generation-util/doc-comment-annotation-util.d.ts +0 -8
  251. package/lib/model/markdown-generation-util/doc-comment-annotation-util.js +0 -46
  252. package/lib/model/markdown-generation-util/doc-comment-annotation-util.js.map +0 -1
  253. package/lib/model/markdown-generation-util/field-declaration-util.d.ts +0 -3
  254. package/lib/model/markdown-generation-util/field-declaration-util.js +0 -54
  255. package/lib/model/markdown-generation-util/field-declaration-util.js.map +0 -1
  256. package/lib/model/markdown-generation-util/index.d.ts +0 -3
  257. package/lib/model/markdown-generation-util/index.js +0 -20
  258. package/lib/model/markdown-generation-util/index.js.map +0 -1
  259. package/lib/model/markdown-generation-util/method-declaration-util.d.ts +0 -4
  260. package/lib/model/markdown-generation-util/method-declaration-util.js +0 -114
  261. package/lib/model/markdown-generation-util/method-declaration-util.js.map +0 -1
  262. package/lib/model/markdown-generation-util/type-declaration-util.d.ts +0 -3
  263. package/lib/model/markdown-generation-util/type-declaration-util.js +0 -81
  264. package/lib/model/markdown-generation-util/type-declaration-util.js.map +0 -1
  265. package/lib/model/markdown-home-file.d.ts +0 -11
  266. package/lib/model/markdown-home-file.js +0 -57
  267. package/lib/model/markdown-home-file.js.map +0 -1
  268. package/lib/model/markdown-type-file.d.ts +0 -26
  269. package/lib/model/markdown-type-file.js +0 -137
  270. package/lib/model/markdown-type-file.js.map +0 -1
  271. package/lib/model/openapi/apex-doc-types.d.ts +0 -19
  272. package/lib/model/openapi/apex-doc-types.js +0 -5
  273. package/lib/model/openapi/apex-doc-types.js.map +0 -1
  274. package/lib/model/openapi/open-api-types.d.ts +0 -93
  275. package/lib/model/openapi/open-api-types.js +0 -3
  276. package/lib/model/openapi/open-api-types.js.map +0 -1
  277. package/lib/model/openapi/open-api.d.ts +0 -16
  278. package/lib/model/openapi/open-api.js +0 -34
  279. package/lib/model/openapi/open-api.js.map +0 -1
  280. package/lib/model/openapi/openapi-type-file.d.ts +0 -7
  281. package/lib/model/openapi/openapi-type-file.js +0 -17
  282. package/lib/model/openapi/openapi-type-file.js.map +0 -1
  283. package/lib/model/outputFile.d.ts +0 -10
  284. package/lib/model/outputFile.js +0 -22
  285. package/lib/model/outputFile.js.map +0 -1
  286. package/lib/model/types-repository.d.ts +0 -16
  287. package/lib/model/types-repository.js +0 -54
  288. package/lib/model/types-repository.js.map +0 -1
  289. package/lib/service/apex-file-reader.d.ts +0 -14
  290. package/lib/service/apex-file-reader.js +0 -49
  291. package/lib/service/apex-file-reader.js.map +0 -1
  292. package/lib/service/file-system.d.ts +0 -14
  293. package/lib/service/file-system.js +0 -48
  294. package/lib/service/file-system.js.map +0 -1
  295. package/lib/service/file-writer.d.ts +0 -6
  296. package/lib/service/file-writer.js +0 -57
  297. package/lib/service/file-writer.js.map +0 -1
  298. package/lib/service/manifest-factory.d.ts +0 -10
  299. package/lib/service/manifest-factory.js +0 -16
  300. package/lib/service/manifest-factory.js.map +0 -1
  301. package/lib/service/metadata-processor.d.ts +0 -3
  302. package/lib/service/metadata-processor.js +0 -17
  303. package/lib/service/metadata-processor.js.map +0 -1
  304. package/lib/service/parser.d.ts +0 -21
  305. package/lib/service/parser.js +0 -138
  306. package/lib/service/parser.js.map +0 -1
  307. package/lib/service/state.d.ts +0 -9
  308. package/lib/service/state.js +0 -20
  309. package/lib/service/state.js.map +0 -1
  310. package/lib/service/walkers/class-walker.d.ts +0 -4
  311. package/lib/service/walkers/class-walker.js +0 -33
  312. package/lib/service/walkers/class-walker.js.map +0 -1
  313. package/lib/service/walkers/enum-walker.d.ts +0 -4
  314. package/lib/service/walkers/enum-walker.js +0 -11
  315. package/lib/service/walkers/enum-walker.js.map +0 -1
  316. package/lib/service/walkers/interface-walker.d.ts +0 -4
  317. package/lib/service/walkers/interface-walker.js +0 -15
  318. package/lib/service/walkers/interface-walker.js.map +0 -1
  319. package/lib/service/walkers/walker-factory.d.ts +0 -5
  320. package/lib/service/walkers/walker-factory.js +0 -21
  321. package/lib/service/walkers/walker-factory.js.map +0 -1
  322. package/lib/service/walkers/walker.d.ts +0 -19
  323. package/lib/service/walkers/walker.js +0 -17
  324. package/lib/service/walkers/walker.js.map +0 -1
  325. package/lib/settings.d.ts +0 -64
  326. package/lib/settings.js +0 -89
  327. package/lib/settings.js.map +0 -1
  328. package/lib/test-helpers/AnnotationBuilder.d.ts +0 -12
  329. package/lib/test-helpers/AnnotationBuilder.js +0 -31
  330. package/lib/test-helpers/AnnotationBuilder.js.map +0 -1
  331. package/lib/test-helpers/ClassMirrorBuilder.d.ts +0 -18
  332. package/lib/test-helpers/ClassMirrorBuilder.js +0 -54
  333. package/lib/test-helpers/ClassMirrorBuilder.js.map +0 -1
  334. package/lib/test-helpers/DocCommentAnnotationBuilder.d.ts +0 -8
  335. package/lib/test-helpers/DocCommentAnnotationBuilder.js +0 -26
  336. package/lib/test-helpers/DocCommentAnnotationBuilder.js.map +0 -1
  337. package/lib/test-helpers/DocCommentBuilder.d.ts +0 -12
  338. package/lib/test-helpers/DocCommentBuilder.js +0 -38
  339. package/lib/test-helpers/DocCommentBuilder.js.map +0 -1
  340. package/lib/test-helpers/FieldMirrorBuilder.d.ts +0 -18
  341. package/lib/test-helpers/FieldMirrorBuilder.js +0 -54
  342. package/lib/test-helpers/FieldMirrorBuilder.js.map +0 -1
  343. package/lib/test-helpers/InterfaceMirrorBuilder.d.ts +0 -16
  344. package/lib/test-helpers/InterfaceMirrorBuilder.js +0 -43
  345. package/lib/test-helpers/InterfaceMirrorBuilder.js.map +0 -1
  346. package/lib/test-helpers/MethodMirrorBuilder.d.ts +0 -29
  347. package/lib/test-helpers/MethodMirrorBuilder.js +0 -72
  348. package/lib/test-helpers/MethodMirrorBuilder.js.map +0 -1
  349. package/lib/test-helpers/SettingsBuilder.d.ts +0 -8
  350. package/lib/test-helpers/SettingsBuilder.js +0 -27
  351. package/lib/test-helpers/SettingsBuilder.js.map +0 -1
  352. package/lib/transpiler/factory.d.ts +0 -6
  353. package/lib/transpiler/factory.js +0 -35
  354. package/lib/transpiler/factory.js.map +0 -1
  355. package/lib/transpiler/file-container.d.ts +0 -6
  356. package/lib/transpiler/file-container.js +0 -16
  357. package/lib/transpiler/file-container.js.map +0 -1
  358. package/lib/transpiler/generator-choices.d.ts +0 -1
  359. package/lib/transpiler/generator-choices.js +0 -3
  360. package/lib/transpiler/generator-choices.js.map +0 -1
  361. package/lib/transpiler/markdown/class-file-generatorHelper.d.ts +0 -11
  362. package/lib/transpiler/markdown/class-file-generatorHelper.js +0 -75
  363. package/lib/transpiler/markdown/class-file-generatorHelper.js.map +0 -1
  364. package/lib/transpiler/markdown/docsify/docsify-docs-processor.d.ts +0 -6
  365. package/lib/transpiler/markdown/docsify/docsify-docs-processor.js +0 -13
  366. package/lib/transpiler/markdown/docsify/docsify-docs-processor.js.map +0 -1
  367. package/lib/transpiler/markdown/jekyll/jekyll-docsProcessor.d.ts +0 -11
  368. package/lib/transpiler/markdown/jekyll/jekyll-docsProcessor.js +0 -51
  369. package/lib/transpiler/markdown/jekyll/jekyll-docsProcessor.js.map +0 -1
  370. package/lib/transpiler/markdown/markdown-transpiler-base.d.ts +0 -11
  371. package/lib/transpiler/markdown/markdown-transpiler-base.js +0 -27
  372. package/lib/transpiler/markdown/markdown-transpiler-base.js.map +0 -1
  373. package/lib/transpiler/markdown/plain-markdown/class-template.d.ts +0 -1
  374. package/lib/transpiler/markdown/plain-markdown/class-template.js +0 -77
  375. package/lib/transpiler/markdown/plain-markdown/class-template.js.map +0 -1
  376. package/lib/transpiler/markdown/plain-markdown/constructors-partial-template.d.ts +0 -1
  377. package/lib/transpiler/markdown/plain-markdown/constructors-partial-template.js +0 -36
  378. package/lib/transpiler/markdown/plain-markdown/constructors-partial-template.js.map +0 -1
  379. package/lib/transpiler/markdown/plain-markdown/documentable-partial-template.d.ts +0 -1
  380. package/lib/transpiler/markdown/plain-markdown/documentable-partial-template.js +0 -28
  381. package/lib/transpiler/markdown/plain-markdown/documentable-partial-template.js.map +0 -1
  382. package/lib/transpiler/markdown/plain-markdown/enum-template.d.ts +0 -1
  383. package/lib/transpiler/markdown/plain-markdown/enum-template.js +0 -16
  384. package/lib/transpiler/markdown/plain-markdown/enum-template.js.map +0 -1
  385. package/lib/transpiler/markdown/plain-markdown/fieldsPartialTemplate.d.ts +0 -1
  386. package/lib/transpiler/markdown/plain-markdown/fieldsPartialTemplate.js +0 -27
  387. package/lib/transpiler/markdown/plain-markdown/fieldsPartialTemplate.js.map +0 -1
  388. package/lib/transpiler/markdown/plain-markdown/grouped-members-partial-template.d.ts +0 -1
  389. package/lib/transpiler/markdown/plain-markdown/grouped-members-partial-template.js +0 -10
  390. package/lib/transpiler/markdown/plain-markdown/grouped-members-partial-template.js.map +0 -1
  391. package/lib/transpiler/markdown/plain-markdown/interface-template.d.ts +0 -1
  392. package/lib/transpiler/markdown/plain-markdown/interface-template.js +0 -20
  393. package/lib/transpiler/markdown/plain-markdown/interface-template.js.map +0 -1
  394. package/lib/transpiler/markdown/plain-markdown/methods-partial-template.d.ts +0 -1
  395. package/lib/transpiler/markdown/plain-markdown/methods-partial-template.js +0 -47
  396. package/lib/transpiler/markdown/plain-markdown/methods-partial-template.js.map +0 -1
  397. package/lib/transpiler/markdown/plain-markdown/plain-docsProcessor.d.ts +0 -9
  398. package/lib/transpiler/markdown/plain-markdown/plain-docsProcessor.js +0 -42
  399. package/lib/transpiler/markdown/plain-markdown/plain-docsProcessor.js.map +0 -1
  400. package/lib/transpiler/markdown/plain-markdown/type-doc-partial.d.ts +0 -1
  401. package/lib/transpiler/markdown/plain-markdown/type-doc-partial.js +0 -31
  402. package/lib/transpiler/markdown/plain-markdown/type-doc-partial.js.map +0 -1
  403. package/lib/transpiler/openapi/open-api-docs-processor.d.ts +0 -13
  404. package/lib/transpiler/openapi/open-api-docs-processor.js +0 -78
  405. package/lib/transpiler/openapi/open-api-docs-processor.js.map +0 -1
  406. package/lib/transpiler/openapi/parsers/Builder.d.ts +0 -16
  407. package/lib/transpiler/openapi/parsers/Builder.js +0 -30
  408. package/lib/transpiler/openapi/parsers/Builder.js.map +0 -1
  409. package/lib/transpiler/openapi/parsers/MethodParser.d.ts +0 -20
  410. package/lib/transpiler/openapi/parsers/MethodParser.js +0 -190
  411. package/lib/transpiler/openapi/parsers/MethodParser.js.map +0 -1
  412. package/lib/transpiler/openapi/parsers/ParameterObjectBuilder.d.ts +0 -7
  413. package/lib/transpiler/openapi/parsers/ParameterObjectBuilder.js +0 -11
  414. package/lib/transpiler/openapi/parsers/ParameterObjectBuilder.js.map +0 -1
  415. package/lib/transpiler/openapi/parsers/ReferenceBuilder.d.ts +0 -39
  416. package/lib/transpiler/openapi/parsers/ReferenceBuilder.js +0 -250
  417. package/lib/transpiler/openapi/parsers/ReferenceBuilder.js.map +0 -1
  418. package/lib/transpiler/openapi/parsers/RequestBodyBuilder.d.ts +0 -10
  419. package/lib/transpiler/openapi/parsers/RequestBodyBuilder.js +0 -20
  420. package/lib/transpiler/openapi/parsers/RequestBodyBuilder.js.map +0 -1
  421. package/lib/transpiler/openapi/parsers/ResponsesBuilder.d.ts +0 -7
  422. package/lib/transpiler/openapi/parsers/ResponsesBuilder.js +0 -22
  423. package/lib/transpiler/openapi/parsers/ResponsesBuilder.js.map +0 -1
  424. package/lib/transpiler/processor-type-transpiler.d.ts +0 -10
  425. package/lib/transpiler/processor-type-transpiler.js +0 -9
  426. package/lib/transpiler/processor-type-transpiler.js.map +0 -1
  427. package/lib/transpiler/transpiler.d.ts +0 -5
  428. package/lib/transpiler/transpiler.js +0 -30
  429. package/lib/transpiler/transpiler.js.map +0 -1
  430. package/lib/util/error-logger.d.ts +0 -8
  431. package/lib/util/error-logger.js +0 -90
  432. package/lib/util/error-logger.js.map +0 -1
  433. package/lib/util/logger.d.ts +0 -21
  434. package/lib/util/logger.js +0 -61
  435. package/lib/util/logger.js.map +0 -1
  436. package/lib/util/string-utils.d.ts +0 -2
  437. package/lib/util/string-utils.js +0 -15
  438. package/lib/util/string-utils.js.map +0 -1
  439. package/src/__spec__/core/generating-class-docs.spec.ts +0 -511
  440. package/src/adapters/__tests__/interface-adapter.spec.ts +0 -80
  441. package/src/adapters/type-utils.ts +0 -5
  442. package/src/adapters/types.d.ts +0 -8
  443. package/src/core/generate-docs.ts +0 -357
  444. package/src/model/apex-bundle.ts +0 -3
  445. package/src/model/inheritance.ts +0 -7
  446. package/src/model/manifest.ts +0 -84
  447. package/src/model/markdown-file.ts +0 -122
  448. package/src/model/markdown-generation-util/doc-comment-annotation-util.ts +0 -50
  449. package/src/model/markdown-generation-util/field-declaration-util.ts +0 -71
  450. package/src/model/markdown-generation-util/index.ts +0 -3
  451. package/src/model/markdown-generation-util/method-declaration-util.ts +0 -166
  452. package/src/model/markdown-generation-util/type-declaration-util.ts +0 -91
  453. package/src/model/markdown-home-file.ts +0 -58
  454. package/src/model/markdown-type-file.ts +0 -165
  455. package/src/model/openapi/openapi-type-file.ts +0 -14
  456. package/src/model/outputFile.ts +0 -20
  457. package/src/service/__tests__/apex-file-reader.spec.ts +0 -92
  458. package/src/service/apex-file-reader.ts +0 -51
  459. package/src/service/file-writer.ts +0 -34
  460. package/src/service/metadata-processor.ts +0 -16
  461. package/src/service/state.ts +0 -24
  462. package/src/service/walkers/class-walker.ts +0 -30
  463. package/src/service/walkers/enum-walker.ts +0 -7
  464. package/src/service/walkers/interface-walker.ts +0 -12
  465. package/src/service/walkers/walker-factory.ts +0 -19
  466. package/src/service/walkers/walker.ts +0 -42
  467. package/src/settings.ts +0 -147
  468. package/src/transpiler/factory.ts +0 -33
  469. package/src/transpiler/file-container.ts +0 -13
  470. package/src/transpiler/generator-choices.ts +0 -1
  471. package/src/transpiler/markdown/class-file-generatorHelper.ts +0 -78
  472. package/src/transpiler/markdown/docsify/docsify-docs-processor.ts +0 -12
  473. package/src/transpiler/markdown/jekyll/jekyll-docsProcessor.ts +0 -50
  474. package/src/transpiler/markdown/markdown-transpiler-base.ts +0 -28
  475. package/src/transpiler/markdown/plain-markdown/plain-docsProcessor.ts +0 -42
  476. package/src/transpiler/processor-type-transpiler.ts +0 -18
  477. /package/examples/{plain-markdown → markdown}/.forceignore +0 -0
  478. /package/examples/{plain-markdown → markdown}/config/project-scratch-def.json +0 -0
  479. /package/examples/{plain-markdown → markdown}/force-app/classes/BaseClass.cls +0 -0
  480. /package/examples/{plain-markdown → markdown}/force-app/classes/ParentInterface.cls +0 -0
  481. /package/examples/{plain-markdown → markdown}/force-app/classes/ReferencedEnum.cls +0 -0
  482. /package/examples/{plain-markdown → markdown}/force-app/classes/SampleClass.cls +0 -0
  483. /package/examples/{plain-markdown → markdown}/force-app/classes/SampleEnum.cls +0 -0
  484. /package/examples/{plain-markdown → markdown}/force-app/classes/SampleInterface.cls +0 -0
  485. /package/examples/{plain-markdown → markdown}/package-lock.json +0 -0
  486. /package/examples/{plain-markdown → markdown}/sfdx-project.json +0 -0
  487. /package/src/{service → application}/file-system.ts +0 -0
  488. /package/src/{model/__tests__ → core/__test__}/manifest.spec.ts +0 -0
  489. /package/src/{transpiler/markdown/plain-markdown → core/markdown/templates}/enum-template.ts +0 -0
  490. /package/src/{transpiler/markdown/plain-markdown → core/markdown/templates}/grouped-members-partial-template.ts +0 -0
  491. /package/src/{transpiler/markdown/plain-markdown → core/markdown/templates}/interface-template.ts +0 -0
  492. /package/src/{transpiler/markdown/plain-markdown → core/markdown/templates}/type-doc-partial.ts +0 -0
  493. /package/src/{service → core/openapi}/__tests__/manifest-factory.spec.ts +0 -0
  494. /package/src/{model → core}/openapi/__tests__/open-api.spec.ts +0 -0
  495. /package/src/{model → core}/openapi/apex-doc-types.ts +0 -0
  496. /package/src/{model → core/openapi}/apex-type-wrappers/ClassMirrorWrapper.ts +0 -0
  497. /package/src/{model → core/openapi}/apex-type-wrappers/MethodMirrorWrapper.ts +0 -0
  498. /package/src/{model → core}/openapi/open-api-types.ts +0 -0
  499. /package/src/{model → core}/openapi/open-api.ts +0 -0
@@ -0,0 +1,12 @@
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
+ };
11
+
12
+ exports.defaults = defaults;
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ const defaults = {
4
+ targetGenerator: "markdown",
5
+ targetDir: "./docs/",
6
+ scope: ["global"],
7
+ defaultGroupName: "Miscellaneous",
8
+ includeMetadata: false
9
+ };
10
+
11
+ exports.defaults = defaults;
@@ -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
+ documentationRootDir: ""
11
+ };
12
+
13
+ exports.defaults = defaults;
@@ -0,0 +1,101 @@
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 UserDefinedMarkdownConfig = {
14
+ targetGenerator: 'markdown';
15
+ sourceDir: string;
16
+ targetDir: string;
17
+ scope: string[];
18
+ defaultGroupName: string;
19
+ namespace?: string;
20
+ sortMembersAlphabetically: boolean;
21
+ includeMetadata: boolean;
22
+ documentationRootDir: string;
23
+ } & Partial<ConfigurableHooks>;
24
+
25
+ type SourceFileMetadata = {
26
+ filePath: string;
27
+ name: string;
28
+ type: 'interface' | 'class' | 'enum';
29
+ };
30
+
31
+ type DocPageReference = {
32
+ source: SourceFileMetadata;
33
+ // The name under which the type should be displayed in the documentation.
34
+ // By default, this will match the source.name, but it can be configured by the user.
35
+ displayName: string;
36
+ // The location of the file relative to the root of the documentation.
37
+ pathFromRoot: string;
38
+ };
39
+
40
+ type Frontmatter = string | Record<string, unknown> | null;
41
+
42
+ type ReferenceGuidePageData = {
43
+ frontmatter: Frontmatter;
44
+ content: string;
45
+ filePath: string;
46
+ };
47
+
48
+ type DocPageData = {
49
+ source: SourceFileMetadata;
50
+ group: string | null;
51
+ filePath: string;
52
+ frontmatter: Frontmatter;
53
+ content: string;
54
+ };
55
+
56
+ /**
57
+ * Represents a file to be skipped.
58
+ */
59
+ type Skip = {
60
+ readonly _tag: 'Skip';
61
+ };
62
+
63
+ // Configurable Hooks
64
+
65
+ type ConfigurableDocPageReference = Omit<DocPageReference, 'source'>;
66
+
67
+ type ConfigurableDocPageData = Omit<DocPageData, 'source' | 'filePath'>;
68
+
69
+ /**
70
+ * Allows changing where the files are written to.
71
+ */
72
+ type TransformReference = (
73
+ reference: DocPageReference,
74
+ ) => Partial<ConfigurableDocPageReference> | Promise<ConfigurableDocPageReference>;
75
+
76
+ /**
77
+ * Allows changing the frontmatter and content of the reference guide, or even if creating a reference
78
+ * guide will be skipped altogether.
79
+ */
80
+ type TransformReferenceGuide = (
81
+ referenceGuide: ReferenceGuidePageData,
82
+ ) => Partial<ReferenceGuidePageData> | Skip | Promise<Partial<ReferenceGuidePageData> | Skip>;
83
+
84
+ /**
85
+ * The main purpose if for allowing for doc pages to be skipped, but it can also be used to change the frontmatter
86
+ * and content of the doc pages.
87
+ */
88
+ type TransformDocs = (docs: DocPageData[]) => DocPageData[] | Promise<DocPageData[]>;
89
+
90
+ /**
91
+ * Allows changing the frontmatter and content of the doc pages.
92
+ */
93
+ type TransformDocPage = (
94
+ doc: DocPageData,
95
+ ) => Partial<ConfigurableDocPageData> | Promise<Partial<ConfigurableDocPageData>>;
96
+
97
+ type ConfigurableMarkdownConfig = Omit<SetOptional<UserDefinedMarkdownConfig, 'targetDir' | 'scope' | 'defaultGroupName' | 'includeMetadata' | 'sortMembersAlphabetically' | 'documentationRootDir'>, 'targetGenerator'>;
98
+ declare function defineMarkdownConfig(config: ConfigurableMarkdownConfig): UserDefinedMarkdownConfig;
99
+ declare function skip(): Skip;
100
+
101
+ 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-jLXD2y8-.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,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.
@@ -13,4 +13,4 @@ public sampleEnumFromBase
13
13
  ```
14
14
 
15
15
  #### Type
16
- [ns.SampleEnum](../Sample-Enums/ns.SampleEnum.md)
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](../miscellaneous/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();
@@ -12,4 +12,4 @@ public void sampleParentMethod()
12
12
  ```
13
13
 
14
14
  #### Return Type
15
- **void**
15
+ **void**
@@ -5,4 +5,4 @@ ns
5
5
 
6
6
  ## Values
7
7
  | Value | Description |
8
- |-------|-------------|
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
@@ -4,33 +4,30 @@
4
4
 
5
5
  This is a sample interface
6
6
 
7
+ **Mermaid**
8
+
9
+ graph TD
10
+ A[SampleInterface] --&gt;|extends| B[ParentInterface]
11
+ B --&gt;|extends| C[GrandParentInterface]
12
+ C --&gt;|extends| D[GreatGrandParentInterface]
13
+
7
14
  **Author** John Doe
8
15
 
9
16
  **Date** 2020-01-01
10
17
 
11
- **See** [ns.SampleEnum](../Sample-Enums/ns.SampleEnum.md)
18
+ **See** [SampleEnum](../sample-enums/SampleEnum.md)
12
19
 
13
- **See** [ns.ReferencedEnum](./ns.ReferencedEnum.md)
20
+ **See** [ReferencedEnum](../miscellaneous/ReferencedEnum.md)
14
21
 
15
22
  ## Namespace
16
23
  ns
17
24
 
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
25
  ## Example
27
- ```apex
28
- SampleInterface sampleInterface = new SampleInterface();
26
+ SampleInterface sampleInterface &#x3D; new SampleInterface();
29
27
  sampleInterface.sampleMethod();
30
- ```
31
28
 
32
29
  **Extends**
33
- [ns.ParentInterface](./ns.ParentInterface.md)
30
+ [ParentInterface](../miscellaneous/ParentInterface.md)
34
31
 
35
32
  ## Methods
36
33
  ### `sampleMethod()`
@@ -39,9 +36,20 @@ sampleInterface.sampleMethod();
39
36
 
40
37
  This is a sample method
41
38
 
42
- **Custom Tag** This is a custom tag
39
+ **Custom Tag**
40
+
41
+ This is a custom tag
42
+
43
+ **Another Custom Tag**
43
44
 
44
- **Another Custom Tag** This is another custom tag
45
+ This is another custom tag
46
+
47
+ **Mermaid**
48
+
49
+ graph TD
50
+ A[SampleInterface] --&gt;|extends| B[ParentInterface]
51
+ B --&gt;|extends| C[GrandParentInterface]
52
+ C --&gt;|extends| D[GreatGrandParentInterface]
45
53
 
46
54
  #### Signature
47
55
  ```apex
@@ -54,23 +62,13 @@ public String sampleMethod()
54
62
  Some return value
55
63
 
56
64
  #### Throws
57
- [ns.SampleException](./ns.SampleException.md): This is a sample exception
65
+ [SampleException](../miscellaneous/SampleException.md): This is a sample exception
58
66
 
59
67
  AnotherSampleException: This is another sample exception
60
68
 
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
69
  #### Example
70
- ```apex
71
- SampleInterface sampleInterface = new SampleInterface();
70
+ SampleInterface sampleInterface &#x3D; new SampleInterface();
72
71
  sampleInterface.sampleMethod();
73
- ```
74
72
 
75
73
  ---
76
74
 
@@ -80,7 +78,6 @@ sampleInterface.sampleMethod();
80
78
  `DEPRECATED`
81
79
 
82
80
  This is a sample method with parameters
83
-
84
81
  Sometimes it won&#x27;t be possible to find a NonExistent link.
85
82
 
86
83
  #### Signature
@@ -93,10 +90,10 @@ public SampleEnum sampleMethodWithParams(String param1, Integer param2, SampleEn
93
90
  |------|------|-------------|
94
91
  | param1 | String | This is the first parameter |
95
92
  | param2 | Integer | This is the second parameter |
96
- | theEnum | [ns.SampleEnum](../Sample-Enums/ns.SampleEnum.md) | This is an enum parameter |
93
+ | theEnum | [SampleEnum](../sample-enums/SampleEnum.md) | This is an enum parameter |
97
94
 
98
95
  #### Return Type
99
- **[ns.SampleEnum](../Sample-Enums/ns.SampleEnum.md)**
96
+ **[SampleEnum](../sample-enums/SampleEnum.md)**
100
97
 
101
98
  Some return value
102
99
 
@@ -112,4 +109,4 @@ public void sampleParentMethod()
112
109
  ```
113
110
 
114
111
  #### Return Type
115
- **void**
112
+ **void**