@cparra/apexdocs 1.13.4 → 2.0.0-alpha.14
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/.eslintrc.js +12 -0
- package/.prettierrc.js +7 -0
- package/README.md +344 -277
- package/ROADMAP.md +18 -0
- package/docs/Gemfile.lock +1 -1
- package/docs/Sample-Classes/SampleClass.md +138 -30
- package/docs/Sample-Interfaces/SampleInterface.md +21 -4
- package/docs/index.md +1 -9
- package/examples/apex/SampleClass.cls +31 -6
- package/examples/apex/SampleInterface.cls +3 -2
- package/lib/application/Apexdocs.d.ts +11 -0
- package/lib/application/Apexdocs.js +41 -0
- package/lib/application/Apexdocs.js.map +1 -0
- package/lib/cli/generate.js +17 -21
- package/lib/cli/generate.js.map +1 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -0
- package/lib/model/file.d.ts +10 -0
- package/lib/model/file.js +23 -0
- package/lib/model/file.js.map +1 -0
- package/lib/model/manifest.d.ts +22 -0
- package/lib/model/manifest.js +41 -0
- package/lib/model/manifest.js.map +1 -0
- package/lib/model/markdown-file.d.ts +10 -0
- package/lib/model/markdown-file.js +52 -0
- package/lib/model/markdown-file.js.map +1 -0
- package/lib/model/markdown-generation-util/field-declaration-util.d.ts +3 -0
- package/lib/model/markdown-generation-util/field-declaration-util.js +33 -0
- package/lib/model/markdown-generation-util/field-declaration-util.js.map +1 -0
- package/lib/model/markdown-generation-util/index.d.ts +3 -0
- package/lib/model/markdown-generation-util/index.js +9 -0
- package/lib/model/markdown-generation-util/index.js.map +1 -0
- package/lib/model/markdown-generation-util/method-declaration-util.d.ts +3 -0
- package/lib/model/markdown-generation-util/method-declaration-util.js +97 -0
- package/lib/model/markdown-generation-util/method-declaration-util.js.map +1 -0
- package/lib/model/markdown-generation-util/type-declaration-util.d.ts +3 -0
- package/lib/model/markdown-generation-util/type-declaration-util.js +25 -0
- package/lib/model/markdown-generation-util/type-declaration-util.js.map +1 -0
- package/lib/model/markdown-home-file.d.ts +11 -0
- package/lib/model/markdown-home-file.js +50 -0
- package/lib/model/markdown-home-file.js.map +1 -0
- package/lib/model/markdown-type-file.d.ts +17 -0
- package/lib/model/markdown-type-file.js +62 -0
- package/lib/model/markdown-type-file.js.map +1 -0
- package/lib/service/apex-file-reader.d.ts +13 -0
- package/lib/service/apex-file-reader.js +39 -0
- package/lib/service/apex-file-reader.js.map +1 -0
- package/lib/service/file-system.d.ts +12 -0
- package/lib/service/file-system.js +21 -0
- package/lib/service/file-system.js.map +1 -0
- package/lib/service/file-writer.d.ts +4 -0
- package/lib/service/file-writer.js +25 -0
- package/lib/service/file-writer.js.map +1 -0
- package/lib/service/manifest-factory.d.ts +9 -0
- package/lib/service/manifest-factory.js +13 -0
- package/lib/service/manifest-factory.js.map +1 -0
- package/lib/service/parser.d.ts +9 -0
- package/lib/service/parser.js +17 -0
- package/lib/service/parser.js.map +1 -0
- package/lib/service/walkers/class-walker.d.ts +4 -0
- package/lib/service/walkers/class-walker.js +32 -0
- package/lib/service/walkers/class-walker.js.map +1 -0
- package/lib/service/walkers/enum-walker.d.ts +4 -0
- package/lib/service/walkers/enum-walker.js +10 -0
- package/lib/service/walkers/enum-walker.js.map +1 -0
- package/lib/service/walkers/interface-walker.d.ts +4 -0
- package/lib/service/walkers/interface-walker.js +14 -0
- package/lib/service/walkers/interface-walker.js.map +1 -0
- package/lib/service/walkers/walker-factory.d.ts +5 -0
- package/lib/service/walkers/walker-factory.js +19 -0
- package/lib/service/walkers/walker-factory.js.map +1 -0
- package/lib/service/walkers/walker.d.ts +16 -0
- package/lib/service/walkers/walker.js +9 -0
- package/lib/service/walkers/walker.js.map +1 -0
- package/lib/settings.d.ts +21 -0
- package/lib/settings.js +42 -0
- package/lib/settings.js.map +1 -0
- package/lib/transpiler/file-container.d.ts +6 -0
- package/lib/transpiler/file-container.js +15 -0
- package/lib/transpiler/file-container.js.map +1 -0
- package/lib/transpiler/markdown/class-file-generatorHelper.d.ts +6 -0
- package/lib/transpiler/markdown/class-file-generatorHelper.js +17 -0
- package/lib/transpiler/markdown/class-file-generatorHelper.js.map +1 -0
- package/lib/transpiler/markdown/docsify/docsify-docs-processor.d.ts +4 -0
- package/lib/transpiler/markdown/docsify/docsify-docs-processor.js +10 -0
- package/lib/transpiler/markdown/docsify/docsify-docs-processor.js.map +1 -0
- package/lib/transpiler/markdown/jekyll/jekyll-docsProcessor.d.ts +8 -0
- package/lib/transpiler/markdown/jekyll/jekyll-docsProcessor.js +24 -0
- package/lib/transpiler/markdown/jekyll/jekyll-docsProcessor.js.map +1 -0
- package/lib/transpiler/markdown/markdown-transpiler-base.d.ts +11 -0
- package/lib/transpiler/markdown/markdown-transpiler-base.js +23 -0
- package/lib/transpiler/markdown/markdown-transpiler-base.js.map +1 -0
- package/lib/transpiler/processor-type-transpiler.d.ts +8 -0
- package/lib/transpiler/processor-type-transpiler.js +6 -0
- package/lib/transpiler/processor-type-transpiler.js.map +1 -0
- package/lib/transpiler/transpiler.d.ts +5 -0
- package/lib/transpiler/transpiler.js +21 -0
- package/lib/transpiler/transpiler.js.map +1 -0
- package/lib/util/logger.d.ts +18 -0
- package/lib/util/logger.js +32 -0
- package/lib/util/logger.js.map +1 -0
- package/package.json +22 -11
- package/src/application/Apexdocs.ts +41 -0
- package/src/cli/generate.ts +52 -64
- package/src/index.ts +1 -1
- package/src/model/__tests__/manifest.spec.ts +15 -0
- package/src/model/file.ts +23 -0
- package/src/model/manifest.ts +60 -0
- package/src/model/markdown-file.ts +56 -0
- package/src/model/markdown-generation-util/field-declaration-util.ts +42 -0
- package/src/model/markdown-generation-util/index.ts +3 -0
- package/src/model/markdown-generation-util/method-declaration-util.ts +128 -0
- package/src/model/markdown-generation-util/type-declaration-util.ts +29 -0
- package/src/model/markdown-home-file.ts +48 -0
- package/src/model/markdown-type-file.ts +75 -0
- package/src/service/__tests__/apex-file-reader.spec.ts +79 -0
- package/src/service/__tests__/manifest-factory.spec.ts +16 -0
- package/src/service/apex-file-reader.ts +45 -0
- package/src/service/file-system.ts +28 -0
- package/src/service/file-writer.ts +25 -0
- package/src/service/manifest-factory.ts +12 -0
- package/src/service/parser.ts +18 -0
- package/src/service/walkers/class-walker.ts +31 -0
- package/src/service/walkers/enum-walker.ts +8 -0
- package/src/service/walkers/interface-walker.ts +12 -0
- package/src/service/walkers/walker-factory.ts +18 -0
- package/src/service/walkers/walker.ts +35 -0
- package/src/settings.ts +57 -0
- package/src/transpiler/file-container.ts +13 -0
- package/src/transpiler/markdown/class-file-generatorHelper.ts +16 -0
- package/src/transpiler/markdown/docsify/docsify-docs-processor.ts +7 -0
- package/src/transpiler/markdown/jekyll/jekyll-docsProcessor.ts +22 -0
- package/src/transpiler/markdown/markdown-transpiler-base.ts +28 -0
- package/src/transpiler/processor-type-transpiler.ts +12 -0
- package/src/transpiler/transpiler.ts +18 -0
- package/src/util/logger.ts +31 -0
- package/tsconfig.json +9 -3
- package/.prettierrc +0 -5
- package/examples/config/config.json +0 -5
- package/lib/AsJsDocsProcessor.d.ts +0 -9
- package/lib/AsJsDocsProcessor.js +0 -61
- package/lib/ClassFileGeneratorHelper.d.ts +0 -5
- package/lib/ClassFileGeneratorHelper.js +0 -25
- package/lib/ClassFileGeneratorHelper.test.d.ts +0 -1
- package/lib/ClassFileGeneratorHelper.test.js +0 -32
- package/lib/Configuration.d.ts +0 -34
- package/lib/Configuration.js +0 -37
- package/lib/DocsProcessor.d.ts +0 -6
- package/lib/DocsProcessor.js +0 -9
- package/lib/DocsifyDocsProcessor.d.ts +0 -4
- package/lib/DocsifyDocsProcessor.js +0 -9
- package/lib/DocsifyDocsProcessor.test.d.ts +0 -1
- package/lib/DocsifyDocsProcessor.test.js +0 -7
- package/lib/FileManager.d.ts +0 -6
- package/lib/FileManager.js +0 -28
- package/lib/JekyllDocsProcessor.d.ts +0 -8
- package/lib/JekyllDocsProcessor.js +0 -20
- package/lib/JekyllDocsProcessor.test.d.ts +0 -1
- package/lib/JekyllDocsProcessor.test.js +0 -21
- package/lib/JsHelper.d.ts +0 -12
- package/lib/JsHelper.js +0 -72
- package/lib/MarkdownDocsProcessor.d.ts +0 -22
- package/lib/MarkdownDocsProcessor.js +0 -358
- package/lib/MarkdownHelper.d.ts +0 -13
- package/lib/MarkdownHelper.js +0 -78
- package/lib/Settings.d.ts +0 -22
- package/lib/Settings.js +0 -51
- package/lib/Settings.test.d.ts +0 -1
- package/lib/Settings.test.js +0 -38
- package/lib/command/Generate.d.ts +0 -2
- package/lib/command/Generate.js +0 -54
- package/lib/command/__test__/Generte.test.d.ts +0 -1
- package/lib/command/__test__/Generte.test.js +0 -30
- package/lib/model/ApexModel.d.ts +0 -30
- package/lib/model/ApexModel.js +0 -85
- package/lib/model/ClassModel.d.ts +0 -39
- package/lib/model/ClassModel.js +0 -125
- package/lib/model/EnumModel.d.ts +0 -6
- package/lib/model/EnumModel.js +0 -28
- package/lib/model/MethodModel.d.ts +0 -18
- package/lib/model/MethodModel.js +0 -74
- package/lib/model/PropertyModel.d.ts +0 -6
- package/lib/model/PropertyModel.js +0 -40
- package/lib/model/__test__/ClassModel.test.d.ts +0 -1
- package/lib/model/__test__/ClassModel.test.js +0 -79
- package/lib/model/__test__/MethodModel.test.d.ts +0 -1
- package/lib/model/__test__/MethodModel.test.js +0 -55
- package/lib/model/__test__/PropertyModel.test.d.ts +0 -1
- package/lib/model/__test__/PropertyModel.test.js +0 -25
- package/lib/parser/ClassParser.d.ts +0 -5
- package/lib/parser/ClassParser.js +0 -79
- package/lib/parser/EnumParser.d.ts +0 -5
- package/lib/parser/EnumParser.js +0 -45
- package/lib/parser/FileParser.d.ts +0 -8
- package/lib/parser/FileParser.js +0 -210
- package/lib/parser/MethodParser.d.ts +0 -5
- package/lib/parser/MethodParser.js +0 -109
- package/lib/parser/PropertyParser.d.ts +0 -5
- package/lib/parser/PropertyParser.js +0 -46
- package/lib/parser/__test__/ClassParser.test.d.ts +0 -1
- package/lib/parser/__test__/ClassParser.test.js +0 -52
- package/lib/parser/__test__/FileParser.test.d.ts +0 -1
- package/lib/parser/__test__/FileParser.test.js +0 -12
- package/lib/parser/__test__/MethodParser.test.d.ts +0 -1
- package/lib/parser/__test__/MethodParser.test.js +0 -69
- package/lib/parser/__test__/PropertyParser.test.d.ts +0 -1
- package/lib/parser/__test__/PropertyParser.test.js +0 -14
- package/lib/parser/__test__/testFileContents.d.ts +0 -1
- package/lib/parser/__test__/testFileContents.js +0 -82
- package/lib/utils.d.ts +0 -12
- package/lib/utils.js +0 -49
- package/lib/utils.test.d.ts +0 -1
- package/lib/utils.test.js +0 -35
- package/src/AsJsDocsProcessor.ts +0 -67
- package/src/ClassFileGeneratorHelper.test.ts +0 -44
- package/src/ClassFileGeneratorHelper.ts +0 -26
- package/src/Configuration.ts +0 -69
- package/src/DocsProcessor.ts +0 -9
- package/src/DocsifyDocsProcessor.test.ts +0 -6
- package/src/DocsifyDocsProcessor.ts +0 -7
- package/src/FileManager.ts +0 -32
- package/src/JekyllDocsProcessor.test.ts +0 -28
- package/src/JekyllDocsProcessor.ts +0 -22
- package/src/JsHelper.ts +0 -78
- package/src/MarkdownDocsProcessor.ts +0 -420
- package/src/MarkdownHelper.ts +0 -91
- package/src/Settings.test.ts +0 -54
- package/src/Settings.ts +0 -65
- package/src/command/Generate.ts +0 -69
- package/src/command/__test__/Generte.test.ts +0 -39
- package/src/model/ApexModel.ts +0 -102
- package/src/model/ClassModel.ts +0 -140
- package/src/model/EnumModel.ts +0 -27
- package/src/model/MethodModel.ts +0 -80
- package/src/model/PropertyModel.ts +0 -37
- package/src/model/__test__/ClassModel.test.ts +0 -100
- package/src/model/__test__/MethodModel.test.ts +0 -70
- package/src/model/__test__/PropertyModel.test.ts +0 -34
- package/src/parser/ClassParser.ts +0 -83
- package/src/parser/EnumParser.ts +0 -47
- package/src/parser/FileParser.ts +0 -250
- package/src/parser/MethodParser.ts +0 -119
- package/src/parser/PropertyParser.ts +0 -46
- package/src/parser/__test__/ClassParser.test.ts +0 -70
- package/src/parser/__test__/FileParser.test.ts +0 -14
- package/src/parser/__test__/MethodParser.test.ts +0 -90
- package/src/parser/__test__/PropertyParser.test.ts +0 -18
- package/src/parser/__test__/testFileContents.ts +0 -81
- package/src/utils.test.ts +0 -40
- package/src/utils.ts +0 -52
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const walker_1 = require("./walker");
|
|
4
|
+
class ClassWalker extends walker_1.Walker {
|
|
5
|
+
walk(listener) {
|
|
6
|
+
listener.onTypeDeclaration(this.type);
|
|
7
|
+
const classMirror = this.type;
|
|
8
|
+
if (classMirror.constructors.length) {
|
|
9
|
+
listener.onConstructorDeclaration(this.type.name, classMirror.constructors);
|
|
10
|
+
}
|
|
11
|
+
if (classMirror.fields.length) {
|
|
12
|
+
listener.onFieldsDeclaration(classMirror.fields);
|
|
13
|
+
}
|
|
14
|
+
if (classMirror.properties.length) {
|
|
15
|
+
listener.onPropertiesDeclaration(classMirror.properties);
|
|
16
|
+
}
|
|
17
|
+
if (classMirror.methods.length) {
|
|
18
|
+
listener.onMethodsDeclaration(classMirror.methods);
|
|
19
|
+
}
|
|
20
|
+
if (classMirror.enums.length) {
|
|
21
|
+
listener.onInnerEnumsDeclaration(classMirror.enums);
|
|
22
|
+
}
|
|
23
|
+
if (classMirror.classes.length) {
|
|
24
|
+
listener.onInnerClassesDeclaration(classMirror.classes);
|
|
25
|
+
}
|
|
26
|
+
if (classMirror.interfaces.length) {
|
|
27
|
+
listener.onInnerInterfacesDeclaration(classMirror.interfaces);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.ClassWalker = ClassWalker;
|
|
32
|
+
//# sourceMappingURL=class-walker.js.map
|
|
@@ -0,0 +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;QAE7C,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,WAAW,CAAC,MAAM,CAAC,CAAC;SAClD;QACD,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE;YACjC,QAAQ,CAAC,uBAAuB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;SAC1D;QACD,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE;YAC9B,QAAQ,CAAC,oBAAoB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;SACpD;QACD,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE;YAC5B,QAAQ,CAAC,uBAAuB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SACrD;QACD,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE;YAC9B,QAAQ,CAAC,yBAAyB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;SACzD;QACD,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE;YACjC,QAAQ,CAAC,4BAA4B,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;SAC/D;IACH,CAAC;CACF;AA3BD,kCA2BC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const walker_1 = require("./walker");
|
|
4
|
+
class EnumWalker extends walker_1.Walker {
|
|
5
|
+
walk(listener) {
|
|
6
|
+
listener.onTypeDeclaration(this.type);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
exports.EnumWalker = EnumWalker;
|
|
10
|
+
//# sourceMappingURL=enum-walker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enum-walker.js","sourceRoot":"","sources":["../../../src/service/walkers/enum-walker.ts"],"names":[],"mappings":";;AAAA,qCAAkD;AAGlD,MAAa,UAAW,SAAQ,eAAM;IACpC,IAAI,CAAC,QAAwB;QAC3B,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;CACF;AAJD,gCAIC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const walker_1 = require("./walker");
|
|
4
|
+
class InterfaceWalker extends walker_1.Walker {
|
|
5
|
+
walk(listener) {
|
|
6
|
+
listener.onTypeDeclaration(this.type);
|
|
7
|
+
const interfaceMirror = this.type;
|
|
8
|
+
if (interfaceMirror.methods.length) {
|
|
9
|
+
listener.onMethodsDeclaration(interfaceMirror.methods);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.InterfaceWalker = InterfaceWalker;
|
|
14
|
+
//# sourceMappingURL=interface-walker.js.map
|
|
@@ -0,0 +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;SACxD;IACH,CAAC;CACF;AARD,0CAQC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const class_walker_1 = require("./class-walker");
|
|
4
|
+
const enum_walker_1 = require("./enum-walker");
|
|
5
|
+
const interface_walker_1 = require("./interface-walker");
|
|
6
|
+
class WalkerFactory {
|
|
7
|
+
static get(type) {
|
|
8
|
+
switch (type.type_name) {
|
|
9
|
+
case 'class':
|
|
10
|
+
return new class_walker_1.ClassWalker(type);
|
|
11
|
+
case 'enum':
|
|
12
|
+
return new enum_walker_1.EnumWalker(type);
|
|
13
|
+
case 'interface':
|
|
14
|
+
return new interface_walker_1.InterfaceWalker(type);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.WalkerFactory = WalkerFactory;
|
|
19
|
+
//# sourceMappingURL=walker-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walker-factory.js","sourceRoot":"","sources":["../../../src/service/walkers/walker-factory.ts"],"names":[],"mappings":";;AAEA,iDAA6C;AAC7C,+CAA2C;AAC3C,yDAAqD;AAErD,MAAa,aAAa;IACxB,MAAM,CAAC,GAAG,CAAC,IAAU;QACnB,QAAQ,IAAI,CAAC,SAAS,EAAE;YACtB,KAAK,OAAO;gBACV,OAAO,IAAI,0BAAW,CAAC,IAAI,CAAC,CAAC;YAC/B,KAAK,MAAM;gBACT,OAAO,IAAI,wBAAU,CAAC,IAAI,CAAC,CAAC;YAC9B,KAAK,WAAW;gBACd,OAAO,IAAI,kCAAe,CAAC,IAAI,CAAC,CAAC;SACpC;IACH,CAAC;CACF;AAXD,sCAWC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ClassMirror, ConstructorMirror, EnumMirror, FieldMirror, InterfaceMirror, MethodMirror, PropertyMirror, Type } from '@cparra/apex-reflection';
|
|
2
|
+
export interface WalkerListener {
|
|
3
|
+
onTypeDeclaration(typeMirror: Type): void;
|
|
4
|
+
onConstructorDeclaration(className: string, constructors: ConstructorMirror[]): void;
|
|
5
|
+
onFieldsDeclaration(fields: FieldMirror[]): void;
|
|
6
|
+
onPropertiesDeclaration(properties: PropertyMirror[]): void;
|
|
7
|
+
onMethodsDeclaration(methods: MethodMirror[]): void;
|
|
8
|
+
onInnerEnumsDeclaration(enums: EnumMirror[]): void;
|
|
9
|
+
onInnerClassesDeclaration(classes: ClassMirror[]): void;
|
|
10
|
+
onInnerInterfacesDeclaration(interfaces: InterfaceMirror[]): void;
|
|
11
|
+
}
|
|
12
|
+
export declare abstract class Walker {
|
|
13
|
+
type: Type;
|
|
14
|
+
constructor(type: Type);
|
|
15
|
+
abstract walk(listener: WalkerListener): void;
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walker.js","sourceRoot":"","sources":["../../../src/service/walkers/walker.ts"],"names":[],"mappings":";;AA8BA,MAAsB,MAAM;IAC1B,YAAmB,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;IAAG,CAAC;CAGlC;AAJD,wBAIC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import ProcessorTypeTranspiler from './transpiler/processor-type-transpiler';
|
|
2
|
+
export declare type GeneratorChoices = 'jekyll' | 'docsify';
|
|
3
|
+
export interface SettingsConfig {
|
|
4
|
+
sourceDirectory: string;
|
|
5
|
+
recursive: boolean;
|
|
6
|
+
scope: string[];
|
|
7
|
+
outputDir: string;
|
|
8
|
+
targetGenerator: GeneratorChoices;
|
|
9
|
+
}
|
|
10
|
+
export declare class Settings {
|
|
11
|
+
config: SettingsConfig;
|
|
12
|
+
private static instance;
|
|
13
|
+
private constructor();
|
|
14
|
+
static build(config: SettingsConfig): void;
|
|
15
|
+
static getInstance(): Settings;
|
|
16
|
+
get sourceDirectory(): string;
|
|
17
|
+
get recursive(): boolean;
|
|
18
|
+
get scope(): string[];
|
|
19
|
+
get outputDir(): string;
|
|
20
|
+
get typeTranspiler(): ProcessorTypeTranspiler;
|
|
21
|
+
}
|
package/lib/settings.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const jekyll_docsProcessor_1 = require("./transpiler/markdown/jekyll/jekyll-docsProcessor");
|
|
4
|
+
const docsify_docs_processor_1 = require("./transpiler/markdown/docsify/docsify-docs-processor");
|
|
5
|
+
class Settings {
|
|
6
|
+
constructor(config) {
|
|
7
|
+
this.config = config;
|
|
8
|
+
}
|
|
9
|
+
static build(config) {
|
|
10
|
+
Settings.instance = new Settings(config);
|
|
11
|
+
}
|
|
12
|
+
static getInstance() {
|
|
13
|
+
if (!Settings.instance) {
|
|
14
|
+
throw new Error('Settings has not been initialized');
|
|
15
|
+
}
|
|
16
|
+
return Settings.instance;
|
|
17
|
+
}
|
|
18
|
+
get sourceDirectory() {
|
|
19
|
+
return this.config.sourceDirectory;
|
|
20
|
+
}
|
|
21
|
+
get recursive() {
|
|
22
|
+
return this.config.recursive;
|
|
23
|
+
}
|
|
24
|
+
get scope() {
|
|
25
|
+
return this.config.scope;
|
|
26
|
+
}
|
|
27
|
+
get outputDir() {
|
|
28
|
+
return this.config.outputDir;
|
|
29
|
+
}
|
|
30
|
+
get typeTranspiler() {
|
|
31
|
+
switch (this.config.targetGenerator) {
|
|
32
|
+
case 'jekyll':
|
|
33
|
+
return new jekyll_docsProcessor_1.JekyllDocsProcessor();
|
|
34
|
+
case 'docsify':
|
|
35
|
+
return new docsify_docs_processor_1.default();
|
|
36
|
+
default:
|
|
37
|
+
throw Error('Invalid target generator');
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.Settings = Settings;
|
|
42
|
+
//# sourceMappingURL=settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":";;AACA,4FAAwF;AACxF,iGAAwF;AAYxF,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,cAAc;QAChB,QAAQ,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;YACnC,KAAK,QAAQ;gBACX,OAAO,IAAI,0CAAmB,EAAE,CAAC;YACnC,KAAK,SAAS;gBACZ,OAAO,IAAI,gCAAoB,EAAE,CAAC;YACpC;gBACE,MAAM,KAAK,CAAC,0BAA0B,CAAC,CAAC;SAC3C;IACH,CAAC;CACF;AA1CD,4BA0CC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class FileContainer {
|
|
4
|
+
constructor() {
|
|
5
|
+
this._files = [];
|
|
6
|
+
}
|
|
7
|
+
files() {
|
|
8
|
+
return this._files;
|
|
9
|
+
}
|
|
10
|
+
pushFile(file) {
|
|
11
|
+
this._files.push(file);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.FileContainer = FileContainer;
|
|
15
|
+
//# sourceMappingURL=file-container.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-container.js","sourceRoot":"","sources":["../../src/transpiler/file-container.ts"],"names":[],"mappings":";;AAEA,MAAa,aAAa;IAA1B;QACE,WAAM,GAAW,EAAE,CAAC;IAStB,CAAC;IAPC,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,QAAQ,CAAC,IAAU;QACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;CACF;AAVD,sCAUC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class ClassFileGeneratorHelper {
|
|
4
|
+
static getSanitizedGroup(classModel) {
|
|
5
|
+
return this.getClassGroup(classModel).replace(/ /g, '-').replace('.', '');
|
|
6
|
+
}
|
|
7
|
+
static getFileLink(classModel) {
|
|
8
|
+
return `[${classModel.name}](/${this.getSanitizedGroup(classModel)}/${classModel.name}.md)`;
|
|
9
|
+
}
|
|
10
|
+
static getClassGroup(classModel) {
|
|
11
|
+
var _a, _b;
|
|
12
|
+
const groupAnnotation = (_a = classModel.docComment) === null || _a === void 0 ? void 0 : _a.annotations.find((annotation) => annotation.name === 'group');
|
|
13
|
+
return (_b = groupAnnotation === null || groupAnnotation === void 0 ? void 0 : groupAnnotation.body) !== null && _b !== void 0 ? _b : 'Misc';
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.default = ClassFileGeneratorHelper;
|
|
17
|
+
//# sourceMappingURL=class-file-generatorHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"class-file-generatorHelper.js","sourceRoot":"","sources":["../../../src/transpiler/markdown/class-file-generatorHelper.ts"],"names":[],"mappings":";;AAEA,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,OAAO,IAAI,UAAU,CAAC,IAAI,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,IAAI,MAAM,CAAC;IAC9F,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,UAAgB;;QAC3C,MAAM,eAAe,SAAG,UAAU,CAAC,UAAU,0CAAE,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QAC7G,aAAO,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,IAAI,mCAAI,MAAM,CAAC;IACzC,CAAC;CACF;AAbD,2CAaC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const markdown_transpiler_base_1 = require("../markdown-transpiler-base");
|
|
4
|
+
class DocsifyDocsProcessor extends markdown_transpiler_base_1.MarkdownTranspilerBase {
|
|
5
|
+
homeFileName() {
|
|
6
|
+
return 'README';
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
exports.default = DocsifyDocsProcessor;
|
|
10
|
+
//# sourceMappingURL=docsify-docs-processor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docsify-docs-processor.js","sourceRoot":"","sources":["../../../../src/transpiler/markdown/docsify/docsify-docs-processor.ts"],"names":[],"mappings":";;AAAA,0EAAqE;AAErE,MAAqB,oBAAqB,SAAQ,iDAAsB;IACtE,YAAY;QACV,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAJD,uCAIC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { MarkdownTranspilerBase } from '../markdown-transpiler-base';
|
|
2
|
+
import { Type } from '@cparra/apex-reflection';
|
|
3
|
+
export declare class JekyllDocsProcessor extends MarkdownTranspilerBase {
|
|
4
|
+
homeFileName(): string;
|
|
5
|
+
onBeforeProcess: (types: Type[]) => void;
|
|
6
|
+
onProcess(type: Type): void;
|
|
7
|
+
get frontMatterHeader(): string;
|
|
8
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const markdown_transpiler_base_1 = require("../markdown-transpiler-base");
|
|
4
|
+
const markdown_home_file_1 = require("../../../model/markdown-home-file");
|
|
5
|
+
const markdown_type_file_1 = require("../../../model/markdown-type-file");
|
|
6
|
+
class JekyllDocsProcessor extends markdown_transpiler_base_1.MarkdownTranspilerBase {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this.onBeforeProcess = (types) => {
|
|
10
|
+
this._fileContainer.pushFile(new markdown_home_file_1.MarkdownHomeFile(this.homeFileName(), types, this.frontMatterHeader));
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
homeFileName() {
|
|
14
|
+
return 'index';
|
|
15
|
+
}
|
|
16
|
+
onProcess(type) {
|
|
17
|
+
this._fileContainer.pushFile(new markdown_type_file_1.MarkdownTypeFile(type, 1, this.frontMatterHeader));
|
|
18
|
+
}
|
|
19
|
+
get frontMatterHeader() {
|
|
20
|
+
return '---\nlayout: default\n---';
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.JekyllDocsProcessor = JekyllDocsProcessor;
|
|
24
|
+
//# sourceMappingURL=jekyll-docsProcessor.js.map
|
|
@@ -0,0 +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;AAErE,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,iBAAiB,CAAC,CAAC,CAAC;QACzG,CAAC,CAAC;IASJ,CAAC;IAfC,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,iBAAiB,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,2BAA2B,CAAC;IACrC,CAAC;CACF;AAhBD,kDAgBC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import ProcessorTypeTranspiler from '../processor-type-transpiler';
|
|
2
|
+
import { Type } from '@cparra/apex-reflection';
|
|
3
|
+
import { FileContainer } from '../file-container';
|
|
4
|
+
export declare abstract class MarkdownTranspilerBase extends ProcessorTypeTranspiler {
|
|
5
|
+
protected readonly _fileContainer: FileContainer;
|
|
6
|
+
constructor();
|
|
7
|
+
abstract homeFileName(): string;
|
|
8
|
+
fileBuilder(): FileContainer;
|
|
9
|
+
onBeforeProcess: (types: Type[]) => void;
|
|
10
|
+
onProcess(type: Type): void;
|
|
11
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const processor_type_transpiler_1 = require("../processor-type-transpiler");
|
|
4
|
+
const file_container_1 = require("../file-container");
|
|
5
|
+
const markdown_home_file_1 = require("../../model/markdown-home-file");
|
|
6
|
+
const markdown_type_file_1 = require("../../model/markdown-type-file");
|
|
7
|
+
class MarkdownTranspilerBase extends processor_type_transpiler_1.default {
|
|
8
|
+
constructor() {
|
|
9
|
+
super();
|
|
10
|
+
this.onBeforeProcess = (types) => {
|
|
11
|
+
this._fileContainer.pushFile(new markdown_home_file_1.MarkdownHomeFile(this.homeFileName(), types));
|
|
12
|
+
};
|
|
13
|
+
this._fileContainer = new file_container_1.FileContainer();
|
|
14
|
+
}
|
|
15
|
+
fileBuilder() {
|
|
16
|
+
return this._fileContainer;
|
|
17
|
+
}
|
|
18
|
+
onProcess(type) {
|
|
19
|
+
this._fileContainer.pushFile(new markdown_type_file_1.MarkdownTypeFile(type));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.MarkdownTranspilerBase = MarkdownTranspilerBase;
|
|
23
|
+
//# sourceMappingURL=markdown-transpiler-base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown-transpiler-base.js","sourceRoot":"","sources":["../../../src/transpiler/markdown/markdown-transpiler-base.ts"],"names":[],"mappings":";;AAAA,4EAAmE;AAEnE,sDAAkD;AAClD,uEAAkE;AAClE,uEAAkE;AAElE,MAAsB,sBAAuB,SAAQ,mCAAuB;IAG1E;QACE,KAAK,EAAE,CAAC;QAUV,oBAAe,GAAG,CAAC,KAAa,EAAE,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,qCAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;QACjF,CAAC,CAAC;QAXA,IAAI,CAAC,cAAc,GAAG,IAAI,8BAAa,EAAE,CAAC;IAC5C,CAAC;IAID,WAAW;QACT,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAMD,SAAS,CAAC,IAAU;QAClB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,qCAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3D,CAAC;CACF;AArBD,wDAqBC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Type } from '@cparra/apex-reflection';
|
|
2
|
+
import { FileContainer } from './file-container';
|
|
3
|
+
export default abstract class ProcessorTypeTranspiler {
|
|
4
|
+
onBeforeProcess: ((types: Type[]) => void) | undefined;
|
|
5
|
+
abstract onProcess(type: Type): void;
|
|
6
|
+
onAfterProcess: ((types: Type[]) => void) | undefined;
|
|
7
|
+
abstract fileBuilder(): FileContainer;
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processor-type-transpiler.js","sourceRoot":"","sources":["../../src/transpiler/processor-type-transpiler.ts"],"names":[],"mappings":";;AAGA,MAA8B,uBAAuB;CAQpD;AARD,0CAQC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class Transpiler {
|
|
4
|
+
static generate(types, processor) {
|
|
5
|
+
var _a, _b;
|
|
6
|
+
const sortedTypes = types.sort((apexTypeA, apexTypeB) => {
|
|
7
|
+
if (apexTypeA.name < apexTypeB.name)
|
|
8
|
+
return -1;
|
|
9
|
+
if (apexTypeA.name > apexTypeB.name)
|
|
10
|
+
return 1;
|
|
11
|
+
return 0;
|
|
12
|
+
});
|
|
13
|
+
(_a = processor.onBeforeProcess) === null || _a === void 0 ? void 0 : _a.call(processor, sortedTypes);
|
|
14
|
+
sortedTypes.forEach((currentType) => {
|
|
15
|
+
processor.onProcess(currentType);
|
|
16
|
+
});
|
|
17
|
+
(_b = processor.onAfterProcess) === null || _b === void 0 ? void 0 : _b.call(processor, sortedTypes);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.default = Transpiler;
|
|
21
|
+
//# sourceMappingURL=transpiler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transpiler.js","sourceRoot":"","sources":["../../src/transpiler/transpiler.ts"],"names":[],"mappings":";;AAGA,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,+CAAzB,SAAS,EAAmB,WAAW,EAAE;QACzC,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YAClC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,MAAA,SAAS,CAAC,cAAc,+CAAxB,SAAS,EAAkB,WAAW,EAAE;IAC1C,CAAC;CACF;AAdD,6BAcC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logs messages to the console.
|
|
3
|
+
*/
|
|
4
|
+
export declare class Logger {
|
|
5
|
+
/**
|
|
6
|
+
* Logs a message with optional arguments.
|
|
7
|
+
* @param message The message to log.
|
|
8
|
+
* @param args Optional arguments.
|
|
9
|
+
*/
|
|
10
|
+
static log(message: string, ...args: string[]): void;
|
|
11
|
+
/**
|
|
12
|
+
* Logs an error message with optional arguments.
|
|
13
|
+
* @param message The error message to log.
|
|
14
|
+
* @param args Optional arguments.
|
|
15
|
+
*/
|
|
16
|
+
static error(message: string, ...args: string[]): void;
|
|
17
|
+
private static logSingle;
|
|
18
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const chalk = require("chalk");
|
|
4
|
+
/**
|
|
5
|
+
* Logs messages to the console.
|
|
6
|
+
*/
|
|
7
|
+
class Logger {
|
|
8
|
+
/**
|
|
9
|
+
* Logs a message with optional arguments.
|
|
10
|
+
* @param message The message to log.
|
|
11
|
+
* @param args Optional arguments.
|
|
12
|
+
*/
|
|
13
|
+
static log(message, ...args) {
|
|
14
|
+
this.logSingle(message);
|
|
15
|
+
args.forEach((arg) => {
|
|
16
|
+
this.logSingle(arg);
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Logs an error message with optional arguments.
|
|
21
|
+
* @param message The error message to log.
|
|
22
|
+
* @param args Optional arguments.
|
|
23
|
+
*/
|
|
24
|
+
static error(message, ...args) {
|
|
25
|
+
this.log(`${chalk.red(message)}`, ...args);
|
|
26
|
+
}
|
|
27
|
+
static logSingle(message) {
|
|
28
|
+
process.stdout.write(`${chalk.green(new Date().toLocaleString() + ': ')}${message}\n`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.Logger = Logger;
|
|
32
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/util/logger.ts"],"names":[],"mappings":";;AAAA,+BAA+B;AAE/B;;GAEG;AACH,MAAa,MAAM;IACjB;;;;OAIG;IACI,MAAM,CAAC,GAAG,CAAC,OAAe,EAAE,GAAG,IAAc;QAClD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACnB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAK,CAAC,OAAe,EAAE,GAAG,IAAc;QACpD,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAC7C,CAAC;IAEO,MAAM,CAAC,SAAS,CAAC,OAAe;QACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;IACzF,CAAC;CACF;AAzBD,wBAyBC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cparra/apexdocs",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-alpha.14",
|
|
4
4
|
"description": "Library with CLI capabilities to generate documentation for Salesforce Apex classes.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"apex",
|
|
@@ -17,12 +17,12 @@
|
|
|
17
17
|
"types": "lib/index.d.ts",
|
|
18
18
|
"scripts": {
|
|
19
19
|
"test": "jest --coverage",
|
|
20
|
-
"build": "tsc --declaration",
|
|
21
|
-
"
|
|
22
|
-
"lint": "tslint -p tsconfig.json",
|
|
20
|
+
"build": "rimraf ./lib && npm run lint && tsc --declaration",
|
|
21
|
+
"lint": "eslint ./src/**/*.{js,ts} --quiet --fix",
|
|
23
22
|
"prepare": "npm run build",
|
|
24
23
|
"version": "npm run format && git add -A src",
|
|
25
|
-
"postversion": "git push && git push --tags"
|
|
24
|
+
"postversion": "git push && git push --tags",
|
|
25
|
+
"execute:example": "node lib/cli/generate.js -s examples/apex -t docs --scope public"
|
|
26
26
|
},
|
|
27
27
|
"author": "Cesar Parra",
|
|
28
28
|
"license": "MIT",
|
|
@@ -36,19 +36,28 @@
|
|
|
36
36
|
"@types/node": "^13.7.4",
|
|
37
37
|
"@types/shelljs": "^0.8.6",
|
|
38
38
|
"@types/yargs": "^15.0.3",
|
|
39
|
+
"@typescript-eslint/eslint-plugin": "^5.1.0",
|
|
40
|
+
"@typescript-eslint/parser": "^5.1.0",
|
|
41
|
+
"eslint": "^8.0.1",
|
|
42
|
+
"eslint-config-prettier": "^8.3.0",
|
|
43
|
+
"eslint-plugin-prettier": "^4.0.0",
|
|
39
44
|
"husky": "^4.2.3",
|
|
40
45
|
"jest": "^27.0.4",
|
|
41
|
-
"prettier": "^
|
|
46
|
+
"prettier": "^2.4.1",
|
|
47
|
+
"rimraf": "^3.0.2",
|
|
42
48
|
"ts-jest": "^27.0.3",
|
|
43
|
-
"tslint": "^6.0.0",
|
|
44
|
-
"tslint-config-prettier": "^1.18.0",
|
|
45
49
|
"typescript": "^3.8.2"
|
|
46
50
|
},
|
|
47
51
|
"husky": {
|
|
48
52
|
"hooks": {
|
|
49
|
-
"pre-commit": "
|
|
53
|
+
"pre-commit": "lint-staged"
|
|
50
54
|
}
|
|
51
55
|
},
|
|
56
|
+
"lint-staged": {
|
|
57
|
+
"*.{js,ts,tsx}": [
|
|
58
|
+
"eslint --fix"
|
|
59
|
+
]
|
|
60
|
+
},
|
|
52
61
|
"jest": {
|
|
53
62
|
"transform": {
|
|
54
63
|
".(ts|tsx)": "<rootDir>/node_modules/ts-jest/preprocessor.js"
|
|
@@ -62,7 +71,9 @@
|
|
|
62
71
|
]
|
|
63
72
|
},
|
|
64
73
|
"dependencies": {
|
|
65
|
-
"
|
|
66
|
-
"
|
|
74
|
+
"@cparra/apex-reflection": "^0.1.1-alpha.14",
|
|
75
|
+
"chalk": "^4.1.2",
|
|
76
|
+
"html-entities": "^2.3.2",
|
|
77
|
+
"yargs": "^16.0.3"
|
|
67
78
|
}
|
|
68
79
|
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { ApexFileReader } from '../service/apex-file-reader';
|
|
2
|
+
import { DefaultFileSystem } from '../service/file-system';
|
|
3
|
+
import { ReflectionResult } from '@cparra/apex-reflection/index';
|
|
4
|
+
import { reflect } from '@cparra/apex-reflection';
|
|
5
|
+
import { Logger } from '../util/logger';
|
|
6
|
+
import { createManifest } from '../service/manifest-factory';
|
|
7
|
+
import { RawBodyParser } from '../service/parser';
|
|
8
|
+
import { Settings } from '../settings';
|
|
9
|
+
import Transpiler from '../transpiler/transpiler';
|
|
10
|
+
import { FileWriter } from '../service/file-writer';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Application entry-point to generate documentation out of Apex source files.
|
|
14
|
+
*/
|
|
15
|
+
export class Apexdocs {
|
|
16
|
+
/**
|
|
17
|
+
* Generates documentation out of Apex source files.
|
|
18
|
+
*/
|
|
19
|
+
static generate(): void {
|
|
20
|
+
const fileBodies = ApexFileReader.processFiles(new DefaultFileSystem());
|
|
21
|
+
const manifest = createManifest(new RawBodyParser(fileBodies), this._reflectionWithLogger);
|
|
22
|
+
|
|
23
|
+
const filteredManifest = manifest.filteredByAccessModifierAndAnnotations(Settings.getInstance().scope);
|
|
24
|
+
|
|
25
|
+
Logger.log(`Parsed ${filteredManifest.length} files`);
|
|
26
|
+
const processor = Settings.getInstance().typeTranspiler;
|
|
27
|
+
Transpiler.generate(filteredManifest, processor);
|
|
28
|
+
const generatedFiles = processor.fileBuilder().files();
|
|
29
|
+
FileWriter.write(generatedFiles, (fileName: string) => {
|
|
30
|
+
Logger.log(`${fileName} processed.`);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
static _reflectionWithLogger = (declarationBody: string): ReflectionResult => {
|
|
35
|
+
const result = reflect(declarationBody);
|
|
36
|
+
if (result.error) {
|
|
37
|
+
Logger.log(`Parsing error ${result.error?.message}`);
|
|
38
|
+
}
|
|
39
|
+
return result;
|
|
40
|
+
};
|
|
41
|
+
}
|