@cparra/apexdocs 2.25.0-alpha.1 → 2.25.0-alpha.3

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.
Files changed (393) hide show
  1. package/README.md +37 -0
  2. package/{lib → dist}/__spec__/core/expect-extensions.js +3 -2
  3. package/dist/__spec__/core/expect-extensions.js.map +1 -0
  4. package/{lib → dist}/__spec__/core/generating-class-docs.spec.js +54 -37
  5. package/dist/__spec__/core/generating-class-docs.spec.js.map +1 -0
  6. package/{lib → dist}/__spec__/core/generating-enum-docs.spec.js +25 -22
  7. package/dist/__spec__/core/generating-enum-docs.spec.js.map +1 -0
  8. package/{lib → dist}/__spec__/core/generating-interface-docs.spec.js +33 -30
  9. package/dist/__spec__/core/generating-interface-docs.spec.js.map +1 -0
  10. package/{lib → dist}/__spec__/core/generating-reference-guide.spec.js +8 -7
  11. package/dist/__spec__/core/generating-reference-guide.spec.js.map +1 -0
  12. package/dist/__spec__/core/test-helpers.d.ts +2 -0
  13. package/dist/__spec__/core/test-helpers.js +12 -0
  14. package/dist/__spec__/core/test-helpers.js.map +1 -0
  15. package/{lib → dist}/application/Apexdocs.d.ts +4 -2
  16. package/{lib → dist}/application/Apexdocs.js +49 -16
  17. package/dist/application/Apexdocs.js.map +1 -0
  18. package/dist/application/generators/generate-markdown-files.d.ts +3 -0
  19. package/dist/application/generators/generate-markdown-files.js +64 -0
  20. package/dist/application/generators/generate-markdown-files.js.map +1 -0
  21. package/dist/cli/args.d.ts +39 -0
  22. package/{lib/cli/generate.js → dist/cli/args.js} +37 -40
  23. package/dist/cli/args.js.map +1 -0
  24. package/dist/cli/generate.js +291 -0
  25. package/dist/cli/generate.js.map +1 -0
  26. package/dist/core/__test__/inheritance-chain.test.d.ts +1 -0
  27. package/dist/core/__test__/inheritance-chain.test.js +42 -0
  28. package/dist/core/__test__/inheritance-chain.test.js.map +1 -0
  29. package/dist/core/adapters/apex-types.d.ts +6 -0
  30. package/{lib → dist/core}/adapters/apex-types.js +18 -21
  31. package/dist/core/adapters/apex-types.js.map +1 -0
  32. package/{lib → dist/core}/adapters/documentables.d.ts +1 -1
  33. package/dist/core/adapters/documentables.js +154 -0
  34. package/dist/core/adapters/documentables.js.map +1 -0
  35. package/{lib → dist/core}/adapters/fields-and-properties.d.ts +1 -2
  36. package/{lib → dist/core}/adapters/fields-and-properties.js +11 -6
  37. package/dist/core/adapters/fields-and-properties.js.map +1 -0
  38. package/{lib → dist/core}/adapters/methods-and-constructors.d.ts +1 -1
  39. package/{lib → dist/core}/adapters/methods-and-constructors.js +24 -16
  40. package/dist/core/adapters/methods-and-constructors.js.map +1 -0
  41. package/{lib → dist/core}/adapters/references.d.ts +2 -3
  42. package/{lib → dist/core}/adapters/references.js +5 -9
  43. package/dist/core/adapters/references.js.map +1 -0
  44. package/dist/core/adapters/type-utils.d.ts +3 -0
  45. package/dist/core/adapters/type-utils.js +12 -0
  46. package/dist/core/adapters/type-utils.js.map +1 -0
  47. package/dist/core/apex-bundle.js.map +1 -0
  48. package/{lib → dist}/core/generate-docs.d.ts +8 -3
  49. package/{lib → dist}/core/generate-docs.js +79 -24
  50. package/dist/core/generate-docs.js.map +1 -0
  51. package/dist/core/inheritance-chain.d.ts +2 -0
  52. package/{lib/index.js → dist/core/inheritance-chain.js} +11 -4
  53. package/dist/core/inheritance-chain.js.map +1 -0
  54. package/dist/core/manifest.js.map +1 -0
  55. package/{lib → dist}/core/template.js +12 -7
  56. package/{lib → dist}/core/template.js.map +1 -1
  57. package/{lib → dist}/core/templates/reference-guide.js +1 -1
  58. package/dist/index.d.ts +2 -0
  59. package/dist/index.js +1 -0
  60. package/{lib → dist}/model/markdown-file.d.ts +1 -1
  61. package/{lib → dist}/model/markdown-file.js +1 -1
  62. package/dist/model/markdown-file.js.map +1 -0
  63. package/{lib → dist}/model/markdown-generation-util/doc-comment-annotation-util.js +3 -2
  64. package/dist/model/markdown-generation-util/doc-comment-annotation-util.js.map +1 -0
  65. package/{lib → dist}/model/markdown-generation-util/field-declaration-util.d.ts +1 -1
  66. package/{lib → dist}/model/markdown-generation-util/field-declaration-util.js +2 -1
  67. package/dist/model/markdown-generation-util/field-declaration-util.js.map +1 -0
  68. package/{lib → dist}/model/markdown-generation-util/method-declaration-util.d.ts +1 -1
  69. package/{lib → dist}/model/markdown-generation-util/method-declaration-util.js +2 -1
  70. package/dist/model/markdown-generation-util/method-declaration-util.js.map +1 -0
  71. package/{lib → dist}/model/markdown-generation-util/type-declaration-util.js +2 -1
  72. package/dist/model/markdown-generation-util/type-declaration-util.js.map +1 -0
  73. package/{lib → dist}/model/markdown-type-file.d.ts +1 -1
  74. package/dist/model/markdown-type-file.js.map +1 -0
  75. package/{lib → dist}/service/apex-file-reader.d.ts +1 -1
  76. package/{lib → dist}/service/apex-file-reader.js +1 -1
  77. package/{lib → dist}/service/apex-file-reader.js.map +1 -1
  78. package/{lib → dist}/service/manifest-factory.d.ts +2 -2
  79. package/{lib → dist}/service/manifest-factory.js +3 -2
  80. package/dist/service/manifest-factory.js.map +1 -0
  81. package/{lib → dist}/service/parser.d.ts +1 -1
  82. package/{lib → dist}/settings.d.ts +3 -0
  83. package/{lib → dist}/settings.js +3 -0
  84. package/{lib → dist}/settings.js.map +1 -1
  85. package/{lib → dist}/test-helpers/ClassMirrorBuilder.d.ts +4 -0
  86. package/{lib → dist}/test-helpers/ClassMirrorBuilder.js +11 -1
  87. package/dist/test-helpers/ClassMirrorBuilder.js.map +1 -0
  88. package/{lib → dist}/test-helpers/SettingsBuilder.js +1 -0
  89. package/{lib → dist}/test-helpers/SettingsBuilder.js.map +1 -1
  90. package/{lib → dist}/transpiler/factory.js +2 -4
  91. package/dist/transpiler/factory.js.map +1 -0
  92. package/{lib → dist}/transpiler/markdown/class-file-generatorHelper.d.ts +0 -2
  93. package/{lib → dist}/transpiler/markdown/class-file-generatorHelper.js +1 -15
  94. package/dist/transpiler/markdown/class-file-generatorHelper.js.map +1 -0
  95. package/{lib → dist}/transpiler/markdown/plain-markdown/class-template.js +3 -3
  96. package/{lib → dist}/transpiler/markdown/plain-markdown/constructors-partial-template.js +1 -1
  97. package/{lib → dist}/transpiler/markdown/plain-markdown/documentable-partial-template.js +6 -4
  98. package/{lib → dist}/transpiler/markdown/plain-markdown/documentable-partial-template.js.map +1 -1
  99. package/{lib → dist}/transpiler/markdown/plain-markdown/fieldsPartialTemplate.js +1 -1
  100. package/{lib → dist}/transpiler/markdown/plain-markdown/methods-partial-template.js +2 -2
  101. package/{lib → dist}/util/logger.js +1 -1
  102. package/{lib → dist}/util/logger.js.map +1 -1
  103. package/{lib → dist}/util/string-utils.js +2 -2
  104. package/{lib → dist}/util/string-utils.js.map +1 -1
  105. package/examples/plain-markdown/docs/Miscellaneous/ns.MultiInheritanceClass.md +73 -0
  106. package/examples/plain-markdown/docs/Miscellaneous/ns.SampleException.md +19 -1
  107. package/examples/plain-markdown/docs/Miscellaneous/ns.SampleInterface.md +6 -2
  108. package/examples/plain-markdown/docs/Sample-Enums/ns.SampleEnum.md +3 -1
  109. package/examples/plain-markdown/docs/SampleGroup/ns.SampleClass.md +2 -2
  110. package/examples/plain-markdown/docs/index.md +12 -13
  111. package/examples/plain-markdown/force-app/classes/MultiInheritanceClass.cls +1 -0
  112. package/examples/plain-markdown/force-app/classes/SampleException.cls +16 -0
  113. package/jest.config.js +1 -1
  114. package/package.json +13 -15
  115. package/src/__spec__/core/generating-class-docs.spec.ts +57 -37
  116. package/src/__spec__/core/generating-enum-docs.spec.ts +25 -22
  117. package/src/__spec__/core/generating-interface-docs.spec.ts +33 -30
  118. package/src/__spec__/core/generating-reference-guide.spec.ts +8 -7
  119. package/src/__spec__/core/test-helpers.ts +9 -0
  120. package/src/application/Apexdocs.ts +56 -19
  121. package/src/application/generators/generate-markdown-files.ts +53 -0
  122. package/src/cli/args.ts +136 -0
  123. package/src/cli/generate.ts +11 -135
  124. package/src/core/__test__/inheritance-chain.test.ts +54 -0
  125. package/src/{adapters → core/adapters}/__tests__/interface-adapter.spec.ts +13 -11
  126. package/src/{adapters → core/adapters}/__tests__/references.spec.ts +11 -1
  127. package/src/{adapters → core/adapters}/apex-types.ts +54 -44
  128. package/src/core/adapters/documentables.ts +195 -0
  129. package/src/{adapters → core/adapters}/fields-and-properties.ts +13 -11
  130. package/src/{adapters → core/adapters}/methods-and-constructors.ts +31 -20
  131. package/src/{adapters → core/adapters}/references.ts +3 -6
  132. package/src/core/adapters/type-utils.ts +9 -0
  133. package/src/core/{renderable → adapters}/types.d.ts +36 -5
  134. package/src/core/generate-docs.ts +106 -31
  135. package/src/core/inheritance-chain.ts +23 -0
  136. package/src/core/template.ts +12 -9
  137. package/src/core/templates/reference-guide.ts +1 -1
  138. package/src/model/__tests__/manifest.spec.ts +1 -1
  139. package/src/model/markdown-file.ts +1 -1
  140. package/src/model/markdown-generation-util/field-declaration-util.ts +1 -1
  141. package/src/model/markdown-generation-util/method-declaration-util.ts +1 -1
  142. package/src/model/markdown-type-file.ts +5 -1
  143. package/src/service/__tests__/apex-file-reader.spec.ts +1 -0
  144. package/src/service/apex-file-reader.ts +1 -1
  145. package/src/service/manifest-factory.ts +2 -2
  146. package/src/service/parser.ts +1 -1
  147. package/src/settings.ts +6 -0
  148. package/src/test-helpers/ClassMirrorBuilder.ts +14 -1
  149. package/src/test-helpers/SettingsBuilder.ts +1 -0
  150. package/src/transpiler/factory.ts +2 -4
  151. package/src/transpiler/markdown/class-file-generatorHelper.ts +1 -18
  152. package/src/transpiler/markdown/plain-markdown/class-template.ts +3 -3
  153. package/src/transpiler/markdown/plain-markdown/constructors-partial-template.ts +1 -1
  154. package/src/transpiler/markdown/plain-markdown/documentable-partial-template.ts +6 -4
  155. package/src/transpiler/markdown/plain-markdown/fieldsPartialTemplate.ts +1 -1
  156. package/src/transpiler/markdown/plain-markdown/methods-partial-template.ts +2 -2
  157. package/src/util/logger.ts +1 -1
  158. package/tsconfig.json +1 -1
  159. package/docs/.nojekyll +0 -0
  160. package/docs/__old/README.md +0 -1
  161. package/docs/__old/index.html +0 -22
  162. package/docs/__old/restapi.json +0 -589
  163. package/docs/__old/types/Classes/nspc.AnotherInterface.md +0 -22
  164. package/docs/__old/types/Classes/nspc.ChildClass.md +0 -97
  165. package/docs/__old/types/Main/nspc.GroupedClass.md +0 -10
  166. package/docs/__old/types/Main/nspc.SampleClass.md +0 -189
  167. package/docs/__old/types/Misc-Group/nspc.EscapedAnnotations.md +0 -4
  168. package/docs/__old/types/Misc-Group/nspc.GrandparentClass.md +0 -13
  169. package/docs/__old/types/Misc-Group/nspc.InterfaceWithInheritance.md +0 -29
  170. package/docs/__old/types/Misc-Group/nspc.MemberGrouping.md +0 -13
  171. package/docs/__old/types/Misc-Group/nspc.ParentClass.md +0 -37
  172. package/docs/__old/types/Misc-Group/nspc.Reference1.md +0 -18
  173. package/docs/__old/types/Misc-Group/nspc.Reference2.md +0 -12
  174. package/docs/__old/types/Misc-Group/nspc.Reference3.md +0 -7
  175. package/docs/__old/types/Misc-Group/nspc.Reference4.md +0 -7
  176. package/docs/__old/types/Misc-Group/nspc.Reference5.md +0 -7
  177. package/docs/__old/types/Misc-Group/nspc.Reference6.md +0 -9
  178. package/docs/__old/types/Misc-Group/nspc.Reference7.md +0 -7
  179. package/docs/__old/types/Misc-Group/nspc.SampleClassWithoutModifier.md +0 -11
  180. package/docs/__old/types/Misc-Group/nspc.SampleRestResource.md +0 -104
  181. package/docs/__old/types/Misc-Group/nspc.SampleRestResourceWithInnerClass.md +0 -33
  182. package/docs/__old/types/Misc-Group/nspc.SampleRestResourceWithoutApexDocs.md +0 -14
  183. package/docs/__old/types/README.md +0 -97
  184. package/docs/__old/types/Sample-Interfaces/nspc.SampleInterface.md +0 -23
  185. package/examples/includes/header.md +0 -3
  186. package/lib/__spec__/core/expect-extensions.js.map +0 -1
  187. package/lib/__spec__/core/generating-class-docs.spec.js.map +0 -1
  188. package/lib/__spec__/core/generating-enum-docs.spec.js.map +0 -1
  189. package/lib/__spec__/core/generating-interface-docs.spec.js.map +0 -1
  190. package/lib/__spec__/core/generating-reference-guide.spec.js.map +0 -1
  191. package/lib/adapters/apex-types.d.ts +0 -7
  192. package/lib/adapters/apex-types.js.map +0 -1
  193. package/lib/adapters/documentables.js +0 -56
  194. package/lib/adapters/documentables.js.map +0 -1
  195. package/lib/adapters/fields-and-properties.js.map +0 -1
  196. package/lib/adapters/methods-and-constructors.js.map +0 -1
  197. package/lib/adapters/references.js.map +0 -1
  198. package/lib/adapters/type-utils.d.ts +0 -2
  199. package/lib/adapters/type-utils.js +0 -7
  200. package/lib/adapters/type-utils.js.map +0 -1
  201. package/lib/application/Apexdocs.js.map +0 -1
  202. package/lib/cli/generate.js.map +0 -1
  203. package/lib/core/generate-docs.js.map +0 -1
  204. package/lib/index.d.ts +0 -2
  205. package/lib/model/apex-bundle.js.map +0 -1
  206. package/lib/model/inheritance.d.ts +0 -8
  207. package/lib/model/inheritance.js +0 -3
  208. package/lib/model/inheritance.js.map +0 -1
  209. package/lib/model/manifest.js.map +0 -1
  210. package/lib/model/markdown-file.js.map +0 -1
  211. package/lib/model/markdown-generation-util/doc-comment-annotation-util.js.map +0 -1
  212. package/lib/model/markdown-generation-util/field-declaration-util.js.map +0 -1
  213. package/lib/model/markdown-generation-util/method-declaration-util.js.map +0 -1
  214. package/lib/model/markdown-generation-util/type-declaration-util.js.map +0 -1
  215. package/lib/model/markdown-type-file.js.map +0 -1
  216. package/lib/service/manifest-factory.js.map +0 -1
  217. package/lib/test-helpers/ClassMirrorBuilder.js.map +0 -1
  218. package/lib/transpiler/factory.js.map +0 -1
  219. package/lib/transpiler/markdown/class-file-generatorHelper.js.map +0 -1
  220. package/lib/transpiler/markdown/plain-markdown/plain-docsProcessor.d.ts +0 -9
  221. package/lib/transpiler/markdown/plain-markdown/plain-docsProcessor.js +0 -42
  222. package/lib/transpiler/markdown/plain-markdown/plain-docsProcessor.js.map +0 -1
  223. package/src/adapters/documentables.ts +0 -93
  224. package/src/adapters/type-utils.ts +0 -5
  225. package/src/adapters/types.d.ts +0 -8
  226. package/src/model/inheritance.ts +0 -7
  227. package/src/transpiler/markdown/plain-markdown/plain-docsProcessor.ts +0 -42
  228. /package/{lib → dist}/__spec__/core/expect-extensions.d.ts +0 -0
  229. /package/{lib → dist}/__spec__/core/generating-class-docs.spec.d.ts +0 -0
  230. /package/{lib → dist}/__spec__/core/generating-enum-docs.spec.d.ts +0 -0
  231. /package/{lib → dist}/__spec__/core/generating-interface-docs.spec.d.ts +0 -0
  232. /package/{lib → dist}/__spec__/core/generating-reference-guide.spec.d.ts +0 -0
  233. /package/{lib → dist}/cli/generate.d.ts +0 -0
  234. /package/{lib/model → dist/core}/apex-bundle.d.ts +0 -0
  235. /package/{lib/model → dist/core}/apex-bundle.js +0 -0
  236. /package/{lib/model → dist/core}/manifest.d.ts +0 -0
  237. /package/{lib/model → dist/core}/manifest.js +0 -0
  238. /package/{lib → dist}/core/template.d.ts +0 -0
  239. /package/{lib → dist}/core/templates/reference-guide.d.ts +0 -0
  240. /package/{lib → dist}/core/templates/reference-guide.js.map +0 -0
  241. /package/{lib → dist}/index.js.map +0 -0
  242. /package/{lib → dist}/model/apex-type-wrappers/ClassMirrorWrapper.d.ts +0 -0
  243. /package/{lib → dist}/model/apex-type-wrappers/ClassMirrorWrapper.js +0 -0
  244. /package/{lib → dist}/model/apex-type-wrappers/ClassMirrorWrapper.js.map +0 -0
  245. /package/{lib → dist}/model/apex-type-wrappers/MethodMirrorWrapper.d.ts +0 -0
  246. /package/{lib → dist}/model/apex-type-wrappers/MethodMirrorWrapper.js +0 -0
  247. /package/{lib → dist}/model/apex-type-wrappers/MethodMirrorWrapper.js.map +0 -0
  248. /package/{lib → dist}/model/markdown-generation-util/doc-comment-annotation-util.d.ts +0 -0
  249. /package/{lib → dist}/model/markdown-generation-util/index.d.ts +0 -0
  250. /package/{lib → dist}/model/markdown-generation-util/index.js +0 -0
  251. /package/{lib → dist}/model/markdown-generation-util/index.js.map +0 -0
  252. /package/{lib → dist}/model/markdown-generation-util/type-declaration-util.d.ts +0 -0
  253. /package/{lib → dist}/model/markdown-home-file.d.ts +0 -0
  254. /package/{lib → dist}/model/markdown-home-file.js +0 -0
  255. /package/{lib → dist}/model/markdown-home-file.js.map +0 -0
  256. /package/{lib → dist}/model/markdown-type-file.js +0 -0
  257. /package/{lib → dist}/model/openapi/apex-doc-types.d.ts +0 -0
  258. /package/{lib → dist}/model/openapi/apex-doc-types.js +0 -0
  259. /package/{lib → dist}/model/openapi/apex-doc-types.js.map +0 -0
  260. /package/{lib → dist}/model/openapi/open-api-types.d.ts +0 -0
  261. /package/{lib → dist}/model/openapi/open-api-types.js +0 -0
  262. /package/{lib → dist}/model/openapi/open-api-types.js.map +0 -0
  263. /package/{lib → dist}/model/openapi/open-api.d.ts +0 -0
  264. /package/{lib → dist}/model/openapi/open-api.js +0 -0
  265. /package/{lib → dist}/model/openapi/open-api.js.map +0 -0
  266. /package/{lib → dist}/model/openapi/openapi-type-file.d.ts +0 -0
  267. /package/{lib → dist}/model/openapi/openapi-type-file.js +0 -0
  268. /package/{lib → dist}/model/openapi/openapi-type-file.js.map +0 -0
  269. /package/{lib → dist}/model/outputFile.d.ts +0 -0
  270. /package/{lib → dist}/model/outputFile.js +0 -0
  271. /package/{lib → dist}/model/outputFile.js.map +0 -0
  272. /package/{lib → dist}/model/types-repository.d.ts +0 -0
  273. /package/{lib → dist}/model/types-repository.js +0 -0
  274. /package/{lib → dist}/model/types-repository.js.map +0 -0
  275. /package/{lib → dist}/service/file-system.d.ts +0 -0
  276. /package/{lib → dist}/service/file-system.js +0 -0
  277. /package/{lib → dist}/service/file-system.js.map +0 -0
  278. /package/{lib → dist}/service/file-writer.d.ts +0 -0
  279. /package/{lib → dist}/service/file-writer.js +0 -0
  280. /package/{lib → dist}/service/file-writer.js.map +0 -0
  281. /package/{lib → dist}/service/metadata-processor.d.ts +0 -0
  282. /package/{lib → dist}/service/metadata-processor.js +0 -0
  283. /package/{lib → dist}/service/metadata-processor.js.map +0 -0
  284. /package/{lib → dist}/service/parser.js +0 -0
  285. /package/{lib → dist}/service/parser.js.map +0 -0
  286. /package/{lib → dist}/service/state.d.ts +0 -0
  287. /package/{lib → dist}/service/state.js +0 -0
  288. /package/{lib → dist}/service/state.js.map +0 -0
  289. /package/{lib → dist}/service/walkers/class-walker.d.ts +0 -0
  290. /package/{lib → dist}/service/walkers/class-walker.js +0 -0
  291. /package/{lib → dist}/service/walkers/class-walker.js.map +0 -0
  292. /package/{lib → dist}/service/walkers/enum-walker.d.ts +0 -0
  293. /package/{lib → dist}/service/walkers/enum-walker.js +0 -0
  294. /package/{lib → dist}/service/walkers/enum-walker.js.map +0 -0
  295. /package/{lib → dist}/service/walkers/interface-walker.d.ts +0 -0
  296. /package/{lib → dist}/service/walkers/interface-walker.js +0 -0
  297. /package/{lib → dist}/service/walkers/interface-walker.js.map +0 -0
  298. /package/{lib → dist}/service/walkers/walker-factory.d.ts +0 -0
  299. /package/{lib → dist}/service/walkers/walker-factory.js +0 -0
  300. /package/{lib → dist}/service/walkers/walker-factory.js.map +0 -0
  301. /package/{lib → dist}/service/walkers/walker.d.ts +0 -0
  302. /package/{lib → dist}/service/walkers/walker.js +0 -0
  303. /package/{lib → dist}/service/walkers/walker.js.map +0 -0
  304. /package/{lib → dist}/test-helpers/AnnotationBuilder.d.ts +0 -0
  305. /package/{lib → dist}/test-helpers/AnnotationBuilder.js +0 -0
  306. /package/{lib → dist}/test-helpers/AnnotationBuilder.js.map +0 -0
  307. /package/{lib → dist}/test-helpers/DocCommentAnnotationBuilder.d.ts +0 -0
  308. /package/{lib → dist}/test-helpers/DocCommentAnnotationBuilder.js +0 -0
  309. /package/{lib → dist}/test-helpers/DocCommentAnnotationBuilder.js.map +0 -0
  310. /package/{lib → dist}/test-helpers/DocCommentBuilder.d.ts +0 -0
  311. /package/{lib → dist}/test-helpers/DocCommentBuilder.js +0 -0
  312. /package/{lib → dist}/test-helpers/DocCommentBuilder.js.map +0 -0
  313. /package/{lib → dist}/test-helpers/FieldMirrorBuilder.d.ts +0 -0
  314. /package/{lib → dist}/test-helpers/FieldMirrorBuilder.js +0 -0
  315. /package/{lib → dist}/test-helpers/FieldMirrorBuilder.js.map +0 -0
  316. /package/{lib → dist}/test-helpers/InterfaceMirrorBuilder.d.ts +0 -0
  317. /package/{lib → dist}/test-helpers/InterfaceMirrorBuilder.js +0 -0
  318. /package/{lib → dist}/test-helpers/InterfaceMirrorBuilder.js.map +0 -0
  319. /package/{lib → dist}/test-helpers/MethodMirrorBuilder.d.ts +0 -0
  320. /package/{lib → dist}/test-helpers/MethodMirrorBuilder.js +0 -0
  321. /package/{lib → dist}/test-helpers/MethodMirrorBuilder.js.map +0 -0
  322. /package/{lib → dist}/test-helpers/SettingsBuilder.d.ts +0 -0
  323. /package/{lib → dist}/transpiler/factory.d.ts +0 -0
  324. /package/{lib → dist}/transpiler/file-container.d.ts +0 -0
  325. /package/{lib → dist}/transpiler/file-container.js +0 -0
  326. /package/{lib → dist}/transpiler/file-container.js.map +0 -0
  327. /package/{lib → dist}/transpiler/generator-choices.d.ts +0 -0
  328. /package/{lib → dist}/transpiler/generator-choices.js +0 -0
  329. /package/{lib → dist}/transpiler/generator-choices.js.map +0 -0
  330. /package/{lib → dist}/transpiler/markdown/docsify/docsify-docs-processor.d.ts +0 -0
  331. /package/{lib → dist}/transpiler/markdown/docsify/docsify-docs-processor.js +0 -0
  332. /package/{lib → dist}/transpiler/markdown/docsify/docsify-docs-processor.js.map +0 -0
  333. /package/{lib → dist}/transpiler/markdown/jekyll/jekyll-docsProcessor.d.ts +0 -0
  334. /package/{lib → dist}/transpiler/markdown/jekyll/jekyll-docsProcessor.js +0 -0
  335. /package/{lib → dist}/transpiler/markdown/jekyll/jekyll-docsProcessor.js.map +0 -0
  336. /package/{lib → dist}/transpiler/markdown/markdown-transpiler-base.d.ts +0 -0
  337. /package/{lib → dist}/transpiler/markdown/markdown-transpiler-base.js +0 -0
  338. /package/{lib → dist}/transpiler/markdown/markdown-transpiler-base.js.map +0 -0
  339. /package/{lib → dist}/transpiler/markdown/plain-markdown/class-template.d.ts +0 -0
  340. /package/{lib → dist}/transpiler/markdown/plain-markdown/class-template.js.map +0 -0
  341. /package/{lib → dist}/transpiler/markdown/plain-markdown/constructors-partial-template.d.ts +0 -0
  342. /package/{lib → dist}/transpiler/markdown/plain-markdown/constructors-partial-template.js.map +0 -0
  343. /package/{lib → dist}/transpiler/markdown/plain-markdown/documentable-partial-template.d.ts +0 -0
  344. /package/{lib → dist}/transpiler/markdown/plain-markdown/enum-template.d.ts +0 -0
  345. /package/{lib → dist}/transpiler/markdown/plain-markdown/enum-template.js +0 -0
  346. /package/{lib → dist}/transpiler/markdown/plain-markdown/enum-template.js.map +0 -0
  347. /package/{lib → dist}/transpiler/markdown/plain-markdown/fieldsPartialTemplate.d.ts +0 -0
  348. /package/{lib → dist}/transpiler/markdown/plain-markdown/fieldsPartialTemplate.js.map +0 -0
  349. /package/{lib → dist}/transpiler/markdown/plain-markdown/grouped-members-partial-template.d.ts +0 -0
  350. /package/{lib → dist}/transpiler/markdown/plain-markdown/grouped-members-partial-template.js +0 -0
  351. /package/{lib → dist}/transpiler/markdown/plain-markdown/grouped-members-partial-template.js.map +0 -0
  352. /package/{lib → dist}/transpiler/markdown/plain-markdown/interface-template.d.ts +0 -0
  353. /package/{lib → dist}/transpiler/markdown/plain-markdown/interface-template.js +0 -0
  354. /package/{lib → dist}/transpiler/markdown/plain-markdown/interface-template.js.map +0 -0
  355. /package/{lib → dist}/transpiler/markdown/plain-markdown/methods-partial-template.d.ts +0 -0
  356. /package/{lib → dist}/transpiler/markdown/plain-markdown/methods-partial-template.js.map +0 -0
  357. /package/{lib → dist}/transpiler/markdown/plain-markdown/type-doc-partial.d.ts +0 -0
  358. /package/{lib → dist}/transpiler/markdown/plain-markdown/type-doc-partial.js +0 -0
  359. /package/{lib → dist}/transpiler/markdown/plain-markdown/type-doc-partial.js.map +0 -0
  360. /package/{lib → dist}/transpiler/openapi/open-api-docs-processor.d.ts +0 -0
  361. /package/{lib → dist}/transpiler/openapi/open-api-docs-processor.js +0 -0
  362. /package/{lib → dist}/transpiler/openapi/open-api-docs-processor.js.map +0 -0
  363. /package/{lib → dist}/transpiler/openapi/parsers/Builder.d.ts +0 -0
  364. /package/{lib → dist}/transpiler/openapi/parsers/Builder.js +0 -0
  365. /package/{lib → dist}/transpiler/openapi/parsers/Builder.js.map +0 -0
  366. /package/{lib → dist}/transpiler/openapi/parsers/MethodParser.d.ts +0 -0
  367. /package/{lib → dist}/transpiler/openapi/parsers/MethodParser.js +0 -0
  368. /package/{lib → dist}/transpiler/openapi/parsers/MethodParser.js.map +0 -0
  369. /package/{lib → dist}/transpiler/openapi/parsers/ParameterObjectBuilder.d.ts +0 -0
  370. /package/{lib → dist}/transpiler/openapi/parsers/ParameterObjectBuilder.js +0 -0
  371. /package/{lib → dist}/transpiler/openapi/parsers/ParameterObjectBuilder.js.map +0 -0
  372. /package/{lib → dist}/transpiler/openapi/parsers/ReferenceBuilder.d.ts +0 -0
  373. /package/{lib → dist}/transpiler/openapi/parsers/ReferenceBuilder.js +0 -0
  374. /package/{lib → dist}/transpiler/openapi/parsers/ReferenceBuilder.js.map +0 -0
  375. /package/{lib → dist}/transpiler/openapi/parsers/RequestBodyBuilder.d.ts +0 -0
  376. /package/{lib → dist}/transpiler/openapi/parsers/RequestBodyBuilder.js +0 -0
  377. /package/{lib → dist}/transpiler/openapi/parsers/RequestBodyBuilder.js.map +0 -0
  378. /package/{lib → dist}/transpiler/openapi/parsers/ResponsesBuilder.d.ts +0 -0
  379. /package/{lib → dist}/transpiler/openapi/parsers/ResponsesBuilder.js +0 -0
  380. /package/{lib → dist}/transpiler/openapi/parsers/ResponsesBuilder.js.map +0 -0
  381. /package/{lib → dist}/transpiler/processor-type-transpiler.d.ts +0 -0
  382. /package/{lib → dist}/transpiler/processor-type-transpiler.js +0 -0
  383. /package/{lib → dist}/transpiler/processor-type-transpiler.js.map +0 -0
  384. /package/{lib → dist}/transpiler/transpiler.d.ts +0 -0
  385. /package/{lib → dist}/transpiler/transpiler.js +0 -0
  386. /package/{lib → dist}/transpiler/transpiler.js.map +0 -0
  387. /package/{lib → dist}/util/error-logger.d.ts +0 -0
  388. /package/{lib → dist}/util/error-logger.js +0 -0
  389. /package/{lib → dist}/util/error-logger.js.map +0 -0
  390. /package/{lib → dist}/util/logger.d.ts +0 -0
  391. /package/{lib → dist}/util/string-utils.d.ts +0 -0
  392. /package/src/{model → core}/apex-bundle.ts +0 -0
  393. /package/src/{model → core}/manifest.ts +0 -0
package/README.md CHANGED
@@ -292,6 +292,43 @@ public static Object call(String action) {
292
292
  }
293
293
  ```
294
294
 
295
+ ### Using custom tags
296
+
297
+ You can use custom tags to document your code. Custom tags can be added with at symbol (`@`) followed by the name
298
+ of the tag. Apexdocs will automatically format tags which words are separated by a dash (`-`) by separating them with a
299
+ space and uppercasing them. For example, `@custom-tag` will be displayed as `Custom Tag`.
300
+
301
+ Within a custom tag, you can also add code blocks by using the triple backtick syntax. This is useful when you want to
302
+ display code snippets within your documentation.
303
+
304
+ **Example**
305
+
306
+ ```apex
307
+ /**
308
+ * @custom-tag This is a custom tag
309
+ * @custom-tag-with-code
310
+ * ```
311
+ * System.debug('Hello World');
312
+ * ```
313
+ */
314
+ public class MyClass {
315
+ }
316
+ ```
317
+
318
+ Note that the language of the code block will be set to `apex` by default, but you can change it by adding the language
319
+ name after the triple backticks. For example, to display a JavaScript code block you can use:
320
+
321
+ ```apex
322
+ /**
323
+ * @custom-tag-with-code
324
+ * ```javascript
325
+ * console.log('Hello World');
326
+ * ```
327
+ */
328
+ public class MyClass {
329
+ }
330
+ ```
331
+
295
332
  ### Grouping Declarations Within A Class
296
333
 
297
334
  A class might have members that should be grouped together. For example, you can have a class for constants with
@@ -23,8 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.extendExpect = extendExpect;
27
- exports.assertEither = assertEither;
26
+ exports.assertEither = exports.extendExpect = void 0;
28
27
  const E = __importStar(require("fp-ts/Either"));
29
28
  function extendExpect() {
30
29
  expect.extend({
@@ -48,7 +47,9 @@ function extendExpect() {
48
47
  },
49
48
  });
50
49
  }
50
+ exports.extendExpect = extendExpect;
51
51
  function assertEither(result, assertion) {
52
52
  E.match((error) => fail(error), (data) => assertion(data))(result);
53
53
  }
54
+ exports.assertEither = assertEither;
54
55
  //# sourceMappingURL=expect-extensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expect-extensions.js","sourceRoot":"","sources":["../../../src/__spec__/core/expect-extensions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAGlC,SAAgB,YAAY;IAC1B,MAAM,CAAC,MAAM,CAAC;QACZ,4BAA4B,CAAC,QAAiD,EAAE,MAAc;YAC5F,OAAO;gBACL,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM;gBAClE,OAAO,EAAE,GAAG,EAAE,CAAC,gDAAgD,MAAM,EAAE;aACxE,CAAC;QACJ,CAAC;QACD,gBAAgB,CAAC,GAAwB,EAAE,OAAe;YACxD,OAAO;gBACL,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAC/C,OAAO,EAAE,GAAG,EAAE,CAAC,qCAAqC,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;aAC9F,CAAC;QACJ,CAAC;QACD,mBAAmB,CAAC,GAAwB,EAAE,OAAe;YAC3D,OAAO;gBACL,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAChD,OAAO,EAAE,GAAG,EAAE,CAAC,yCAAyC,OAAO,SAAS,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;aAClG,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AArBD,oCAqBC;AAED,SAAgB,YAAY,CAAO,MAAsB,EAAE,SAA4B;IACrF,CAAC,CAAC,KAAK,CACL,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EACtB,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAC1B,CAAC,MAAM,CAAC,CAAC;AACZ,CAAC;AALD,oCAKC"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const expect_extensions_1 = require("./expect-extensions");
4
4
  const generate_docs_1 = require("../../core/generate-docs");
5
+ const test_helpers_1 = require("./test-helpers");
5
6
  describe('Generates interface documentation', () => {
6
7
  beforeAll(() => {
7
8
  (0, expect_extensions_1.extendExpect)();
@@ -9,18 +10,18 @@ describe('Generates interface documentation', () => {
9
10
  describe('documentation output', () => {
10
11
  it('always returns markdown as the format', () => {
11
12
  const input = 'public class MyClass {}';
12
- const result = (0, generate_docs_1.generateDocs)([input]);
13
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
13
14
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data.format).toBe('markdown'));
14
15
  });
15
16
  it('returns the name of the class', () => {
16
17
  const input = 'public class MyClass {}';
17
- const result = (0, generate_docs_1.generateDocs)([input]);
18
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
18
19
  expect(result).documentationBundleHasLength(1);
19
20
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data.docs[0].typeName).toBe('MyClass'));
20
21
  });
21
22
  it('returns the type as class', () => {
22
23
  const input = 'public class MyClass {}';
23
- const result = (0, generate_docs_1.generateDocs)([input]);
24
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
24
25
  expect(result).documentationBundleHasLength(1);
25
26
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data.docs[0].type).toBe('class'));
26
27
  });
@@ -31,7 +32,9 @@ describe('Generates interface documentation', () => {
31
32
  const input2 = `
32
33
  public class AnotherClass {}
33
34
  `;
34
- const result = (0, generate_docs_1.generateDocs)([input1, input2], { scope: ['global'] });
35
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input1), (0, test_helpers_1.apexBundleFromRawString)(input2)], {
36
+ scope: ['global'],
37
+ });
35
38
  expect(result).documentationBundleHasLength(1);
36
39
  });
37
40
  it('does not return classes that have an @ignore in the docs', () => {
@@ -40,7 +43,7 @@ describe('Generates interface documentation', () => {
40
43
  * @ignore
41
44
  */
42
45
  public class MyClass {}`;
43
- const result = (0, generate_docs_1.generateDocs)([input]);
46
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
44
47
  expect(result).documentationBundleHasLength(0);
45
48
  });
46
49
  it('does not return class methods that have @ignore in the docs', () => {
@@ -51,7 +54,7 @@ describe('Generates interface documentation', () => {
51
54
  */
52
55
  public void myMethod() {}
53
56
  }`;
54
- const result = (0, generate_docs_1.generateDocs)([input]);
57
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
55
58
  expect(result).documentationBundleHasLength(1);
56
59
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data.docs[0].docContents).not.toContain('myMethod'));
57
60
  });
@@ -63,7 +66,7 @@ describe('Generates interface documentation', () => {
63
66
  */
64
67
  public String myProperty { get; set; }
65
68
  }`;
66
- const result = (0, generate_docs_1.generateDocs)([input]);
69
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
67
70
  expect(result).documentationBundleHasLength(1);
68
71
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data.docs[0].docContents).not.toContain('myProperty'));
69
72
  });
@@ -75,7 +78,7 @@ describe('Generates interface documentation', () => {
75
78
  */
76
79
  public String myField;
77
80
  }`;
78
- const result = (0, generate_docs_1.generateDocs)([input]);
81
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
79
82
  expect(result).documentationBundleHasLength(1);
80
83
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data.docs[0].docContents).not.toContain('myField'));
81
84
  });
@@ -87,7 +90,7 @@ describe('Generates interface documentation', () => {
87
90
  */
88
91
  public class InnerClass {}
89
92
  }`;
90
- const result = (0, generate_docs_1.generateDocs)([input]);
93
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
91
94
  expect(result).documentationBundleHasLength(1);
92
95
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data.docs[0].docContents).not.toContain('InnerClass'));
93
96
  });
@@ -99,7 +102,7 @@ describe('Generates interface documentation', () => {
99
102
  */
100
103
  public interface InnerInterface {}
101
104
  }`;
102
- const result = (0, generate_docs_1.generateDocs)([input]);
105
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
103
106
  expect(result).documentationBundleHasLength(1);
104
107
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data.docs[0].docContents).not.toContain('InnerInterface'));
105
108
  });
@@ -111,7 +114,7 @@ describe('Generates interface documentation', () => {
111
114
  */
112
115
  public enum InnerEnum {}
113
116
  }`;
114
- const result = (0, generate_docs_1.generateDocs)([input]);
117
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
115
118
  expect(result).documentationBundleHasLength(1);
116
119
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data.docs[0].docContents).not.toContain('InnerEnum'));
117
120
  });
@@ -121,7 +124,7 @@ describe('Generates interface documentation', () => {
121
124
  it('generates a heading with the class name', () => {
122
125
  const input = 'public class MyClass {}';
123
126
  const output = `# MyClass Class`;
124
- const result = (0, generate_docs_1.generateDocs)([input]);
127
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
125
128
  expect(result).documentationBundleHasLength(1);
126
129
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains(output));
127
130
  });
@@ -133,11 +136,25 @@ describe('Generates interface documentation', () => {
133
136
  public void myMethod() {}
134
137
  }
135
138
  `;
136
- const result = (0, generate_docs_1.generateDocs)([input]);
139
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
137
140
  expect(result).documentationBundleHasLength(1);
138
141
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('NAMESPACEACCESSIBLE'));
139
142
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('DEPRECATED'));
140
143
  });
144
+ it('displays metadata as annotations', () => {
145
+ const input = 'public class MyClass {}';
146
+ const metadata = `
147
+ <?xml version="1.0" encoding="UTF-8"?>
148
+ <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
149
+ <apiVersion>59.0</apiVersion>
150
+ <status>Active</status>
151
+ </ApexClass>
152
+ `;
153
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input, metadata)]);
154
+ expect(result).documentationBundleHasLength(1);
155
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('APIVERSION'));
156
+ (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('STATUS'));
157
+ });
141
158
  it('displays the description', () => {
142
159
  const input = `
143
160
  /**
@@ -145,7 +162,7 @@ describe('Generates interface documentation', () => {
145
162
  */
146
163
  public class MyClass {}
147
164
  `;
148
- const result = (0, generate_docs_1.generateDocs)([input]);
165
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
149
166
  expect(result).documentationBundleHasLength(1);
150
167
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('This is a description'));
151
168
  });
@@ -156,7 +173,7 @@ describe('Generates interface documentation', () => {
156
173
  */
157
174
  public class MyClass {}
158
175
  `;
159
- const result = (0, generate_docs_1.generateDocs)([input]);
176
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
160
177
  expect(result).documentationBundleHasLength(1);
161
178
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('Custom Tag'));
162
179
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('My Value'));
@@ -167,7 +184,7 @@ describe('Generates interface documentation', () => {
167
184
  * @group MyGroup
168
185
  */
169
186
  public class MyClass {}`;
170
- const result = (0, generate_docs_1.generateDocs)([input]);
187
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
171
188
  expect(result).documentationBundleHasLength(1);
172
189
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('Group'));
173
190
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('MyGroup'));
@@ -178,7 +195,7 @@ describe('Generates interface documentation', () => {
178
195
  * @author John Doe
179
196
  */
180
197
  public class MyClass {}`;
181
- const result = (0, generate_docs_1.generateDocs)([input]);
198
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
182
199
  expect(result).documentationBundleHasLength(1);
183
200
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('Author'));
184
201
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('John Doe'));
@@ -189,7 +206,7 @@ describe('Generates interface documentation', () => {
189
206
  * @date 2021-01-01
190
207
  */
191
208
  public class MyClass {}`;
192
- const result = (0, generate_docs_1.generateDocs)([input]);
209
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
193
210
  expect(result).documentationBundleHasLength(1);
194
211
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('Date'));
195
212
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('2021-01-01'));
@@ -200,7 +217,7 @@ describe('Generates interface documentation', () => {
200
217
  * @description This is a description
201
218
  */
202
219
  public class MyClass {}`;
203
- const result = (0, generate_docs_1.generateDocs)([input]);
220
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
204
221
  expect(result).documentationBundleHasLength(1);
205
222
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('This is a description'));
206
223
  });
@@ -212,7 +229,7 @@ describe('Generates interface documentation', () => {
212
229
  public enum MyClass {}
213
230
  `;
214
231
  const input2 = 'public class ClassRef {}';
215
- const result = (0, generate_docs_1.generateDocs)([input1, input2]);
232
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input1), (0, test_helpers_1.apexBundleFromRawString)(input2)]);
216
233
  expect(result).documentationBundleHasLength(2);
217
234
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('This is a description with a [ClassRef](./ClassRef.md) reference'));
218
235
  });
@@ -223,7 +240,7 @@ describe('Generates interface documentation', () => {
223
240
  */
224
241
  public class MyClass {}
225
242
  `;
226
- const result = (0, generate_docs_1.generateDocs)([input]);
243
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
227
244
  expect(result).documentationBundleHasLength(1);
228
245
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('This is a description with an [test@testerson.com](mailto:test@testerson.com) email'));
229
246
  });
@@ -235,7 +252,7 @@ describe('Generates interface documentation', () => {
235
252
  public class MyClass {}
236
253
  `;
237
254
  const input2 = 'public class ClassRef {}';
238
- const result = (0, generate_docs_1.generateDocs)([input1, input2]);
255
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input1), (0, test_helpers_1.apexBundleFromRawString)(input2)]);
239
256
  expect(result).documentationBundleHasLength(2);
240
257
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('See'));
241
258
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('[ClassRef](./ClassRef.md)'));
@@ -247,21 +264,21 @@ describe('Generates interface documentation', () => {
247
264
  */
248
265
  public class MyClass {}
249
266
  `;
250
- const result = (0, generate_docs_1.generateDocs)([input]);
267
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
251
268
  expect(result).documentationBundleHasLength(1);
252
269
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('See'));
253
270
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('ClassRef'));
254
271
  });
255
272
  it('displays the namespace if present in the config', () => {
256
273
  const input = 'public class MyClass {}';
257
- const result = (0, generate_docs_1.generateDocs)([input], { namespace: 'MyNamespace' });
274
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)], { namespace: 'MyNamespace' });
258
275
  expect(result).documentationBundleHasLength(1);
259
276
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('## Namespace'));
260
277
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('MyNamespace'));
261
278
  });
262
279
  it('does not display the namespace if not present in the config', () => {
263
280
  const input = 'public class MyClass {}';
264
- const result = (0, generate_docs_1.generateDocs)([input]);
281
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
265
282
  expect(result).documentationBundleHasLength(1);
266
283
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContainsNot('## Namespace'));
267
284
  });
@@ -277,7 +294,7 @@ describe('Generates interface documentation', () => {
277
294
  */
278
295
  public class MyClass {}
279
296
  `;
280
- const result = (0, generate_docs_1.generateDocs)([input]);
297
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
281
298
  expect(result).documentationBundleHasLength(1);
282
299
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('```mermaid'));
283
300
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('graph TD'));
@@ -293,7 +310,7 @@ describe('Generates interface documentation', () => {
293
310
  * }
294
311
  */
295
312
  public class MyClass {}`;
296
- const result = (0, generate_docs_1.generateDocs)([input]);
313
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
297
314
  expect(result).documentationBundleHasLength(1);
298
315
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('```apex'));
299
316
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('public class MyClass'));
@@ -307,7 +324,7 @@ describe('Generates interface documentation', () => {
307
324
  public void myMethod() {}
308
325
  }
309
326
  `;
310
- const result = (0, generate_docs_1.generateDocs)([input]);
327
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
311
328
  expect(result).documentationBundleHasLength(1);
312
329
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('## Methods'));
313
330
  });
@@ -317,7 +334,7 @@ describe('Generates interface documentation', () => {
317
334
  public String myProperty { get; set; }
318
335
  }
319
336
  `;
320
- const result = (0, generate_docs_1.generateDocs)([input]);
337
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
321
338
  expect(result).documentationBundleHasLength(1);
322
339
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('## Properties'));
323
340
  });
@@ -327,7 +344,7 @@ describe('Generates interface documentation', () => {
327
344
  public String myField;
328
345
  }
329
346
  `;
330
- const result = (0, generate_docs_1.generateDocs)([input]);
347
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
331
348
  expect(result).documentationBundleHasLength(1);
332
349
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('## Fields'));
333
350
  });
@@ -337,7 +354,7 @@ describe('Generates interface documentation', () => {
337
354
  public MyClass() {}
338
355
  }
339
356
  `;
340
- const result = (0, generate_docs_1.generateDocs)([input]);
357
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
341
358
  expect(result).documentationBundleHasLength(1);
342
359
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('## Constructors'));
343
360
  });
@@ -347,7 +364,7 @@ describe('Generates interface documentation', () => {
347
364
  public class InnerClass {}
348
365
  }
349
366
  `;
350
- const result = (0, generate_docs_1.generateDocs)([input]);
367
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
351
368
  expect(result).documentationBundleHasLength(1);
352
369
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('## Classes'));
353
370
  });
@@ -357,7 +374,7 @@ describe('Generates interface documentation', () => {
357
374
  public interface InnerInterface {}
358
375
  }
359
376
  `;
360
- const result = (0, generate_docs_1.generateDocs)([input]);
377
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
361
378
  expect(result).documentationBundleHasLength(1);
362
379
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('## Interfaces'));
363
380
  });
@@ -367,7 +384,7 @@ describe('Generates interface documentation', () => {
367
384
  public enum InnerEnum {}
368
385
  }
369
386
  `;
370
- const result = (0, generate_docs_1.generateDocs)([input]);
387
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
371
388
  expect(result).documentationBundleHasLength(1);
372
389
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('## Enums'));
373
390
  });
@@ -385,7 +402,7 @@ describe('Generates interface documentation', () => {
385
402
  public void myMethod() {}
386
403
  }
387
404
  `;
388
- const result = (0, generate_docs_1.generateDocs)([input]);
405
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
389
406
  expect(result).documentationBundleHasLength(1);
390
407
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('```mermaid'));
391
408
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('graph TD'));
@@ -404,7 +421,7 @@ describe('Generates interface documentation', () => {
404
421
  public void myMethod() {}
405
422
  }
406
423
  `;
407
- const result = (0, generate_docs_1.generateDocs)([input]);
424
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input)]);
408
425
  expect(result).documentationBundleHasLength(1);
409
426
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('```apex'));
410
427
  (0, expect_extensions_1.assertEither)(result, (data) => expect(data).firstDocContains('public class MyClass'));
@@ -418,7 +435,7 @@ describe('Generates interface documentation', () => {
418
435
  const input2 = `
419
436
  public class AnotherClass extends MyClass {}
420
437
  `;
421
- const result = (0, generate_docs_1.generateDocs)([input1, input2]);
438
+ const result = (0, generate_docs_1.generateDocs)([(0, test_helpers_1.apexBundleFromRawString)(input1), (0, test_helpers_1.apexBundleFromRawString)(input2)]);
422
439
  expect(result).documentationBundleHasLength(2);
423
440
  (0, expect_extensions_1.assertEither)(result, (data) => { var _a; return expect((_a = data.docs.find((doc) => doc.typeName === 'AnotherClass')) === null || _a === void 0 ? void 0 : _a.docContents).toContain('Inherited'); });
424
441
  });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generating-class-docs.spec.js","sourceRoot":"","sources":["../../../src/__spec__/core/generating-class-docs.spec.ts"],"names":[],"mappings":"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"}