@cparra/apexdocs 2.25.0 → 3.0.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/.github/workflows/ci.yaml +22 -0
- package/README.md +73 -12
- package/__mocks__/chalk.js +12 -0
- package/__mocks__/log-update.js +6 -0
- package/dist/cli/generate.js +3181 -0
- package/dist/defaults-DGKfeZq-.js +13 -0
- package/dist/index.d.ts +117 -0
- package/dist/index.js +36 -0
- package/eslint.config.mjs +10 -0
- package/examples/markdown/.forceignore +12 -0
- package/examples/markdown/config/project-scratch-def.json +5 -0
- package/examples/markdown/docs/index.md +109 -0
- package/examples/markdown/docs/miscellaneous/BaseClass.md +16 -0
- package/examples/markdown/docs/miscellaneous/MultiInheritanceClass.md +72 -0
- package/examples/markdown/docs/miscellaneous/ParentInterface.md +15 -0
- package/examples/markdown/docs/miscellaneous/ReferencedEnum.md +8 -0
- package/examples/markdown/docs/miscellaneous/SampleException.md +24 -0
- package/examples/markdown/docs/miscellaneous/SampleInterface.md +116 -0
- package/examples/markdown/docs/miscellaneous/Url.md +309 -0
- package/examples/markdown/docs/sample-enums/SampleEnum.md +36 -0
- package/examples/markdown/docs/samplegroup/SampleClass.md +170 -0
- package/examples/markdown/force-app/classes/BaseClass.cls +3 -0
- package/examples/markdown/force-app/classes/MultiInheritanceClass.cls +1 -0
- package/examples/markdown/force-app/classes/ParentInterface.cls +3 -0
- package/examples/markdown/force-app/classes/ReferencedEnum.cls +3 -0
- package/examples/markdown/force-app/classes/SampleClass.cls +72 -0
- package/examples/markdown/force-app/classes/SampleEnum.cls +30 -0
- package/examples/markdown/force-app/classes/SampleException.cls +17 -0
- package/examples/markdown/force-app/classes/SampleInterface.cls +50 -0
- package/examples/markdown/force-app/classes/Url.cls +194 -0
- package/examples/markdown/package-lock.json +665 -0
- package/examples/markdown/package.json +20 -0
- package/examples/markdown/sfdx-project.json +12 -0
- 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 +6 -1
- package/jest.d.ts +7 -0
- package/package.json +34 -36
- package/src/application/Apexdocs.ts +58 -68
- package/src/application/__tests__/apex-file-reader.spec.ts +104 -0
- package/src/application/apex-file-reader.ts +55 -0
- package/src/application/file-system.ts +69 -0
- package/src/application/file-writer.ts +43 -0
- package/src/application/generators/markdown.ts +45 -0
- package/src/application/generators/openapi.ts +60 -0
- package/src/cli/args.ts +43 -0
- package/src/cli/commands/markdown.ts +53 -0
- package/src/cli/generate.ts +10 -131
- package/src/core/manifest.ts +90 -0
- package/src/core/markdown/__test__/expect-extensions.ts +32 -0
- package/src/core/markdown/__test__/generating-class-docs.spec.ts +733 -0
- package/src/core/markdown/__test__/generating-enum-docs.spec.ts +385 -0
- package/src/core/markdown/__test__/generating-interface-docs.spec.ts +461 -0
- package/src/core/markdown/__test__/generating-reference-guide.spec.ts +180 -0
- 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/core/markdown/adapters/__tests__/link-generator.spec.ts +130 -0
- package/src/core/markdown/adapters/__tests__/references.spec.ts +136 -0
- package/src/core/markdown/adapters/apex-types.ts +238 -0
- package/src/core/markdown/adapters/documentables.ts +115 -0
- package/src/core/markdown/adapters/fields-and-properties.ts +45 -0
- package/src/core/markdown/adapters/generate-link.ts +82 -0
- package/src/core/markdown/adapters/inline.ts +143 -0
- package/src/core/markdown/adapters/methods-and-constructors.ts +133 -0
- package/src/core/markdown/adapters/reference-guide.ts +37 -0
- package/src/core/markdown/adapters/renderable-bundle.ts +61 -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/markdown/adapters/types.d.ts +180 -0
- package/src/core/markdown/generate-docs.ts +212 -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 +123 -0
- package/src/core/markdown/reflection/sort-members.ts +59 -0
- package/src/core/markdown/templates/class-template.ts +75 -0
- package/src/core/markdown/templates/constructors-partial-template.ts +32 -0
- package/src/core/markdown/templates/documentable-partial-template.ts +26 -0
- package/src/core/markdown/templates/enum-template.ts +12 -0
- package/src/core/markdown/templates/fieldsPartialTemplate.ts +23 -0
- package/src/core/markdown/templates/grouped-members-partial-template.ts +6 -0
- package/src/core/markdown/templates/hookable.ts +7 -0
- package/src/core/markdown/templates/interface-template.ts +16 -0
- package/src/core/markdown/templates/methods-partial-template.ts +43 -0
- package/src/core/markdown/templates/reference-guide.ts +14 -0
- package/src/core/markdown/templates/template.ts +114 -0
- package/src/core/markdown/templates/type-doc-partial.ts +27 -0
- package/src/core/markdown/utils.ts +3 -0
- package/src/{service → core/openapi}/__tests__/manifest-factory.spec.ts +1 -2
- 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 +10 -11
- package/src/{model → core}/openapi/open-api-types.ts +2 -2
- package/src/core/openapi/openapi-type-file.ts +12 -0
- package/src/{service → core/openapi}/parser.ts +7 -21
- package/src/{transpiler → core}/openapi/parsers/Builder.ts +3 -3
- package/src/{transpiler → core}/openapi/parsers/MethodParser.ts +6 -6
- package/src/{transpiler → core}/openapi/parsers/ParameterObjectBuilder.ts +2 -2
- package/src/{transpiler → core}/openapi/parsers/ReferenceBuilder.ts +7 -6
- 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 +30 -0
- package/src/core/settings.ts +56 -0
- package/src/core/shared/types.d.ts +147 -0
- package/src/core/shared/utils.ts +5 -0
- package/src/defaults.ts +9 -0
- package/src/index.ts +36 -1
- package/src/test-helpers/ClassMirrorBuilder.ts +14 -1
- package/src/test-helpers/FieldMirrorBuilder.ts +1 -1
- package/src/test-helpers/InterfaceMirrorBuilder.ts +39 -0
- package/src/test-helpers/MethodMirrorBuilder.ts +46 -6
- package/src/test-helpers/SettingsBuilder.ts +1 -4
- package/src/util/error-logger.ts +4 -4
- package/src/util/fp.ts +3 -0
- package/src/util/logger.ts +12 -25
- package/src/util/string-utils.ts +0 -4
- package/tsconfig.json +8 -3
- package/.eslintrc.js +0 -12
- package/apexdocs.config.ts +0 -13
- package/docs/.nojekyll +0 -0
- package/docs/README.md +0 -1
- package/docs/index.html +0 -22
- package/docs/restapi.json +0 -589
- package/docs/types/Classes/nspc.AnotherInterface.md +0 -22
- package/docs/types/Classes/nspc.ChildClass.md +0 -97
- package/docs/types/Main/nspc.GroupedClass.md +0 -10
- package/docs/types/Main/nspc.SampleClass.md +0 -190
- package/docs/types/Misc-Group/nspc.EscapedAnnotations.md +0 -4
- package/docs/types/Misc-Group/nspc.GrandparentClass.md +0 -13
- package/docs/types/Misc-Group/nspc.InterfaceWithInheritance.md +0 -29
- package/docs/types/Misc-Group/nspc.MemberGrouping.md +0 -13
- package/docs/types/Misc-Group/nspc.ParentClass.md +0 -37
- package/docs/types/Misc-Group/nspc.Reference1.md +0 -18
- package/docs/types/Misc-Group/nspc.Reference2.md +0 -12
- package/docs/types/Misc-Group/nspc.Reference3.md +0 -7
- package/docs/types/Misc-Group/nspc.Reference4.md +0 -7
- package/docs/types/Misc-Group/nspc.Reference5.md +0 -7
- package/docs/types/Misc-Group/nspc.Reference6.md +0 -9
- package/docs/types/Misc-Group/nspc.Reference7.md +0 -7
- package/docs/types/Misc-Group/nspc.SampleClassWithoutModifier.md +0 -11
- package/docs/types/Misc-Group/nspc.SampleRestResource.md +0 -211
- package/docs/types/Misc-Group/nspc.SampleRestResourceWithInnerClass.md +0 -34
- package/docs/types/Misc-Group/nspc.SampleRestResourceWithoutApexDocs.md +0 -14
- package/docs/types/README.md +0 -97
- package/docs/types/Sample-Interfaces/nspc.SampleInterface.md +0 -23
- package/examples/includes/header.md +0 -3
- package/lib/application/Apexdocs.d.ts +0 -13
- package/lib/application/Apexdocs.js +0 -77
- package/lib/application/Apexdocs.js.map +0 -1
- package/lib/cli/generate.d.ts +0 -2
- package/lib/cli/generate.js +0 -131
- package/lib/cli/generate.js.map +0 -1
- package/lib/index.d.ts +0 -1
- package/lib/index.js +0 -18
- 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-diff.d.ts +0 -27
- package/lib/model/manifest-diff.js +0 -69
- package/lib/model/manifest-diff.js.map +0 -1
- package/lib/model/manifest.d.ts +0 -22
- package/lib/model/manifest.js +0 -47
- package/lib/model/manifest.js.map +0 -1
- package/lib/model/markdown-file.d.ts +0 -16
- package/lib/model/markdown-file.js +0 -107
- 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 -44
- 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 -55
- 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 -115
- 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 -82
- 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 -54
- 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 -134
- 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 -29
- 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 -46
- 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 -25
- 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 -34
- 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 -14
- 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 -135
- 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/MethodMirrorBuilder.d.ts +0 -10
- package/lib/test-helpers/MethodMirrorBuilder.js +0 -37
- 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 -32
- 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 -8
- package/lib/transpiler/markdown/class-file-generatorHelper.js +0 -56
- 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 -24
- package/lib/transpiler/markdown/markdown-transpiler-base.js.map +0 -1
- package/lib/transpiler/markdown/plain-markdown/plain-docsProcessor.d.ts +0 -6
- package/lib/transpiler/markdown/plain-markdown/plain-docsProcessor.js +0 -14
- package/lib/transpiler/markdown/plain-markdown/plain-docsProcessor.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 -75
- 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 -167
- 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 -226
- 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 -27
- 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 -58
- 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/model/__tests__/manifest-diff.spec.ts +0 -147
- package/src/model/apex-bundle.ts +0 -3
- package/src/model/inheritance.ts +0 -7
- package/src/model/manifest-diff.ts +0 -94
- package/src/model/manifest.ts +0 -74
- package/src/model/markdown-file.ts +0 -121
- 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 -29
- package/src/service/__tests__/apex-file-reader.spec.ts +0 -92
- package/src/service/apex-file-reader.ts +0 -51
- package/src/service/file-system.ts +0 -33
- 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 -58
- 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 -12
- package/src/transpiler/processor-type-transpiler.ts +0 -18
- /package/src/{model/__tests__ → core/__test__}/manifest.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.ts +0 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const defaults = {
|
|
4
|
+
targetGenerator: "markdown",
|
|
5
|
+
targetDir: "./docs/",
|
|
6
|
+
scope: ["global"],
|
|
7
|
+
defaultGroupName: "Miscellaneous",
|
|
8
|
+
includeMetadata: false,
|
|
9
|
+
sortMembersAlphabetically: false,
|
|
10
|
+
linkingStrategy: "relative"
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
exports.defaults = defaults;
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { SetOptional } from 'type-fest';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The configurable hooks that can be used to modify the output of the generator.
|
|
5
|
+
*/
|
|
6
|
+
type ConfigurableHooks = {
|
|
7
|
+
transformReferenceGuide: TransformReferenceGuide;
|
|
8
|
+
transformDocs: TransformDocs;
|
|
9
|
+
transformDocPage: TransformDocPage;
|
|
10
|
+
transformReference: TransformReference;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
type LinkingStrategy =
|
|
14
|
+
// Links will be generated using relative paths.
|
|
15
|
+
| 'relative'
|
|
16
|
+
// No links will be generated.
|
|
17
|
+
// If the reference is found, the display name will be used.
|
|
18
|
+
// Otherwise, the name
|
|
19
|
+
// of the reference itself will be used.
|
|
20
|
+
| 'no-link'
|
|
21
|
+
// No logic will be applied, the reference path will be used as is.
|
|
22
|
+
| 'none';
|
|
23
|
+
|
|
24
|
+
type UserDefinedMarkdownConfig = {
|
|
25
|
+
targetGenerator: 'markdown';
|
|
26
|
+
sourceDir: string;
|
|
27
|
+
targetDir: string;
|
|
28
|
+
scope: string[];
|
|
29
|
+
defaultGroupName: string;
|
|
30
|
+
namespace?: string;
|
|
31
|
+
sortMembersAlphabetically: boolean;
|
|
32
|
+
includeMetadata: boolean;
|
|
33
|
+
linkingStrategy: LinkingStrategy;
|
|
34
|
+
} & Partial<ConfigurableHooks>;
|
|
35
|
+
|
|
36
|
+
type SourceFileMetadata = {
|
|
37
|
+
filePath: string;
|
|
38
|
+
name: string;
|
|
39
|
+
type: 'interface' | 'class' | 'enum';
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
type DocPageReference = {
|
|
43
|
+
source: SourceFileMetadata;
|
|
44
|
+
// The name under which the type should be displayed in the documentation.
|
|
45
|
+
// By default, this will match the source.name, but it can be configured by the user.
|
|
46
|
+
displayName: string;
|
|
47
|
+
// The location where the file will be written.
|
|
48
|
+
outputDocPath: string;
|
|
49
|
+
// The path to the file relative to the documentation root directory. This is used when linking to the file.
|
|
50
|
+
// Usually the value will be the same as outputDocPath. However, some site generators may have a different way of
|
|
51
|
+
// organizing the files, so this allows for the flexibility of having a path from linking that is different from
|
|
52
|
+
// the path where the file is written.
|
|
53
|
+
referencePath: string;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
type Frontmatter = string | Record<string, unknown> | null;
|
|
57
|
+
|
|
58
|
+
type ReferenceGuidePageData = {
|
|
59
|
+
frontmatter: Frontmatter;
|
|
60
|
+
content: string;
|
|
61
|
+
outputDocPath: string;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
type DocPageData = {
|
|
65
|
+
source: SourceFileMetadata;
|
|
66
|
+
group: string | null;
|
|
67
|
+
outputDocPath: string;
|
|
68
|
+
frontmatter: Frontmatter;
|
|
69
|
+
content: string;
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Represents a file to be skipped.
|
|
74
|
+
*/
|
|
75
|
+
type Skip = {
|
|
76
|
+
readonly _tag: 'Skip';
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
// Configurable Hooks
|
|
80
|
+
|
|
81
|
+
type ConfigurableDocPageReference = Omit<DocPageReference, 'source'>;
|
|
82
|
+
|
|
83
|
+
type ConfigurableDocPageData = Omit<DocPageData, 'source' | 'outputDocPath'>;
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Allows changing where the files are written to.
|
|
87
|
+
*/
|
|
88
|
+
type TransformReference = (
|
|
89
|
+
reference: DocPageReference,
|
|
90
|
+
) => Partial<ConfigurableDocPageReference> | Promise<ConfigurableDocPageReference>;
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Allows changing the frontmatter and content of the reference guide, or even if creating a reference
|
|
94
|
+
* guide will be skipped altogether.
|
|
95
|
+
*/
|
|
96
|
+
type TransformReferenceGuide = (
|
|
97
|
+
referenceGuide: ReferenceGuidePageData,
|
|
98
|
+
) => Partial<ReferenceGuidePageData> | Skip | Promise<Partial<ReferenceGuidePageData> | Skip>;
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* The main purpose if for allowing for doc pages to be skipped, but it can also be used to change the frontmatter
|
|
102
|
+
* and content of the doc pages.
|
|
103
|
+
*/
|
|
104
|
+
type TransformDocs = (docs: DocPageData[]) => DocPageData[] | Promise<DocPageData[]>;
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Allows changing the frontmatter and content of the doc pages.
|
|
108
|
+
*/
|
|
109
|
+
type TransformDocPage = (
|
|
110
|
+
doc: DocPageData,
|
|
111
|
+
) => Partial<ConfigurableDocPageData> | Promise<Partial<ConfigurableDocPageData>>;
|
|
112
|
+
|
|
113
|
+
type ConfigurableMarkdownConfig = Omit<SetOptional<UserDefinedMarkdownConfig, 'targetDir' | 'scope' | 'defaultGroupName' | 'includeMetadata' | 'sortMembersAlphabetically' | 'linkingStrategy'>, 'targetGenerator'>;
|
|
114
|
+
declare function defineMarkdownConfig(config: ConfigurableMarkdownConfig): UserDefinedMarkdownConfig;
|
|
115
|
+
declare function skip(): Skip;
|
|
116
|
+
|
|
117
|
+
export { type ConfigurableHooks, type DocPageData, type DocPageReference, type ReferenceGuidePageData, defineMarkdownConfig, skip };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var defaults = require('./defaults-DGKfeZq-.js');
|
|
4
|
+
|
|
5
|
+
var __defProp = Object.defineProperty;
|
|
6
|
+
var __defProps = Object.defineProperties;
|
|
7
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
8
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
9
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
11
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
12
|
+
var __spreadValues = (a, b) => {
|
|
13
|
+
for (var prop in b || (b = {}))
|
|
14
|
+
if (__hasOwnProp.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
if (__getOwnPropSymbols)
|
|
17
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
18
|
+
if (__propIsEnum.call(b, prop))
|
|
19
|
+
__defNormalProp(a, prop, b[prop]);
|
|
20
|
+
}
|
|
21
|
+
return a;
|
|
22
|
+
};
|
|
23
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
24
|
+
function defineMarkdownConfig(config) {
|
|
25
|
+
return __spreadProps(__spreadValues(__spreadValues({}, defaults.defaults), config), {
|
|
26
|
+
targetGenerator: "markdown"
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
function skip() {
|
|
30
|
+
return {
|
|
31
|
+
_tag: "Skip"
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
exports.defineMarkdownConfig = defineMarkdownConfig;
|
|
36
|
+
exports.skip = skip;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
|
|
3
|
+
import eslint from '@eslint/js';
|
|
4
|
+
import tseslint from 'typescript-eslint';
|
|
5
|
+
import eslintConfigPrettier from "eslint-config-prettier";
|
|
6
|
+
|
|
7
|
+
export default tseslint.config(
|
|
8
|
+
eslint.configs.recommended,
|
|
9
|
+
...tseslint.configs.recommended,
|
|
10
|
+
eslintConfigPrettier);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# List files or directories below to ignore them when running force:source:push, force:source:pull, and force:source:status
|
|
2
|
+
# More information: https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_exclude_source.htm
|
|
3
|
+
#
|
|
4
|
+
|
|
5
|
+
package.xml
|
|
6
|
+
|
|
7
|
+
# LWC configuration files
|
|
8
|
+
**/jsconfig.json
|
|
9
|
+
**/.eslintrc.json
|
|
10
|
+
|
|
11
|
+
# LWC Jest
|
|
12
|
+
**/__tests__/**
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# Apex Reference Guide
|
|
2
|
+
|
|
3
|
+
## Miscellaneous
|
|
4
|
+
|
|
5
|
+
### [BaseClass](miscellaneous/BaseClass.md)
|
|
6
|
+
|
|
7
|
+
### [MultiInheritanceClass](miscellaneous/MultiInheritanceClass.md)
|
|
8
|
+
|
|
9
|
+
### [ParentInterface](miscellaneous/ParentInterface.md)
|
|
10
|
+
|
|
11
|
+
### [ReferencedEnum](miscellaneous/ReferencedEnum.md)
|
|
12
|
+
|
|
13
|
+
### [SampleException](miscellaneous/SampleException.md)
|
|
14
|
+
|
|
15
|
+
This is a sample exception.
|
|
16
|
+
|
|
17
|
+
### [SampleInterface](miscellaneous/SampleInterface.md)
|
|
18
|
+
|
|
19
|
+
This is a sample interface
|
|
20
|
+
|
|
21
|
+
### [Url](miscellaneous/Url.md)
|
|
22
|
+
|
|
23
|
+
Represents a uniform resource locator (URL) and provides access to parts of the URL.
|
|
24
|
+
Enables access to the base URL used to access your Salesforce org.
|
|
25
|
+
|
|
26
|
+
## Usage
|
|
27
|
+
Use the methods of the `System.URL` class to create links to objects in your organization. Such objects can be files, images,
|
|
28
|
+
logos, or records that you want to include in external emails, in activities, or in Chatter posts. For example, you can create
|
|
29
|
+
a link to a file uploaded as an attachment to a Chatter post by concatenating the Salesforce base URL with the file ID:
|
|
30
|
+
|
|
31
|
+
```apex
|
|
32
|
+
// Get a file uploaded through Chatter.
|
|
33
|
+
ContentDocument doc = [SELECT Id FROM ContentDocument
|
|
34
|
+
WHERE Title = 'myfile'];
|
|
35
|
+
// Create a link to the file.
|
|
36
|
+
String fullFileURL = URL.getOrgDomainURL().toExternalForm() +
|
|
37
|
+
'/' + doc.id;
|
|
38
|
+
system.debug(fullFileURL);
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
The following example creates a link to a Salesforce record. The full URL is created by concatenating the Salesforce base
|
|
43
|
+
URL with the record ID.
|
|
44
|
+
|
|
45
|
+
```ape
|
|
46
|
+
Account acct = [SELECT Id FROM Account WHERE Name = 'Acme' LIMIT 1];
|
|
47
|
+
String fullRecordURL = URL.getOrgDomainURL().toExternalForm() + '/' + acct.Id;
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
## Example
|
|
52
|
+
In this example, the base URL and the full request URL of the current Salesforce server instance are retrieved. Next, a URL
|
|
53
|
+
pointing to a specific account object is created. Finally, components of the base and full URL are obtained. This example
|
|
54
|
+
prints out all the results to the debug log output.
|
|
55
|
+
|
|
56
|
+
```apex
|
|
57
|
+
// Create a new account called Acme that we will create a link for later.
|
|
58
|
+
Account myAccount = new Account(Name='Acme');
|
|
59
|
+
insert myAccount;
|
|
60
|
+
|
|
61
|
+
// Get the base URL.
|
|
62
|
+
String sfdcBaseURL = URL.getOrgDomainURL().toExternalForm();
|
|
63
|
+
System.debug('Base URL: ' + sfdcBaseURL );
|
|
64
|
+
|
|
65
|
+
// Get the URL for the current request.
|
|
66
|
+
String currentRequestURL = URL.getCurrentRequestUrl().toExternalForm();
|
|
67
|
+
System.debug('Current request URL: ' + currentRequestURL);
|
|
68
|
+
|
|
69
|
+
// Create the account URL from the base URL.
|
|
70
|
+
String accountURL = URL.getOrgDomainURL().toExternalForm() +
|
|
71
|
+
'/' + myAccount.Id;
|
|
72
|
+
System.debug('URL of a particular account: ' + accountURL);
|
|
73
|
+
|
|
74
|
+
// Get some parts of the base URL.
|
|
75
|
+
System.debug('Host: ' + URL.getOrgDomainURL().getHost());
|
|
76
|
+
System.debug('Protocol: ' + URL.getOrgDomainURL().getProtocol());
|
|
77
|
+
|
|
78
|
+
// Get the query string of the current request.
|
|
79
|
+
System.debug('Query: ' + URL.getCurrentRequestUrl().getQuery());
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
## Version Behavior Changes
|
|
84
|
+
In API version 41.0 and later, Apex URL objects are represented by the java.net.URI type, not the java.net.URL type.
|
|
85
|
+
The API version in which the URL object was instantiated determines the behavior of subsequent method calls to the
|
|
86
|
+
specific instance. Salesforce strongly encourages you to use API 41.0 and later versions for fully RFC-compliant URL
|
|
87
|
+
parsing that includes proper handling of edge cases of complex URL structures. API 41.0 and later versions also enforce
|
|
88
|
+
that inputs are valid, RFC-compliant URL or URI strings.
|
|
89
|
+
|
|
90
|
+
* [URL Constructors](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_methods_system_url.htm#apex_System_URL_constructors)
|
|
91
|
+
* [URL Methods](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_methods_system_url.htm#apex_System_URL_methods)
|
|
92
|
+
|
|
93
|
+
**See Also**
|
|
94
|
+
* [URL Class](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_classes_url.htm)
|
|
95
|
+
|
|
96
|
+
## Sample Enums
|
|
97
|
+
|
|
98
|
+
### [SampleEnum](sample-enums/SampleEnum.md)
|
|
99
|
+
|
|
100
|
+
This is a sample enum. This references [ReferencedEnum](miscellaneous/ReferencedEnum.md) .
|
|
101
|
+
|
|
102
|
+
This description has several lines
|
|
103
|
+
|
|
104
|
+
## SampleGroup
|
|
105
|
+
|
|
106
|
+
### [SampleClass](samplegroup/SampleClass.md)
|
|
107
|
+
|
|
108
|
+
aliquip ex sunt officia ullamco anim deserunt magna aliquip nisi eiusmod in sit officia veniam ex
|
|
109
|
+
deserunt ea officia exercitation laboris enim in duis quis enim eiusmod eu amet cupidatat.
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# MultiInheritanceClass Class
|
|
2
|
+
|
|
3
|
+
## Namespace
|
|
4
|
+
ns
|
|
5
|
+
|
|
6
|
+
**Inheritance**
|
|
7
|
+
|
|
8
|
+
[SampleClass](../samplegroup/SampleClass.md) < [BaseClass](BaseClass.md)
|
|
9
|
+
|
|
10
|
+
## Fields
|
|
11
|
+
### `sampleEnumFromBase`
|
|
12
|
+
|
|
13
|
+
*Inherited*
|
|
14
|
+
|
|
15
|
+
#### Signature
|
|
16
|
+
```apex
|
|
17
|
+
public sampleEnumFromBase
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
#### Type
|
|
21
|
+
[SampleEnum](../sample-enums/SampleEnum.md)
|
|
22
|
+
|
|
23
|
+
## Properties
|
|
24
|
+
### Group Name
|
|
25
|
+
#### `someProperty`
|
|
26
|
+
|
|
27
|
+
*Inherited*
|
|
28
|
+
|
|
29
|
+
##### Signature
|
|
30
|
+
```apex
|
|
31
|
+
public someProperty
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
##### Type
|
|
35
|
+
String
|
|
36
|
+
|
|
37
|
+
## Methods
|
|
38
|
+
### Available Methods
|
|
39
|
+
#### `doSomething()`
|
|
40
|
+
|
|
41
|
+
*Inherited*
|
|
42
|
+
|
|
43
|
+
##### Signature
|
|
44
|
+
```apex
|
|
45
|
+
public void doSomething()
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
##### Return Type
|
|
49
|
+
**void**
|
|
50
|
+
|
|
51
|
+
### Deprecated Methods
|
|
52
|
+
#### `sayHello()`
|
|
53
|
+
|
|
54
|
+
*Inherited*
|
|
55
|
+
|
|
56
|
+
`DEPRECATED`
|
|
57
|
+
|
|
58
|
+
This is a sample method.
|
|
59
|
+
|
|
60
|
+
##### Signature
|
|
61
|
+
```apex
|
|
62
|
+
public virtual String sayHello()
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
##### Return Type
|
|
66
|
+
**String**
|
|
67
|
+
|
|
68
|
+
A string value.
|
|
69
|
+
|
|
70
|
+
##### Example
|
|
71
|
+
SampleClass sample = new SampleClass();
|
|
72
|
+
sample.doSomething();
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# SampleException Class
|
|
2
|
+
|
|
3
|
+
This is a sample exception.
|
|
4
|
+
|
|
5
|
+
**Usage**
|
|
6
|
+
|
|
7
|
+
You can use the exception the following way.
|
|
8
|
+
You can also take a look at [SampleClass](../samplegroup/SampleClass.md) to see how it is used.
|
|
9
|
+
This is a dangerous HTML tag: <script>alert('Hello');</script>
|
|
10
|
+
|
|
11
|
+
```apex
|
|
12
|
+
try {
|
|
13
|
+
throw new SampleException();
|
|
14
|
+
} catch (SampleException e) {
|
|
15
|
+
System.debug('Caught exception');
|
|
16
|
+
}
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Namespace
|
|
20
|
+
ns
|
|
21
|
+
|
|
22
|
+
**Inheritance**
|
|
23
|
+
|
|
24
|
+
Exception
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# SampleInterface Interface
|
|
2
|
+
|
|
3
|
+
`NAMESPACEACCESSIBLE`
|
|
4
|
+
|
|
5
|
+
This is a sample interface
|
|
6
|
+
|
|
7
|
+
**Mermaid**
|
|
8
|
+
|
|
9
|
+
```mermaid
|
|
10
|
+
graph TD
|
|
11
|
+
A[SampleInterface] -->|extends| B[ParentInterface]
|
|
12
|
+
B -->|extends| C[GrandParentInterface]
|
|
13
|
+
C -->|extends| D[GreatGrandParentInterface]
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
**Author** John Doe
|
|
17
|
+
|
|
18
|
+
**Date** 2020-01-01
|
|
19
|
+
|
|
20
|
+
**See** [SampleEnum](../sample-enums/SampleEnum.md)
|
|
21
|
+
|
|
22
|
+
**See** [ReferencedEnum](ReferencedEnum.md)
|
|
23
|
+
|
|
24
|
+
## Namespace
|
|
25
|
+
ns
|
|
26
|
+
|
|
27
|
+
## Example
|
|
28
|
+
```apex
|
|
29
|
+
SampleInterface sampleInterface = new SampleInterface();
|
|
30
|
+
sampleInterface.sampleMethod();
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**Extends**
|
|
34
|
+
[ParentInterface](ParentInterface.md)
|
|
35
|
+
|
|
36
|
+
## Methods
|
|
37
|
+
### `sampleMethod()`
|
|
38
|
+
|
|
39
|
+
`NAMESPACEACCESSIBLE`
|
|
40
|
+
|
|
41
|
+
This is a sample method
|
|
42
|
+
|
|
43
|
+
**Custom Tag**
|
|
44
|
+
|
|
45
|
+
This is a custom tag
|
|
46
|
+
|
|
47
|
+
**Another Custom Tag**
|
|
48
|
+
|
|
49
|
+
This is another custom tag
|
|
50
|
+
|
|
51
|
+
**Mermaid**
|
|
52
|
+
|
|
53
|
+
graph TD
|
|
54
|
+
A[SampleInterface] -->|extends| B[ParentInterface]
|
|
55
|
+
B -->|extends| C[GrandParentInterface]
|
|
56
|
+
C -->|extends| D[GreatGrandParentInterface]
|
|
57
|
+
|
|
58
|
+
#### Signature
|
|
59
|
+
```apex
|
|
60
|
+
public String sampleMethod()
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
#### Return Type
|
|
64
|
+
**String**
|
|
65
|
+
|
|
66
|
+
Some return value
|
|
67
|
+
|
|
68
|
+
#### Throws
|
|
69
|
+
[SampleException](SampleException.md): This is a sample exception
|
|
70
|
+
|
|
71
|
+
AnotherSampleException: This is another sample exception
|
|
72
|
+
|
|
73
|
+
#### Example
|
|
74
|
+
SampleInterface sampleInterface = new SampleInterface();
|
|
75
|
+
sampleInterface.sampleMethod();
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
### `sampleMethodWithParams(param1, param2, theEnum)`
|
|
80
|
+
|
|
81
|
+
`NAMESPACEACCESSIBLE`
|
|
82
|
+
`DEPRECATED`
|
|
83
|
+
|
|
84
|
+
This is a sample method with parameters
|
|
85
|
+
Sometimes it won't be possible to find a NonExistent link.
|
|
86
|
+
|
|
87
|
+
#### Signature
|
|
88
|
+
```apex
|
|
89
|
+
public SampleEnum sampleMethodWithParams(String param1, Integer param2, SampleEnum theEnum)
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
#### Parameters
|
|
93
|
+
| Name | Type | Description |
|
|
94
|
+
|------|------|-------------|
|
|
95
|
+
| param1 | String | This is the first parameter |
|
|
96
|
+
| param2 | Integer | This is the second parameter |
|
|
97
|
+
| theEnum | [SampleEnum](../sample-enums/SampleEnum.md) | This is an enum parameter |
|
|
98
|
+
|
|
99
|
+
#### Return Type
|
|
100
|
+
**[SampleEnum](../sample-enums/SampleEnum.md)**
|
|
101
|
+
|
|
102
|
+
Some return value
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
### `sampleParentMethod()`
|
|
107
|
+
|
|
108
|
+
*Inherited*
|
|
109
|
+
|
|
110
|
+
#### Signature
|
|
111
|
+
```apex
|
|
112
|
+
public void sampleParentMethod()
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
#### Return Type
|
|
116
|
+
**void**
|