@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.
Files changed (431) hide show
  1. package/.github/workflows/ci.yaml +22 -0
  2. package/README.md +73 -12
  3. package/__mocks__/chalk.js +12 -0
  4. package/__mocks__/log-update.js +6 -0
  5. package/dist/cli/generate.js +3181 -0
  6. package/dist/defaults-DGKfeZq-.js +13 -0
  7. package/dist/index.d.ts +117 -0
  8. package/dist/index.js +36 -0
  9. package/eslint.config.mjs +10 -0
  10. package/examples/markdown/.forceignore +12 -0
  11. package/examples/markdown/config/project-scratch-def.json +5 -0
  12. package/examples/markdown/docs/index.md +109 -0
  13. package/examples/markdown/docs/miscellaneous/BaseClass.md +16 -0
  14. package/examples/markdown/docs/miscellaneous/MultiInheritanceClass.md +72 -0
  15. package/examples/markdown/docs/miscellaneous/ParentInterface.md +15 -0
  16. package/examples/markdown/docs/miscellaneous/ReferencedEnum.md +8 -0
  17. package/examples/markdown/docs/miscellaneous/SampleException.md +24 -0
  18. package/examples/markdown/docs/miscellaneous/SampleInterface.md +116 -0
  19. package/examples/markdown/docs/miscellaneous/Url.md +309 -0
  20. package/examples/markdown/docs/sample-enums/SampleEnum.md +36 -0
  21. package/examples/markdown/docs/samplegroup/SampleClass.md +170 -0
  22. package/examples/markdown/force-app/classes/BaseClass.cls +3 -0
  23. package/examples/markdown/force-app/classes/MultiInheritanceClass.cls +1 -0
  24. package/examples/markdown/force-app/classes/ParentInterface.cls +3 -0
  25. package/examples/markdown/force-app/classes/ReferencedEnum.cls +3 -0
  26. package/examples/markdown/force-app/classes/SampleClass.cls +72 -0
  27. package/examples/markdown/force-app/classes/SampleEnum.cls +30 -0
  28. package/examples/markdown/force-app/classes/SampleException.cls +17 -0
  29. package/examples/markdown/force-app/classes/SampleInterface.cls +50 -0
  30. package/examples/markdown/force-app/classes/Url.cls +194 -0
  31. package/examples/markdown/package-lock.json +665 -0
  32. package/examples/markdown/package.json +20 -0
  33. package/examples/markdown/sfdx-project.json +12 -0
  34. package/examples/vitepress/.forceignore +12 -0
  35. package/examples/vitepress/apexdocs.config.ts +106 -0
  36. package/examples/vitepress/config/project-scratch-def.json +13 -0
  37. package/examples/vitepress/docs/.vitepress/cache/deps/@theme_index.js +259 -0
  38. package/examples/vitepress/docs/.vitepress/cache/deps/@theme_index.js.map +7 -0
  39. package/examples/vitepress/docs/.vitepress/cache/deps/_metadata.json +40 -0
  40. package/examples/vitepress/docs/.vitepress/cache/deps/chunk-574YRH25.js +11474 -0
  41. package/examples/vitepress/docs/.vitepress/cache/deps/chunk-574YRH25.js.map +7 -0
  42. package/examples/vitepress/docs/.vitepress/cache/deps/chunk-E5DZZB2I.js +9172 -0
  43. package/examples/vitepress/docs/.vitepress/cache/deps/chunk-E5DZZB2I.js.map +7 -0
  44. package/examples/vitepress/docs/.vitepress/cache/deps/package.json +3 -0
  45. package/examples/vitepress/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js +4339 -0
  46. package/examples/vitepress/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js.map +7 -0
  47. package/examples/vitepress/docs/.vitepress/cache/deps/vitepress___@vueuse_core.js +567 -0
  48. package/examples/vitepress/docs/.vitepress/cache/deps/vitepress___@vueuse_core.js.map +7 -0
  49. package/examples/vitepress/docs/.vitepress/cache/deps/vue.js +323 -0
  50. package/examples/vitepress/docs/.vitepress/cache/deps/vue.js.map +7 -0
  51. package/examples/vitepress/docs/.vitepress/config.mts +21 -0
  52. package/examples/vitepress/docs/.vitepress/sidebar.json +119 -0
  53. package/examples/vitepress/docs/api-examples.md +49 -0
  54. package/examples/vitepress/docs/index-frontmatter.md +16 -0
  55. package/examples/vitepress/docs/index.md +56 -0
  56. package/examples/vitepress/docs/markdown-examples.md +85 -0
  57. package/examples/vitepress/docs/miscellaneous/BaseClass.md +20 -0
  58. package/examples/vitepress/docs/miscellaneous/MultiInheritanceClass.md +76 -0
  59. package/examples/vitepress/docs/miscellaneous/ParentInterface.md +19 -0
  60. package/examples/vitepress/docs/miscellaneous/ReferencedEnum.md +15 -0
  61. package/examples/vitepress/docs/miscellaneous/SampleException.md +28 -0
  62. package/examples/vitepress/docs/miscellaneous/SampleInterface.md +116 -0
  63. package/examples/vitepress/docs/miscellaneous/Url.md +317 -0
  64. package/examples/vitepress/docs/sample-enums/SampleEnum.md +40 -0
  65. package/examples/vitepress/docs/samplegroup/SampleClass.md +174 -0
  66. package/examples/vitepress/force-app/main/default/classes/BaseClass.cls +3 -0
  67. package/examples/vitepress/force-app/main/default/classes/MultiInheritanceClass.cls +1 -0
  68. package/examples/vitepress/force-app/main/default/classes/ParentInterface.cls +3 -0
  69. package/examples/vitepress/force-app/main/default/classes/ReferencedEnum.cls +5 -0
  70. package/examples/vitepress/force-app/main/default/classes/SampleClass.cls +72 -0
  71. package/examples/vitepress/force-app/main/default/classes/SampleEnum.cls +30 -0
  72. package/examples/vitepress/force-app/main/default/classes/SampleException.cls +17 -0
  73. package/examples/vitepress/force-app/main/default/classes/SampleInterface.cls +46 -0
  74. package/examples/vitepress/force-app/main/default/classes/Url.cls +198 -0
  75. package/examples/vitepress/package-lock.json +2574 -0
  76. package/examples/vitepress/package.json +18 -0
  77. package/examples/vitepress/sfdx-project.json +12 -0
  78. package/jest.config.js +6 -1
  79. package/jest.d.ts +7 -0
  80. package/package.json +34 -36
  81. package/src/application/Apexdocs.ts +58 -68
  82. package/src/application/__tests__/apex-file-reader.spec.ts +104 -0
  83. package/src/application/apex-file-reader.ts +55 -0
  84. package/src/application/file-system.ts +69 -0
  85. package/src/application/file-writer.ts +43 -0
  86. package/src/application/generators/markdown.ts +45 -0
  87. package/src/application/generators/openapi.ts +60 -0
  88. package/src/cli/args.ts +43 -0
  89. package/src/cli/commands/markdown.ts +53 -0
  90. package/src/cli/generate.ts +10 -131
  91. package/src/core/manifest.ts +90 -0
  92. package/src/core/markdown/__test__/expect-extensions.ts +32 -0
  93. package/src/core/markdown/__test__/generating-class-docs.spec.ts +733 -0
  94. package/src/core/markdown/__test__/generating-enum-docs.spec.ts +385 -0
  95. package/src/core/markdown/__test__/generating-interface-docs.spec.ts +461 -0
  96. package/src/core/markdown/__test__/generating-reference-guide.spec.ts +180 -0
  97. package/src/core/markdown/__test__/inheritance-chain.test.ts +54 -0
  98. package/src/core/markdown/__test__/test-helpers.ts +23 -0
  99. package/src/core/markdown/adapters/__tests__/documentables.spec.ts +109 -0
  100. package/src/core/markdown/adapters/__tests__/interface-adapter.spec.ts +148 -0
  101. package/src/core/markdown/adapters/__tests__/link-generator.spec.ts +130 -0
  102. package/src/core/markdown/adapters/__tests__/references.spec.ts +136 -0
  103. package/src/core/markdown/adapters/apex-types.ts +238 -0
  104. package/src/core/markdown/adapters/documentables.ts +115 -0
  105. package/src/core/markdown/adapters/fields-and-properties.ts +45 -0
  106. package/src/core/markdown/adapters/generate-link.ts +82 -0
  107. package/src/core/markdown/adapters/inline.ts +143 -0
  108. package/src/core/markdown/adapters/methods-and-constructors.ts +133 -0
  109. package/src/core/markdown/adapters/reference-guide.ts +37 -0
  110. package/src/core/markdown/adapters/renderable-bundle.ts +61 -0
  111. package/src/core/markdown/adapters/renderable-to-page-data.ts +89 -0
  112. package/src/core/markdown/adapters/type-utils.ts +13 -0
  113. package/src/core/markdown/adapters/types.d.ts +180 -0
  114. package/src/core/markdown/generate-docs.ts +212 -0
  115. package/src/core/markdown/reflection/filter-scope.ts +13 -0
  116. package/src/core/markdown/reflection/inheritance-chain-expanion.ts +22 -0
  117. package/src/core/markdown/reflection/inheritance-chain.ts +23 -0
  118. package/src/core/markdown/reflection/inherited-member-expansion.ts +105 -0
  119. package/src/core/markdown/reflection/reflect-source.ts +123 -0
  120. package/src/core/markdown/reflection/sort-members.ts +59 -0
  121. package/src/core/markdown/templates/class-template.ts +75 -0
  122. package/src/core/markdown/templates/constructors-partial-template.ts +32 -0
  123. package/src/core/markdown/templates/documentable-partial-template.ts +26 -0
  124. package/src/core/markdown/templates/enum-template.ts +12 -0
  125. package/src/core/markdown/templates/fieldsPartialTemplate.ts +23 -0
  126. package/src/core/markdown/templates/grouped-members-partial-template.ts +6 -0
  127. package/src/core/markdown/templates/hookable.ts +7 -0
  128. package/src/core/markdown/templates/interface-template.ts +16 -0
  129. package/src/core/markdown/templates/methods-partial-template.ts +43 -0
  130. package/src/core/markdown/templates/reference-guide.ts +14 -0
  131. package/src/core/markdown/templates/template.ts +114 -0
  132. package/src/core/markdown/templates/type-doc-partial.ts +27 -0
  133. package/src/core/markdown/utils.ts +3 -0
  134. package/src/{service → core/openapi}/__tests__/manifest-factory.spec.ts +1 -2
  135. package/src/{transpiler → core}/openapi/__tests__/open-api-docs-processor.spec.ts +1 -1
  136. package/src/{model → core/openapi}/apex-type-wrappers/__tests__/ClassMirrorWrapper.spec.ts +3 -3
  137. package/src/core/openapi/file-container.ts +13 -0
  138. package/src/{service → core/openapi}/manifest-factory.ts +3 -3
  139. package/src/{transpiler → core}/openapi/open-api-docs-processor.ts +10 -11
  140. package/src/{model → core}/openapi/open-api-types.ts +2 -2
  141. package/src/core/openapi/openapi-type-file.ts +12 -0
  142. package/src/{service → core/openapi}/parser.ts +7 -21
  143. package/src/{transpiler → core}/openapi/parsers/Builder.ts +3 -3
  144. package/src/{transpiler → core}/openapi/parsers/MethodParser.ts +6 -6
  145. package/src/{transpiler → core}/openapi/parsers/ParameterObjectBuilder.ts +2 -2
  146. package/src/{transpiler → core}/openapi/parsers/ReferenceBuilder.ts +7 -6
  147. package/src/{transpiler → core}/openapi/parsers/RequestBodyBuilder.ts +2 -2
  148. package/src/{transpiler → core}/openapi/parsers/ResponsesBuilder.ts +2 -2
  149. package/src/{transpiler → core}/openapi/parsers/__tests__/MethodParser.spec.ts +1 -1
  150. package/src/{transpiler → core}/openapi/parsers/__tests__/ParameterObjectBuilder.spec.ts +2 -2
  151. package/src/{transpiler → core}/openapi/parsers/__tests__/ReferenceBuilder.spec.ts +2 -2
  152. package/src/{transpiler → core}/openapi/parsers/__tests__/RequestBodyBuilder.spec.ts +2 -2
  153. package/src/{transpiler → core}/openapi/parsers/__tests__/ResponsesBuilder.spec.ts +1 -1
  154. package/src/{transpiler → core/openapi}/transpiler.ts +2 -6
  155. package/src/{model → core/openapi}/types-repository.ts +0 -9
  156. package/src/core/parse-apex-metadata.ts +30 -0
  157. package/src/core/settings.ts +56 -0
  158. package/src/core/shared/types.d.ts +147 -0
  159. package/src/core/shared/utils.ts +5 -0
  160. package/src/defaults.ts +9 -0
  161. package/src/index.ts +36 -1
  162. package/src/test-helpers/ClassMirrorBuilder.ts +14 -1
  163. package/src/test-helpers/FieldMirrorBuilder.ts +1 -1
  164. package/src/test-helpers/InterfaceMirrorBuilder.ts +39 -0
  165. package/src/test-helpers/MethodMirrorBuilder.ts +46 -6
  166. package/src/test-helpers/SettingsBuilder.ts +1 -4
  167. package/src/util/error-logger.ts +4 -4
  168. package/src/util/fp.ts +3 -0
  169. package/src/util/logger.ts +12 -25
  170. package/src/util/string-utils.ts +0 -4
  171. package/tsconfig.json +8 -3
  172. package/.eslintrc.js +0 -12
  173. package/apexdocs.config.ts +0 -13
  174. package/docs/.nojekyll +0 -0
  175. package/docs/README.md +0 -1
  176. package/docs/index.html +0 -22
  177. package/docs/restapi.json +0 -589
  178. package/docs/types/Classes/nspc.AnotherInterface.md +0 -22
  179. package/docs/types/Classes/nspc.ChildClass.md +0 -97
  180. package/docs/types/Main/nspc.GroupedClass.md +0 -10
  181. package/docs/types/Main/nspc.SampleClass.md +0 -190
  182. package/docs/types/Misc-Group/nspc.EscapedAnnotations.md +0 -4
  183. package/docs/types/Misc-Group/nspc.GrandparentClass.md +0 -13
  184. package/docs/types/Misc-Group/nspc.InterfaceWithInheritance.md +0 -29
  185. package/docs/types/Misc-Group/nspc.MemberGrouping.md +0 -13
  186. package/docs/types/Misc-Group/nspc.ParentClass.md +0 -37
  187. package/docs/types/Misc-Group/nspc.Reference1.md +0 -18
  188. package/docs/types/Misc-Group/nspc.Reference2.md +0 -12
  189. package/docs/types/Misc-Group/nspc.Reference3.md +0 -7
  190. package/docs/types/Misc-Group/nspc.Reference4.md +0 -7
  191. package/docs/types/Misc-Group/nspc.Reference5.md +0 -7
  192. package/docs/types/Misc-Group/nspc.Reference6.md +0 -9
  193. package/docs/types/Misc-Group/nspc.Reference7.md +0 -7
  194. package/docs/types/Misc-Group/nspc.SampleClassWithoutModifier.md +0 -11
  195. package/docs/types/Misc-Group/nspc.SampleRestResource.md +0 -211
  196. package/docs/types/Misc-Group/nspc.SampleRestResourceWithInnerClass.md +0 -34
  197. package/docs/types/Misc-Group/nspc.SampleRestResourceWithoutApexDocs.md +0 -14
  198. package/docs/types/README.md +0 -97
  199. package/docs/types/Sample-Interfaces/nspc.SampleInterface.md +0 -23
  200. package/examples/includes/header.md +0 -3
  201. package/lib/application/Apexdocs.d.ts +0 -13
  202. package/lib/application/Apexdocs.js +0 -77
  203. package/lib/application/Apexdocs.js.map +0 -1
  204. package/lib/cli/generate.d.ts +0 -2
  205. package/lib/cli/generate.js +0 -131
  206. package/lib/cli/generate.js.map +0 -1
  207. package/lib/index.d.ts +0 -1
  208. package/lib/index.js +0 -18
  209. package/lib/index.js.map +0 -1
  210. package/lib/model/apex-bundle.d.ts +0 -6
  211. package/lib/model/apex-bundle.js +0 -11
  212. package/lib/model/apex-bundle.js.map +0 -1
  213. package/lib/model/apex-type-wrappers/ClassMirrorWrapper.d.ts +0 -7
  214. package/lib/model/apex-type-wrappers/ClassMirrorWrapper.js +0 -14
  215. package/lib/model/apex-type-wrappers/ClassMirrorWrapper.js.map +0 -1
  216. package/lib/model/apex-type-wrappers/MethodMirrorWrapper.d.ts +0 -7
  217. package/lib/model/apex-type-wrappers/MethodMirrorWrapper.js +0 -12
  218. package/lib/model/apex-type-wrappers/MethodMirrorWrapper.js.map +0 -1
  219. package/lib/model/inheritance.d.ts +0 -8
  220. package/lib/model/inheritance.js +0 -3
  221. package/lib/model/inheritance.js.map +0 -1
  222. package/lib/model/manifest-diff.d.ts +0 -27
  223. package/lib/model/manifest-diff.js +0 -69
  224. package/lib/model/manifest-diff.js.map +0 -1
  225. package/lib/model/manifest.d.ts +0 -22
  226. package/lib/model/manifest.js +0 -47
  227. package/lib/model/manifest.js.map +0 -1
  228. package/lib/model/markdown-file.d.ts +0 -16
  229. package/lib/model/markdown-file.js +0 -107
  230. package/lib/model/markdown-file.js.map +0 -1
  231. package/lib/model/markdown-generation-util/doc-comment-annotation-util.d.ts +0 -8
  232. package/lib/model/markdown-generation-util/doc-comment-annotation-util.js +0 -44
  233. package/lib/model/markdown-generation-util/doc-comment-annotation-util.js.map +0 -1
  234. package/lib/model/markdown-generation-util/field-declaration-util.d.ts +0 -3
  235. package/lib/model/markdown-generation-util/field-declaration-util.js +0 -55
  236. package/lib/model/markdown-generation-util/field-declaration-util.js.map +0 -1
  237. package/lib/model/markdown-generation-util/index.d.ts +0 -3
  238. package/lib/model/markdown-generation-util/index.js +0 -20
  239. package/lib/model/markdown-generation-util/index.js.map +0 -1
  240. package/lib/model/markdown-generation-util/method-declaration-util.d.ts +0 -4
  241. package/lib/model/markdown-generation-util/method-declaration-util.js +0 -115
  242. package/lib/model/markdown-generation-util/method-declaration-util.js.map +0 -1
  243. package/lib/model/markdown-generation-util/type-declaration-util.d.ts +0 -3
  244. package/lib/model/markdown-generation-util/type-declaration-util.js +0 -82
  245. package/lib/model/markdown-generation-util/type-declaration-util.js.map +0 -1
  246. package/lib/model/markdown-home-file.d.ts +0 -11
  247. package/lib/model/markdown-home-file.js +0 -54
  248. package/lib/model/markdown-home-file.js.map +0 -1
  249. package/lib/model/markdown-type-file.d.ts +0 -26
  250. package/lib/model/markdown-type-file.js +0 -134
  251. package/lib/model/markdown-type-file.js.map +0 -1
  252. package/lib/model/openapi/apex-doc-types.d.ts +0 -19
  253. package/lib/model/openapi/apex-doc-types.js +0 -5
  254. package/lib/model/openapi/apex-doc-types.js.map +0 -1
  255. package/lib/model/openapi/open-api-types.d.ts +0 -93
  256. package/lib/model/openapi/open-api-types.js +0 -3
  257. package/lib/model/openapi/open-api-types.js.map +0 -1
  258. package/lib/model/openapi/open-api.d.ts +0 -16
  259. package/lib/model/openapi/open-api.js +0 -34
  260. package/lib/model/openapi/open-api.js.map +0 -1
  261. package/lib/model/openapi/openapi-type-file.d.ts +0 -7
  262. package/lib/model/openapi/openapi-type-file.js +0 -17
  263. package/lib/model/openapi/openapi-type-file.js.map +0 -1
  264. package/lib/model/outputFile.d.ts +0 -10
  265. package/lib/model/outputFile.js +0 -29
  266. package/lib/model/outputFile.js.map +0 -1
  267. package/lib/model/types-repository.d.ts +0 -16
  268. package/lib/model/types-repository.js +0 -54
  269. package/lib/model/types-repository.js.map +0 -1
  270. package/lib/service/apex-file-reader.d.ts +0 -14
  271. package/lib/service/apex-file-reader.js +0 -46
  272. package/lib/service/apex-file-reader.js.map +0 -1
  273. package/lib/service/file-system.d.ts +0 -14
  274. package/lib/service/file-system.js +0 -25
  275. package/lib/service/file-system.js.map +0 -1
  276. package/lib/service/file-writer.d.ts +0 -6
  277. package/lib/service/file-writer.js +0 -34
  278. package/lib/service/file-writer.js.map +0 -1
  279. package/lib/service/manifest-factory.d.ts +0 -10
  280. package/lib/service/manifest-factory.js +0 -14
  281. package/lib/service/manifest-factory.js.map +0 -1
  282. package/lib/service/metadata-processor.d.ts +0 -3
  283. package/lib/service/metadata-processor.js +0 -17
  284. package/lib/service/metadata-processor.js.map +0 -1
  285. package/lib/service/parser.d.ts +0 -21
  286. package/lib/service/parser.js +0 -135
  287. package/lib/service/parser.js.map +0 -1
  288. package/lib/service/state.d.ts +0 -9
  289. package/lib/service/state.js +0 -20
  290. package/lib/service/state.js.map +0 -1
  291. package/lib/service/walkers/class-walker.d.ts +0 -4
  292. package/lib/service/walkers/class-walker.js +0 -33
  293. package/lib/service/walkers/class-walker.js.map +0 -1
  294. package/lib/service/walkers/enum-walker.d.ts +0 -4
  295. package/lib/service/walkers/enum-walker.js +0 -11
  296. package/lib/service/walkers/enum-walker.js.map +0 -1
  297. package/lib/service/walkers/interface-walker.d.ts +0 -4
  298. package/lib/service/walkers/interface-walker.js +0 -15
  299. package/lib/service/walkers/interface-walker.js.map +0 -1
  300. package/lib/service/walkers/walker-factory.d.ts +0 -5
  301. package/lib/service/walkers/walker-factory.js +0 -21
  302. package/lib/service/walkers/walker-factory.js.map +0 -1
  303. package/lib/service/walkers/walker.d.ts +0 -19
  304. package/lib/service/walkers/walker.js +0 -17
  305. package/lib/service/walkers/walker.js.map +0 -1
  306. package/lib/settings.d.ts +0 -64
  307. package/lib/settings.js +0 -89
  308. package/lib/settings.js.map +0 -1
  309. package/lib/test-helpers/AnnotationBuilder.d.ts +0 -12
  310. package/lib/test-helpers/AnnotationBuilder.js +0 -31
  311. package/lib/test-helpers/AnnotationBuilder.js.map +0 -1
  312. package/lib/test-helpers/ClassMirrorBuilder.d.ts +0 -18
  313. package/lib/test-helpers/ClassMirrorBuilder.js +0 -54
  314. package/lib/test-helpers/ClassMirrorBuilder.js.map +0 -1
  315. package/lib/test-helpers/DocCommentAnnotationBuilder.d.ts +0 -8
  316. package/lib/test-helpers/DocCommentAnnotationBuilder.js +0 -26
  317. package/lib/test-helpers/DocCommentAnnotationBuilder.js.map +0 -1
  318. package/lib/test-helpers/DocCommentBuilder.d.ts +0 -12
  319. package/lib/test-helpers/DocCommentBuilder.js +0 -38
  320. package/lib/test-helpers/DocCommentBuilder.js.map +0 -1
  321. package/lib/test-helpers/FieldMirrorBuilder.d.ts +0 -18
  322. package/lib/test-helpers/FieldMirrorBuilder.js +0 -54
  323. package/lib/test-helpers/FieldMirrorBuilder.js.map +0 -1
  324. package/lib/test-helpers/MethodMirrorBuilder.d.ts +0 -10
  325. package/lib/test-helpers/MethodMirrorBuilder.js +0 -37
  326. package/lib/test-helpers/MethodMirrorBuilder.js.map +0 -1
  327. package/lib/test-helpers/SettingsBuilder.d.ts +0 -8
  328. package/lib/test-helpers/SettingsBuilder.js +0 -27
  329. package/lib/test-helpers/SettingsBuilder.js.map +0 -1
  330. package/lib/transpiler/factory.d.ts +0 -6
  331. package/lib/transpiler/factory.js +0 -32
  332. package/lib/transpiler/factory.js.map +0 -1
  333. package/lib/transpiler/file-container.d.ts +0 -6
  334. package/lib/transpiler/file-container.js +0 -16
  335. package/lib/transpiler/file-container.js.map +0 -1
  336. package/lib/transpiler/generator-choices.d.ts +0 -1
  337. package/lib/transpiler/generator-choices.js +0 -3
  338. package/lib/transpiler/generator-choices.js.map +0 -1
  339. package/lib/transpiler/markdown/class-file-generatorHelper.d.ts +0 -8
  340. package/lib/transpiler/markdown/class-file-generatorHelper.js +0 -56
  341. package/lib/transpiler/markdown/class-file-generatorHelper.js.map +0 -1
  342. package/lib/transpiler/markdown/docsify/docsify-docs-processor.d.ts +0 -6
  343. package/lib/transpiler/markdown/docsify/docsify-docs-processor.js +0 -13
  344. package/lib/transpiler/markdown/docsify/docsify-docs-processor.js.map +0 -1
  345. package/lib/transpiler/markdown/jekyll/jekyll-docsProcessor.d.ts +0 -11
  346. package/lib/transpiler/markdown/jekyll/jekyll-docsProcessor.js +0 -51
  347. package/lib/transpiler/markdown/jekyll/jekyll-docsProcessor.js.map +0 -1
  348. package/lib/transpiler/markdown/markdown-transpiler-base.d.ts +0 -11
  349. package/lib/transpiler/markdown/markdown-transpiler-base.js +0 -24
  350. package/lib/transpiler/markdown/markdown-transpiler-base.js.map +0 -1
  351. package/lib/transpiler/markdown/plain-markdown/plain-docsProcessor.d.ts +0 -6
  352. package/lib/transpiler/markdown/plain-markdown/plain-docsProcessor.js +0 -14
  353. package/lib/transpiler/markdown/plain-markdown/plain-docsProcessor.js.map +0 -1
  354. package/lib/transpiler/openapi/open-api-docs-processor.d.ts +0 -13
  355. package/lib/transpiler/openapi/open-api-docs-processor.js +0 -75
  356. package/lib/transpiler/openapi/open-api-docs-processor.js.map +0 -1
  357. package/lib/transpiler/openapi/parsers/Builder.d.ts +0 -16
  358. package/lib/transpiler/openapi/parsers/Builder.js +0 -30
  359. package/lib/transpiler/openapi/parsers/Builder.js.map +0 -1
  360. package/lib/transpiler/openapi/parsers/MethodParser.d.ts +0 -20
  361. package/lib/transpiler/openapi/parsers/MethodParser.js +0 -167
  362. package/lib/transpiler/openapi/parsers/MethodParser.js.map +0 -1
  363. package/lib/transpiler/openapi/parsers/ParameterObjectBuilder.d.ts +0 -7
  364. package/lib/transpiler/openapi/parsers/ParameterObjectBuilder.js +0 -11
  365. package/lib/transpiler/openapi/parsers/ParameterObjectBuilder.js.map +0 -1
  366. package/lib/transpiler/openapi/parsers/ReferenceBuilder.d.ts +0 -39
  367. package/lib/transpiler/openapi/parsers/ReferenceBuilder.js +0 -226
  368. package/lib/transpiler/openapi/parsers/ReferenceBuilder.js.map +0 -1
  369. package/lib/transpiler/openapi/parsers/RequestBodyBuilder.d.ts +0 -10
  370. package/lib/transpiler/openapi/parsers/RequestBodyBuilder.js +0 -20
  371. package/lib/transpiler/openapi/parsers/RequestBodyBuilder.js.map +0 -1
  372. package/lib/transpiler/openapi/parsers/ResponsesBuilder.d.ts +0 -7
  373. package/lib/transpiler/openapi/parsers/ResponsesBuilder.js +0 -22
  374. package/lib/transpiler/openapi/parsers/ResponsesBuilder.js.map +0 -1
  375. package/lib/transpiler/processor-type-transpiler.d.ts +0 -10
  376. package/lib/transpiler/processor-type-transpiler.js +0 -9
  377. package/lib/transpiler/processor-type-transpiler.js.map +0 -1
  378. package/lib/transpiler/transpiler.d.ts +0 -5
  379. package/lib/transpiler/transpiler.js +0 -27
  380. package/lib/transpiler/transpiler.js.map +0 -1
  381. package/lib/util/error-logger.d.ts +0 -8
  382. package/lib/util/error-logger.js +0 -90
  383. package/lib/util/error-logger.js.map +0 -1
  384. package/lib/util/logger.d.ts +0 -21
  385. package/lib/util/logger.js +0 -58
  386. package/lib/util/logger.js.map +0 -1
  387. package/lib/util/string-utils.d.ts +0 -2
  388. package/lib/util/string-utils.js +0 -15
  389. package/lib/util/string-utils.js.map +0 -1
  390. package/src/model/__tests__/manifest-diff.spec.ts +0 -147
  391. package/src/model/apex-bundle.ts +0 -3
  392. package/src/model/inheritance.ts +0 -7
  393. package/src/model/manifest-diff.ts +0 -94
  394. package/src/model/manifest.ts +0 -74
  395. package/src/model/markdown-file.ts +0 -121
  396. package/src/model/markdown-generation-util/doc-comment-annotation-util.ts +0 -50
  397. package/src/model/markdown-generation-util/field-declaration-util.ts +0 -71
  398. package/src/model/markdown-generation-util/index.ts +0 -3
  399. package/src/model/markdown-generation-util/method-declaration-util.ts +0 -166
  400. package/src/model/markdown-generation-util/type-declaration-util.ts +0 -91
  401. package/src/model/markdown-home-file.ts +0 -58
  402. package/src/model/markdown-type-file.ts +0 -165
  403. package/src/model/openapi/openapi-type-file.ts +0 -14
  404. package/src/model/outputFile.ts +0 -29
  405. package/src/service/__tests__/apex-file-reader.spec.ts +0 -92
  406. package/src/service/apex-file-reader.ts +0 -51
  407. package/src/service/file-system.ts +0 -33
  408. package/src/service/file-writer.ts +0 -34
  409. package/src/service/metadata-processor.ts +0 -16
  410. package/src/service/state.ts +0 -24
  411. package/src/service/walkers/class-walker.ts +0 -30
  412. package/src/service/walkers/enum-walker.ts +0 -7
  413. package/src/service/walkers/interface-walker.ts +0 -12
  414. package/src/service/walkers/walker-factory.ts +0 -19
  415. package/src/service/walkers/walker.ts +0 -42
  416. package/src/settings.ts +0 -147
  417. package/src/transpiler/factory.ts +0 -33
  418. package/src/transpiler/file-container.ts +0 -13
  419. package/src/transpiler/generator-choices.ts +0 -1
  420. package/src/transpiler/markdown/class-file-generatorHelper.ts +0 -58
  421. package/src/transpiler/markdown/docsify/docsify-docs-processor.ts +0 -12
  422. package/src/transpiler/markdown/jekyll/jekyll-docsProcessor.ts +0 -50
  423. package/src/transpiler/markdown/markdown-transpiler-base.ts +0 -28
  424. package/src/transpiler/markdown/plain-markdown/plain-docsProcessor.ts +0 -12
  425. package/src/transpiler/processor-type-transpiler.ts +0 -18
  426. /package/src/{model/__tests__ → core/__test__}/manifest.spec.ts +0 -0
  427. /package/src/{model → core}/openapi/__tests__/open-api.spec.ts +0 -0
  428. /package/src/{model → core}/openapi/apex-doc-types.ts +0 -0
  429. /package/src/{model → core/openapi}/apex-type-wrappers/ClassMirrorWrapper.ts +0 -0
  430. /package/src/{model → core/openapi}/apex-type-wrappers/MethodMirrorWrapper.ts +0 -0
  431. /package/src/{model → core}/openapi/open-api.ts +0 -0
@@ -1,34 +0,0 @@
1
- # nspc.SampleRestResourceWithInnerClass
2
-
3
- `RESTRESOURCE`
4
-
5
- Contact related operations
6
-
7
- ## Methods
8
- ### `global static InnerClass doGet()`
9
-
10
- `HTTPGET`
11
-
12
- This is a sample HTTP Get method
13
-
14
- #### Returns
15
-
16
- |Type|Description|
17
- |---|---|
18
- |`InnerClass`|A SampleRestResourceWithInnerClass.InnerClass Object.|
19
-
20
-
21
- **Http Response** statusCode: 200
22
- schema: SampleRestResourceWithInnerClass.InnerClass
23
-
24
- ---
25
- ## Classes
26
- ### InnerClass
27
- #### Fields
28
-
29
- ##### `global stringMember` → `String`
30
-
31
-
32
- ---
33
-
34
- ---
@@ -1,14 +0,0 @@
1
- # nspc.SampleRestResourceWithoutApexDocs
2
-
3
- `RESTRESOURCE`
4
-
5
- Order related operations
6
-
7
- ## Methods
8
- ### `global static String doGet(String param1, Reference1 param2)`
9
-
10
- `HTTPGET`
11
- ### `global static String doPatch(String param1, Reference1 param2)`
12
-
13
- `HTTPPATCH`
14
- ---
@@ -1,97 +0,0 @@
1
- # Sample Documentation
2
- ## Classes
3
-
4
- ### [nspc.AnotherInterface](types/Classes/nspc.AnotherInterface.md)
5
-
6
- Some desc
7
-
8
-
9
-
10
- ### [nspc.ChildClass](types/Classes/nspc.ChildClass.md)
11
-
12
- Some desc
13
-
14
-
15
- ## Misc Group
16
-
17
- ### [nspc.EscapedAnnotations](types/Misc-Group/nspc.EscapedAnnotations.md)
18
-
19
- This sentence has an `@embedded` annotation.
20
-
21
-
22
-
23
- ### [nspc.GrandparentClass](types/Misc-Group/nspc.GrandparentClass.md)
24
-
25
-
26
- ### [nspc.InterfaceWithInheritance](types/Misc-Group/nspc.InterfaceWithInheritance.md)
27
-
28
-
29
- ### [nspc.MemberGrouping](types/Misc-Group/nspc.MemberGrouping.md)
30
-
31
-
32
- ### [nspc.ParentClass](types/Misc-Group/nspc.ParentClass.md)
33
-
34
-
35
- ### [nspc.Reference1](types/Misc-Group/nspc.Reference1.md)
36
-
37
-
38
- ### [nspc.Reference2](types/Misc-Group/nspc.Reference2.md)
39
-
40
-
41
- ### [nspc.Reference3](types/Misc-Group/nspc.Reference3.md)
42
-
43
-
44
- ### [nspc.Reference4](types/Misc-Group/nspc.Reference4.md)
45
-
46
-
47
- ### [nspc.Reference5](types/Misc-Group/nspc.Reference5.md)
48
-
49
-
50
- ### [nspc.Reference6](types/Misc-Group/nspc.Reference6.md)
51
-
52
-
53
- ### [nspc.Reference7](types/Misc-Group/nspc.Reference7.md)
54
-
55
-
56
- ### [nspc.SampleClassWithoutModifier](types/Misc-Group/nspc.SampleClassWithoutModifier.md)
57
-
58
-
59
- ### [nspc.SampleRestResource](types/Misc-Group/nspc.SampleRestResource.md)
60
-
61
- Account related operations
62
-
63
-
64
-
65
- ### [nspc.SampleRestResourceWithInnerClass](types/Misc-Group/nspc.SampleRestResourceWithInnerClass.md)
66
-
67
- Contact related operations
68
-
69
-
70
-
71
- ### [nspc.SampleRestResourceWithoutApexDocs](types/Misc-Group/nspc.SampleRestResourceWithoutApexDocs.md)
72
-
73
- Order related operations
74
-
75
-
76
- ## Main
77
-
78
- ### [nspc.GroupedClass](types/Main/nspc.GroupedClass.md)
79
-
80
- Uses a block style apex doc
81
-
82
-
83
-
84
- ### [nspc.SampleClass](types/Main/nspc.SampleClass.md)
85
-
86
- This is a class description. This class relates to [nspc.SampleInterface](types/Sample-Interfaces/nspc.SampleInterface.md)
87
- But this [ClassThatDoesNotExist](ClassThatDoesNotExist) does not exist.
88
- You can also link using this syntax [nspc.SampleInterface](types/Sample-Interfaces/nspc.SampleInterface.md)
89
-
90
-
91
- ## Sample Interfaces
92
-
93
- ### [nspc.SampleInterface](types/Sample-Interfaces/nspc.SampleInterface.md)
94
-
95
- This is an interface description.
96
-
97
-
@@ -1,23 +0,0 @@
1
- # nspc.SampleInterface
2
-
3
- This is an interface description.
4
-
5
-
6
- **Group** Sample Interfaces
7
-
8
- ## Methods
9
- ### `global void execute()`
10
-
11
- Executes the command.
12
-
13
- ### `global String getValue()`
14
-
15
- Returns a value based on the executed command.
16
-
17
- #### Returns
18
-
19
- |Type|Description|
20
- |---|---|
21
- |`String`|The value|
22
-
23
- ---
@@ -1,3 +0,0 @@
1
- # Welcome to the Apex Docs documentation example.
2
-
3
- This content will be added to the top of the home page.
@@ -1,13 +0,0 @@
1
- import { ReflectionResult } from '@cparra/apex-reflection';
2
- import ApexBundle from '../model/apex-bundle';
3
- /**
4
- * Application entry-point to generate documentation out of Apex source files.
5
- */
6
- export declare class Apexdocs {
7
- /**
8
- * Generates documentation out of Apex source files.
9
- */
10
- static generate(): void;
11
- private static filterByScopes;
12
- static _reflectionWithLogger: (apexBundle: ApexBundle) => ReflectionResult;
13
- }
@@ -1,77 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Apexdocs = void 0;
4
- const apex_file_reader_1 = require("../service/apex-file-reader");
5
- const file_system_1 = require("../service/file-system");
6
- const apex_reflection_1 = require("@cparra/apex-reflection");
7
- const logger_1 = require("../util/logger");
8
- const manifest_factory_1 = require("../service/manifest-factory");
9
- const parser_1 = require("../service/parser");
10
- const settings_1 = require("../settings");
11
- const transpiler_1 = require("../transpiler/transpiler");
12
- const file_writer_1 = require("../service/file-writer");
13
- const error_logger_1 = require("../util/error-logger");
14
- const types_repository_1 = require("../model/types-repository");
15
- const factory_1 = require("../transpiler/factory");
16
- /**
17
- * Application entry-point to generate documentation out of Apex source files.
18
- */
19
- class Apexdocs {
20
- /**
21
- * Generates documentation out of Apex source files.
22
- */
23
- static generate() {
24
- logger_1.Logger.log('Initializing...');
25
- const fileBodies = apex_file_reader_1.ApexFileReader.processFiles(new file_system_1.DefaultFileSystem());
26
- const manifest = (0, manifest_factory_1.createManifest)(new parser_1.RawBodyParser(fileBodies), this._reflectionWithLogger);
27
- types_repository_1.TypesRepository.getInstance().populateAll(manifest.types);
28
- const filteredTypes = this.filterByScopes(manifest);
29
- types_repository_1.TypesRepository.getInstance().populateScoped(filteredTypes);
30
- const processor = factory_1.TypeTranspilerFactory.get(settings_1.Settings.getInstance().targetGenerator);
31
- transpiler_1.default.generate(filteredTypes, processor);
32
- const generatedFiles = processor.fileBuilder().files();
33
- const files = [];
34
- file_writer_1.FileWriter.write(generatedFiles, (file) => {
35
- logger_1.Logger.logSingle(`${file.name} processed.`, false, 'green', false);
36
- files.push(file);
37
- });
38
- settings_1.Settings.getInstance().onAfterProcess(files);
39
- // Error logging
40
- error_logger_1.default.logErrors(filteredTypes);
41
- }
42
- static filterByScopes(manifest) {
43
- let filteredTypes;
44
- let filteredLogMessage;
45
- if (settings_1.Settings.getInstance().config.targetGenerator !== 'openapi') {
46
- filteredTypes = manifest.filteredByAccessModifierAndAnnotations(settings_1.Settings.getInstance().scope);
47
- filteredLogMessage = `Filtered ${manifest.types.length - filteredTypes.length} file(s) based on scope: ${settings_1.Settings.getInstance().scope}`;
48
- }
49
- else {
50
- // If we are dealing with an OpenApi generator, we ignore the passed in access modifiers, and instead
51
- // we only keep classes annotated as @RestResource
52
- filteredTypes = manifest.filteredByAccessModifierAndAnnotations([
53
- 'restresource',
54
- 'httpdelete',
55
- 'httpget',
56
- 'httppatch',
57
- 'httppost',
58
- 'httpput',
59
- ]);
60
- filteredLogMessage = `Filtered ${manifest.types.length - filteredTypes.length} file(s), only keeping classes annotated as @RestResource.`;
61
- }
62
- logger_1.Logger.clear();
63
- logger_1.Logger.logSingle(filteredLogMessage, false, 'green', false);
64
- logger_1.Logger.logSingle(`Creating documentation for ${filteredTypes.length} file(s)`, false, 'green', false);
65
- return filteredTypes;
66
- }
67
- }
68
- exports.Apexdocs = Apexdocs;
69
- Apexdocs._reflectionWithLogger = (apexBundle) => {
70
- var _a;
71
- const result = (0, apex_reflection_1.reflect)(apexBundle.rawTypeContent);
72
- if (result.error) {
73
- logger_1.Logger.error(`${apexBundle.filePath} - Parsing error ${(_a = result.error) === null || _a === void 0 ? void 0 : _a.message}`);
74
- }
75
- return result;
76
- };
77
- //# sourceMappingURL=Apexdocs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Apexdocs.js","sourceRoot":"","sources":["../../src/application/Apexdocs.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
@@ -1,131 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- const yargs = require("yargs");
5
- const settings_1 = require("../settings");
6
- const Apexdocs_1 = require("../application/Apexdocs");
7
- const cosmiconfig_1 = require("cosmiconfig");
8
- const result = (0, cosmiconfig_1.cosmiconfig)('apexdocs').search();
9
- result.then((config) => {
10
- var _a, _b, _c;
11
- yargs.config(config === null || config === void 0 ? void 0 : config.config);
12
- let argv = yargs.options({
13
- sourceDir: {
14
- type: 'string',
15
- alias: 's',
16
- demandOption: true,
17
- describe: 'The directory location which contains your apex .cls classes.',
18
- },
19
- targetDir: {
20
- type: 'string',
21
- alias: 't',
22
- default: './docs/',
23
- describe: 'The directory location where documentation will be generated to.',
24
- },
25
- recursive: {
26
- type: 'boolean',
27
- alias: 'r',
28
- default: true,
29
- describe: 'Whether .cls classes will be searched for recursively in the directory provided.',
30
- },
31
- scope: {
32
- type: 'array',
33
- alias: 'p',
34
- default: ['global'],
35
- describe: 'A list of scopes to document. Values should be separated by a space, e.g --scope global public namespaceaccessible. ' +
36
- 'Annotations are supported and should be passed lowercased and without the @ symbol, e.g. namespaceaccessible auraenabled. ' +
37
- 'Note that this setting is ignored if generating an OpenApi REST specification since that looks for classes annotated with @RestResource.',
38
- },
39
- targetGenerator: {
40
- type: 'string',
41
- alias: 'g',
42
- default: 'jekyll',
43
- choices: ['jekyll', 'docsify', 'plain-markdown', 'openapi'],
44
- describe: 'Define the static file generator for which the documents will be created. ' +
45
- 'Currently supports jekyll, docsify, plain markdown, and OpenAPI v3.1.0.',
46
- },
47
- indexOnly: {
48
- type: 'boolean',
49
- default: false,
50
- describe: 'Defines whether only the index file should be generated.',
51
- },
52
- defaultGroupName: {
53
- type: 'string',
54
- default: 'Miscellaneous',
55
- describe: 'Defines the @group name to be used when a file does not specify it.',
56
- },
57
- sanitizeHtml: {
58
- type: 'boolean',
59
- default: true,
60
- describe: 'When on, any special character within your ApexDocs is converted into its HTML code representation. ' +
61
- 'This is specially useful when generic objects are described within the docs, e.g. "List< Foo>", "Map<Foo, Bar>" ' +
62
- 'because otherwise the content within < and > would be treated as HTML tags and not shown in the output. ' +
63
- 'Content in @example blocks are never sanitized.',
64
- },
65
- openApiTitle: {
66
- type: 'string',
67
- default: 'Apex REST Api',
68
- describe: 'If using "openapi" as the target generator, this allows you to specify the OpenApi title value.',
69
- },
70
- title: {
71
- type: 'string',
72
- describe: "If this allows you to specify the title of the generated documentation's home file.",
73
- default: 'Classes',
74
- },
75
- namespace: {
76
- type: 'string',
77
- describe: 'The package namespace, if any. If this value is provided the namespace will be added as a prefix to all of the parsed files. ' +
78
- "If generating an OpenApi definition, it will be added to the file's Server Url.",
79
- },
80
- openApiFileName: {
81
- type: 'string',
82
- describe: 'If using "openapi" as the target generator, this allows you to specify the name of the output file.',
83
- default: 'openapi',
84
- },
85
- sortMembersAlphabetically: {
86
- type: 'boolean',
87
- describe: 'Whether to sort members alphabetically.',
88
- default: false,
89
- },
90
- includeMetadata: {
91
- type: 'boolean',
92
- describe: "Whether to include the file's meta.xml information: Whether it is active and and the API version",
93
- default: false,
94
- },
95
- documentationRootDir: {
96
- type: 'string',
97
- describe: 'Allows you to specify the root documentation directory where the files are being generated. This can be helpful when embedding the generated docs into an existing site so that the links are generated correctly.',
98
- },
99
- }).argv;
100
- if (config) {
101
- argv = Object.assign(Object.assign({}, config.config), argv);
102
- }
103
- settings_1.Settings.build({
104
- sourceDirectory: argv.sourceDir,
105
- recursive: argv.recursive,
106
- scope: argv.scope,
107
- outputDir: argv.targetDir,
108
- targetGenerator: argv.targetGenerator,
109
- indexOnly: argv.indexOnly,
110
- defaultGroupName: argv.defaultGroupName,
111
- sanitizeHtml: argv.sanitizeHtml,
112
- openApiTitle: argv.openApiTitle,
113
- title: argv.title,
114
- namespace: argv.namespace,
115
- openApiFileName: argv.openApiFileName,
116
- sortMembersAlphabetically: argv.sortMembersAlphabetically,
117
- includeMetadata: argv.includeMetadata,
118
- rootDir: argv.documentationRootDir,
119
- onAfterProcess: (_a = config === null || config === void 0 ? void 0 : config.config) === null || _a === void 0 ? void 0 : _a.onAfterProcess,
120
- onBeforeFileWrite: (_b = config === null || config === void 0 ? void 0 : config.config) === null || _b === void 0 ? void 0 : _b.onBeforeFileWrite,
121
- frontMatterHeader: (_c = config === null || config === void 0 ? void 0 : config.config) === null || _c === void 0 ? void 0 : _c.frontMatterHeader,
122
- });
123
- try {
124
- Apexdocs_1.Apexdocs.generate();
125
- }
126
- catch (error) {
127
- console.error(error);
128
- process.exit(1);
129
- }
130
- });
131
- //# sourceMappingURL=generate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from './service/manifest-factory';
package/lib/index.js DELETED
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./service/manifest-factory"), exports);
18
- //# sourceMappingURL=index.js.map
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C"}
@@ -1,6 +0,0 @@
1
- export default class ApexBundle {
2
- filePath: string;
3
- rawTypeContent: string;
4
- rawMetadataContent: string | null;
5
- constructor(filePath: string, rawTypeContent: string, rawMetadataContent: string | null);
6
- }
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class ApexBundle {
4
- constructor(filePath, rawTypeContent, rawMetadataContent) {
5
- this.filePath = filePath;
6
- this.rawTypeContent = rawTypeContent;
7
- this.rawMetadataContent = rawMetadataContent;
8
- }
9
- }
10
- exports.default = ApexBundle;
11
- //# sourceMappingURL=apex-bundle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"apex-bundle.js","sourceRoot":"","sources":["../../src/model/apex-bundle.ts"],"names":[],"mappings":";;AAAA,MAAqB,UAAU;IAC7B,YAAmB,QAAgB,EAAS,cAAsB,EAAS,kBAAiC;QAAzF,aAAQ,GAAR,QAAQ,CAAQ;QAAS,mBAAc,GAAd,cAAc,CAAQ;QAAS,uBAAkB,GAAlB,kBAAkB,CAAe;IAAG,CAAC;CACjH;AAFD,6BAEC"}
@@ -1,7 +0,0 @@
1
- import { ClassMirror, MethodMirror } from '@cparra/apex-reflection';
2
- export declare class ClassMirrorWrapper {
3
- classMirror: ClassMirror;
4
- constructor(classMirror: ClassMirror);
5
- getMethodsByAnnotation(annotation: string): MethodMirror[];
6
- private hasAnnotation;
7
- }
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ClassMirrorWrapper = void 0;
4
- class ClassMirrorWrapper {
5
- constructor(classMirror) {
6
- this.classMirror = classMirror;
7
- this.hasAnnotation = (method, annotationName) => method.annotations.some((annotation) => annotation.name.toLowerCase() === annotationName);
8
- }
9
- getMethodsByAnnotation(annotation) {
10
- return this.classMirror.methods.filter((method) => this.hasAnnotation(method, annotation));
11
- }
12
- }
13
- exports.ClassMirrorWrapper = ClassMirrorWrapper;
14
- //# sourceMappingURL=ClassMirrorWrapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ClassMirrorWrapper.js","sourceRoot":"","sources":["../../../src/model/apex-type-wrappers/ClassMirrorWrapper.ts"],"names":[],"mappings":";;;AAEA,MAAa,kBAAkB;IAC7B,YAAmB,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;QAMnC,kBAAa,GAAG,CAAC,MAAoB,EAAE,cAAsB,EAAE,EAAE,CACvE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC,CAAC;IAP9C,CAAC;IAE/C,sBAAsB,CAAC,UAAkB;QACvC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IAC7F,CAAC;CAIF;AATD,gDASC"}
@@ -1,7 +0,0 @@
1
- import { DocCommentAnnotation, MethodMirror } from '@cparra/apex-reflection';
2
- export declare class MethodMirrorWrapper {
3
- methodMirror: MethodMirror;
4
- constructor(methodMirror: MethodMirror);
5
- hasDocCommentAnnotation: (annotationName: string) => boolean | undefined;
6
- getDocCommentAnnotation: (annotationName: string) => DocCommentAnnotation | undefined;
7
- }
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MethodMirrorWrapper = void 0;
4
- class MethodMirrorWrapper {
5
- constructor(methodMirror) {
6
- this.methodMirror = methodMirror;
7
- this.hasDocCommentAnnotation = (annotationName) => { var _a; return (_a = this.methodMirror.docComment) === null || _a === void 0 ? void 0 : _a.annotations.some((annotation) => annotation.name.toLowerCase() === annotationName); };
8
- this.getDocCommentAnnotation = (annotationName) => { var _a; return (_a = this.methodMirror.docComment) === null || _a === void 0 ? void 0 : _a.annotations.find((annotation) => annotation.name.toLowerCase() === annotationName); };
9
- }
10
- }
11
- exports.MethodMirrorWrapper = MethodMirrorWrapper;
12
- //# sourceMappingURL=MethodMirrorWrapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MethodMirrorWrapper.js","sourceRoot":"","sources":["../../../src/model/apex-type-wrappers/MethodMirrorWrapper.ts"],"names":[],"mappings":";;;AAEA,MAAa,mBAAmB;IAC9B,YAAmB,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;QAEtC,4BAAuB,GAAG,CAAC,cAAsB,EAAE,EAAE,WAC1D,OAAA,MAAA,IAAI,CAAC,YAAY,CAAC,UAAU,0CAAE,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC,CAAA,EAAA,CAAC;QAE5G,4BAAuB,GAAG,CAAC,cAAsB,EAAoC,EAAE,WAC5F,OAAA,MAAA,IAAI,CAAC,YAAY,CAAC,UAAU,0CAAE,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC,CAAA,EAAA,CAAC;IANnE,CAAC;CAOlD;AARD,kDAQC"}
@@ -1,8 +0,0 @@
1
- import { FieldMirror, MethodMirror, PropertyMirror } from '@cparra/apex-reflection';
2
- export type InheritanceSupport = {
3
- inherited: boolean;
4
- };
5
- export type FieldMirrorWithInheritance = FieldMirror & InheritanceSupport;
6
- export type PropertyMirrorWithInheritance = PropertyMirror & InheritanceSupport;
7
- export type MethodMirrorWithInheritance = MethodMirror & InheritanceSupport;
8
- export type FieldOrProperty = FieldMirrorWithInheritance | PropertyMirrorWithInheritance;
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=inheritance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inheritance.js","sourceRoot":"","sources":["../../src/model/inheritance.ts"],"names":[],"mappings":""}
@@ -1,27 +0,0 @@
1
- import Manifest from './manifest';
2
- import { Type } from '@cparra/apex-reflection';
3
- import { Annotation } from '@cparra/apex-reflection/index';
4
- export declare class ManifestDiff {
5
- added: Type[];
6
- deleted: Type[];
7
- changes: DiffChange[];
8
- static build(originalManifest: Manifest, newManifest: Manifest): ManifestDiff;
9
- }
10
- declare class DiffChange {
11
- originalType: Type;
12
- newType: Type;
13
- accessModifierChange?: AccessModifierChange;
14
- annotationChanges: AnnotationChange[];
15
- constructor(originalType: Type, newType: Type);
16
- hasChanges(): boolean;
17
- private parse;
18
- }
19
- interface AccessModifierChange {
20
- oldAccessModifier: string;
21
- newAccessModifier: string;
22
- }
23
- interface AnnotationChange {
24
- annotation: Annotation;
25
- type: 'added' | 'removed';
26
- }
27
- export {};
@@ -1,69 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ManifestDiff = void 0;
4
- class ManifestDiff {
5
- constructor() {
6
- this.added = [];
7
- this.deleted = [];
8
- this.changes = [];
9
- }
10
- static build(originalManifest, newManifest) {
11
- const addedTypes = newManifest.types.filter((currentType) => !originalManifest.types.find((originalType) => currentType.name === originalType.name));
12
- const deletedTypes = originalManifest.types.filter((currentType) => !newManifest.types.find((newType) => currentType.name === newType.name));
13
- const changes = [];
14
- for (const newType of newManifest.types) {
15
- const oldType = originalManifest.types.find((oldType) => oldType.name === newType.name);
16
- if (!oldType) {
17
- continue;
18
- }
19
- const change = new DiffChange(oldType, newType);
20
- if (change.hasChanges()) {
21
- changes.push(change);
22
- }
23
- }
24
- const diff = new ManifestDiff();
25
- diff.added = addedTypes;
26
- diff.deleted = deletedTypes;
27
- diff.changes = changes;
28
- return diff;
29
- }
30
- }
31
- exports.ManifestDiff = ManifestDiff;
32
- class DiffChange {
33
- constructor(originalType, newType) {
34
- this.originalType = originalType;
35
- this.newType = newType;
36
- this.annotationChanges = [];
37
- this.parse();
38
- }
39
- hasChanges() {
40
- return !!this.accessModifierChange || this.annotationChanges.length > 0;
41
- }
42
- parse() {
43
- // Access modifier changes
44
- if (this.originalType.access_modifier !== this.newType.access_modifier) {
45
- this.accessModifierChange = {
46
- oldAccessModifier: this.originalType.access_modifier,
47
- newAccessModifier: this.newType.access_modifier,
48
- };
49
- }
50
- // Annotation changes
51
- const addedAnnotations = this.newType.annotations.filter((currentAnnotation) => !this.originalType.annotations.find((originalAnnotation) => currentAnnotation.name === originalAnnotation.name));
52
- const removedAnnotations = this.originalType.annotations.filter((currentAnnotation) => !this.newType.annotations.find((newAnnotation) => currentAnnotation.name === newAnnotation.name));
53
- const annotationChangeMapper = (annotation, changeType) => {
54
- return {
55
- annotation: annotation,
56
- type: changeType,
57
- };
58
- };
59
- this.annotationChanges = [
60
- ...addedAnnotations.map((annotation) => {
61
- return annotationChangeMapper(annotation, 'added');
62
- }),
63
- ...removedAnnotations.map((annotation) => {
64
- return annotationChangeMapper(annotation, 'removed');
65
- }),
66
- ];
67
- }
68
- }
69
- //# sourceMappingURL=manifest-diff.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manifest-diff.js","sourceRoot":"","sources":["../../src/model/manifest-diff.ts"],"names":[],"mappings":"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"}