@cparra/apexdocs 3.0.0-rc.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (226) hide show
  1. package/README.md +61 -576
  2. package/dist/cli/generate.js +73 -3094
  3. package/dist/defaults-BcE8DTat.js +13 -0
  4. package/dist/defaults-D07y_bq4.js +40 -0
  5. package/dist/defaults-gPzwP66p.js +14 -0
  6. package/dist/index.d.ts +35 -3
  7. package/dist/index.js +90 -2
  8. package/dist/logger-BEbUIfqN.js +3282 -0
  9. package/dist/logger-BGuf1PnL.js +3281 -0
  10. package/dist/logger-CWBRF2za.js +3284 -0
  11. package/dist/logger-CdBmDEN1.js +3283 -0
  12. package/dist/logger-Ce4QqPFR.js +3278 -0
  13. package/dist/logger-CyEVYaAC.js +3284 -0
  14. package/dist/logger-D7a83ycP.js +3277 -0
  15. package/dist/logger-DGaHeBKk.js +3279 -0
  16. package/dist/logger-Dqhl_lO_.js +3278 -0
  17. package/dist/logger-aySSWi0G.js +3280 -0
  18. package/dist/logger-qLCcAtiy.js +3284 -0
  19. package/package.json +5 -2
  20. package/.github/workflows/ci.yaml +0 -22
  21. package/.github/workflows/close_stale.yml +0 -22
  22. package/.prettierrc.js +0 -7
  23. package/__mocks__/chalk.js +0 -12
  24. package/__mocks__/log-update.js +0 -6
  25. package/eslint.config.mjs +0 -10
  26. package/examples/markdown/.forceignore +0 -12
  27. package/examples/markdown/config/project-scratch-def.json +0 -5
  28. package/examples/markdown/docs/index.md +0 -109
  29. package/examples/markdown/docs/miscellaneous/BaseClass.md +0 -16
  30. package/examples/markdown/docs/miscellaneous/MultiInheritanceClass.md +0 -72
  31. package/examples/markdown/docs/miscellaneous/ParentInterface.md +0 -15
  32. package/examples/markdown/docs/miscellaneous/ReferencedEnum.md +0 -8
  33. package/examples/markdown/docs/miscellaneous/SampleException.md +0 -24
  34. package/examples/markdown/docs/miscellaneous/SampleInterface.md +0 -116
  35. package/examples/markdown/docs/miscellaneous/Url.md +0 -311
  36. package/examples/markdown/docs/sample-enums/SampleEnum.md +0 -36
  37. package/examples/markdown/docs/samplegroup/SampleClass.md +0 -170
  38. package/examples/markdown/force-app/classes/BaseClass.cls +0 -3
  39. package/examples/markdown/force-app/classes/MultiInheritanceClass.cls +0 -1
  40. package/examples/markdown/force-app/classes/ParentInterface.cls +0 -3
  41. package/examples/markdown/force-app/classes/ReferencedEnum.cls +0 -3
  42. package/examples/markdown/force-app/classes/SampleClass.cls +0 -72
  43. package/examples/markdown/force-app/classes/SampleEnum.cls +0 -30
  44. package/examples/markdown/force-app/classes/SampleException.cls +0 -17
  45. package/examples/markdown/force-app/classes/SampleInterface.cls +0 -50
  46. package/examples/markdown/force-app/classes/Url.cls +0 -196
  47. package/examples/markdown/package-lock.json +0 -665
  48. package/examples/markdown/package.json +0 -20
  49. package/examples/markdown/sfdx-project.json +0 -12
  50. package/examples/markdown-jsconfig/.forceignore +0 -12
  51. package/examples/markdown-jsconfig/apexdocs.config.mjs +0 -21
  52. package/examples/markdown-jsconfig/config/project-scratch-def.json +0 -5
  53. package/examples/markdown-jsconfig/docs/index.md +0 -12
  54. package/examples/markdown-jsconfig/docs/miscellaneous/Url.md +0 -315
  55. package/examples/markdown-jsconfig/force-app/classes/Url.cls +0 -196
  56. package/examples/markdown-jsconfig/package-lock.json +0 -665
  57. package/examples/markdown-jsconfig/package.json +0 -15
  58. package/examples/markdown-jsconfig/sfdx-project.json +0 -12
  59. package/examples/open-api/config/project-scratch-def.json +0 -13
  60. package/examples/open-api/docs/openapi.json +0 -582
  61. package/examples/open-api/force-app/main/default/classes/ChildClass.cls +0 -42
  62. package/examples/open-api/force-app/main/default/classes/SampleClass.cls +0 -167
  63. package/examples/open-api/force-app/main/default/restapi/SampleRestResource.cls +0 -195
  64. package/examples/open-api/force-app/main/default/restapi/SampleRestResourceToSkip.cls +0 -35
  65. package/examples/open-api/force-app/main/default/restapi/SampleRestResourceWithInnerClass.cls +0 -24
  66. package/examples/open-api/force-app/main/default/restapi/SampleRestResourceWithoutApexDocs.cls +0 -15
  67. package/examples/open-api/force-app/main/default/restapi/references/Reference1.cls +0 -9
  68. package/examples/open-api/force-app/main/default/restapi/references/Reference2.cls +0 -9
  69. package/examples/open-api/force-app/main/default/restapi/references/Reference3.cls +0 -3
  70. package/examples/open-api/force-app/main/default/restapi/references/Reference4.cls +0 -3
  71. package/examples/open-api/force-app/main/default/restapi/references/Reference5.cls +0 -3
  72. package/examples/open-api/force-app/main/default/restapi/references/Reference6.cls +0 -6
  73. package/examples/open-api/force-app/main/default/restapi/references/Reference7.cls +0 -3
  74. package/examples/open-api/package-lock.json +0 -724
  75. package/examples/open-api/package.json +0 -20
  76. package/examples/open-api/sfdx-project.json +0 -12
  77. package/examples/vitepress/.forceignore +0 -12
  78. package/examples/vitepress/apexdocs.config.ts +0 -111
  79. package/examples/vitepress/config/project-scratch-def.json +0 -13
  80. package/examples/vitepress/docs/.vitepress/cache/deps/@theme_index.js +0 -259
  81. package/examples/vitepress/docs/.vitepress/cache/deps/@theme_index.js.map +0 -7
  82. package/examples/vitepress/docs/.vitepress/cache/deps/_metadata.json +0 -40
  83. package/examples/vitepress/docs/.vitepress/cache/deps/chunk-574YRH25.js +0 -11474
  84. package/examples/vitepress/docs/.vitepress/cache/deps/chunk-574YRH25.js.map +0 -7
  85. package/examples/vitepress/docs/.vitepress/cache/deps/chunk-E5DZZB2I.js +0 -9172
  86. package/examples/vitepress/docs/.vitepress/cache/deps/chunk-E5DZZB2I.js.map +0 -7
  87. package/examples/vitepress/docs/.vitepress/cache/deps/package.json +0 -3
  88. package/examples/vitepress/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js +0 -4339
  89. package/examples/vitepress/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js.map +0 -7
  90. package/examples/vitepress/docs/.vitepress/cache/deps/vitepress___@vueuse_core.js +0 -567
  91. package/examples/vitepress/docs/.vitepress/cache/deps/vitepress___@vueuse_core.js.map +0 -7
  92. package/examples/vitepress/docs/.vitepress/cache/deps/vue.js +0 -323
  93. package/examples/vitepress/docs/.vitepress/cache/deps/vue.js.map +0 -7
  94. package/examples/vitepress/docs/.vitepress/config.mts +0 -21
  95. package/examples/vitepress/docs/.vitepress/sidebar.json +0 -119
  96. package/examples/vitepress/docs/api-examples.md +0 -49
  97. package/examples/vitepress/docs/index-frontmatter.md +0 -16
  98. package/examples/vitepress/docs/index.md +0 -56
  99. package/examples/vitepress/docs/markdown-examples.md +0 -85
  100. package/examples/vitepress/docs/miscellaneous/BaseClass.md +0 -20
  101. package/examples/vitepress/docs/miscellaneous/MultiInheritanceClass.md +0 -76
  102. package/examples/vitepress/docs/miscellaneous/ParentInterface.md +0 -19
  103. package/examples/vitepress/docs/miscellaneous/ReferencedEnum.md +0 -15
  104. package/examples/vitepress/docs/miscellaneous/SampleException.md +0 -28
  105. package/examples/vitepress/docs/miscellaneous/SampleInterface.md +0 -116
  106. package/examples/vitepress/docs/miscellaneous/Url.md +0 -317
  107. package/examples/vitepress/docs/sample-enums/SampleEnum.md +0 -40
  108. package/examples/vitepress/docs/samplegroup/SampleClass.md +0 -174
  109. package/examples/vitepress/force-app/main/default/classes/BaseClass.cls +0 -3
  110. package/examples/vitepress/force-app/main/default/classes/MultiInheritanceClass.cls +0 -1
  111. package/examples/vitepress/force-app/main/default/classes/ParentInterface.cls +0 -3
  112. package/examples/vitepress/force-app/main/default/classes/ReferencedEnum.cls +0 -5
  113. package/examples/vitepress/force-app/main/default/classes/SampleClass.cls +0 -72
  114. package/examples/vitepress/force-app/main/default/classes/SampleEnum.cls +0 -30
  115. package/examples/vitepress/force-app/main/default/classes/SampleException.cls +0 -17
  116. package/examples/vitepress/force-app/main/default/classes/SampleInterface.cls +0 -46
  117. package/examples/vitepress/force-app/main/default/classes/Url.cls +0 -198
  118. package/examples/vitepress/package-lock.json +0 -2574
  119. package/examples/vitepress/package.json +0 -18
  120. package/examples/vitepress/sfdx-project.json +0 -12
  121. package/jest.config.js +0 -10
  122. package/jest.d.ts +0 -7
  123. package/src/application/Apexdocs.ts +0 -72
  124. package/src/application/__tests__/apex-file-reader.spec.ts +0 -87
  125. package/src/application/apex-file-reader.ts +0 -55
  126. package/src/application/file-system.ts +0 -69
  127. package/src/application/file-writer.ts +0 -43
  128. package/src/application/generators/markdown.ts +0 -45
  129. package/src/application/generators/openapi.ts +0 -71
  130. package/src/cli/args.ts +0 -46
  131. package/src/cli/commands/markdown.ts +0 -51
  132. package/src/cli/commands/openapi.ts +0 -36
  133. package/src/cli/generate.ts +0 -16
  134. package/src/core/__test__/manifest.spec.ts +0 -16
  135. package/src/core/manifest.ts +0 -90
  136. package/src/core/markdown/__test__/expect-extensions.ts +0 -32
  137. package/src/core/markdown/__test__/generating-class-docs.spec.ts +0 -605
  138. package/src/core/markdown/__test__/generating-docs.spec.ts +0 -111
  139. package/src/core/markdown/__test__/generating-enum-docs.spec.ts +0 -321
  140. package/src/core/markdown/__test__/generating-interface-docs.spec.ts +0 -397
  141. package/src/core/markdown/__test__/generating-reference-guide.spec.ts +0 -180
  142. package/src/core/markdown/__test__/inheritance-chain.test.ts +0 -54
  143. package/src/core/markdown/__test__/test-helpers.ts +0 -23
  144. package/src/core/markdown/adapters/__tests__/documentables.spec.ts +0 -109
  145. package/src/core/markdown/adapters/__tests__/interface-adapter.spec.ts +0 -148
  146. package/src/core/markdown/adapters/__tests__/link-generator.spec.ts +0 -130
  147. package/src/core/markdown/adapters/__tests__/references.spec.ts +0 -136
  148. package/src/core/markdown/adapters/apex-types.ts +0 -238
  149. package/src/core/markdown/adapters/documentables.ts +0 -115
  150. package/src/core/markdown/adapters/fields-and-properties.ts +0 -45
  151. package/src/core/markdown/adapters/generate-link.ts +0 -82
  152. package/src/core/markdown/adapters/inline.ts +0 -143
  153. package/src/core/markdown/adapters/methods-and-constructors.ts +0 -133
  154. package/src/core/markdown/adapters/reference-guide.ts +0 -37
  155. package/src/core/markdown/adapters/renderable-bundle.ts +0 -61
  156. package/src/core/markdown/adapters/renderable-to-page-data.ts +0 -89
  157. package/src/core/markdown/adapters/type-utils.ts +0 -13
  158. package/src/core/markdown/adapters/types.d.ts +0 -180
  159. package/src/core/markdown/generate-docs.ts +0 -212
  160. package/src/core/markdown/reflection/__test__/filter-scope.spec.ts +0 -306
  161. package/src/core/markdown/reflection/filter-scope.ts +0 -13
  162. package/src/core/markdown/reflection/inheritance-chain-expanion.ts +0 -22
  163. package/src/core/markdown/reflection/inheritance-chain.ts +0 -23
  164. package/src/core/markdown/reflection/inherited-member-expansion.ts +0 -105
  165. package/src/core/markdown/reflection/reflect-source.ts +0 -123
  166. package/src/core/markdown/reflection/sort-members.ts +0 -59
  167. package/src/core/markdown/templates/class-template.ts +0 -75
  168. package/src/core/markdown/templates/constructors-partial-template.ts +0 -32
  169. package/src/core/markdown/templates/documentable-partial-template.ts +0 -26
  170. package/src/core/markdown/templates/enum-template.ts +0 -12
  171. package/src/core/markdown/templates/fieldsPartialTemplate.ts +0 -23
  172. package/src/core/markdown/templates/grouped-members-partial-template.ts +0 -6
  173. package/src/core/markdown/templates/hookable.ts +0 -7
  174. package/src/core/markdown/templates/interface-template.ts +0 -16
  175. package/src/core/markdown/templates/methods-partial-template.ts +0 -43
  176. package/src/core/markdown/templates/reference-guide.ts +0 -14
  177. package/src/core/markdown/templates/template.ts +0 -114
  178. package/src/core/markdown/templates/type-doc-partial.ts +0 -27
  179. package/src/core/markdown/utils.ts +0 -3
  180. package/src/core/openApiSettings.ts +0 -41
  181. package/src/core/openapi/__tests__/manifest-factory.spec.ts +0 -16
  182. package/src/core/openapi/__tests__/open-api-docs-processor.spec.ts +0 -56
  183. package/src/core/openapi/__tests__/open-api.spec.ts +0 -22
  184. package/src/core/openapi/apex-doc-types.ts +0 -26
  185. package/src/core/openapi/apex-type-wrappers/ClassMirrorWrapper.ts +0 -12
  186. package/src/core/openapi/apex-type-wrappers/MethodMirrorWrapper.ts +0 -11
  187. package/src/core/openapi/apex-type-wrappers/__tests__/ClassMirrorWrapper.spec.ts +0 -15
  188. package/src/core/openapi/file-container.ts +0 -13
  189. package/src/core/openapi/manifest-factory.ts +0 -16
  190. package/src/core/openapi/open-api-docs-processor.ts +0 -93
  191. package/src/core/openapi/open-api-types.ts +0 -119
  192. package/src/core/openapi/open-api.ts +0 -45
  193. package/src/core/openapi/openapi-type-file.ts +0 -12
  194. package/src/core/openapi/parser.ts +0 -160
  195. package/src/core/openapi/parsers/Builder.ts +0 -40
  196. package/src/core/openapi/parsers/MethodParser.ts +0 -249
  197. package/src/core/openapi/parsers/ParameterObjectBuilder.ts +0 -13
  198. package/src/core/openapi/parsers/ReferenceBuilder.ts +0 -299
  199. package/src/core/openapi/parsers/RequestBodyBuilder.ts +0 -19
  200. package/src/core/openapi/parsers/ResponsesBuilder.ts +0 -21
  201. package/src/core/openapi/parsers/__tests__/MethodParser.spec.ts +0 -44
  202. package/src/core/openapi/parsers/__tests__/ParameterObjectBuilder.spec.ts +0 -68
  203. package/src/core/openapi/parsers/__tests__/ReferenceBuilder.spec.ts +0 -751
  204. package/src/core/openapi/parsers/__tests__/RequestBodyBuilder.spec.ts +0 -64
  205. package/src/core/openapi/parsers/__tests__/ResponsesBuilder.spec.ts +0 -55
  206. package/src/core/openapi/transpiler.ts +0 -17
  207. package/src/core/openapi/types-repository.ts +0 -54
  208. package/src/core/parse-apex-metadata.ts +0 -30
  209. package/src/core/shared/types.d.ts +0 -148
  210. package/src/core/shared/utils.ts +0 -5
  211. package/src/defaults.ts +0 -9
  212. package/src/index.ts +0 -49
  213. package/src/test-helpers/AnnotationBuilder.ts +0 -29
  214. package/src/test-helpers/ClassMirrorBuilder.ts +0 -69
  215. package/src/test-helpers/DocCommentAnnotationBuilder.ts +0 -24
  216. package/src/test-helpers/DocCommentBuilder.ts +0 -36
  217. package/src/test-helpers/FieldMirrorBuilder.ts +0 -59
  218. package/src/test-helpers/InterfaceMirrorBuilder.ts +0 -39
  219. package/src/test-helpers/MethodMirrorBuilder.ts +0 -77
  220. package/src/test-helpers/SettingsBuilder.ts +0 -17
  221. package/src/util/error-logger.ts +0 -92
  222. package/src/util/fp.ts +0 -3
  223. package/src/util/logger.ts +0 -44
  224. package/src/util/string-utils.ts +0 -7
  225. package/tsconfig.json +0 -25
  226. package/tslint.json +0 -6
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cparra/apexdocs",
3
- "version": "3.0.0-rc.0",
3
+ "version": "3.1.0",
4
4
  "description": "Library with CLI capabilities to generate documentation for Salesforce Apex classes.",
5
5
  "keywords": [
6
6
  "apex",
@@ -12,6 +12,9 @@
12
12
  ],
13
13
  "exports": "./dist/index.js",
14
14
  "types": "./dist/index.d.ts",
15
+ "files": [
16
+ "dist"
17
+ ],
15
18
  "bin": {
16
19
  "apexdocs": "./dist/cli/generate.js"
17
20
  },
@@ -59,7 +62,7 @@
59
62
  ]
60
63
  },
61
64
  "dependencies": {
62
- "@cparra/apex-reflection": "2.12.1",
65
+ "@cparra/apex-reflection": "2.13.1",
63
66
  "@types/js-yaml": "^4.0.9",
64
67
  "@types/yargs": "^17.0.32",
65
68
  "chalk": "^4.1.2",
@@ -1,22 +0,0 @@
1
- name: CI
2
-
3
- on:
4
- push:
5
- branches: ["master", "develop"]
6
- pull_request:
7
- branches: ["main", "develop"]
8
- workflow_dispatch:
9
-
10
- jobs:
11
- build:
12
- runs-on: ubuntu-latest
13
- steps:
14
- - uses: actions/checkout@v4
15
- - name: Setup node
16
- uses: actions/setup-node@v3
17
- with:
18
- node-version: "20"
19
- cache: "npm"
20
- - run: npm ci
21
- - run: npm run build --if-present
22
- - run: npm test
@@ -1,22 +0,0 @@
1
- name: Close inactive issues
2
- on:
3
- schedule:
4
- - cron: "30 1 * * *"
5
-
6
- jobs:
7
- close-issues:
8
- runs-on: ubuntu-latest
9
- permissions:
10
- issues: write
11
- pull-requests: write
12
- steps:
13
- - uses: actions/stale@v5
14
- with:
15
- days-before-issue-stale: 30
16
- days-before-issue-close: 14
17
- stale-issue-label: "stale"
18
- stale-issue-message: "This issue is stale because it has been open for 30 days with no activity."
19
- close-issue-message: "This issue was closed because it has been inactive for 14 days since being marked as stale."
20
- days-before-pr-stale: -1
21
- days-before-pr-close: -1
22
- repo-token: ${{ secrets.GITHUB_TOKEN }}
package/.prettierrc.js DELETED
@@ -1,7 +0,0 @@
1
- module.exports = {
2
- semi: true,
3
- trailingComma: 'all',
4
- singleQuote: true,
5
- printWidth: 120,
6
- tabWidth: 2,
7
- };
@@ -1,12 +0,0 @@
1
- // __mocks__/chalk.js
2
- module.exports = new Proxy(
3
- {},
4
- {
5
- get: function (target, property) {
6
- return property === 'default' ? this : (text) => text;
7
- },
8
- green: function (text) {
9
- return text;
10
- },
11
- },
12
- );
@@ -1,6 +0,0 @@
1
- // This is a basic mock that can be expanded based on your needs.
2
- // It mocks the main function of log-update to just log to console or do nothing.
3
- module.exports = {
4
- // Mock the main function to just log the text or do nothing
5
- default: function () {},
6
- };
package/eslint.config.mjs DELETED
@@ -1,10 +0,0 @@
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);
@@ -1,12 +0,0 @@
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__/**
@@ -1,5 +0,0 @@
1
- {
2
- "orgName": "cesarparra company",
3
- "edition": "Developer",
4
- "features": []
5
- }
@@ -1,109 +0,0 @@
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.
@@ -1,16 +0,0 @@
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)
@@ -1,72 +0,0 @@
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();
@@ -1,15 +0,0 @@
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**
@@ -1,8 +0,0 @@
1
- # ReferencedEnum Enum
2
-
3
- ## Namespace
4
- ns
5
-
6
- ## Values
7
- | Value | Description |
8
- |-------|-------------|
@@ -1,24 +0,0 @@
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
@@ -1,116 +0,0 @@
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**