@goast/kotlin 0.4.17 → 0.4.18-beta2

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 (523) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +45 -45
  3. package/assets/client/okhttp3/ApiClient.kt +252 -252
  4. package/esm/src/ast/references/jackson.d.ts +2 -0
  5. package/esm/src/ast/references/jackson.d.ts.map +1 -1
  6. package/esm/src/ast/references/jackson.js +2 -0
  7. package/esm/src/generators/models/args.d.ts +7 -0
  8. package/esm/src/generators/models/args.d.ts.map +1 -1
  9. package/esm/src/generators/models/model-generator.d.ts +2 -0
  10. package/esm/src/generators/models/model-generator.d.ts.map +1 -1
  11. package/esm/src/generators/models/model-generator.js +29 -5
  12. package/esm/src/generators/services/okhttp3-clients/okhttp3-client-generator.js +28 -28
  13. package/esm/src/generators/services/spring-controllers/spring-controller-generator.js +9 -9
  14. package/package.json +2 -2
  15. package/script/src/ast/references/jackson.d.ts +2 -0
  16. package/script/src/ast/references/jackson.d.ts.map +1 -1
  17. package/script/src/ast/references/jackson.js +3 -1
  18. package/script/src/generators/models/args.d.ts +7 -0
  19. package/script/src/generators/models/args.d.ts.map +1 -1
  20. package/script/src/generators/models/model-generator.d.ts +2 -0
  21. package/script/src/generators/models/model-generator.d.ts.map +1 -1
  22. package/script/src/generators/models/model-generator.js +29 -5
  23. package/script/src/generators/services/okhttp3-clients/okhttp3-client-generator.js +28 -28
  24. package/script/src/generators/services/spring-controllers/spring-controller-generator.js +9 -9
  25. package/esm/_dnt.test_polyfills.d.ts +0 -29
  26. package/esm/_dnt.test_polyfills.d.ts.map +0 -1
  27. package/esm/_dnt.test_polyfills.js +0 -31
  28. package/esm/_dnt.test_shims.d.ts +0 -6
  29. package/esm/_dnt.test_shims.d.ts.map +0 -1
  30. package/esm/_dnt.test_shims.js +0 -61
  31. package/esm/deps/jsr.io/@std/assert/1.0.13/assertion_error.d.ts +0 -26
  32. package/esm/deps/jsr.io/@std/assert/1.0.13/assertion_error.d.ts.map +0 -1
  33. package/esm/deps/jsr.io/@std/assert/1.0.13/assertion_error.js +0 -30
  34. package/esm/deps/jsr.io/@std/assert/1.0.13/equal.d.ts +0 -17
  35. package/esm/deps/jsr.io/@std/assert/1.0.13/equal.d.ts.map +0 -1
  36. package/esm/deps/jsr.io/@std/assert/1.0.13/equal.js +0 -183
  37. package/esm/deps/jsr.io/@std/assert/1.0.13/equals.d.ts +0 -35
  38. package/esm/deps/jsr.io/@std/assert/1.0.13/equals.d.ts.map +0 -1
  39. package/esm/deps/jsr.io/@std/assert/1.0.13/equals.js +0 -58
  40. package/esm/deps/jsr.io/@std/assert/1.0.13/false.d.ts +0 -18
  41. package/esm/deps/jsr.io/@std/assert/1.0.13/false.d.ts.map +0 -1
  42. package/esm/deps/jsr.io/@std/assert/1.0.13/false.js +0 -22
  43. package/esm/deps/jsr.io/@std/assert/1.0.13/instance_of.d.ts +0 -23
  44. package/esm/deps/jsr.io/@std/assert/1.0.13/instance_of.d.ts.map +0 -1
  45. package/esm/deps/jsr.io/@std/assert/1.0.13/instance_of.js +0 -53
  46. package/esm/deps/jsr.io/@std/assert/1.0.13/is_error.d.ts +0 -25
  47. package/esm/deps/jsr.io/@std/assert/1.0.13/is_error.d.ts.map +0 -1
  48. package/esm/deps/jsr.io/@std/assert/1.0.13/is_error.js +0 -54
  49. package/esm/deps/jsr.io/@std/assert/1.0.13/match.d.ts +0 -18
  50. package/esm/deps/jsr.io/@std/assert/1.0.13/match.d.ts.map +0 -1
  51. package/esm/deps/jsr.io/@std/assert/1.0.13/match.js +0 -26
  52. package/esm/deps/jsr.io/@std/assert/1.0.13/not_instance_of.d.ts +0 -20
  53. package/esm/deps/jsr.io/@std/assert/1.0.13/not_instance_of.d.ts.map +0 -1
  54. package/esm/deps/jsr.io/@std/assert/1.0.13/not_instance_of.js +0 -29
  55. package/esm/deps/jsr.io/@std/assert/1.0.13/not_match.d.ts +0 -18
  56. package/esm/deps/jsr.io/@std/assert/1.0.13/not_match.d.ts.map +0 -1
  57. package/esm/deps/jsr.io/@std/assert/1.0.13/not_match.js +0 -26
  58. package/esm/deps/jsr.io/@std/assert/1.0.13/not_strict_equals.d.ts +0 -23
  59. package/esm/deps/jsr.io/@std/assert/1.0.13/not_strict_equals.d.ts.map +0 -1
  60. package/esm/deps/jsr.io/@std/assert/1.0.13/not_strict_equals.js +0 -32
  61. package/esm/deps/jsr.io/@std/assert/1.0.13/rejects.d.ts +0 -42
  62. package/esm/deps/jsr.io/@std/assert/1.0.13/rejects.d.ts.map +0 -1
  63. package/esm/deps/jsr.io/@std/assert/1.0.13/rejects.js +0 -53
  64. package/esm/deps/jsr.io/@std/assert/1.0.13/strict_equals.d.ts +0 -24
  65. package/esm/deps/jsr.io/@std/assert/1.0.13/strict_equals.d.ts.map +0 -1
  66. package/esm/deps/jsr.io/@std/assert/1.0.13/strict_equals.js +0 -57
  67. package/esm/deps/jsr.io/@std/expect/1.0.15/_assert_equals.d.ts +0 -20
  68. package/esm/deps/jsr.io/@std/expect/1.0.15/_assert_equals.d.ts.map +0 -1
  69. package/esm/deps/jsr.io/@std/expect/1.0.15/_assert_equals.js +0 -29
  70. package/esm/deps/jsr.io/@std/expect/1.0.15/_assert_is_error.d.ts +0 -14
  71. package/esm/deps/jsr.io/@std/expect/1.0.15/_assert_is_error.d.ts.map +0 -1
  72. package/esm/deps/jsr.io/@std/expect/1.0.15/_assert_is_error.js +0 -43
  73. package/esm/deps/jsr.io/@std/expect/1.0.15/_assert_not_equals.d.ts +0 -17
  74. package/esm/deps/jsr.io/@std/expect/1.0.15/_assert_not_equals.d.ts.map +0 -1
  75. package/esm/deps/jsr.io/@std/expect/1.0.15/_assert_not_equals.js +0 -26
  76. package/esm/deps/jsr.io/@std/expect/1.0.15/_assertions.d.ts +0 -4
  77. package/esm/deps/jsr.io/@std/expect/1.0.15/_assertions.d.ts.map +0 -1
  78. package/esm/deps/jsr.io/@std/expect/1.0.15/_assertions.js +0 -13
  79. package/esm/deps/jsr.io/@std/expect/1.0.15/_asymmetric_matchers.d.ts +0 -46
  80. package/esm/deps/jsr.io/@std/expect/1.0.15/_asymmetric_matchers.d.ts.map +0 -1
  81. package/esm/deps/jsr.io/@std/expect/1.0.15/_asymmetric_matchers.js +0 -161
  82. package/esm/deps/jsr.io/@std/expect/1.0.15/_build_message.d.ts +0 -6
  83. package/esm/deps/jsr.io/@std/expect/1.0.15/_build_message.d.ts.map +0 -1
  84. package/esm/deps/jsr.io/@std/expect/1.0.15/_build_message.js +0 -29
  85. package/esm/deps/jsr.io/@std/expect/1.0.15/_custom_equality_tester.d.ts +0 -4
  86. package/esm/deps/jsr.io/@std/expect/1.0.15/_custom_equality_tester.d.ts.map +0 -1
  87. package/esm/deps/jsr.io/@std/expect/1.0.15/_custom_equality_tester.js +0 -11
  88. package/esm/deps/jsr.io/@std/expect/1.0.15/_equal.d.ts +0 -9
  89. package/esm/deps/jsr.io/@std/expect/1.0.15/_equal.d.ts.map +0 -1
  90. package/esm/deps/jsr.io/@std/expect/1.0.15/_equal.js +0 -191
  91. package/esm/deps/jsr.io/@std/expect/1.0.15/_extend.d.ts +0 -4
  92. package/esm/deps/jsr.io/@std/expect/1.0.15/_extend.d.ts.map +0 -1
  93. package/esm/deps/jsr.io/@std/expect/1.0.15/_extend.js +0 -11
  94. package/esm/deps/jsr.io/@std/expect/1.0.15/_inspect_args.d.ts +0 -3
  95. package/esm/deps/jsr.io/@std/expect/1.0.15/_inspect_args.d.ts.map +0 -1
  96. package/esm/deps/jsr.io/@std/expect/1.0.15/_inspect_args.js +0 -12
  97. package/esm/deps/jsr.io/@std/expect/1.0.15/_matchers.d.ts +0 -34
  98. package/esm/deps/jsr.io/@std/expect/1.0.15/_matchers.d.ts.map +0 -1
  99. package/esm/deps/jsr.io/@std/expect/1.0.15/_matchers.js +0 -713
  100. package/esm/deps/jsr.io/@std/expect/1.0.15/_mock_util.d.ts +0 -11
  101. package/esm/deps/jsr.io/@std/expect/1.0.15/_mock_util.d.ts.map +0 -1
  102. package/esm/deps/jsr.io/@std/expect/1.0.15/_mock_util.js +0 -10
  103. package/esm/deps/jsr.io/@std/expect/1.0.15/_serializer.d.ts +0 -4
  104. package/esm/deps/jsr.io/@std/expect/1.0.15/_serializer.d.ts.map +0 -1
  105. package/esm/deps/jsr.io/@std/expect/1.0.15/_serializer.js +0 -10
  106. package/esm/deps/jsr.io/@std/expect/1.0.15/_types.d.ts +0 -843
  107. package/esm/deps/jsr.io/@std/expect/1.0.15/_types.d.ts.map +0 -1
  108. package/esm/deps/jsr.io/@std/expect/1.0.15/_types.js +0 -3
  109. package/esm/deps/jsr.io/@std/expect/1.0.15/_utils.d.ts +0 -9
  110. package/esm/deps/jsr.io/@std/expect/1.0.15/_utils.d.ts.map +0 -1
  111. package/esm/deps/jsr.io/@std/expect/1.0.15/_utils.js +0 -218
  112. package/esm/deps/jsr.io/@std/expect/1.0.15/expect.d.ts +0 -60
  113. package/esm/deps/jsr.io/@std/expect/1.0.15/expect.d.ts.map +0 -1
  114. package/esm/deps/jsr.io/@std/expect/1.0.15/expect.js +0 -523
  115. package/esm/deps/jsr.io/@std/internal/1.0.6/assertion_state.d.ts +0 -160
  116. package/esm/deps/jsr.io/@std/internal/1.0.6/assertion_state.d.ts.map +0 -1
  117. package/esm/deps/jsr.io/@std/internal/1.0.6/assertion_state.js +0 -200
  118. package/esm/deps/jsr.io/@std/internal/1.0.6/build_message.d.ts +0 -82
  119. package/esm/deps/jsr.io/@std/internal/1.0.6/build_message.d.ts.map +0 -1
  120. package/esm/deps/jsr.io/@std/internal/1.0.6/build_message.js +0 -111
  121. package/esm/deps/jsr.io/@std/internal/1.0.6/diff.d.ts +0 -140
  122. package/esm/deps/jsr.io/@std/internal/1.0.6/diff.d.ts.map +0 -1
  123. package/esm/deps/jsr.io/@std/internal/1.0.6/diff.js +0 -277
  124. package/esm/deps/jsr.io/@std/internal/1.0.6/diff_str.d.ts +0 -99
  125. package/esm/deps/jsr.io/@std/internal/1.0.6/diff_str.d.ts.map +0 -1
  126. package/esm/deps/jsr.io/@std/internal/1.0.6/diff_str.js +0 -183
  127. package/esm/deps/jsr.io/@std/internal/1.0.6/format.d.ts +0 -2
  128. package/esm/deps/jsr.io/@std/internal/1.0.6/format.d.ts.map +0 -1
  129. package/esm/deps/jsr.io/@std/internal/1.0.6/format.js +0 -37
  130. package/esm/deps/jsr.io/@std/internal/1.0.6/styles.d.ts +0 -159
  131. package/esm/deps/jsr.io/@std/internal/1.0.6/styles.d.ts.map +0 -1
  132. package/esm/deps/jsr.io/@std/internal/1.0.6/styles.js +0 -207
  133. package/esm/deps/jsr.io/@std/internal/1.0.6/types.d.ts +0 -16
  134. package/esm/deps/jsr.io/@std/internal/1.0.6/types.d.ts.map +0 -1
  135. package/esm/deps/jsr.io/@std/internal/1.0.6/types.js +0 -3
  136. package/esm/deps/jsr.io/@std/testing/1.0.11/_mock_utils.d.ts +0 -15
  137. package/esm/deps/jsr.io/@std/testing/1.0.11/_mock_utils.d.ts.map +0 -1
  138. package/esm/deps/jsr.io/@std/testing/1.0.11/_mock_utils.js +0 -35
  139. package/esm/deps/jsr.io/@std/testing/1.0.11/_test_suite.d.ts +0 -79
  140. package/esm/deps/jsr.io/@std/testing/1.0.11/_test_suite.d.ts.map +0 -1
  141. package/esm/deps/jsr.io/@std/testing/1.0.11/_test_suite.js +0 -380
  142. package/esm/deps/jsr.io/@std/testing/1.0.11/bdd.d.ts +0 -738
  143. package/esm/deps/jsr.io/@std/testing/1.0.11/bdd.d.ts.map +0 -1
  144. package/esm/deps/jsr.io/@std/testing/1.0.11/bdd.js +0 -654
  145. package/esm/deps/jsr.io/@std/testing/1.0.11/mock.d.ts +0 -674
  146. package/esm/deps/jsr.io/@std/testing/1.0.11/mock.d.ts.map +0 -1
  147. package/esm/deps/jsr.io/@std/testing/1.0.11/mock.js +0 -1083
  148. package/esm/src/ast/nodes/annotation.test.d.ts +0 -2
  149. package/esm/src/ast/nodes/annotation.test.d.ts.map +0 -1
  150. package/esm/src/ast/nodes/annotation.test.js +0 -56
  151. package/esm/src/ast/nodes/argument.test.d.ts +0 -2
  152. package/esm/src/ast/nodes/argument.test.d.ts.map +0 -1
  153. package/esm/src/ast/nodes/argument.test.js +0 -33
  154. package/esm/src/ast/nodes/call.test.d.ts +0 -2
  155. package/esm/src/ast/nodes/call.test.d.ts.map +0 -1
  156. package/esm/src/ast/nodes/call.test.js +0 -35
  157. package/esm/src/ast/nodes/class.test.d.ts +0 -2
  158. package/esm/src/ast/nodes/class.test.d.ts.map +0 -1
  159. package/esm/src/ast/nodes/class.test.js +0 -219
  160. package/esm/src/ast/nodes/constructor.test.d.ts +0 -2
  161. package/esm/src/ast/nodes/constructor.test.d.ts.map +0 -1
  162. package/esm/src/ast/nodes/constructor.test.js +0 -139
  163. package/esm/src/ast/nodes/doc-tag.test.d.ts +0 -2
  164. package/esm/src/ast/nodes/doc-tag.test.d.ts.map +0 -1
  165. package/esm/src/ast/nodes/doc-tag.test.js +0 -67
  166. package/esm/src/ast/nodes/doc.test.d.ts +0 -2
  167. package/esm/src/ast/nodes/doc.test.d.ts.map +0 -1
  168. package/esm/src/ast/nodes/doc.test.js +0 -33
  169. package/esm/src/ast/nodes/enum-value.test.d.ts +0 -2
  170. package/esm/src/ast/nodes/enum-value.test.d.ts.map +0 -1
  171. package/esm/src/ast/nodes/enum-value.test.js +0 -115
  172. package/esm/src/ast/nodes/enum.test.d.ts +0 -2
  173. package/esm/src/ast/nodes/enum.test.d.ts.map +0 -1
  174. package/esm/src/ast/nodes/enum.test.js +0 -129
  175. package/esm/src/ast/nodes/function.test.d.ts +0 -2
  176. package/esm/src/ast/nodes/function.test.d.ts.map +0 -1
  177. package/esm/src/ast/nodes/function.test.js +0 -160
  178. package/esm/src/ast/nodes/generic-parameter.test.d.ts +0 -2
  179. package/esm/src/ast/nodes/generic-parameter.test.d.ts.map +0 -1
  180. package/esm/src/ast/nodes/generic-parameter.test.js +0 -49
  181. package/esm/src/ast/nodes/init-block.test.d.ts +0 -2
  182. package/esm/src/ast/nodes/init-block.test.d.ts.map +0 -1
  183. package/esm/src/ast/nodes/init-block.test.js +0 -28
  184. package/esm/src/ast/nodes/interface.test.d.ts +0 -2
  185. package/esm/src/ast/nodes/interface.test.d.ts.map +0 -1
  186. package/esm/src/ast/nodes/interface.test.js +0 -121
  187. package/esm/src/ast/nodes/object.test.d.ts +0 -2
  188. package/esm/src/ast/nodes/object.test.d.ts.map +0 -1
  189. package/esm/src/ast/nodes/object.test.js +0 -78
  190. package/esm/src/ast/nodes/parameter.test.d.ts +0 -2
  191. package/esm/src/ast/nodes/parameter.test.d.ts.map +0 -1
  192. package/esm/src/ast/nodes/parameter.test.js +0 -152
  193. package/esm/src/ast/nodes/property.test.d.ts +0 -2
  194. package/esm/src/ast/nodes/property.test.d.ts.map +0 -1
  195. package/esm/src/ast/nodes/property.test.js +0 -206
  196. package/esm/src/ast/nodes/reference.test.d.ts +0 -2
  197. package/esm/src/ast/nodes/reference.test.d.ts.map +0 -1
  198. package/esm/src/ast/nodes/reference.test.js +0 -36
  199. package/esm/src/ast/nodes/string.test.d.ts +0 -2
  200. package/esm/src/ast/nodes/string.test.d.ts.map +0 -1
  201. package/esm/src/ast/nodes/string.test.js +0 -48
  202. package/esm/src/import-collection.test.d.ts +0 -2
  203. package/esm/src/import-collection.test.d.ts.map +0 -1
  204. package/esm/src/import-collection.test.js +0 -99
  205. package/esm/tests/openapi-models.test.d.ts +0 -2
  206. package/esm/tests/openapi-models.test.d.ts.map +0 -1
  207. package/esm/tests/openapi-models.test.js +0 -45
  208. package/script/_dnt.test_polyfills.d.ts +0 -29
  209. package/script/_dnt.test_polyfills.d.ts.map +0 -1
  210. package/script/_dnt.test_polyfills.js +0 -32
  211. package/script/_dnt.test_shims.d.ts +0 -6
  212. package/script/_dnt.test_shims.d.ts.map +0 -1
  213. package/script/_dnt.test_shims.js +0 -65
  214. package/script/deps/jsr.io/@std/assert/1.0.13/assertion_error.d.ts +0 -26
  215. package/script/deps/jsr.io/@std/assert/1.0.13/assertion_error.d.ts.map +0 -1
  216. package/script/deps/jsr.io/@std/assert/1.0.13/assertion_error.js +0 -34
  217. package/script/deps/jsr.io/@std/assert/1.0.13/equal.d.ts +0 -17
  218. package/script/deps/jsr.io/@std/assert/1.0.13/equal.d.ts.map +0 -1
  219. package/script/deps/jsr.io/@std/assert/1.0.13/equal.js +0 -187
  220. package/script/deps/jsr.io/@std/assert/1.0.13/equals.d.ts +0 -35
  221. package/script/deps/jsr.io/@std/assert/1.0.13/equals.d.ts.map +0 -1
  222. package/script/deps/jsr.io/@std/assert/1.0.13/equals.js +0 -61
  223. package/script/deps/jsr.io/@std/assert/1.0.13/false.d.ts +0 -18
  224. package/script/deps/jsr.io/@std/assert/1.0.13/false.d.ts.map +0 -1
  225. package/script/deps/jsr.io/@std/assert/1.0.13/false.js +0 -25
  226. package/script/deps/jsr.io/@std/assert/1.0.13/instance_of.d.ts +0 -23
  227. package/script/deps/jsr.io/@std/assert/1.0.13/instance_of.d.ts.map +0 -1
  228. package/script/deps/jsr.io/@std/assert/1.0.13/instance_of.js +0 -56
  229. package/script/deps/jsr.io/@std/assert/1.0.13/is_error.d.ts +0 -25
  230. package/script/deps/jsr.io/@std/assert/1.0.13/is_error.d.ts.map +0 -1
  231. package/script/deps/jsr.io/@std/assert/1.0.13/is_error.js +0 -57
  232. package/script/deps/jsr.io/@std/assert/1.0.13/match.d.ts +0 -18
  233. package/script/deps/jsr.io/@std/assert/1.0.13/match.d.ts.map +0 -1
  234. package/script/deps/jsr.io/@std/assert/1.0.13/match.js +0 -29
  235. package/script/deps/jsr.io/@std/assert/1.0.13/not_instance_of.d.ts +0 -20
  236. package/script/deps/jsr.io/@std/assert/1.0.13/not_instance_of.d.ts.map +0 -1
  237. package/script/deps/jsr.io/@std/assert/1.0.13/not_instance_of.js +0 -32
  238. package/script/deps/jsr.io/@std/assert/1.0.13/not_match.d.ts +0 -18
  239. package/script/deps/jsr.io/@std/assert/1.0.13/not_match.d.ts.map +0 -1
  240. package/script/deps/jsr.io/@std/assert/1.0.13/not_match.js +0 -29
  241. package/script/deps/jsr.io/@std/assert/1.0.13/not_strict_equals.d.ts +0 -23
  242. package/script/deps/jsr.io/@std/assert/1.0.13/not_strict_equals.d.ts.map +0 -1
  243. package/script/deps/jsr.io/@std/assert/1.0.13/not_strict_equals.js +0 -35
  244. package/script/deps/jsr.io/@std/assert/1.0.13/rejects.d.ts +0 -42
  245. package/script/deps/jsr.io/@std/assert/1.0.13/rejects.d.ts.map +0 -1
  246. package/script/deps/jsr.io/@std/assert/1.0.13/rejects.js +0 -56
  247. package/script/deps/jsr.io/@std/assert/1.0.13/strict_equals.d.ts +0 -24
  248. package/script/deps/jsr.io/@std/assert/1.0.13/strict_equals.d.ts.map +0 -1
  249. package/script/deps/jsr.io/@std/assert/1.0.13/strict_equals.js +0 -60
  250. package/script/deps/jsr.io/@std/expect/1.0.15/_assert_equals.d.ts +0 -20
  251. package/script/deps/jsr.io/@std/expect/1.0.15/_assert_equals.d.ts.map +0 -1
  252. package/script/deps/jsr.io/@std/expect/1.0.15/_assert_equals.js +0 -32
  253. package/script/deps/jsr.io/@std/expect/1.0.15/_assert_is_error.d.ts +0 -14
  254. package/script/deps/jsr.io/@std/expect/1.0.15/_assert_is_error.d.ts.map +0 -1
  255. package/script/deps/jsr.io/@std/expect/1.0.15/_assert_is_error.js +0 -46
  256. package/script/deps/jsr.io/@std/expect/1.0.15/_assert_not_equals.d.ts +0 -17
  257. package/script/deps/jsr.io/@std/expect/1.0.15/_assert_not_equals.d.ts.map +0 -1
  258. package/script/deps/jsr.io/@std/expect/1.0.15/_assert_not_equals.js +0 -29
  259. package/script/deps/jsr.io/@std/expect/1.0.15/_assertions.d.ts +0 -4
  260. package/script/deps/jsr.io/@std/expect/1.0.15/_assertions.d.ts.map +0 -1
  261. package/script/deps/jsr.io/@std/expect/1.0.15/_assertions.js +0 -18
  262. package/script/deps/jsr.io/@std/expect/1.0.15/_asymmetric_matchers.d.ts +0 -46
  263. package/script/deps/jsr.io/@std/expect/1.0.15/_asymmetric_matchers.d.ts.map +0 -1
  264. package/script/deps/jsr.io/@std/expect/1.0.15/_asymmetric_matchers.js +0 -183
  265. package/script/deps/jsr.io/@std/expect/1.0.15/_build_message.d.ts +0 -6
  266. package/script/deps/jsr.io/@std/expect/1.0.15/_build_message.d.ts.map +0 -1
  267. package/script/deps/jsr.io/@std/expect/1.0.15/_build_message.js +0 -33
  268. package/script/deps/jsr.io/@std/expect/1.0.15/_custom_equality_tester.d.ts +0 -4
  269. package/script/deps/jsr.io/@std/expect/1.0.15/_custom_equality_tester.d.ts.map +0 -1
  270. package/script/deps/jsr.io/@std/expect/1.0.15/_custom_equality_tester.js +0 -15
  271. package/script/deps/jsr.io/@std/expect/1.0.15/_equal.d.ts +0 -9
  272. package/script/deps/jsr.io/@std/expect/1.0.15/_equal.d.ts.map +0 -1
  273. package/script/deps/jsr.io/@std/expect/1.0.15/_equal.js +0 -194
  274. package/script/deps/jsr.io/@std/expect/1.0.15/_extend.d.ts +0 -4
  275. package/script/deps/jsr.io/@std/expect/1.0.15/_extend.d.ts.map +0 -1
  276. package/script/deps/jsr.io/@std/expect/1.0.15/_extend.js +0 -15
  277. package/script/deps/jsr.io/@std/expect/1.0.15/_inspect_args.d.ts +0 -3
  278. package/script/deps/jsr.io/@std/expect/1.0.15/_inspect_args.d.ts.map +0 -1
  279. package/script/deps/jsr.io/@std/expect/1.0.15/_inspect_args.js +0 -17
  280. package/script/deps/jsr.io/@std/expect/1.0.15/_matchers.d.ts +0 -34
  281. package/script/deps/jsr.io/@std/expect/1.0.15/_matchers.d.ts.map +0 -1
  282. package/script/deps/jsr.io/@std/expect/1.0.15/_matchers.js +0 -747
  283. package/script/deps/jsr.io/@std/expect/1.0.15/_mock_util.d.ts +0 -11
  284. package/script/deps/jsr.io/@std/expect/1.0.15/_mock_util.d.ts.map +0 -1
  285. package/script/deps/jsr.io/@std/expect/1.0.15/_mock_util.js +0 -14
  286. package/script/deps/jsr.io/@std/expect/1.0.15/_serializer.d.ts +0 -4
  287. package/script/deps/jsr.io/@std/expect/1.0.15/_serializer.d.ts.map +0 -1
  288. package/script/deps/jsr.io/@std/expect/1.0.15/_serializer.js +0 -14
  289. package/script/deps/jsr.io/@std/expect/1.0.15/_types.d.ts +0 -843
  290. package/script/deps/jsr.io/@std/expect/1.0.15/_types.d.ts.map +0 -1
  291. package/script/deps/jsr.io/@std/expect/1.0.15/_types.js +0 -4
  292. package/script/deps/jsr.io/@std/expect/1.0.15/_utils.d.ts +0 -9
  293. package/script/deps/jsr.io/@std/expect/1.0.15/_utils.d.ts.map +0 -1
  294. package/script/deps/jsr.io/@std/expect/1.0.15/_utils.js +0 -226
  295. package/script/deps/jsr.io/@std/expect/1.0.15/expect.d.ts +0 -60
  296. package/script/deps/jsr.io/@std/expect/1.0.15/expect.d.ts.map +0 -1
  297. package/script/deps/jsr.io/@std/expect/1.0.15/expect.js +0 -527
  298. package/script/deps/jsr.io/@std/internal/1.0.6/assertion_state.d.ts +0 -160
  299. package/script/deps/jsr.io/@std/internal/1.0.6/assertion_state.d.ts.map +0 -1
  300. package/script/deps/jsr.io/@std/internal/1.0.6/assertion_state.js +0 -205
  301. package/script/deps/jsr.io/@std/internal/1.0.6/build_message.d.ts +0 -82
  302. package/script/deps/jsr.io/@std/internal/1.0.6/build_message.d.ts.map +0 -1
  303. package/script/deps/jsr.io/@std/internal/1.0.6/build_message.js +0 -116
  304. package/script/deps/jsr.io/@std/internal/1.0.6/diff.d.ts +0 -140
  305. package/script/deps/jsr.io/@std/internal/1.0.6/diff.d.ts.map +0 -1
  306. package/script/deps/jsr.io/@std/internal/1.0.6/diff.js +0 -284
  307. package/script/deps/jsr.io/@std/internal/1.0.6/diff_str.d.ts +0 -99
  308. package/script/deps/jsr.io/@std/internal/1.0.6/diff_str.d.ts.map +0 -1
  309. package/script/deps/jsr.io/@std/internal/1.0.6/diff_str.js +0 -189
  310. package/script/deps/jsr.io/@std/internal/1.0.6/format.d.ts +0 -2
  311. package/script/deps/jsr.io/@std/internal/1.0.6/format.d.ts.map +0 -1
  312. package/script/deps/jsr.io/@std/internal/1.0.6/format.js +0 -41
  313. package/script/deps/jsr.io/@std/internal/1.0.6/styles.d.ts +0 -159
  314. package/script/deps/jsr.io/@std/internal/1.0.6/styles.d.ts.map +0 -1
  315. package/script/deps/jsr.io/@std/internal/1.0.6/styles.js +0 -220
  316. package/script/deps/jsr.io/@std/internal/1.0.6/types.d.ts +0 -16
  317. package/script/deps/jsr.io/@std/internal/1.0.6/types.d.ts.map +0 -1
  318. package/script/deps/jsr.io/@std/internal/1.0.6/types.js +0 -4
  319. package/script/deps/jsr.io/@std/testing/1.0.11/_mock_utils.d.ts +0 -15
  320. package/script/deps/jsr.io/@std/testing/1.0.11/_mock_utils.d.ts.map +0 -1
  321. package/script/deps/jsr.io/@std/testing/1.0.11/_mock_utils.js +0 -41
  322. package/script/deps/jsr.io/@std/testing/1.0.11/_test_suite.d.ts +0 -79
  323. package/script/deps/jsr.io/@std/testing/1.0.11/_test_suite.d.ts.map +0 -1
  324. package/script/deps/jsr.io/@std/testing/1.0.11/_test_suite.js +0 -385
  325. package/script/deps/jsr.io/@std/testing/1.0.11/bdd.d.ts +0 -738
  326. package/script/deps/jsr.io/@std/testing/1.0.11/bdd.d.ts.map +0 -1
  327. package/script/deps/jsr.io/@std/testing/1.0.11/bdd.js +0 -665
  328. package/script/deps/jsr.io/@std/testing/1.0.11/mock.d.ts +0 -674
  329. package/script/deps/jsr.io/@std/testing/1.0.11/mock.d.ts.map +0 -1
  330. package/script/deps/jsr.io/@std/testing/1.0.11/mock.js +0 -1102
  331. package/script/src/ast/nodes/annotation.test.d.ts +0 -2
  332. package/script/src/ast/nodes/annotation.test.d.ts.map +0 -1
  333. package/script/src/ast/nodes/annotation.test.js +0 -58
  334. package/script/src/ast/nodes/argument.test.d.ts +0 -2
  335. package/script/src/ast/nodes/argument.test.d.ts.map +0 -1
  336. package/script/src/ast/nodes/argument.test.js +0 -35
  337. package/script/src/ast/nodes/call.test.d.ts +0 -2
  338. package/script/src/ast/nodes/call.test.d.ts.map +0 -1
  339. package/script/src/ast/nodes/call.test.js +0 -37
  340. package/script/src/ast/nodes/class.test.d.ts +0 -2
  341. package/script/src/ast/nodes/class.test.d.ts.map +0 -1
  342. package/script/src/ast/nodes/class.test.js +0 -221
  343. package/script/src/ast/nodes/constructor.test.d.ts +0 -2
  344. package/script/src/ast/nodes/constructor.test.d.ts.map +0 -1
  345. package/script/src/ast/nodes/constructor.test.js +0 -141
  346. package/script/src/ast/nodes/doc-tag.test.d.ts +0 -2
  347. package/script/src/ast/nodes/doc-tag.test.d.ts.map +0 -1
  348. package/script/src/ast/nodes/doc-tag.test.js +0 -69
  349. package/script/src/ast/nodes/doc.test.d.ts +0 -2
  350. package/script/src/ast/nodes/doc.test.d.ts.map +0 -1
  351. package/script/src/ast/nodes/doc.test.js +0 -35
  352. package/script/src/ast/nodes/enum-value.test.d.ts +0 -2
  353. package/script/src/ast/nodes/enum-value.test.d.ts.map +0 -1
  354. package/script/src/ast/nodes/enum-value.test.js +0 -117
  355. package/script/src/ast/nodes/enum.test.d.ts +0 -2
  356. package/script/src/ast/nodes/enum.test.d.ts.map +0 -1
  357. package/script/src/ast/nodes/enum.test.js +0 -131
  358. package/script/src/ast/nodes/function.test.d.ts +0 -2
  359. package/script/src/ast/nodes/function.test.d.ts.map +0 -1
  360. package/script/src/ast/nodes/function.test.js +0 -162
  361. package/script/src/ast/nodes/generic-parameter.test.d.ts +0 -2
  362. package/script/src/ast/nodes/generic-parameter.test.d.ts.map +0 -1
  363. package/script/src/ast/nodes/generic-parameter.test.js +0 -51
  364. package/script/src/ast/nodes/init-block.test.d.ts +0 -2
  365. package/script/src/ast/nodes/init-block.test.d.ts.map +0 -1
  366. package/script/src/ast/nodes/init-block.test.js +0 -30
  367. package/script/src/ast/nodes/interface.test.d.ts +0 -2
  368. package/script/src/ast/nodes/interface.test.d.ts.map +0 -1
  369. package/script/src/ast/nodes/interface.test.js +0 -123
  370. package/script/src/ast/nodes/object.test.d.ts +0 -2
  371. package/script/src/ast/nodes/object.test.d.ts.map +0 -1
  372. package/script/src/ast/nodes/object.test.js +0 -80
  373. package/script/src/ast/nodes/parameter.test.d.ts +0 -2
  374. package/script/src/ast/nodes/parameter.test.d.ts.map +0 -1
  375. package/script/src/ast/nodes/parameter.test.js +0 -154
  376. package/script/src/ast/nodes/property.test.d.ts +0 -2
  377. package/script/src/ast/nodes/property.test.d.ts.map +0 -1
  378. package/script/src/ast/nodes/property.test.js +0 -208
  379. package/script/src/ast/nodes/reference.test.d.ts +0 -2
  380. package/script/src/ast/nodes/reference.test.d.ts.map +0 -1
  381. package/script/src/ast/nodes/reference.test.js +0 -38
  382. package/script/src/ast/nodes/string.test.d.ts +0 -2
  383. package/script/src/ast/nodes/string.test.d.ts.map +0 -1
  384. package/script/src/ast/nodes/string.test.js +0 -50
  385. package/script/src/import-collection.test.d.ts +0 -2
  386. package/script/src/import-collection.test.d.ts.map +0 -1
  387. package/script/src/import-collection.test.js +0 -101
  388. package/script/tests/openapi-models.test.d.ts +0 -2
  389. package/script/tests/openapi-models.test.d.ts.map +0 -1
  390. package/script/tests/openapi-models.test.js +0 -48
  391. package/src/_dnt.test_polyfills.ts +0 -70
  392. package/src/_dnt.test_shims.ts +0 -64
  393. package/src/deps/jsr.io/@std/assert/1.0.13/assertion_error.ts +0 -31
  394. package/src/deps/jsr.io/@std/assert/1.0.13/equal.ts +0 -210
  395. package/src/deps/jsr.io/@std/assert/1.0.13/equals.ts +0 -65
  396. package/src/deps/jsr.io/@std/assert/1.0.13/false.ts +0 -26
  397. package/src/deps/jsr.io/@std/assert/1.0.13/instance_of.ts +0 -64
  398. package/src/deps/jsr.io/@std/assert/1.0.13/is_error.ts +0 -65
  399. package/src/deps/jsr.io/@std/assert/1.0.13/match.ts +0 -30
  400. package/src/deps/jsr.io/@std/assert/1.0.13/not_instance_of.ts +0 -33
  401. package/src/deps/jsr.io/@std/assert/1.0.13/not_match.ts +0 -30
  402. package/src/deps/jsr.io/@std/assert/1.0.13/not_strict_equals.ts +0 -42
  403. package/src/deps/jsr.io/@std/assert/1.0.13/rejects.ts +0 -123
  404. package/src/deps/jsr.io/@std/assert/1.0.13/strict_equals.ts +0 -67
  405. package/src/deps/jsr.io/@std/expect/1.0.15/_assert_equals.ts +0 -38
  406. package/src/deps/jsr.io/@std/expect/1.0.15/_assert_is_error.ts +0 -54
  407. package/src/deps/jsr.io/@std/expect/1.0.15/_assert_not_equals.ts +0 -35
  408. package/src/deps/jsr.io/@std/expect/1.0.15/_assertions.ts +0 -18
  409. package/src/deps/jsr.io/@std/expect/1.0.15/_asymmetric_matchers.ts +0 -198
  410. package/src/deps/jsr.io/@std/expect/1.0.15/_build_message.ts +0 -51
  411. package/src/deps/jsr.io/@std/expect/1.0.15/_custom_equality_tester.ts +0 -19
  412. package/src/deps/jsr.io/@std/expect/1.0.15/_equal.ts +0 -230
  413. package/src/deps/jsr.io/@std/expect/1.0.15/_extend.ts +0 -16
  414. package/src/deps/jsr.io/@std/expect/1.0.15/_inspect_args.ts +0 -15
  415. package/src/deps/jsr.io/@std/expect/1.0.15/_matchers.ts +0 -1027
  416. package/src/deps/jsr.io/@std/expect/1.0.15/_mock_util.ts +0 -22
  417. package/src/deps/jsr.io/@std/expect/1.0.15/_serializer.ts +0 -15
  418. package/src/deps/jsr.io/@std/expect/1.0.15/_types.ts +0 -923
  419. package/src/deps/jsr.io/@std/expect/1.0.15/_utils.ts +0 -283
  420. package/src/deps/jsr.io/@std/expect/1.0.15/expect.ts +0 -620
  421. package/src/deps/jsr.io/@std/internal/1.0.6/assertion_state.ts +0 -215
  422. package/src/deps/jsr.io/@std/internal/1.0.6/build_message.ts +0 -134
  423. package/src/deps/jsr.io/@std/internal/1.0.6/diff.ts +0 -317
  424. package/src/deps/jsr.io/@std/internal/1.0.6/diff_str.ts +0 -208
  425. package/src/deps/jsr.io/@std/internal/1.0.6/format.ts +0 -39
  426. package/src/deps/jsr.io/@std/internal/1.0.6/styles.ts +0 -233
  427. package/src/deps/jsr.io/@std/internal/1.0.6/types.ts +0 -19
  428. package/src/deps/jsr.io/@std/testing/1.0.11/_mock_utils.ts +0 -43
  429. package/src/deps/jsr.io/@std/testing/1.0.11/_test_suite.ts +0 -448
  430. package/src/deps/jsr.io/@std/testing/1.0.11/bdd.ts +0 -1288
  431. package/src/deps/jsr.io/@std/testing/1.0.11/mock.ts +0 -1807
  432. package/src/mod.ts +0 -8
  433. package/src/src/assets.ts +0 -9
  434. package/src/src/ast/_index.ts +0 -66
  435. package/src/src/ast/common.ts +0 -1
  436. package/src/src/ast/index.ts +0 -1
  437. package/src/src/ast/node.ts +0 -10
  438. package/src/src/ast/nodes/annotation.test.ts +0 -69
  439. package/src/src/ast/nodes/annotation.ts +0 -79
  440. package/src/src/ast/nodes/argument.test.ts +0 -41
  441. package/src/src/ast/nodes/argument.ts +0 -62
  442. package/src/src/ast/nodes/call.test.ts +0 -44
  443. package/src/src/ast/nodes/call.ts +0 -66
  444. package/src/src/ast/nodes/class.test.ts +0 -274
  445. package/src/src/ast/nodes/class.ts +0 -178
  446. package/src/src/ast/nodes/collection-literal.ts +0 -49
  447. package/src/src/ast/nodes/constructor.test.ts +0 -178
  448. package/src/src/ast/nodes/constructor.ts +0 -126
  449. package/src/src/ast/nodes/doc-tag.test.ts +0 -84
  450. package/src/src/ast/nodes/doc-tag.ts +0 -138
  451. package/src/src/ast/nodes/doc.test.ts +0 -42
  452. package/src/src/ast/nodes/doc.ts +0 -111
  453. package/src/src/ast/nodes/enum-value.test.ts +0 -146
  454. package/src/src/ast/nodes/enum-value.ts +0 -100
  455. package/src/src/ast/nodes/enum.test.ts +0 -167
  456. package/src/src/ast/nodes/enum.ts +0 -163
  457. package/src/src/ast/nodes/function.test.ts +0 -194
  458. package/src/src/ast/nodes/function.ts +0 -178
  459. package/src/src/ast/nodes/generic-parameter.test.ts +0 -60
  460. package/src/src/ast/nodes/generic-parameter.ts +0 -54
  461. package/src/src/ast/nodes/init-block.test.ts +0 -36
  462. package/src/src/ast/nodes/init-block.ts +0 -38
  463. package/src/src/ast/nodes/interface.test.ts +0 -151
  464. package/src/src/ast/nodes/interface.ts +0 -133
  465. package/src/src/ast/nodes/lambda-type.ts +0 -68
  466. package/src/src/ast/nodes/lambda.ts +0 -68
  467. package/src/src/ast/nodes/object.test.ts +0 -101
  468. package/src/src/ast/nodes/object.ts +0 -102
  469. package/src/src/ast/nodes/parameter.test.ts +0 -191
  470. package/src/src/ast/nodes/parameter.ts +0 -118
  471. package/src/src/ast/nodes/property.test.ts +0 -253
  472. package/src/src/ast/nodes/property.ts +0 -225
  473. package/src/src/ast/nodes/reference.test.ts +0 -47
  474. package/src/src/ast/nodes/reference.ts +0 -178
  475. package/src/src/ast/nodes/string.test.ts +0 -61
  476. package/src/src/ast/nodes/string.ts +0 -114
  477. package/src/src/ast/nodes/types.ts +0 -23
  478. package/src/src/ast/references/index.ts +0 -8
  479. package/src/src/ast/references/jackson.ts +0 -16
  480. package/src/src/ast/references/jakarta.ts +0 -14
  481. package/src/src/ast/references/java.ts +0 -19
  482. package/src/src/ast/references/kotlin.ts +0 -41
  483. package/src/src/ast/references/okhttp3.ts +0 -5
  484. package/src/src/ast/references/reactor.ts +0 -5
  485. package/src/src/ast/references/spring.ts +0 -72
  486. package/src/src/ast/references/swagger.ts +0 -23
  487. package/src/src/ast/utils/get-kotlin-builder-options.ts +0 -19
  488. package/src/src/ast/utils/to-kt-node.ts +0 -31
  489. package/src/src/ast/utils/write-kt-annotations.ts +0 -15
  490. package/src/src/ast/utils/write-kt-arguments.ts +0 -45
  491. package/src/src/ast/utils/write-kt-enum-values.ts +0 -27
  492. package/src/src/ast/utils/write-kt-generic-parameters.ts +0 -12
  493. package/src/src/ast/utils/write-kt-members.ts +0 -25
  494. package/src/src/ast/utils/write-kt-node.ts +0 -37
  495. package/src/src/ast/utils/write-kt-parameters.ts +0 -25
  496. package/src/src/common-results.ts +0 -4
  497. package/src/src/config.ts +0 -41
  498. package/src/src/file-builder.ts +0 -108
  499. package/src/src/generators/file-generator.ts +0 -29
  500. package/src/src/generators/index.ts +0 -4
  501. package/src/src/generators/models/args.ts +0 -123
  502. package/src/src/generators/models/index.ts +0 -4
  503. package/src/src/generators/models/model-generator.ts +0 -653
  504. package/src/src/generators/models/models-generator.ts +0 -65
  505. package/src/src/generators/models/models.ts +0 -95
  506. package/src/src/generators/services/okhttp3-clients/args.ts +0 -83
  507. package/src/src/generators/services/okhttp3-clients/index.ts +0 -4
  508. package/src/src/generators/services/okhttp3-clients/models.ts +0 -62
  509. package/src/src/generators/services/okhttp3-clients/okhttp3-client-generator.ts +0 -583
  510. package/src/src/generators/services/okhttp3-clients/okhttp3-clients-generator.ts +0 -130
  511. package/src/src/generators/services/okhttp3-clients/refs.ts +0 -55
  512. package/src/src/generators/services/spring-controllers/args.ts +0 -93
  513. package/src/src/generators/services/spring-controllers/index.ts +0 -4
  514. package/src/src/generators/services/spring-controllers/models.ts +0 -71
  515. package/src/src/generators/services/spring-controllers/refs.ts +0 -17
  516. package/src/src/generators/services/spring-controllers/spring-controller-generator.ts +0 -814
  517. package/src/src/generators/services/spring-controllers/spring-controllers-generator.ts +0 -118
  518. package/src/src/import-collection.test.ts +0 -116
  519. package/src/src/import-collection.ts +0 -98
  520. package/src/src/types.ts +0 -3
  521. package/src/src/utils.ts +0 -39
  522. package/src/tests/openapi-models.test.ts +0 -63
  523. package/test_runner.js +0 -227
@@ -1,1027 +0,0 @@
1
- // Copyright 2018-2025 the Deno authors. MIT license.
2
-
3
- import { assertNotStrictEquals } from "../../assert/1.0.13/not_strict_equals.js";
4
- import { assertStrictEquals } from "../../assert/1.0.13/strict_equals.js";
5
- import { assertInstanceOf } from "../../assert/1.0.13/instance_of.js";
6
- import { assertIsError } from "./_assert_is_error.js";
7
- import { assertNotInstanceOf } from "../../assert/1.0.13/not_instance_of.js";
8
- import { assertMatch } from "../../assert/1.0.13/match.js";
9
- import { assertNotMatch } from "../../assert/1.0.13/not_match.js";
10
- import { AssertionError } from "../../assert/1.0.13/assertion_error.js";
11
-
12
- import { assertEquals } from "./_assert_equals.js";
13
- import { assertNotEquals } from "./_assert_not_equals.js";
14
- import { equal } from "./_equal.js";
15
- import { format } from "../../internal/1.0.6/format.js";
16
- import type { AnyConstructor, MatcherContext, MatchResult } from "./_types.js";
17
- import { getMockCalls } from "./_mock_util.js";
18
- import { inspectArg, inspectArgs } from "./_inspect_args.js";
19
- import {
20
- buildEqualOptions,
21
- iterableEquality,
22
- subsetEquality,
23
- } from "./_utils.js";
24
- import {
25
- buildEqualErrorMessage,
26
- buildNotEqualErrorMessage,
27
- } from "./_build_message.js";
28
-
29
- export function toBe(context: MatcherContext, expect: unknown): MatchResult {
30
- if (context.isNot) {
31
- assertNotStrictEquals(context.value, expect, context.customMessage);
32
- } else {
33
- assertStrictEquals(context.value, expect, context.customMessage);
34
- }
35
- }
36
-
37
- export function toEqual(
38
- context: MatcherContext,
39
- expected: unknown,
40
- ): MatchResult {
41
- const v = context.value;
42
- const e = expected;
43
- const equalsOptions = buildEqualOptions({
44
- ...context,
45
- customTesters: [
46
- ...context.customTesters,
47
- iterableEquality,
48
- ],
49
- });
50
-
51
- if (context.isNot) {
52
- assertNotEquals(v, e, equalsOptions);
53
- } else {
54
- assertEquals(v, e, equalsOptions);
55
- }
56
- }
57
-
58
- export function toStrictEqual(
59
- context: MatcherContext,
60
- expected: unknown,
61
- ): MatchResult {
62
- const equalsOptions = buildEqualOptions({
63
- ...context,
64
- strictCheck: true,
65
- customTesters: [
66
- ...context.customTesters,
67
- iterableEquality,
68
- ],
69
- });
70
-
71
- if (context.isNot) {
72
- assertNotEquals(context.value, expected, equalsOptions);
73
- } else {
74
- assertEquals(context.value, expected, equalsOptions);
75
- }
76
- }
77
-
78
- export function toBeCloseTo(
79
- context: MatcherContext,
80
- expected: number,
81
- numDigits = 2,
82
- ): MatchResult {
83
- if (numDigits < 0) {
84
- throw new Error(
85
- "toBeCloseTo second argument must be a non-negative integer. Got " +
86
- numDigits,
87
- );
88
- }
89
- const tolerance = 0.5 * Math.pow(10, -numDigits);
90
- const value = Number(context.value);
91
- const pass = Math.abs(expected - value) < tolerance;
92
-
93
- if (context.isNot) {
94
- if (pass) {
95
- const defaultMessage =
96
- `Expected the value ${value} not to be close to ${expected} (using ${numDigits} digits), but it is`;
97
- throw new AssertionError(
98
- context.customMessage
99
- ? `${context.customMessage}: ${defaultMessage}`
100
- : defaultMessage,
101
- );
102
- }
103
- } else {
104
- if (!pass) {
105
- const defaultMessage =
106
- `Expected the value ${value} to be close to ${expected} (using ${numDigits} digits), but it is not`;
107
- throw new AssertionError(
108
- context.customMessage
109
- ? `${context.customMessage}: ${defaultMessage}`
110
- : defaultMessage,
111
- );
112
- }
113
- }
114
- }
115
-
116
- export function toBeDefined(context: MatcherContext): MatchResult {
117
- if (context.isNot) {
118
- assertStrictEquals(context.value, undefined, context.customMessage);
119
- } else {
120
- assertNotStrictEquals(context.value, undefined, context.customMessage);
121
- }
122
- }
123
-
124
- export function toBeUndefined(context: MatcherContext): MatchResult {
125
- if (context.isNot) {
126
- assertNotStrictEquals(
127
- context.value,
128
- undefined,
129
- context.customMessage,
130
- );
131
- } else {
132
- assertStrictEquals(context.value, undefined, context.customMessage);
133
- }
134
- }
135
-
136
- export function toBeFalsy(
137
- context: MatcherContext,
138
- ): MatchResult {
139
- const isFalsy = !(context.value);
140
- if (context.isNot) {
141
- if (isFalsy) {
142
- const defaultMessage = `Expected ${context.value} to NOT be falsy`;
143
- throw new AssertionError(
144
- context.customMessage
145
- ? `${context.customMessage}: ${defaultMessage}`
146
- : defaultMessage,
147
- );
148
- }
149
- } else {
150
- if (!isFalsy) {
151
- const defaultMessage = `Expected ${context.value} to be falsy`;
152
- throw new AssertionError(
153
- context.customMessage
154
- ? `${context.customMessage}: ${defaultMessage}`
155
- : defaultMessage,
156
- );
157
- }
158
- }
159
- }
160
-
161
- export function toBeTruthy(
162
- context: MatcherContext,
163
- ): MatchResult {
164
- const isTruthy = !!(context.value);
165
- if (context.isNot) {
166
- if (isTruthy) {
167
- const defaultMessage = `Expected ${context.value} to NOT be truthy`;
168
- throw new AssertionError(
169
- context.customMessage
170
- ? `${context.customMessage}: ${defaultMessage}`
171
- : defaultMessage,
172
- );
173
- }
174
- } else {
175
- if (!isTruthy) {
176
- const defaultMessage = `Expected ${context.value} to be truthy`;
177
- throw new AssertionError(
178
- context.customMessage
179
- ? `${context.customMessage}: ${defaultMessage}`
180
- : defaultMessage,
181
- );
182
- }
183
- }
184
- }
185
-
186
- export function toBeGreaterThanOrEqual(
187
- context: MatcherContext,
188
- expected: number,
189
- ): MatchResult {
190
- const isGreaterOrEqual = Number(context.value) >= Number(expected);
191
- if (context.isNot) {
192
- if (isGreaterOrEqual) {
193
- const defaultMessage =
194
- `Expected ${context.value} to NOT be greater than or equal ${expected}`;
195
- throw new AssertionError(
196
- context.customMessage
197
- ? `${context.customMessage}: ${defaultMessage}`
198
- : defaultMessage,
199
- );
200
- }
201
- } else {
202
- if (!isGreaterOrEqual) {
203
- const defaultMessage =
204
- `Expected ${context.value} to be greater than or equal ${expected}`;
205
- throw new AssertionError(
206
- context.customMessage
207
- ? `${context.customMessage}: ${defaultMessage}`
208
- : defaultMessage,
209
- );
210
- }
211
- }
212
- }
213
-
214
- export function toBeGreaterThan(
215
- context: MatcherContext,
216
- expected: number,
217
- ): MatchResult {
218
- const isGreater = Number(context.value) > Number(expected);
219
- if (context.isNot) {
220
- if (isGreater) {
221
- const defaultMessage =
222
- `Expected ${context.value} to NOT be greater than ${expected}`;
223
- throw new AssertionError(
224
- context.customMessage
225
- ? `${context.customMessage}: ${defaultMessage}`
226
- : defaultMessage,
227
- );
228
- }
229
- } else {
230
- if (!isGreater) {
231
- const defaultMessage =
232
- `Expected ${context.value} to be greater than ${expected}`;
233
- throw new AssertionError(
234
- context.customMessage
235
- ? `${context.customMessage}: ${defaultMessage}`
236
- : defaultMessage,
237
- );
238
- }
239
- }
240
- }
241
-
242
- export function toBeInstanceOf<T extends AnyConstructor>(
243
- context: MatcherContext,
244
- expected: T,
245
- ): MatchResult {
246
- if (context.isNot) {
247
- assertNotInstanceOf(context.value, expected);
248
- } else {
249
- assertInstanceOf(context.value, expected);
250
- }
251
- }
252
- export function toBeLessThanOrEqual(
253
- context: MatcherContext,
254
- expected: number,
255
- ): MatchResult {
256
- const isLower = Number(context.value) <= Number(expected);
257
- if (context.isNot) {
258
- if (isLower) {
259
- const defaultMessage =
260
- `Expected ${context.value} to NOT be lower than or equal ${expected}`;
261
- throw new AssertionError(
262
- context.customMessage
263
- ? `${context.customMessage}: ${defaultMessage}`
264
- : defaultMessage,
265
- );
266
- }
267
- } else {
268
- if (!isLower) {
269
- const defaultMessage =
270
- `Expected ${context.value} to be lower than or equal ${expected}`;
271
- throw new AssertionError(
272
- context.customMessage
273
- ? `${context.customMessage}: ${defaultMessage}`
274
- : defaultMessage,
275
- );
276
- }
277
- }
278
- }
279
- export function toBeLessThan(
280
- context: MatcherContext,
281
- expected: number,
282
- ): MatchResult {
283
- const isLower = Number(context.value) < Number(expected);
284
- if (context.isNot) {
285
- if (isLower) {
286
- const defaultMessage =
287
- `Expected ${context.value} to NOT be lower than ${expected}`;
288
- throw new AssertionError(
289
- context.customMessage
290
- ? `${context.customMessage}: ${defaultMessage}`
291
- : defaultMessage,
292
- );
293
- }
294
- } else {
295
- if (!isLower) {
296
- const defaultMessage =
297
- `Expected ${context.value} to be lower than ${expected}`;
298
- throw new AssertionError(
299
- context.customMessage
300
- ? `${context.customMessage}: ${defaultMessage}`
301
- : defaultMessage,
302
- );
303
- }
304
- }
305
- }
306
- export function toBeNaN(context: MatcherContext): MatchResult {
307
- const equalsOptions = buildEqualOptions(context);
308
- if (context.isNot) {
309
- assertNotEquals(
310
- isNaN(Number(context.value)),
311
- true,
312
- {
313
- ...equalsOptions,
314
- msg: equalsOptions.msg || `Expected ${context.value} to not be NaN`,
315
- },
316
- );
317
- } else {
318
- assertEquals(
319
- isNaN(Number(context.value)),
320
- true,
321
- {
322
- ...equalsOptions,
323
- msg: equalsOptions.msg || `Expected ${context.value} to be NaN`,
324
- },
325
- );
326
- }
327
- }
328
-
329
- export function toBeNull(context: MatcherContext): MatchResult {
330
- if (context.isNot) {
331
- assertNotStrictEquals(
332
- context.value as number,
333
- null,
334
- context.customMessage || `Expected ${context.value} to not be null`,
335
- );
336
- } else {
337
- assertStrictEquals(
338
- context.value as number,
339
- null,
340
- context.customMessage || `Expected ${context.value} to be null`,
341
- );
342
- }
343
- }
344
-
345
- export function toHaveLength(
346
- context: MatcherContext,
347
- expected: number,
348
- ): MatchResult {
349
- const { value } = context;
350
- // deno-lint-ignore no-explicit-any
351
- const maybeLength = (value as any)?.length;
352
- const hasLength = maybeLength === expected;
353
-
354
- if (context.isNot) {
355
- if (hasLength) {
356
- const defaultMessage =
357
- `Expected value not to have length ${expected}, but it does`;
358
- throw new AssertionError(
359
- context.customMessage
360
- ? `${context.customMessage}: ${defaultMessage}`
361
- : defaultMessage,
362
- );
363
- }
364
- } else {
365
- if (!hasLength) {
366
- const defaultMessage =
367
- `Expected value to have length ${expected}, but it does not: the value has length ${maybeLength}`;
368
- throw new AssertionError(
369
- context.customMessage
370
- ? `${context.customMessage}: ${defaultMessage}`
371
- : defaultMessage,
372
- );
373
- }
374
- }
375
- }
376
-
377
- export function toHaveProperty(
378
- context: MatcherContext,
379
- propName: string | string[],
380
- v?: unknown,
381
- ): MatchResult {
382
- const { value } = context;
383
-
384
- let propPath = [] as string[];
385
- if (Array.isArray(propName)) {
386
- propPath = propName;
387
- } else {
388
- propPath = propName.split(".");
389
- }
390
-
391
- // deno-lint-ignore no-explicit-any
392
- let current = value as any;
393
- while (true) {
394
- if (current === undefined || current === null) {
395
- break;
396
- }
397
- if (propPath.length === 0) {
398
- break;
399
- }
400
- const prop = propPath.shift()!;
401
- current = current[prop];
402
- }
403
-
404
- let hasProperty;
405
- if (v) {
406
- hasProperty = current !== undefined && propPath.length === 0 &&
407
- equal(current, v, context);
408
- } else {
409
- hasProperty = current !== undefined && propPath.length === 0;
410
- }
411
-
412
- let ofValue = "";
413
- if (v) {
414
- ofValue = ` of the value ${inspectArg(v)}`;
415
- }
416
-
417
- if (context.isNot) {
418
- if (hasProperty) {
419
- const defaultMessage = `Expected the value not to have the property ${
420
- propPath.join(".")
421
- }${ofValue}, but it does`;
422
- throw new AssertionError(
423
- context.customMessage
424
- ? `${context.customMessage}: ${defaultMessage}`
425
- : defaultMessage,
426
- );
427
- }
428
- } else {
429
- if (!hasProperty) {
430
- const defaultMessage = `Expected the value to have the property ${
431
- propPath.join(".")
432
- }${ofValue}, but it does not`;
433
- throw new AssertionError(
434
- context.customMessage
435
- ? `${context.customMessage}: ${defaultMessage}`
436
- : defaultMessage,
437
- );
438
- }
439
- }
440
- }
441
-
442
- export function toContain(
443
- context: MatcherContext,
444
- expected: unknown,
445
- ): MatchResult {
446
- // deno-lint-ignore no-explicit-any
447
- const doesContain = (context.value as any)?.includes?.(expected);
448
-
449
- const fmtValue = format(context.value);
450
- const fmtExpected = format(expected);
451
-
452
- if (context.isNot) {
453
- if (doesContain) {
454
- const defaultMessage =
455
- `The value ${fmtValue} contains the expected item ${fmtExpected}`;
456
- throw new AssertionError(
457
- context.customMessage
458
- ? `${context.customMessage}: ${defaultMessage}`
459
- : defaultMessage,
460
- );
461
- }
462
- } else {
463
- if (!doesContain) {
464
- const defaultMessage =
465
- `The value ${fmtValue} doesn't contain the expected item ${fmtExpected}`;
466
- throw new AssertionError(
467
- context.customMessage
468
- ? `${context.customMessage}: ${defaultMessage}`
469
- : defaultMessage,
470
- );
471
- }
472
- }
473
- }
474
-
475
- export function toContainEqual(
476
- context: MatcherContext,
477
- expected: unknown,
478
- ): MatchResult {
479
- const { value } = context;
480
- assertIsIterable(value);
481
- let doesContain = false;
482
-
483
- for (const item of value) {
484
- if (equal(item, expected, context)) {
485
- doesContain = true;
486
- break;
487
- }
488
- }
489
-
490
- const prettyStringify = (js: unknown) =>
491
- JSON.stringify(js, null, "\t")
492
- .replace(/\"|\n|\t/g, "")
493
- .slice(0, 100);
494
-
495
- const fmtValue = prettyStringify(context.value);
496
- const fmtExpected = prettyStringify(expected);
497
-
498
- if (context.isNot) {
499
- if (doesContain) {
500
- const defaultMessage = `The value contains the expected item:
501
- Value: ${fmtValue}
502
- Expected: ${fmtExpected}`;
503
- throw new AssertionError(
504
- context.customMessage
505
- ? `${context.customMessage}: ${defaultMessage}`
506
- : defaultMessage,
507
- );
508
- }
509
- } else {
510
- if (!doesContain) {
511
- const defaultMessage = `The value doesn't contain the expected item:
512
- Value: ${fmtValue}
513
- Expected: ${fmtExpected}`;
514
- throw new AssertionError(
515
- context.customMessage
516
- ? `${context.customMessage}: ${defaultMessage}`
517
- : defaultMessage,
518
- );
519
- }
520
- }
521
- }
522
-
523
- // deno-lint-ignore no-explicit-any
524
- function assertIsIterable(value: any): asserts value is Iterable<unknown> {
525
- if (value == null) {
526
- throw new AssertionError("The value is null or undefined");
527
- }
528
- if (typeof value[Symbol.iterator] !== "function") {
529
- throw new AssertionError("The value is not iterable");
530
- }
531
- }
532
-
533
- export function toMatch(
534
- context: MatcherContext,
535
- expected: RegExp,
536
- ): MatchResult {
537
- if (context.isNot) {
538
- assertNotMatch(
539
- String(context.value),
540
- expected,
541
- context.customMessage,
542
- );
543
- } else {
544
- assertMatch(String(context.value), expected, context.customMessage);
545
- }
546
- }
547
-
548
- export function toMatchObject(
549
- context: MatcherContext,
550
- expected: Record<PropertyKey, unknown> | Record<PropertyKey, unknown>[],
551
- ): MatchResult {
552
- const received = context.value;
553
-
554
- const defaultMsg = "Received value must be an object";
555
-
556
- if (typeof received !== "object" || received === null) {
557
- throw new AssertionError(
558
- context.customMessage
559
- ? `${context.customMessage}: ${defaultMsg}`
560
- : defaultMsg,
561
- );
562
- }
563
-
564
- if (typeof expected !== "object" || expected === null) {
565
- throw new AssertionError(
566
- context.customMessage
567
- ? `${context.customMessage}: ${defaultMsg}`
568
- : defaultMsg,
569
- );
570
- }
571
-
572
- const pass = equal(received, expected, {
573
- strictCheck: false,
574
- customTesters: [
575
- ...context.customTesters,
576
- iterableEquality,
577
- subsetEquality,
578
- ],
579
- });
580
-
581
- const triggerError = () => {
582
- if (context.isNot) {
583
- const defaultMessage = buildNotEqualErrorMessage(received, expected);
584
- throw new AssertionError(
585
- context.customMessage
586
- ? `${context.customMessage}: ${defaultMessage}`
587
- : defaultMessage,
588
- );
589
- } else {
590
- const defaultMessage = buildEqualErrorMessage(received, expected);
591
- throw new AssertionError(
592
- context.customMessage
593
- ? `${context.customMessage}: ${defaultMessage}`
594
- : defaultMessage,
595
- );
596
- }
597
- };
598
-
599
- if (context.isNot && pass || !context.isNot && !pass) {
600
- triggerError();
601
- }
602
- }
603
-
604
- export function toHaveBeenCalled(context: MatcherContext): MatchResult {
605
- const calls = getMockCalls(context.value);
606
- const hasBeenCalled = calls.length > 0;
607
-
608
- if (context.isNot) {
609
- if (hasBeenCalled) {
610
- const defaultMessage =
611
- `Expected mock function not to be called, but it was called ${calls.length} time(s)`;
612
- throw new AssertionError(
613
- context.customMessage
614
- ? `${context.customMessage}: ${defaultMessage}`
615
- : defaultMessage,
616
- );
617
- }
618
- } else {
619
- if (!hasBeenCalled) {
620
- const defaultMessage =
621
- "Expected mock function to be called, but it was not called";
622
- throw new AssertionError(
623
- context.customMessage
624
- ? `${context.customMessage}: ${defaultMessage}`
625
- : defaultMessage,
626
- );
627
- }
628
- }
629
- }
630
-
631
- export function toHaveBeenCalledTimes(
632
- context: MatcherContext,
633
- expected: number,
634
- ): MatchResult {
635
- const calls = getMockCalls(context.value);
636
-
637
- if (context.isNot) {
638
- if (calls.length === expected) {
639
- const defaultMessage =
640
- `Expected mock function not to be called ${expected} time(s), but it was`;
641
- throw new AssertionError(
642
- context.customMessage
643
- ? `${context.customMessage}: ${defaultMessage}`
644
- : defaultMessage,
645
- );
646
- }
647
- } else {
648
- if (calls.length !== expected) {
649
- const defaultMessage =
650
- `Expected mock function to be called ${expected} time(s), but it was called ${calls.length} time(s)`;
651
- throw new AssertionError(
652
- context.customMessage
653
- ? `${context.customMessage}: ${defaultMessage}`
654
- : defaultMessage,
655
- );
656
- }
657
- }
658
- }
659
-
660
- export function toHaveBeenCalledWith(
661
- context: MatcherContext,
662
- ...expected: unknown[]
663
- ): MatchResult {
664
- const calls = getMockCalls(context.value);
665
- const hasBeenCalled = calls.some((call) => equal(call.args, expected));
666
-
667
- if (context.isNot) {
668
- if (hasBeenCalled) {
669
- const defaultMessage = `Expected mock function not to be called with ${
670
- inspectArgs(expected)
671
- }, but it was`;
672
- throw new AssertionError(
673
- context.customMessage
674
- ? `${context.customMessage}: ${defaultMessage}`
675
- : defaultMessage,
676
- );
677
- }
678
- } else {
679
- if (!hasBeenCalled) {
680
- let otherCalls = "";
681
- if (calls.length > 0) {
682
- otherCalls = `\n Other calls:\n ${
683
- calls.map((call) => inspectArgs(call.args)).join("\n ")
684
- }`;
685
- }
686
-
687
- const defaultMessage = `Expected mock function to be called with ${
688
- inspectArgs(expected)
689
- }, but it was not.${otherCalls}`;
690
- throw new AssertionError(
691
- context.customMessage
692
- ? `${context.customMessage}: ${defaultMessage}`
693
- : defaultMessage,
694
- );
695
- }
696
- }
697
- }
698
- export function toHaveBeenLastCalledWith(
699
- context: MatcherContext,
700
- ...expected: unknown[]
701
- ): MatchResult {
702
- const calls = getMockCalls(context.value);
703
- const hasBeenCalled = calls.length > 0 &&
704
- equal(calls.at(-1)?.args, expected);
705
-
706
- if (context.isNot) {
707
- if (hasBeenCalled) {
708
- const defaultMessage =
709
- `Expected mock function not to be last called with ${
710
- inspectArgs(expected)
711
- }, but it was`;
712
- throw new AssertionError(
713
- context.customMessage
714
- ? `${context.customMessage}: ${defaultMessage}`
715
- : defaultMessage,
716
- );
717
- }
718
- } else {
719
- if (!hasBeenCalled) {
720
- const lastCall = calls.at(-1);
721
- if (!lastCall) {
722
- const defaultMessage = `Expected mock function to be last called with ${
723
- inspectArgs(expected)
724
- }, but it was not`;
725
- throw new AssertionError(
726
- context.customMessage
727
- ? `${context.customMessage}: ${defaultMessage}`
728
- : defaultMessage,
729
- );
730
- } else {
731
- const defaultMessage = `Expected mock function to be last called with ${
732
- inspectArgs(expected)
733
- }, but it was last called with ${inspectArgs(lastCall.args)}`;
734
- throw new AssertionError(
735
- context.customMessage
736
- ? `${context.customMessage}: ${defaultMessage}`
737
- : defaultMessage,
738
- );
739
- }
740
- }
741
- }
742
- }
743
-
744
- export function toHaveBeenNthCalledWith(
745
- context: MatcherContext,
746
- nth: number,
747
- ...expected: unknown[]
748
- ): MatchResult {
749
- if (nth < 1) {
750
- throw new Error(`nth must be greater than 0: received ${nth}`);
751
- }
752
-
753
- const calls = getMockCalls(context.value);
754
- const callIndex = nth - 1;
755
- const hasBeenCalled = calls.length > callIndex &&
756
- equal(calls[callIndex]?.args, expected);
757
-
758
- if (context.isNot) {
759
- if (hasBeenCalled) {
760
- const defaultMessage =
761
- `Expected the n-th call (n=${nth}) of mock function is not with ${
762
- inspectArgs(expected)
763
- }, but it was`;
764
- throw new AssertionError(
765
- context.customMessage
766
- ? `${context.customMessage}: ${defaultMessage}`
767
- : defaultMessage,
768
- );
769
- }
770
- } else {
771
- if (!hasBeenCalled) {
772
- const nthCall = calls[callIndex];
773
- if (!nthCall) {
774
- const defaultMessage =
775
- `Expected the n-th call (n=${nth}) of mock function is with ${
776
- inspectArgs(expected)
777
- }, but the n-th call does not exist`;
778
- throw new AssertionError(
779
- context.customMessage
780
- ? `${context.customMessage}: ${defaultMessage}`
781
- : defaultMessage,
782
- );
783
- } else {
784
- const defaultMessage =
785
- `Expected the n-th call (n=${nth}) of mock function is with ${
786
- inspectArgs(expected)
787
- }, but it was with ${inspectArgs(nthCall.args)}`;
788
- throw new AssertionError(
789
- context.customMessage
790
- ? `${context.customMessage}: ${defaultMessage}`
791
- : defaultMessage,
792
- );
793
- }
794
- }
795
- }
796
- }
797
-
798
- export function toHaveReturned(context: MatcherContext): MatchResult {
799
- const calls = getMockCalls(context.value);
800
- const returned = calls.filter((call) => call.returns);
801
-
802
- if (context.isNot) {
803
- if (returned.length > 0) {
804
- const defaultMessage =
805
- `Expected the mock function to not have returned, but it returned ${returned.length} times`;
806
- throw new AssertionError(
807
- context.customMessage
808
- ? `${context.customMessage}: ${defaultMessage}`
809
- : defaultMessage,
810
- );
811
- }
812
- } else {
813
- if (returned.length === 0) {
814
- const defaultMessage =
815
- `Expected the mock function to have returned, but it did not return`;
816
- throw new AssertionError(
817
- context.customMessage
818
- ? `${context.customMessage}: ${defaultMessage}`
819
- : defaultMessage,
820
- );
821
- }
822
- }
823
- }
824
-
825
- export function toHaveReturnedTimes(
826
- context: MatcherContext,
827
- expected: number,
828
- ): MatchResult {
829
- const calls = getMockCalls(context.value);
830
- const returned = calls.filter((call) => call.returns);
831
-
832
- if (context.isNot) {
833
- if (returned.length === expected) {
834
- const defaultMessage =
835
- `Expected the mock function to not have returned ${expected} times, but it returned ${returned.length} times`;
836
- throw new AssertionError(
837
- context.customMessage
838
- ? `${context.customMessage}: ${defaultMessage}`
839
- : defaultMessage,
840
- );
841
- }
842
- } else {
843
- if (returned.length !== expected) {
844
- const defaultMessage =
845
- `Expected the mock function to have returned ${expected} times, but it returned ${returned.length} times`;
846
- throw new AssertionError(
847
- context.customMessage
848
- ? `${context.customMessage}: ${defaultMessage}`
849
- : defaultMessage,
850
- );
851
- }
852
- }
853
- }
854
- export function toHaveReturnedWith(
855
- context: MatcherContext,
856
- expected: unknown,
857
- ): MatchResult {
858
- const calls = getMockCalls(context.value);
859
- const returned = calls.filter((call) => call.returns);
860
- const returnedWithExpected = returned.some((call) =>
861
- equal(call.returned, expected)
862
- );
863
-
864
- if (context.isNot) {
865
- if (returnedWithExpected) {
866
- const defaultMessage =
867
- `Expected the mock function to not have returned with ${
868
- inspectArg(expected)
869
- }, but it did`;
870
- throw new AssertionError(
871
- context.customMessage
872
- ? `${context.customMessage}: ${defaultMessage}`
873
- : defaultMessage,
874
- );
875
- }
876
- } else {
877
- if (!returnedWithExpected) {
878
- const defaultMessage =
879
- `Expected the mock function to have returned with ${
880
- inspectArg(expected)
881
- }, but it did not`;
882
- throw new AssertionError(
883
- context.customMessage
884
- ? `${context.customMessage}: ${defaultMessage}`
885
- : defaultMessage,
886
- );
887
- }
888
- }
889
- }
890
-
891
- export function toHaveLastReturnedWith(
892
- context: MatcherContext,
893
- expected: unknown,
894
- ): MatchResult {
895
- const calls = getMockCalls(context.value);
896
- const returned = calls.filter((call) => call.returns);
897
- const lastReturnedWithExpected = returned.length > 0 &&
898
- equal(returned.at(-1)?.returned, expected);
899
-
900
- if (context.isNot) {
901
- if (lastReturnedWithExpected) {
902
- const defaultMessage =
903
- `Expected the mock function to not have last returned with ${
904
- inspectArg(expected)
905
- }, but it did`;
906
- throw new AssertionError(
907
- context.customMessage
908
- ? `${context.customMessage}: ${defaultMessage}`
909
- : defaultMessage,
910
- );
911
- }
912
- } else {
913
- if (!lastReturnedWithExpected) {
914
- const defaultMessage =
915
- `Expected the mock function to have last returned with ${
916
- inspectArg(expected)
917
- }, but it did not`;
918
- throw new AssertionError(
919
- context.customMessage
920
- ? `${context.customMessage}: ${defaultMessage}`
921
- : defaultMessage,
922
- );
923
- }
924
- }
925
- }
926
-
927
- export function toHaveNthReturnedWith(
928
- context: MatcherContext,
929
- nth: number,
930
- expected: unknown,
931
- ): MatchResult {
932
- if (nth < 1) {
933
- throw new Error(`nth(${nth}) must be greater than 0`);
934
- }
935
-
936
- const calls = getMockCalls(context.value);
937
- const returned = calls.filter((call) => call.returns);
938
- const returnIndex = nth - 1;
939
- const maybeNthReturned = returned[returnIndex];
940
- const nthReturnedWithExpected = maybeNthReturned &&
941
- equal(maybeNthReturned.returned, expected);
942
-
943
- if (context.isNot) {
944
- if (nthReturnedWithExpected) {
945
- const defaultMessage =
946
- `Expected the mock function to not have n-th (n=${nth}) returned with ${
947
- inspectArg(expected)
948
- }, but it did`;
949
- throw new AssertionError(
950
- context.customMessage
951
- ? `${context.customMessage}: ${defaultMessage}`
952
- : defaultMessage,
953
- );
954
- }
955
- } else {
956
- if (!nthReturnedWithExpected) {
957
- const defaultMessage =
958
- `Expected the mock function to have n-th (n=${nth}) returned with ${
959
- inspectArg(expected)
960
- }, but it did not`;
961
- throw new AssertionError(
962
- context.customMessage
963
- ? `${context.customMessage}: ${defaultMessage}`
964
- : defaultMessage,
965
- );
966
- }
967
- }
968
- }
969
-
970
- export function toThrow<E extends Error = Error>(
971
- context: MatcherContext,
972
- // deno-lint-ignore no-explicit-any
973
- expected?: string | RegExp | E | (new (...args: any[]) => E),
974
- ): MatchResult {
975
- if (typeof context.value === "function") {
976
- try {
977
- context.value = context.value();
978
- } catch (err) {
979
- context.value = err;
980
- }
981
- }
982
-
983
- // deno-lint-ignore no-explicit-any
984
- type ErrorClass = new (...args: any[]) => Error;
985
- let expectClass: undefined | ErrorClass = undefined;
986
- let expectMessage: undefined | string | RegExp = undefined;
987
- if (expected instanceof Error) {
988
- expectClass = expected.constructor as ErrorClass;
989
- expectMessage = expected.message;
990
- }
991
- if (expected instanceof Function) {
992
- expectClass = expected as ErrorClass;
993
- }
994
- if (typeof expected === "string" || expected instanceof RegExp) {
995
- expectMessage = expected;
996
- }
997
-
998
- if (context.isNot) {
999
- let isError = false;
1000
- try {
1001
- assertIsError(
1002
- context.value,
1003
- expectClass,
1004
- expectMessage,
1005
- context.customMessage,
1006
- );
1007
- isError = true;
1008
- const defaultMessage = `Expected to NOT throw ${expected}`;
1009
- throw new AssertionError(
1010
- context.customMessage
1011
- ? `${context.customMessage}: ${defaultMessage}`
1012
- : defaultMessage,
1013
- );
1014
- } catch (e) {
1015
- if (isError) {
1016
- throw e;
1017
- }
1018
- return;
1019
- }
1020
- }
1021
- return assertIsError(
1022
- context.value,
1023
- expectClass,
1024
- expectMessage,
1025
- context.customMessage,
1026
- );
1027
- }