@cparra/apexdocs 2.24.0 → 2.25.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/.eslintrc.js +12 -12
- package/.github/workflows/ci.yaml +22 -0
- package/.github/workflows/close_stale.yml +22 -22
- package/.prettierrc.js +7 -7
- package/LICENSE +21 -21
- package/README.md +742 -718
- package/apexdocs.config.ts +13 -13
- package/docs/{README.md → __old/README.md} +1 -1
- package/docs/{restapi.json → __old/restapi.json} +589 -589
- package/docs/{types → __old/types}/Classes/nspc.ChildClass.md +97 -97
- package/docs/{types → __old/types}/Main/nspc.SampleClass.md +189 -189
- package/examples/force-app/main/default/classes/AnotherInterface.cls +16 -16
- package/examples/force-app/main/default/classes/ChildClass.cls +42 -42
- package/examples/force-app/main/default/classes/EscapedAnnotations.cls +5 -5
- package/examples/force-app/main/default/classes/GrandparentClass.cls +4 -4
- package/examples/force-app/main/default/classes/GroupedClass.cls +8 -8
- package/examples/force-app/main/default/classes/MemberGrouping.cls +17 -17
- package/examples/force-app/main/default/classes/ParentClass.cls +16 -16
- package/examples/force-app/main/default/classes/SampleClass.cls +166 -166
- package/examples/force-app/main/default/classes/SampleClass.cls-meta.xml +5 -5
- package/examples/force-app/main/default/classes/SampleClassWithoutModifier.cls +9 -9
- package/examples/force-app/main/default/classes/SampleInterface.cls +16 -16
- package/examples/force-app/main/default/restapi/SampleRestResource.cls +195 -195
- package/examples/force-app/main/default/restapi/SampleRestResourceToSkip.cls +35 -35
- package/examples/force-app/main/default/restapi/SampleRestResourceWithInnerClass.cls +24 -24
- package/examples/force-app/main/default/restapi/SampleRestResourceWithoutApexDocs.cls +15 -15
- package/examples/force-app/main/default/restapi/references/Reference1.cls +9 -9
- package/examples/force-app/main/default/restapi/references/Reference2.cls +9 -9
- package/examples/force-app/main/default/restapi/references/Reference3.cls +3 -3
- package/examples/force-app/main/default/restapi/references/Reference4.cls +3 -3
- package/examples/force-app/main/default/restapi/references/Reference5.cls +3 -3
- package/examples/force-app/main/default/restapi/references/Reference6.cls +6 -6
- package/examples/force-app/main/default/restapi/references/Reference7.cls +3 -3
- package/examples/includes/header.md +3 -3
- package/examples/plain-markdown/.forceignore +12 -0
- package/examples/plain-markdown/README.md +301 -0
- package/examples/plain-markdown/config/project-scratch-def.json +5 -0
- package/examples/plain-markdown/force-app/classes/BaseClass.cls +3 -0
- package/examples/plain-markdown/force-app/classes/ParentInterface.cls +3 -0
- package/examples/plain-markdown/force-app/classes/ReferencedEnum.cls +3 -0
- package/examples/plain-markdown/force-app/classes/SampleClass.cls +35 -0
- package/examples/plain-markdown/force-app/classes/SampleEnum.cls +30 -0
- package/examples/plain-markdown/force-app/classes/SampleException.cls +1 -0
- package/examples/plain-markdown/force-app/classes/SampleInterface.cls +46 -0
- package/examples/plain-markdown/package-lock.json +665 -0
- package/examples/plain-markdown/package.json +24 -0
- package/examples/plain-markdown/sfdx-project.json +12 -0
- package/examples/plain-markdown/template.md +3 -0
- package/jest.config.js +5 -5
- package/lib/adapters/apex-types.d.ts +5 -0
- package/lib/adapters/apex-types.js +34 -0
- package/lib/adapters/apex-types.js.map +1 -0
- package/lib/adapters/documentables.d.ts +6 -0
- package/lib/adapters/documentables.js +41 -0
- package/lib/adapters/documentables.js.map +1 -0
- package/lib/adapters/fields-and-properties.d.ts +3 -0
- package/lib/adapters/fields-and-properties.js +10 -0
- package/lib/adapters/fields-and-properties.js.map +1 -0
- package/lib/adapters/methods-and-constructors.d.ts +4 -0
- package/lib/adapters/methods-and-constructors.js +49 -0
- package/lib/adapters/methods-and-constructors.js.map +1 -0
- package/lib/adapters/references.d.ts +5 -0
- package/lib/adapters/references.js +82 -0
- package/lib/adapters/references.js.map +1 -0
- package/lib/adapters/type-utils.d.ts +2 -0
- package/lib/adapters/type-utils.js +8 -0
- package/lib/adapters/type-utils.js.map +1 -0
- package/lib/application/Apexdocs.d.ts +13 -13
- package/lib/application/Apexdocs.js +79 -76
- package/lib/application/Apexdocs.js.map +1 -1
- package/lib/cli/generate.d.ts +2 -2
- package/lib/cli/generate.js +156 -130
- package/lib/cli/generate.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +17 -17
- package/lib/model/apex-bundle.d.ts +6 -6
- package/lib/model/apex-bundle.js +10 -10
- package/lib/model/apex-type-wrappers/ClassMirrorWrapper.d.ts +7 -7
- package/lib/model/apex-type-wrappers/ClassMirrorWrapper.js +13 -13
- package/lib/model/apex-type-wrappers/MethodMirrorWrapper.d.ts +7 -7
- package/lib/model/apex-type-wrappers/MethodMirrorWrapper.js +11 -11
- package/lib/model/inheritance.d.ts +8 -8
- package/lib/model/inheritance.js +2 -2
- package/lib/model/manifest.d.ts +22 -22
- package/lib/model/manifest.js +46 -46
- package/lib/model/manifest.js.map +1 -1
- package/lib/model/markdown-file.d.ts +16 -16
- package/lib/model/markdown-file.js +109 -106
- package/lib/model/markdown-file.js.map +1 -1
- package/lib/model/markdown-generation-util/doc-comment-annotation-util.d.ts +8 -8
- package/lib/model/markdown-generation-util/doc-comment-annotation-util.js +46 -43
- package/lib/model/markdown-generation-util/doc-comment-annotation-util.js.map +1 -1
- package/lib/model/markdown-generation-util/field-declaration-util.d.ts +3 -3
- package/lib/model/markdown-generation-util/field-declaration-util.js +54 -54
- package/lib/model/markdown-generation-util/index.d.ts +3 -3
- package/lib/model/markdown-generation-util/index.js +19 -19
- package/lib/model/markdown-generation-util/method-declaration-util.d.ts +4 -4
- package/lib/model/markdown-generation-util/method-declaration-util.js +114 -114
- package/lib/model/markdown-generation-util/type-declaration-util.d.ts +3 -3
- package/lib/model/markdown-generation-util/type-declaration-util.js +81 -81
- package/lib/model/markdown-home-file.d.ts +11 -11
- package/lib/model/markdown-home-file.js +56 -53
- package/lib/model/markdown-home-file.js.map +1 -1
- package/lib/model/markdown-type-file.d.ts +26 -26
- package/lib/model/markdown-type-file.js +136 -133
- package/lib/model/markdown-type-file.js.map +1 -1
- package/lib/model/openapi/apex-doc-types.d.ts +19 -19
- package/lib/model/openapi/apex-doc-types.js +4 -4
- package/lib/model/openapi/open-api-types.d.ts +93 -93
- package/lib/model/openapi/open-api-types.js +2 -2
- package/lib/model/openapi/open-api.d.ts +16 -16
- package/lib/model/openapi/open-api.js +33 -33
- package/lib/model/openapi/openapi-type-file.d.ts +7 -7
- package/lib/model/openapi/openapi-type-file.js +16 -16
- package/lib/model/outputFile.d.ts +10 -10
- package/lib/model/outputFile.js +28 -28
- package/lib/model/types-repository.d.ts +16 -16
- package/lib/model/types-repository.js +53 -53
- package/lib/service/apex-file-reader.d.ts +14 -14
- package/lib/service/apex-file-reader.js +48 -45
- package/lib/service/apex-file-reader.js.map +1 -1
- package/lib/service/file-system.d.ts +14 -14
- package/lib/service/file-system.js +47 -24
- package/lib/service/file-system.js.map +1 -1
- package/lib/service/file-writer.d.ts +6 -6
- package/lib/service/file-writer.js +56 -33
- package/lib/service/file-writer.js.map +1 -1
- package/lib/service/manifest-factory.d.ts +10 -10
- package/lib/service/manifest-factory.js +16 -13
- package/lib/service/manifest-factory.js.map +1 -1
- package/lib/service/metadata-processor.d.ts +3 -3
- package/lib/service/metadata-processor.js +16 -16
- package/lib/service/parser.d.ts +21 -21
- package/lib/service/parser.js +137 -134
- package/lib/service/parser.js.map +1 -1
- package/lib/service/state.d.ts +9 -9
- package/lib/service/state.js +19 -19
- package/lib/service/walkers/class-walker.d.ts +4 -4
- package/lib/service/walkers/class-walker.js +32 -32
- package/lib/service/walkers/enum-walker.d.ts +4 -4
- package/lib/service/walkers/enum-walker.js +10 -10
- package/lib/service/walkers/interface-walker.d.ts +4 -4
- package/lib/service/walkers/interface-walker.js +14 -14
- package/lib/service/walkers/walker-factory.d.ts +5 -5
- package/lib/service/walkers/walker-factory.js +20 -20
- package/lib/service/walkers/walker.d.ts +19 -19
- package/lib/service/walkers/walker.js +16 -16
- package/lib/settings.d.ts +70 -64
- package/lib/settings.js +99 -88
- package/lib/settings.js.map +1 -1
- package/lib/templating/compile.d.ts +7 -0
- package/lib/templating/compile.js +98 -0
- package/lib/templating/compile.js.map +1 -0
- package/lib/templating/helpers.d.ts +2 -0
- package/lib/templating/helpers.js +18 -0
- package/lib/templating/helpers.js.map +1 -0
- package/lib/test-helpers/AnnotationBuilder.d.ts +12 -12
- package/lib/test-helpers/AnnotationBuilder.js +30 -30
- package/lib/test-helpers/ClassMirrorBuilder.d.ts +18 -18
- package/lib/test-helpers/ClassMirrorBuilder.js +53 -53
- package/lib/test-helpers/DocCommentAnnotationBuilder.d.ts +8 -8
- package/lib/test-helpers/DocCommentAnnotationBuilder.js +25 -25
- package/lib/test-helpers/DocCommentBuilder.d.ts +12 -12
- package/lib/test-helpers/DocCommentBuilder.js +37 -37
- package/lib/test-helpers/FieldMirrorBuilder.d.ts +18 -18
- package/lib/test-helpers/FieldMirrorBuilder.js +53 -53
- package/lib/test-helpers/InterfaceMirrorBuilder.d.ts +16 -0
- package/lib/test-helpers/InterfaceMirrorBuilder.js +43 -0
- package/lib/test-helpers/InterfaceMirrorBuilder.js.map +1 -0
- package/lib/test-helpers/MethodMirrorBuilder.d.ts +29 -10
- package/lib/test-helpers/MethodMirrorBuilder.js +71 -36
- package/lib/test-helpers/MethodMirrorBuilder.js.map +1 -1
- package/lib/test-helpers/SettingsBuilder.d.ts +8 -8
- package/lib/test-helpers/SettingsBuilder.js +26 -26
- package/lib/transpiler/factory.d.ts +6 -6
- package/lib/transpiler/factory.js +34 -31
- package/lib/transpiler/factory.js.map +1 -1
- package/lib/transpiler/file-container.d.ts +6 -6
- package/lib/transpiler/file-container.js +15 -15
- package/lib/transpiler/generator-choices.d.ts +1 -1
- package/lib/transpiler/generator-choices.js +2 -2
- package/lib/transpiler/markdown/class-file-generatorHelper.d.ts +11 -8
- package/lib/transpiler/markdown/class-file-generatorHelper.js +74 -55
- package/lib/transpiler/markdown/class-file-generatorHelper.js.map +1 -1
- package/lib/transpiler/markdown/docsify/docsify-docs-processor.d.ts +6 -6
- package/lib/transpiler/markdown/docsify/docsify-docs-processor.js +12 -12
- package/lib/transpiler/markdown/jekyll/jekyll-docsProcessor.d.ts +11 -11
- package/lib/transpiler/markdown/jekyll/jekyll-docsProcessor.js +50 -50
- package/lib/transpiler/markdown/markdown-transpiler-base.d.ts +11 -11
- package/lib/transpiler/markdown/markdown-transpiler-base.js +26 -23
- package/lib/transpiler/markdown/markdown-transpiler-base.js.map +1 -1
- package/lib/transpiler/markdown/plain-markdown/class-template.d.ts +1 -0
- package/lib/transpiler/markdown/plain-markdown/class-template.js +36 -0
- package/lib/transpiler/markdown/plain-markdown/class-template.js.map +1 -0
- package/lib/transpiler/markdown/plain-markdown/constructors-partial-template.d.ts +1 -0
- package/lib/transpiler/markdown/plain-markdown/constructors-partial-template.js +39 -0
- package/lib/transpiler/markdown/plain-markdown/constructors-partial-template.js.map +1 -0
- package/lib/transpiler/markdown/plain-markdown/documentable-partial-template.d.ts +1 -0
- package/lib/transpiler/markdown/plain-markdown/documentable-partial-template.js +25 -0
- package/lib/transpiler/markdown/plain-markdown/documentable-partial-template.js.map +1 -0
- package/lib/transpiler/markdown/plain-markdown/enum-template.d.ts +1 -0
- package/lib/transpiler/markdown/plain-markdown/enum-template.js +15 -0
- package/lib/transpiler/markdown/plain-markdown/enum-template.js.map +1 -0
- package/lib/transpiler/markdown/plain-markdown/fieldsPartialTemplate.d.ts +1 -0
- package/lib/transpiler/markdown/plain-markdown/fieldsPartialTemplate.js +24 -0
- package/lib/transpiler/markdown/plain-markdown/fieldsPartialTemplate.js.map +1 -0
- package/lib/transpiler/markdown/plain-markdown/interface-template.d.ts +1 -0
- package/lib/transpiler/markdown/plain-markdown/interface-template.js +20 -0
- package/lib/transpiler/markdown/plain-markdown/interface-template.js.map +1 -0
- package/lib/transpiler/markdown/plain-markdown/methods-partial-template.d.ts +1 -0
- package/lib/transpiler/markdown/plain-markdown/methods-partial-template.js +49 -0
- package/lib/transpiler/markdown/plain-markdown/methods-partial-template.js.map +1 -0
- package/lib/transpiler/markdown/plain-markdown/plain-docsProcessor.d.ts +13 -6
- package/lib/transpiler/markdown/plain-markdown/plain-docsProcessor.js +121 -13
- package/lib/transpiler/markdown/plain-markdown/plain-docsProcessor.js.map +1 -1
- package/lib/transpiler/markdown/plain-markdown/type-level-apex-doc-partial-template.d.ts +1 -0
- package/lib/transpiler/markdown/plain-markdown/type-level-apex-doc-partial-template.js +31 -0
- package/lib/transpiler/markdown/plain-markdown/type-level-apex-doc-partial-template.js.map +1 -0
- package/lib/transpiler/openapi/open-api-docs-processor.d.ts +13 -13
- package/lib/transpiler/openapi/open-api-docs-processor.js +77 -74
- package/lib/transpiler/openapi/open-api-docs-processor.js.map +1 -1
- package/lib/transpiler/openapi/parsers/Builder.d.ts +16 -16
- package/lib/transpiler/openapi/parsers/Builder.js +29 -29
- package/lib/transpiler/openapi/parsers/Builder.js.map +1 -1
- package/lib/transpiler/openapi/parsers/MethodParser.d.ts +20 -20
- package/lib/transpiler/openapi/parsers/MethodParser.js +189 -166
- package/lib/transpiler/openapi/parsers/MethodParser.js.map +1 -1
- package/lib/transpiler/openapi/parsers/ParameterObjectBuilder.d.ts +7 -7
- package/lib/transpiler/openapi/parsers/ParameterObjectBuilder.js +10 -10
- package/lib/transpiler/openapi/parsers/ReferenceBuilder.d.ts +39 -39
- package/lib/transpiler/openapi/parsers/ReferenceBuilder.js +248 -225
- package/lib/transpiler/openapi/parsers/ReferenceBuilder.js.map +1 -1
- package/lib/transpiler/openapi/parsers/RequestBodyBuilder.d.ts +10 -10
- package/lib/transpiler/openapi/parsers/RequestBodyBuilder.js +19 -19
- package/lib/transpiler/openapi/parsers/ResponsesBuilder.d.ts +7 -7
- package/lib/transpiler/openapi/parsers/ResponsesBuilder.js +21 -21
- package/lib/transpiler/processor-type-transpiler.d.ts +10 -10
- package/lib/transpiler/processor-type-transpiler.js +8 -8
- package/lib/transpiler/transpiler.d.ts +5 -5
- package/lib/transpiler/transpiler.js +29 -26
- package/lib/transpiler/transpiler.js.map +1 -1
- package/lib/util/error-logger.d.ts +8 -8
- package/lib/util/error-logger.js +89 -89
- package/lib/util/error-logger.js.map +1 -1
- package/lib/util/logger.d.ts +21 -21
- package/lib/util/logger.js +60 -57
- package/lib/util/logger.js.map +1 -1
- package/lib/util/string-utils.d.ts +2 -2
- package/lib/util/string-utils.js +14 -14
- package/package.json +79 -78
- package/src/adapters/__tests__/interface-adapter.spec.ts +76 -0
- package/src/adapters/__tests__/references.spec.ts +115 -0
- package/src/adapters/apex-types.ts +67 -0
- package/src/adapters/documentables.ts +58 -0
- package/src/adapters/fields-and-properties.ts +14 -0
- package/src/adapters/methods-and-constructors.ts +78 -0
- package/src/adapters/references.ts +113 -0
- package/src/adapters/type-utils.ts +5 -0
- package/src/adapters/types.d.ts +8 -0
- package/src/cli/generate.ts +3 -0
- package/src/model/__tests__/manifest.spec.ts +1 -0
- package/src/model/manifest.ts +3 -3
- package/src/model/markdown-file.ts +1 -1
- package/src/model/openapi/open-api-types.ts +2 -2
- package/src/service/__tests__/apex-file-reader.spec.ts +4 -4
- package/src/service/__tests__/manifest-factory.spec.ts +1 -2
- package/src/settings.ts +15 -0
- package/src/templating/__tests__/compile.spec.ts +741 -0
- package/src/templating/compile.ts +187 -0
- package/src/templating/helpers.ts +14 -0
- package/src/templating/types.d.ts +104 -0
- package/src/test-helpers/FieldMirrorBuilder.ts +1 -1
- package/src/test-helpers/InterfaceMirrorBuilder.ts +44 -0
- package/src/test-helpers/MethodMirrorBuilder.ts +46 -6
- package/src/transpiler/markdown/class-file-generatorHelper.ts +22 -2
- package/src/transpiler/markdown/plain-markdown/class-template.ts +32 -0
- package/src/transpiler/markdown/plain-markdown/constructors-partial-template.ts +35 -0
- package/src/transpiler/markdown/plain-markdown/documentable-partial-template.ts +21 -0
- package/src/transpiler/markdown/plain-markdown/enum-template.ts +11 -0
- package/src/transpiler/markdown/plain-markdown/fieldsPartialTemplate.ts +20 -0
- package/src/transpiler/markdown/plain-markdown/interface-template.ts +16 -0
- package/src/transpiler/markdown/plain-markdown/methods-partial-template.ts +45 -0
- package/src/transpiler/markdown/plain-markdown/plain-docsProcessor.ts +122 -0
- package/src/transpiler/markdown/plain-markdown/type-level-apex-doc-partial-template.ts +27 -0
- package/src/transpiler/openapi/parsers/Builder.ts +1 -1
- package/src/transpiler/openapi/parsers/MethodParser.ts +1 -1
- package/src/transpiler/openapi/parsers/ReferenceBuilder.ts +1 -1
- package/src/util/error-logger.ts +4 -4
- package/src/util/logger.ts +3 -3
- package/tsconfig.json +21 -20
- package/tslint.json +5 -5
- package/lib/model/manifest-diff.d.ts +0 -27
- package/lib/model/manifest-diff.js +0 -69
- package/lib/model/manifest-diff.js.map +0 -1
- package/src/model/__tests__/manifest-diff.spec.ts +0 -139
- package/src/model/manifest-diff.ts +0 -94
- /package/docs/{index.html → __old/index.html} +0 -0
- /package/docs/{types → __old/types}/Classes/nspc.AnotherInterface.md +0 -0
- /package/docs/{types → __old/types}/Main/nspc.GroupedClass.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.EscapedAnnotations.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.GrandparentClass.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.InterfaceWithInheritance.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.MemberGrouping.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.ParentClass.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.Reference1.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.Reference2.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.Reference3.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.Reference4.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.Reference5.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.Reference6.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.Reference7.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.SampleClassWithoutModifier.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.SampleRestResource.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.SampleRestResourceWithInnerClass.md +0 -0
- /package/docs/{types → __old/types}/Misc-Group/nspc.SampleRestResourceWithoutApexDocs.md +0 -0
- /package/docs/{types → __old/types}/README.md +0 -0
- /package/docs/{types → __old/types}/Sample-Interfaces/nspc.SampleInterface.md +0 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.methodsPartialTemplate = void 0;
|
|
4
|
+
exports.methodsPartialTemplate = `
|
|
5
|
+
## Methods
|
|
6
|
+
{{#each methods}}
|
|
7
|
+
### \`{{title}}\`
|
|
8
|
+
|
|
9
|
+
{{#if inherited}}
|
|
10
|
+
*Inherited*
|
|
11
|
+
{{/if}}
|
|
12
|
+
|
|
13
|
+
{{#> documentablePartialTemplate isInner=true}}
|
|
14
|
+
|
|
15
|
+
### Signature
|
|
16
|
+
\`\`\`apex
|
|
17
|
+
{{signature}}
|
|
18
|
+
\`\`\`
|
|
19
|
+
|
|
20
|
+
{{#if parameters}}
|
|
21
|
+
### Parameters
|
|
22
|
+
| Name | Type | Description |
|
|
23
|
+
|------|------|-------------|
|
|
24
|
+
{{#each parameters}}
|
|
25
|
+
| {{name}} | {{type}} | {{description}} |
|
|
26
|
+
{{/each}}
|
|
27
|
+
{{/if}}
|
|
28
|
+
|
|
29
|
+
{{#if returnType}}
|
|
30
|
+
### Returns
|
|
31
|
+
**{{returnType.type}}**
|
|
32
|
+
|
|
33
|
+
{{returnType.description}}
|
|
34
|
+
{{/if}}
|
|
35
|
+
|
|
36
|
+
{{#if throws}}
|
|
37
|
+
### Throws
|
|
38
|
+
{{#each throws}}
|
|
39
|
+
{{this.type}}: {{this.description}}
|
|
40
|
+
|
|
41
|
+
{{/each}}
|
|
42
|
+
{{/if}}
|
|
43
|
+
{{/documentablePartialTemplate}}
|
|
44
|
+
|
|
45
|
+
{{#unless @last}}---{{/unless}}
|
|
46
|
+
|
|
47
|
+
{{/each}}
|
|
48
|
+
`.trim();
|
|
49
|
+
//# sourceMappingURL=methods-partial-template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"methods-partial-template.js","sourceRoot":"","sources":["../../../../src/transpiler/markdown/plain-markdown/methods-partial-template.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CrC,CAAC,IAAI,EAAE,CAAC"}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
import { MarkdownTranspilerBase } from '../markdown-transpiler-base';
|
|
2
|
-
import { LinkingStrategy } from '../../processor-type-transpiler';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { MarkdownTranspilerBase } from '../markdown-transpiler-base';
|
|
2
|
+
import { LinkingStrategy } from '../../processor-type-transpiler';
|
|
3
|
+
import { Type } from '@cparra/apex-reflection';
|
|
4
|
+
import { OutputFile } from '../../../model/outputFile';
|
|
5
|
+
export declare class PlainMarkdownDocsProcessor extends MarkdownTranspilerBase {
|
|
6
|
+
_fileContents: string[];
|
|
7
|
+
onBeforeProcess: (types: Type[]) => void;
|
|
8
|
+
homeFileName(): string;
|
|
9
|
+
getLinkingStrategy(): LinkingStrategy;
|
|
10
|
+
onProcess(type: Type): void;
|
|
11
|
+
onAfterProcess: (types: Type[]) => void;
|
|
12
|
+
_generateOutputFile(type: Type): OutputFile;
|
|
13
|
+
}
|
|
@@ -1,14 +1,122 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.PlainMarkdownDocsProcessor = void 0;
|
|
7
|
+
const markdown_transpiler_base_1 = require("../markdown-transpiler-base");
|
|
8
|
+
const outputFile_1 = require("../../../model/outputFile");
|
|
9
|
+
const settings_1 = require("../../../settings");
|
|
10
|
+
const class_file_generatorHelper_1 = __importDefault(require("../class-file-generatorHelper"));
|
|
11
|
+
const enum_template_1 = require("./enum-template");
|
|
12
|
+
const compile_1 = require("../../../templating/compile");
|
|
13
|
+
const interface_template_1 = require("./interface-template");
|
|
14
|
+
const class_template_1 = require("./class-template");
|
|
15
|
+
const type_utils_1 = require("../../../adapters/type-utils");
|
|
16
|
+
const apex_types_1 = require("../../../adapters/apex-types");
|
|
17
|
+
const markdown_home_file_1 = require("../../../model/markdown-home-file");
|
|
18
|
+
const markdown_file_1 = require("../../../model/markdown-file");
|
|
19
|
+
const handlebars_1 = __importDefault(require("handlebars"));
|
|
20
|
+
const fs_1 = __importDefault(require("fs"));
|
|
21
|
+
const path_1 = __importDefault(require("path"));
|
|
22
|
+
class PlainMarkdownDocsProcessor extends markdown_transpiler_base_1.MarkdownTranspilerBase {
|
|
23
|
+
constructor() {
|
|
24
|
+
super(...arguments);
|
|
25
|
+
this._fileContents = [];
|
|
26
|
+
this.onBeforeProcess = (types) => {
|
|
27
|
+
if (settings_1.Settings.getInstance().shouldOutputSingleFile()) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
this._fileContainer.pushFile(new markdown_home_file_1.MarkdownHomeFile(this.homeFileName(), types));
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
this.onAfterProcess = () => {
|
|
35
|
+
if (settings_1.Settings.getInstance().shouldOutputSingleFile()) {
|
|
36
|
+
const file = new markdown_file_1.MarkdownFile(settings_1.Settings.getInstance().getSingleFileName(), '');
|
|
37
|
+
let contents;
|
|
38
|
+
if (settings_1.Settings.getInstance().getTemplateFilePath()) {
|
|
39
|
+
const filePath = path_1.default.resolve(settings_1.Settings.getInstance().getTemplateFilePath());
|
|
40
|
+
const templateFileContents = fs_1.default.readFileSync(filePath, {
|
|
41
|
+
encoding: 'utf-8',
|
|
42
|
+
});
|
|
43
|
+
const handlebars = handlebars_1.default.compile(templateFileContents);
|
|
44
|
+
contents = handlebars({ api_docs: this._fileContents.join('\n\n---\n\n') });
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
contents = this._fileContents.join('\n\n---\n\n');
|
|
48
|
+
}
|
|
49
|
+
file.addText(contents);
|
|
50
|
+
this._fileContainer.pushFile(file);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
homeFileName() {
|
|
55
|
+
return 'index';
|
|
56
|
+
}
|
|
57
|
+
getLinkingStrategy() {
|
|
58
|
+
return 'path-relative';
|
|
59
|
+
}
|
|
60
|
+
onProcess(type) {
|
|
61
|
+
if (settings_1.Settings.getInstance().shouldOutputSingleFile()) {
|
|
62
|
+
this._fileContents.push(this._generateOutputFile(type).body);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
this._fileContainer.pushFile(this._generateOutputFile(type));
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
_generateOutputFile(type) {
|
|
69
|
+
if (type.type_name === 'enum') {
|
|
70
|
+
return new GenericFile(type, apex_types_1.enumTypeToEnumSource, enum_template_1.enumMarkdownTemplate);
|
|
71
|
+
}
|
|
72
|
+
else if (type.type_name === 'interface') {
|
|
73
|
+
return new GenericFile(type, apex_types_1.interfaceTypeToInterfaceSource, interface_template_1.interfaceMarkdownTemplate);
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
return new GenericFile(type, apex_types_1.classTypeToClassSource, class_template_1.classMarkdownTemplate);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
exports.PlainMarkdownDocsProcessor = PlainMarkdownDocsProcessor;
|
|
81
|
+
class GenericFile extends outputFile_1.OutputFile {
|
|
82
|
+
constructor(type, toSource, template) {
|
|
83
|
+
super(`${settings_1.Settings.getInstance().getNamespacePrefix()}${type.name}`, class_file_generatorHelper_1.default.getSanitizedGroup(type));
|
|
84
|
+
this.type = type;
|
|
85
|
+
const source = toSource(type);
|
|
86
|
+
this.addText((0, compile_1.compile)(template, source, {
|
|
87
|
+
renderableContentConverter: prepareDescription,
|
|
88
|
+
codeBlockConverter: convertCodeBlock,
|
|
89
|
+
}));
|
|
90
|
+
}
|
|
91
|
+
fileExtension() {
|
|
92
|
+
return '.md';
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
function prepareDescription(description) {
|
|
96
|
+
if (!description) {
|
|
97
|
+
return '';
|
|
98
|
+
}
|
|
99
|
+
function reduceDescription(acc, curr) {
|
|
100
|
+
if (typeof curr === 'string') {
|
|
101
|
+
return acc + curr.trim() + ' ';
|
|
102
|
+
}
|
|
103
|
+
else if ((0, type_utils_1.isEmptyLine)(curr)) {
|
|
104
|
+
return acc + '\n\n';
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
return acc + linkToMarkdown(curr) + ' ';
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
function linkToMarkdown(link) {
|
|
111
|
+
return `[${link.title}](${link.url})`;
|
|
112
|
+
}
|
|
113
|
+
return description.reduce(reduceDescription, '').trim();
|
|
114
|
+
}
|
|
115
|
+
function convertCodeBlock(language, lines) {
|
|
116
|
+
return `
|
|
117
|
+
\`\`\`${language}
|
|
118
|
+
${lines.join('\n')}
|
|
119
|
+
\`\`\`
|
|
120
|
+
`.trim();
|
|
121
|
+
}
|
|
14
122
|
//# sourceMappingURL=plain-docsProcessor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plain-docsProcessor.js","sourceRoot":"","sources":["../../../../src/transpiler/markdown/plain-markdown/plain-docsProcessor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plain-docsProcessor.js","sourceRoot":"","sources":["../../../../src/transpiler/markdown/plain-markdown/plain-docsProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const typeLevelApexDocPartialTemplate: string;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.typeLevelApexDocPartialTemplate = void 0;
|
|
4
|
+
exports.typeLevelApexDocPartialTemplate = `
|
|
5
|
+
{{#> documentablePartialTemplate}}
|
|
6
|
+
|
|
7
|
+
{{#if group}}
|
|
8
|
+
**Group** {{group}}
|
|
9
|
+
{{/if}}
|
|
10
|
+
|
|
11
|
+
{{#if author}}
|
|
12
|
+
**Author** {{author}}
|
|
13
|
+
{{/if}}
|
|
14
|
+
|
|
15
|
+
{{#if date}}
|
|
16
|
+
**Date** {{date}}
|
|
17
|
+
{{/if}}
|
|
18
|
+
|
|
19
|
+
{{#each sees}}
|
|
20
|
+
**See** {{this}}
|
|
21
|
+
|
|
22
|
+
{{/each}}
|
|
23
|
+
|
|
24
|
+
{{#if namespace}}
|
|
25
|
+
## Namespace
|
|
26
|
+
{{namespace}}
|
|
27
|
+
{{/if}}
|
|
28
|
+
|
|
29
|
+
{{/documentablePartialTemplate}}
|
|
30
|
+
`.trim();
|
|
31
|
+
//# sourceMappingURL=type-level-apex-doc-partial-template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-level-apex-doc-partial-template.js","sourceRoot":"","sources":["../../../../src/transpiler/markdown/plain-markdown/type-level-apex-doc-partial-template.ts"],"names":[],"mappings":";;;AAAa,QAAA,+BAA+B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;CA0B9C,CAAC,IAAI,EAAE,CAAC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import ProcessorTypeTranspiler from '../processor-type-transpiler';
|
|
2
|
-
import { FileContainer } from '../file-container';
|
|
3
|
-
import { Type } from '@cparra/apex-reflection';
|
|
4
|
-
import { OpenApi } from '../../model/openapi/open-api';
|
|
5
|
-
export declare class OpenApiDocsProcessor extends ProcessorTypeTranspiler {
|
|
6
|
-
protected readonly _fileContainer: FileContainer;
|
|
7
|
-
openApiModel: OpenApi;
|
|
8
|
-
constructor();
|
|
9
|
-
fileBuilder(): FileContainer;
|
|
10
|
-
onProcess(type: Type): void;
|
|
11
|
-
onAfterProcess: ((types: Type[]) => void) | undefined;
|
|
12
|
-
private getEndpointPath;
|
|
13
|
-
}
|
|
1
|
+
import ProcessorTypeTranspiler from '../processor-type-transpiler';
|
|
2
|
+
import { FileContainer } from '../file-container';
|
|
3
|
+
import { Type } from '@cparra/apex-reflection';
|
|
4
|
+
import { OpenApi } from '../../model/openapi/open-api';
|
|
5
|
+
export declare class OpenApiDocsProcessor extends ProcessorTypeTranspiler {
|
|
6
|
+
protected readonly _fileContainer: FileContainer;
|
|
7
|
+
openApiModel: OpenApi;
|
|
8
|
+
constructor();
|
|
9
|
+
fileBuilder(): FileContainer;
|
|
10
|
+
onProcess(type: Type): void;
|
|
11
|
+
onAfterProcess: ((types: Type[]) => void) | undefined;
|
|
12
|
+
private getEndpointPath;
|
|
13
|
+
}
|
|
@@ -1,75 +1,78 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
this.
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
}
|
|
74
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.OpenApiDocsProcessor = void 0;
|
|
7
|
+
const processor_type_transpiler_1 = __importDefault(require("../processor-type-transpiler"));
|
|
8
|
+
const file_container_1 = require("../file-container");
|
|
9
|
+
const openapi_type_file_1 = require("../../model/openapi/openapi-type-file");
|
|
10
|
+
const logger_1 = require("../../util/logger");
|
|
11
|
+
const open_api_1 = require("../../model/openapi/open-api");
|
|
12
|
+
const settings_1 = require("../../settings");
|
|
13
|
+
const MethodParser_1 = require("./parsers/MethodParser");
|
|
14
|
+
const string_utils_1 = require("../../util/string-utils");
|
|
15
|
+
class OpenApiDocsProcessor extends processor_type_transpiler_1.default {
|
|
16
|
+
constructor() {
|
|
17
|
+
super();
|
|
18
|
+
this.onAfterProcess = () => {
|
|
19
|
+
this._fileContainer.pushFile(new openapi_type_file_1.OpenapiTypeFile(this.openApiModel));
|
|
20
|
+
};
|
|
21
|
+
this._fileContainer = new file_container_1.FileContainer();
|
|
22
|
+
const title = settings_1.Settings.getInstance().getOpenApiTitle();
|
|
23
|
+
if (!title) {
|
|
24
|
+
throw Error('No OpenApi title was provided.');
|
|
25
|
+
}
|
|
26
|
+
this.openApiModel = new open_api_1.OpenApi(title, '1.0.0', settings_1.Settings.getInstance().getNamespace());
|
|
27
|
+
}
|
|
28
|
+
fileBuilder() {
|
|
29
|
+
return this._fileContainer;
|
|
30
|
+
}
|
|
31
|
+
onProcess(type) {
|
|
32
|
+
var _a, _b;
|
|
33
|
+
logger_1.Logger.logSingle(`Processing ${type.name}`, false, 'green', false);
|
|
34
|
+
const endpointPath = this.getEndpointPath(type);
|
|
35
|
+
if (!endpointPath) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
this.openApiModel.paths[endpointPath] = {};
|
|
39
|
+
if ((_a = type.docComment) === null || _a === void 0 ? void 0 : _a.description) {
|
|
40
|
+
this.openApiModel.paths[endpointPath].description = type.docComment.description;
|
|
41
|
+
}
|
|
42
|
+
// We can safely cast to a ClassMirror, since only these support the @RestResource annotation
|
|
43
|
+
const typeAsClass = type;
|
|
44
|
+
// Add tags for this Apex class to the OpenApi model
|
|
45
|
+
const tagName = (0, string_utils_1.camel2title)(endpointPath);
|
|
46
|
+
this.openApiModel.tags.push({
|
|
47
|
+
name: tagName,
|
|
48
|
+
description: (_b = type.docComment) === null || _b === void 0 ? void 0 : _b.description,
|
|
49
|
+
});
|
|
50
|
+
const parser = new MethodParser_1.MethodParser(this.openApiModel);
|
|
51
|
+
// GET
|
|
52
|
+
parser.parseMethod(typeAsClass, endpointPath, 'get', tagName);
|
|
53
|
+
// PATCH
|
|
54
|
+
parser.parseMethod(typeAsClass, endpointPath, 'patch', tagName);
|
|
55
|
+
// POST
|
|
56
|
+
parser.parseMethod(typeAsClass, endpointPath, 'post', tagName);
|
|
57
|
+
// PUT
|
|
58
|
+
parser.parseMethod(typeAsClass, endpointPath, 'put', tagName);
|
|
59
|
+
// DELETE
|
|
60
|
+
parser.parseMethod(typeAsClass, endpointPath, 'delete', tagName);
|
|
61
|
+
}
|
|
62
|
+
getEndpointPath(type) {
|
|
63
|
+
var _a;
|
|
64
|
+
const restResourceAnnotation = type.annotations.find((element) => element.name.toLowerCase() === 'restresource');
|
|
65
|
+
const urlMapping = (_a = restResourceAnnotation === null || restResourceAnnotation === void 0 ? void 0 : restResourceAnnotation.elementValues) === null || _a === void 0 ? void 0 : _a.find((element) => element.key.toLowerCase() === 'urlmapping');
|
|
66
|
+
if (!urlMapping) {
|
|
67
|
+
logger_1.Logger.error(`Type does not contain urlMapping annotation ${type.name}`);
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
let endpointPath = urlMapping.value.replaceAll('"', '').replaceAll("'", '').replaceAll('/*', '/');
|
|
71
|
+
if (endpointPath.startsWith('/')) {
|
|
72
|
+
endpointPath = endpointPath.substring(1);
|
|
73
|
+
}
|
|
74
|
+
return endpointPath;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
exports.OpenApiDocsProcessor = OpenApiDocsProcessor;
|
|
75
78
|
//# sourceMappingURL=open-api-docs-processor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-api-docs-processor.js","sourceRoot":"","sources":["../../../src/transpiler/openapi/open-api-docs-processor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"open-api-docs-processor.js","sourceRoot":"","sources":["../../../src/transpiler/openapi/open-api-docs-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { Reference } from './ReferenceBuilder';
|
|
2
|
-
import { ApexDocSchemaObject } from '../../../model/openapi/apex-doc-types';
|
|
3
|
-
import { SchemaObject } from '../../../model/openapi/open-api-types';
|
|
4
|
-
export type ApexDocSchemaAware = {
|
|
5
|
-
schema: ApexDocSchemaObject;
|
|
6
|
-
};
|
|
7
|
-
export declare abstract class Builder<T, K> {
|
|
8
|
-
build(schemaAware: ApexDocSchemaAware): Response<T>;
|
|
9
|
-
abstract buildBody(apexDocObject: K, reference?: Reference): T;
|
|
10
|
-
protected getOpenApiSchemaFromApexDocSchema(schemaAware: ApexDocSchemaAware, reference?: Reference): SchemaObject;
|
|
11
|
-
private isReferenceString;
|
|
12
|
-
}
|
|
13
|
-
export interface Response<T> {
|
|
14
|
-
reference?: Reference;
|
|
15
|
-
body: T;
|
|
16
|
-
}
|
|
1
|
+
import { Reference } from './ReferenceBuilder';
|
|
2
|
+
import { ApexDocSchemaObject } from '../../../model/openapi/apex-doc-types';
|
|
3
|
+
import { SchemaObject } from '../../../model/openapi/open-api-types';
|
|
4
|
+
export type ApexDocSchemaAware = {
|
|
5
|
+
schema: ApexDocSchemaObject;
|
|
6
|
+
};
|
|
7
|
+
export declare abstract class Builder<T, K> {
|
|
8
|
+
build(schemaAware: ApexDocSchemaAware): Response<T>;
|
|
9
|
+
abstract buildBody(apexDocObject: K, reference?: Reference): T;
|
|
10
|
+
protected getOpenApiSchemaFromApexDocSchema(schemaAware: ApexDocSchemaAware, reference?: Reference): SchemaObject;
|
|
11
|
+
private isReferenceString;
|
|
12
|
+
}
|
|
13
|
+
export interface Response<T> {
|
|
14
|
+
reference?: Reference;
|
|
15
|
+
body: T;
|
|
16
|
+
}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Builder = void 0;
|
|
4
|
-
const ReferenceBuilder_1 = require("./ReferenceBuilder");
|
|
5
|
-
class Builder {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.isReferenceString = (targetObject) => {
|
|
8
|
-
return typeof targetObject === 'string' || targetObject instanceof String;
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
|
-
build(schemaAware) {
|
|
12
|
-
let reference;
|
|
13
|
-
if (this.isReferenceString(schemaAware.schema)) {
|
|
14
|
-
reference = new ReferenceBuilder_1.ReferenceBuilder().build(schemaAware.schema);
|
|
15
|
-
}
|
|
16
|
-
return {
|
|
17
|
-
reference: reference,
|
|
18
|
-
body: this.buildBody(schemaAware, reference),
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
getOpenApiSchemaFromApexDocSchema(schemaAware, reference) {
|
|
22
|
-
if (this.isReferenceString(schemaAware.schema)) {
|
|
23
|
-
// We are dealing with a reference
|
|
24
|
-
return reference.entrypointReferenceObject;
|
|
25
|
-
}
|
|
26
|
-
return schemaAware.schema;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
exports.Builder = Builder;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Builder = void 0;
|
|
4
|
+
const ReferenceBuilder_1 = require("./ReferenceBuilder");
|
|
5
|
+
class Builder {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.isReferenceString = (targetObject) => {
|
|
8
|
+
return typeof targetObject === 'string' || targetObject instanceof String;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
build(schemaAware) {
|
|
12
|
+
let reference;
|
|
13
|
+
if (this.isReferenceString(schemaAware.schema)) {
|
|
14
|
+
reference = new ReferenceBuilder_1.ReferenceBuilder().build(schemaAware.schema);
|
|
15
|
+
}
|
|
16
|
+
return {
|
|
17
|
+
reference: reference,
|
|
18
|
+
body: this.buildBody(schemaAware, reference),
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
getOpenApiSchemaFromApexDocSchema(schemaAware, reference) {
|
|
22
|
+
if (this.isReferenceString(schemaAware.schema)) {
|
|
23
|
+
// We are dealing with a reference
|
|
24
|
+
return reference.entrypointReferenceObject;
|
|
25
|
+
}
|
|
26
|
+
return schemaAware.schema;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.Builder = Builder;
|
|
30
30
|
//# sourceMappingURL=Builder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Builder.js","sourceRoot":"","sources":["../../../../src/transpiler/openapi/parsers/Builder.ts"],"names":[],"mappings":";;;AAAA,yDAAiE;AAQjE,MAAsB,OAAO;IAA7B;QAuBU,sBAAiB,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"Builder.js","sourceRoot":"","sources":["../../../../src/transpiler/openapi/parsers/Builder.ts"],"names":[],"mappings":";;;AAAA,yDAAiE;AAQjE,MAAsB,OAAO;IAA7B;QAuBU,sBAAiB,GAAG,CAAC,YAAqB,EAA0B,EAAE;YAC5E,OAAO,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,YAAY,MAAM,CAAC;QAC5E,CAAC,CAAC;IACJ,CAAC;IAzBC,KAAK,CAAC,WAA+B;QACnC,IAAI,SAAgC,CAAC;QACrC,IAAI,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;YAC9C,SAAS,GAAG,IAAI,mCAAgB,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SAC9D;QAED,OAAO;YACL,SAAS,EAAE,SAAS;YACpB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAgB,EAAE,SAAS,CAAC;SAClD,CAAC;IACJ,CAAC;IAIS,iCAAiC,CAAC,WAA+B,EAAE,SAAqB;QAChG,IAAI,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;YAC9C,kCAAkC;YAClC,OAAO,SAAU,CAAC,yBAAyB,CAAC;SAC7C;QACD,OAAO,WAAW,CAAC,MAAM,CAAC;IAC5B,CAAC;CAKF;AA1BD,0BA0BC"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { ClassMirror } from '@cparra/apex-reflection';
|
|
2
|
-
import { OpenApi } from '../../../model/openapi/open-api';
|
|
3
|
-
type HttpOperations = 'get' | 'put' | 'post' | 'delete' | 'patch';
|
|
4
|
-
/**
|
|
5
|
-
* Parses ApexDocs with HTTP REST annotations and turns them into an OpenApi specification.
|
|
6
|
-
*/
|
|
7
|
-
export declare class MethodParser {
|
|
8
|
-
openApiModel: OpenApi;
|
|
9
|
-
constructor(openApiModel: OpenApi);
|
|
10
|
-
parseMethod(classMirror: ClassMirror, httpUrlEndpoint: string, httpMethodKey: HttpOperations, tag: string): void;
|
|
11
|
-
private parseHttpAnnotation;
|
|
12
|
-
private addToOpenApiStrategy;
|
|
13
|
-
private addRequestBodyToOpenApi;
|
|
14
|
-
private addParametersToOpenApi;
|
|
15
|
-
private addHttpResponsesToOpenApi;
|
|
16
|
-
private fallbackHttpRequestBodyParser;
|
|
17
|
-
private getFallbackHttpResponseParser;
|
|
18
|
-
private addReference;
|
|
19
|
-
}
|
|
20
|
-
export {};
|
|
1
|
+
import { ClassMirror } from '@cparra/apex-reflection';
|
|
2
|
+
import { OpenApi } from '../../../model/openapi/open-api';
|
|
3
|
+
type HttpOperations = 'get' | 'put' | 'post' | 'delete' | 'patch';
|
|
4
|
+
/**
|
|
5
|
+
* Parses ApexDocs with HTTP REST annotations and turns them into an OpenApi specification.
|
|
6
|
+
*/
|
|
7
|
+
export declare class MethodParser {
|
|
8
|
+
openApiModel: OpenApi;
|
|
9
|
+
constructor(openApiModel: OpenApi);
|
|
10
|
+
parseMethod(classMirror: ClassMirror, httpUrlEndpoint: string, httpMethodKey: HttpOperations, tag: string): void;
|
|
11
|
+
private parseHttpAnnotation;
|
|
12
|
+
private addToOpenApiStrategy;
|
|
13
|
+
private addRequestBodyToOpenApi;
|
|
14
|
+
private addParametersToOpenApi;
|
|
15
|
+
private addHttpResponsesToOpenApi;
|
|
16
|
+
private fallbackHttpRequestBodyParser;
|
|
17
|
+
private getFallbackHttpResponseParser;
|
|
18
|
+
private addReference;
|
|
19
|
+
}
|
|
20
|
+
export {};
|