@cparra/apexdocs 2.2.1 → 2.2.2

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.
@@ -113,6 +113,11 @@ String result = SampleClass.testMethod();
113
113
  System.debug(result);
114
114
  ```
115
115
 
116
+ ### `static anotherSampleMethod(String arg1)`
117
+ #### Parameters
118
+ |Param|Description|
119
+ |---|---|
120
+
116
121
  ### `static call()`
117
122
 
118
123
  Calls the method. This methods allows you to call it.
@@ -72,6 +72,15 @@ public with sharing class SampleClass {
72
72
  return '';
73
73
  }
74
74
 
75
+ /**
76
+ * @description Something here
77
+ * @arg1
78
+ */
79
+ public static String anotherSampleMethod(String arg1) {
80
+ System.debug('something');
81
+ return '';
82
+ }
83
+
75
84
 
76
85
  /**
77
86
  * @description Calls the method.
@@ -11,6 +11,7 @@ const settings_1 = require("../settings");
11
11
  const transpiler_1 = require("../transpiler/transpiler");
12
12
  const file_writer_1 = require("../service/file-writer");
13
13
  const types_repository_1 = require("../model/types-repository");
14
+ const error_logger_1 = require("../util/error-logger");
14
15
  /**
15
16
  * Application entry-point to generate documentation out of Apex source files.
16
17
  */
@@ -30,6 +31,8 @@ class Apexdocs {
30
31
  file_writer_1.FileWriter.write(generatedFiles, (fileName) => {
31
32
  logger_1.Logger.log(`${fileName} processed.`);
32
33
  });
34
+ // Error logging
35
+ error_logger_1.default.logErrors(filteredTypes);
33
36
  }
34
37
  }
35
38
  exports.Apexdocs = Apexdocs;
@@ -1 +1 @@
1
- {"version":3,"file":"Apexdocs.js","sourceRoot":"","sources":["../../src/application/Apexdocs.ts"],"names":[],"mappings":";;;AAAA,kEAA6D;AAC7D,wDAA2D;AAC3D,6DAA0E;AAC1E,2CAAwC;AACxC,kEAA6D;AAC7D,8CAAkD;AAClD,0CAAuC;AACvC,yDAAkD;AAClD,wDAAoD;AACpD,gEAA4D;AAE5D;;GAEG;AACH,MAAa,QAAQ;IACnB;;OAEG;IACH,MAAM,CAAC,QAAQ;QACb,MAAM,UAAU,GAAG,iCAAc,CAAC,YAAY,CAAC,IAAI,+BAAiB,EAAE,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAG,iCAAc,CAAC,IAAI,sBAAa,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAE3F,MAAM,aAAa,GAAW,QAAQ,CAAC,sCAAsC,CAAC,mBAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC;QAC5G,kCAAe,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAEtD,eAAM,CAAC,GAAG,CAAC,UAAU,aAAa,CAAC,MAAM,QAAQ,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,mBAAQ,CAAC,WAAW,EAAE,CAAC,cAAc,CAAC;QACxD,oBAAU,CAAC,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAC9C,MAAM,cAAc,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC;QACvD,wBAAU,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,QAAgB,EAAE,EAAE;YACpD,eAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,aAAa,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;;AAlBH,4BA2BC;AAPQ,8BAAqB,GAAG,CAAC,eAAuB,EAAoB,EAAE;;IAC3E,MAAM,MAAM,GAAG,yBAAO,CAAC,eAAe,CAAC,CAAC;IACxC,IAAI,MAAM,CAAC,KAAK,EAAE;QAChB,eAAM,CAAC,GAAG,CAAC,iBAAiB,MAAA,MAAM,CAAC,KAAK,0CAAE,OAAO,EAAE,CAAC,CAAC;KACtD;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
1
+ {"version":3,"file":"Apexdocs.js","sourceRoot":"","sources":["../../src/application/Apexdocs.ts"],"names":[],"mappings":";;;AAAA,kEAA6D;AAC7D,wDAA2D;AAC3D,6DAAuF;AACvF,2CAAwC;AACxC,kEAA6D;AAC7D,8CAAkD;AAClD,0CAAuC;AACvC,yDAAkD;AAClD,wDAAoD;AACpD,gEAA4D;AAC5D,uDAA+C;AAE/C;;GAEG;AACH,MAAa,QAAQ;IACnB;;OAEG;IACH,MAAM,CAAC,QAAQ;QACb,MAAM,UAAU,GAAG,iCAAc,CAAC,YAAY,CAAC,IAAI,+BAAiB,EAAE,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAG,iCAAc,CAAC,IAAI,sBAAa,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAE3F,MAAM,aAAa,GAAW,QAAQ,CAAC,sCAAsC,CAAC,mBAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC;QAC5G,kCAAe,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAEtD,eAAM,CAAC,GAAG,CAAC,UAAU,aAAa,CAAC,MAAM,QAAQ,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,mBAAQ,CAAC,WAAW,EAAE,CAAC,cAAc,CAAC;QACxD,oBAAU,CAAC,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAC9C,MAAM,cAAc,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC;QACvD,wBAAU,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,QAAgB,EAAE,EAAE;YACpD,eAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,aAAa,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,gBAAgB;QAChB,sBAAW,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC;;AArBH,4BA8BC;AAPQ,8BAAqB,GAAG,CAAC,eAAuB,EAAoB,EAAE;;IAC3E,MAAM,MAAM,GAAG,yBAAO,CAAC,eAAe,CAAC,CAAC;IACxC,IAAI,MAAM,CAAC,KAAK,EAAE;QAChB,eAAM,CAAC,GAAG,CAAC,iBAAiB,MAAA,MAAM,CAAC,KAAK,0CAAE,OAAO,EAAE,CAAC,CAAC;KACtD;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { Type } from '@cparra/apex-reflection';
2
+ export default class ErrorLogger {
3
+ static logErrors(types: Type[]): void;
4
+ private static logErrorsForSingleType;
5
+ private static logTypeErrors;
6
+ private static logErrorsForClass;
7
+ private static logErrorsForInterface;
8
+ }
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class ErrorLogger {
4
+ static logErrors(types) {
5
+ types.forEach((currentType) => {
6
+ this.logErrorsForSingleType(currentType);
7
+ });
8
+ }
9
+ static logErrorsForSingleType(currentType, parentType) {
10
+ this.logTypeErrors(currentType);
11
+ if (currentType.type_name === 'class') {
12
+ this.logErrorsForClass(currentType);
13
+ }
14
+ else if (currentType.type_name === 'interface') {
15
+ this.logErrorsForInterface(currentType);
16
+ }
17
+ }
18
+ static logTypeErrors(currentType, parentType) {
19
+ var _a;
20
+ if ((_a = currentType.docComment) === null || _a === void 0 ? void 0 : _a.error) {
21
+ const typeName = parentType ? `${parentType.name}.${currentType.name}` : currentType.name;
22
+ console.log(`${typeName} - Doc comment parsing error. Level: Type`);
23
+ console.log(`Comment:\n ${currentType.docComment.rawDeclaration}`);
24
+ console.log(currentType.docComment.error);
25
+ console.log('=================================');
26
+ }
27
+ }
28
+ static logErrorsForClass(classMirror, parentType) {
29
+ const typeName = parentType ? `${parentType.name}.${classMirror.name}` : classMirror.name;
30
+ classMirror.constructors.forEach((currentConstructor) => {
31
+ var _a;
32
+ if ((_a = currentConstructor.docComment) === null || _a === void 0 ? void 0 : _a.error) {
33
+ console.log(`${typeName} - Doc comment parsing error. Level: Constructor`);
34
+ console.log(`Comment:\n ${currentConstructor.docComment.rawDeclaration}`);
35
+ console.log(currentConstructor.docComment.error);
36
+ console.log('=================================');
37
+ }
38
+ });
39
+ classMirror.fields.forEach((currentField) => {
40
+ var _a;
41
+ if ((_a = currentField.docComment) === null || _a === void 0 ? void 0 : _a.error) {
42
+ console.log(`${typeName} - Doc comment parsing error. Level: Field`);
43
+ console.log(`Comment:\n ${currentField.docComment.rawDeclaration}`);
44
+ console.log(currentField.docComment.error);
45
+ console.log('=================================');
46
+ }
47
+ });
48
+ classMirror.properties.forEach((currentProperty) => {
49
+ var _a;
50
+ if ((_a = currentProperty.docComment) === null || _a === void 0 ? void 0 : _a.error) {
51
+ console.log(`${typeName} - Doc comment parsing error. Level: Property`);
52
+ console.log(`Comment:\n ${currentProperty.docComment.rawDeclaration}`);
53
+ console.log(currentProperty.docComment.error);
54
+ console.log('=================================');
55
+ }
56
+ });
57
+ classMirror.methods.forEach((currentMethod) => {
58
+ var _a;
59
+ if ((_a = currentMethod.docComment) === null || _a === void 0 ? void 0 : _a.error) {
60
+ console.log(`${typeName} - Doc comment parsing error. Level: Method`);
61
+ console.log(`Comment:\n ${currentMethod.docComment.rawDeclaration}`);
62
+ console.log(currentMethod.docComment.error);
63
+ console.log('=================================');
64
+ }
65
+ });
66
+ classMirror.enums.forEach((currentEnum) => {
67
+ this.logErrorsForSingleType(currentEnum, classMirror);
68
+ });
69
+ classMirror.interfaces.forEach((currentInterface) => {
70
+ this.logErrorsForSingleType(currentInterface, classMirror);
71
+ });
72
+ classMirror.classes.forEach((currentClass) => {
73
+ this.logErrorsForSingleType(currentClass, classMirror);
74
+ });
75
+ }
76
+ static logErrorsForInterface(interfaceMirror) {
77
+ interfaceMirror.methods.forEach((currentMethod) => {
78
+ var _a;
79
+ if ((_a = currentMethod.docComment) === null || _a === void 0 ? void 0 : _a.error) {
80
+ console.log(`${interfaceMirror.name} - Doc comment parsing error. Level: Method`);
81
+ console.log(`Comment: ${currentMethod.docComment.rawDeclaration}`);
82
+ console.log(currentMethod.docComment.error);
83
+ console.log('=================================');
84
+ }
85
+ });
86
+ }
87
+ }
88
+ exports.default = ErrorLogger;
89
+ //# sourceMappingURL=error-logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-logger.js","sourceRoot":"","sources":["../../src/util/error-logger.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cparra/apexdocs",
3
- "version": "2.2.1",
3
+ "version": "2.2.2",
4
4
  "description": "Library with CLI capabilities to generate documentation for Salesforce Apex classes.",
5
5
  "keywords": [
6
6
  "apex",
@@ -64,7 +64,7 @@
64
64
  ]
65
65
  },
66
66
  "dependencies": {
67
- "@cparra/apex-reflection": "^1.2.0",
67
+ "@cparra/apex-reflection": "^1.4.0",
68
68
  "fast-xml-parser": "^4.0.1",
69
69
  "chalk": "^4.1.2",
70
70
  "html-entities": "^2.3.2",
@@ -1,6 +1,6 @@
1
1
  import { ApexFileReader } from '../service/apex-file-reader';
2
2
  import { DefaultFileSystem } from '../service/file-system';
3
- import { ReflectionResult, reflect, Type } from '@cparra/apex-reflection';
3
+ import { ReflectionResult, reflect, Type, ClassMirror } from '@cparra/apex-reflection';
4
4
  import { Logger } from '../util/logger';
5
5
  import { createManifest } from '../service/manifest-factory';
6
6
  import { RawBodyParser } from '../service/parser';
@@ -8,6 +8,7 @@ import { Settings } from '../settings';
8
8
  import Transpiler from '../transpiler/transpiler';
9
9
  import { FileWriter } from '../service/file-writer';
10
10
  import { TypesRepository } from '../model/types-repository';
11
+ import ErrorLogger from '../util/error-logger';
11
12
 
12
13
  /**
13
14
  * Application entry-point to generate documentation out of Apex source files.
@@ -30,6 +31,9 @@ export class Apexdocs {
30
31
  FileWriter.write(generatedFiles, (fileName: string) => {
31
32
  Logger.log(`${fileName} processed.`);
32
33
  });
34
+
35
+ // Error logging
36
+ ErrorLogger.logErrors(filteredTypes);
33
37
  }
34
38
 
35
39
  static _reflectionWithLogger = (declarationBody: string): ReflectionResult => {
@@ -0,0 +1,91 @@
1
+ import { ClassMirror, InterfaceMirror, Type } from '@cparra/apex-reflection';
2
+
3
+ export default class ErrorLogger {
4
+ public static logErrors(types: Type[]): void {
5
+ types.forEach((currentType) => {
6
+ this.logErrorsForSingleType(currentType);
7
+ });
8
+ }
9
+
10
+ private static logErrorsForSingleType(currentType: Type, parentType?: Type): void {
11
+ this.logTypeErrors(currentType);
12
+
13
+ if (currentType.type_name === 'class') {
14
+ this.logErrorsForClass(currentType as ClassMirror);
15
+ } else if (currentType.type_name === 'interface') {
16
+ this.logErrorsForInterface(currentType as InterfaceMirror);
17
+ }
18
+ }
19
+
20
+ private static logTypeErrors(currentType: Type, parentType?: Type) {
21
+ if (currentType.docComment?.error) {
22
+ const typeName = parentType ? `${parentType!.name}.${currentType.name}` : currentType.name;
23
+ console.log(`${typeName} - Doc comment parsing error. Level: Type`);
24
+ console.log(`Comment:\n ${currentType.docComment.rawDeclaration}`);
25
+ console.log(currentType.docComment.error);
26
+ console.log('=================================');
27
+ }
28
+ }
29
+
30
+ private static logErrorsForClass(classMirror: ClassMirror, parentType?: Type): void {
31
+ const typeName = parentType ? `${parentType!.name}.${classMirror.name}` : classMirror.name;
32
+ classMirror.constructors.forEach((currentConstructor) => {
33
+ if (currentConstructor.docComment?.error) {
34
+ console.log(`${typeName} - Doc comment parsing error. Level: Constructor`);
35
+ console.log(`Comment:\n ${currentConstructor.docComment.rawDeclaration}`);
36
+ console.log(currentConstructor.docComment.error);
37
+ console.log('=================================');
38
+ }
39
+ });
40
+
41
+ classMirror.fields.forEach((currentField) => {
42
+ if (currentField.docComment?.error) {
43
+ console.log(`${typeName} - Doc comment parsing error. Level: Field`);
44
+ console.log(`Comment:\n ${currentField.docComment.rawDeclaration}`);
45
+ console.log(currentField.docComment.error);
46
+ console.log('=================================');
47
+ }
48
+ });
49
+
50
+ classMirror.properties.forEach((currentProperty) => {
51
+ if (currentProperty.docComment?.error) {
52
+ console.log(`${typeName} - Doc comment parsing error. Level: Property`);
53
+ console.log(`Comment:\n ${currentProperty.docComment.rawDeclaration}`);
54
+ console.log(currentProperty.docComment.error);
55
+ console.log('=================================');
56
+ }
57
+ });
58
+
59
+ classMirror.methods.forEach((currentMethod) => {
60
+ if (currentMethod.docComment?.error) {
61
+ console.log(`${typeName} - Doc comment parsing error. Level: Method`);
62
+ console.log(`Comment:\n ${currentMethod.docComment.rawDeclaration}`);
63
+ console.log(currentMethod.docComment.error);
64
+ console.log('=================================');
65
+ }
66
+ });
67
+
68
+ classMirror.enums.forEach((currentEnum) => {
69
+ this.logErrorsForSingleType(currentEnum, classMirror);
70
+ });
71
+
72
+ classMirror.interfaces.forEach((currentInterface) => {
73
+ this.logErrorsForSingleType(currentInterface, classMirror);
74
+ });
75
+
76
+ classMirror.classes.forEach((currentClass) => {
77
+ this.logErrorsForSingleType(currentClass, classMirror);
78
+ });
79
+ }
80
+
81
+ private static logErrorsForInterface(interfaceMirror: InterfaceMirror): void {
82
+ interfaceMirror.methods.forEach((currentMethod) => {
83
+ if (currentMethod.docComment?.error) {
84
+ console.log(`${interfaceMirror.name} - Doc comment parsing error. Level: Method`);
85
+ console.log(`Comment: ${currentMethod.docComment.rawDeclaration}`);
86
+ console.log(currentMethod.docComment.error);
87
+ console.log('=================================');
88
+ }
89
+ });
90
+ }
91
+ }