@cparra/apexdocs 3.0.0-rc.0 → 3.0.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 (107) hide show
  1. package/README.md +50 -571
  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/examples/README.md +5 -0
  20. package/examples/docsify/README.md +17 -0
  21. package/examples/docsify/apexdocs.config.ts +13 -0
  22. package/examples/docsify/classes/ASampleClass.cls +57 -0
  23. package/examples/docsify/classes/CodeControl.cls +19 -0
  24. package/examples/docsify/classes/SampleClass.cls +95 -0
  25. package/examples/docsify/classes/SampleInterface.cls +17 -0
  26. package/examples/docsify/classes/SomeDto.cls +122 -0
  27. package/examples/docsify/docs/.nojekyll +0 -0
  28. package/examples/docsify/docs/README.md +25 -0
  29. package/examples/docsify/docs/_config.yml +1 -0
  30. package/examples/docsify/docs/index.html +22 -0
  31. package/examples/docsify/docs/miscellaneous/ASampleClass.md +88 -0
  32. package/examples/docsify/docs/miscellaneous/CodeControl.md +107 -0
  33. package/examples/docsify/docs/miscellaneous/SomeDto.md +244 -0
  34. package/examples/docsify/docs/sample-classes/SampleClass.md +171 -0
  35. package/examples/docsify/docs/sample-interfaces/SampleInterface.md +36 -0
  36. package/examples/docsify/package-lock.json +2459 -0
  37. package/examples/docsify/package.json +14 -0
  38. package/examples/imported/.forceignore +12 -0
  39. package/examples/imported/README.md +6 -0
  40. package/examples/imported/config/project-scratch-def.json +5 -0
  41. package/examples/imported/docs/index.md +109 -0
  42. package/examples/imported/docs/miscellaneous/BaseClass.md +13 -0
  43. package/examples/imported/docs/miscellaneous/MultiInheritanceClass.md +69 -0
  44. package/examples/imported/docs/miscellaneous/ParentInterface.md +12 -0
  45. package/examples/imported/docs/miscellaneous/ReferencedEnum.md +5 -0
  46. package/examples/imported/docs/miscellaneous/SampleException.md +21 -0
  47. package/examples/imported/docs/miscellaneous/SampleInterface.md +113 -0
  48. package/examples/imported/docs/miscellaneous/Url.md +308 -0
  49. package/examples/imported/docs/sample-enums/SampleEnum.md +33 -0
  50. package/examples/imported/docs/samplegroup/SampleClass.md +167 -0
  51. package/examples/imported/force-app/classes/BaseClass.cls +3 -0
  52. package/examples/imported/force-app/classes/MultiInheritanceClass.cls +1 -0
  53. package/examples/imported/force-app/classes/ParentInterface.cls +3 -0
  54. package/examples/imported/force-app/classes/ReferencedEnum.cls +3 -0
  55. package/examples/imported/force-app/classes/SampleClass.cls +72 -0
  56. package/examples/imported/force-app/classes/SampleInterface.cls +50 -0
  57. package/examples/imported/force-app/classes/Url.cls +196 -0
  58. package/examples/imported/package-lock.json +665 -0
  59. package/examples/imported/package.json +6 -0
  60. package/examples/imported/scripts/process-docs.mjs +16 -0
  61. package/examples/imported/sfdx-project.json +12 -0
  62. package/examples/markdown/README.md +7 -0
  63. package/examples/markdown-jsconfig/README.md +9 -0
  64. package/examples/markdown-jsconfig/apexdocs.config.mjs +1 -0
  65. package/examples/markdown-jsconfig/docs/index.md +1 -1
  66. package/examples/open-api/README.md +5 -0
  67. package/examples/open-api/docs/openapi.json +2 -570
  68. package/examples/vitepress/README.md +25 -0
  69. package/examples/vitepress/apexdocs.config.ts +2 -0
  70. package/examples/vitepress/force-app/main/default/classes/{SampleClass.cls → feature-a/SampleClass.cls} +1 -0
  71. package/examples/vitepress/force-app/main/default/classes/feature-a/SampleEnum.cls +30 -0
  72. package/examples/vitepress/force-app/main/default/classes/feature-a/SampleException.cls +17 -0
  73. package/package.json +2 -2
  74. package/src/application/Apexdocs.ts +16 -19
  75. package/src/application/__tests__/apex-file-reader.spec.ts +108 -67
  76. package/src/application/apex-file-reader.ts +1 -0
  77. package/src/application/generators/openapi.ts +17 -13
  78. package/src/cli/args.ts +12 -3
  79. package/src/cli/commands/markdown.ts +14 -9
  80. package/src/cli/commands/openapi.ts +5 -5
  81. package/src/cli/generate.ts +20 -4
  82. package/src/core/markdown/__test__/generating-class-docs.spec.ts +14 -257
  83. package/src/core/markdown/__test__/generating-docs.spec.ts +271 -4
  84. package/src/core/markdown/__test__/generating-enum-docs.spec.ts +4 -264
  85. package/src/core/markdown/__test__/generating-interface-docs.spec.ts +4 -232
  86. package/src/core/markdown/__test__/generating-reference-guide.spec.ts +17 -1
  87. package/src/core/markdown/__test__/test-helpers.ts +3 -1
  88. package/src/core/markdown/adapters/__tests__/interface-adapter.spec.ts +3 -1
  89. package/src/core/markdown/adapters/renderable-to-page-data.ts +6 -4
  90. package/src/core/markdown/generate-docs.ts +13 -15
  91. package/src/core/markdown/reflection/__test__/filter-scope.spec.ts +2 -18
  92. package/src/core/markdown/reflection/__test__/helpers.ts +18 -0
  93. package/src/core/markdown/reflection/__test__/remove-excluded-tags.spec.ts +200 -0
  94. package/src/core/markdown/reflection/remove-excluded-tags.ts +168 -0
  95. package/src/core/markdown/reflection/{sort-members.ts → sort-types-and-members.ts} +7 -5
  96. package/src/core/markdown/templates/reference-guide.ts +2 -2
  97. package/src/core/openapi/__tests__/open-api-docs-processor.spec.ts +6 -3
  98. package/src/core/openapi/open-api-docs-processor.ts +3 -3
  99. package/src/core/openapi/parser.ts +5 -2
  100. package/src/core/shared/types.d.ts +4 -2
  101. package/src/defaults.ts +15 -3
  102. package/src/index.ts +65 -4
  103. package/src/util/error-logger.ts +36 -36
  104. package/src/util/logger.ts +18 -11
  105. /package/examples/{vitepress/force-app/main/default → imported/force-app}/classes/SampleEnum.cls +0 -0
  106. /package/examples/{vitepress/force-app/main/default → imported/force-app}/classes/SampleException.cls +0 -0
  107. /package/examples/vitepress/force-app/main/default/classes/{SampleInterface.cls → feature-a/SampleInterface.cls} +0 -0
@@ -0,0 +1,5 @@
1
+ # Examples
2
+
3
+ This folder contains a few examples of how to use ApexDocs for different use cases, and with different tools.
4
+
5
+ Go into each example folder to get an overview of how it works, and how you can configure it for your own project.
@@ -0,0 +1,17 @@
1
+ # Docsify Example
2
+
3
+ This project contains an example on how to generate documentation to be rendered with [Docsify](https://docsify.js.org).
4
+
5
+ ## Getting Started
6
+
7
+ * Follow the Docsify getting started instructions [here](https://docsify.js.org/#/quickstart).
8
+
9
+ ## Configuration
10
+
11
+ Take a look at the `apexdocs.config.ts` file to see how the configuration is set up.
12
+
13
+ Pay special attention to the following:
14
+
15
+ * `linkingStrategy` -> This must be set to "none" for Docsify to correctly render the links.
16
+
17
+ * `transformReferenceGuide` -> Overrides the name of the `index` file to `README` so that Docsify can correctly render the home page.
@@ -0,0 +1,13 @@
1
+ import { defineMarkdownConfig } from '../../src';
2
+
3
+ export default defineMarkdownConfig({
4
+ sourceDir: 'classes',
5
+ targetDir: 'docs',
6
+ scope: ['public', 'global'],
7
+ linkingStrategy: 'none',
8
+ transformReferenceGuide: () => {
9
+ return {
10
+ outputDocPath: 'README.md',
11
+ };
12
+ },
13
+ });
@@ -0,0 +1,57 @@
1
+ /**
2
+ * @description This is a class description.
3
+ * @see SomeDto
4
+ * @see SampleInterface
5
+ * @mermaid
6
+ * ```mermaid
7
+ * sequenceDiagram
8
+ * participant dotcom
9
+ * participant iframe
10
+ * participant viewscreen
11
+ * dotcom->>iframe: loads html w/ iframe url
12
+ * iframe->>viewscreen: request template
13
+ * viewscreen->>iframe: html & javascript
14
+ * iframe->>dotcom: iframe ready
15
+ * dotcom->>iframe: set mermaid data on iframe
16
+ * iframe->>iframe: render mermaid
17
+ * ```
18
+ */
19
+ public class ASampleClass {
20
+ /**
21
+ * @description Some description
22
+ * @param surveyType2 my value
23
+ * @return whatever
24
+ */
25
+ public static Map<String, Object> getActiveSurveySettings(String surveyType2) {
26
+ System.debug('Map based example');
27
+ }
28
+
29
+ public static List< String > someMethod() {
30
+ System.debug('Some method.');
31
+ }
32
+
33
+ /**
34
+ * @description Executes commands based on the passed in argument.
35
+ */
36
+ public static String sampleMethod(List<String> argument) {
37
+ System.debug('Execute');
38
+ return '';
39
+ }
40
+
41
+ /**
42
+ * @description Calls the method.
43
+ * This methods allows you to call it.
44
+ */
45
+ public static void call() {
46
+ }
47
+
48
+ // /**
49
+ // * @description This is a String property.
50
+ // */
51
+ // String MyProp { get; set; }
52
+ //
53
+ // /**
54
+ // * @description This is a Decimal property.
55
+ // */
56
+ // Decimal AnotherProp { get; private set; }
57
+ }
@@ -0,0 +1,19 @@
1
+ public with sharing class CodeControl {
2
+
3
+ // @start-group Picklist constant for Code_Control__mdt.Logging__c
4
+ public static final String LOGGING_CONTROL_NONE = 'None';
5
+ public static final String LOGGING_CONTROL_DEBUG = 'Debug';
6
+ public static final String LOGGING_CONTROL_ERROR = 'Error';
7
+ // @end-group
8
+
9
+ // @start-group Picklist constants for Code_Control__mdt.Enabled__c
10
+ public static final String TRIGGER_CONTROL_ENABLED = 'Yes';
11
+ public static final String TRIGGER_CONTROL_DISABLED = 'No';
12
+ public static final String FEATURE_CONTROL_ENABLED = 'Yes';
13
+ public static final String FEATURE_CONTROL_DISABLED = 'No';
14
+ // @end-group
15
+
16
+ /* Special MDT values */
17
+ public static final String WILDCARD_SOURCE = 'CodeControl_Default';
18
+ public static final String SYSTEM_WIDE_SOURCE = 'CodeControl_Override';
19
+ }
@@ -0,0 +1,95 @@
1
+ /**
2
+ * @description This is a class description.
3
+ * @group Sample Classes
4
+ * @see SampleInterface
5
+ */
6
+ @NamespaceAccessible
7
+ public with sharing class SampleClass {
8
+ /**
9
+ * @description Constructs a SampleClass without any arguments.
10
+ * @example
11
+ * ```apex
12
+ * SampleClass sampleInstance = new SampleClass();
13
+ * ```
14
+ */
15
+ @NamespaceAccessible
16
+ public SampleClass() {
17
+ System.debug('Constructor');
18
+ }
19
+
20
+ /**
21
+ * @description Constructs a SampleClass with an argument.
22
+ * @param argument Some argument
23
+ */
24
+ public SampleClass(String argument) {
25
+ System.debug('Constructor');
26
+ }
27
+
28
+ /**
29
+ * @description Executes commands based on the passed in argument.
30
+ * @example
31
+ * ```apex
32
+ * String result = SampleClass.testMethod();
33
+ * System.debug(result);
34
+ * ```
35
+ */
36
+ @NamespaceAccessible
37
+ public static String someTestMethod(String argument) {
38
+ System.debug('Execute');
39
+ return '';
40
+ }
41
+
42
+
43
+ /**
44
+ * @description Calls the method.
45
+ * This methods allows you to call it.
46
+ */
47
+ public static void call() {
48
+ }
49
+
50
+ /**
51
+ * @description This is a String property.
52
+ */
53
+ public String MyProp { get; set; }
54
+
55
+ /**
56
+ * @description This is a Decimal property.
57
+ */
58
+ public Decimal AnotherProp { get; private set; }
59
+
60
+ /**
61
+ * @description Inner class belonging to SampleClass.
62
+ */
63
+ public class InnerClass {
64
+ /**
65
+ * @description Description of the inner property.
66
+ */
67
+ public String InnerProp {get; set;}
68
+
69
+ /**
70
+ * @description Executes from the inner class.
71
+ */
72
+ public void innerMethod() {
73
+ System.debug('Executing inner method.');
74
+ }
75
+ }
76
+
77
+ /**
78
+ * @description Inner class belonging to SampleClass.
79
+ */
80
+ public class AnotherInnerClass {
81
+ /**
82
+ * @description Description of the inner property.
83
+ */
84
+ public String InnerProp {
85
+ get; set;
86
+ }
87
+
88
+ /**
89
+ * @description Executes from the inner class.
90
+ */
91
+ public void innerMethod() {
92
+ System.debug('Executing inner method.');
93
+ }
94
+ }
95
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @description This is an interface description.
3
+ * @group Sample Interfaces
4
+ * @see SampleClass
5
+ */
6
+ public interface SampleInterface {
7
+ /**
8
+ * @description Executes the command.
9
+ */
10
+ void execute();
11
+
12
+ /**
13
+ * @description Returns a value based on the executed command.
14
+ * @return Empty value
15
+ */
16
+ String getValue();
17
+ }
@@ -0,0 +1,122 @@
1
+ /**
2
+ * @description Some description
3
+ * @see ASampleClass
4
+ */
5
+ public with sharing class SomeDto {
6
+ /**
7
+ * @description Used in cartItem.html
8
+ */
9
+ public class CartItemDto {
10
+ public CartItemDto(String id, String description, Decimal quantity, Decimal price, String currencyCode, String productImage, Boolean isDiscounted, Decimal adjustedAmount, String discountReason) {
11
+ this.Id = id;
12
+ this.Description = description;
13
+ this.Quantity = quantity;
14
+ this.Price = price.setScale(2);
15
+ this.CurrencyCode = currencyCode;
16
+ this.ProductImage = productImage;
17
+ this.IsDiscounted = isDiscounted;
18
+ this.AdjustedPrice = adjustedAmount.setScale(2);
19
+ this.DiscountReason = discountReason;
20
+ }
21
+
22
+ /**
23
+ * @description Id Unique identifier for this object.
24
+ */
25
+ @AuraEnabled
26
+ public String Id { get; set; }
27
+
28
+ /**
29
+ * @description Description The description to display for this item.
30
+ */
31
+ @AuraEnabled
32
+ public String Description { get; set; }
33
+
34
+ /**
35
+ * @description Quantity Amount of this item currently in the cart.
36
+ */
37
+ @AuraEnabled
38
+ public Decimal Quantity { get; set; }
39
+
40
+ /**
41
+ * @description Price Calculated price for this item.
42
+ */
43
+ @AuraEnabled
44
+ public Decimal Price { get; set; }
45
+
46
+ /**
47
+ * @description The currency code for this item.
48
+ */
49
+ @AuraEnabled
50
+ public String CurrencyCode { get; set; }
51
+
52
+ /**
53
+ * @description ProductImage Main display image to display for this item.
54
+ */
55
+ @AuraEnabled
56
+ public String ProductImage { get; set; }
57
+
58
+ /**
59
+ * @description IsDiscounted Whether the item has been discounted or not.
60
+ */
61
+ @AuraEnabled
62
+ public Boolean IsDiscounted { get; set; }
63
+
64
+ /**
65
+ * @description AdjustedPrice If the item has been discounted, this contains the adjusted (lower) price.
66
+ */
67
+ @AuraEnabled
68
+ public Decimal AdjustedPrice { get; set; }
69
+
70
+ /**
71
+ * @description DiscountReason If the item has been discounted, this contains a human-readable reason for the discount.
72
+ */
73
+ @AuraEnabled
74
+ public String DiscountReason { get; set; }
75
+ }
76
+
77
+ @AuraEnabled
78
+ public List<CartItemDto> Items { get; set; }
79
+
80
+ @AuraEnabled
81
+ public Decimal SubTotal { get; set; }
82
+
83
+ @AuraEnabled
84
+ public Decimal Total { get; set; }
85
+
86
+ @AuraEnabled
87
+ public Decimal Discounts { get; set; }
88
+
89
+ /**
90
+ * @description Constructs a CartDto
91
+ * @param proForma The pro forma
92
+ */
93
+ public CartDto(nams.Order proForma) {
94
+ this.Items = new List<CartDto.CartItemDto>();
95
+ this.SubTotal = proForma.getSubTotal().getValue().setScale(2);
96
+ this.Total = proForma.getGrandTotal().getValue().setScale(2);
97
+ this.Discounts = proForma.getTotalDiscounts().getValue().setScale(2);
98
+
99
+ for (OrderLine line : proForma.getLines()) {
100
+ String imageUrl;
101
+ if (!line.getProduct().getImages().isEmpty()) {
102
+ imageUrl = line.getProduct().getImages()[0].getImageUrl();
103
+ }
104
+ Boolean isDiscounted = line.getTotalDiscounts() != Money.zero();
105
+ String discountReason;
106
+ if (isDiscounted) {
107
+ discountReason = line.getAdjustments()[0].getDescription();
108
+ }
109
+ this.Items.add(new CartItemDto(
110
+ line.getId(),
111
+ line.getProduct().getName(),
112
+ line.getQuantity(),
113
+ line.getSubTotal().getValue(),
114
+ line.getUnitPrice().getCurrency(),
115
+ imageUrl,
116
+ isDiscounted,
117
+ line.getGrandTotal().getValue(),
118
+ discountReason
119
+ ));
120
+ }
121
+ }
122
+ }
File without changes
@@ -0,0 +1,25 @@
1
+ # Apex Reference Guide
2
+
3
+ ## Miscellaneous
4
+
5
+ ### [ASampleClass](miscellaneous/ASampleClass.md)
6
+
7
+ This is a class description.
8
+
9
+ ### [CodeControl](miscellaneous/CodeControl.md)
10
+
11
+ ### [SomeDto](miscellaneous/SomeDto.md)
12
+
13
+ Some description
14
+
15
+ ## Sample Classes
16
+
17
+ ### [SampleClass](sample-classes/SampleClass.md)
18
+
19
+ This is a class description.
20
+
21
+ ## Sample Interfaces
22
+
23
+ ### [SampleInterface](sample-interfaces/SampleInterface.md)
24
+
25
+ This is an interface description.
@@ -0,0 +1 @@
1
+ theme: jekyll-theme-cayman
@@ -0,0 +1,22 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <title>Document</title>
6
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
7
+ <meta name="description" content="Description">
8
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
9
+ <link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@4/lib/themes/vue.css">
10
+ </head>
11
+ <body>
12
+ <div id="app"></div>
13
+ <script>
14
+ window.$docsify = {
15
+ name: '',
16
+ repo: ''
17
+ }
18
+ </script>
19
+ <!-- Docsify v4 -->
20
+ <script src="//cdn.jsdelivr.net/npm/docsify@4"></script>
21
+ </body>
22
+ </html>
@@ -0,0 +1,88 @@
1
+ # ASampleClass Class
2
+
3
+ This is a class description.
4
+
5
+ **Mermaid**
6
+
7
+ ```mermaid
8
+ sequenceDiagram
9
+ participant dotcom
10
+ participant iframe
11
+ participant viewscreen
12
+ dotcom->>iframe: loads html w/ iframe url
13
+ iframe->>viewscreen: request template
14
+ viewscreen->>iframe: html & javascript
15
+ iframe->>dotcom: iframe ready
16
+ dotcom->>iframe: set mermaid data on iframe
17
+ iframe->>iframe: render mermaid
18
+ ```
19
+
20
+ **See** [SomeDto](miscellaneous/SomeDto.md)
21
+
22
+ **See** [SampleInterface](sample-interfaces/SampleInterface.md)
23
+
24
+ ## Methods
25
+ ### `getActiveSurveySettings(surveyType2)`
26
+
27
+ Some description
28
+
29
+ #### Signature
30
+ ```apex
31
+ public static Map<String,Object> getActiveSurveySettings(String surveyType2)
32
+ ```
33
+
34
+ #### Parameters
35
+ | Name | Type | Description |
36
+ |------|------|-------------|
37
+ | surveyType2 | String | my value |
38
+
39
+ #### Return Type
40
+ **Map&lt;String,Object&gt;**
41
+
42
+ whatever
43
+
44
+ ---
45
+
46
+ ### `someMethod()`
47
+
48
+ #### Signature
49
+ ```apex
50
+ public static List<String> someMethod()
51
+ ```
52
+
53
+ #### Return Type
54
+ **List&lt;String&gt;**
55
+
56
+ ---
57
+
58
+ ### `sampleMethod(argument)`
59
+
60
+ Executes commands based on the passed in argument.
61
+
62
+ #### Signature
63
+ ```apex
64
+ public static String sampleMethod(List<String> argument)
65
+ ```
66
+
67
+ #### Parameters
68
+ | Name | Type | Description |
69
+ |------|------|-------------|
70
+ | argument | List&lt;String&gt; | |
71
+
72
+ #### Return Type
73
+ **String**
74
+
75
+ ---
76
+
77
+ ### `call()`
78
+
79
+ Calls the method.
80
+ This methods allows you to call it.
81
+
82
+ #### Signature
83
+ ```apex
84
+ public static void call()
85
+ ```
86
+
87
+ #### Return Type
88
+ **void**
@@ -0,0 +1,107 @@
1
+ # CodeControl Class
2
+
3
+ ## Fields
4
+ ### Picklist constant for Code_Control__mdt.Logging__c
5
+ #### `LOGGING_CONTROL_NONE`
6
+
7
+ ##### Signature
8
+ ```apex
9
+ public static final LOGGING_CONTROL_NONE
10
+ ```
11
+
12
+ ##### Type
13
+ String
14
+
15
+ ---
16
+
17
+ #### `LOGGING_CONTROL_DEBUG`
18
+
19
+ ##### Signature
20
+ ```apex
21
+ public static final LOGGING_CONTROL_DEBUG
22
+ ```
23
+
24
+ ##### Type
25
+ String
26
+
27
+ ---
28
+
29
+ #### `LOGGING_CONTROL_ERROR`
30
+
31
+ ##### Signature
32
+ ```apex
33
+ public static final LOGGING_CONTROL_ERROR
34
+ ```
35
+
36
+ ##### Type
37
+ String
38
+
39
+ ### Picklist constants for Code_Control__mdt.Enabled__c
40
+ #### `TRIGGER_CONTROL_ENABLED`
41
+
42
+ ##### Signature
43
+ ```apex
44
+ public static final TRIGGER_CONTROL_ENABLED
45
+ ```
46
+
47
+ ##### Type
48
+ String
49
+
50
+ ---
51
+
52
+ #### `TRIGGER_CONTROL_DISABLED`
53
+
54
+ ##### Signature
55
+ ```apex
56
+ public static final TRIGGER_CONTROL_DISABLED
57
+ ```
58
+
59
+ ##### Type
60
+ String
61
+
62
+ ---
63
+
64
+ #### `FEATURE_CONTROL_ENABLED`
65
+
66
+ ##### Signature
67
+ ```apex
68
+ public static final FEATURE_CONTROL_ENABLED
69
+ ```
70
+
71
+ ##### Type
72
+ String
73
+
74
+ ---
75
+
76
+ #### `FEATURE_CONTROL_DISABLED`
77
+
78
+ ##### Signature
79
+ ```apex
80
+ public static final FEATURE_CONTROL_DISABLED
81
+ ```
82
+
83
+ ##### Type
84
+ String
85
+
86
+ ### Other
87
+ #### `WILDCARD_SOURCE`
88
+
89
+ ##### Signature
90
+ ```apex
91
+ public static final WILDCARD_SOURCE
92
+ ```
93
+
94
+ ##### Type
95
+ String
96
+
97
+ ---
98
+
99
+ #### `SYSTEM_WIDE_SOURCE`
100
+
101
+ ##### Signature
102
+ ```apex
103
+ public static final SYSTEM_WIDE_SOURCE
104
+ ```
105
+
106
+ ##### Type
107
+ String