@cparra/apexdocs 2.25.0-alpha.1 → 2.25.0-alpha.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -0
- package/dist/cli/generate.js +2963 -0
- package/dist/defaults-DUwru49Q.js +12 -0
- package/dist/defaults-SH0Rsi5E.js +11 -0
- package/dist/defaults-jLXD2y8-.js +13 -0
- package/dist/index.d.ts +101 -0
- package/dist/index.js +36 -0
- package/examples/markdown/docs/index.md +109 -0
- package/examples/{plain-markdown/docs/Miscellaneous/ns.BaseClass.md → markdown/docs/miscellaneous/BaseClass.md} +1 -1
- package/examples/markdown/docs/miscellaneous/MultiInheritanceClass.md +72 -0
- package/examples/{plain-markdown/docs/Miscellaneous/ns.ParentInterface.md → markdown/docs/miscellaneous/ParentInterface.md} +1 -1
- package/examples/{plain-markdown/docs/Miscellaneous/ns.ReferencedEnum.md → markdown/docs/miscellaneous/ReferencedEnum.md} +1 -1
- package/examples/markdown/docs/miscellaneous/SampleException.md +24 -0
- package/examples/{plain-markdown/docs/Miscellaneous/ns.SampleInterface.md → markdown/docs/miscellaneous/SampleInterface.md} +29 -32
- package/examples/markdown/docs/miscellaneous/Url.md +309 -0
- package/examples/markdown/docs/sample-enums/SampleEnum.md +36 -0
- package/examples/{plain-markdown/docs/SampleGroup/ns.SampleClass.md → markdown/docs/samplegroup/SampleClass.md} +11 -14
- package/examples/markdown/force-app/classes/MultiInheritanceClass.cls +1 -0
- package/examples/markdown/force-app/classes/SampleException.cls +17 -0
- package/examples/markdown/force-app/classes/Url.cls +194 -0
- package/examples/{plain-markdown → markdown}/package.json +2 -2
- package/examples/vitepress/.forceignore +12 -0
- package/examples/vitepress/apexdocs.config.ts +106 -0
- package/examples/vitepress/config/project-scratch-def.json +13 -0
- package/examples/vitepress/docs/.vitepress/cache/deps/@theme_index.js +259 -0
- package/examples/vitepress/docs/.vitepress/cache/deps/@theme_index.js.map +7 -0
- package/examples/vitepress/docs/.vitepress/cache/deps/_metadata.json +40 -0
- package/examples/vitepress/docs/.vitepress/cache/deps/chunk-574YRH25.js +11474 -0
- package/examples/vitepress/docs/.vitepress/cache/deps/chunk-574YRH25.js.map +7 -0
- package/examples/vitepress/docs/.vitepress/cache/deps/chunk-E5DZZB2I.js +9172 -0
- package/examples/vitepress/docs/.vitepress/cache/deps/chunk-E5DZZB2I.js.map +7 -0
- package/examples/vitepress/docs/.vitepress/cache/deps/package.json +3 -0
- package/examples/vitepress/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js +4339 -0
- package/examples/vitepress/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js.map +7 -0
- package/examples/vitepress/docs/.vitepress/cache/deps/vitepress___@vueuse_core.js +567 -0
- package/examples/vitepress/docs/.vitepress/cache/deps/vitepress___@vueuse_core.js.map +7 -0
- package/examples/vitepress/docs/.vitepress/cache/deps/vue.js +323 -0
- package/examples/vitepress/docs/.vitepress/cache/deps/vue.js.map +7 -0
- package/examples/vitepress/docs/.vitepress/config.mts +21 -0
- package/examples/vitepress/docs/.vitepress/sidebar.json +119 -0
- package/examples/vitepress/docs/api-examples.md +49 -0
- package/examples/vitepress/docs/index-frontmatter.md +16 -0
- package/examples/vitepress/docs/index.md +56 -0
- package/examples/vitepress/docs/markdown-examples.md +85 -0
- package/examples/vitepress/docs/miscellaneous/BaseClass.md +20 -0
- package/examples/vitepress/docs/miscellaneous/MultiInheritanceClass.md +76 -0
- package/examples/vitepress/docs/miscellaneous/ParentInterface.md +19 -0
- package/examples/vitepress/docs/miscellaneous/ReferencedEnum.md +15 -0
- package/examples/vitepress/docs/miscellaneous/SampleException.md +28 -0
- package/examples/vitepress/docs/miscellaneous/SampleInterface.md +116 -0
- package/examples/vitepress/docs/miscellaneous/Url.md +317 -0
- package/examples/vitepress/docs/sample-enums/SampleEnum.md +40 -0
- package/examples/vitepress/docs/samplegroup/SampleClass.md +174 -0
- package/examples/vitepress/force-app/main/default/classes/BaseClass.cls +3 -0
- package/examples/vitepress/force-app/main/default/classes/MultiInheritanceClass.cls +1 -0
- package/examples/vitepress/force-app/main/default/classes/ParentInterface.cls +3 -0
- package/examples/vitepress/force-app/main/default/classes/ReferencedEnum.cls +5 -0
- package/examples/vitepress/force-app/main/default/classes/SampleClass.cls +72 -0
- package/examples/vitepress/force-app/main/default/classes/SampleEnum.cls +30 -0
- package/examples/vitepress/force-app/main/default/classes/SampleException.cls +17 -0
- package/examples/vitepress/force-app/main/default/classes/SampleInterface.cls +46 -0
- package/examples/vitepress/force-app/main/default/classes/Url.cls +198 -0
- package/examples/vitepress/package-lock.json +2574 -0
- package/examples/vitepress/package.json +18 -0
- package/examples/vitepress/sfdx-project.json +12 -0
- package/jest.config.js +2 -1
- package/package.json +18 -19
- package/src/application/Apexdocs.ts +17 -70
- package/src/application/__tests__/apex-file-reader.spec.ts +104 -0
- package/src/application/apex-file-reader.ts +42 -0
- package/src/application/file-writer.ts +21 -0
- package/src/application/generators/markdown.ts +58 -0
- package/src/application/generators/openapi.ts +56 -0
- package/src/cli/args.ts +43 -0
- package/src/cli/commands/markdown.ts +52 -0
- package/src/cli/generate.ts +10 -134
- package/src/core/manifest.ts +90 -0
- package/src/{__spec__/core → core/markdown/__test__}/expect-extensions.ts +5 -5
- package/src/core/markdown/__test__/generating-class-docs.spec.ts +735 -0
- package/src/{__spec__/core → core/markdown/__test__}/generating-enum-docs.spec.ts +89 -59
- package/src/{__spec__/core → core/markdown/__test__}/generating-interface-docs.spec.ts +105 -75
- package/src/{__spec__/core → core/markdown/__test__}/generating-reference-guide.spec.ts +43 -26
- package/src/core/markdown/__test__/inheritance-chain.test.ts +54 -0
- package/src/core/markdown/__test__/test-helpers.ts +23 -0
- package/src/core/markdown/adapters/__tests__/documentables.spec.ts +109 -0
- package/src/core/markdown/adapters/__tests__/interface-adapter.spec.ts +148 -0
- package/src/{adapters → core/markdown/adapters}/__tests__/references.spec.ts +23 -2
- package/src/{adapters → core/markdown/adapters}/apex-types.ts +58 -44
- package/src/{adapters → core/markdown/adapters}/documentables.ts +58 -35
- package/src/{adapters → core/markdown/adapters}/fields-and-properties.ts +18 -11
- package/src/{adapters/references.ts → core/markdown/adapters/inline.ts} +43 -13
- package/src/{adapters → core/markdown/adapters}/methods-and-constructors.ts +36 -20
- package/src/core/markdown/adapters/reference-guide.ts +35 -0
- package/src/core/markdown/adapters/renderable-bundle.ts +78 -0
- package/src/core/markdown/adapters/renderable-to-page-data.ts +89 -0
- package/src/core/markdown/adapters/type-utils.ts +13 -0
- package/src/core/{renderable → markdown/adapters}/types.d.ts +57 -8
- package/src/core/markdown/generate-docs.ts +216 -0
- package/src/core/markdown/reflection/error-handling.ts +37 -0
- package/src/core/markdown/reflection/filter-scope.ts +13 -0
- package/src/core/markdown/reflection/inheritance-chain-expanion.ts +22 -0
- package/src/core/markdown/reflection/inheritance-chain.ts +23 -0
- package/src/core/markdown/reflection/inherited-member-expansion.ts +105 -0
- package/src/core/markdown/reflection/reflect-source.ts +45 -0
- package/src/core/markdown/reflection/sort-members.ts +59 -0
- package/src/{transpiler/markdown/plain-markdown → core/markdown/templates}/class-template.ts +5 -3
- package/src/{transpiler/markdown/plain-markdown → core/markdown/templates}/constructors-partial-template.ts +2 -2
- package/src/{transpiler/markdown/plain-markdown → core/markdown/templates}/documentable-partial-template.ts +6 -4
- package/src/{transpiler/markdown/plain-markdown → core/markdown/templates}/fieldsPartialTemplate.ts +1 -1
- package/src/core/markdown/templates/hookable.ts +7 -0
- package/src/{transpiler/markdown/plain-markdown → core/markdown/templates}/methods-partial-template.ts +2 -2
- package/src/core/{templates → markdown/templates}/reference-guide.ts +1 -1
- package/src/core/{template.ts → markdown/templates/template.ts} +25 -19
- package/src/core/markdown/utils.ts +3 -0
- package/src/{transpiler → core}/openapi/__tests__/open-api-docs-processor.spec.ts +1 -1
- package/src/{model → core/openapi}/apex-type-wrappers/__tests__/ClassMirrorWrapper.spec.ts +3 -3
- package/src/core/openapi/file-container.ts +13 -0
- package/src/{service → core/openapi}/manifest-factory.ts +3 -3
- package/src/{transpiler → core}/openapi/open-api-docs-processor.ts +9 -10
- package/src/core/openapi/openapi-type-file.ts +12 -0
- package/src/{service → core/openapi}/parser.ts +8 -8
- package/src/{transpiler → core}/openapi/parsers/Builder.ts +2 -2
- package/src/{transpiler → core}/openapi/parsers/MethodParser.ts +5 -5
- package/src/{transpiler → core}/openapi/parsers/ParameterObjectBuilder.ts +2 -2
- package/src/{transpiler → core}/openapi/parsers/ReferenceBuilder.ts +3 -3
- package/src/{transpiler → core}/openapi/parsers/RequestBodyBuilder.ts +2 -2
- package/src/{transpiler → core}/openapi/parsers/ResponsesBuilder.ts +2 -2
- package/src/{transpiler → core}/openapi/parsers/__tests__/MethodParser.spec.ts +1 -1
- package/src/{transpiler → core}/openapi/parsers/__tests__/ParameterObjectBuilder.spec.ts +2 -2
- package/src/{transpiler → core}/openapi/parsers/__tests__/ReferenceBuilder.spec.ts +2 -2
- package/src/{transpiler → core}/openapi/parsers/__tests__/RequestBodyBuilder.spec.ts +2 -2
- package/src/{transpiler → core}/openapi/parsers/__tests__/ResponsesBuilder.spec.ts +1 -1
- package/src/{transpiler → core/openapi}/transpiler.ts +2 -6
- package/src/{model → core/openapi}/types-repository.ts +0 -9
- package/src/core/parse-apex-metadata.ts +14 -0
- package/src/core/settings.ts +56 -0
- package/src/core/shared/types.d.ts +131 -0
- package/src/core/shared/utils.ts +5 -0
- package/src/defaults.ts +9 -0
- package/src/index.ts +40 -2
- package/src/test-helpers/ClassMirrorBuilder.ts +14 -1
- package/src/test-helpers/InterfaceMirrorBuilder.ts +0 -5
- package/src/test-helpers/SettingsBuilder.ts +1 -4
- package/src/util/fp.ts +3 -0
- package/src/util/logger.ts +3 -3
- package/src/util/string-utils.ts +0 -4
- package/tsconfig.json +6 -2
- package/apexdocs.config.ts +0 -13
- package/docs/.nojekyll +0 -0
- package/docs/__old/README.md +0 -1
- package/docs/__old/index.html +0 -22
- package/docs/__old/restapi.json +0 -589
- package/docs/__old/types/Classes/nspc.AnotherInterface.md +0 -22
- package/docs/__old/types/Classes/nspc.ChildClass.md +0 -97
- package/docs/__old/types/Main/nspc.GroupedClass.md +0 -10
- package/docs/__old/types/Main/nspc.SampleClass.md +0 -189
- package/docs/__old/types/Misc-Group/nspc.EscapedAnnotations.md +0 -4
- package/docs/__old/types/Misc-Group/nspc.GrandparentClass.md +0 -13
- package/docs/__old/types/Misc-Group/nspc.InterfaceWithInheritance.md +0 -29
- package/docs/__old/types/Misc-Group/nspc.MemberGrouping.md +0 -13
- package/docs/__old/types/Misc-Group/nspc.ParentClass.md +0 -37
- package/docs/__old/types/Misc-Group/nspc.Reference1.md +0 -18
- package/docs/__old/types/Misc-Group/nspc.Reference2.md +0 -12
- package/docs/__old/types/Misc-Group/nspc.Reference3.md +0 -7
- package/docs/__old/types/Misc-Group/nspc.Reference4.md +0 -7
- package/docs/__old/types/Misc-Group/nspc.Reference5.md +0 -7
- package/docs/__old/types/Misc-Group/nspc.Reference6.md +0 -9
- package/docs/__old/types/Misc-Group/nspc.Reference7.md +0 -7
- package/docs/__old/types/Misc-Group/nspc.SampleClassWithoutModifier.md +0 -11
- package/docs/__old/types/Misc-Group/nspc.SampleRestResource.md +0 -104
- package/docs/__old/types/Misc-Group/nspc.SampleRestResourceWithInnerClass.md +0 -33
- package/docs/__old/types/Misc-Group/nspc.SampleRestResourceWithoutApexDocs.md +0 -14
- package/docs/__old/types/README.md +0 -97
- package/docs/__old/types/Sample-Interfaces/nspc.SampleInterface.md +0 -23
- package/examples/includes/header.md +0 -3
- package/examples/plain-markdown/docs/Miscellaneous/ns.SampleException.md +0 -7
- package/examples/plain-markdown/docs/Sample-Enums/ns.SampleEnum.md +0 -36
- package/examples/plain-markdown/docs/index.md +0 -36
- package/examples/plain-markdown/force-app/classes/SampleException.cls +0 -1
- package/examples/plain-markdown/template.md +0 -3
- package/lib/__spec__/core/expect-extensions.d.ts +0 -3
- package/lib/__spec__/core/expect-extensions.js +0 -54
- package/lib/__spec__/core/expect-extensions.js.map +0 -1
- package/lib/__spec__/core/generating-class-docs.spec.d.ts +0 -1
- package/lib/__spec__/core/generating-class-docs.spec.js +0 -427
- package/lib/__spec__/core/generating-class-docs.spec.js.map +0 -1
- package/lib/__spec__/core/generating-enum-docs.spec.d.ts +0 -1
- package/lib/__spec__/core/generating-enum-docs.spec.js +0 -303
- package/lib/__spec__/core/generating-enum-docs.spec.js.map +0 -1
- package/lib/__spec__/core/generating-interface-docs.spec.d.ts +0 -1
- package/lib/__spec__/core/generating-interface-docs.spec.js +0 -361
- package/lib/__spec__/core/generating-interface-docs.spec.js.map +0 -1
- package/lib/__spec__/core/generating-reference-guide.spec.d.ts +0 -1
- package/lib/__spec__/core/generating-reference-guide.spec.js +0 -161
- package/lib/__spec__/core/generating-reference-guide.spec.js.map +0 -1
- package/lib/adapters/apex-types.d.ts +0 -7
- package/lib/adapters/apex-types.js +0 -112
- package/lib/adapters/apex-types.js.map +0 -1
- package/lib/adapters/documentables.d.ts +0 -7
- package/lib/adapters/documentables.js +0 -56
- package/lib/adapters/documentables.js.map +0 -1
- package/lib/adapters/fields-and-properties.d.ts +0 -4
- package/lib/adapters/fields-and-properties.js +0 -32
- package/lib/adapters/fields-and-properties.js.map +0 -1
- package/lib/adapters/methods-and-constructors.d.ts +0 -5
- package/lib/adapters/methods-and-constructors.js +0 -92
- package/lib/adapters/methods-and-constructors.js.map +0 -1
- package/lib/adapters/references.d.ts +0 -5
- package/lib/adapters/references.js +0 -82
- package/lib/adapters/references.js.map +0 -1
- package/lib/adapters/type-utils.d.ts +0 -2
- package/lib/adapters/type-utils.js +0 -7
- package/lib/adapters/type-utils.js.map +0 -1
- package/lib/application/Apexdocs.d.ts +0 -13
- package/lib/application/Apexdocs.js +0 -80
- package/lib/application/Apexdocs.js.map +0 -1
- package/lib/cli/generate.d.ts +0 -2
- package/lib/cli/generate.js +0 -157
- package/lib/cli/generate.js.map +0 -1
- package/lib/core/generate-docs.d.ts +0 -23
- package/lib/core/generate-docs.js +0 -241
- package/lib/core/generate-docs.js.map +0 -1
- package/lib/core/template.d.ts +0 -10
- package/lib/core/template.js +0 -92
- package/lib/core/template.js.map +0 -1
- package/lib/core/templates/reference-guide.d.ts +0 -1
- package/lib/core/templates/reference-guide.js +0 -18
- package/lib/core/templates/reference-guide.js.map +0 -1
- package/lib/index.d.ts +0 -2
- package/lib/index.js +0 -29
- package/lib/index.js.map +0 -1
- package/lib/model/apex-bundle.d.ts +0 -6
- package/lib/model/apex-bundle.js +0 -11
- package/lib/model/apex-bundle.js.map +0 -1
- package/lib/model/apex-type-wrappers/ClassMirrorWrapper.d.ts +0 -7
- package/lib/model/apex-type-wrappers/ClassMirrorWrapper.js +0 -14
- package/lib/model/apex-type-wrappers/ClassMirrorWrapper.js.map +0 -1
- package/lib/model/apex-type-wrappers/MethodMirrorWrapper.d.ts +0 -7
- package/lib/model/apex-type-wrappers/MethodMirrorWrapper.js +0 -12
- package/lib/model/apex-type-wrappers/MethodMirrorWrapper.js.map +0 -1
- package/lib/model/inheritance.d.ts +0 -8
- package/lib/model/inheritance.js +0 -3
- package/lib/model/inheritance.js.map +0 -1
- package/lib/model/manifest.d.ts +0 -22
- package/lib/model/manifest.js +0 -53
- package/lib/model/manifest.js.map +0 -1
- package/lib/model/markdown-file.d.ts +0 -16
- package/lib/model/markdown-file.js +0 -111
- package/lib/model/markdown-file.js.map +0 -1
- package/lib/model/markdown-generation-util/doc-comment-annotation-util.d.ts +0 -8
- package/lib/model/markdown-generation-util/doc-comment-annotation-util.js +0 -46
- package/lib/model/markdown-generation-util/doc-comment-annotation-util.js.map +0 -1
- package/lib/model/markdown-generation-util/field-declaration-util.d.ts +0 -3
- package/lib/model/markdown-generation-util/field-declaration-util.js +0 -54
- package/lib/model/markdown-generation-util/field-declaration-util.js.map +0 -1
- package/lib/model/markdown-generation-util/index.d.ts +0 -3
- package/lib/model/markdown-generation-util/index.js +0 -20
- package/lib/model/markdown-generation-util/index.js.map +0 -1
- package/lib/model/markdown-generation-util/method-declaration-util.d.ts +0 -4
- package/lib/model/markdown-generation-util/method-declaration-util.js +0 -114
- package/lib/model/markdown-generation-util/method-declaration-util.js.map +0 -1
- package/lib/model/markdown-generation-util/type-declaration-util.d.ts +0 -3
- package/lib/model/markdown-generation-util/type-declaration-util.js +0 -81
- package/lib/model/markdown-generation-util/type-declaration-util.js.map +0 -1
- package/lib/model/markdown-home-file.d.ts +0 -11
- package/lib/model/markdown-home-file.js +0 -57
- package/lib/model/markdown-home-file.js.map +0 -1
- package/lib/model/markdown-type-file.d.ts +0 -26
- package/lib/model/markdown-type-file.js +0 -137
- package/lib/model/markdown-type-file.js.map +0 -1
- package/lib/model/openapi/apex-doc-types.d.ts +0 -19
- package/lib/model/openapi/apex-doc-types.js +0 -5
- package/lib/model/openapi/apex-doc-types.js.map +0 -1
- package/lib/model/openapi/open-api-types.d.ts +0 -93
- package/lib/model/openapi/open-api-types.js +0 -3
- package/lib/model/openapi/open-api-types.js.map +0 -1
- package/lib/model/openapi/open-api.d.ts +0 -16
- package/lib/model/openapi/open-api.js +0 -34
- package/lib/model/openapi/open-api.js.map +0 -1
- package/lib/model/openapi/openapi-type-file.d.ts +0 -7
- package/lib/model/openapi/openapi-type-file.js +0 -17
- package/lib/model/openapi/openapi-type-file.js.map +0 -1
- package/lib/model/outputFile.d.ts +0 -10
- package/lib/model/outputFile.js +0 -22
- package/lib/model/outputFile.js.map +0 -1
- package/lib/model/types-repository.d.ts +0 -16
- package/lib/model/types-repository.js +0 -54
- package/lib/model/types-repository.js.map +0 -1
- package/lib/service/apex-file-reader.d.ts +0 -14
- package/lib/service/apex-file-reader.js +0 -49
- package/lib/service/apex-file-reader.js.map +0 -1
- package/lib/service/file-system.d.ts +0 -14
- package/lib/service/file-system.js +0 -48
- package/lib/service/file-system.js.map +0 -1
- package/lib/service/file-writer.d.ts +0 -6
- package/lib/service/file-writer.js +0 -57
- package/lib/service/file-writer.js.map +0 -1
- package/lib/service/manifest-factory.d.ts +0 -10
- package/lib/service/manifest-factory.js +0 -16
- package/lib/service/manifest-factory.js.map +0 -1
- package/lib/service/metadata-processor.d.ts +0 -3
- package/lib/service/metadata-processor.js +0 -17
- package/lib/service/metadata-processor.js.map +0 -1
- package/lib/service/parser.d.ts +0 -21
- package/lib/service/parser.js +0 -138
- package/lib/service/parser.js.map +0 -1
- package/lib/service/state.d.ts +0 -9
- package/lib/service/state.js +0 -20
- package/lib/service/state.js.map +0 -1
- package/lib/service/walkers/class-walker.d.ts +0 -4
- package/lib/service/walkers/class-walker.js +0 -33
- package/lib/service/walkers/class-walker.js.map +0 -1
- package/lib/service/walkers/enum-walker.d.ts +0 -4
- package/lib/service/walkers/enum-walker.js +0 -11
- package/lib/service/walkers/enum-walker.js.map +0 -1
- package/lib/service/walkers/interface-walker.d.ts +0 -4
- package/lib/service/walkers/interface-walker.js +0 -15
- package/lib/service/walkers/interface-walker.js.map +0 -1
- package/lib/service/walkers/walker-factory.d.ts +0 -5
- package/lib/service/walkers/walker-factory.js +0 -21
- package/lib/service/walkers/walker-factory.js.map +0 -1
- package/lib/service/walkers/walker.d.ts +0 -19
- package/lib/service/walkers/walker.js +0 -17
- package/lib/service/walkers/walker.js.map +0 -1
- package/lib/settings.d.ts +0 -64
- package/lib/settings.js +0 -89
- package/lib/settings.js.map +0 -1
- package/lib/test-helpers/AnnotationBuilder.d.ts +0 -12
- package/lib/test-helpers/AnnotationBuilder.js +0 -31
- package/lib/test-helpers/AnnotationBuilder.js.map +0 -1
- package/lib/test-helpers/ClassMirrorBuilder.d.ts +0 -18
- package/lib/test-helpers/ClassMirrorBuilder.js +0 -54
- package/lib/test-helpers/ClassMirrorBuilder.js.map +0 -1
- package/lib/test-helpers/DocCommentAnnotationBuilder.d.ts +0 -8
- package/lib/test-helpers/DocCommentAnnotationBuilder.js +0 -26
- package/lib/test-helpers/DocCommentAnnotationBuilder.js.map +0 -1
- package/lib/test-helpers/DocCommentBuilder.d.ts +0 -12
- package/lib/test-helpers/DocCommentBuilder.js +0 -38
- package/lib/test-helpers/DocCommentBuilder.js.map +0 -1
- package/lib/test-helpers/FieldMirrorBuilder.d.ts +0 -18
- package/lib/test-helpers/FieldMirrorBuilder.js +0 -54
- package/lib/test-helpers/FieldMirrorBuilder.js.map +0 -1
- package/lib/test-helpers/InterfaceMirrorBuilder.d.ts +0 -16
- package/lib/test-helpers/InterfaceMirrorBuilder.js +0 -43
- package/lib/test-helpers/InterfaceMirrorBuilder.js.map +0 -1
- package/lib/test-helpers/MethodMirrorBuilder.d.ts +0 -29
- package/lib/test-helpers/MethodMirrorBuilder.js +0 -72
- package/lib/test-helpers/MethodMirrorBuilder.js.map +0 -1
- package/lib/test-helpers/SettingsBuilder.d.ts +0 -8
- package/lib/test-helpers/SettingsBuilder.js +0 -27
- package/lib/test-helpers/SettingsBuilder.js.map +0 -1
- package/lib/transpiler/factory.d.ts +0 -6
- package/lib/transpiler/factory.js +0 -35
- package/lib/transpiler/factory.js.map +0 -1
- package/lib/transpiler/file-container.d.ts +0 -6
- package/lib/transpiler/file-container.js +0 -16
- package/lib/transpiler/file-container.js.map +0 -1
- package/lib/transpiler/generator-choices.d.ts +0 -1
- package/lib/transpiler/generator-choices.js +0 -3
- package/lib/transpiler/generator-choices.js.map +0 -1
- package/lib/transpiler/markdown/class-file-generatorHelper.d.ts +0 -11
- package/lib/transpiler/markdown/class-file-generatorHelper.js +0 -75
- package/lib/transpiler/markdown/class-file-generatorHelper.js.map +0 -1
- package/lib/transpiler/markdown/docsify/docsify-docs-processor.d.ts +0 -6
- package/lib/transpiler/markdown/docsify/docsify-docs-processor.js +0 -13
- package/lib/transpiler/markdown/docsify/docsify-docs-processor.js.map +0 -1
- package/lib/transpiler/markdown/jekyll/jekyll-docsProcessor.d.ts +0 -11
- package/lib/transpiler/markdown/jekyll/jekyll-docsProcessor.js +0 -51
- package/lib/transpiler/markdown/jekyll/jekyll-docsProcessor.js.map +0 -1
- package/lib/transpiler/markdown/markdown-transpiler-base.d.ts +0 -11
- package/lib/transpiler/markdown/markdown-transpiler-base.js +0 -27
- package/lib/transpiler/markdown/markdown-transpiler-base.js.map +0 -1
- package/lib/transpiler/markdown/plain-markdown/class-template.d.ts +0 -1
- package/lib/transpiler/markdown/plain-markdown/class-template.js +0 -77
- package/lib/transpiler/markdown/plain-markdown/class-template.js.map +0 -1
- package/lib/transpiler/markdown/plain-markdown/constructors-partial-template.d.ts +0 -1
- package/lib/transpiler/markdown/plain-markdown/constructors-partial-template.js +0 -36
- package/lib/transpiler/markdown/plain-markdown/constructors-partial-template.js.map +0 -1
- package/lib/transpiler/markdown/plain-markdown/documentable-partial-template.d.ts +0 -1
- package/lib/transpiler/markdown/plain-markdown/documentable-partial-template.js +0 -28
- package/lib/transpiler/markdown/plain-markdown/documentable-partial-template.js.map +0 -1
- package/lib/transpiler/markdown/plain-markdown/enum-template.d.ts +0 -1
- package/lib/transpiler/markdown/plain-markdown/enum-template.js +0 -16
- package/lib/transpiler/markdown/plain-markdown/enum-template.js.map +0 -1
- package/lib/transpiler/markdown/plain-markdown/fieldsPartialTemplate.d.ts +0 -1
- package/lib/transpiler/markdown/plain-markdown/fieldsPartialTemplate.js +0 -27
- package/lib/transpiler/markdown/plain-markdown/fieldsPartialTemplate.js.map +0 -1
- package/lib/transpiler/markdown/plain-markdown/grouped-members-partial-template.d.ts +0 -1
- package/lib/transpiler/markdown/plain-markdown/grouped-members-partial-template.js +0 -10
- package/lib/transpiler/markdown/plain-markdown/grouped-members-partial-template.js.map +0 -1
- package/lib/transpiler/markdown/plain-markdown/interface-template.d.ts +0 -1
- package/lib/transpiler/markdown/plain-markdown/interface-template.js +0 -20
- package/lib/transpiler/markdown/plain-markdown/interface-template.js.map +0 -1
- package/lib/transpiler/markdown/plain-markdown/methods-partial-template.d.ts +0 -1
- package/lib/transpiler/markdown/plain-markdown/methods-partial-template.js +0 -47
- package/lib/transpiler/markdown/plain-markdown/methods-partial-template.js.map +0 -1
- package/lib/transpiler/markdown/plain-markdown/plain-docsProcessor.d.ts +0 -9
- package/lib/transpiler/markdown/plain-markdown/plain-docsProcessor.js +0 -42
- package/lib/transpiler/markdown/plain-markdown/plain-docsProcessor.js.map +0 -1
- package/lib/transpiler/markdown/plain-markdown/type-doc-partial.d.ts +0 -1
- package/lib/transpiler/markdown/plain-markdown/type-doc-partial.js +0 -31
- package/lib/transpiler/markdown/plain-markdown/type-doc-partial.js.map +0 -1
- package/lib/transpiler/openapi/open-api-docs-processor.d.ts +0 -13
- package/lib/transpiler/openapi/open-api-docs-processor.js +0 -78
- package/lib/transpiler/openapi/open-api-docs-processor.js.map +0 -1
- package/lib/transpiler/openapi/parsers/Builder.d.ts +0 -16
- package/lib/transpiler/openapi/parsers/Builder.js +0 -30
- package/lib/transpiler/openapi/parsers/Builder.js.map +0 -1
- package/lib/transpiler/openapi/parsers/MethodParser.d.ts +0 -20
- package/lib/transpiler/openapi/parsers/MethodParser.js +0 -190
- package/lib/transpiler/openapi/parsers/MethodParser.js.map +0 -1
- package/lib/transpiler/openapi/parsers/ParameterObjectBuilder.d.ts +0 -7
- package/lib/transpiler/openapi/parsers/ParameterObjectBuilder.js +0 -11
- package/lib/transpiler/openapi/parsers/ParameterObjectBuilder.js.map +0 -1
- package/lib/transpiler/openapi/parsers/ReferenceBuilder.d.ts +0 -39
- package/lib/transpiler/openapi/parsers/ReferenceBuilder.js +0 -250
- package/lib/transpiler/openapi/parsers/ReferenceBuilder.js.map +0 -1
- package/lib/transpiler/openapi/parsers/RequestBodyBuilder.d.ts +0 -10
- package/lib/transpiler/openapi/parsers/RequestBodyBuilder.js +0 -20
- package/lib/transpiler/openapi/parsers/RequestBodyBuilder.js.map +0 -1
- package/lib/transpiler/openapi/parsers/ResponsesBuilder.d.ts +0 -7
- package/lib/transpiler/openapi/parsers/ResponsesBuilder.js +0 -22
- package/lib/transpiler/openapi/parsers/ResponsesBuilder.js.map +0 -1
- package/lib/transpiler/processor-type-transpiler.d.ts +0 -10
- package/lib/transpiler/processor-type-transpiler.js +0 -9
- package/lib/transpiler/processor-type-transpiler.js.map +0 -1
- package/lib/transpiler/transpiler.d.ts +0 -5
- package/lib/transpiler/transpiler.js +0 -30
- package/lib/transpiler/transpiler.js.map +0 -1
- package/lib/util/error-logger.d.ts +0 -8
- package/lib/util/error-logger.js +0 -90
- package/lib/util/error-logger.js.map +0 -1
- package/lib/util/logger.d.ts +0 -21
- package/lib/util/logger.js +0 -61
- package/lib/util/logger.js.map +0 -1
- package/lib/util/string-utils.d.ts +0 -2
- package/lib/util/string-utils.js +0 -15
- package/lib/util/string-utils.js.map +0 -1
- package/src/__spec__/core/generating-class-docs.spec.ts +0 -511
- package/src/adapters/__tests__/interface-adapter.spec.ts +0 -80
- package/src/adapters/type-utils.ts +0 -5
- package/src/adapters/types.d.ts +0 -8
- package/src/core/generate-docs.ts +0 -357
- package/src/model/apex-bundle.ts +0 -3
- package/src/model/inheritance.ts +0 -7
- package/src/model/manifest.ts +0 -84
- package/src/model/markdown-file.ts +0 -122
- package/src/model/markdown-generation-util/doc-comment-annotation-util.ts +0 -50
- package/src/model/markdown-generation-util/field-declaration-util.ts +0 -71
- package/src/model/markdown-generation-util/index.ts +0 -3
- package/src/model/markdown-generation-util/method-declaration-util.ts +0 -166
- package/src/model/markdown-generation-util/type-declaration-util.ts +0 -91
- package/src/model/markdown-home-file.ts +0 -58
- package/src/model/markdown-type-file.ts +0 -165
- package/src/model/openapi/openapi-type-file.ts +0 -14
- package/src/model/outputFile.ts +0 -20
- package/src/service/__tests__/apex-file-reader.spec.ts +0 -92
- package/src/service/apex-file-reader.ts +0 -51
- package/src/service/file-writer.ts +0 -34
- package/src/service/metadata-processor.ts +0 -16
- package/src/service/state.ts +0 -24
- package/src/service/walkers/class-walker.ts +0 -30
- package/src/service/walkers/enum-walker.ts +0 -7
- package/src/service/walkers/interface-walker.ts +0 -12
- package/src/service/walkers/walker-factory.ts +0 -19
- package/src/service/walkers/walker.ts +0 -42
- package/src/settings.ts +0 -147
- package/src/transpiler/factory.ts +0 -33
- package/src/transpiler/file-container.ts +0 -13
- package/src/transpiler/generator-choices.ts +0 -1
- package/src/transpiler/markdown/class-file-generatorHelper.ts +0 -78
- package/src/transpiler/markdown/docsify/docsify-docs-processor.ts +0 -12
- package/src/transpiler/markdown/jekyll/jekyll-docsProcessor.ts +0 -50
- package/src/transpiler/markdown/markdown-transpiler-base.ts +0 -28
- package/src/transpiler/markdown/plain-markdown/plain-docsProcessor.ts +0 -42
- package/src/transpiler/processor-type-transpiler.ts +0 -18
- /package/examples/{plain-markdown → markdown}/.forceignore +0 -0
- /package/examples/{plain-markdown → markdown}/config/project-scratch-def.json +0 -0
- /package/examples/{plain-markdown → markdown}/force-app/classes/BaseClass.cls +0 -0
- /package/examples/{plain-markdown → markdown}/force-app/classes/ParentInterface.cls +0 -0
- /package/examples/{plain-markdown → markdown}/force-app/classes/ReferencedEnum.cls +0 -0
- /package/examples/{plain-markdown → markdown}/force-app/classes/SampleClass.cls +0 -0
- /package/examples/{plain-markdown → markdown}/force-app/classes/SampleEnum.cls +0 -0
- /package/examples/{plain-markdown → markdown}/force-app/classes/SampleInterface.cls +0 -0
- /package/examples/{plain-markdown → markdown}/package-lock.json +0 -0
- /package/examples/{plain-markdown → markdown}/sfdx-project.json +0 -0
- /package/src/{service → application}/file-system.ts +0 -0
- /package/src/{model/__tests__ → core/__test__}/manifest.spec.ts +0 -0
- /package/src/{transpiler/markdown/plain-markdown → core/markdown/templates}/enum-template.ts +0 -0
- /package/src/{transpiler/markdown/plain-markdown → core/markdown/templates}/grouped-members-partial-template.ts +0 -0
- /package/src/{transpiler/markdown/plain-markdown → core/markdown/templates}/interface-template.ts +0 -0
- /package/src/{transpiler/markdown/plain-markdown → core/markdown/templates}/type-doc-partial.ts +0 -0
- /package/src/{service → core/openapi}/__tests__/manifest-factory.spec.ts +0 -0
- /package/src/{model → core}/openapi/__tests__/open-api.spec.ts +0 -0
- /package/src/{model → core}/openapi/apex-doc-types.ts +0 -0
- /package/src/{model → core/openapi}/apex-type-wrappers/ClassMirrorWrapper.ts +0 -0
- /package/src/{model → core/openapi}/apex-type-wrappers/MethodMirrorWrapper.ts +0 -0
- /package/src/{model → core}/openapi/open-api-types.ts +0 -0
- /package/src/{model → core}/openapi/open-api.ts +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { generateDocs } from '../../core/generate-docs';
|
|
2
1
|
import { assertEither, extendExpect } from './expect-extensions';
|
|
2
|
+
import { apexBundleFromRawString, generateDocs } from './test-helpers';
|
|
3
3
|
|
|
4
4
|
describe('Generates enum documentation', () => {
|
|
5
5
|
beforeAll(() => {
|
|
@@ -7,7 +7,7 @@ describe('Generates enum documentation', () => {
|
|
|
7
7
|
});
|
|
8
8
|
|
|
9
9
|
describe('documentation output', () => {
|
|
10
|
-
it('
|
|
10
|
+
it('returns the name of the enum', async () => {
|
|
11
11
|
const input = `
|
|
12
12
|
public enum MyEnum {
|
|
13
13
|
VALUE1,
|
|
@@ -15,24 +15,12 @@ describe('Generates enum documentation', () => {
|
|
|
15
15
|
}
|
|
16
16
|
`;
|
|
17
17
|
|
|
18
|
-
const result = generateDocs([input]);
|
|
19
|
-
assertEither(result, (data) => expect(data.format).toBe('markdown'));
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
it('returns the name of the enum', () => {
|
|
23
|
-
const input = `
|
|
24
|
-
public enum MyEnum {
|
|
25
|
-
VALUE1,
|
|
26
|
-
VALUE2
|
|
27
|
-
}
|
|
28
|
-
`;
|
|
29
|
-
|
|
30
|
-
const result = generateDocs([input]);
|
|
18
|
+
const result = await generateDocs([apexBundleFromRawString(input)])();
|
|
31
19
|
expect(result).documentationBundleHasLength(1);
|
|
32
|
-
assertEither(result, (data) => expect(data.docs[0].
|
|
20
|
+
assertEither(result, (data) => expect(data.docs[0].filePath).toContain('MyEnum'));
|
|
33
21
|
});
|
|
34
22
|
|
|
35
|
-
it('returns the type as enum', () => {
|
|
23
|
+
it('returns the type as enum', async () => {
|
|
36
24
|
const input = `
|
|
37
25
|
public enum MyEnum {
|
|
38
26
|
VALUE1,
|
|
@@ -40,12 +28,12 @@ describe('Generates enum documentation', () => {
|
|
|
40
28
|
}
|
|
41
29
|
`;
|
|
42
30
|
|
|
43
|
-
const result = generateDocs([input]);
|
|
31
|
+
const result = await generateDocs([apexBundleFromRawString(input)])();
|
|
44
32
|
expect(result).documentationBundleHasLength(1);
|
|
45
|
-
assertEither(result, (data) => expect(data.docs[0].type).toBe('enum'));
|
|
33
|
+
assertEither(result, (data) => expect(data.docs[0].source.type).toBe('enum'));
|
|
46
34
|
});
|
|
47
35
|
|
|
48
|
-
it('does not return enums out of scope', () => {
|
|
36
|
+
it('does not return enums out of scope', async () => {
|
|
49
37
|
const input1 = `
|
|
50
38
|
global enum MyEnum {
|
|
51
39
|
VALUE1,
|
|
@@ -60,11 +48,13 @@ describe('Generates enum documentation', () => {
|
|
|
60
48
|
}
|
|
61
49
|
`;
|
|
62
50
|
|
|
63
|
-
const result = generateDocs([input1, input2], {
|
|
51
|
+
const result = await generateDocs([apexBundleFromRawString(input1), apexBundleFromRawString(input2)], {
|
|
52
|
+
scope: ['global'],
|
|
53
|
+
})();
|
|
64
54
|
expect(result).documentationBundleHasLength(1);
|
|
65
55
|
});
|
|
66
56
|
|
|
67
|
-
it('does not return enums that have an @ignore in the docs', () => {
|
|
57
|
+
it('does not return enums that have an @ignore in the docs', async () => {
|
|
68
58
|
const input = `
|
|
69
59
|
/**
|
|
70
60
|
* @ignore
|
|
@@ -75,13 +65,13 @@ describe('Generates enum documentation', () => {
|
|
|
75
65
|
}
|
|
76
66
|
`;
|
|
77
67
|
|
|
78
|
-
const result = generateDocs([input]);
|
|
68
|
+
const result = await generateDocs([apexBundleFromRawString(input)])();
|
|
79
69
|
expect(result).documentationBundleHasLength(0);
|
|
80
70
|
});
|
|
81
71
|
});
|
|
82
72
|
|
|
83
73
|
describe('documentation content', () => {
|
|
84
|
-
it('generates a heading with the enum name', () => {
|
|
74
|
+
it('generates a heading with the enum name', async () => {
|
|
85
75
|
const input = `
|
|
86
76
|
public enum MyEnum {
|
|
87
77
|
VALUE1,
|
|
@@ -91,12 +81,12 @@ describe('Generates enum documentation', () => {
|
|
|
91
81
|
|
|
92
82
|
const output = `# MyEnum Enum`;
|
|
93
83
|
|
|
94
|
-
const result = generateDocs([input]);
|
|
84
|
+
const result = await generateDocs([apexBundleFromRawString(input)])();
|
|
95
85
|
expect(result).documentationBundleHasLength(1);
|
|
96
86
|
assertEither(result, (data) => expect(data).firstDocContains(output));
|
|
97
87
|
});
|
|
98
88
|
|
|
99
|
-
it('displays type level annotations', () => {
|
|
89
|
+
it('displays type level annotations', async () => {
|
|
100
90
|
const input = `
|
|
101
91
|
@NamespaceAccessible
|
|
102
92
|
public enum MyEnum {
|
|
@@ -105,12 +95,12 @@ describe('Generates enum documentation', () => {
|
|
|
105
95
|
}
|
|
106
96
|
`;
|
|
107
97
|
|
|
108
|
-
const result = generateDocs([input]);
|
|
98
|
+
const result = await generateDocs([apexBundleFromRawString(input)])();
|
|
109
99
|
expect(result).documentationBundleHasLength(1);
|
|
110
100
|
assertEither(result, (data) => expect(data).firstDocContains('NAMESPACEACCESSIBLE'));
|
|
111
101
|
});
|
|
112
102
|
|
|
113
|
-
it('displays the description', () => {
|
|
103
|
+
it('displays the description', async () => {
|
|
114
104
|
const input = `
|
|
115
105
|
/**
|
|
116
106
|
* This is a description
|
|
@@ -121,12 +111,12 @@ describe('Generates enum documentation', () => {
|
|
|
121
111
|
}
|
|
122
112
|
`;
|
|
123
113
|
|
|
124
|
-
const result = generateDocs([input]);
|
|
114
|
+
const result = await generateDocs([apexBundleFromRawString(input)])();
|
|
125
115
|
expect(result).documentationBundleHasLength(1);
|
|
126
116
|
assertEither(result, (data) => expect(data).firstDocContains('This is a description'));
|
|
127
117
|
});
|
|
128
118
|
|
|
129
|
-
it('display custom documentation tags', () => {
|
|
119
|
+
it('display custom documentation tags', async () => {
|
|
130
120
|
const input = `
|
|
131
121
|
/**
|
|
132
122
|
* @custom-tag My Value
|
|
@@ -137,13 +127,13 @@ describe('Generates enum documentation', () => {
|
|
|
137
127
|
}
|
|
138
128
|
`;
|
|
139
129
|
|
|
140
|
-
const result = generateDocs([input]);
|
|
130
|
+
const result = await generateDocs([apexBundleFromRawString(input)])();
|
|
141
131
|
expect(result).documentationBundleHasLength(1);
|
|
142
132
|
assertEither(result, (data) => expect(data).firstDocContains('Custom Tag'));
|
|
143
133
|
assertEither(result, (data) => expect(data).firstDocContains('My Value'));
|
|
144
134
|
});
|
|
145
135
|
|
|
146
|
-
it('displays the group', () => {
|
|
136
|
+
it('displays the group', async () => {
|
|
147
137
|
const input = `
|
|
148
138
|
/**
|
|
149
139
|
* @group MyGroup
|
|
@@ -154,13 +144,13 @@ describe('Generates enum documentation', () => {
|
|
|
154
144
|
}
|
|
155
145
|
`;
|
|
156
146
|
|
|
157
|
-
const result = generateDocs([input]);
|
|
147
|
+
const result = await generateDocs([apexBundleFromRawString(input)])();
|
|
158
148
|
expect(result).documentationBundleHasLength(1);
|
|
159
149
|
assertEither(result, (data) => expect(data).firstDocContains('Group'));
|
|
160
150
|
assertEither(result, (data) => expect(data).firstDocContains('MyGroup'));
|
|
161
151
|
});
|
|
162
152
|
|
|
163
|
-
it('displays the author', () => {
|
|
153
|
+
it('displays the author', async () => {
|
|
164
154
|
const input = `
|
|
165
155
|
/**
|
|
166
156
|
* @author John Doe
|
|
@@ -171,13 +161,13 @@ describe('Generates enum documentation', () => {
|
|
|
171
161
|
}
|
|
172
162
|
`;
|
|
173
163
|
|
|
174
|
-
const result = generateDocs([input]);
|
|
164
|
+
const result = await generateDocs([apexBundleFromRawString(input)])();
|
|
175
165
|
expect(result).documentationBundleHasLength(1);
|
|
176
166
|
assertEither(result, (data) => expect(data).firstDocContains('Author'));
|
|
177
167
|
assertEither(result, (data) => expect(data).firstDocContains('John Doe'));
|
|
178
168
|
});
|
|
179
169
|
|
|
180
|
-
it('displays the date', () => {
|
|
170
|
+
it('displays the date', async () => {
|
|
181
171
|
const input = `
|
|
182
172
|
/**
|
|
183
173
|
* @date 2021-01-01
|
|
@@ -188,13 +178,13 @@ describe('Generates enum documentation', () => {
|
|
|
188
178
|
}
|
|
189
179
|
`;
|
|
190
180
|
|
|
191
|
-
const result = generateDocs([input]);
|
|
181
|
+
const result = await generateDocs([apexBundleFromRawString(input)])();
|
|
192
182
|
expect(result).documentationBundleHasLength(1);
|
|
193
183
|
assertEither(result, (data) => expect(data).firstDocContains('Date'));
|
|
194
184
|
assertEither(result, (data) => expect(data).firstDocContains('2021-01-01'));
|
|
195
185
|
});
|
|
196
186
|
|
|
197
|
-
it('displays descriptions', () => {
|
|
187
|
+
it('displays descriptions', async () => {
|
|
198
188
|
const input = `
|
|
199
189
|
/**
|
|
200
190
|
* @description This is a description
|
|
@@ -202,12 +192,12 @@ describe('Generates enum documentation', () => {
|
|
|
202
192
|
public enum MyEnum {}
|
|
203
193
|
`;
|
|
204
194
|
|
|
205
|
-
const result = generateDocs([input]);
|
|
195
|
+
const result = await generateDocs([apexBundleFromRawString(input)])();
|
|
206
196
|
expect(result).documentationBundleHasLength(1);
|
|
207
197
|
assertEither(result, (data) => expect(data).firstDocContains('This is a description'));
|
|
208
198
|
});
|
|
209
199
|
|
|
210
|
-
it('displays descriptions with links', () => {
|
|
200
|
+
it('displays descriptions with links', async () => {
|
|
211
201
|
const input1 = `
|
|
212
202
|
/**
|
|
213
203
|
* @description This is a description with a {@link EnumRef} reference
|
|
@@ -217,15 +207,15 @@ describe('Generates enum documentation', () => {
|
|
|
217
207
|
|
|
218
208
|
const input2 = 'public enum EnumRef {}';
|
|
219
209
|
|
|
220
|
-
const result = generateDocs([input1, input2]);
|
|
210
|
+
const result = await generateDocs([apexBundleFromRawString(input1), apexBundleFromRawString(input2)])();
|
|
221
211
|
expect(result).documentationBundleHasLength(2);
|
|
222
212
|
assertEither(result, (data) => expect(data).firstDocContains('Description'));
|
|
223
213
|
assertEither(result, (data) =>
|
|
224
|
-
expect(data).firstDocContains('This is a description with a [EnumRef](
|
|
214
|
+
expect(data).firstDocContains('This is a description with a [EnumRef](/miscellaneous/EnumRef.md) reference'),
|
|
225
215
|
);
|
|
226
216
|
});
|
|
227
217
|
|
|
228
|
-
it('displays descriptions with emails', () => {
|
|
218
|
+
it('displays descriptions with emails', async () => {
|
|
229
219
|
const input = `
|
|
230
220
|
/**
|
|
231
221
|
* @description This is a description with an {@email test@testerson.com} email
|
|
@@ -233,7 +223,7 @@ describe('Generates enum documentation', () => {
|
|
|
233
223
|
public enum MyEnum {}
|
|
234
224
|
`;
|
|
235
225
|
|
|
236
|
-
const result = generateDocs([input]);
|
|
226
|
+
const result = await generateDocs([apexBundleFromRawString(input)])();
|
|
237
227
|
expect(result).documentationBundleHasLength(1);
|
|
238
228
|
assertEither(result, (data) =>
|
|
239
229
|
expect(data).firstDocContains(
|
|
@@ -242,7 +232,7 @@ describe('Generates enum documentation', () => {
|
|
|
242
232
|
);
|
|
243
233
|
});
|
|
244
234
|
|
|
245
|
-
it('displays sees with accurately resolved links', () => {
|
|
235
|
+
it('displays sees with accurately resolved links', async () => {
|
|
246
236
|
const input1 = `
|
|
247
237
|
/**
|
|
248
238
|
* @see EnumRef
|
|
@@ -252,13 +242,13 @@ describe('Generates enum documentation', () => {
|
|
|
252
242
|
|
|
253
243
|
const input2 = 'public enum EnumRef {}';
|
|
254
244
|
|
|
255
|
-
const result = generateDocs([input1, input2]);
|
|
245
|
+
const result = await generateDocs([apexBundleFromRawString(input1), apexBundleFromRawString(input2)])();
|
|
256
246
|
expect(result).documentationBundleHasLength(2);
|
|
257
247
|
assertEither(result, (data) => expect(data).firstDocContains('See'));
|
|
258
|
-
assertEither(result, (data) => expect(data).firstDocContains('[EnumRef](
|
|
248
|
+
assertEither(result, (data) => expect(data).firstDocContains('[EnumRef](/miscellaneous/EnumRef.md)'));
|
|
259
249
|
});
|
|
260
250
|
|
|
261
|
-
it('displays sees without links when the reference is not found', () => {
|
|
251
|
+
it('displays sees without links when the reference is not found', async () => {
|
|
262
252
|
const input = `
|
|
263
253
|
/**
|
|
264
254
|
* @see EnumRef
|
|
@@ -266,42 +256,44 @@ describe('Generates enum documentation', () => {
|
|
|
266
256
|
public enum MyEnum {}
|
|
267
257
|
`;
|
|
268
258
|
|
|
269
|
-
const result = generateDocs([input]);
|
|
259
|
+
const result = await generateDocs([apexBundleFromRawString(input)])();
|
|
270
260
|
expect(result).documentationBundleHasLength(1);
|
|
271
261
|
assertEither(result, (data) => expect(data).firstDocContains('See'));
|
|
272
262
|
assertEither(result, (data) => expect(data).firstDocContains('EnumRef'));
|
|
273
263
|
});
|
|
274
264
|
|
|
275
|
-
it('displays the namespace if present in the config', () => {
|
|
265
|
+
it('displays the namespace if present in the config', async () => {
|
|
276
266
|
const input = `
|
|
277
267
|
public enum MyEnum {}
|
|
278
268
|
`;
|
|
279
269
|
|
|
280
|
-
const result = generateDocs([input], { namespace: 'MyNamespace' });
|
|
270
|
+
const result = await generateDocs([apexBundleFromRawString(input)], { namespace: 'MyNamespace' })();
|
|
281
271
|
expect(result).documentationBundleHasLength(1);
|
|
282
272
|
assertEither(result, (data) => expect(data).firstDocContains('## Namespace'));
|
|
283
273
|
assertEither(result, (data) => expect(data).firstDocContains('MyNamespace'));
|
|
284
274
|
});
|
|
285
275
|
|
|
286
|
-
it('does not display the namespace if not present in the config', () => {
|
|
276
|
+
it('does not display the namespace if not present in the config', async () => {
|
|
287
277
|
const input = `
|
|
288
278
|
public enum MyEnum {}
|
|
289
279
|
`;
|
|
290
280
|
|
|
291
|
-
const result = generateDocs([input]);
|
|
281
|
+
const result = await generateDocs([apexBundleFromRawString(input)])();
|
|
292
282
|
expect(result).documentationBundleHasLength(1);
|
|
293
283
|
assertEither(result, (data) => expect(data).firstDocContainsNot('## Namespace'));
|
|
294
284
|
});
|
|
295
285
|
|
|
296
|
-
it('displays a mermaid diagram', () => {
|
|
286
|
+
it('displays a mermaid diagram', async () => {
|
|
297
287
|
const input = `
|
|
298
288
|
/**
|
|
299
289
|
* @mermaid
|
|
290
|
+
* \`\`\`mermaid
|
|
300
291
|
* graph TD
|
|
301
292
|
* A[Square Rect] -- Link text --> B((Circle))
|
|
302
293
|
* A --> C(Round Rect)
|
|
303
294
|
* B --> D{Rhombus}
|
|
304
295
|
* C --> D
|
|
296
|
+
* \`\`\`
|
|
305
297
|
*/
|
|
306
298
|
public enum MyEnum {
|
|
307
299
|
VALUE1,
|
|
@@ -309,21 +301,23 @@ describe('Generates enum documentation', () => {
|
|
|
309
301
|
}
|
|
310
302
|
`;
|
|
311
303
|
|
|
312
|
-
const result = generateDocs([input]);
|
|
304
|
+
const result = await generateDocs([apexBundleFromRawString(input)])();
|
|
313
305
|
expect(result).documentationBundleHasLength(1);
|
|
314
306
|
assertEither(result, (data) => expect(data).firstDocContains('```mermaid'));
|
|
315
307
|
assertEither(result, (data) => expect(data).firstDocContains('graph TD'));
|
|
316
308
|
});
|
|
317
309
|
|
|
318
|
-
it('displays an example code block', () => {
|
|
310
|
+
it('displays an example code block', async () => {
|
|
319
311
|
const input = `
|
|
320
312
|
/**
|
|
321
313
|
* @example
|
|
314
|
+
* \`\`\`apex
|
|
322
315
|
* public class MyClass {
|
|
323
316
|
* public void myMethod() {
|
|
324
317
|
* System.debug('Hello, World!');
|
|
325
318
|
* }
|
|
326
319
|
* }
|
|
320
|
+
* \`\`\`
|
|
327
321
|
*/
|
|
328
322
|
public enum MyEnum {
|
|
329
323
|
VALUE1,
|
|
@@ -331,13 +325,13 @@ describe('Generates enum documentation', () => {
|
|
|
331
325
|
}
|
|
332
326
|
`;
|
|
333
327
|
|
|
334
|
-
const result = generateDocs([input]);
|
|
328
|
+
const result = await generateDocs([apexBundleFromRawString(input)])();
|
|
335
329
|
expect(result).documentationBundleHasLength(1);
|
|
336
330
|
assertEither(result, (data) => expect(data).firstDocContains('```apex'));
|
|
337
331
|
assertEither(result, (data) => expect(data).firstDocContains('public class MyClass'));
|
|
338
332
|
});
|
|
339
333
|
|
|
340
|
-
it('displays values', () => {
|
|
334
|
+
it('displays values', async () => {
|
|
341
335
|
const input = `
|
|
342
336
|
public enum MyEnum {
|
|
343
337
|
VALUE1,
|
|
@@ -345,11 +339,47 @@ describe('Generates enum documentation', () => {
|
|
|
345
339
|
}
|
|
346
340
|
`;
|
|
347
341
|
|
|
348
|
-
const result = generateDocs([input]);
|
|
342
|
+
const result = await generateDocs([apexBundleFromRawString(input)])();
|
|
349
343
|
expect(result).documentationBundleHasLength(1);
|
|
350
344
|
assertEither(result, (data) => expect(data).firstDocContains('## Values'));
|
|
351
345
|
assertEither(result, (data) => expect(data).firstDocContains('VALUE1'));
|
|
352
346
|
assertEither(result, (data) => expect(data).firstDocContains('VALUE2'));
|
|
353
347
|
});
|
|
348
|
+
|
|
349
|
+
it('displays values sorted when sortMembersAlphabetically is true', async () => {
|
|
350
|
+
const input = `
|
|
351
|
+
public enum MyEnum {
|
|
352
|
+
VALUE2,
|
|
353
|
+
VALUE1
|
|
354
|
+
}
|
|
355
|
+
`;
|
|
356
|
+
|
|
357
|
+
const result = await generateDocs([apexBundleFromRawString(input)], { sortMembersAlphabetically: true })();
|
|
358
|
+
expect(result).documentationBundleHasLength(1);
|
|
359
|
+
assertEither(result, (data) => expect(data).firstDocContains('## Values'));
|
|
360
|
+
assertEither(result, (data) => {
|
|
361
|
+
const value1Index = data.docs[0].content.indexOf('VALUE1');
|
|
362
|
+
const value2Index = data.docs[0].content.indexOf('VALUE2');
|
|
363
|
+
expect(value1Index).toBeLessThan(value2Index);
|
|
364
|
+
});
|
|
365
|
+
});
|
|
366
|
+
|
|
367
|
+
it('does not sort values when sortMembersAlphabetically is false', async () => {
|
|
368
|
+
const input = `
|
|
369
|
+
public enum MyEnum {
|
|
370
|
+
VALUE2,
|
|
371
|
+
VALUE1
|
|
372
|
+
}
|
|
373
|
+
`;
|
|
374
|
+
|
|
375
|
+
const result = await generateDocs([apexBundleFromRawString(input)], { sortMembersAlphabetically: false })();
|
|
376
|
+
expect(result).documentationBundleHasLength(1);
|
|
377
|
+
assertEither(result, (data) => expect(data).firstDocContains('## Values'));
|
|
378
|
+
assertEither(result, (data) => {
|
|
379
|
+
const value1Index = data.docs[0].content.indexOf('VALUE1');
|
|
380
|
+
const value2Index = data.docs[0].content.indexOf('VALUE2');
|
|
381
|
+
expect(value1Index).toBeGreaterThan(value2Index);
|
|
382
|
+
});
|
|
383
|
+
});
|
|
354
384
|
});
|
|
355
385
|
});
|