@goast/core 0.4.0 → 0.4.1-springwebclient1

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 (443) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +67 -67
  3. package/esm/src/transform/helpers.d.ts.map +1 -1
  4. package/esm/src/transform/helpers.js +5 -1
  5. package/esm/src/utils/asset-manager.d.ts +1 -0
  6. package/esm/src/utils/asset-manager.d.ts.map +1 -1
  7. package/esm/src/utils/asset-manager.js +1 -1
  8. package/esm/src/utils/source-builder.d.ts +2 -0
  9. package/esm/src/utils/source-builder.d.ts.map +1 -1
  10. package/esm/src/utils/source-builder.js +7 -1
  11. package/package.json +2 -5
  12. package/script/src/transform/helpers.d.ts.map +1 -1
  13. package/script/src/transform/helpers.js +5 -1
  14. package/script/src/utils/asset-manager.d.ts +1 -0
  15. package/script/src/utils/asset-manager.d.ts.map +1 -1
  16. package/script/src/utils/asset-manager.js +1 -1
  17. package/script/src/utils/source-builder.d.ts +2 -0
  18. package/script/src/utils/source-builder.d.ts.map +1 -1
  19. package/script/src/utils/source-builder.js +8 -1
  20. package/esm/_dnt.test_polyfills.d.ts +0 -18
  21. package/esm/_dnt.test_polyfills.d.ts.map +0 -1
  22. package/esm/_dnt.test_polyfills.js +0 -17
  23. package/esm/_dnt.test_shims.d.ts +0 -14
  24. package/esm/_dnt.test_shims.d.ts.map +0 -1
  25. package/esm/_dnt.test_shims.js +0 -69
  26. package/esm/deps/jsr.io/@std/assert/1.0.6/assertion_error.d.ts +0 -26
  27. package/esm/deps/jsr.io/@std/assert/1.0.6/assertion_error.d.ts.map +0 -1
  28. package/esm/deps/jsr.io/@std/assert/1.0.6/assertion_error.js +0 -30
  29. package/esm/deps/jsr.io/@std/assert/1.0.6/equal.d.ts +0 -17
  30. package/esm/deps/jsr.io/@std/assert/1.0.6/equal.d.ts.map +0 -1
  31. package/esm/deps/jsr.io/@std/assert/1.0.6/equal.js +0 -136
  32. package/esm/deps/jsr.io/@std/assert/1.0.6/equals.d.ts +0 -22
  33. package/esm/deps/jsr.io/@std/assert/1.0.6/equals.d.ts.map +0 -1
  34. package/esm/deps/jsr.io/@std/assert/1.0.6/equals.js +0 -45
  35. package/esm/deps/jsr.io/@std/assert/1.0.6/false.d.ts +0 -18
  36. package/esm/deps/jsr.io/@std/assert/1.0.6/false.d.ts.map +0 -1
  37. package/esm/deps/jsr.io/@std/assert/1.0.6/false.js +0 -22
  38. package/esm/deps/jsr.io/@std/assert/1.0.6/instance_of.d.ts +0 -23
  39. package/esm/deps/jsr.io/@std/assert/1.0.6/instance_of.d.ts.map +0 -1
  40. package/esm/deps/jsr.io/@std/assert/1.0.6/instance_of.js +0 -53
  41. package/esm/deps/jsr.io/@std/assert/1.0.6/is_error.d.ts +0 -25
  42. package/esm/deps/jsr.io/@std/assert/1.0.6/is_error.d.ts.map +0 -1
  43. package/esm/deps/jsr.io/@std/assert/1.0.6/is_error.js +0 -54
  44. package/esm/deps/jsr.io/@std/assert/1.0.6/match.d.ts +0 -18
  45. package/esm/deps/jsr.io/@std/assert/1.0.6/match.d.ts.map +0 -1
  46. package/esm/deps/jsr.io/@std/assert/1.0.6/match.js +0 -26
  47. package/esm/deps/jsr.io/@std/assert/1.0.6/not_instance_of.d.ts +0 -20
  48. package/esm/deps/jsr.io/@std/assert/1.0.6/not_instance_of.d.ts.map +0 -1
  49. package/esm/deps/jsr.io/@std/assert/1.0.6/not_instance_of.js +0 -29
  50. package/esm/deps/jsr.io/@std/assert/1.0.6/not_match.d.ts +0 -18
  51. package/esm/deps/jsr.io/@std/assert/1.0.6/not_match.d.ts.map +0 -1
  52. package/esm/deps/jsr.io/@std/assert/1.0.6/not_match.js +0 -26
  53. package/esm/deps/jsr.io/@std/assert/1.0.6/not_strict_equals.d.ts +0 -23
  54. package/esm/deps/jsr.io/@std/assert/1.0.6/not_strict_equals.d.ts.map +0 -1
  55. package/esm/deps/jsr.io/@std/assert/1.0.6/not_strict_equals.js +0 -32
  56. package/esm/deps/jsr.io/@std/assert/1.0.6/object_match.d.ts +0 -28
  57. package/esm/deps/jsr.io/@std/assert/1.0.6/object_match.d.ts.map +0 -1
  58. package/esm/deps/jsr.io/@std/assert/1.0.6/object_match.js +0 -159
  59. package/esm/deps/jsr.io/@std/assert/1.0.6/strict_equals.d.ts +0 -24
  60. package/esm/deps/jsr.io/@std/assert/1.0.6/strict_equals.d.ts.map +0 -1
  61. package/esm/deps/jsr.io/@std/assert/1.0.6/strict_equals.js +0 -57
  62. package/esm/deps/jsr.io/@std/expect/1.0.5/_assert_equals.d.ts +0 -20
  63. package/esm/deps/jsr.io/@std/expect/1.0.5/_assert_equals.d.ts.map +0 -1
  64. package/esm/deps/jsr.io/@std/expect/1.0.5/_assert_equals.js +0 -29
  65. package/esm/deps/jsr.io/@std/expect/1.0.5/_assert_not_equals.d.ts +0 -17
  66. package/esm/deps/jsr.io/@std/expect/1.0.5/_assert_not_equals.d.ts.map +0 -1
  67. package/esm/deps/jsr.io/@std/expect/1.0.5/_assert_not_equals.js +0 -26
  68. package/esm/deps/jsr.io/@std/expect/1.0.5/_assertion.d.ts +0 -3
  69. package/esm/deps/jsr.io/@std/expect/1.0.5/_assertion.d.ts.map +0 -1
  70. package/esm/deps/jsr.io/@std/expect/1.0.5/_assertion.js +0 -9
  71. package/esm/deps/jsr.io/@std/expect/1.0.5/_asymmetric_matchers.d.ts +0 -36
  72. package/esm/deps/jsr.io/@std/expect/1.0.5/_asymmetric_matchers.d.ts.map +0 -1
  73. package/esm/deps/jsr.io/@std/expect/1.0.5/_asymmetric_matchers.js +0 -124
  74. package/esm/deps/jsr.io/@std/expect/1.0.5/_build_message.d.ts +0 -6
  75. package/esm/deps/jsr.io/@std/expect/1.0.5/_build_message.d.ts.map +0 -1
  76. package/esm/deps/jsr.io/@std/expect/1.0.5/_build_message.js +0 -29
  77. package/esm/deps/jsr.io/@std/expect/1.0.5/_custom_equality_tester.d.ts +0 -4
  78. package/esm/deps/jsr.io/@std/expect/1.0.5/_custom_equality_tester.d.ts.map +0 -1
  79. package/esm/deps/jsr.io/@std/expect/1.0.5/_custom_equality_tester.js +0 -11
  80. package/esm/deps/jsr.io/@std/expect/1.0.5/_equal.d.ts +0 -9
  81. package/esm/deps/jsr.io/@std/expect/1.0.5/_equal.d.ts.map +0 -1
  82. package/esm/deps/jsr.io/@std/expect/1.0.5/_equal.js +0 -191
  83. package/esm/deps/jsr.io/@std/expect/1.0.5/_extend.d.ts +0 -4
  84. package/esm/deps/jsr.io/@std/expect/1.0.5/_extend.d.ts.map +0 -1
  85. package/esm/deps/jsr.io/@std/expect/1.0.5/_extend.js +0 -11
  86. package/esm/deps/jsr.io/@std/expect/1.0.5/_inspect_args.d.ts +0 -3
  87. package/esm/deps/jsr.io/@std/expect/1.0.5/_inspect_args.d.ts.map +0 -1
  88. package/esm/deps/jsr.io/@std/expect/1.0.5/_inspect_args.js +0 -12
  89. package/esm/deps/jsr.io/@std/expect/1.0.5/_matchers.d.ts +0 -34
  90. package/esm/deps/jsr.io/@std/expect/1.0.5/_matchers.d.ts.map +0 -1
  91. package/esm/deps/jsr.io/@std/expect/1.0.5/_matchers.js +0 -564
  92. package/esm/deps/jsr.io/@std/expect/1.0.5/_mock_util.d.ts +0 -11
  93. package/esm/deps/jsr.io/@std/expect/1.0.5/_mock_util.d.ts.map +0 -1
  94. package/esm/deps/jsr.io/@std/expect/1.0.5/_mock_util.js +0 -10
  95. package/esm/deps/jsr.io/@std/expect/1.0.5/_types.d.ts +0 -838
  96. package/esm/deps/jsr.io/@std/expect/1.0.5/_types.d.ts.map +0 -1
  97. package/esm/deps/jsr.io/@std/expect/1.0.5/_types.js +0 -3
  98. package/esm/deps/jsr.io/@std/expect/1.0.5/_utils.d.ts +0 -8
  99. package/esm/deps/jsr.io/@std/expect/1.0.5/_utils.d.ts.map +0 -1
  100. package/esm/deps/jsr.io/@std/expect/1.0.5/_utils.js +0 -159
  101. package/esm/deps/jsr.io/@std/expect/1.0.5/expect.d.ts +0 -51
  102. package/esm/deps/jsr.io/@std/expect/1.0.5/expect.d.ts.map +0 -1
  103. package/esm/deps/jsr.io/@std/expect/1.0.5/expect.js +0 -425
  104. package/esm/deps/jsr.io/@std/expect/1.0.5/fn.d.ts +0 -29
  105. package/esm/deps/jsr.io/@std/expect/1.0.5/fn.d.ts.map +0 -1
  106. package/esm/deps/jsr.io/@std/expect/1.0.5/fn.js +0 -85
  107. package/esm/deps/jsr.io/@std/expect/1.0.5/mod.d.ts +0 -85
  108. package/esm/deps/jsr.io/@std/expect/1.0.5/mod.d.ts.map +0 -1
  109. package/esm/deps/jsr.io/@std/expect/1.0.5/mod.js +0 -87
  110. package/esm/deps/jsr.io/@std/internal/1.0.4/assertion_state.d.ts +0 -75
  111. package/esm/deps/jsr.io/@std/internal/1.0.4/assertion_state.d.ts.map +0 -1
  112. package/esm/deps/jsr.io/@std/internal/1.0.4/assertion_state.js +0 -101
  113. package/esm/deps/jsr.io/@std/internal/1.0.4/build_message.d.ts +0 -82
  114. package/esm/deps/jsr.io/@std/internal/1.0.4/build_message.d.ts.map +0 -1
  115. package/esm/deps/jsr.io/@std/internal/1.0.4/build_message.js +0 -111
  116. package/esm/deps/jsr.io/@std/internal/1.0.4/diff.d.ts +0 -140
  117. package/esm/deps/jsr.io/@std/internal/1.0.4/diff.d.ts.map +0 -1
  118. package/esm/deps/jsr.io/@std/internal/1.0.4/diff.js +0 -277
  119. package/esm/deps/jsr.io/@std/internal/1.0.4/diff_str.d.ts +0 -99
  120. package/esm/deps/jsr.io/@std/internal/1.0.4/diff_str.d.ts.map +0 -1
  121. package/esm/deps/jsr.io/@std/internal/1.0.4/diff_str.js +0 -180
  122. package/esm/deps/jsr.io/@std/internal/1.0.4/format.d.ts +0 -2
  123. package/esm/deps/jsr.io/@std/internal/1.0.4/format.d.ts.map +0 -1
  124. package/esm/deps/jsr.io/@std/internal/1.0.4/format.js +0 -37
  125. package/esm/deps/jsr.io/@std/internal/1.0.4/styles.d.ts +0 -159
  126. package/esm/deps/jsr.io/@std/internal/1.0.4/styles.d.ts.map +0 -1
  127. package/esm/deps/jsr.io/@std/internal/1.0.4/styles.js +0 -207
  128. package/esm/deps/jsr.io/@std/internal/1.0.4/types.d.ts +0 -16
  129. package/esm/deps/jsr.io/@std/internal/1.0.4/types.d.ts.map +0 -1
  130. package/esm/deps/jsr.io/@std/internal/1.0.4/types.js +0 -2
  131. package/esm/deps/jsr.io/@std/testing/1.0.3/_test_suite.d.ts +0 -74
  132. package/esm/deps/jsr.io/@std/testing/1.0.3/_test_suite.d.ts.map +0 -1
  133. package/esm/deps/jsr.io/@std/testing/1.0.3/_test_suite.js +0 -340
  134. package/esm/deps/jsr.io/@std/testing/1.0.3/bdd.d.ts +0 -731
  135. package/esm/deps/jsr.io/@std/testing/1.0.3/bdd.d.ts.map +0 -1
  136. package/esm/deps/jsr.io/@std/testing/1.0.3/bdd.js +0 -576
  137. package/esm/src/collect/helpers.test.d.ts +0 -2
  138. package/esm/src/collect/helpers.test.d.ts.map +0 -1
  139. package/esm/src/collect/helpers.test.js +0 -77
  140. package/esm/src/transform/helpers.test.d.ts +0 -2
  141. package/esm/src/transform/helpers.test.d.ts.map +0 -1
  142. package/esm/src/transform/helpers.test.js +0 -265
  143. package/esm/src/utils/action-provider.test.d.ts +0 -2
  144. package/esm/src/utils/action-provider.test.d.ts.map +0 -1
  145. package/esm/src/utils/action-provider.test.js +0 -28
  146. package/esm/src/utils/common.utils.test.d.ts +0 -2
  147. package/esm/src/utils/common.utils.test.d.ts.map +0 -1
  148. package/esm/src/utils/common.utils.test.js +0 -18
  149. package/esm/src/utils/condition.test.d.ts +0 -2
  150. package/esm/src/utils/condition.test.d.ts.map +0 -1
  151. package/esm/src/utils/condition.test.js +0 -31
  152. package/esm/src/utils/endpoint.utils.test.d.ts +0 -2
  153. package/esm/src/utils/endpoint.utils.test.d.ts.map +0 -1
  154. package/esm/src/utils/endpoint.utils.test.js +0 -31
  155. package/esm/src/utils/factory.test.d.ts +0 -2
  156. package/esm/src/utils/factory.test.d.ts.map +0 -1
  157. package/esm/src/utils/factory.test.js +0 -34
  158. package/esm/src/utils/generator.utils.test.d.ts +0 -2
  159. package/esm/src/utils/generator.utils.test.d.ts.map +0 -1
  160. package/esm/src/utils/generator.utils.test.js +0 -13
  161. package/esm/src/utils/object.utils.test.d.ts +0 -2
  162. package/esm/src/utils/object.utils.test.d.ts.map +0 -1
  163. package/esm/src/utils/object.utils.test.js +0 -29
  164. package/esm/src/utils/schema.utils.test.d.ts +0 -2
  165. package/esm/src/utils/schema.utils.test.d.ts.map +0 -1
  166. package/esm/src/utils/schema.utils.test.js +0 -78
  167. package/esm/src/utils/source-builder.test.d.ts +0 -2
  168. package/esm/src/utils/source-builder.test.d.ts.map +0 -1
  169. package/esm/src/utils/source-builder.test.js +0 -506
  170. package/esm/src/utils/string-builder/string-builder.test.d.ts +0 -2
  171. package/esm/src/utils/string-builder/string-builder.test.d.ts.map +0 -1
  172. package/esm/src/utils/string-builder/string-builder.test.js +0 -164
  173. package/esm/src/utils/string.utils.test.d.ts +0 -2
  174. package/esm/src/utils/string.utils.test.d.ts.map +0 -1
  175. package/esm/src/utils/string.utils.test.js +0 -528
  176. package/esm/tests/openapi.test.d.ts +0 -2
  177. package/esm/tests/openapi.test.d.ts.map +0 -1
  178. package/esm/tests/openapi.test.js +0 -33
  179. package/esm/tests/schema-factory.d.ts +0 -42
  180. package/esm/tests/schema-factory.d.ts.map +0 -1
  181. package/esm/tests/schema-factory.js +0 -138
  182. package/script/_dnt.test_polyfills.d.ts +0 -18
  183. package/script/_dnt.test_polyfills.d.ts.map +0 -1
  184. package/script/_dnt.test_polyfills.js +0 -18
  185. package/script/_dnt.test_shims.d.ts +0 -14
  186. package/script/_dnt.test_shims.d.ts.map +0 -1
  187. package/script/_dnt.test_shims.js +0 -79
  188. package/script/deps/jsr.io/@std/assert/1.0.6/assertion_error.d.ts +0 -26
  189. package/script/deps/jsr.io/@std/assert/1.0.6/assertion_error.d.ts.map +0 -1
  190. package/script/deps/jsr.io/@std/assert/1.0.6/assertion_error.js +0 -34
  191. package/script/deps/jsr.io/@std/assert/1.0.6/equal.d.ts +0 -17
  192. package/script/deps/jsr.io/@std/assert/1.0.6/equal.d.ts.map +0 -1
  193. package/script/deps/jsr.io/@std/assert/1.0.6/equal.js +0 -139
  194. package/script/deps/jsr.io/@std/assert/1.0.6/equals.d.ts +0 -22
  195. package/script/deps/jsr.io/@std/assert/1.0.6/equals.d.ts.map +0 -1
  196. package/script/deps/jsr.io/@std/assert/1.0.6/equals.js +0 -48
  197. package/script/deps/jsr.io/@std/assert/1.0.6/false.d.ts +0 -18
  198. package/script/deps/jsr.io/@std/assert/1.0.6/false.d.ts.map +0 -1
  199. package/script/deps/jsr.io/@std/assert/1.0.6/false.js +0 -25
  200. package/script/deps/jsr.io/@std/assert/1.0.6/instance_of.d.ts +0 -23
  201. package/script/deps/jsr.io/@std/assert/1.0.6/instance_of.d.ts.map +0 -1
  202. package/script/deps/jsr.io/@std/assert/1.0.6/instance_of.js +0 -56
  203. package/script/deps/jsr.io/@std/assert/1.0.6/is_error.d.ts +0 -25
  204. package/script/deps/jsr.io/@std/assert/1.0.6/is_error.d.ts.map +0 -1
  205. package/script/deps/jsr.io/@std/assert/1.0.6/is_error.js +0 -57
  206. package/script/deps/jsr.io/@std/assert/1.0.6/match.d.ts +0 -18
  207. package/script/deps/jsr.io/@std/assert/1.0.6/match.d.ts.map +0 -1
  208. package/script/deps/jsr.io/@std/assert/1.0.6/match.js +0 -29
  209. package/script/deps/jsr.io/@std/assert/1.0.6/not_instance_of.d.ts +0 -20
  210. package/script/deps/jsr.io/@std/assert/1.0.6/not_instance_of.d.ts.map +0 -1
  211. package/script/deps/jsr.io/@std/assert/1.0.6/not_instance_of.js +0 -32
  212. package/script/deps/jsr.io/@std/assert/1.0.6/not_match.d.ts +0 -18
  213. package/script/deps/jsr.io/@std/assert/1.0.6/not_match.d.ts.map +0 -1
  214. package/script/deps/jsr.io/@std/assert/1.0.6/not_match.js +0 -29
  215. package/script/deps/jsr.io/@std/assert/1.0.6/not_strict_equals.d.ts +0 -23
  216. package/script/deps/jsr.io/@std/assert/1.0.6/not_strict_equals.d.ts.map +0 -1
  217. package/script/deps/jsr.io/@std/assert/1.0.6/not_strict_equals.js +0 -35
  218. package/script/deps/jsr.io/@std/assert/1.0.6/object_match.d.ts +0 -28
  219. package/script/deps/jsr.io/@std/assert/1.0.6/object_match.d.ts.map +0 -1
  220. package/script/deps/jsr.io/@std/assert/1.0.6/object_match.js +0 -162
  221. package/script/deps/jsr.io/@std/assert/1.0.6/strict_equals.d.ts +0 -24
  222. package/script/deps/jsr.io/@std/assert/1.0.6/strict_equals.d.ts.map +0 -1
  223. package/script/deps/jsr.io/@std/assert/1.0.6/strict_equals.js +0 -60
  224. package/script/deps/jsr.io/@std/expect/1.0.5/_assert_equals.d.ts +0 -20
  225. package/script/deps/jsr.io/@std/expect/1.0.5/_assert_equals.d.ts.map +0 -1
  226. package/script/deps/jsr.io/@std/expect/1.0.5/_assert_equals.js +0 -32
  227. package/script/deps/jsr.io/@std/expect/1.0.5/_assert_not_equals.d.ts +0 -17
  228. package/script/deps/jsr.io/@std/expect/1.0.5/_assert_not_equals.d.ts.map +0 -1
  229. package/script/deps/jsr.io/@std/expect/1.0.5/_assert_not_equals.js +0 -29
  230. package/script/deps/jsr.io/@std/expect/1.0.5/_assertion.d.ts +0 -3
  231. package/script/deps/jsr.io/@std/expect/1.0.5/_assertion.d.ts.map +0 -1
  232. package/script/deps/jsr.io/@std/expect/1.0.5/_assertion.js +0 -13
  233. package/script/deps/jsr.io/@std/expect/1.0.5/_asymmetric_matchers.d.ts +0 -36
  234. package/script/deps/jsr.io/@std/expect/1.0.5/_asymmetric_matchers.d.ts.map +0 -1
  235. package/script/deps/jsr.io/@std/expect/1.0.5/_asymmetric_matchers.js +0 -140
  236. package/script/deps/jsr.io/@std/expect/1.0.5/_build_message.d.ts +0 -6
  237. package/script/deps/jsr.io/@std/expect/1.0.5/_build_message.d.ts.map +0 -1
  238. package/script/deps/jsr.io/@std/expect/1.0.5/_build_message.js +0 -33
  239. package/script/deps/jsr.io/@std/expect/1.0.5/_custom_equality_tester.d.ts +0 -4
  240. package/script/deps/jsr.io/@std/expect/1.0.5/_custom_equality_tester.d.ts.map +0 -1
  241. package/script/deps/jsr.io/@std/expect/1.0.5/_custom_equality_tester.js +0 -15
  242. package/script/deps/jsr.io/@std/expect/1.0.5/_equal.d.ts +0 -9
  243. package/script/deps/jsr.io/@std/expect/1.0.5/_equal.d.ts.map +0 -1
  244. package/script/deps/jsr.io/@std/expect/1.0.5/_equal.js +0 -194
  245. package/script/deps/jsr.io/@std/expect/1.0.5/_extend.d.ts +0 -4
  246. package/script/deps/jsr.io/@std/expect/1.0.5/_extend.d.ts.map +0 -1
  247. package/script/deps/jsr.io/@std/expect/1.0.5/_extend.js +0 -15
  248. package/script/deps/jsr.io/@std/expect/1.0.5/_inspect_args.d.ts +0 -3
  249. package/script/deps/jsr.io/@std/expect/1.0.5/_inspect_args.d.ts.map +0 -1
  250. package/script/deps/jsr.io/@std/expect/1.0.5/_inspect_args.js +0 -17
  251. package/script/deps/jsr.io/@std/expect/1.0.5/_matchers.d.ts +0 -34
  252. package/script/deps/jsr.io/@std/expect/1.0.5/_matchers.d.ts.map +0 -1
  253. package/script/deps/jsr.io/@std/expect/1.0.5/_matchers.js +0 -598
  254. package/script/deps/jsr.io/@std/expect/1.0.5/_mock_util.d.ts +0 -11
  255. package/script/deps/jsr.io/@std/expect/1.0.5/_mock_util.d.ts.map +0 -1
  256. package/script/deps/jsr.io/@std/expect/1.0.5/_mock_util.js +0 -14
  257. package/script/deps/jsr.io/@std/expect/1.0.5/_types.d.ts +0 -838
  258. package/script/deps/jsr.io/@std/expect/1.0.5/_types.d.ts.map +0 -1
  259. package/script/deps/jsr.io/@std/expect/1.0.5/_types.js +0 -4
  260. package/script/deps/jsr.io/@std/expect/1.0.5/_utils.d.ts +0 -8
  261. package/script/deps/jsr.io/@std/expect/1.0.5/_utils.d.ts.map +0 -1
  262. package/script/deps/jsr.io/@std/expect/1.0.5/_utils.js +0 -166
  263. package/script/deps/jsr.io/@std/expect/1.0.5/expect.d.ts +0 -51
  264. package/script/deps/jsr.io/@std/expect/1.0.5/expect.d.ts.map +0 -1
  265. package/script/deps/jsr.io/@std/expect/1.0.5/expect.js +0 -429
  266. package/script/deps/jsr.io/@std/expect/1.0.5/fn.d.ts +0 -29
  267. package/script/deps/jsr.io/@std/expect/1.0.5/fn.d.ts.map +0 -1
  268. package/script/deps/jsr.io/@std/expect/1.0.5/fn.js +0 -88
  269. package/script/deps/jsr.io/@std/expect/1.0.5/mod.d.ts +0 -85
  270. package/script/deps/jsr.io/@std/expect/1.0.5/mod.d.ts.map +0 -1
  271. package/script/deps/jsr.io/@std/expect/1.0.5/mod.js +0 -90
  272. package/script/deps/jsr.io/@std/internal/1.0.4/assertion_state.d.ts +0 -75
  273. package/script/deps/jsr.io/@std/internal/1.0.4/assertion_state.d.ts.map +0 -1
  274. package/script/deps/jsr.io/@std/internal/1.0.4/assertion_state.js +0 -106
  275. package/script/deps/jsr.io/@std/internal/1.0.4/build_message.d.ts +0 -82
  276. package/script/deps/jsr.io/@std/internal/1.0.4/build_message.d.ts.map +0 -1
  277. package/script/deps/jsr.io/@std/internal/1.0.4/build_message.js +0 -116
  278. package/script/deps/jsr.io/@std/internal/1.0.4/diff.d.ts +0 -140
  279. package/script/deps/jsr.io/@std/internal/1.0.4/diff.d.ts.map +0 -1
  280. package/script/deps/jsr.io/@std/internal/1.0.4/diff.js +0 -284
  281. package/script/deps/jsr.io/@std/internal/1.0.4/diff_str.d.ts +0 -99
  282. package/script/deps/jsr.io/@std/internal/1.0.4/diff_str.d.ts.map +0 -1
  283. package/script/deps/jsr.io/@std/internal/1.0.4/diff_str.js +0 -186
  284. package/script/deps/jsr.io/@std/internal/1.0.4/format.d.ts +0 -2
  285. package/script/deps/jsr.io/@std/internal/1.0.4/format.d.ts.map +0 -1
  286. package/script/deps/jsr.io/@std/internal/1.0.4/format.js +0 -41
  287. package/script/deps/jsr.io/@std/internal/1.0.4/styles.d.ts +0 -159
  288. package/script/deps/jsr.io/@std/internal/1.0.4/styles.d.ts.map +0 -1
  289. package/script/deps/jsr.io/@std/internal/1.0.4/styles.js +0 -220
  290. package/script/deps/jsr.io/@std/internal/1.0.4/types.d.ts +0 -16
  291. package/script/deps/jsr.io/@std/internal/1.0.4/types.d.ts.map +0 -1
  292. package/script/deps/jsr.io/@std/internal/1.0.4/types.js +0 -3
  293. package/script/deps/jsr.io/@std/testing/1.0.3/_test_suite.d.ts +0 -74
  294. package/script/deps/jsr.io/@std/testing/1.0.3/_test_suite.d.ts.map +0 -1
  295. package/script/deps/jsr.io/@std/testing/1.0.3/_test_suite.js +0 -345
  296. package/script/deps/jsr.io/@std/testing/1.0.3/bdd.d.ts +0 -731
  297. package/script/deps/jsr.io/@std/testing/1.0.3/bdd.d.ts.map +0 -1
  298. package/script/deps/jsr.io/@std/testing/1.0.3/bdd.js +0 -587
  299. package/script/src/collect/helpers.test.d.ts +0 -2
  300. package/script/src/collect/helpers.test.d.ts.map +0 -1
  301. package/script/src/collect/helpers.test.js +0 -79
  302. package/script/src/transform/helpers.test.d.ts +0 -2
  303. package/script/src/transform/helpers.test.d.ts.map +0 -1
  304. package/script/src/transform/helpers.test.js +0 -267
  305. package/script/src/utils/action-provider.test.d.ts +0 -2
  306. package/script/src/utils/action-provider.test.d.ts.map +0 -1
  307. package/script/src/utils/action-provider.test.js +0 -30
  308. package/script/src/utils/common.utils.test.d.ts +0 -2
  309. package/script/src/utils/common.utils.test.d.ts.map +0 -1
  310. package/script/src/utils/common.utils.test.js +0 -20
  311. package/script/src/utils/condition.test.d.ts +0 -2
  312. package/script/src/utils/condition.test.d.ts.map +0 -1
  313. package/script/src/utils/condition.test.js +0 -33
  314. package/script/src/utils/endpoint.utils.test.d.ts +0 -2
  315. package/script/src/utils/endpoint.utils.test.d.ts.map +0 -1
  316. package/script/src/utils/endpoint.utils.test.js +0 -33
  317. package/script/src/utils/factory.test.d.ts +0 -2
  318. package/script/src/utils/factory.test.d.ts.map +0 -1
  319. package/script/src/utils/factory.test.js +0 -36
  320. package/script/src/utils/generator.utils.test.d.ts +0 -2
  321. package/script/src/utils/generator.utils.test.d.ts.map +0 -1
  322. package/script/src/utils/generator.utils.test.js +0 -15
  323. package/script/src/utils/object.utils.test.d.ts +0 -2
  324. package/script/src/utils/object.utils.test.d.ts.map +0 -1
  325. package/script/src/utils/object.utils.test.js +0 -31
  326. package/script/src/utils/schema.utils.test.d.ts +0 -2
  327. package/script/src/utils/schema.utils.test.d.ts.map +0 -1
  328. package/script/src/utils/schema.utils.test.js +0 -80
  329. package/script/src/utils/source-builder.test.d.ts +0 -2
  330. package/script/src/utils/source-builder.test.d.ts.map +0 -1
  331. package/script/src/utils/source-builder.test.js +0 -508
  332. package/script/src/utils/string-builder/string-builder.test.d.ts +0 -2
  333. package/script/src/utils/string-builder/string-builder.test.d.ts.map +0 -1
  334. package/script/src/utils/string-builder/string-builder.test.js +0 -166
  335. package/script/src/utils/string.utils.test.d.ts +0 -2
  336. package/script/src/utils/string.utils.test.d.ts.map +0 -1
  337. package/script/src/utils/string.utils.test.js +0 -530
  338. package/script/tests/openapi.test.d.ts +0 -2
  339. package/script/tests/openapi.test.d.ts.map +0 -1
  340. package/script/tests/openapi.test.js +0 -35
  341. package/script/tests/schema-factory.d.ts +0 -42
  342. package/script/tests/schema-factory.d.ts.map +0 -1
  343. package/script/tests/schema-factory.js +0 -162
  344. package/src/_dnt.shims.ts +0 -69
  345. package/src/_dnt.test_polyfills.ts +0 -43
  346. package/src/_dnt.test_shims.ts +0 -72
  347. package/src/deps/jsr.io/@std/assert/1.0.6/assertion_error.ts +0 -31
  348. package/src/deps/jsr.io/@std/assert/1.0.6/equal.ts +0 -152
  349. package/src/deps/jsr.io/@std/assert/1.0.6/equals.ts +0 -52
  350. package/src/deps/jsr.io/@std/assert/1.0.6/false.ts +0 -26
  351. package/src/deps/jsr.io/@std/assert/1.0.6/instance_of.ts +0 -64
  352. package/src/deps/jsr.io/@std/assert/1.0.6/is_error.ts +0 -65
  353. package/src/deps/jsr.io/@std/assert/1.0.6/match.ts +0 -30
  354. package/src/deps/jsr.io/@std/assert/1.0.6/not_instance_of.ts +0 -33
  355. package/src/deps/jsr.io/@std/assert/1.0.6/not_match.ts +0 -30
  356. package/src/deps/jsr.io/@std/assert/1.0.6/not_strict_equals.ts +0 -42
  357. package/src/deps/jsr.io/@std/assert/1.0.6/object_match.ts +0 -202
  358. package/src/deps/jsr.io/@std/assert/1.0.6/strict_equals.ts +0 -67
  359. package/src/deps/jsr.io/@std/expect/1.0.5/_assert_equals.ts +0 -38
  360. package/src/deps/jsr.io/@std/expect/1.0.5/_assert_not_equals.ts +0 -35
  361. package/src/deps/jsr.io/@std/expect/1.0.5/_assertion.ts +0 -13
  362. package/src/deps/jsr.io/@std/expect/1.0.5/_asymmetric_matchers.ts +0 -147
  363. package/src/deps/jsr.io/@std/expect/1.0.5/_build_message.ts +0 -51
  364. package/src/deps/jsr.io/@std/expect/1.0.5/_custom_equality_tester.ts +0 -19
  365. package/src/deps/jsr.io/@std/expect/1.0.5/_equal.ts +0 -229
  366. package/src/deps/jsr.io/@std/expect/1.0.5/_extend.ts +0 -16
  367. package/src/deps/jsr.io/@std/expect/1.0.5/_inspect_args.ts +0 -15
  368. package/src/deps/jsr.io/@std/expect/1.0.5/_matchers.ts +0 -828
  369. package/src/deps/jsr.io/@std/expect/1.0.5/_mock_util.ts +0 -22
  370. package/src/deps/jsr.io/@std/expect/1.0.5/_types.ts +0 -917
  371. package/src/deps/jsr.io/@std/expect/1.0.5/_utils.ts +0 -201
  372. package/src/deps/jsr.io/@std/expect/1.0.5/expect.ts +0 -511
  373. package/src/deps/jsr.io/@std/expect/1.0.5/fn.ts +0 -91
  374. package/src/deps/jsr.io/@std/expect/1.0.5/mod.ts +0 -88
  375. package/src/deps/jsr.io/@std/internal/1.0.4/assertion_state.ts +0 -111
  376. package/src/deps/jsr.io/@std/internal/1.0.4/build_message.ts +0 -134
  377. package/src/deps/jsr.io/@std/internal/1.0.4/diff.ts +0 -317
  378. package/src/deps/jsr.io/@std/internal/1.0.4/diff_str.ts +0 -204
  379. package/src/deps/jsr.io/@std/internal/1.0.4/format.ts +0 -39
  380. package/src/deps/jsr.io/@std/internal/1.0.4/styles.ts +0 -233
  381. package/src/deps/jsr.io/@std/internal/1.0.4/types.ts +0 -18
  382. package/src/deps/jsr.io/@std/testing/1.0.3/_test_suite.ts +0 -389
  383. package/src/deps/jsr.io/@std/testing/1.0.3/bdd.ts +0 -1202
  384. package/src/mod.ts +0 -33
  385. package/src/src/ast/node.ts +0 -46
  386. package/src/src/codegen/config.ts +0 -28
  387. package/src/src/codegen/endpoints-generator.ts +0 -72
  388. package/src/src/codegen/generator.ts +0 -181
  389. package/src/src/codegen/internal-utils.ts +0 -6
  390. package/src/src/codegen/schemas-generator.ts +0 -87
  391. package/src/src/codegen/services-generator.ts +0 -77
  392. package/src/src/codegen/types.ts +0 -37
  393. package/src/src/collect/collector.ts +0 -142
  394. package/src/src/collect/helpers.test.ts +0 -91
  395. package/src/src/collect/helpers.ts +0 -36
  396. package/src/src/collect/types.ts +0 -21
  397. package/src/src/internal-utils.ts +0 -5
  398. package/src/src/parse/deref-proxy.ts +0 -64
  399. package/src/src/parse/openapi-types.ts +0 -949
  400. package/src/src/parse/parser.ts +0 -220
  401. package/src/src/parse/types.ts +0 -27
  402. package/src/src/transform/api-types.ts +0 -243
  403. package/src/src/transform/helpers.test.ts +0 -316
  404. package/src/src/transform/helpers.ts +0 -211
  405. package/src/src/transform/transform-document.ts +0 -35
  406. package/src/src/transform/transform-endpoint.ts +0 -331
  407. package/src/src/transform/transform-schema.ts +0 -217
  408. package/src/src/transform/transformer.ts +0 -52
  409. package/src/src/transform/types.ts +0 -52
  410. package/src/src/utils/action-provider.test.ts +0 -32
  411. package/src/src/utils/action-provider.ts +0 -58
  412. package/src/src/utils/array.utils.ts +0 -7
  413. package/src/src/utils/asset-manager.ts +0 -51
  414. package/src/src/utils/class.utils.ts +0 -40
  415. package/src/src/utils/common.utils.test.ts +0 -22
  416. package/src/src/utils/common.utils.ts +0 -86
  417. package/src/src/utils/condition.test.ts +0 -36
  418. package/src/src/utils/condition.ts +0 -7
  419. package/src/src/utils/endpoint.utils.test.ts +0 -36
  420. package/src/src/utils/endpoint.utils.ts +0 -10
  421. package/src/src/utils/error.utils.ts +0 -3
  422. package/src/src/utils/factory.test.ts +0 -31
  423. package/src/src/utils/factory.ts +0 -42
  424. package/src/src/utils/file-system.utils.ts +0 -48
  425. package/src/src/utils/generator.utils.test.ts +0 -16
  426. package/src/src/utils/generator.utils.ts +0 -6
  427. package/src/src/utils/object.utils.test.ts +0 -33
  428. package/src/src/utils/object.utils.ts +0 -32
  429. package/src/src/utils/schema.utils.test.ts +0 -87
  430. package/src/src/utils/schema.utils.ts +0 -142
  431. package/src/src/utils/source-builder.test.ts +0 -658
  432. package/src/src/utils/source-builder.ts +0 -589
  433. package/src/src/utils/string-builder/options.ts +0 -19
  434. package/src/src/utils/string-builder/string-builder.test.ts +0 -189
  435. package/src/src/utils/string-builder/string-builder.ts +0 -165
  436. package/src/src/utils/string-builder/utils.ts +0 -69
  437. package/src/src/utils/string.utils.test.ts +0 -691
  438. package/src/src/utils/string.utils.ts +0 -369
  439. package/src/src/utils/string.utils.types.ts +0 -179
  440. package/src/src/utils/type.utils.ts +0 -93
  441. package/src/tests/openapi.test.ts +0 -50
  442. package/src/tests/schema-factory.ts +0 -185
  443. package/test_runner.js +0 -221
@@ -1,316 +0,0 @@
1
- import "../../_dnt.test_polyfills.js";
2
- import { expect, fn } from '../../deps/jsr.io/@std/expect/1.0.5/mod.js';
3
- import { describe, test } from '../../deps/jsr.io/@std/testing/1.0.3/bdd.js';
4
- import type { OpenApiDocument } from '../parse/openapi-types.js';
5
- import type { Deref } from '../parse/types.js';
6
- import type { ApiSchema } from './api-types.js';
7
- import {
8
- determineEndpointName,
9
- determineSchemaAccessibility,
10
- determineSchemaKind,
11
- determineSchemaName,
12
- getCustomFields,
13
- IdGenerator,
14
- transformAdditionalProperties,
15
- transformSchemaProperties,
16
- } from './helpers.js';
17
- import type { OpenApiTransformerContext } from './types.js';
18
-
19
- describe('determineSchemaKind', () => {
20
- const ctx = { config: { unknownTypeBehavior: 'keep-unknown' } } as OpenApiTransformerContext;
21
-
22
- test('returns "oneOf" if schema has "oneOf" property', () => {
23
- const schema = { oneOf: [{}] };
24
- expect(determineSchemaKind(ctx, schema)).toBe('oneOf');
25
- });
26
-
27
- test('returns "combined" if schema has "allOf" or "anyOf" property', () => {
28
- const schema = { allOf: [{}], anyOf: [{}] };
29
- expect(determineSchemaKind(ctx, schema)).toBe('combined');
30
- });
31
-
32
- test('returns "multi-type" if schema has "type" property as an array', () => {
33
- const schema = { type: ['string', 'number'] };
34
- expect(determineSchemaKind(ctx, schema)).toBe('multi-type');
35
- });
36
-
37
- test('returns the value of "type" property if it is a string', () => {
38
- const schema = { type: 'string' };
39
- expect(determineSchemaKind(ctx, schema)).toBe('string');
40
- });
41
-
42
- test('returns "unknown" if schema has no recognizable properties', () => {
43
- const schema = {};
44
- expect(determineSchemaKind(ctx, schema)).toBe('unknown');
45
- });
46
- });
47
-
48
- describe('determineSchemaName', () => {
49
- test('returns the schema title if it exists', () => {
50
- const schema = {
51
- title: 'TestSchema',
52
- $src: { file: 'my-api.yml', path: '/test/schema', document: {} as Deref<OpenApiDocument>, originalComponent: {} },
53
- };
54
- expect(determineSchemaName(schema, 'TestId')).toEqual({
55
- name: 'TestSchema',
56
- isGenerated: false,
57
- });
58
- });
59
-
60
- test("returns the json schema file name if the schema title doesn't exist", () => {
61
- const schema = {
62
- $src: { path: '/', file: 'test.json', document: {} as Deref<OpenApiDocument>, originalComponent: {} },
63
- };
64
- expect(determineSchemaName(schema, 'TestId')).toEqual({
65
- name: 'test',
66
- isGenerated: true,
67
- });
68
- });
69
-
70
- test('returns the schema name extracted from $src.path if it starts with "/components/schemas/"', () => {
71
- const schema = {
72
- $src: {
73
- file: 'my-api.yml',
74
- path: '/components/schemas/TestSchema',
75
- document: {} as Deref<OpenApiDocument>,
76
- originalComponent: {},
77
- },
78
- };
79
- expect(determineSchemaName(schema, 'TestId')).toEqual({
80
- name: 'TestSchema',
81
- isGenerated: false,
82
- });
83
- });
84
-
85
- test('returns the schema name extracted from $src.path if it starts with "/definitions/"', () => {
86
- const schema = {
87
- $src: {
88
- file: 'my-api.yml',
89
- path: '/definitions/TestSchema',
90
- document: {} as Deref<OpenApiDocument>,
91
- originalComponent: {},
92
- },
93
- };
94
- expect(determineSchemaName(schema, 'TestId')).toEqual({
95
- name: 'TestSchema',
96
- isGenerated: false,
97
- });
98
- });
99
-
100
- test('returns a generated name based on the $src.path for response schemas', () => {
101
- const schema = {
102
- $src: {
103
- file: 'my-api.yml',
104
- path: '/paths/users/{userId}/email-verification/{token}/get/responses/200/',
105
- document: {} as Deref<OpenApiDocument>,
106
- originalComponent: {},
107
- },
108
- };
109
- expect(determineSchemaName(schema, 'TestId')).toEqual({
110
- name: 'get_users_:userId_email-verification_:token_200_Response',
111
- isGenerated: true,
112
- });
113
- });
114
-
115
- test('returns the provided id if no other name can be determined', () => {
116
- const schema = {
117
- $src: { file: 'my-api.yml', path: '/test/schema', document: {} as Deref<OpenApiDocument>, originalComponent: {} },
118
- };
119
- expect(determineSchemaName(schema, 'TestId')).toEqual({ name: 'TestId', isGenerated: true });
120
- });
121
- });
122
-
123
- describe('determineSchemaAccessibility', () => {
124
- test('returns "readOnly" if "readOnly" property is true and "writeOnly" property is false or undefined', () => {
125
- const schema = { readOnly: true };
126
- expect(determineSchemaAccessibility(schema)).toBe('readOnly');
127
- });
128
-
129
- test('returns "writeOnly" if "writeOnly" property is true and "readOnly" property is false or undefined', () => {
130
- const schema = { writeOnly: true };
131
- expect(determineSchemaAccessibility(schema)).toBe('writeOnly');
132
- });
133
-
134
- test('returns "none" if both "readOnly" and "writeOnly" properties are true', () => {
135
- const schema = { readOnly: true, writeOnly: true };
136
- expect(determineSchemaAccessibility(schema)).toBe('none');
137
- });
138
-
139
- test('returns "all" if neither "readOnly" nor "writeOnly" properties are true', () => {
140
- const schema = {};
141
- expect(determineSchemaAccessibility(schema)).toBe('all');
142
- });
143
- });
144
-
145
- describe('getCustomFields', () => {
146
- test('returns an empty object if no custom fields are present', () => {
147
- const schema = { type: 'string' };
148
- expect(getCustomFields(schema)).toEqual({});
149
- });
150
-
151
- test('returns an object containing all custom fields starting with "x-"', () => {
152
- const schema = {
153
- type: 'string',
154
- 'x-custom-field-1': 'value1',
155
- 'x-custom-field-2': 'value2',
156
- };
157
- expect(getCustomFields(schema)).toEqual({
158
- 'custom-field-1': 'value1',
159
- 'custom-field-2': 'value2',
160
- });
161
- });
162
-
163
- test('returns an object containing only custom fields starting with "x-"', () => {
164
- const schema = {
165
- type: 'string',
166
- 'x-custom-field-1': 'value1',
167
- 'not-a-custom-field': 'value2',
168
- };
169
- expect(getCustomFields(schema)).toEqual({ 'custom-field-1': 'value1' });
170
- });
171
-
172
- test('returns an object with the same values as the original custom fields', () => {
173
- const schema = {
174
- type: 'string',
175
- 'x-custom-field-1': { key1: 'value1' },
176
- 'x-custom-field-2': ['value2'],
177
- };
178
- expect(getCustomFields(schema)).toEqual({
179
- 'custom-field-1': { key1: 'value1' },
180
- 'custom-field-2': ['value2'],
181
- });
182
- });
183
- });
184
-
185
- describe('determineEndpointName', () => {
186
- test('returns the operationId if it exists', () => {
187
- const endpointInfo = {
188
- method: 'get',
189
- path: '/users',
190
- operation: { operationId: 'getUserList' },
191
- };
192
- expect(determineEndpointName(endpointInfo)).toBe('getUserList');
193
- });
194
-
195
- test('returns a generated name based on the method and path if operationId is not present', () => {
196
- const endpointInfo = { method: 'post', path: '/users/{userId}/comments', operation: {} };
197
- expect(determineEndpointName(endpointInfo)).toBe('post_users_:userId_comments');
198
- });
199
-
200
- test('replaces path parameters with their names in the generated name', () => {
201
- const endpointInfo = {
202
- method: 'get',
203
- path: '/users/{userId}/comments/{commentId}',
204
- operation: {},
205
- };
206
- expect(determineEndpointName(endpointInfo)).toBe('get_users_:userId_comments_:commentId');
207
- });
208
-
209
- test('replaces slashes in the path with underscores in the generated name', () => {
210
- const endpointInfo = { method: 'put', path: '/users/{userId}/profile-picture', operation: {} };
211
- expect(determineEndpointName(endpointInfo)).toBe('put_users_:userId_profile-picture');
212
- });
213
- });
214
-
215
- describe('transformAdditionalProperties', () => {
216
- const context = {} as OpenApiTransformerContext;
217
-
218
- test('returns undefined if additionalProperties is undefined or null', () => {
219
- const schema1 = { additionalProperties: undefined };
220
- const schema2 = { additionalProperties: null };
221
- expect(transformAdditionalProperties(context, schema1, () => ({}) as ApiSchema)).toBeUndefined();
222
- expect(transformAdditionalProperties(context, schema2, () => ({}) as ApiSchema)).toBeUndefined();
223
- });
224
-
225
- test('returns a boolean value if additionalProperties is a boolean value', () => {
226
- const schema1 = { additionalProperties: true };
227
- const schema2 = { additionalProperties: false };
228
- expect(transformAdditionalProperties(context, schema1, () => ({}) as ApiSchema)).toBe(true);
229
- expect(transformAdditionalProperties(context, schema2, () => ({}) as ApiSchema)).toBe(false);
230
- });
231
-
232
- test('calls transformSchema with the additionalProperties schema if it exists', () => {
233
- const schema = { additionalProperties: { type: 'string' } };
234
- const transformSchema = fn(() => ({})) as () => ApiSchema;
235
- transformAdditionalProperties(context, schema, transformSchema);
236
- expect(transformSchema).toHaveBeenCalledWith(context, schema.additionalProperties);
237
- });
238
-
239
- test('returns the result of calling transformSchema with the additionalProperties schema if it exists', () => {
240
- const schema = { additionalProperties: { type: 'string' } };
241
- const transformedSchema = { type: 'string' } as ApiSchema;
242
- const transformSchema = fn(() => transformedSchema) as () => ApiSchema;
243
- expect(transformAdditionalProperties(context, schema, transformSchema)).toBe(transformedSchema);
244
- });
245
- });
246
-
247
- describe('transformSchemaProperties', () => {
248
- const context = {} as OpenApiTransformerContext;
249
-
250
- test('returns an empty array if properties is undefined', () => {
251
- const schema = {};
252
- const transformSchema = fn(() => ({})) as () => ApiSchema;
253
- expect(transformSchemaProperties(context, schema, transformSchema).size).toEqual(0);
254
- });
255
-
256
- test('calls transformSchema with each property schema and builds an array of ApiSchemaProperties', () => {
257
- const schema = {
258
- properties: {
259
- prop1: { type: 'string' } as ApiSchema,
260
- prop2: { type: 'integer' } as ApiSchema,
261
- },
262
- required: ['prop1'],
263
- };
264
- const transformedSchema1 = { type: 'string' } as ApiSchema;
265
- const transformedSchema2 = { type: 'integer' } as ApiSchema;
266
- // deno-lint-ignore no-explicit-any
267
- const transformSchema = fn((_: unknown, subSchema: any) =>
268
- subSchema.type === 'string' ? transformedSchema1 : transformedSchema2
269
- ) as (ctx: OpenApiTransformerContext, schema: ApiSchema) => ApiSchema;
270
- const result = transformSchemaProperties(context, schema, transformSchema);
271
- expect(Array.from(result.entries())).toEqual([
272
- ['prop1', { name: 'prop1', schema: transformedSchema1 }],
273
- ['prop2', { name: 'prop2', schema: transformedSchema2 }],
274
- ]);
275
- expect(transformSchema).toHaveBeenCalledTimes(2);
276
- expect(transformSchema).toHaveBeenCalledWith(context, schema.properties.prop1);
277
- expect(transformSchema).toHaveBeenCalledWith(context, schema.properties.prop2);
278
- });
279
-
280
- test('ignores properties with the name "$src"', () => {
281
- const schema = { properties: { prop1: { type: 'string' }, $src: { path: '/test/schema' } } };
282
- const transformedSchema1 = { type: 'string' } as ApiSchema;
283
- const transformSchema = fn(() => transformedSchema1) as () => ApiSchema;
284
- const result = transformSchemaProperties(context, schema, transformSchema);
285
- expect(Array.from(result.entries())).toEqual([['prop1', { name: 'prop1', schema: transformedSchema1 }]]);
286
- expect(transformSchema).toHaveBeenCalledTimes(1);
287
- expect(transformSchema).toHaveBeenCalledWith(context, schema.properties.prop1);
288
- });
289
- });
290
-
291
- describe('IdGenerator', () => {
292
- test('generates unique ids based on the provided name', () => {
293
- const idGenerator = new IdGenerator();
294
- const id1 = idGenerator.generateId('test');
295
- const id2 = idGenerator.generateId('test');
296
- expect(id1).not.toBe(id2);
297
- });
298
-
299
- test('generates ids with the format "{name}-{n}"', () => {
300
- const idGenerator = new IdGenerator();
301
- const id1 = idGenerator.generateId('test');
302
- expect(id1).toMatch(/^test-\d+$/);
303
- });
304
-
305
- test('increments the id number for each new id generated with the same name', () => {
306
- const idGenerator = new IdGenerator();
307
- const id1 = idGenerator.generateId('test');
308
- const id2 = idGenerator.generateId('test');
309
- const id3 = idGenerator.generateId('test2');
310
- const id4 = idGenerator.generateId('test');
311
- expect(id1).toBe('test-1');
312
- expect(id2).toBe('test-2');
313
- expect(id3).toBe('test2-1');
314
- expect(id4).toBe('test-3');
315
- });
316
- });
@@ -1,211 +0,0 @@
1
- import { parse as parsePath } from 'node:path';
2
- import { isOpenApiObjectProperty } from '../internal-utils.js';
3
- import type { OpenApiHttpMethod, OpenApiObject } from '../parse/openapi-types.js';
4
- import type { Deref, DerefSource } from '../parse/types.js';
5
- import { isNullish } from '../utils/common.utils.js';
6
- import { getDeepProperty } from '../utils/object.utils.js';
7
- import type { ApiSchema, ApiSchemaAccessibility, ApiSchemaKind, ApiSchemaProperty } from './api-types.js';
8
- import type { OpenApiTransformerContext } from './types.js';
9
-
10
- export function determineSchemaKind<
11
- T extends {
12
- oneOf?: unknown;
13
- allOf?: unknown;
14
- anyOf?: unknown;
15
- type?: string | string[];
16
- properties?: Record<string, unknown>;
17
- additionalProperties?: unknown;
18
- },
19
- >(ctx: OpenApiTransformerContext, schema: T): ApiSchemaKind {
20
- if (schema.oneOf) {
21
- return 'oneOf';
22
- } else if (schema.type !== 'object' && (schema.allOf || schema.anyOf)) {
23
- const hasProperties = (schema.properties && Object.keys(schema.properties).length > 0) ||
24
- schema.additionalProperties;
25
- return hasProperties ? 'object' : 'combined';
26
- } else if (Array.isArray(schema.type)) {
27
- return 'multi-type';
28
- } else if (
29
- schema.type === 'object' ||
30
- schema.type === 'string' ||
31
- schema.type === 'boolean' ||
32
- schema.type === 'null' ||
33
- schema.type === 'number' ||
34
- schema.type === 'integer' ||
35
- schema.type === 'array'
36
- ) {
37
- return schema.type;
38
- }
39
-
40
- const treadAsObject = ctx.config.unknownTypeBehavior === 'always-object' ||
41
- (ctx.config.unknownTypeBehavior === 'object-if-properties' &&
42
- schema.properties &&
43
- Object.keys(schema.properties).length > 0);
44
-
45
- return treadAsObject ? 'object' : 'unknown';
46
- }
47
-
48
- export function determineSchemaName(
49
- schema: {
50
- title?: string;
51
- $src: DerefSource<unknown>;
52
- },
53
- id: string,
54
- ): { name: string; isGenerated: boolean } {
55
- if (schema.title) return { name: schema.title, isGenerated: false };
56
- if (!schema.$src) {
57
- console.log('woot?');
58
- }
59
-
60
- if (schema.$src.path === '/') return { name: parsePath(schema.$src.file).name, isGenerated: true };
61
-
62
- const schemaNameMatch = schema.$src.path.match(/(?<=\/components\/schemas\/|\/definitions\/)[^/]+$/i);
63
- if (schemaNameMatch) {
64
- return { name: schemaNameMatch[0], isGenerated: false };
65
- }
66
-
67
- const responseMatch = schema.$src.path.match(/\/paths\/(?<path>.+)\/(?<method>.+)\/responses\/(?<status>\d+)\//);
68
- if (responseMatch && responseMatch.groups) {
69
- const { path, method, status } = responseMatch.groups;
70
- const operation = schema.$src.document.paths?.[path]?.[method as OpenApiHttpMethod] ?? {};
71
- return {
72
- name: `${determineEndpointName({ method, path: `/${path}`, operation })}_${status}_Response`,
73
- isGenerated: true,
74
- };
75
- }
76
-
77
- const responseCompMatch = schema.$src.path.match(/\/components\/responses\/([^/]+)\/content\/.+\/schema/);
78
- if (responseCompMatch) {
79
- return {
80
- name: responseCompMatch[1].toLowerCase().endsWith('response')
81
- ? responseCompMatch[1]
82
- : responseCompMatch[1] + 'Response',
83
- isGenerated: true,
84
- };
85
- }
86
-
87
- const requestBodyMatch = schema.$src.path.match(/\/paths\/(?<path>.+)\/(?<method>.+)\/requestBody\//);
88
- if (requestBodyMatch && requestBodyMatch.groups) {
89
- const { path, method } = requestBodyMatch.groups;
90
- const operation = schema.$src.document.paths?.[path]?.[method as OpenApiHttpMethod] ?? {};
91
- return { name: `${determineEndpointName({ method, path: `/${path}`, operation })}_Request`, isGenerated: true };
92
- }
93
-
94
- const parentSchemaMatch = schema.$src.path.match(/(.*)\/properties\/([^/]*)$/);
95
- if (parentSchemaMatch) {
96
- const parentSchema = getDeepProperty(schema.$src.document, parentSchemaMatch[1].split('/').filter(Boolean));
97
- const parentSchemaName = determineSchemaName(
98
- {
99
- title: typeof parentSchema === 'object' && parentSchema !== null && 'title' in parentSchema
100
- ? String(parentSchema.title)
101
- : undefined,
102
- $src: {
103
- file: schema.$src.file,
104
- path: parentSchemaMatch[1],
105
- document: schema.$src.document,
106
- originalComponent: parentSchema,
107
- },
108
- },
109
- id,
110
- );
111
- if (!parentSchemaName.isGenerated) {
112
- return { name: `${parentSchemaName.name}_${parentSchemaMatch[2]}`, isGenerated: true };
113
- }
114
- }
115
-
116
- return { name: id, isGenerated: true };
117
- }
118
-
119
- export function determineSchemaAccessibility(schema: {
120
- readOnly?: boolean;
121
- writeOnly?: boolean;
122
- }): ApiSchemaAccessibility {
123
- if (schema.readOnly === true) {
124
- return schema.writeOnly === true ? 'none' : 'readOnly';
125
- } else {
126
- return schema.writeOnly === true ? 'writeOnly' : 'all';
127
- }
128
- }
129
-
130
- export function updateSchemaAccessibility(
131
- accessibility: ApiSchemaAccessibility,
132
- schema: {
133
- readOnly?: boolean;
134
- writeOnly?: boolean;
135
- },
136
- ): ApiSchemaAccessibility {
137
- if (accessibility === 'none') return 'none';
138
- if (accessibility === 'readOnly') return schema.writeOnly === true ? 'none' : 'readOnly';
139
- if (accessibility === 'writeOnly') return schema.readOnly === true ? 'none' : 'writeOnly';
140
- return determineSchemaAccessibility(schema);
141
- }
142
-
143
- type CustomFields<T extends Record<string, unknown>> = {
144
- [K in keyof T as K extends `x-${string}` ? K : never]: T[K];
145
- };
146
-
147
- export function getCustomFields<T extends Record<string, unknown>>(schema: T): CustomFields<T> {
148
- const result = {} as CustomFields<T>;
149
- for (const key in schema) {
150
- if (key.startsWith('x-')) {
151
- const name = key.substring(2);
152
- (result as Record<string, unknown>)[name] = schema[key];
153
- }
154
- }
155
- return result;
156
- }
157
-
158
- export function determineEndpointName(endpointInfo: {
159
- method: string;
160
- path: string;
161
- operation: { operationId?: string };
162
- }): string {
163
- if (endpointInfo.operation.operationId) return endpointInfo.operation.operationId;
164
- return endpointInfo.method + endpointInfo.path.replace(/\{([^}]+)\}/g, ':$1').replace(/\//g, '_');
165
- }
166
-
167
- export function transformAdditionalProperties<TAdditionalProperties>(
168
- context: OpenApiTransformerContext,
169
- schema: {
170
- additionalProperties?: TAdditionalProperties;
171
- },
172
- transformSchema: (
173
- context: OpenApiTransformerContext,
174
- schema: Exclude<TAdditionalProperties, undefined | boolean>,
175
- ) => ApiSchema,
176
- ): boolean | ApiSchema | undefined {
177
- if (isNullish(schema.additionalProperties)) return undefined;
178
- if (typeof schema.additionalProperties === 'boolean') return schema.additionalProperties;
179
- return transformSchema(context, schema.additionalProperties as Exclude<TAdditionalProperties, undefined | boolean>);
180
- }
181
-
182
- export function transformSchemaProperties<TProperties>(
183
- context: OpenApiTransformerContext,
184
- schema: { properties?: Record<string, TProperties>; required?: string[] },
185
- transformSchema: (context: OpenApiTransformerContext, schema: TProperties) => ApiSchema,
186
- ): Map<string, ApiSchemaProperty> {
187
- const result = new Map<string, ApiSchemaProperty>();
188
- if (!schema.properties) return result;
189
- for (const name of Object.keys(schema.properties)) {
190
- if (!isOpenApiObjectProperty(name)) continue;
191
- result.set(name, {
192
- name,
193
- schema: transformSchema(context, schema.properties[name]),
194
- });
195
- }
196
- return result;
197
- }
198
-
199
- export class IdGenerator {
200
- private readonly _idMap = new Map<string, number>();
201
-
202
- public generateId(name: string): string {
203
- const id = this._idMap.get(name) ?? 1;
204
- this._idMap.set(name, id + 1);
205
- return `${name}-${id}`;
206
- }
207
- }
208
-
209
- export function getOpenApiObjectIdentifier(obj: Deref<OpenApiObject<string>>) {
210
- return obj.$src.file + '#' + obj.$src.path;
211
- }
@@ -1,35 +0,0 @@
1
- import type { OpenApiDocument, OpenApiTag } from '../parse/openapi-types.js';
2
- import type { Deref } from '../parse/types.js';
3
- import type { ApiService } from './api-types.js';
4
- import { getOpenApiObjectIdentifier } from './helpers.js';
5
- import type { OpenApiTransformerContext } from './types.js';
6
-
7
- export function transformDocument(context: OpenApiTransformerContext, document: Deref<OpenApiDocument>) {
8
- for (const tag of document.tags ?? []) {
9
- transformTag(context, tag);
10
- }
11
- }
12
-
13
- function transformTag(context: OpenApiTransformerContext, tag: Deref<OpenApiTag>, isReference = false) {
14
- const openApiObjectId = getOpenApiObjectIdentifier(tag);
15
- const existing = context.transformed.services.get(openApiObjectId);
16
- if (existing) return existing;
17
-
18
- const ref = tag.$ref ? transformTag(context, tag.$ref, true) : undefined;
19
- const id = context.idGenerator.generateId('service');
20
- const service: ApiService = {
21
- $src: {
22
- ...tag.$src,
23
- component: tag,
24
- },
25
- $ref: ref,
26
- id,
27
- name: tag.name ?? id,
28
- description: tag.description,
29
- endpoints: [],
30
- };
31
-
32
- context.transformed.services.set(openApiObjectId, service);
33
- if (!isReference) context.services.set(service.name, service);
34
- return service;
35
- }