@cparra/apexdocs 2.8.1 → 2.9.0-alpha.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/LICENSE +21 -21
- package/docs/API/SampleClassWithoutModifier.md +11 -11
- package/docs/Main/GroupedClass.md +10 -10
- package/docs/Misc-Group/AnotherInterface.md +1 -1
- package/docs/Misc-Group/ChildClass.md +78 -78
- package/docs/Misc-Group/GrandparentClass.md +13 -13
- package/docs/Misc-Group/InterfaceWithInheritance.md +33 -33
- package/docs/Misc-Group/ParentClass.md +37 -37
- package/docs/Misc-Group/SampleClassWithoutModifier.md +11 -11
- package/docs/README.md +42 -42
- package/docs/Sample-Interfaces/SampleInterface.md +27 -27
- package/docs/index.html +22 -22
- package/docs/openapi.json +351 -0
- package/examples/force-app/main/default/classes/ChildClass.cls +3 -1
- package/examples/force-app/main/default/classes/ParentClass.cls +4 -4
- package/examples/force-app/main/default/restapi/SampleRestResource.cls +189 -0
- package/jest.config.js +5 -5
- package/lib/application/Apexdocs.d.ts +1 -0
- package/lib/application/Apexdocs.js +33 -9
- package/lib/application/Apexdocs.js.map +1 -1
- package/lib/cli/generate.js +11 -3
- package/lib/cli/generate.js.map +1 -1
- package/lib/index.js +6 -2
- package/lib/index.js.map +1 -1
- package/lib/model/apex-type-wrappers/ClassMirrorWrapper.d.ts +7 -0
- package/lib/model/apex-type-wrappers/ClassMirrorWrapper.js +14 -0
- package/lib/model/apex-type-wrappers/ClassMirrorWrapper.js.map +1 -0
- package/lib/model/inheritance.d.ts +5 -5
- package/lib/model/manifest.d.ts +1 -1
- package/lib/model/markdown-file.d.ts +2 -2
- 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.js.map +1 -1
- package/lib/model/markdown-generation-util/field-declaration-util.js.map +1 -1
- package/lib/model/markdown-generation-util/index.js +6 -2
- package/lib/model/markdown-generation-util/index.js.map +1 -1
- package/lib/model/markdown-generation-util/method-declaration-util.js +1 -1
- package/lib/model/markdown-generation-util/method-declaration-util.js.map +1 -1
- package/lib/model/markdown-generation-util/type-declaration-util.js +2 -2
- package/lib/model/markdown-generation-util/type-declaration-util.js.map +1 -1
- package/lib/model/markdown-home-file.js +1 -1
- package/lib/model/markdown-home-file.js.map +1 -1
- package/lib/model/markdown-type-file.js +5 -5
- package/lib/model/markdown-type-file.js.map +1 -1
- package/lib/model/openapi/apex-doc-types.d.ts +18 -0
- package/lib/model/openapi/apex-doc-types.js +5 -0
- package/lib/model/openapi/apex-doc-types.js.map +1 -0
- package/lib/model/openapi/open-api-types.d.ts +87 -0
- package/lib/model/openapi/open-api-types.js +3 -0
- package/lib/model/openapi/open-api-types.js.map +1 -0
- package/lib/model/openapi/open-api.d.ts +15 -0
- package/lib/model/openapi/open-api.js +33 -0
- package/lib/model/openapi/open-api.js.map +1 -0
- package/lib/model/openapi/openapi-type-file.d.ts +7 -0
- package/lib/model/openapi/openapi-type-file.js +16 -0
- package/lib/model/openapi/openapi-type-file.js.map +1 -0
- package/lib/model/{file.d.ts → outputFile.d.ts} +1 -1
- package/lib/model/{file.js → outputFile.js} +4 -4
- package/lib/model/outputFile.js.map +1 -0
- package/lib/model/types-repository.d.ts +6 -3
- package/lib/model/types-repository.js +12 -5
- package/lib/model/types-repository.js.map +1 -1
- package/lib/service/file-writer.d.ts +2 -2
- package/lib/service/file-writer.js.map +1 -1
- package/lib/service/metadata-processor.js.map +1 -1
- package/lib/service/parser.d.ts +1 -1
- package/lib/settings.d.ts +4 -5
- package/lib/settings.js +5 -23
- package/lib/settings.js.map +1 -1
- package/lib/test-helpers/AnnotationBuilder.d.ts +12 -0
- package/lib/test-helpers/AnnotationBuilder.js +31 -0
- package/lib/test-helpers/AnnotationBuilder.js.map +1 -0
- package/lib/test-helpers/ClassMirrorBuilder.d.ts +14 -0
- package/lib/test-helpers/ClassMirrorBuilder.js +44 -0
- package/lib/test-helpers/ClassMirrorBuilder.js.map +1 -0
- package/lib/test-helpers/DocCommentAnnotationBuilder.d.ts +6 -0
- package/lib/test-helpers/DocCommentAnnotationBuilder.js +21 -0
- package/lib/test-helpers/DocCommentAnnotationBuilder.js.map +1 -0
- package/lib/test-helpers/DocCommentBuilder.d.ts +12 -0
- package/lib/test-helpers/DocCommentBuilder.js +38 -0
- package/lib/test-helpers/DocCommentBuilder.js.map +1 -0
- package/lib/test-helpers/MethodMirrorBuilder.d.ts +10 -0
- package/lib/test-helpers/MethodMirrorBuilder.js +34 -0
- package/lib/test-helpers/MethodMirrorBuilder.js.map +1 -0
- package/lib/test-helpers/SettingsBuilder.d.ts +8 -0
- package/lib/test-helpers/SettingsBuilder.js +24 -0
- package/lib/test-helpers/SettingsBuilder.js.map +1 -0
- package/lib/transpiler/factory.d.ts +6 -0
- package/lib/transpiler/factory.js +32 -0
- package/lib/transpiler/factory.js.map +1 -0
- package/lib/transpiler/file-container.d.ts +4 -4
- package/lib/transpiler/file-container.js.map +1 -1
- package/lib/transpiler/generator-choices.d.ts +1 -0
- package/lib/transpiler/generator-choices.js +3 -0
- package/lib/transpiler/generator-choices.js.map +1 -0
- package/lib/transpiler/markdown/class-file-generatorHelper.js +4 -2
- package/lib/transpiler/markdown/class-file-generatorHelper.js.map +1 -1
- package/lib/transpiler/openapi/open-api-docs-processor.d.ts +12 -0
- package/lib/transpiler/openapi/open-api-docs-processor.js +62 -0
- package/lib/transpiler/openapi/open-api-docs-processor.js.map +1 -0
- package/lib/transpiler/openapi/parsers/Builder.d.ts +16 -0
- package/lib/transpiler/openapi/parsers/Builder.js +30 -0
- package/lib/transpiler/openapi/parsers/Builder.js.map +1 -0
- package/lib/transpiler/openapi/parsers/MethodParser.d.ts +17 -0
- package/lib/transpiler/openapi/parsers/MethodParser.js +104 -0
- package/lib/transpiler/openapi/parsers/MethodParser.js.map +1 -0
- package/lib/transpiler/openapi/parsers/ParameterObjectBuilder.d.ts +7 -0
- package/lib/transpiler/openapi/parsers/ParameterObjectBuilder.js +11 -0
- package/lib/transpiler/openapi/parsers/ParameterObjectBuilder.js.map +1 -0
- package/lib/transpiler/openapi/parsers/ReferenceBuilder.d.ts +16 -0
- package/lib/transpiler/openapi/parsers/ReferenceBuilder.js +65 -0
- package/lib/transpiler/openapi/parsers/ReferenceBuilder.js.map +1 -0
- package/lib/transpiler/openapi/parsers/RequestBodyBuilder.d.ts +10 -0
- package/lib/transpiler/openapi/parsers/RequestBodyBuilder.js +20 -0
- package/lib/transpiler/openapi/parsers/RequestBodyBuilder.js.map +1 -0
- package/lib/transpiler/openapi/parsers/ResponsesBuilder.d.ts +7 -0
- package/lib/transpiler/openapi/parsers/ResponsesBuilder.js +18 -0
- package/lib/transpiler/openapi/parsers/ResponsesBuilder.js.map +1 -0
- package/lib/transpiler/processor-type-transpiler.d.ts +2 -2
- package/lib/transpiler/processor-type-transpiler.js +3 -0
- package/lib/transpiler/processor-type-transpiler.js.map +1 -1
- package/lib/transpiler/transpiler.js.map +1 -1
- package/lib/util/error-logger.js.map +1 -1
- package/package.json +8 -5
- package/src/application/Apexdocs.ts +37 -16
- package/src/cli/generate.ts +13 -4
- package/src/model/apex-type-wrappers/ClassMirrorWrapper.ts +12 -0
- package/src/model/apex-type-wrappers/__tests__/ClassMirrorWrapper.spec.ts +15 -0
- package/src/model/markdown-file.ts +2 -2
- package/src/model/markdown-generation-util/type-declaration-util.ts +1 -1
- package/src/model/openapi/__tests__/open-api.spec.ts +22 -0
- package/src/model/openapi/apex-doc-types.ts +25 -0
- package/src/model/openapi/open-api-types.ts +112 -0
- package/src/model/openapi/open-api.ts +39 -0
- package/src/model/openapi/openapi-type-file.ts +13 -0
- package/src/model/{file.ts → outputFile.ts} +1 -1
- package/src/model/types-repository.ts +14 -5
- package/src/service/__tests__/apex-file-reader.spec.ts +4 -4
- package/src/service/__tests__/manifest-factory.spec.ts +2 -1
- package/src/service/file-writer.ts +2 -2
- package/src/settings.ts +8 -29
- package/src/test-helpers/AnnotationBuilder.ts +29 -0
- package/src/test-helpers/ClassMirrorBuilder.ts +44 -0
- package/src/test-helpers/DocCommentAnnotationBuilder.ts +18 -0
- package/src/test-helpers/DocCommentBuilder.ts +36 -0
- package/src/test-helpers/MethodMirrorBuilder.ts +34 -0
- package/src/test-helpers/SettingsBuilder.ts +21 -0
- package/src/transpiler/factory.ts +33 -0
- package/src/transpiler/file-container.ts +4 -4
- package/src/transpiler/generator-choices.ts +1 -0
- package/src/transpiler/markdown/class-file-generatorHelper.ts +4 -2
- package/src/transpiler/openapi/__tests__/open-api-docs-processor.spec.ts +41 -0
- package/src/transpiler/openapi/open-api-docs-processor.ts +76 -0
- package/src/transpiler/openapi/parsers/Builder.ts +40 -0
- package/src/transpiler/openapi/parsers/MethodParser.ts +140 -0
- package/src/transpiler/openapi/parsers/ParameterObjectBuilder.ts +13 -0
- package/src/transpiler/openapi/parsers/ReferenceBuilder.ts +80 -0
- package/src/transpiler/openapi/parsers/RequestBodyBuilder.ts +19 -0
- package/src/transpiler/openapi/parsers/ResponsesBuilder.ts +17 -0
- package/src/transpiler/openapi/parsers/__tests__/MethodParser.spec.ts +44 -0
- package/src/transpiler/openapi/parsers/__tests__/ParameterObjectBuilder.spec.ts +64 -0
- package/src/transpiler/openapi/parsers/__tests__/ReferenceBuilder.spec.ts +14 -0
- package/src/transpiler/openapi/parsers/__tests__/RequestBodyBuilder.spec.ts +60 -0
- package/src/transpiler/openapi/parsers/__tests__/ResponsesBuilder.spec.ts +51 -0
- package/src/transpiler/processor-type-transpiler.ts +3 -1
- package/tsconfig.json +4 -1
- package/lib/model/file.js.map +0 -1
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { RequestBodyBuilder } from '../RequestBodyBuilder';
|
|
2
|
+
import { Reference } from '../ReferenceBuilder';
|
|
3
|
+
import { ReferenceObject } from '../../../../model/openapi/open-api-types';
|
|
4
|
+
import { ApexDocHttpRequestBody } from '../../../../model/openapi/apex-doc-types';
|
|
5
|
+
|
|
6
|
+
jest.mock('../ReferenceBuilder', () => {
|
|
7
|
+
return {
|
|
8
|
+
ReferenceBuilder: jest.fn().mockImplementation(() => {
|
|
9
|
+
return {
|
|
10
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
11
|
+
build: (): Reference => {
|
|
12
|
+
return {
|
|
13
|
+
referencedClass: 'MySampleClass',
|
|
14
|
+
referenceObject: {
|
|
15
|
+
$ref: '/mySampleClass',
|
|
16
|
+
},
|
|
17
|
+
schema: {
|
|
18
|
+
type: 'string',
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
}),
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
it('should build a RequestBody based on the received schema', function () {
|
|
28
|
+
const apexRequestBody: ApexDocHttpRequestBody = {
|
|
29
|
+
description: 'Sample Request Body Description',
|
|
30
|
+
required: true,
|
|
31
|
+
schema: {
|
|
32
|
+
type: 'object',
|
|
33
|
+
properties: {
|
|
34
|
+
Prop1: {
|
|
35
|
+
type: 'string',
|
|
36
|
+
description: 'A Property',
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
const response = new RequestBodyBuilder().build(apexRequestBody);
|
|
43
|
+
|
|
44
|
+
expect(response.reference).toBeUndefined();
|
|
45
|
+
expect(response.body.description).toBe('Sample Request Body Description');
|
|
46
|
+
expect(response.body.required).toBe(true);
|
|
47
|
+
expect(response.body.content).toHaveProperty('application/json');
|
|
48
|
+
expect(response.body.content['application/json'].schema).toBe(apexRequestBody.schema);
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
it('should build a RequestBody with a reference when receiving a reference class name', function () {
|
|
52
|
+
const apexRequestBody: ApexDocHttpRequestBody = {
|
|
53
|
+
schema: 'MyClassName',
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const response = new RequestBodyBuilder().build(apexRequestBody);
|
|
57
|
+
|
|
58
|
+
expect(response.reference).not.toBeUndefined();
|
|
59
|
+
expect((response.body.content['application/json']?.schema as ReferenceObject).$ref).toBe('/mySampleClass');
|
|
60
|
+
});
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { ResponsesBuilder } from '../ResponsesBuilder';
|
|
2
|
+
import { Reference } from '../ReferenceBuilder';
|
|
3
|
+
import { ApexDocHttpResponse } from '../../../../model/openapi/apex-doc-types';
|
|
4
|
+
|
|
5
|
+
jest.mock('../ReferenceBuilder', () => {
|
|
6
|
+
return {
|
|
7
|
+
ReferenceBuilder: jest.fn().mockImplementation(() => {
|
|
8
|
+
return {
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
10
|
+
build: (): Reference => {
|
|
11
|
+
return {
|
|
12
|
+
referencedClass: 'MySampleClass',
|
|
13
|
+
referenceObject: {
|
|
14
|
+
$ref: '/mySampleClass',
|
|
15
|
+
},
|
|
16
|
+
schema: {
|
|
17
|
+
type: 'string',
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
}),
|
|
23
|
+
};
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
it('should build a ResponseObject based on the received schema', function () {
|
|
27
|
+
const apexDocResponse: ApexDocHttpResponse = {
|
|
28
|
+
statusCode: 200,
|
|
29
|
+
schema: {
|
|
30
|
+
type: 'string',
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
const response = new ResponsesBuilder().build(apexDocResponse);
|
|
35
|
+
|
|
36
|
+
expect(response.reference).toBeUndefined();
|
|
37
|
+
expect(response.body.description).toContain('200');
|
|
38
|
+
expect(response.body.content).toHaveProperty('application/json');
|
|
39
|
+
expect(response.body.content!['application/json'].schema).toBe(apexDocResponse.schema);
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
it('should build a ResponseObject with a reference', function () {
|
|
43
|
+
const apexDocResponse: ApexDocHttpResponse = {
|
|
44
|
+
statusCode: 200,
|
|
45
|
+
schema: 'SomeClass',
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const response = new ResponsesBuilder().build(apexDocResponse);
|
|
49
|
+
|
|
50
|
+
expect(response.reference).not.toBeUndefined();
|
|
51
|
+
});
|
package/tsconfig.json
CHANGED
package/lib/model/file.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/model/file.ts"],"names":[],"mappings":";;;AAAA,2BAA4B;AAC5B,0CAAuC;AAEvC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC;IAClC,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;CAChE,CAAC,CAAC;AAEH,MAAsB,IAAI;IAGxB,YAAmB,QAAgB,EAAS,GAAW;QAApC,aAAQ,GAAR,QAAQ,CAAQ;QAAS,QAAG,GAAH,GAAG,CAAQ;QAFvD,cAAS,GAAG,EAAE,CAAC;IAE2C,CAAC;IAI3D,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,OAAO,CAAC,IAAY,EAAE,UAAU,GAAG,IAAI;QACrC,MAAM,YAAY,GAAG,UAAU,IAAI,mBAAQ,CAAC,WAAW,EAAE,CAAC,YAAY,CAAC;QACvE,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAChE,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC;QAC5B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,YAAY;QACV,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;IACzB,CAAC;CACF;AArBD,oBAqBC"}
|