structured-outputs 0.1.0-beta.20 → 0.1.0-beta.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (320) hide show
  1. package/esm/ResponseFormat.d.ts +21 -0
  2. package/esm/ResponseFormat.d.ts.map +1 -0
  3. package/esm/ResponseFormat.js +43 -19
  4. package/esm/ResponseFormat.js.map +1 -1
  5. package/esm/oai.d.ts +5 -0
  6. package/esm/oai.d.ts.map +1 -0
  7. package/esm/oai.js +2 -0
  8. package/esm/oai.js.map +1 -0
  9. package/package.json +5 -10
  10. package/src/ResponseFormat.ts +48 -41
  11. package/src/oai.ts +5 -0
  12. package/esm/_dnt.shims.js +0 -58
  13. package/esm/_dnt.shims.js.map +0 -1
  14. package/esm/deps/jsr.io/@std/assert/1.0.8/almost_equals.js +0 -47
  15. package/esm/deps/jsr.io/@std/assert/1.0.8/almost_equals.js.map +0 -1
  16. package/esm/deps/jsr.io/@std/assert/1.0.8/array_includes.js +0 -47
  17. package/esm/deps/jsr.io/@std/assert/1.0.8/array_includes.js.map +0 -1
  18. package/esm/deps/jsr.io/@std/assert/1.0.8/assert.js +0 -23
  19. package/esm/deps/jsr.io/@std/assert/1.0.8/assert.js.map +0 -1
  20. package/esm/deps/jsr.io/@std/assert/1.0.8/assertion_error.js +0 -31
  21. package/esm/deps/jsr.io/@std/assert/1.0.8/assertion_error.js.map +0 -1
  22. package/esm/deps/jsr.io/@std/assert/1.0.8/equal.js +0 -184
  23. package/esm/deps/jsr.io/@std/assert/1.0.8/equal.js.map +0 -1
  24. package/esm/deps/jsr.io/@std/assert/1.0.8/equals.js +0 -46
  25. package/esm/deps/jsr.io/@std/assert/1.0.8/equals.js.map +0 -1
  26. package/esm/deps/jsr.io/@std/assert/1.0.8/exists.js +0 -28
  27. package/esm/deps/jsr.io/@std/assert/1.0.8/exists.js.map +0 -1
  28. package/esm/deps/jsr.io/@std/assert/1.0.8/fail.js +0 -21
  29. package/esm/deps/jsr.io/@std/assert/1.0.8/fail.js.map +0 -1
  30. package/esm/deps/jsr.io/@std/assert/1.0.8/false.js +0 -23
  31. package/esm/deps/jsr.io/@std/assert/1.0.8/false.js.map +0 -1
  32. package/esm/deps/jsr.io/@std/assert/1.0.8/greater.js +0 -30
  33. package/esm/deps/jsr.io/@std/assert/1.0.8/greater.js.map +0 -1
  34. package/esm/deps/jsr.io/@std/assert/1.0.8/greater_or_equal.js +0 -30
  35. package/esm/deps/jsr.io/@std/assert/1.0.8/greater_or_equal.js.map +0 -1
  36. package/esm/deps/jsr.io/@std/assert/1.0.8/instance_of.js +0 -53
  37. package/esm/deps/jsr.io/@std/assert/1.0.8/instance_of.js.map +0 -1
  38. package/esm/deps/jsr.io/@std/assert/1.0.8/is_error.js +0 -54
  39. package/esm/deps/jsr.io/@std/assert/1.0.8/is_error.js.map +0 -1
  40. package/esm/deps/jsr.io/@std/assert/1.0.8/less.js +0 -29
  41. package/esm/deps/jsr.io/@std/assert/1.0.8/less.js.map +0 -1
  42. package/esm/deps/jsr.io/@std/assert/1.0.8/less_or_equal.js +0 -30
  43. package/esm/deps/jsr.io/@std/assert/1.0.8/less_or_equal.js.map +0 -1
  44. package/esm/deps/jsr.io/@std/assert/1.0.8/match.js +0 -27
  45. package/esm/deps/jsr.io/@std/assert/1.0.8/match.js.map +0 -1
  46. package/esm/deps/jsr.io/@std/assert/1.0.8/mod.js +0 -46
  47. package/esm/deps/jsr.io/@std/assert/1.0.8/mod.js.map +0 -1
  48. package/esm/deps/jsr.io/@std/assert/1.0.8/not_equals.js +0 -33
  49. package/esm/deps/jsr.io/@std/assert/1.0.8/not_equals.js.map +0 -1
  50. package/esm/deps/jsr.io/@std/assert/1.0.8/not_instance_of.js +0 -30
  51. package/esm/deps/jsr.io/@std/assert/1.0.8/not_instance_of.js.map +0 -1
  52. package/esm/deps/jsr.io/@std/assert/1.0.8/not_match.js +0 -27
  53. package/esm/deps/jsr.io/@std/assert/1.0.8/not_match.js.map +0 -1
  54. package/esm/deps/jsr.io/@std/assert/1.0.8/not_strict_equals.js +0 -33
  55. package/esm/deps/jsr.io/@std/assert/1.0.8/not_strict_equals.js.map +0 -1
  56. package/esm/deps/jsr.io/@std/assert/1.0.8/object_match.js +0 -160
  57. package/esm/deps/jsr.io/@std/assert/1.0.8/object_match.js.map +0 -1
  58. package/esm/deps/jsr.io/@std/assert/1.0.8/rejects.js +0 -54
  59. package/esm/deps/jsr.io/@std/assert/1.0.8/rejects.js.map +0 -1
  60. package/esm/deps/jsr.io/@std/assert/1.0.8/strict_equals.js +0 -58
  61. package/esm/deps/jsr.io/@std/assert/1.0.8/strict_equals.js.map +0 -1
  62. package/esm/deps/jsr.io/@std/assert/1.0.8/string_includes.js +0 -27
  63. package/esm/deps/jsr.io/@std/assert/1.0.8/string_includes.js.map +0 -1
  64. package/esm/deps/jsr.io/@std/assert/1.0.8/throws.js +0 -45
  65. package/esm/deps/jsr.io/@std/assert/1.0.8/throws.js.map +0 -1
  66. package/esm/deps/jsr.io/@std/assert/1.0.8/unimplemented.js +0 -21
  67. package/esm/deps/jsr.io/@std/assert/1.0.8/unimplemented.js.map +0 -1
  68. package/esm/deps/jsr.io/@std/assert/1.0.8/unreachable.js +0 -21
  69. package/esm/deps/jsr.io/@std/assert/1.0.8/unreachable.js.map +0 -1
  70. package/esm/deps/jsr.io/@std/internal/1.0.5/build_message.js +0 -111
  71. package/esm/deps/jsr.io/@std/internal/1.0.5/build_message.js.map +0 -1
  72. package/esm/deps/jsr.io/@std/internal/1.0.5/diff.js +0 -277
  73. package/esm/deps/jsr.io/@std/internal/1.0.5/diff.js.map +0 -1
  74. package/esm/deps/jsr.io/@std/internal/1.0.5/diff_str.js +0 -180
  75. package/esm/deps/jsr.io/@std/internal/1.0.5/diff_str.js.map +0 -1
  76. package/esm/deps/jsr.io/@std/internal/1.0.5/format.js +0 -38
  77. package/esm/deps/jsr.io/@std/internal/1.0.5/format.js.map +0 -1
  78. package/esm/deps/jsr.io/@std/internal/1.0.5/styles.js +0 -208
  79. package/esm/deps/jsr.io/@std/internal/1.0.5/styles.js.map +0 -1
  80. package/esm/deps/jsr.io/@std/internal/1.0.5/types.js +0 -3
  81. package/esm/deps/jsr.io/@std/internal/1.0.5/types.js.map +0 -1
  82. package/src/_dnt.shims.ts +0 -60
  83. package/src/deps/jsr.io/@std/assert/1.0.8/almost_equals.ts +0 -55
  84. package/src/deps/jsr.io/@std/assert/1.0.8/array_includes.ts +0 -57
  85. package/src/deps/jsr.io/@std/assert/1.0.8/assert.ts +0 -23
  86. package/src/deps/jsr.io/@std/assert/1.0.8/assertion_error.ts +0 -31
  87. package/src/deps/jsr.io/@std/assert/1.0.8/equal.ts +0 -210
  88. package/src/deps/jsr.io/@std/assert/1.0.8/equals.ts +0 -52
  89. package/src/deps/jsr.io/@std/assert/1.0.8/exists.ts +0 -31
  90. package/src/deps/jsr.io/@std/assert/1.0.8/fail.ts +0 -21
  91. package/src/deps/jsr.io/@std/assert/1.0.8/false.ts +0 -26
  92. package/src/deps/jsr.io/@std/assert/1.0.8/greater.ts +0 -30
  93. package/src/deps/jsr.io/@std/assert/1.0.8/greater_or_equal.ts +0 -36
  94. package/src/deps/jsr.io/@std/assert/1.0.8/instance_of.ts +0 -64
  95. package/src/deps/jsr.io/@std/assert/1.0.8/is_error.ts +0 -65
  96. package/src/deps/jsr.io/@std/assert/1.0.8/less.ts +0 -29
  97. package/src/deps/jsr.io/@std/assert/1.0.8/less_or_equal.ts +0 -36
  98. package/src/deps/jsr.io/@std/assert/1.0.8/match.ts +0 -30
  99. package/src/deps/jsr.io/@std/assert/1.0.8/mod.ts +0 -47
  100. package/src/deps/jsr.io/@std/assert/1.0.8/not_equals.ts +0 -36
  101. package/src/deps/jsr.io/@std/assert/1.0.8/not_instance_of.ts +0 -33
  102. package/src/deps/jsr.io/@std/assert/1.0.8/not_match.ts +0 -30
  103. package/src/deps/jsr.io/@std/assert/1.0.8/not_strict_equals.ts +0 -42
  104. package/src/deps/jsr.io/@std/assert/1.0.8/object_match.ts +0 -202
  105. package/src/deps/jsr.io/@std/assert/1.0.8/rejects.ts +0 -123
  106. package/src/deps/jsr.io/@std/assert/1.0.8/strict_equals.ts +0 -67
  107. package/src/deps/jsr.io/@std/assert/1.0.8/string_includes.ts +0 -30
  108. package/src/deps/jsr.io/@std/assert/1.0.8/throws.ts +0 -111
  109. package/src/deps/jsr.io/@std/assert/1.0.8/unimplemented.ts +0 -21
  110. package/src/deps/jsr.io/@std/assert/1.0.8/unreachable.ts +0 -21
  111. package/src/deps/jsr.io/@std/internal/1.0.5/build_message.ts +0 -134
  112. package/src/deps/jsr.io/@std/internal/1.0.5/diff.ts +0 -317
  113. package/src/deps/jsr.io/@std/internal/1.0.5/diff_str.ts +0 -204
  114. package/src/deps/jsr.io/@std/internal/1.0.5/format.ts +0 -39
  115. package/src/deps/jsr.io/@std/internal/1.0.5/styles.ts +0 -233
  116. package/src/deps/jsr.io/@std/internal/1.0.5/types.ts +0 -18
  117. package/types/ResponseFormat.d.ts +0 -26
  118. package/types/ResponseFormat.d.ts.map +0 -1
  119. package/types/_dnt.shims.d.ts +0 -2
  120. package/types/_dnt.shims.d.ts.map +0 -1
  121. package/types/deps/jsr.io/@std/assert/1.0.8/almost_equals.d.ts +0 -29
  122. package/types/deps/jsr.io/@std/assert/1.0.8/almost_equals.d.ts.map +0 -1
  123. package/types/deps/jsr.io/@std/assert/1.0.8/array_includes.d.ts +0 -24
  124. package/types/deps/jsr.io/@std/assert/1.0.8/array_includes.d.ts.map +0 -1
  125. package/types/deps/jsr.io/@std/assert/1.0.8/assert.d.ts +0 -16
  126. package/types/deps/jsr.io/@std/assert/1.0.8/assert.d.ts.map +0 -1
  127. package/types/deps/jsr.io/@std/assert/1.0.8/assertion_error.d.ts +0 -26
  128. package/types/deps/jsr.io/@std/assert/1.0.8/assertion_error.d.ts.map +0 -1
  129. package/types/deps/jsr.io/@std/assert/1.0.8/equal.d.ts +0 -17
  130. package/types/deps/jsr.io/@std/assert/1.0.8/equal.d.ts.map +0 -1
  131. package/types/deps/jsr.io/@std/assert/1.0.8/equals.d.ts +0 -22
  132. package/types/deps/jsr.io/@std/assert/1.0.8/equals.d.ts.map +0 -1
  133. package/types/deps/jsr.io/@std/assert/1.0.8/exists.d.ts +0 -18
  134. package/types/deps/jsr.io/@std/assert/1.0.8/exists.d.ts.map +0 -1
  135. package/types/deps/jsr.io/@std/assert/1.0.8/fail.d.ts +0 -15
  136. package/types/deps/jsr.io/@std/assert/1.0.8/fail.d.ts.map +0 -1
  137. package/types/deps/jsr.io/@std/assert/1.0.8/false.d.ts +0 -18
  138. package/types/deps/jsr.io/@std/assert/1.0.8/false.d.ts.map +0 -1
  139. package/types/deps/jsr.io/@std/assert/1.0.8/greater.d.ts +0 -20
  140. package/types/deps/jsr.io/@std/assert/1.0.8/greater.d.ts.map +0 -1
  141. package/types/deps/jsr.io/@std/assert/1.0.8/greater_or_equal.d.ts +0 -20
  142. package/types/deps/jsr.io/@std/assert/1.0.8/greater_or_equal.d.ts.map +0 -1
  143. package/types/deps/jsr.io/@std/assert/1.0.8/instance_of.d.ts +0 -23
  144. package/types/deps/jsr.io/@std/assert/1.0.8/instance_of.d.ts.map +0 -1
  145. package/types/deps/jsr.io/@std/assert/1.0.8/is_error.d.ts +0 -25
  146. package/types/deps/jsr.io/@std/assert/1.0.8/is_error.d.ts.map +0 -1
  147. package/types/deps/jsr.io/@std/assert/1.0.8/less.d.ts +0 -19
  148. package/types/deps/jsr.io/@std/assert/1.0.8/less.d.ts.map +0 -1
  149. package/types/deps/jsr.io/@std/assert/1.0.8/less_or_equal.d.ts +0 -20
  150. package/types/deps/jsr.io/@std/assert/1.0.8/less_or_equal.d.ts.map +0 -1
  151. package/types/deps/jsr.io/@std/assert/1.0.8/match.d.ts +0 -18
  152. package/types/deps/jsr.io/@std/assert/1.0.8/match.d.ts.map +0 -1
  153. package/types/deps/jsr.io/@std/assert/1.0.8/mod.d.ts +0 -44
  154. package/types/deps/jsr.io/@std/assert/1.0.8/mod.d.ts.map +0 -1
  155. package/types/deps/jsr.io/@std/assert/1.0.8/not_equals.d.ts +0 -21
  156. package/types/deps/jsr.io/@std/assert/1.0.8/not_equals.d.ts.map +0 -1
  157. package/types/deps/jsr.io/@std/assert/1.0.8/not_instance_of.d.ts +0 -20
  158. package/types/deps/jsr.io/@std/assert/1.0.8/not_instance_of.d.ts.map +0 -1
  159. package/types/deps/jsr.io/@std/assert/1.0.8/not_match.d.ts +0 -18
  160. package/types/deps/jsr.io/@std/assert/1.0.8/not_match.d.ts.map +0 -1
  161. package/types/deps/jsr.io/@std/assert/1.0.8/not_strict_equals.d.ts +0 -23
  162. package/types/deps/jsr.io/@std/assert/1.0.8/not_strict_equals.d.ts.map +0 -1
  163. package/types/deps/jsr.io/@std/assert/1.0.8/object_match.d.ts +0 -28
  164. package/types/deps/jsr.io/@std/assert/1.0.8/object_match.d.ts.map +0 -1
  165. package/types/deps/jsr.io/@std/assert/1.0.8/rejects.d.ts +0 -42
  166. package/types/deps/jsr.io/@std/assert/1.0.8/rejects.d.ts.map +0 -1
  167. package/types/deps/jsr.io/@std/assert/1.0.8/strict_equals.d.ts +0 -24
  168. package/types/deps/jsr.io/@std/assert/1.0.8/strict_equals.d.ts.map +0 -1
  169. package/types/deps/jsr.io/@std/assert/1.0.8/string_includes.d.ts +0 -18
  170. package/types/deps/jsr.io/@std/assert/1.0.8/string_includes.d.ts.map +0 -1
  171. package/types/deps/jsr.io/@std/assert/1.0.8/throws.d.ts +0 -45
  172. package/types/deps/jsr.io/@std/assert/1.0.8/throws.d.ts.map +0 -1
  173. package/types/deps/jsr.io/@std/assert/1.0.8/unimplemented.d.ts +0 -15
  174. package/types/deps/jsr.io/@std/assert/1.0.8/unimplemented.d.ts.map +0 -1
  175. package/types/deps/jsr.io/@std/assert/1.0.8/unreachable.d.ts +0 -15
  176. package/types/deps/jsr.io/@std/assert/1.0.8/unreachable.d.ts.map +0 -1
  177. package/types/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts +0 -82
  178. package/types/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +0 -1
  179. package/types/deps/jsr.io/@std/internal/1.0.5/diff.d.ts +0 -140
  180. package/types/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +0 -1
  181. package/types/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts +0 -99
  182. package/types/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +0 -1
  183. package/types/deps/jsr.io/@std/internal/1.0.5/format.d.ts +0 -2
  184. package/types/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +0 -1
  185. package/types/deps/jsr.io/@std/internal/1.0.5/styles.d.ts +0 -159
  186. package/types/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +0 -1
  187. package/types/deps/jsr.io/@std/internal/1.0.5/types.d.ts +0 -16
  188. package/types/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +0 -1
  189. /package/{types → esm}/Tool.d.ts +0 -0
  190. /package/{types → esm}/Tool.d.ts.map +0 -0
  191. /package/{types → esm}/_dnt.polyfills.d.ts +0 -0
  192. /package/{types → esm}/_dnt.polyfills.d.ts.map +0 -0
  193. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/_utils.d.ts +0 -0
  194. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/_utils.d.ts.map +0 -0
  195. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/aggregate_groups.d.ts +0 -0
  196. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/aggregate_groups.d.ts.map +0 -0
  197. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/associate_by.d.ts +0 -0
  198. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/associate_by.d.ts.map +0 -0
  199. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/associate_with.d.ts +0 -0
  200. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/associate_with.d.ts.map +0 -0
  201. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/chunk.d.ts +0 -0
  202. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/chunk.d.ts.map +0 -0
  203. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/deep_merge.d.ts +0 -0
  204. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/deep_merge.d.ts.map +0 -0
  205. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/distinct.d.ts +0 -0
  206. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/distinct.d.ts.map +0 -0
  207. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/distinct_by.d.ts +0 -0
  208. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/distinct_by.d.ts.map +0 -0
  209. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/drop_last_while.d.ts +0 -0
  210. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/drop_last_while.d.ts.map +0 -0
  211. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/drop_while.d.ts +0 -0
  212. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/drop_while.d.ts.map +0 -0
  213. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/filter_entries.d.ts +0 -0
  214. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/filter_entries.d.ts.map +0 -0
  215. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/filter_keys.d.ts +0 -0
  216. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/filter_keys.d.ts.map +0 -0
  217. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/filter_values.d.ts +0 -0
  218. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/filter_values.d.ts.map +0 -0
  219. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/find_single.d.ts +0 -0
  220. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/find_single.d.ts.map +0 -0
  221. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/first_not_nullish_of.d.ts +0 -0
  222. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/first_not_nullish_of.d.ts.map +0 -0
  223. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/includes_value.d.ts +0 -0
  224. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/includes_value.d.ts.map +0 -0
  225. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/intersect.d.ts +0 -0
  226. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/intersect.d.ts.map +0 -0
  227. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/invert.d.ts +0 -0
  228. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/invert.d.ts.map +0 -0
  229. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/invert_by.d.ts +0 -0
  230. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/invert_by.d.ts.map +0 -0
  231. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/join_to_string.d.ts +0 -0
  232. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/join_to_string.d.ts.map +0 -0
  233. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/map_entries.d.ts +0 -0
  234. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/map_entries.d.ts.map +0 -0
  235. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/map_keys.d.ts +0 -0
  236. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/map_keys.d.ts.map +0 -0
  237. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/map_not_nullish.d.ts +0 -0
  238. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/map_not_nullish.d.ts.map +0 -0
  239. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/map_values.d.ts +0 -0
  240. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/map_values.d.ts.map +0 -0
  241. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/max_by.d.ts +0 -0
  242. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/max_by.d.ts.map +0 -0
  243. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/max_of.d.ts +0 -0
  244. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/max_of.d.ts.map +0 -0
  245. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/max_with.d.ts +0 -0
  246. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/max_with.d.ts.map +0 -0
  247. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/min_by.d.ts +0 -0
  248. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/min_by.d.ts.map +0 -0
  249. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/min_of.d.ts +0 -0
  250. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/min_of.d.ts.map +0 -0
  251. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/min_with.d.ts +0 -0
  252. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/min_with.d.ts.map +0 -0
  253. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/mod.d.ts +0 -0
  254. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/mod.d.ts.map +0 -0
  255. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/omit.d.ts +0 -0
  256. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/omit.d.ts.map +0 -0
  257. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/partition.d.ts +0 -0
  258. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/partition.d.ts.map +0 -0
  259. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/partition_entries.d.ts +0 -0
  260. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/partition_entries.d.ts.map +0 -0
  261. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/permutations.d.ts +0 -0
  262. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/permutations.d.ts.map +0 -0
  263. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/pick.d.ts +0 -0
  264. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/pick.d.ts.map +0 -0
  265. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/reduce_groups.d.ts +0 -0
  266. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/reduce_groups.d.ts.map +0 -0
  267. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/running_reduce.d.ts +0 -0
  268. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/running_reduce.d.ts.map +0 -0
  269. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/sample.d.ts +0 -0
  270. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/sample.d.ts.map +0 -0
  271. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/sliding_windows.d.ts +0 -0
  272. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/sliding_windows.d.ts.map +0 -0
  273. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/sort_by.d.ts +0 -0
  274. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/sort_by.d.ts.map +0 -0
  275. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/sum_of.d.ts +0 -0
  276. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/sum_of.d.ts.map +0 -0
  277. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/take_last_while.d.ts +0 -0
  278. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/take_last_while.d.ts.map +0 -0
  279. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/take_while.d.ts +0 -0
  280. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/take_while.d.ts.map +0 -0
  281. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/union.d.ts +0 -0
  282. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/union.d.ts.map +0 -0
  283. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/unzip.d.ts +0 -0
  284. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/unzip.d.ts.map +0 -0
  285. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/without_all.d.ts +0 -0
  286. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/without_all.d.ts.map +0 -0
  287. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/zip.d.ts +0 -0
  288. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/zip.d.ts.map +0 -0
  289. /package/{types → esm}/mod.d.ts +0 -0
  290. /package/{types → esm}/mod.d.ts.map +0 -0
  291. /package/{types → esm}/types/Ref.d.ts +0 -0
  292. /package/{types → esm}/types/Ref.d.ts.map +0 -0
  293. /package/{types → esm}/types/RootTy.d.ts +0 -0
  294. /package/{types → esm}/types/RootTy.d.ts.map +0 -0
  295. /package/{types → esm}/types/Ty.d.ts +0 -0
  296. /package/{types → esm}/types/Ty.d.ts.map +0 -0
  297. /package/{types → esm}/types/array.d.ts +0 -0
  298. /package/{types → esm}/types/array.d.ts.map +0 -0
  299. /package/{types → esm}/types/constant.d.ts +0 -0
  300. /package/{types → esm}/types/constant.d.ts.map +0 -0
  301. /package/{types → esm}/types/constantUnion.d.ts +0 -0
  302. /package/{types → esm}/types/constantUnion.d.ts.map +0 -0
  303. /package/{types → esm}/types/leaves.d.ts +0 -0
  304. /package/{types → esm}/types/leaves.d.ts.map +0 -0
  305. /package/{types → esm}/types/mod.d.ts +0 -0
  306. /package/{types → esm}/types/mod.d.ts.map +0 -0
  307. /package/{types → esm}/types/object.d.ts +0 -0
  308. /package/{types → esm}/types/object.d.ts.map +0 -0
  309. /package/{types → esm}/types/std/Option.d.ts +0 -0
  310. /package/{types → esm}/types/std/Option.d.ts.map +0 -0
  311. /package/{types → esm}/types/std/Wrapper.d.ts +0 -0
  312. /package/{types → esm}/types/std/Wrapper.d.ts.map +0 -0
  313. /package/{types → esm}/types/std/mod.d.ts +0 -0
  314. /package/{types → esm}/types/std/mod.d.ts.map +0 -0
  315. /package/{types → esm}/types/taggedUnion.d.ts +0 -0
  316. /package/{types → esm}/types/taggedUnion.d.ts.map +0 -0
  317. /package/{types → esm}/util/phantoms.d.ts +0 -0
  318. /package/{types → esm}/util/phantoms.d.ts.map +0 -0
  319. /package/{types → esm}/util/recombineTaggedTemplateArgs.d.ts +0 -0
  320. /package/{types → esm}/util/recombineTaggedTemplateArgs.d.ts.map +0 -0
@@ -1,202 +0,0 @@
1
- // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
2
- // This module is browser compatible.
3
- import { assertEquals } from "./equals.js";
4
-
5
- /**
6
- * Make an assertion that `expected` object is a subset of `actual` object,
7
- * deeply. If not, then throw.
8
- *
9
- * @example Usage
10
- * ```ts ignore
11
- * import { assertObjectMatch } from "@std/assert";
12
- *
13
- * assertObjectMatch({ foo: "bar" }, { foo: "bar" }); // Doesn't throw
14
- * assertObjectMatch({ foo: "bar" }, { foo: "baz" }); // Throws
15
- * assertObjectMatch({ foo: 1, bar: 2 }, { foo: 1 }); // Doesn't throw
16
- * assertObjectMatch({ foo: 1 }, { foo: 1, bar: 2 }); // Throws
17
- * ```
18
- *
19
- * @example Usage with nested objects
20
- * ```ts ignore
21
- * import { assertObjectMatch } from "@std/assert";
22
- *
23
- * assertObjectMatch({ foo: { bar: 3, baz: 4 } }, { foo: { bar: 3 } }); // Doesn't throw
24
- * assertObjectMatch({ foo: { bar: 3 } }, { foo: { bar: 3, baz: 4 } }); // Throws
25
- * ```
26
- *
27
- * @param actual The actual value to be matched.
28
- * @param expected The expected value to match.
29
- * @param msg The optional message to display if the assertion fails.
30
- */
31
- export function assertObjectMatch(
32
- // deno-lint-ignore no-explicit-any
33
- actual: Record<PropertyKey, any>,
34
- expected: Record<PropertyKey, unknown>,
35
- msg?: string,
36
- ): void {
37
- return assertEquals(
38
- // get the intersection of "actual" and "expected"
39
- // side effect: all the instances' constructor field is "Object" now.
40
- filter(actual, expected),
41
- // set (nested) instances' constructor field to be "Object" without changing expected value.
42
- // see https://github.com/denoland/deno_std/pull/1419
43
- filter(expected, expected),
44
- msg,
45
- );
46
- }
47
-
48
- type loose = Record<PropertyKey, unknown>;
49
-
50
- function isObject(val: unknown): boolean {
51
- return typeof val === "object" && val !== null;
52
- }
53
-
54
- function filter(a: loose, b: loose): loose {
55
- const seen = new WeakMap();
56
- return filterObject(a, b);
57
-
58
- function filterObject(a: loose, b: loose): loose {
59
- // Prevent infinite loop with circular references with same filter
60
- if ((seen.has(a)) && (seen.get(a) === b)) {
61
- return a;
62
- }
63
-
64
- try {
65
- seen.set(a, b);
66
- } catch (err) {
67
- if (err instanceof TypeError) {
68
- throw new TypeError(
69
- `Cannot assertObjectMatch ${a === null ? null : `type ${typeof a}`}`,
70
- );
71
- }
72
- }
73
-
74
- // Filter keys and symbols which are present in both actual and expected
75
- const filtered = {} as loose;
76
- const keysA = Reflect.ownKeys(a);
77
- const keysB = Reflect.ownKeys(b);
78
- const entries = keysA.filter((key) => keysB.includes(key))
79
- .map((key) => [key, a[key as string]]) as Array<[string, unknown]>;
80
-
81
- if (keysA.length && keysB.length && !entries.length) {
82
- // If both objects are not empty but don't have the same keys or symbols,
83
- // returns the entries in object a.
84
- for (const key of keysA) {
85
- filtered[key] = a[key];
86
- }
87
-
88
- return filtered;
89
- }
90
-
91
- for (const [key, value] of entries) {
92
- // On regexp references, keep value as it to avoid loosing pattern and flags
93
- if (value instanceof RegExp) {
94
- filtered[key] = value;
95
- continue;
96
- }
97
-
98
- const subset = (b as loose)[key];
99
-
100
- // On array references, build a filtered array and filter nested objects inside
101
- if (Array.isArray(value) && Array.isArray(subset)) {
102
- filtered[key] = filterArray(value, subset);
103
- continue;
104
- }
105
-
106
- // On nested objects references, build a filtered object recursively
107
- if (isObject(value) && isObject(subset)) {
108
- // When both operands are maps, build a filtered map with common keys and filter nested objects inside
109
- if ((value instanceof Map) && (subset instanceof Map)) {
110
- filtered[key] = new Map(
111
- [...value].filter(([k]) => subset.has(k)).map(
112
- ([k, v]) => {
113
- const v2 = subset.get(k);
114
- if (isObject(v) && isObject(v2)) {
115
- return [k, filterObject(v as loose, v2 as loose)];
116
- }
117
-
118
- return [k, v];
119
- },
120
- ),
121
- );
122
- continue;
123
- }
124
-
125
- // When both operands are set, build a filtered set with common values
126
- if ((value instanceof Set) && (subset instanceof Set)) {
127
- filtered[key] = value.intersection(subset);
128
- continue;
129
- }
130
-
131
- filtered[key] = filterObject(value as loose, subset as loose);
132
- continue;
133
- }
134
-
135
- filtered[key] = value;
136
- }
137
-
138
- return filtered;
139
- }
140
-
141
- function filterArray(a: unknown[], b: unknown[]): unknown[] {
142
- // Prevent infinite loop with circular references with same filter
143
- if (seen.has(a) && (seen.get(a) === b)) {
144
- return a;
145
- }
146
-
147
- seen.set(a, b);
148
-
149
- const filtered: unknown[] = [];
150
- const count = Math.min(a.length, b.length);
151
-
152
- for (let i = 0; i < count; ++i) {
153
- const value = a[i];
154
- const subset = b[i];
155
-
156
- // On regexp references, keep value as it to avoid loosing pattern and flags
157
- if (value instanceof RegExp) {
158
- filtered.push(value);
159
- continue;
160
- }
161
-
162
- // On array references, build a filtered array and filter nested objects inside
163
- if (Array.isArray(value) && Array.isArray(subset)) {
164
- filtered.push(filterArray(value, subset));
165
- continue;
166
- }
167
-
168
- // On nested objects references, build a filtered object recursively
169
- if (isObject(value) && isObject(subset)) {
170
- // When both operands are maps, build a filtered map with common keys and filter nested objects inside
171
- if ((value instanceof Map) && (subset instanceof Map)) {
172
- const map = new Map(
173
- [...value].filter(([k]) => subset.has(k))
174
- .map(([k, v]) => {
175
- const v2 = subset.get(k);
176
- if (isObject(v) && isObject(v2)) {
177
- return [k, filterObject(v as loose, v2 as loose)];
178
- }
179
-
180
- return [k, v];
181
- }),
182
- );
183
- filtered.push(map);
184
- continue;
185
- }
186
-
187
- // When both operands are set, build a filtered set with common values
188
- if ((value instanceof Set) && (subset instanceof Set)) {
189
- filtered.push(value.intersection(subset));
190
- continue;
191
- }
192
-
193
- filtered.push(filterObject(value as loose, subset as loose));
194
- continue;
195
- }
196
-
197
- filtered.push(value);
198
- }
199
-
200
- return filtered;
201
- }
202
- }
@@ -1,123 +0,0 @@
1
- // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
2
- // This module is browser compatible.
3
- import { AssertionError } from "./assertion_error.js";
4
- import { assertIsError } from "./is_error.js";
5
-
6
- /**
7
- * Executes a function which returns a promise, expecting it to reject.
8
- *
9
- * To assert that a synchronous function throws, use {@linkcode assertThrows}.
10
- *
11
- * @example Usage
12
- * ```ts ignore
13
- * import { assertRejects } from "@std/assert";
14
- *
15
- * await assertRejects(async () => Promise.reject(new Error())); // Doesn't throw
16
- * await assertRejects(async () => console.log("Hello world")); // Throws
17
- * ```
18
- *
19
- * @param fn The function to execute.
20
- * @param msg The optional message to display if the assertion fails.
21
- * @returns The promise which resolves to the thrown error.
22
- */
23
- export function assertRejects(
24
- fn: () => PromiseLike<unknown>,
25
- msg?: string,
26
- ): Promise<unknown>;
27
- /**
28
- * Executes a function which returns a promise, expecting it to reject.
29
- * If it does not, then it throws. An error class and a string that should be
30
- * included in the error message can also be asserted.
31
- *
32
- * To assert that a synchronous function throws, use {@linkcode assertThrows}.
33
- *
34
- * @example Usage
35
- * ```ts ignore
36
- * import { assertRejects } from "@std/assert";
37
- *
38
- * await assertRejects(async () => Promise.reject(new Error()), Error); // Doesn't throw
39
- * await assertRejects(async () => Promise.reject(new Error()), SyntaxError); // Throws
40
- * ```
41
- *
42
- * @typeParam E The error class to assert.
43
- * @param fn The function to execute.
44
- * @param ErrorClass The error class to assert.
45
- * @param msgIncludes The string that should be included in the error message.
46
- * @param msg The optional message to display if the assertion fails.
47
- * @returns The promise which resolves to the thrown error.
48
- */
49
- export function assertRejects<E extends Error = Error>(
50
- fn: () => PromiseLike<unknown>,
51
- // deno-lint-ignore no-explicit-any
52
- ErrorClass: abstract new (...args: any[]) => E,
53
- msgIncludes?: string,
54
- msg?: string,
55
- ): Promise<E>;
56
- export async function assertRejects<E extends Error = Error>(
57
- fn: () => PromiseLike<unknown>,
58
- errorClassOrMsg?:
59
- // deno-lint-ignore no-explicit-any
60
- | (abstract new (...args: any[]) => E)
61
- | string,
62
- msgIncludesOrMsg?: string,
63
- msg?: string,
64
- ): Promise<E | Error | unknown> {
65
- // deno-lint-ignore no-explicit-any
66
- let ErrorClass: (abstract new (...args: any[]) => E) | undefined;
67
- let msgIncludes: string | undefined;
68
- let err;
69
-
70
- if (typeof errorClassOrMsg !== "string") {
71
- if (
72
- errorClassOrMsg === undefined ||
73
- errorClassOrMsg.prototype instanceof Error ||
74
- errorClassOrMsg.prototype === Error.prototype
75
- ) {
76
- ErrorClass = errorClassOrMsg;
77
- msgIncludes = msgIncludesOrMsg;
78
- }
79
- } else {
80
- msg = errorClassOrMsg;
81
- }
82
- let doesThrow = false;
83
- let isPromiseReturned = false;
84
- const msgSuffix = msg ? `: ${msg}` : ".";
85
- try {
86
- const possiblePromise = fn();
87
- if (
88
- possiblePromise &&
89
- typeof possiblePromise === "object" &&
90
- typeof possiblePromise.then === "function"
91
- ) {
92
- isPromiseReturned = true;
93
- await possiblePromise;
94
- } else {
95
- throw new Error();
96
- }
97
- } catch (error) {
98
- if (!isPromiseReturned) {
99
- throw new AssertionError(
100
- `Function throws when expected to reject${msgSuffix}`,
101
- );
102
- }
103
- if (ErrorClass) {
104
- if (!(error instanceof Error)) {
105
- throw new AssertionError(`A non-Error object was rejected${msgSuffix}`);
106
- }
107
- assertIsError(
108
- error,
109
- ErrorClass,
110
- msgIncludes,
111
- msg,
112
- );
113
- }
114
- err = error;
115
- doesThrow = true;
116
- }
117
- if (!doesThrow) {
118
- throw new AssertionError(
119
- `Expected function to reject${msgSuffix}`,
120
- );
121
- }
122
- return err;
123
- }
@@ -1,67 +0,0 @@
1
- // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
2
- // This module is browser compatible.
3
- import { buildMessage } from "../../internal/1.0.5/build_message.js";
4
- import { diff } from "../../internal/1.0.5/diff.js";
5
- import { diffStr } from "../../internal/1.0.5/diff_str.js";
6
- import { format } from "../../internal/1.0.5/format.js";
7
- import { red } from "../../internal/1.0.5/styles.js";
8
- import { AssertionError } from "./assertion_error.js";
9
-
10
- /**
11
- * Make an assertion that `actual` and `expected` are strictly equal, using
12
- * {@linkcode Object.is} for equality comparison. If not, then throw.
13
- *
14
- * @example Usage
15
- * ```ts ignore
16
- * import { assertStrictEquals } from "@std/assert";
17
- *
18
- * const a = {};
19
- * const b = a;
20
- * assertStrictEquals(a, b); // Doesn't throw
21
- *
22
- * const c = {};
23
- * const d = {};
24
- * assertStrictEquals(c, d); // Throws
25
- * ```
26
- *
27
- * @typeParam T The type of the expected value.
28
- * @param actual The actual value to compare.
29
- * @param expected The expected value to compare.
30
- * @param msg The optional message to display if the assertion fails.
31
- */
32
- export function assertStrictEquals<T>(
33
- actual: unknown,
34
- expected: T,
35
- msg?: string,
36
- ): asserts actual is T {
37
- if (Object.is(actual, expected)) {
38
- return;
39
- }
40
-
41
- const msgSuffix = msg ? `: ${msg}` : ".";
42
- let message: string;
43
-
44
- const actualString = format(actual);
45
- const expectedString = format(expected);
46
-
47
- if (actualString === expectedString) {
48
- const withOffset = actualString
49
- .split("\n")
50
- .map((l) => ` ${l}`)
51
- .join("\n");
52
- message =
53
- `Values have the same structure but are not reference-equal${msgSuffix}\n\n${
54
- red(withOffset)
55
- }\n`;
56
- } else {
57
- const stringDiff = (typeof actual === "string") &&
58
- (typeof expected === "string");
59
- const diffResult = stringDiff
60
- ? diffStr(actual as string, expected as string)
61
- : diff(actualString.split("\n"), expectedString.split("\n"));
62
- const diffMsg = buildMessage(diffResult, { stringDiff }).join("\n");
63
- message = `Values are not strictly equal${msgSuffix}\n${diffMsg}`;
64
- }
65
-
66
- throw new AssertionError(message);
67
- }
@@ -1,30 +0,0 @@
1
- // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
2
- // This module is browser compatible.
3
- import { AssertionError } from "./assertion_error.js";
4
-
5
- /**
6
- * Make an assertion that actual includes expected. If not
7
- * then throw.
8
- *
9
- * @example Usage
10
- * ```ts ignore
11
- * import { assertStringIncludes } from "@std/assert";
12
- *
13
- * assertStringIncludes("Hello", "ello"); // Doesn't throw
14
- * assertStringIncludes("Hello", "world"); // Throws
15
- * ```
16
- *
17
- * @param actual The actual string to check for inclusion.
18
- * @param expected The expected string to check for inclusion.
19
- * @param msg The optional message to display if the assertion fails.
20
- */
21
- export function assertStringIncludes(
22
- actual: string,
23
- expected: string,
24
- msg?: string,
25
- ) {
26
- if (actual.includes(expected)) return;
27
- const msgSuffix = msg ? `: ${msg}` : ".";
28
- msg = `Expected actual: "${actual}" to contain: "${expected}"${msgSuffix}`;
29
- throw new AssertionError(msg);
30
- }
@@ -1,111 +0,0 @@
1
- // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
2
- // This module is browser compatible.
3
- import { assertIsError } from "./is_error.js";
4
- import { AssertionError } from "./assertion_error.js";
5
-
6
- /**
7
- * Executes a function, expecting it to throw. If it does not, then it
8
- * throws.
9
- *
10
- * To assert that an asynchronous function rejects, use
11
- * {@linkcode assertRejects}.
12
- *
13
- * @example Usage
14
- * ```ts ignore
15
- * import { assertThrows } from "@std/assert";
16
- *
17
- * assertThrows(() => { throw new TypeError("hello world!"); }); // Doesn't throw
18
- * assertThrows(() => console.log("hello world!")); // Throws
19
- * ```
20
- *
21
- * @param fn The function to execute.
22
- * @param msg The optional message to display if the assertion fails.
23
- * @returns The error that was thrown.
24
- */
25
- export function assertThrows(
26
- fn: () => unknown,
27
- msg?: string,
28
- ): unknown;
29
- /**
30
- * Executes a function, expecting it to throw. If it does not, then it
31
- * throws. An error class and a string that should be included in the
32
- * error message can also be asserted.
33
- *
34
- * To assert that an asynchronous function rejects, use
35
- * {@linkcode assertRejects}.
36
- *
37
- * @example Usage
38
- * ```ts ignore
39
- * import { assertThrows } from "@std/assert";
40
- *
41
- * assertThrows(() => { throw new TypeError("hello world!"); }, TypeError); // Doesn't throw
42
- * assertThrows(() => { throw new TypeError("hello world!"); }, RangeError); // Throws
43
- * ```
44
- *
45
- * @typeParam E The error class to assert.
46
- * @param fn The function to execute.
47
- * @param ErrorClass The error class to assert.
48
- * @param msgIncludes The string that should be included in the error message.
49
- * @param msg The optional message to display if the assertion fails.
50
- * @returns The error that was thrown.
51
- */
52
- export function assertThrows<E extends Error = Error>(
53
- fn: () => unknown,
54
- // deno-lint-ignore no-explicit-any
55
- ErrorClass: abstract new (...args: any[]) => E,
56
- msgIncludes?: string,
57
- msg?: string,
58
- ): E;
59
- export function assertThrows<E extends Error = Error>(
60
- fn: () => unknown,
61
- errorClassOrMsg?:
62
- // deno-lint-ignore no-explicit-any
63
- | (abstract new (...args: any[]) => E)
64
- | string,
65
- msgIncludesOrMsg?: string,
66
- msg?: string,
67
- ): E | Error | unknown {
68
- // deno-lint-ignore no-explicit-any
69
- let ErrorClass: (abstract new (...args: any[]) => E) | undefined;
70
- let msgIncludes: string | undefined;
71
- let err;
72
-
73
- if (typeof errorClassOrMsg !== "string") {
74
- if (
75
- errorClassOrMsg === undefined ||
76
- errorClassOrMsg?.prototype instanceof Error ||
77
- errorClassOrMsg?.prototype === Error.prototype
78
- ) {
79
- ErrorClass = errorClassOrMsg;
80
- msgIncludes = msgIncludesOrMsg;
81
- } else {
82
- msg = msgIncludesOrMsg;
83
- }
84
- } else {
85
- msg = errorClassOrMsg;
86
- }
87
- let doesThrow = false;
88
- const msgSuffix = msg ? `: ${msg}` : ".";
89
- try {
90
- fn();
91
- } catch (error) {
92
- if (ErrorClass) {
93
- if (error instanceof Error === false) {
94
- throw new AssertionError(`A non-Error object was thrown${msgSuffix}`);
95
- }
96
- assertIsError(
97
- error,
98
- ErrorClass,
99
- msgIncludes,
100
- msg,
101
- );
102
- }
103
- err = error;
104
- doesThrow = true;
105
- }
106
- if (!doesThrow) {
107
- msg = `Expected function to throw${msgSuffix}`;
108
- throw new AssertionError(msg);
109
- }
110
- return err;
111
- }
@@ -1,21 +0,0 @@
1
- // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
2
- // This module is browser compatible.
3
- import { AssertionError } from "./assertion_error.js";
4
-
5
- /**
6
- * Use this to stub out methods that will throw when invoked.
7
- *
8
- * @example Usage
9
- * ```ts ignore
10
- * import { unimplemented } from "@std/assert";
11
- *
12
- * unimplemented(); // Throws
13
- * ```
14
- *
15
- * @param msg Optional message to include in the error.
16
- * @returns Never returns, always throws.
17
- */
18
- export function unimplemented(msg?: string): never {
19
- const msgSuffix = msg ? `: ${msg}` : ".";
20
- throw new AssertionError(`Unimplemented${msgSuffix}`);
21
- }
@@ -1,21 +0,0 @@
1
- // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
2
- // This module is browser compatible.
3
- import { AssertionError } from "./assertion_error.js";
4
-
5
- /**
6
- * Use this to assert unreachable code.
7
- *
8
- * @example Usage
9
- * ```ts ignore
10
- * import { unreachable } from "@std/assert";
11
- *
12
- * unreachable(); // Throws
13
- * ```
14
- *
15
- * @param msg Optional message to include in the error.
16
- * @returns Never returns, always throws.
17
- */
18
- export function unreachable(msg?: string): never {
19
- const msgSuffix = msg ? `: ${msg}` : ".";
20
- throw new AssertionError(`Unreachable${msgSuffix}`);
21
- }