@cparra/apexdocs 2.21.0 → 2.23.0-beta.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.
- package/README.md +52 -16
- package/apexdocs.config.ts +3 -1
- package/docs/types/Classes/nspc.AnotherInterface.md +15 -0
- package/docs/types/Classes/nspc.ChildClass.md +97 -79
- package/docs/types/Main/nspc.SampleClass.md +189 -189
- package/examples/force-app/main/default/classes/AnotherInterface.cls +11 -0
- package/examples/force-app/main/default/classes/ChildClass.cls +12 -0
- package/lib/cli/generate.js +7 -1
- package/lib/cli/generate.js.map +1 -1
- package/lib/model/markdown-file.d.ts +1 -1
- package/lib/model/markdown-file.js +2 -2
- package/lib/model/markdown-file.js.map +1 -1
- package/lib/model/markdown-generation-util/doc-comment-annotation-util.d.ts +1 -0
- package/lib/model/markdown-generation-util/doc-comment-annotation-util.js +17 -2
- package/lib/model/markdown-generation-util/doc-comment-annotation-util.js.map +1 -1
- package/lib/model/markdown-generation-util/field-declaration-util.js +1 -9
- package/lib/model/markdown-generation-util/field-declaration-util.js.map +1 -1
- package/lib/model/markdown-generation-util/method-declaration-util.js +1 -0
- package/lib/model/markdown-generation-util/method-declaration-util.js.map +1 -1
- package/lib/model/markdown-generation-util/type-declaration-util.js +1 -0
- package/lib/model/markdown-generation-util/type-declaration-util.js.map +1 -1
- package/lib/model/markdown-type-file.js +1 -9
- package/lib/model/markdown-type-file.js.map +1 -1
- package/lib/service/walkers/class-walker.js +6 -6
- package/lib/service/walkers/class-walker.js.map +1 -1
- package/lib/service/walkers/enum-walker.js.map +1 -1
- package/lib/service/walkers/interface-walker.js +1 -1
- package/lib/service/walkers/interface-walker.js.map +1 -1
- package/lib/service/walkers/walker.d.ts +3 -0
- package/lib/service/walkers/walker.js +7 -0
- package/lib/service/walkers/walker.js.map +1 -1
- package/lib/settings.d.ts +11 -0
- package/lib/settings.js +10 -0
- package/lib/settings.js.map +1 -1
- package/lib/transpiler/markdown/class-file-generatorHelper.js +2 -2
- package/lib/transpiler/markdown/class-file-generatorHelper.js.map +1 -1
- package/lib/transpiler/markdown/jekyll/jekyll-docsProcessor.d.ts +2 -1
- package/lib/transpiler/markdown/jekyll/jekyll-docsProcessor.js +26 -3
- package/lib/transpiler/markdown/jekyll/jekyll-docsProcessor.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/generate.ts +6 -0
- package/src/model/markdown-file.ts +2 -2
- package/src/model/markdown-generation-util/doc-comment-annotation-util.ts +16 -0
- package/src/model/markdown-generation-util/field-declaration-util.ts +3 -9
- package/src/model/markdown-generation-util/method-declaration-util.ts +3 -1
- package/src/model/markdown-generation-util/type-declaration-util.ts +3 -1
- package/src/model/markdown-type-file.ts +4 -10
- package/src/service/walkers/class-walker.ts +6 -7
- package/src/service/walkers/enum-walker.ts +0 -1
- package/src/service/walkers/interface-walker.ts +1 -1
- package/src/service/walkers/walker.ts +8 -1
- package/src/settings.ts +21 -0
- package/src/transpiler/markdown/class-file-generatorHelper.ts +2 -2
- package/src/transpiler/markdown/jekyll/jekyll-docsProcessor.ts +26 -3
- package/ROADMAP.md +0 -16
|
@@ -66,15 +66,7 @@ class MarkdownTypeFile extends markdown_file_1.MarkdownFile {
|
|
|
66
66
|
}
|
|
67
67
|
addInnerTypes(title, types, addSeparator = true) {
|
|
68
68
|
this.addTitle(title, this.headingLevel + 1);
|
|
69
|
-
types
|
|
70
|
-
.sort((typeA, typeB) => {
|
|
71
|
-
if (typeA.name < typeB.name)
|
|
72
|
-
return -1;
|
|
73
|
-
if (typeA.name > typeB.name)
|
|
74
|
-
return 1;
|
|
75
|
-
return 0;
|
|
76
|
-
})
|
|
77
|
-
.forEach((currentType) => {
|
|
69
|
+
types.forEach((currentType) => {
|
|
78
70
|
const innerFile = new MarkdownTypeFile(currentType, this.headingLevel + 2, undefined, true);
|
|
79
71
|
this.addText(innerFile._contents);
|
|
80
72
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-type-file.js","sourceRoot":"","sources":["../../src/model/markdown-type-file.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"markdown-type-file.js","sourceRoot":"","sources":["../../src/model/markdown-type-file.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,22 +10,22 @@ class ClassWalker extends walker_1.Walker {
|
|
|
10
10
|
listener.onConstructorDeclaration(this.type.name, classMirror.constructors);
|
|
11
11
|
}
|
|
12
12
|
if (classMirror.fields.length) {
|
|
13
|
-
listener.onFieldsDeclaration(classMirror.fields);
|
|
13
|
+
listener.onFieldsDeclaration(this.sortType(classMirror.fields));
|
|
14
14
|
}
|
|
15
15
|
if (classMirror.properties.length) {
|
|
16
|
-
listener.onPropertiesDeclaration(classMirror.properties);
|
|
16
|
+
listener.onPropertiesDeclaration(this.sortType(classMirror.properties));
|
|
17
17
|
}
|
|
18
18
|
if (classMirror.methods.length) {
|
|
19
|
-
listener.onMethodsDeclaration(classMirror.methods);
|
|
19
|
+
listener.onMethodsDeclaration(this.sortType(classMirror.methods));
|
|
20
20
|
}
|
|
21
21
|
if (classMirror.enums.length) {
|
|
22
|
-
listener.onInnerEnumsDeclaration(classMirror.enums);
|
|
22
|
+
listener.onInnerEnumsDeclaration(this.sortType(classMirror.enums));
|
|
23
23
|
}
|
|
24
24
|
if (classMirror.classes.length) {
|
|
25
|
-
listener.onInnerClassesDeclaration(classMirror.classes);
|
|
25
|
+
listener.onInnerClassesDeclaration(this.sortType(classMirror.classes));
|
|
26
26
|
}
|
|
27
27
|
if (classMirror.interfaces.length) {
|
|
28
|
-
listener.onInnerInterfacesDeclaration(classMirror.interfaces);
|
|
28
|
+
listener.onInnerInterfacesDeclaration(this.sortType(classMirror.interfaces));
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"class-walker.js","sourceRoot":"","sources":["../../../src/service/walkers/class-walker.ts"],"names":[],"mappings":";;;AAAA,qCAAkD;AAGlD,MAAa,WAAY,SAAQ,eAAM;IACrC,IAAI,CAAC,QAAwB;QAC3B,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"class-walker.js","sourceRoot":"","sources":["../../../src/service/walkers/class-walker.ts"],"names":[],"mappings":";;;AAAA,qCAAkD;AAGlD,MAAa,WAAY,SAAQ,eAAM;IACrC,IAAI,CAAC,QAAwB;QAC3B,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAmB,CAAC;QAC7C,IAAI,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE;YACnC,QAAQ,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;SAC7E;QACD,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE;YAC7B,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;SACjE;QACD,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE;YACjC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;SACzE;QACD,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE;YAC9B,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;SACnE;QACD,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE;YAC5B,QAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;SACpE;QACD,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE;YAC9B,QAAQ,CAAC,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;SACxE;QACD,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE;YACjC,QAAQ,CAAC,4BAA4B,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;SAC9E;IACH,CAAC;CACF;AA1BD,kCA0BC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum-walker.js","sourceRoot":"","sources":["../../../src/service/walkers/enum-walker.ts"],"names":[],"mappings":";;;AAAA,qCAAkD;
|
|
1
|
+
{"version":3,"file":"enum-walker.js","sourceRoot":"","sources":["../../../src/service/walkers/enum-walker.ts"],"names":[],"mappings":";;;AAAA,qCAAkD;AAElD,MAAa,UAAW,SAAQ,eAAM;IACpC,IAAI,CAAC,QAAwB;QAC3B,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;CACF;AAJD,gCAIC"}
|
|
@@ -7,7 +7,7 @@ class InterfaceWalker extends walker_1.Walker {
|
|
|
7
7
|
listener.onTypeDeclaration(this.type);
|
|
8
8
|
const interfaceMirror = this.type;
|
|
9
9
|
if (interfaceMirror.methods.length) {
|
|
10
|
-
listener.onMethodsDeclaration(interfaceMirror.methods);
|
|
10
|
+
listener.onMethodsDeclaration(this.sortType(interfaceMirror.methods));
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface-walker.js","sourceRoot":"","sources":["../../../src/service/walkers/interface-walker.ts"],"names":[],"mappings":";;;AAAA,qCAAkD;AAGlD,MAAa,eAAgB,SAAQ,eAAM;IACzC,IAAI,CAAC,QAAwB;QAC3B,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAuB,CAAC;QACrD,IAAI,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE;YAClC,QAAQ,CAAC,oBAAoB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"interface-walker.js","sourceRoot":"","sources":["../../../src/service/walkers/interface-walker.ts"],"names":[],"mappings":";;;AAAA,qCAAkD;AAGlD,MAAa,eAAgB,SAAQ,eAAM;IACzC,IAAI,CAAC,QAAwB;QAC3B,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAuB,CAAC;QACrD,IAAI,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE;YAClC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;SACvE;IACH,CAAC;CACF;AARD,0CAQC"}
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Walker = void 0;
|
|
4
|
+
const settings_1 = require("../../settings");
|
|
4
5
|
class Walker {
|
|
5
6
|
constructor(type) {
|
|
6
7
|
this.type = type;
|
|
7
8
|
}
|
|
9
|
+
sortType(types) {
|
|
10
|
+
if (settings_1.Settings.getInstance().sortMembersAlphabetically()) {
|
|
11
|
+
return types.sort((a, b) => a.name.localeCompare(b.name));
|
|
12
|
+
}
|
|
13
|
+
return types;
|
|
14
|
+
}
|
|
8
15
|
}
|
|
9
16
|
exports.Walker = Walker;
|
|
10
17
|
//# sourceMappingURL=walker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"walker.js","sourceRoot":"","sources":["../../../src/service/walkers/walker.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"walker.js","sourceRoot":"","sources":["../../../src/service/walkers/walker.ts"],"names":[],"mappings":";;;AAUA,6CAA0C;AAoB1C,MAAsB,MAAM;IAC1B,YAAmB,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;IAAG,CAAC;IAIvB,QAAQ,CAA6B,KAAU;QACvD,IAAI,mBAAQ,CAAC,WAAW,EAAE,CAAC,yBAAyB,EAAE,EAAE;YACtD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;SAC3D;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAXD,wBAWC"}
|
package/lib/settings.d.ts
CHANGED
|
@@ -9,6 +9,13 @@ export type OutputDir = {
|
|
|
9
9
|
baseDir: string;
|
|
10
10
|
fileDir: string;
|
|
11
11
|
};
|
|
12
|
+
export type TargetType = {
|
|
13
|
+
name: string;
|
|
14
|
+
typeName: 'class' | 'interface' | 'enum';
|
|
15
|
+
accessModifier: string;
|
|
16
|
+
description?: string;
|
|
17
|
+
group?: string;
|
|
18
|
+
};
|
|
12
19
|
export interface SettingsConfig {
|
|
13
20
|
sourceDirectory: string;
|
|
14
21
|
recursive: boolean;
|
|
@@ -24,8 +31,10 @@ export interface SettingsConfig {
|
|
|
24
31
|
openApiFileName: string;
|
|
25
32
|
includeMetadata: boolean;
|
|
26
33
|
rootDir?: string;
|
|
34
|
+
sortMembersAlphabetically?: boolean;
|
|
27
35
|
onAfterProcess?: (files: TargetFile[]) => void;
|
|
28
36
|
onBeforeFileWrite?: (file: TargetFile) => TargetFile;
|
|
37
|
+
frontMatterHeader?: (file: TargetType) => string[];
|
|
29
38
|
}
|
|
30
39
|
export declare class Settings {
|
|
31
40
|
config: SettingsConfig;
|
|
@@ -47,7 +56,9 @@ export declare class Settings {
|
|
|
47
56
|
getNamespacePrefix(): string;
|
|
48
57
|
openApiFileName(): string;
|
|
49
58
|
includeMetadata(): boolean;
|
|
59
|
+
sortMembersAlphabetically(): boolean;
|
|
50
60
|
getRootDir(): string | undefined;
|
|
51
61
|
onAfterProcess(files: TargetFile[]): void;
|
|
52
62
|
onBeforeFileWrite(file: TargetFile): TargetFile;
|
|
63
|
+
frontMatterHeader(file: TargetType): string[];
|
|
53
64
|
}
|
package/lib/settings.js
CHANGED
|
@@ -60,6 +60,10 @@ class Settings {
|
|
|
60
60
|
includeMetadata() {
|
|
61
61
|
return this.config.includeMetadata;
|
|
62
62
|
}
|
|
63
|
+
sortMembersAlphabetically() {
|
|
64
|
+
var _a;
|
|
65
|
+
return (_a = this.config.sortMembersAlphabetically) !== null && _a !== void 0 ? _a : false;
|
|
66
|
+
}
|
|
63
67
|
getRootDir() {
|
|
64
68
|
return this.config.rootDir;
|
|
65
69
|
}
|
|
@@ -74,6 +78,12 @@ class Settings {
|
|
|
74
78
|
}
|
|
75
79
|
return file;
|
|
76
80
|
}
|
|
81
|
+
frontMatterHeader(file) {
|
|
82
|
+
if (this.config.frontMatterHeader) {
|
|
83
|
+
return this.config.frontMatterHeader(file);
|
|
84
|
+
}
|
|
85
|
+
return [];
|
|
86
|
+
}
|
|
77
87
|
}
|
|
78
88
|
exports.Settings = Settings;
|
|
79
89
|
//# sourceMappingURL=settings.js.map
|
package/lib/settings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":";;;AA4CA,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,yBAAyB;;QAC9B,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,yBAAyB,mCAAI,KAAK,CAAC;IACxD,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7B,CAAC;IAEM,cAAc,CAAC,KAAmB;QACvC,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE;YAC9B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;SACnC;IACH,CAAC;IAEM,iBAAiB,CAAC,IAAgB;QACvC,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE;YACjC,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SAC5C;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,iBAAiB,CAAC,IAAgB;QACvC,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE;YACjC,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SAC5C;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAtGD,4BAsGC"}
|
|
@@ -37,12 +37,12 @@ class ClassFileGeneratorHelper {
|
|
|
37
37
|
return './';
|
|
38
38
|
}
|
|
39
39
|
else {
|
|
40
|
-
// If the types have different groups then we have to go up a directory
|
|
40
|
+
// If the types have different groups, then we have to go up a directory
|
|
41
41
|
return `../${this.getSanitizedGroup(classModel)}/`;
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
else {
|
|
45
|
-
// If nothing is being processed then we assume we are at the root and links should include the groups
|
|
45
|
+
// If nothing is being processed, then we assume we are at the root and links should include the groups
|
|
46
46
|
return `./${this.getSanitizedGroup(classModel)}/`;
|
|
47
47
|
}
|
|
48
48
|
}
|
|
@@ -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,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,sFAAsF;YACtF,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,
|
|
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,sFAAsF;YACtF,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,wEAAwE;gBACxE,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC;aACpD;SACF;aAAM;YACL,uGAAuG;YACvG,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"}
|
|
@@ -5,6 +5,7 @@ export declare class JekyllDocsProcessor extends MarkdownTranspilerBase {
|
|
|
5
5
|
homeFileName(): string;
|
|
6
6
|
onBeforeProcess: (types: Type[]) => void;
|
|
7
7
|
onProcess(type: Type): void;
|
|
8
|
-
get
|
|
8
|
+
get frontMatterForHomeFile(): string;
|
|
9
|
+
getFrontMatterHeader(type: Type): string;
|
|
9
10
|
getLinkingStrategy(): LinkingStrategy;
|
|
10
11
|
}
|
|
@@ -4,22 +4,45 @@ exports.JekyllDocsProcessor = void 0;
|
|
|
4
4
|
const markdown_transpiler_base_1 = require("../markdown-transpiler-base");
|
|
5
5
|
const markdown_home_file_1 = require("../../../model/markdown-home-file");
|
|
6
6
|
const markdown_type_file_1 = require("../../../model/markdown-type-file");
|
|
7
|
+
const settings_1 = require("../../../settings");
|
|
7
8
|
class JekyllDocsProcessor extends markdown_transpiler_base_1.MarkdownTranspilerBase {
|
|
8
9
|
constructor() {
|
|
9
10
|
super(...arguments);
|
|
10
11
|
this.onBeforeProcess = (types) => {
|
|
11
|
-
this._fileContainer.pushFile(new markdown_home_file_1.MarkdownHomeFile(this.homeFileName(), types, this.
|
|
12
|
+
this._fileContainer.pushFile(new markdown_home_file_1.MarkdownHomeFile(this.homeFileName(), types, this.frontMatterForHomeFile));
|
|
12
13
|
};
|
|
13
14
|
}
|
|
14
15
|
homeFileName() {
|
|
15
16
|
return 'index';
|
|
16
17
|
}
|
|
17
18
|
onProcess(type) {
|
|
18
|
-
this._fileContainer.pushFile(new markdown_type_file_1.MarkdownTypeFile(type, 1, this.
|
|
19
|
+
this._fileContainer.pushFile(new markdown_type_file_1.MarkdownTypeFile(type, 1, this.getFrontMatterHeader(type)));
|
|
19
20
|
}
|
|
20
|
-
get
|
|
21
|
+
get frontMatterForHomeFile() {
|
|
21
22
|
return '---\nlayout: default\n---';
|
|
22
23
|
}
|
|
24
|
+
getFrontMatterHeader(type) {
|
|
25
|
+
var _a;
|
|
26
|
+
const headerLines = ['---'];
|
|
27
|
+
// "layout: default" is a required front matter header for Jekyll
|
|
28
|
+
headerLines.push('layout: default');
|
|
29
|
+
// Add any additional front matter headers that might have been configured in the settings
|
|
30
|
+
const targetType = {
|
|
31
|
+
name: type.name,
|
|
32
|
+
typeName: type.type_name,
|
|
33
|
+
accessModifier: type.access_modifier,
|
|
34
|
+
group: type.group,
|
|
35
|
+
description: (_a = type.docComment) === null || _a === void 0 ? void 0 : _a.description,
|
|
36
|
+
};
|
|
37
|
+
const configuredHeaders = settings_1.Settings.getInstance().frontMatterHeader(targetType);
|
|
38
|
+
if (configuredHeaders) {
|
|
39
|
+
configuredHeaders.forEach((header) => {
|
|
40
|
+
headerLines.push(header);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
headerLines.push('---');
|
|
44
|
+
return headerLines.join('\n');
|
|
45
|
+
}
|
|
23
46
|
getLinkingStrategy() {
|
|
24
47
|
return 'path-relative';
|
|
25
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jekyll-docsProcessor.js","sourceRoot":"","sources":["../../../../src/transpiler/markdown/jekyll/jekyll-docsProcessor.ts"],"names":[],"mappings":";;;AAAA,0EAAqE;AAErE,0EAAqE;AACrE,0EAAqE;
|
|
1
|
+
{"version":3,"file":"jekyll-docsProcessor.js","sourceRoot":"","sources":["../../../../src/transpiler/markdown/jekyll/jekyll-docsProcessor.ts"],"names":[],"mappings":";;;AAAA,0EAAqE;AAErE,0EAAqE;AACrE,0EAAqE;AAErE,gDAA6C;AAE7C,MAAa,mBAAoB,SAAQ,iDAAsB;IAA/D;;QAKE,oBAAe,GAAG,CAAC,KAAa,EAAE,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,qCAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAC9G,CAAC,CAAC;IAmCJ,CAAC;IAzCC,YAAY;QACV,OAAO,OAAO,CAAC;IACjB,CAAC;IAMD,SAAS,CAAC,IAAU;QAClB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,qCAAgB,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/F,CAAC;IAED,IAAI,sBAAsB;QACxB,OAAO,2BAA2B,CAAC;IACrC,CAAC;IAED,oBAAoB,CAAC,IAAU;;QAC7B,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,CAAC;QAC5B,iEAAiE;QACjE,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACpC,0FAA0F;QAC1F,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,cAAc,EAAE,IAAI,CAAC,eAAe;YACpC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,MAAA,IAAI,CAAC,UAAU,0CAAE,WAAW;SAC1C,CAAC;QACF,MAAM,iBAAiB,GAAG,mBAAQ,CAAC,WAAW,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAC/E,IAAI,iBAAiB,EAAE;YACrB,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBACnC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;SACJ;QACD,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,kBAAkB;QAChB,OAAO,eAAe,CAAC;IACzB,CAAC;CACF;AA1CD,kDA0CC"}
|
package/package.json
CHANGED
package/src/cli/generate.ts
CHANGED
|
@@ -85,6 +85,10 @@ result.then((config) => {
|
|
|
85
85
|
describe: 'If using "openapi" as the target generator, this allows you to specify the name of the output file.',
|
|
86
86
|
default: 'openapi',
|
|
87
87
|
},
|
|
88
|
+
sortMembersAlphabetically: {
|
|
89
|
+
type: 'boolean',
|
|
90
|
+
describe: 'Whether to sort members alphabetically.',
|
|
91
|
+
},
|
|
88
92
|
includeMetadata: {
|
|
89
93
|
type: 'boolean',
|
|
90
94
|
describe: "Whether to include the file's meta.xml information: Whether it is active and and the API version",
|
|
@@ -114,10 +118,12 @@ result.then((config) => {
|
|
|
114
118
|
title: argv.title,
|
|
115
119
|
namespace: argv.namespace,
|
|
116
120
|
openApiFileName: argv.openApiFileName,
|
|
121
|
+
sortMembersAlphabetically: argv.sortMembersAlphabetically,
|
|
117
122
|
includeMetadata: argv.includeMetadata,
|
|
118
123
|
rootDir: argv.documentationRootDir,
|
|
119
124
|
onAfterProcess: config?.config?.onAfterProcess,
|
|
120
125
|
onBeforeFileWrite: config?.config?.onBeforeFileWrite,
|
|
126
|
+
frontMatterHeader: config?.config?.frontMatterHeader,
|
|
121
127
|
});
|
|
122
128
|
|
|
123
129
|
try {
|
|
@@ -26,8 +26,8 @@ export class MarkdownFile extends OutputFile {
|
|
|
26
26
|
this.addText(`\{@link ${text}\}`, encodeHtml);
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
startCodeBlock() {
|
|
30
|
-
this.addText(
|
|
29
|
+
startCodeBlock(language = 'apex') {
|
|
30
|
+
this.addText(`\`\`\`${language}`);
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
endCodeBlock() {
|
|
@@ -6,9 +6,25 @@ interface DocCommentAware {
|
|
|
6
6
|
docComment?: DocComment;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
+
export function addMermaid(markdownFile: MarkdownFile, docCommentAware: DocCommentAware) {
|
|
10
|
+
const mermaid = docCommentAware.docComment?.annotations.find((annotation) => annotation.name === 'mermaid');
|
|
11
|
+
if (!mermaid) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
markdownFile.addBlankLine();
|
|
16
|
+
markdownFile.startCodeBlock('mermaid');
|
|
17
|
+
mermaid.bodyLines.forEach((line) => {
|
|
18
|
+
markdownFile.addText(line, false);
|
|
19
|
+
});
|
|
20
|
+
markdownFile.endCodeBlock();
|
|
21
|
+
markdownFile.addBlankLine();
|
|
22
|
+
}
|
|
23
|
+
|
|
9
24
|
export function addCustomDocCommentAnnotations(markdownFile: MarkdownFile, docCommentAware: DocCommentAware) {
|
|
10
25
|
docCommentAware.docComment?.annotations
|
|
11
26
|
.filter((currentAnnotation: DocCommentAnnotation) => currentAnnotation.name !== 'description')
|
|
27
|
+
.filter((currentAnnotation: DocCommentAnnotation) => currentAnnotation.name !== 'mermaid')
|
|
12
28
|
.forEach((currentAnnotation: DocCommentAnnotation) => {
|
|
13
29
|
markdownFile.addBlankLine();
|
|
14
30
|
markdownFile.addText(buildDocAnnotationText(currentAnnotation));
|
|
@@ -8,15 +8,9 @@ export function declareField(
|
|
|
8
8
|
grouped = false,
|
|
9
9
|
) {
|
|
10
10
|
markdownFile.addBlankLine();
|
|
11
|
-
fields
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
if (propA.name > propB.name) return 1;
|
|
15
|
-
return 0;
|
|
16
|
-
})
|
|
17
|
-
.forEach((propertyModel) => {
|
|
18
|
-
addFieldSection(markdownFile, propertyModel, startingHeadingLevel, grouped);
|
|
19
|
-
});
|
|
11
|
+
fields.forEach((propertyModel) => {
|
|
12
|
+
addFieldSection(markdownFile, propertyModel, startingHeadingLevel, grouped);
|
|
13
|
+
});
|
|
20
14
|
|
|
21
15
|
markdownFile.addHorizontalRule();
|
|
22
16
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ConstructorMirror, DocComment } from '@cparra/apex-reflection';
|
|
2
2
|
import { MarkdownFile } from '../markdown-file';
|
|
3
3
|
import { ParameterMirror } from '@cparra/apex-reflection';
|
|
4
|
-
import { addCustomDocCommentAnnotations } from './doc-comment-annotation-util';
|
|
4
|
+
import { addCustomDocCommentAnnotations, addMermaid } from './doc-comment-annotation-util';
|
|
5
5
|
import { MethodMirrorWithInheritance } from '../inheritance';
|
|
6
6
|
|
|
7
7
|
export function declareMethod(
|
|
@@ -55,6 +55,8 @@ export function declareMethod(
|
|
|
55
55
|
|
|
56
56
|
addCustomDocCommentAnnotations(markdownFile, currentMethod);
|
|
57
57
|
|
|
58
|
+
addMermaid(markdownFile, currentMethod);
|
|
59
|
+
|
|
58
60
|
if (currentMethod.docComment?.exampleAnnotation) {
|
|
59
61
|
addExample(markdownFile, currentMethod, startingHeadingLevel);
|
|
60
62
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MarkdownFile } from '../markdown-file';
|
|
2
|
-
import { addCustomDocCommentAnnotations } from './doc-comment-annotation-util';
|
|
2
|
+
import { addCustomDocCommentAnnotations, addMermaid } from './doc-comment-annotation-util';
|
|
3
3
|
import { Annotation, ClassMirror, InterfaceMirror, Type } from '@cparra/apex-reflection';
|
|
4
4
|
import { TypesRepository } from '../types-repository';
|
|
5
5
|
|
|
@@ -26,6 +26,8 @@ export function declareType(markdownFile: MarkdownFile, typeMirror: Type): void
|
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
addCustomDocCommentAnnotations(markdownFile, typeMirror);
|
|
29
|
+
|
|
30
|
+
addMermaid(markdownFile, typeMirror);
|
|
29
31
|
}
|
|
30
32
|
|
|
31
33
|
function addInheritanceSectionForClass(typeMirror: Type, markdownFile: MarkdownFile) {
|
|
@@ -91,16 +91,10 @@ export class MarkdownTypeFile extends MarkdownFile implements WalkerListener {
|
|
|
91
91
|
|
|
92
92
|
private addInnerTypes(title: string, types: Type[], addSeparator = true) {
|
|
93
93
|
this.addTitle(title, this.headingLevel + 1);
|
|
94
|
-
types
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
return 0;
|
|
99
|
-
})
|
|
100
|
-
.forEach((currentType) => {
|
|
101
|
-
const innerFile = new MarkdownTypeFile(currentType, this.headingLevel + 2, undefined, true);
|
|
102
|
-
this.addText(innerFile._contents);
|
|
103
|
-
});
|
|
94
|
+
types.forEach((currentType) => {
|
|
95
|
+
const innerFile = new MarkdownTypeFile(currentType, this.headingLevel + 2, undefined, true);
|
|
96
|
+
this.addText(innerFile._contents);
|
|
97
|
+
});
|
|
104
98
|
if (addSeparator) {
|
|
105
99
|
this.addHorizontalRule();
|
|
106
100
|
}
|
|
@@ -5,27 +5,26 @@ export class ClassWalker extends Walker {
|
|
|
5
5
|
walk(listener: WalkerListener): void {
|
|
6
6
|
listener.onTypeDeclaration(this.type);
|
|
7
7
|
const classMirror = this.type as ClassMirror;
|
|
8
|
-
|
|
9
8
|
if (classMirror.constructors.length) {
|
|
10
9
|
listener.onConstructorDeclaration(this.type.name, classMirror.constructors);
|
|
11
10
|
}
|
|
12
11
|
if (classMirror.fields.length) {
|
|
13
|
-
listener.onFieldsDeclaration(classMirror.fields);
|
|
12
|
+
listener.onFieldsDeclaration(this.sortType(classMirror.fields));
|
|
14
13
|
}
|
|
15
14
|
if (classMirror.properties.length) {
|
|
16
|
-
listener.onPropertiesDeclaration(classMirror.properties);
|
|
15
|
+
listener.onPropertiesDeclaration(this.sortType(classMirror.properties));
|
|
17
16
|
}
|
|
18
17
|
if (classMirror.methods.length) {
|
|
19
|
-
listener.onMethodsDeclaration(classMirror.methods);
|
|
18
|
+
listener.onMethodsDeclaration(this.sortType(classMirror.methods));
|
|
20
19
|
}
|
|
21
20
|
if (classMirror.enums.length) {
|
|
22
|
-
listener.onInnerEnumsDeclaration(classMirror.enums);
|
|
21
|
+
listener.onInnerEnumsDeclaration(this.sortType(classMirror.enums));
|
|
23
22
|
}
|
|
24
23
|
if (classMirror.classes.length) {
|
|
25
|
-
listener.onInnerClassesDeclaration(classMirror.classes);
|
|
24
|
+
listener.onInnerClassesDeclaration(this.sortType(classMirror.classes));
|
|
26
25
|
}
|
|
27
26
|
if (classMirror.interfaces.length) {
|
|
28
|
-
listener.onInnerInterfacesDeclaration(classMirror.interfaces);
|
|
27
|
+
listener.onInnerInterfacesDeclaration(this.sortType(classMirror.interfaces));
|
|
29
28
|
}
|
|
30
29
|
}
|
|
31
30
|
}
|
|
@@ -6,7 +6,7 @@ export class InterfaceWalker extends Walker {
|
|
|
6
6
|
listener.onTypeDeclaration(this.type);
|
|
7
7
|
const interfaceMirror = this.type as InterfaceMirror;
|
|
8
8
|
if (interfaceMirror.methods.length) {
|
|
9
|
-
listener.onMethodsDeclaration(interfaceMirror.methods);
|
|
9
|
+
listener.onMethodsDeclaration(this.sortType(interfaceMirror.methods));
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
}
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
PropertyMirror,
|
|
9
9
|
Type,
|
|
10
10
|
} from '@cparra/apex-reflection';
|
|
11
|
-
import {
|
|
11
|
+
import { Settings } from '../../settings';
|
|
12
12
|
|
|
13
13
|
export interface WalkerListener {
|
|
14
14
|
onTypeDeclaration(typeMirror: Type): void;
|
|
@@ -32,4 +32,11 @@ export abstract class Walker {
|
|
|
32
32
|
constructor(public type: Type) {}
|
|
33
33
|
|
|
34
34
|
abstract walk(listener: WalkerListener): void;
|
|
35
|
+
|
|
36
|
+
protected sortType<T extends { name: string }>(types: T[]): T[] {
|
|
37
|
+
if (Settings.getInstance().sortMembersAlphabetically()) {
|
|
38
|
+
return types.sort((a, b) => a.name.localeCompare(b.name));
|
|
39
|
+
}
|
|
40
|
+
return types;
|
|
41
|
+
}
|
|
35
42
|
}
|
package/src/settings.ts
CHANGED
|
@@ -13,6 +13,14 @@ export type OutputDir = {
|
|
|
13
13
|
fileDir: string;
|
|
14
14
|
};
|
|
15
15
|
|
|
16
|
+
export type TargetType = {
|
|
17
|
+
name: string;
|
|
18
|
+
typeName: 'class' | 'interface' | 'enum';
|
|
19
|
+
accessModifier: string;
|
|
20
|
+
description?: string;
|
|
21
|
+
group?: string;
|
|
22
|
+
};
|
|
23
|
+
|
|
16
24
|
export interface SettingsConfig {
|
|
17
25
|
sourceDirectory: string;
|
|
18
26
|
recursive: boolean;
|
|
@@ -28,8 +36,10 @@ export interface SettingsConfig {
|
|
|
28
36
|
openApiFileName: string;
|
|
29
37
|
includeMetadata: boolean;
|
|
30
38
|
rootDir?: string;
|
|
39
|
+
sortMembersAlphabetically?: boolean;
|
|
31
40
|
onAfterProcess?: (files: TargetFile[]) => void;
|
|
32
41
|
onBeforeFileWrite?: (file: TargetFile) => TargetFile;
|
|
42
|
+
frontMatterHeader?: (file: TargetType) => string[];
|
|
33
43
|
}
|
|
34
44
|
|
|
35
45
|
export class Settings {
|
|
@@ -107,6 +117,10 @@ export class Settings {
|
|
|
107
117
|
return this.config.includeMetadata;
|
|
108
118
|
}
|
|
109
119
|
|
|
120
|
+
public sortMembersAlphabetically(): boolean {
|
|
121
|
+
return this.config.sortMembersAlphabetically ?? false;
|
|
122
|
+
}
|
|
123
|
+
|
|
110
124
|
public getRootDir(): string | undefined {
|
|
111
125
|
return this.config.rootDir;
|
|
112
126
|
}
|
|
@@ -123,4 +137,11 @@ export class Settings {
|
|
|
123
137
|
}
|
|
124
138
|
return file;
|
|
125
139
|
}
|
|
140
|
+
|
|
141
|
+
public frontMatterHeader(file: TargetType): string[] {
|
|
142
|
+
if (this.config.frontMatterHeader) {
|
|
143
|
+
return this.config.frontMatterHeader(file);
|
|
144
|
+
}
|
|
145
|
+
return [];
|
|
146
|
+
}
|
|
126
147
|
}
|
|
@@ -40,11 +40,11 @@ export default class ClassFileGeneratorHelper {
|
|
|
40
40
|
// If the types the same groups then we simply link directly to that file
|
|
41
41
|
return './';
|
|
42
42
|
} else {
|
|
43
|
-
// If the types have different groups then we have to go up a directory
|
|
43
|
+
// If the types have different groups, then we have to go up a directory
|
|
44
44
|
return `../${this.getSanitizedGroup(classModel)}/`;
|
|
45
45
|
}
|
|
46
46
|
} else {
|
|
47
|
-
// If nothing is being processed then we assume we are at the root and links should include the groups
|
|
47
|
+
// If nothing is being processed, then we assume we are at the root and links should include the groups
|
|
48
48
|
return `./${this.getSanitizedGroup(classModel)}/`;
|
|
49
49
|
}
|
|
50
50
|
}
|