@cparra/apexdocs 2.13.1 → 2.15.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 (54) hide show
  1. package/README.md +16 -13
  2. package/docs/README.md +1 -84
  3. package/docs/types/Classes/nspc.AnotherInterface.md +7 -0
  4. package/docs/{Misc-Group → types/Classes}/nspc.ChildClass.md +9 -3
  5. package/docs/{Main → types/Main}/nspc.GroupedClass.md +1 -1
  6. package/docs/{Main → types/Main}/nspc.SampleClass.md +5 -9
  7. package/docs/{Misc-Group → types/Misc-Group}/nspc.InterfaceWithInheritance.md +2 -2
  8. package/docs/{Misc-Group → types/Misc-Group}/nspc.ParentClass.md +1 -1
  9. package/docs/types/README.md +91 -0
  10. package/examples/force-app/main/default/classes/AnotherInterface.cls +4 -0
  11. package/examples/force-app/main/default/classes/ChildClass.cls +4 -0
  12. package/lib/cli/generate.js +17 -0
  13. package/lib/cli/generate.js.map +1 -1
  14. package/lib/model/markdown-home-file.js +1 -1
  15. package/lib/model/markdown-home-file.js.map +1 -1
  16. package/lib/service/apex-file-reader.js +4 -1
  17. package/lib/service/apex-file-reader.js.map +1 -1
  18. package/lib/service/parser.d.ts +1 -1
  19. package/lib/service/parser.js +9 -11
  20. package/lib/service/parser.js.map +1 -1
  21. package/lib/settings.d.ts +6 -0
  22. package/lib/settings.js +11 -1
  23. package/lib/settings.js.map +1 -1
  24. package/lib/test-helpers/SettingsBuilder.js +2 -0
  25. package/lib/test-helpers/SettingsBuilder.js.map +1 -1
  26. package/lib/transpiler/markdown/class-file-generatorHelper.js +3 -1
  27. package/lib/transpiler/markdown/class-file-generatorHelper.js.map +1 -1
  28. package/lib/transpiler/transpiler.js +1 -1
  29. package/lib/transpiler/transpiler.js.map +1 -1
  30. package/package.json +2 -2
  31. package/src/cli/generate.ts +18 -0
  32. package/src/model/markdown-home-file.ts +1 -1
  33. package/src/service/__tests__/apex-file-reader.spec.ts +2 -0
  34. package/src/service/apex-file-reader.ts +5 -1
  35. package/src/service/parser.ts +36 -41
  36. package/src/settings.ts +16 -1
  37. package/src/test-helpers/SettingsBuilder.ts +2 -0
  38. package/src/transpiler/markdown/class-file-generatorHelper.ts +2 -1
  39. package/src/transpiler/transpiler.ts +1 -1
  40. package/docs/Misc-Group/nspc.AnotherInterface.md +0 -1
  41. /package/docs/{Misc-Group → types/Misc-Group}/nspc.GrandparentClass.md +0 -0
  42. /package/docs/{Misc-Group → types/Misc-Group}/nspc.MemberGrouping.md +0 -0
  43. /package/docs/{Misc-Group → types/Misc-Group}/nspc.Reference1.md +0 -0
  44. /package/docs/{Misc-Group → types/Misc-Group}/nspc.Reference2.md +0 -0
  45. /package/docs/{Misc-Group → types/Misc-Group}/nspc.Reference3.md +0 -0
  46. /package/docs/{Misc-Group → types/Misc-Group}/nspc.Reference4.md +0 -0
  47. /package/docs/{Misc-Group → types/Misc-Group}/nspc.Reference5.md +0 -0
  48. /package/docs/{Misc-Group → types/Misc-Group}/nspc.Reference6.md +0 -0
  49. /package/docs/{Misc-Group → types/Misc-Group}/nspc.Reference7.md +0 -0
  50. /package/docs/{Misc-Group → types/Misc-Group}/nspc.SampleClassWithoutModifier.md +0 -0
  51. /package/docs/{Misc-Group → types/Misc-Group}/nspc.SampleRestResource.md +0 -0
  52. /package/docs/{Misc-Group → types/Misc-Group}/nspc.SampleRestResourceWithInnerClass.md +0 -0
  53. /package/docs/{Misc-Group → types/Misc-Group}/nspc.SampleRestResourceWithoutApexDocs.md +0 -0
  54. /package/docs/{Sample-Interfaces → types/Sample-Interfaces}/nspc.SampleInterface.md +0 -0
package/README.md CHANGED
@@ -118,19 +118,22 @@ apexdocs-generate
118
118
 
119
119
  The CLI supports the following parameters:
120
120
 
121
- | Parameter | Alias | Description | Default | Required |
122
- |--------------------|-------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|----------|
123
- | --sourceDir | -s | The directory location which contains your apex .cls classes. | N/A | Yes |
124
- | --targetDir | -t | The directory location where documentation will be generated to. | `docs` | No |
125
- | --recursive | -r | Whether .cls classes will be searched for recursively in the directory provided. | `true` | No |
126
- | --scope | -p | A list of scopes to document. Values should be separated by a space, e.g --scope public private. Note that this setting is ignored if generating an OpenApi REST specification since that looks for classes annotated with @RestResource. | `global` | No |
127
- | --targetGenerator | -g | Define the static file generator for which the documents will be created. Currently supports: `jekyll`, `docsify`, `plain-markdown`, and `openapi`. | `jekyll` | No |
128
- | --indexOnly | N/A | Defines whether only the index file should be generated. | `false` | No |
129
- | --defaultGroupName | N/A | Defines the `@group` name to be used when a file does not specify it. | `Miscellaneous` | No |
130
- | --sanitizeHtml | N/A | When on, any special character within your ApexDocs is converted into its HTML code representation. This is specially useful when generic objects are described within the docs, e.g. "List< Foo>", "Map<Foo, Bar>" because otherwise the content within < and > would be treated as HTML tags and not shown in the output. Content in @example blocks are never sanitized. | `Apex REST Api` | No |
131
- | --openApiTitle | N/A | If using "openapi" as the target generator, this allows you to specify the OpenApi title value. | true | No |
132
- | --namespace | N/A | The package namespace, if any. If this value is provided the namespace will be added as a prefix to all of the parsed files. If generating an OpenApi definition, it will be added to the file's Server Url. | N/A | No |
133
- | --openApiFileName | N/A | If using "openapi" as the target generator, this allows you to specify the name of the output file. | `openapi` | No |
121
+ | Parameter | Alias | Description | Default | Required |
122
+ |------------------------|-------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|----------|
123
+ | --sourceDir | -s | The directory location which contains your apex .cls classes. | N/A | Yes |
124
+ | --targetDir | -t | The directory location where documentation will be generated to. | `docs` | No |
125
+ | --recursive | -r | Whether .cls classes will be searched for recursively in the directory provided. | `true` | No |
126
+ | --scope | -p | A list of scopes to document. Values should be separated by a space, e.g --scope public private. Note that this setting is ignored if generating an OpenApi REST specification since that looks for classes annotated with @RestResource. | `global` | No |
127
+ | --targetGenerator | -g | Define the static file generator for which the documents will be created. Currently supports: `jekyll`, `docsify`, `plain-markdown`, and `openapi`. | `jekyll` | No |
128
+ | --indexOnly | N/A | Defines whether only the index file should be generated. | `false` | No |
129
+ | --defaultGroupName | N/A | Defines the `@group` name to be used when a file does not specify it. | `Miscellaneous` | No |
130
+ | --sanitizeHtml | N/A | When on, any special character within your ApexDocs is converted into its HTML code representation. This is specially useful when generic objects are described within the docs, e.g. "List< Foo>", "Map<Foo, Bar>" because otherwise the content within < and > would be treated as HTML tags and not shown in the output. Content in @example blocks are never sanitized. | `Apex REST Api` | No |
131
+ | --openApiTitle | N/A | If using "openapi" as the target generator, this allows you to specify the OpenApi title value. | true | No |
132
+ | --title | N/A | Allows you to specify the home page main title. If using "openapi" this acts as an alias to the openApiTitle parameter | `Classes` | No |
133
+ | --namespace | N/A | The package namespace, if any. If this value is provided the namespace will be added as a prefix to all of the parsed files. If generating an OpenApi definition, it will be added to the file's Server Url. | N/A | No |
134
+ | --openApiFileName | N/A | If using "openapi" as the target generator, this allows you to specify the name of the output file. | `openapi` | No |
135
+ | --includeMetadata | N/A | Whether to include the file's meta.xml information: Whether it is active and and the API version | false | No |
136
+ | --documentationRootDir | N/A | The root directory where the documentation will be generated. This is useful when you want to generate the documentation in a subdirectory of your project. | N/A | No |
134
137
 
135
138
  ### Importing to your project
136
139
 
package/docs/README.md CHANGED
@@ -1,84 +1 @@
1
- # Classes
2
- ## Misc Group
3
-
4
- ### [nspc.AnotherInterface](/Misc-Group/nspc.AnotherInterface.md)
5
-
6
-
7
- ### [nspc.ChildClass](/Misc-Group/nspc.ChildClass.md)
8
-
9
-
10
- ### [nspc.GrandparentClass](/Misc-Group/nspc.GrandparentClass.md)
11
-
12
-
13
- ### [nspc.InterfaceWithInheritance](/Misc-Group/nspc.InterfaceWithInheritance.md)
14
-
15
-
16
- ### [nspc.MemberGrouping](/Misc-Group/nspc.MemberGrouping.md)
17
-
18
-
19
- ### [nspc.ParentClass](/Misc-Group/nspc.ParentClass.md)
20
-
21
-
22
- ### [nspc.Reference1](/Misc-Group/nspc.Reference1.md)
23
-
24
-
25
- ### [nspc.Reference2](/Misc-Group/nspc.Reference2.md)
26
-
27
-
28
- ### [nspc.Reference3](/Misc-Group/nspc.Reference3.md)
29
-
30
-
31
- ### [nspc.Reference4](/Misc-Group/nspc.Reference4.md)
32
-
33
-
34
- ### [nspc.Reference5](/Misc-Group/nspc.Reference5.md)
35
-
36
-
37
- ### [nspc.Reference6](/Misc-Group/nspc.Reference6.md)
38
-
39
-
40
- ### [nspc.Reference7](/Misc-Group/nspc.Reference7.md)
41
-
42
-
43
- ### [nspc.SampleClassWithoutModifier](/Misc-Group/nspc.SampleClassWithoutModifier.md)
44
-
45
-
46
- ### [nspc.SampleRestResource](/Misc-Group/nspc.SampleRestResource.md)
47
-
48
- Account related operations
49
-
50
-
51
-
52
- ### [nspc.SampleRestResourceWithInnerClass](/Misc-Group/nspc.SampleRestResourceWithInnerClass.md)
53
-
54
- Contact related operations
55
-
56
-
57
-
58
- ### [nspc.SampleRestResourceWithoutApexDocs](/Misc-Group/nspc.SampleRestResourceWithoutApexDocs.md)
59
-
60
- Order related operations
61
-
62
-
63
- ## Main
64
-
65
- ### [nspc.GroupedClass](/Main/nspc.GroupedClass.md)
66
-
67
- Uses a block style apex doc
68
-
69
-
70
-
71
- ### [nspc.SampleClass](/Main/nspc.SampleClass.md)
72
-
73
- This is a class description. This class relates to [nspc.SampleInterface](/Sample-Interfaces/nspc.SampleInterface.md)
74
- But this [ClassThatDoesNotExist](ClassThatDoesNotExist) does not exist.
75
- You can also link using this syntax [nspc.SampleInterface](/Sample-Interfaces/nspc.SampleInterface.md)
76
-
77
-
78
- ## Sample Interfaces
79
-
80
- ### [nspc.SampleInterface](/Sample-Interfaces/nspc.SampleInterface.md)
81
-
82
- This is an interface description.
83
-
84
-
1
+ Go to [docs](/types/README.md) for more information.
@@ -0,0 +1,7 @@
1
+ # nspc.AnotherInterface
2
+
3
+ Some desc
4
+
5
+
6
+ **Group** Classes
7
+
@@ -1,17 +1,23 @@
1
1
  # nspc.ChildClass
2
2
 
3
+ Some desc
4
+
5
+
3
6
  **Inheritance**
4
7
 
5
- [nspc.GrandparentClass](/Misc-Group/nspc.GrandparentClass.md)
8
+ [nspc.GrandparentClass](types/Misc-Group/nspc.GrandparentClass.md)
6
9
  &gt;
7
- [nspc.ParentClass](/Misc-Group/nspc.ParentClass.md)
10
+ [nspc.ParentClass](types/Misc-Group/nspc.ParentClass.md)
8
11
  &gt;
9
12
  ChildClass
10
13
 
11
14
 
12
15
  **Implemented types**
13
16
 
14
- [nspc.SampleInterface](/Sample-Interfaces/nspc.SampleInterface.md)
17
+ [nspc.SampleInterface](types/Sample-Interfaces/nspc.SampleInterface.md)
18
+
19
+
20
+ **Group** Classes
15
21
 
16
22
  ## Fields
17
23
 
@@ -6,5 +6,5 @@ Uses a block style apex doc
6
6
  **Group** Main
7
7
 
8
8
 
9
- **Test Class** [nspc.SampleClass](/Main/nspc.SampleClass.md)
9
+ **Test Class** [nspc.SampleClass](types/Main/nspc.SampleClass.md)
10
10
 
@@ -2,13 +2,9 @@
2
2
 
3
3
  `NAMESPACEACCESSIBLE`
4
4
 
5
- `APIVERSION: 54`
6
-
7
- `STATUS: ACTIVE`
8
-
9
- This is a class description. This class relates to [nspc.SampleInterface](/Sample-Interfaces/nspc.SampleInterface.md)
5
+ This is a class description. This class relates to [nspc.SampleInterface](types/Sample-Interfaces/nspc.SampleInterface.md)
10
6
  But this [ClassThatDoesNotExist](ClassThatDoesNotExist) does not exist.
11
- You can also link using this syntax [nspc.SampleInterface](/Sample-Interfaces/nspc.SampleInterface.md)
7
+ You can also link using this syntax [nspc.SampleInterface](types/Sample-Interfaces/nspc.SampleInterface.md)
12
8
 
13
9
 
14
10
  **Group** Main
@@ -20,7 +16,7 @@ This is a class description. This class relates to [nspc.SampleInterface](/Sampl
20
16
  **Author** Cesar Parra
21
17
 
22
18
 
23
- **See** [nspc.SampleInterface](/Sample-Interfaces/nspc.SampleInterface.md)
19
+ **See** [nspc.SampleInterface](types/Sample-Interfaces/nspc.SampleInterface.md)
24
20
 
25
21
  ## Constructors
26
22
  ### My Super Group
@@ -28,7 +24,7 @@ This is a class description. This class relates to [nspc.SampleInterface](/Sampl
28
24
 
29
25
  `NAMESPACEACCESSIBLE`
30
26
 
31
- Constructs a SampleClass without any arguments. This relates to [nspc.SampleInterface](/Sample-Interfaces/nspc.SampleInterface.md)
27
+ Constructs a SampleClass without any arguments. This relates to [nspc.SampleInterface](types/Sample-Interfaces/nspc.SampleInterface.md)
32
28
 
33
29
  ###### Throws
34
30
 
@@ -40,7 +36,7 @@ Constructs a SampleClass without any arguments. This relates to [nspc.SampleInte
40
36
  **CustomAnnotation** A Custom method annotation
41
37
 
42
38
 
43
- **See** [nspc.SampleInterface](/Sample-Interfaces/nspc.SampleInterface.md)
39
+ **See** [nspc.SampleInterface](types/Sample-Interfaces/nspc.SampleInterface.md)
44
40
 
45
41
  ###### Example
46
42
  ```apex
@@ -2,9 +2,9 @@
2
2
 
3
3
  **Extended types**
4
4
 
5
- [nspc.SampleInterface](/Sample-Interfaces/nspc.SampleInterface.md)
5
+ [nspc.SampleInterface](types/Sample-Interfaces/nspc.SampleInterface.md)
6
6
  ,
7
- [nspc.AnotherInterface](/Misc-Group/nspc.AnotherInterface.md)
7
+ [nspc.AnotherInterface](types/Classes/nspc.AnotherInterface.md)
8
8
  ## Methods
9
9
  ### `execute()`
10
10
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  **Inheritance**
4
4
 
5
- [nspc.GrandparentClass](/Misc-Group/nspc.GrandparentClass.md)
5
+ [nspc.GrandparentClass](types/Misc-Group/nspc.GrandparentClass.md)
6
6
  &gt;
7
7
  ParentClass
8
8
 
@@ -0,0 +1,91 @@
1
+ # Sample Documentation
2
+ ## Classes
3
+
4
+ ### [nspc.AnotherInterface](types/Classes/nspc.AnotherInterface.md)
5
+
6
+ Some desc
7
+
8
+
9
+
10
+ ### [nspc.ChildClass](types/Classes/nspc.ChildClass.md)
11
+
12
+ Some desc
13
+
14
+
15
+ ## Misc Group
16
+
17
+ ### [nspc.GrandparentClass](types/Misc-Group/nspc.GrandparentClass.md)
18
+
19
+
20
+ ### [nspc.InterfaceWithInheritance](types/Misc-Group/nspc.InterfaceWithInheritance.md)
21
+
22
+
23
+ ### [nspc.MemberGrouping](types/Misc-Group/nspc.MemberGrouping.md)
24
+
25
+
26
+ ### [nspc.ParentClass](types/Misc-Group/nspc.ParentClass.md)
27
+
28
+
29
+ ### [nspc.Reference1](types/Misc-Group/nspc.Reference1.md)
30
+
31
+
32
+ ### [nspc.Reference2](types/Misc-Group/nspc.Reference2.md)
33
+
34
+
35
+ ### [nspc.Reference3](types/Misc-Group/nspc.Reference3.md)
36
+
37
+
38
+ ### [nspc.Reference4](types/Misc-Group/nspc.Reference4.md)
39
+
40
+
41
+ ### [nspc.Reference5](types/Misc-Group/nspc.Reference5.md)
42
+
43
+
44
+ ### [nspc.Reference6](types/Misc-Group/nspc.Reference6.md)
45
+
46
+
47
+ ### [nspc.Reference7](types/Misc-Group/nspc.Reference7.md)
48
+
49
+
50
+ ### [nspc.SampleClassWithoutModifier](types/Misc-Group/nspc.SampleClassWithoutModifier.md)
51
+
52
+
53
+ ### [nspc.SampleRestResource](types/Misc-Group/nspc.SampleRestResource.md)
54
+
55
+ Account related operations
56
+
57
+
58
+
59
+ ### [nspc.SampleRestResourceWithInnerClass](types/Misc-Group/nspc.SampleRestResourceWithInnerClass.md)
60
+
61
+ Contact related operations
62
+
63
+
64
+
65
+ ### [nspc.SampleRestResourceWithoutApexDocs](types/Misc-Group/nspc.SampleRestResourceWithoutApexDocs.md)
66
+
67
+ Order related operations
68
+
69
+
70
+ ## Main
71
+
72
+ ### [nspc.GroupedClass](types/Main/nspc.GroupedClass.md)
73
+
74
+ Uses a block style apex doc
75
+
76
+
77
+
78
+ ### [nspc.SampleClass](types/Main/nspc.SampleClass.md)
79
+
80
+ This is a class description. This class relates to [nspc.SampleInterface](types/Sample-Interfaces/nspc.SampleInterface.md)
81
+ But this [ClassThatDoesNotExist](ClassThatDoesNotExist) does not exist.
82
+ You can also link using this syntax [nspc.SampleInterface](types/Sample-Interfaces/nspc.SampleInterface.md)
83
+
84
+
85
+ ## Sample Interfaces
86
+
87
+ ### [nspc.SampleInterface](types/Sample-Interfaces/nspc.SampleInterface.md)
88
+
89
+ This is an interface description.
90
+
91
+
@@ -1 +1,5 @@
1
+ /**
2
+ * @description Some desc
3
+ * @group Classes
4
+ */
1
5
  public interface AnotherInterface{}
@@ -1,3 +1,7 @@
1
+ /**
2
+ * @description Some desc
3
+ * @group Classes
4
+ */
1
5
  public class ChildClass extends ParentClass implements SampleInterface {
2
6
  private String privateStringFromChild;
3
7
 
@@ -62,6 +62,11 @@ const argv = yargs.options({
62
62
  default: 'Apex REST Api',
63
63
  describe: 'If using "openapi" as the target generator, this allows you to specify the OpenApi title value.',
64
64
  },
65
+ title: {
66
+ type: 'string',
67
+ describe: "If this allows you to specify the title of the generated documentation's home file.",
68
+ default: 'Classes',
69
+ },
65
70
  namespace: {
66
71
  type: 'string',
67
72
  describe: 'The package namespace, if any. If this value is provided the namespace will be added as a prefix to all of the parsed files. ' +
@@ -72,6 +77,15 @@ const argv = yargs.options({
72
77
  describe: 'If using "openapi" as the target generator, this allows you to specify the name of the output file.',
73
78
  default: 'openapi',
74
79
  },
80
+ includeMetadata: {
81
+ type: 'boolean',
82
+ describe: "Whether to include the file's meta.xml information: Whether it is active and and the API version",
83
+ default: false,
84
+ },
85
+ documentationRootDir: {
86
+ type: 'string',
87
+ describe: 'Allows you to specify the root documentation directory where the files are being generated. This can be helpful when embedding the generated docs into an existing site so that the links are generated correctly.',
88
+ },
75
89
  }).argv;
76
90
  settings_1.Settings.build({
77
91
  sourceDirectory: argv.sourceDir,
@@ -83,8 +97,11 @@ settings_1.Settings.build({
83
97
  defaultGroupName: argv.defaultGroupName,
84
98
  sanitizeHtml: argv.sanitizeHtml,
85
99
  openApiTitle: argv.openApiTitle,
100
+ title: argv.title,
86
101
  namespace: argv.namespace,
87
102
  openApiFileName: argv.openApiFileName,
103
+ includeMetadata: argv.includeMetadata,
104
+ rootDir: argv.documentationRootDir,
88
105
  });
89
106
  try {
90
107
  Apexdocs_1.Apexdocs.generate();
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":";;;AACA,+BAA+B;AAE/B,0CAAuC;AACvC,sDAAmD;AAGnD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC;IACzB,SAAS,EAAE;QACT,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,GAAG;QACV,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE,+DAA+D;KAC1E;IACD,SAAS,EAAE;QACT,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,kEAAkE;KAC7E;IACD,SAAS,EAAE;QACT,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,kFAAkF;KAC7F;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,CAAC,QAAQ,CAAC;QACnB,QAAQ,EACN,sHAAsH;YACtH,4HAA4H;YAC5H,0IAA0I;KAC7I;IACD,eAAe,EAAE;QACf,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,CAAC;QAC3D,QAAQ,EACN,4EAA4E;YAC5E,yEAAyE;KAC5E;IACD,SAAS,EAAE;QACT,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,0DAA0D;KACrE;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,qEAAqE;KAChF;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,IAAI;QACb,QAAQ,EACN,sGAAsG;YACtG,kHAAkH;YAClH,0GAA0G;YAC1G,iDAAiD;KACpD;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,iGAAiG;KAC5G;IACD,SAAS,EAAE;QACT,IAAI,EAAE,QAAQ;QACd,QAAQ,EACN,+HAA+H;YAC/H,iFAAiF;KACpF;IACD,eAAe,EAAE;QACf,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,qGAAqG;QAC/G,OAAO,EAAE,SAAS;KACnB;CACF,CAAC,CAAC,IAAI,CAAC;AAER,mBAAQ,CAAC,KAAK,CAAC;IACb,eAAe,EAAE,IAAI,CAAC,SAAS;IAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;IACzB,KAAK,EAAE,IAAI,CAAC,KAAK;IACjB,SAAS,EAAE,IAAI,CAAC,SAAS;IACzB,eAAe,EAAE,IAAI,CAAC,eAAmC;IACzD,SAAS,EAAE,IAAI,CAAC,SAAS;IACzB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;IACvC,YAAY,EAAE,IAAI,CAAC,YAAY;IAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;IAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;IACzB,eAAe,EAAE,IAAI,CAAC,eAAe;CACtC,CAAC,CAAC;AAEH,IAAI;IACF,mBAAQ,CAAC,QAAQ,EAAE,CAAC;CACrB;AAAC,OAAO,KAAK,EAAE;IACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;CACjB"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ class MarkdownHomeFile extends markdown_file_1.MarkdownFile {
13
13
  if (headerContent) {
14
14
  this.addText(headerContent);
15
15
  }
16
- this.addTitle('Classes');
16
+ this.addTitle(settings_1.Settings.getInstance().getTitle());
17
17
  this.addTypeEntries(types);
18
18
  }
19
19
  addTypeEntries(types) {
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-home-file.js","sourceRoot":"","sources":["../../src/model/markdown-home-file.ts"],"names":[],"mappings":";;;AACA,kGAAyF;AACzF,mDAA+C;AAC/C,uDAAgD;AAChD,0CAAuC;AAEvC,MAAa,gBAAiB,SAAQ,4BAAY;IAChD,YAAmB,QAAgB,EAAS,KAAa,EAAE,aAAsB;QAC/E,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QADH,aAAQ,GAAR,QAAQ,CAAQ;QAAS,UAAK,GAAL,KAAK,CAAQ;QAEvD,IAAI,aAAa,EAAE;YACjB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;SAC7B;QACD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAEO,cAAc,CAAC,KAAa;QAClC,MAAM,cAAc,GAAwB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9D,cAAc,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,GAAW,EAAE,EAAE;YACpD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACtB,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;gBAC3B,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,YAAY,CAAC,UAAgB;;QACnC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,oCAAwB,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,MAAA,UAAU,CAAC,UAAU,0CAAE,gBAAgB,EAAE;YAC3C,MAAM,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,CAC/D,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,QAAQ,GAAG,OAAO,GAAG,IAAI,EAChD,EAAE,CACH,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,IAAA,uBAAQ,EAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;IACH,CAAC;IAEO,KAAK,CAAC,OAAe;QAC3B,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE;YAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YAC7C,MAAM,KAAK,GAAW,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACzB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACvB,OAAO,MAAM,CAAC;QAChB,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IAChB,CAAC;IAEO,aAAa,CAAC,UAAgB;;QACpC,OAAO,CACL,MAAA,MAAA,MAAA,UAAU,CAAC,UAAU,0CAAE,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,0CAAE,IAAI,mCAC1F,mBAAQ,CAAC,WAAW,EAAE,CAAC,mBAAmB,EAAE,CAC7C,CAAC;IACJ,CAAC;CACF;AAnDD,4CAmDC"}
1
+ {"version":3,"file":"markdown-home-file.js","sourceRoot":"","sources":["../../src/model/markdown-home-file.ts"],"names":[],"mappings":";;;AACA,kGAAyF;AACzF,mDAA+C;AAC/C,uDAAgD;AAChD,0CAAuC;AAEvC,MAAa,gBAAiB,SAAQ,4BAAY;IAChD,YAAmB,QAAgB,EAAS,KAAa,EAAE,aAAsB;QAC/E,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QADH,aAAQ,GAAR,QAAQ,CAAQ;QAAS,UAAK,GAAL,KAAK,CAAQ;QAEvD,IAAI,aAAa,EAAE;YACjB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;SAC7B;QACD,IAAI,CAAC,QAAQ,CAAC,mBAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAEO,cAAc,CAAC,KAAa;QAClC,MAAM,cAAc,GAAwB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9D,cAAc,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,GAAW,EAAE,EAAE;YACpD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACtB,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;gBAC3B,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,YAAY,CAAC,UAAgB;;QACnC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,oCAAwB,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,MAAA,UAAU,CAAC,UAAU,0CAAE,gBAAgB,EAAE;YAC3C,MAAM,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,CAC/D,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,QAAQ,GAAG,OAAO,GAAG,IAAI,EAChD,EAAE,CACH,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,IAAA,uBAAQ,EAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;IACH,CAAC;IAEO,KAAK,CAAC,OAAe;QAC3B,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE;YAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YAC7C,MAAM,KAAK,GAAW,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACzB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACvB,OAAO,MAAM,CAAC;QAChB,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IAChB,CAAC;IAEO,aAAa,CAAC,UAAgB;;QACpC,OAAO,CACL,MAAA,MAAA,MAAA,UAAU,CAAC,UAAU,0CAAE,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,0CAAE,IAAI,mCAC1F,mBAAQ,CAAC,WAAW,EAAE,CAAC,mBAAmB,EAAE,CAC7C,CAAC;IACJ,CAAC;CACF;AAnDD,4CAmDC"}
@@ -24,7 +24,10 @@ class ApexFileReader {
24
24
  }
25
25
  const rawApexFile = fileSystem.readFile(currentPath);
26
26
  const metadataPath = fileSystem.joinPath(rootPath, `${currentFilePath}-meta.xml`);
27
- const rawMetadataFile = fileSystem.exists(metadataPath) ? fileSystem.readFile(metadataPath) : null;
27
+ let rawMetadataFile = null;
28
+ if (settings_1.Settings.getInstance().includeMetadata()) {
29
+ rawMetadataFile = fileSystem.exists(metadataPath) ? fileSystem.readFile(metadataPath) : null;
30
+ }
28
31
  bundles.push(new apex_bundle_1.default(currentFilePath, rawApexFile, rawMetadataFile));
29
32
  });
30
33
  return bundles;
@@ -1 +1 @@
1
- {"version":3,"file":"apex-file-reader.js","sourceRoot":"","sources":["../../src/service/apex-file-reader.ts"],"names":[],"mappings":";;;AAAA,0CAAuC;AAEvC,sDAA8C;AAE9C,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEnC;;GAEG;AACH,MAAa,cAAc;IACzB;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,UAAsB,EAAE,WAAmB,IAAI,CAAC,eAAe;QACjF,IAAI,OAAO,GAAiB,EAAE,CAAC;QAE/B,MAAM,iBAAiB,GAAG,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC7D,iBAAiB,CAAC,OAAO,CAAC,CAAC,eAAe,EAAE,EAAE;YAC5C,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YACnE,IAAI,IAAI,CAAC,eAAe,IAAI,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE;gBAC/D,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;aACtE;YAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;gBACrC,OAAO;aACR;YAED,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACrD,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,eAAe,WAAW,CAAC,CAAC;YAClF,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACnG,OAAO,CAAC,IAAI,CAAC,IAAI,qBAAU,CAAC,eAAe,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,MAAM,CAAC,UAAU,CAAC,WAAmB;QAC3C,OAAO,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IACnD,CAAC;IAEO,MAAM,KAAK,eAAe;QAChC,OAAO,mBAAQ,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC;IAChD,CAAC;IAEO,MAAM,KAAK,eAAe;QAChC,OAAO,mBAAQ,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC;IAC1C,CAAC;CACF;AArCD,wCAqCC"}
1
+ {"version":3,"file":"apex-file-reader.js","sourceRoot":"","sources":["../../src/service/apex-file-reader.ts"],"names":[],"mappings":";;;AAAA,0CAAuC;AAEvC,sDAA8C;AAE9C,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEnC;;GAEG;AACH,MAAa,cAAc;IACzB;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,UAAsB,EAAE,WAAmB,IAAI,CAAC,eAAe;QACjF,IAAI,OAAO,GAAiB,EAAE,CAAC;QAE/B,MAAM,iBAAiB,GAAG,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC7D,iBAAiB,CAAC,OAAO,CAAC,CAAC,eAAe,EAAE,EAAE;YAC5C,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YACnE,IAAI,IAAI,CAAC,eAAe,IAAI,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE;gBAC/D,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;aACtE;YAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;gBACrC,OAAO;aACR;YAED,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACrD,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,eAAe,WAAW,CAAC,CAAC;YAClF,IAAI,eAAe,GAAG,IAAI,CAAC;YAC3B,IAAI,mBAAQ,CAAC,WAAW,EAAE,CAAC,eAAe,EAAE,EAAE;gBAC5C,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;aAC9F;YAED,OAAO,CAAC,IAAI,CAAC,IAAI,qBAAU,CAAC,eAAe,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,MAAM,CAAC,UAAU,CAAC,WAAmB;QAC3C,OAAO,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IACnD,CAAC;IAEO,MAAM,KAAK,eAAe;QAChC,OAAO,mBAAQ,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC;IAChD,CAAC;IAEO,MAAM,KAAK,eAAe;QAChC,OAAO,mBAAQ,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC;IAC1C,CAAC;CACF;AAzCD,wCAyCC"}
@@ -1,4 +1,4 @@
1
- import { Type, ReflectionResult, ClassMirror, InterfaceMirror } from '@cparra/apex-reflection';
1
+ import { ClassMirror, InterfaceMirror, ReflectionResult, Type } from '@cparra/apex-reflection';
2
2
  import ApexBundle from '../model/apex-bundle';
3
3
  export interface TypeParser {
4
4
  parse(reflect: (apexBundle: ApexBundle) => ReflectionResult): Type[];
@@ -16,8 +16,9 @@ class RawBodyParser {
16
16
  // If successful and there is a metadata file
17
17
  const metadataParams = metadata_processor_1.default.process(currentBundle.rawMetadataContent);
18
18
  metadataParams.forEach((value, key) => {
19
+ var _a;
19
20
  const declaration = `${key}: ${value}`;
20
- result.typeMirror.annotations.push({
21
+ (_a = result.typeMirror) === null || _a === void 0 ? void 0 : _a.annotations.push({
21
22
  rawDeclaration: declaration,
22
23
  name: declaration,
23
24
  type: declaration,
@@ -29,6 +30,7 @@ class RawBodyParser {
29
30
  .filter((reflectionResult) => {
30
31
  return reflectionResult.typeMirror;
31
32
  })
33
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
32
34
  .map((reflectionResult) => reflectionResult.typeMirror);
33
35
  return this.addFieldsFromParent(types);
34
36
  }
@@ -57,7 +59,6 @@ class RawBodyParser {
57
59
  }
58
60
  typeAsInterface = this.addMethodsFromParent(typeAsInterface, types);
59
61
  typesWithFields.push(typeAsInterface);
60
- continue;
61
62
  }
62
63
  return typesWithFields;
63
64
  }
@@ -102,31 +103,28 @@ class RawBodyParser {
102
103
  return currentInterface;
103
104
  }
104
105
  getInheritedFields(parentAsClass, currentClass) {
105
- const parentFields = parentAsClass.fields
106
+ return (parentAsClass.fields
106
107
  // Filter out private fields
107
108
  .filter((currentField) => currentField.access_modifier.toLowerCase() !== 'private')
108
109
  // Filter out fields that also exist on the child
109
110
  .filter((currentField) => !this.memberExists(currentClass.fields, currentField.name))
110
- .map((currentField) => (Object.assign(Object.assign({}, currentField), { inherited: true })));
111
- return parentFields;
111
+ .map((currentField) => (Object.assign(Object.assign({}, currentField), { inherited: true }))));
112
112
  }
113
113
  getInheritedProperties(parentAsClass, currentClass) {
114
- const parentProperties = parentAsClass.properties
114
+ return (parentAsClass.properties
115
115
  // Filter out private properties
116
116
  .filter((currentProperty) => currentProperty.access_modifier.toLowerCase() !== 'private')
117
117
  // Filter out properties that also exist on the child
118
118
  .filter((currentProperty) => !this.memberExists(currentClass.properties, currentProperty.name))
119
- .map((currentProperty) => (Object.assign(Object.assign({}, currentProperty), { inherited: true })));
120
- return parentProperties;
119
+ .map((currentProperty) => (Object.assign(Object.assign({}, currentProperty), { inherited: true }))));
121
120
  }
122
121
  getInheritedMethods(parentAsClass, currentClass) {
123
- const parentMethods = parentAsClass.methods
122
+ return (parentAsClass.methods
124
123
  // Filter out private methods
125
124
  .filter((currentMethod) => currentMethod.access_modifier.toLowerCase() !== 'private')
126
125
  // Filter out methods that also exist on the child
127
126
  .filter((currentMethod) => !this.memberExists(currentClass.methods, currentMethod.name))
128
- .map((currentMethod) => (Object.assign(Object.assign({}, currentMethod), { inherited: true })));
129
- return parentMethods;
127
+ .map((currentMethod) => (Object.assign(Object.assign({}, currentMethod), { inherited: true }))));
130
128
  }
131
129
  memberExists(members, fieldName) {
132
130
  const fieldNames = members.map((currentMember) => currentMember.name);
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/service/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/service/parser.ts"],"names":[],"mappings":"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"}
package/lib/settings.d.ts CHANGED
@@ -9,8 +9,11 @@ export interface SettingsConfig {
9
9
  defaultGroupName: string;
10
10
  sanitizeHtml: boolean;
11
11
  openApiTitle?: string;
12
+ title: string;
12
13
  namespace?: string;
13
14
  openApiFileName: string;
15
+ includeMetadata: boolean;
16
+ rootDir?: string;
14
17
  }
15
18
  export declare class Settings {
16
19
  config: SettingsConfig;
@@ -27,7 +30,10 @@ export declare class Settings {
27
30
  get sanitizeHtml(): boolean;
28
31
  getDefaultGroupName(): string;
29
32
  getOpenApiTitle(): string | undefined;
33
+ getTitle(): string;
30
34
  getNamespace(): string | undefined;
31
35
  getNamespacePrefix(): string;
32
36
  openApiFileName(): string;
37
+ includeMetadata(): boolean;
38
+ getRootDir(): string | undefined;
33
39
  }
package/lib/settings.js CHANGED
@@ -39,7 +39,11 @@ class Settings {
39
39
  return this.config.defaultGroupName;
40
40
  }
41
41
  getOpenApiTitle() {
42
- return this.config.openApiTitle;
42
+ var _a;
43
+ return (_a = this.config.openApiTitle) !== null && _a !== void 0 ? _a : this.config.title;
44
+ }
45
+ getTitle() {
46
+ return this.config.title;
43
47
  }
44
48
  getNamespace() {
45
49
  return this.config.namespace;
@@ -53,6 +57,12 @@ class Settings {
53
57
  openApiFileName() {
54
58
  return this.config.openApiFileName;
55
59
  }
60
+ includeMetadata() {
61
+ return this.config.includeMetadata;
62
+ }
63
+ getRootDir() {
64
+ return this.config.rootDir;
65
+ }
56
66
  }
57
67
  exports.Settings = Settings;
58
68
  //# sourceMappingURL=settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":";;;AAgBA,MAAa,QAAQ;IAGnB,YAA2B,MAAsB;QAAtB,WAAM,GAAN,MAAM,CAAgB;IAAG,CAAC;IAE9C,MAAM,CAAC,KAAK,CAAC,MAAsB;QACxC,QAAQ,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAEM,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;SACtD;QACD,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;IACrC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IAC/B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAC3B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IAC/B,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;IACrC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IAC/B,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;IAClC,CAAC;IAEM,mBAAmB;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;IACtC,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;IAClC,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IAC/B,CAAC;IAEM,kBAAkB;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;YAC1B,OAAO,EAAE,CAAC;SACX;QACD,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC;IACrC,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;IACrC,CAAC;CACF;AAlED,4BAkEC"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":";;;AAmBA,MAAa,QAAQ;IAGnB,YAA2B,MAAsB;QAAtB,WAAM,GAAN,MAAM,CAAgB;IAAG,CAAC;IAE9C,MAAM,CAAC,KAAK,CAAC,MAAsB;QACxC,QAAQ,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAEM,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;SACtD;QACD,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;IACrC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IAC/B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAC3B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IAC/B,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;IACrC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IAC/B,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;IAClC,CAAC;IAEM,mBAAmB;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;IACtC,CAAC;IAEM,eAAe;;QACpB,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,YAAY,mCAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IACvD,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAC3B,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IAC/B,CAAC;IAEM,kBAAkB;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;YAC1B,OAAO,EAAE,CAAC;SACX;QACD,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC;IACrC,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;IACrC,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;IACrC,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7B,CAAC;CACF;AA9ED,4BA8EC"}
@@ -18,6 +18,8 @@ class SettingsBuilder {
18
18
  sanitizeHtml: true,
19
19
  openApiTitle: 'Apex API',
20
20
  openApiFileName: 'openapi',
21
+ title: 'Classes',
22
+ includeMetadata: false,
21
23
  };
22
24
  }
23
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsBuilder.js","sourceRoot":"","sources":["../../src/test-helpers/SettingsBuilder.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACH,MAAa,eAAe;IAC1B,KAAK;QACH,OAAO;YACL,eAAe,EAAE,IAAI;YACrB,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,EAAE;YACT,SAAS,EAAE,IAAI;YACf,eAAe,EAAE,SAAS;YAC1B,SAAS,EAAE,KAAK;YAChB,gBAAgB,EAAE,MAAM;YACxB,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,UAAU;YACxB,eAAe,EAAE,SAAS;SAC3B,CAAC;IACJ,CAAC;CACF;AAfD,0CAeC"}
1
+ {"version":3,"file":"SettingsBuilder.js","sourceRoot":"","sources":["../../src/test-helpers/SettingsBuilder.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACH,MAAa,eAAe;IAC1B,KAAK;QACH,OAAO;YACL,eAAe,EAAE,IAAI;YACrB,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,EAAE;YACT,SAAS,EAAE,IAAI;YACf,eAAe,EAAE,SAAS;YAC1B,SAAS,EAAE,KAAK;YAChB,gBAAgB,EAAE,MAAM;YACxB,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,UAAU;YACxB,eAAe,EAAE,SAAS;YAC1B,KAAK,EAAE,SAAS;YAChB,eAAe,EAAE,KAAK;SACvB,CAAC;IACJ,CAAC;CACF;AAjBD,0CAiBC"}
@@ -9,7 +9,9 @@ class ClassFileGeneratorHelper {
9
9
  return this.getClassGroup(classModel).replace(/ /g, '-').replace('.', '');
10
10
  }
11
11
  static getFileLink(classModel) {
12
- const directoryRoot = this.getDirectoryRoot(classModel);
12
+ var _a;
13
+ const documentationRoot = (_a = settings_1.Settings.getInstance().getRootDir()) !== null && _a !== void 0 ? _a : '';
14
+ const directoryRoot = `${documentationRoot}${this.getDirectoryRoot(classModel)}`;
13
15
  const fullClassName = `${settings_1.Settings.getInstance().getNamespacePrefix()}${classModel.name}`;
14
16
  return `[${fullClassName}](${directoryRoot}${fullClassName}.md)`;
15
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"class-file-generatorHelper.js","sourceRoot":"","sources":["../../../src/transpiler/markdown/class-file-generatorHelper.ts"],"names":[],"mappings":";;AACA,mEAA+D;AAC/D,6CAA0C;AAC1C,+CAAwC;AACxC,wCAAmD;AAEnD,MAAqB,wBAAwB;IACpC,MAAM,CAAC,iBAAiB,CAAC,UAAgB;QAC9C,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,UAAgB;QACxC,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACxD,MAAM,aAAa,GAAG,GAAG,mBAAQ,CAAC,WAAW,EAAE,CAAC,kBAAkB,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;QACzF,OAAO,IAAI,aAAa,KAAK,aAAa,GAAG,aAAa,MAAM,CAAC;IACnE,CAAC;IAEM,MAAM,CAAC,qBAAqB,CAAC,QAAgB;QAClD,MAAM,IAAI,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,EAAE;YACT,qFAAqF;YACrF,OAAO,IAAI,QAAQ,KAAK,QAAQ,GAAG,CAAC;SACrC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,UAAgB;QAC9C,iEAAiE;QACjE,MAAM,SAAS,GAAG,mBAAQ,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC;QACzD,IAAI,+BAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,KAAK,eAAe,EAAE;YACjF,OAAO,IAAI,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC;SAClD;QAED,uDAAuD;QACvD,MAAM,kBAAkB,GAAG,eAAK,CAAC,WAAW,EAAE,CAAC,qBAAqB,EAAE,CAAC;QACvE,IAAI,kBAAkB,EAAE;YACtB,IAAI,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE;gBAC7E,yEAAyE;gBACzE,OAAO,IAAI,CAAC;aACb;iBAAM;gBACL,uEAAuE;gBACvE,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC;aACpD;SACF;aAAM;YACL,sGAAsG;YACtG,OAAO,KAAK,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC;SACnD;IACH,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,UAAgB;;QAC3C,MAAM,eAAe,GAAG,MAAA,UAAU,CAAC,UAAU,0CAAE,WAAW,CAAC,IAAI,CAC7D,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,OAAO,CAC1D,CAAC;QACF,OAAO,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,IAAI,mCAAI,mBAAQ,CAAC,WAAW,EAAE,CAAC,mBAAmB,EAAE,CAAC;IAC/E,CAAC;CACF;AAlDD,2CAkDC"}
1
+ {"version":3,"file":"class-file-generatorHelper.js","sourceRoot":"","sources":["../../../src/transpiler/markdown/class-file-generatorHelper.ts"],"names":[],"mappings":";;AACA,mEAA+D;AAC/D,6CAA0C;AAC1C,+CAAwC;AACxC,wCAAmD;AAEnD,MAAqB,wBAAwB;IACpC,MAAM,CAAC,iBAAiB,CAAC,UAAgB;QAC9C,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,UAAgB;;QACxC,MAAM,iBAAiB,GAAG,MAAA,mBAAQ,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,mCAAI,EAAE,CAAC;QACpE,MAAM,aAAa,GAAG,GAAG,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;QACjF,MAAM,aAAa,GAAG,GAAG,mBAAQ,CAAC,WAAW,EAAE,CAAC,kBAAkB,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;QACzF,OAAO,IAAI,aAAa,KAAK,aAAa,GAAG,aAAa,MAAM,CAAC;IACnE,CAAC;IAEM,MAAM,CAAC,qBAAqB,CAAC,QAAgB;QAClD,MAAM,IAAI,GAAG,kCAAe,CAAC,WAAW,EAAE,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,EAAE;YACT,qFAAqF;YACrF,OAAO,IAAI,QAAQ,KAAK,QAAQ,GAAG,CAAC;SACrC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,UAAgB;QAC9C,iEAAiE;QACjE,MAAM,SAAS,GAAG,mBAAQ,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC;QACzD,IAAI,+BAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,KAAK,eAAe,EAAE;YACjF,OAAO,IAAI,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC;SAClD;QAED,uDAAuD;QACvD,MAAM,kBAAkB,GAAG,eAAK,CAAC,WAAW,EAAE,CAAC,qBAAqB,EAAE,CAAC;QACvE,IAAI,kBAAkB,EAAE;YACtB,IAAI,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE;gBAC7E,yEAAyE;gBACzE,OAAO,IAAI,CAAC;aACb;iBAAM;gBACL,uEAAuE;gBACvE,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC;aACpD;SACF;aAAM;YACL,sGAAsG;YACtG,OAAO,KAAK,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC;SACnD;IACH,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,UAAgB;;QAC3C,MAAM,eAAe,GAAG,MAAA,UAAU,CAAC,UAAU,0CAAE,WAAW,CAAC,IAAI,CAC7D,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,OAAO,CAC1D,CAAC;QACF,OAAO,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,IAAI,mCAAI,mBAAQ,CAAC,WAAW,EAAE,CAAC,mBAAmB,EAAE,CAAC;IAC/E,CAAC;CACF;AAnDD,2CAmDC"}
@@ -13,7 +13,7 @@ class Transpiler {
13
13
  return 0;
14
14
  });
15
15
  (_a = processor.onBeforeProcess) === null || _a === void 0 ? void 0 : _a.call(processor, sortedTypes);
16
- if (settings_1.Settings.getInstance().indexOnly === true) {
16
+ if (settings_1.Settings.getInstance().indexOnly) {
17
17
  return;
18
18
  }
19
19
  sortedTypes.forEach((currentType) => {
@@ -1 +1 @@
1
- {"version":3,"file":"transpiler.js","sourceRoot":"","sources":["../../src/transpiler/transpiler.ts"],"names":[],"mappings":";;AAEA,0CAAuC;AACvC,4CAAqC;AAErC,MAAqB,UAAU;IAC7B,MAAM,CAAC,QAAQ,CAAC,KAAa,EAAE,SAAkC;;QAC/D,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE;YACtD,IAAI,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI;gBAAE,OAAO,CAAC,CAAC,CAAC;YAC/C,IAAI,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI;gBAAE,OAAO,CAAC,CAAC;YAC9C,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QAEH,MAAA,SAAS,CAAC,eAAe,0DAAG,WAAW,CAAC,CAAC;QAEzC,IAAI,mBAAQ,CAAC,WAAW,EAAE,CAAC,SAAS,KAAK,IAAI,EAAE;YAC7C,OAAO;SACR;QAED,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YAClC,eAAK,CAAC,WAAW,EAAE,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;YACvD,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,MAAA,SAAS,CAAC,cAAc,0DAAG,WAAW,CAAC,CAAC;IAC1C,CAAC;CACF;AApBD,6BAoBC"}
1
+ {"version":3,"file":"transpiler.js","sourceRoot":"","sources":["../../src/transpiler/transpiler.ts"],"names":[],"mappings":";;AAEA,0CAAuC;AACvC,4CAAqC;AAErC,MAAqB,UAAU;IAC7B,MAAM,CAAC,QAAQ,CAAC,KAAa,EAAE,SAAkC;;QAC/D,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE;YACtD,IAAI,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI;gBAAE,OAAO,CAAC,CAAC,CAAC;YAC/C,IAAI,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI;gBAAE,OAAO,CAAC,CAAC;YAC9C,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QAEH,MAAA,SAAS,CAAC,eAAe,0DAAG,WAAW,CAAC,CAAC;QAEzC,IAAI,mBAAQ,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE;YACpC,OAAO;SACR;QAED,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YAClC,eAAK,CAAC,WAAW,EAAE,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;YACvD,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,MAAA,SAAS,CAAC,cAAc,0DAAG,WAAW,CAAC,CAAC;IAC1C,CAAC;CACF;AApBD,6BAoBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cparra/apexdocs",
3
- "version": "2.13.1",
3
+ "version": "2.15.0",
4
4
  "description": "Library with CLI capabilities to generate documentation for Salesforce Apex classes.",
5
5
  "keywords": [
6
6
  "apex",
@@ -24,7 +24,7 @@
24
24
  "postversion": "git push && git push --tags",
25
25
  "docs:init": "docsify init docs",
26
26
  "docs:serve": "docsify serve docs",
27
- "execute:example": "node lib/cli/generate.js -s examples/force-app -t docs --scope global public private protected -g docsify --defaultGroupName \"Misc Group\" --namespace nspc",
27
+ "execute:example": "node lib/cli/generate.js -s examples/force-app -t docs/types --scope global public private protected -g docsify --defaultGroupName \"Misc Group\" --namespace nspc --title \"Sample Documentation\" --documentationRootDir types",
28
28
  "execute:example:index:only": "node lib/cli/generate.js -s examples/force-app -t docs --scope global public private -g docsify --indexOnly",
29
29
  "execute:example:openapi": "node lib/cli/generate.js -s examples/force-app -t docs -g openapi --openApiTitle \"Sample REST Api\" --namespace nspc --openApiFileName restapi"
30
30
  },
@@ -66,6 +66,11 @@ const argv = yargs.options({
66
66
  default: 'Apex REST Api',
67
67
  describe: 'If using "openapi" as the target generator, this allows you to specify the OpenApi title value.',
68
68
  },
69
+ title: {
70
+ type: 'string',
71
+ describe: "If this allows you to specify the title of the generated documentation's home file.",
72
+ default: 'Classes',
73
+ },
69
74
  namespace: {
70
75
  type: 'string',
71
76
  describe:
@@ -77,6 +82,16 @@ const argv = yargs.options({
77
82
  describe: 'If using "openapi" as the target generator, this allows you to specify the name of the output file.',
78
83
  default: 'openapi',
79
84
  },
85
+ includeMetadata: {
86
+ type: 'boolean',
87
+ describe: "Whether to include the file's meta.xml information: Whether it is active and and the API version",
88
+ default: false,
89
+ },
90
+ documentationRootDir: {
91
+ type: 'string',
92
+ describe:
93
+ 'Allows you to specify the root documentation directory where the files are being generated. This can be helpful when embedding the generated docs into an existing site so that the links are generated correctly.',
94
+ },
80
95
  }).argv;
81
96
 
82
97
  Settings.build({
@@ -89,8 +104,11 @@ Settings.build({
89
104
  defaultGroupName: argv.defaultGroupName,
90
105
  sanitizeHtml: argv.sanitizeHtml,
91
106
  openApiTitle: argv.openApiTitle,
107
+ title: argv.title,
92
108
  namespace: argv.namespace,
93
109
  openApiFileName: argv.openApiFileName,
110
+ includeMetadata: argv.includeMetadata,
111
+ rootDir: argv.documentationRootDir,
94
112
  });
95
113
 
96
114
  try {
@@ -10,7 +10,7 @@ export class MarkdownHomeFile extends MarkdownFile {
10
10
  if (headerContent) {
11
11
  this.addText(headerContent);
12
12
  }
13
- this.addTitle('Classes');
13
+ this.addTitle(Settings.getInstance().getTitle());
14
14
  this.addTypeEntries(types);
15
15
  }
16
16
 
@@ -13,6 +13,8 @@ describe('File Reader', () => {
13
13
  defaultGroupName: 'Misc',
14
14
  sanitizeHtml: true,
15
15
  openApiFileName: 'openapi',
16
+ title: 'Classes',
17
+ includeMetadata: false,
16
18
  } as SettingsConfig);
17
19
  });
18
20
 
@@ -27,7 +27,11 @@ export class ApexFileReader {
27
27
 
28
28
  const rawApexFile = fileSystem.readFile(currentPath);
29
29
  const metadataPath = fileSystem.joinPath(rootPath, `${currentFilePath}-meta.xml`);
30
- const rawMetadataFile = fileSystem.exists(metadataPath) ? fileSystem.readFile(metadataPath) : null;
30
+ let rawMetadataFile = null;
31
+ if (Settings.getInstance().includeMetadata()) {
32
+ rawMetadataFile = fileSystem.exists(metadataPath) ? fileSystem.readFile(metadataPath) : null;
33
+ }
34
+
31
35
  bundles.push(new ApexBundle(currentFilePath, rawApexFile, rawMetadataFile));
32
36
  });
33
37
  return bundles;
@@ -1,12 +1,4 @@
1
- import {
2
- Type,
3
- ReflectionResult,
4
- ClassMirror,
5
- FieldMirror,
6
- PropertyMirror,
7
- MethodMirror,
8
- InterfaceMirror,
9
- } from '@cparra/apex-reflection';
1
+ import { ClassMirror, InterfaceMirror, ReflectionResult, Type } from '@cparra/apex-reflection';
10
2
  import ApexBundle from '../model/apex-bundle';
11
3
  import MetadataProcessor from './metadata-processor';
12
4
  import { Logger } from '../util/logger';
@@ -30,7 +22,7 @@ export class RawBodyParser implements TypeParser {
30
22
  const metadataParams = MetadataProcessor.process(currentBundle.rawMetadataContent);
31
23
  metadataParams.forEach((value, key) => {
32
24
  const declaration = `${key}: ${value}`;
33
- result.typeMirror!.annotations.push({
25
+ result.typeMirror?.annotations.push({
34
26
  rawDeclaration: declaration,
35
27
  name: declaration,
36
28
  type: declaration,
@@ -42,6 +34,7 @@ export class RawBodyParser implements TypeParser {
42
34
  .filter((reflectionResult) => {
43
35
  return reflectionResult.typeMirror;
44
36
  })
37
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
45
38
  .map((reflectionResult) => reflectionResult.typeMirror!);
46
39
 
47
40
  return this.addFieldsFromParent(types);
@@ -76,7 +69,6 @@ export class RawBodyParser implements TypeParser {
76
69
 
77
70
  typeAsInterface = this.addMethodsFromParent(typeAsInterface, types);
78
71
  typesWithFields.push(typeAsInterface);
79
- continue;
80
72
  }
81
73
 
82
74
  return typesWithFields;
@@ -131,45 +123,48 @@ export class RawBodyParser implements TypeParser {
131
123
  }
132
124
 
133
125
  private getInheritedFields(parentAsClass: ClassMirror, currentClass: ClassMirror) {
134
- const parentFields = parentAsClass.fields
135
- // Filter out private fields
136
- .filter((currentField) => currentField.access_modifier.toLowerCase() !== 'private')
137
- // Filter out fields that also exist on the child
138
- .filter((currentField) => !this.memberExists(currentClass.fields, currentField.name))
139
- .map((currentField) => ({
140
- ...currentField,
141
- inherited: true,
142
- }));
143
- return parentFields;
126
+ return (
127
+ parentAsClass.fields
128
+ // Filter out private fields
129
+ .filter((currentField) => currentField.access_modifier.toLowerCase() !== 'private')
130
+ // Filter out fields that also exist on the child
131
+ .filter((currentField) => !this.memberExists(currentClass.fields, currentField.name))
132
+ .map((currentField) => ({
133
+ ...currentField,
134
+ inherited: true,
135
+ }))
136
+ );
144
137
  }
145
138
 
146
139
  private getInheritedProperties(parentAsClass: ClassMirror, currentClass: ClassMirror) {
147
- const parentProperties = parentAsClass.properties
148
- // Filter out private properties
149
- .filter((currentProperty) => currentProperty.access_modifier.toLowerCase() !== 'private')
150
- // Filter out properties that also exist on the child
151
- .filter((currentProperty) => !this.memberExists(currentClass.properties, currentProperty.name))
152
- .map((currentProperty) => ({
153
- ...currentProperty,
154
- inherited: true,
155
- }));
156
- return parentProperties;
140
+ return (
141
+ parentAsClass.properties
142
+ // Filter out private properties
143
+ .filter((currentProperty) => currentProperty.access_modifier.toLowerCase() !== 'private')
144
+ // Filter out properties that also exist on the child
145
+ .filter((currentProperty) => !this.memberExists(currentClass.properties, currentProperty.name))
146
+ .map((currentProperty) => ({
147
+ ...currentProperty,
148
+ inherited: true,
149
+ }))
150
+ );
157
151
  }
158
152
 
159
153
  private getInheritedMethods(
160
154
  parentAsClass: ClassMirror | InterfaceMirror,
161
155
  currentClass: ClassMirror | InterfaceMirror,
162
156
  ) {
163
- const parentMethods = parentAsClass.methods
164
- // Filter out private methods
165
- .filter((currentMethod) => currentMethod.access_modifier.toLowerCase() !== 'private')
166
- // Filter out methods that also exist on the child
167
- .filter((currentMethod) => !this.memberExists(currentClass.methods, currentMethod.name))
168
- .map((currentMethod) => ({
169
- ...currentMethod,
170
- inherited: true,
171
- }));
172
- return parentMethods;
157
+ return (
158
+ parentAsClass.methods
159
+ // Filter out private methods
160
+ .filter((currentMethod) => currentMethod.access_modifier.toLowerCase() !== 'private')
161
+ // Filter out methods that also exist on the child
162
+ .filter((currentMethod) => !this.memberExists(currentClass.methods, currentMethod.name))
163
+ .map((currentMethod) => ({
164
+ ...currentMethod,
165
+ inherited: true,
166
+ }))
167
+ );
173
168
  }
174
169
 
175
170
  memberExists(members: NameAware[], fieldName: string): boolean {
package/src/settings.ts CHANGED
@@ -10,8 +10,11 @@ export interface SettingsConfig {
10
10
  defaultGroupName: string;
11
11
  sanitizeHtml: boolean;
12
12
  openApiTitle?: string;
13
+ title: string;
13
14
  namespace?: string;
14
15
  openApiFileName: string;
16
+ includeMetadata: boolean;
17
+ rootDir?: string;
15
18
  }
16
19
 
17
20
  export class Settings {
@@ -63,7 +66,11 @@ export class Settings {
63
66
  }
64
67
 
65
68
  public getOpenApiTitle(): string | undefined {
66
- return this.config.openApiTitle;
69
+ return this.config.openApiTitle ?? this.config.title;
70
+ }
71
+
72
+ public getTitle(): string {
73
+ return this.config.title;
67
74
  }
68
75
 
69
76
  public getNamespace(): string | undefined {
@@ -80,4 +87,12 @@ export class Settings {
80
87
  public openApiFileName(): string {
81
88
  return this.config.openApiFileName;
82
89
  }
90
+
91
+ public includeMetadata(): boolean {
92
+ return this.config.includeMetadata;
93
+ }
94
+
95
+ public getRootDir(): string | undefined {
96
+ return this.config.rootDir;
97
+ }
83
98
  }
@@ -17,6 +17,8 @@ export class SettingsBuilder {
17
17
  sanitizeHtml: true,
18
18
  openApiTitle: 'Apex API',
19
19
  openApiFileName: 'openapi',
20
+ title: 'Classes',
21
+ includeMetadata: false,
20
22
  };
21
23
  }
22
24
  }
@@ -10,7 +10,8 @@ export default class ClassFileGeneratorHelper {
10
10
  }
11
11
 
12
12
  public static getFileLink(classModel: Type) {
13
- const directoryRoot = this.getDirectoryRoot(classModel);
13
+ const documentationRoot = Settings.getInstance().getRootDir() ?? '';
14
+ const directoryRoot = `${documentationRoot}${this.getDirectoryRoot(classModel)}`;
14
15
  const fullClassName = `${Settings.getInstance().getNamespacePrefix()}${classModel.name}`;
15
16
  return `[${fullClassName}](${directoryRoot}${fullClassName}.md)`;
16
17
  }
@@ -13,7 +13,7 @@ export default class Transpiler {
13
13
 
14
14
  processor.onBeforeProcess?.(sortedTypes);
15
15
 
16
- if (Settings.getInstance().indexOnly === true) {
16
+ if (Settings.getInstance().indexOnly) {
17
17
  return;
18
18
  }
19
19
 
@@ -1 +0,0 @@
1
- # nspc.AnotherInterface