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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (371) hide show
  1. package/README.md +46 -40
  2. package/esm/ResponseFormat.d.ts +21 -0
  3. package/esm/ResponseFormat.d.ts.map +1 -0
  4. package/esm/ResponseFormat.js +43 -19
  5. package/esm/ResponseFormat.js.map +1 -1
  6. package/{types → esm}/Tool.d.ts +1 -0
  7. package/esm/Tool.d.ts.map +1 -0
  8. package/esm/Tool.js +1 -0
  9. package/esm/Tool.js.map +1 -1
  10. package/esm/oai.d.ts +5 -0
  11. package/esm/oai.d.ts.map +1 -0
  12. package/esm/oai.js +2 -0
  13. package/esm/oai.js.map +1 -0
  14. package/esm/types/Ref.d.ts.map +1 -0
  15. package/esm/types/Ref.js +6 -3
  16. package/esm/types/Ref.js.map +1 -1
  17. package/esm/types/RootTy.d.ts +8 -0
  18. package/esm/types/RootTy.d.ts.map +1 -0
  19. package/esm/types/RootTy.js +5 -7
  20. package/esm/types/RootTy.js.map +1 -1
  21. package/esm/types/Ty.d.ts +23 -0
  22. package/esm/types/Ty.d.ts.map +1 -0
  23. package/esm/types/Ty.js +5 -9
  24. package/esm/types/Ty.js.map +1 -1
  25. package/{types → esm}/types/array.d.ts +1 -1
  26. package/{types → esm}/types/array.d.ts.map +1 -1
  27. package/esm/types/array.js +1 -2
  28. package/esm/types/array.js.map +1 -1
  29. package/{types → esm}/types/constant.d.ts.map +1 -1
  30. package/esm/types/constant.js +1 -2
  31. package/esm/types/constant.js.map +1 -1
  32. package/{types → esm}/types/constantUnion.d.ts.map +1 -1
  33. package/esm/types/constantUnion.js +16 -19
  34. package/esm/types/constantUnion.js.map +1 -1
  35. package/{types → esm}/types/mod.d.ts +3 -3
  36. package/esm/types/mod.d.ts.map +1 -0
  37. package/esm/types/mod.js +3 -3
  38. package/esm/types/mod.js.map +1 -1
  39. package/{types → esm}/types/object.d.ts +2 -2
  40. package/{types → esm}/types/object.d.ts.map +1 -1
  41. package/esm/types/object.js +1 -2
  42. package/esm/types/object.js.map +1 -1
  43. package/{types/types/leaves.d.ts → esm/types/primitives.d.ts} +1 -1
  44. package/esm/types/primitives.d.ts.map +1 -0
  45. package/esm/types/primitives.js +14 -0
  46. package/esm/types/primitives.js.map +1 -0
  47. package/esm/types/std/Option.js +1 -1
  48. package/esm/types/std/Option.js.map +1 -1
  49. package/{types → esm}/types/std/Wrapper.d.ts +0 -1
  50. package/esm/types/std/Wrapper.d.ts.map +1 -0
  51. package/esm/types/std/Wrapper.js.map +1 -1
  52. package/{types → esm}/types/taggedUnion.d.ts +2 -2
  53. package/{types → esm}/types/taggedUnion.d.ts.map +1 -1
  54. package/esm/types/taggedUnion.js +1 -2
  55. package/esm/types/taggedUnion.js.map +1 -1
  56. package/package.json +6 -11
  57. package/src/ResponseFormat.ts +48 -41
  58. package/src/Tool.ts +1 -0
  59. package/src/oai.ts +5 -0
  60. package/src/types/Ref.ts +7 -4
  61. package/src/types/RootTy.ts +11 -13
  62. package/src/types/Ty.ts +23 -30
  63. package/src/types/array.ts +2 -3
  64. package/src/types/constant.ts +1 -2
  65. package/src/types/constantUnion.ts +16 -19
  66. package/src/types/mod.ts +3 -3
  67. package/src/types/object.ts +4 -6
  68. package/src/types/primitives.ts +17 -0
  69. package/src/types/std/Option.ts +1 -1
  70. package/src/types/std/Wrapper.ts +0 -2
  71. package/src/types/taggedUnion.ts +3 -4
  72. package/esm/_dnt.shims.js +0 -58
  73. package/esm/_dnt.shims.js.map +0 -1
  74. package/esm/deps/jsr.io/@std/assert/1.0.8/almost_equals.js +0 -47
  75. package/esm/deps/jsr.io/@std/assert/1.0.8/almost_equals.js.map +0 -1
  76. package/esm/deps/jsr.io/@std/assert/1.0.8/array_includes.js +0 -47
  77. package/esm/deps/jsr.io/@std/assert/1.0.8/array_includes.js.map +0 -1
  78. package/esm/deps/jsr.io/@std/assert/1.0.8/assert.js +0 -23
  79. package/esm/deps/jsr.io/@std/assert/1.0.8/assert.js.map +0 -1
  80. package/esm/deps/jsr.io/@std/assert/1.0.8/assertion_error.js +0 -31
  81. package/esm/deps/jsr.io/@std/assert/1.0.8/assertion_error.js.map +0 -1
  82. package/esm/deps/jsr.io/@std/assert/1.0.8/equal.js +0 -184
  83. package/esm/deps/jsr.io/@std/assert/1.0.8/equal.js.map +0 -1
  84. package/esm/deps/jsr.io/@std/assert/1.0.8/equals.js +0 -46
  85. package/esm/deps/jsr.io/@std/assert/1.0.8/equals.js.map +0 -1
  86. package/esm/deps/jsr.io/@std/assert/1.0.8/exists.js +0 -28
  87. package/esm/deps/jsr.io/@std/assert/1.0.8/exists.js.map +0 -1
  88. package/esm/deps/jsr.io/@std/assert/1.0.8/fail.js +0 -21
  89. package/esm/deps/jsr.io/@std/assert/1.0.8/fail.js.map +0 -1
  90. package/esm/deps/jsr.io/@std/assert/1.0.8/false.js +0 -23
  91. package/esm/deps/jsr.io/@std/assert/1.0.8/false.js.map +0 -1
  92. package/esm/deps/jsr.io/@std/assert/1.0.8/greater.js +0 -30
  93. package/esm/deps/jsr.io/@std/assert/1.0.8/greater.js.map +0 -1
  94. package/esm/deps/jsr.io/@std/assert/1.0.8/greater_or_equal.js +0 -30
  95. package/esm/deps/jsr.io/@std/assert/1.0.8/greater_or_equal.js.map +0 -1
  96. package/esm/deps/jsr.io/@std/assert/1.0.8/instance_of.js +0 -53
  97. package/esm/deps/jsr.io/@std/assert/1.0.8/instance_of.js.map +0 -1
  98. package/esm/deps/jsr.io/@std/assert/1.0.8/is_error.js +0 -54
  99. package/esm/deps/jsr.io/@std/assert/1.0.8/is_error.js.map +0 -1
  100. package/esm/deps/jsr.io/@std/assert/1.0.8/less.js +0 -29
  101. package/esm/deps/jsr.io/@std/assert/1.0.8/less.js.map +0 -1
  102. package/esm/deps/jsr.io/@std/assert/1.0.8/less_or_equal.js +0 -30
  103. package/esm/deps/jsr.io/@std/assert/1.0.8/less_or_equal.js.map +0 -1
  104. package/esm/deps/jsr.io/@std/assert/1.0.8/match.js +0 -27
  105. package/esm/deps/jsr.io/@std/assert/1.0.8/match.js.map +0 -1
  106. package/esm/deps/jsr.io/@std/assert/1.0.8/mod.js +0 -46
  107. package/esm/deps/jsr.io/@std/assert/1.0.8/mod.js.map +0 -1
  108. package/esm/deps/jsr.io/@std/assert/1.0.8/not_equals.js +0 -33
  109. package/esm/deps/jsr.io/@std/assert/1.0.8/not_equals.js.map +0 -1
  110. package/esm/deps/jsr.io/@std/assert/1.0.8/not_instance_of.js +0 -30
  111. package/esm/deps/jsr.io/@std/assert/1.0.8/not_instance_of.js.map +0 -1
  112. package/esm/deps/jsr.io/@std/assert/1.0.8/not_match.js +0 -27
  113. package/esm/deps/jsr.io/@std/assert/1.0.8/not_match.js.map +0 -1
  114. package/esm/deps/jsr.io/@std/assert/1.0.8/not_strict_equals.js +0 -33
  115. package/esm/deps/jsr.io/@std/assert/1.0.8/not_strict_equals.js.map +0 -1
  116. package/esm/deps/jsr.io/@std/assert/1.0.8/object_match.js +0 -160
  117. package/esm/deps/jsr.io/@std/assert/1.0.8/object_match.js.map +0 -1
  118. package/esm/deps/jsr.io/@std/assert/1.0.8/rejects.js +0 -54
  119. package/esm/deps/jsr.io/@std/assert/1.0.8/rejects.js.map +0 -1
  120. package/esm/deps/jsr.io/@std/assert/1.0.8/strict_equals.js +0 -58
  121. package/esm/deps/jsr.io/@std/assert/1.0.8/strict_equals.js.map +0 -1
  122. package/esm/deps/jsr.io/@std/assert/1.0.8/string_includes.js +0 -27
  123. package/esm/deps/jsr.io/@std/assert/1.0.8/string_includes.js.map +0 -1
  124. package/esm/deps/jsr.io/@std/assert/1.0.8/throws.js +0 -45
  125. package/esm/deps/jsr.io/@std/assert/1.0.8/throws.js.map +0 -1
  126. package/esm/deps/jsr.io/@std/assert/1.0.8/unimplemented.js +0 -21
  127. package/esm/deps/jsr.io/@std/assert/1.0.8/unimplemented.js.map +0 -1
  128. package/esm/deps/jsr.io/@std/assert/1.0.8/unreachable.js +0 -21
  129. package/esm/deps/jsr.io/@std/assert/1.0.8/unreachable.js.map +0 -1
  130. package/esm/deps/jsr.io/@std/internal/1.0.5/build_message.js +0 -111
  131. package/esm/deps/jsr.io/@std/internal/1.0.5/build_message.js.map +0 -1
  132. package/esm/deps/jsr.io/@std/internal/1.0.5/diff.js +0 -277
  133. package/esm/deps/jsr.io/@std/internal/1.0.5/diff.js.map +0 -1
  134. package/esm/deps/jsr.io/@std/internal/1.0.5/diff_str.js +0 -180
  135. package/esm/deps/jsr.io/@std/internal/1.0.5/diff_str.js.map +0 -1
  136. package/esm/deps/jsr.io/@std/internal/1.0.5/format.js +0 -38
  137. package/esm/deps/jsr.io/@std/internal/1.0.5/format.js.map +0 -1
  138. package/esm/deps/jsr.io/@std/internal/1.0.5/styles.js +0 -208
  139. package/esm/deps/jsr.io/@std/internal/1.0.5/styles.js.map +0 -1
  140. package/esm/deps/jsr.io/@std/internal/1.0.5/types.js +0 -3
  141. package/esm/deps/jsr.io/@std/internal/1.0.5/types.js.map +0 -1
  142. package/esm/types/leaves.js +0 -18
  143. package/esm/types/leaves.js.map +0 -1
  144. package/src/_dnt.shims.ts +0 -60
  145. package/src/deps/jsr.io/@std/assert/1.0.8/almost_equals.ts +0 -55
  146. package/src/deps/jsr.io/@std/assert/1.0.8/array_includes.ts +0 -57
  147. package/src/deps/jsr.io/@std/assert/1.0.8/assert.ts +0 -23
  148. package/src/deps/jsr.io/@std/assert/1.0.8/assertion_error.ts +0 -31
  149. package/src/deps/jsr.io/@std/assert/1.0.8/equal.ts +0 -210
  150. package/src/deps/jsr.io/@std/assert/1.0.8/equals.ts +0 -52
  151. package/src/deps/jsr.io/@std/assert/1.0.8/exists.ts +0 -31
  152. package/src/deps/jsr.io/@std/assert/1.0.8/fail.ts +0 -21
  153. package/src/deps/jsr.io/@std/assert/1.0.8/false.ts +0 -26
  154. package/src/deps/jsr.io/@std/assert/1.0.8/greater.ts +0 -30
  155. package/src/deps/jsr.io/@std/assert/1.0.8/greater_or_equal.ts +0 -36
  156. package/src/deps/jsr.io/@std/assert/1.0.8/instance_of.ts +0 -64
  157. package/src/deps/jsr.io/@std/assert/1.0.8/is_error.ts +0 -65
  158. package/src/deps/jsr.io/@std/assert/1.0.8/less.ts +0 -29
  159. package/src/deps/jsr.io/@std/assert/1.0.8/less_or_equal.ts +0 -36
  160. package/src/deps/jsr.io/@std/assert/1.0.8/match.ts +0 -30
  161. package/src/deps/jsr.io/@std/assert/1.0.8/mod.ts +0 -47
  162. package/src/deps/jsr.io/@std/assert/1.0.8/not_equals.ts +0 -36
  163. package/src/deps/jsr.io/@std/assert/1.0.8/not_instance_of.ts +0 -33
  164. package/src/deps/jsr.io/@std/assert/1.0.8/not_match.ts +0 -30
  165. package/src/deps/jsr.io/@std/assert/1.0.8/not_strict_equals.ts +0 -42
  166. package/src/deps/jsr.io/@std/assert/1.0.8/object_match.ts +0 -202
  167. package/src/deps/jsr.io/@std/assert/1.0.8/rejects.ts +0 -123
  168. package/src/deps/jsr.io/@std/assert/1.0.8/strict_equals.ts +0 -67
  169. package/src/deps/jsr.io/@std/assert/1.0.8/string_includes.ts +0 -30
  170. package/src/deps/jsr.io/@std/assert/1.0.8/throws.ts +0 -111
  171. package/src/deps/jsr.io/@std/assert/1.0.8/unimplemented.ts +0 -21
  172. package/src/deps/jsr.io/@std/assert/1.0.8/unreachable.ts +0 -21
  173. package/src/deps/jsr.io/@std/internal/1.0.5/build_message.ts +0 -134
  174. package/src/deps/jsr.io/@std/internal/1.0.5/diff.ts +0 -317
  175. package/src/deps/jsr.io/@std/internal/1.0.5/diff_str.ts +0 -204
  176. package/src/deps/jsr.io/@std/internal/1.0.5/format.ts +0 -39
  177. package/src/deps/jsr.io/@std/internal/1.0.5/styles.ts +0 -233
  178. package/src/deps/jsr.io/@std/internal/1.0.5/types.ts +0 -18
  179. package/src/types/leaves.ts +0 -21
  180. package/types/ResponseFormat.d.ts +0 -26
  181. package/types/ResponseFormat.d.ts.map +0 -1
  182. package/types/Tool.d.ts.map +0 -1
  183. package/types/_dnt.shims.d.ts +0 -2
  184. package/types/_dnt.shims.d.ts.map +0 -1
  185. package/types/deps/jsr.io/@std/assert/1.0.8/almost_equals.d.ts +0 -29
  186. package/types/deps/jsr.io/@std/assert/1.0.8/almost_equals.d.ts.map +0 -1
  187. package/types/deps/jsr.io/@std/assert/1.0.8/array_includes.d.ts +0 -24
  188. package/types/deps/jsr.io/@std/assert/1.0.8/array_includes.d.ts.map +0 -1
  189. package/types/deps/jsr.io/@std/assert/1.0.8/assert.d.ts +0 -16
  190. package/types/deps/jsr.io/@std/assert/1.0.8/assert.d.ts.map +0 -1
  191. package/types/deps/jsr.io/@std/assert/1.0.8/assertion_error.d.ts +0 -26
  192. package/types/deps/jsr.io/@std/assert/1.0.8/assertion_error.d.ts.map +0 -1
  193. package/types/deps/jsr.io/@std/assert/1.0.8/equal.d.ts +0 -17
  194. package/types/deps/jsr.io/@std/assert/1.0.8/equal.d.ts.map +0 -1
  195. package/types/deps/jsr.io/@std/assert/1.0.8/equals.d.ts +0 -22
  196. package/types/deps/jsr.io/@std/assert/1.0.8/equals.d.ts.map +0 -1
  197. package/types/deps/jsr.io/@std/assert/1.0.8/exists.d.ts +0 -18
  198. package/types/deps/jsr.io/@std/assert/1.0.8/exists.d.ts.map +0 -1
  199. package/types/deps/jsr.io/@std/assert/1.0.8/fail.d.ts +0 -15
  200. package/types/deps/jsr.io/@std/assert/1.0.8/fail.d.ts.map +0 -1
  201. package/types/deps/jsr.io/@std/assert/1.0.8/false.d.ts +0 -18
  202. package/types/deps/jsr.io/@std/assert/1.0.8/false.d.ts.map +0 -1
  203. package/types/deps/jsr.io/@std/assert/1.0.8/greater.d.ts +0 -20
  204. package/types/deps/jsr.io/@std/assert/1.0.8/greater.d.ts.map +0 -1
  205. package/types/deps/jsr.io/@std/assert/1.0.8/greater_or_equal.d.ts +0 -20
  206. package/types/deps/jsr.io/@std/assert/1.0.8/greater_or_equal.d.ts.map +0 -1
  207. package/types/deps/jsr.io/@std/assert/1.0.8/instance_of.d.ts +0 -23
  208. package/types/deps/jsr.io/@std/assert/1.0.8/instance_of.d.ts.map +0 -1
  209. package/types/deps/jsr.io/@std/assert/1.0.8/is_error.d.ts +0 -25
  210. package/types/deps/jsr.io/@std/assert/1.0.8/is_error.d.ts.map +0 -1
  211. package/types/deps/jsr.io/@std/assert/1.0.8/less.d.ts +0 -19
  212. package/types/deps/jsr.io/@std/assert/1.0.8/less.d.ts.map +0 -1
  213. package/types/deps/jsr.io/@std/assert/1.0.8/less_or_equal.d.ts +0 -20
  214. package/types/deps/jsr.io/@std/assert/1.0.8/less_or_equal.d.ts.map +0 -1
  215. package/types/deps/jsr.io/@std/assert/1.0.8/match.d.ts +0 -18
  216. package/types/deps/jsr.io/@std/assert/1.0.8/match.d.ts.map +0 -1
  217. package/types/deps/jsr.io/@std/assert/1.0.8/mod.d.ts +0 -44
  218. package/types/deps/jsr.io/@std/assert/1.0.8/mod.d.ts.map +0 -1
  219. package/types/deps/jsr.io/@std/assert/1.0.8/not_equals.d.ts +0 -21
  220. package/types/deps/jsr.io/@std/assert/1.0.8/not_equals.d.ts.map +0 -1
  221. package/types/deps/jsr.io/@std/assert/1.0.8/not_instance_of.d.ts +0 -20
  222. package/types/deps/jsr.io/@std/assert/1.0.8/not_instance_of.d.ts.map +0 -1
  223. package/types/deps/jsr.io/@std/assert/1.0.8/not_match.d.ts +0 -18
  224. package/types/deps/jsr.io/@std/assert/1.0.8/not_match.d.ts.map +0 -1
  225. package/types/deps/jsr.io/@std/assert/1.0.8/not_strict_equals.d.ts +0 -23
  226. package/types/deps/jsr.io/@std/assert/1.0.8/not_strict_equals.d.ts.map +0 -1
  227. package/types/deps/jsr.io/@std/assert/1.0.8/object_match.d.ts +0 -28
  228. package/types/deps/jsr.io/@std/assert/1.0.8/object_match.d.ts.map +0 -1
  229. package/types/deps/jsr.io/@std/assert/1.0.8/rejects.d.ts +0 -42
  230. package/types/deps/jsr.io/@std/assert/1.0.8/rejects.d.ts.map +0 -1
  231. package/types/deps/jsr.io/@std/assert/1.0.8/strict_equals.d.ts +0 -24
  232. package/types/deps/jsr.io/@std/assert/1.0.8/strict_equals.d.ts.map +0 -1
  233. package/types/deps/jsr.io/@std/assert/1.0.8/string_includes.d.ts +0 -18
  234. package/types/deps/jsr.io/@std/assert/1.0.8/string_includes.d.ts.map +0 -1
  235. package/types/deps/jsr.io/@std/assert/1.0.8/throws.d.ts +0 -45
  236. package/types/deps/jsr.io/@std/assert/1.0.8/throws.d.ts.map +0 -1
  237. package/types/deps/jsr.io/@std/assert/1.0.8/unimplemented.d.ts +0 -15
  238. package/types/deps/jsr.io/@std/assert/1.0.8/unimplemented.d.ts.map +0 -1
  239. package/types/deps/jsr.io/@std/assert/1.0.8/unreachable.d.ts +0 -15
  240. package/types/deps/jsr.io/@std/assert/1.0.8/unreachable.d.ts.map +0 -1
  241. package/types/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts +0 -82
  242. package/types/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +0 -1
  243. package/types/deps/jsr.io/@std/internal/1.0.5/diff.d.ts +0 -140
  244. package/types/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +0 -1
  245. package/types/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts +0 -99
  246. package/types/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +0 -1
  247. package/types/deps/jsr.io/@std/internal/1.0.5/format.d.ts +0 -2
  248. package/types/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +0 -1
  249. package/types/deps/jsr.io/@std/internal/1.0.5/styles.d.ts +0 -159
  250. package/types/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +0 -1
  251. package/types/deps/jsr.io/@std/internal/1.0.5/types.d.ts +0 -16
  252. package/types/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +0 -1
  253. package/types/types/Ref.d.ts.map +0 -1
  254. package/types/types/RootTy.d.ts +0 -8
  255. package/types/types/RootTy.d.ts.map +0 -1
  256. package/types/types/Ty.d.ts +0 -27
  257. package/types/types/Ty.d.ts.map +0 -1
  258. package/types/types/leaves.d.ts.map +0 -1
  259. package/types/types/mod.d.ts.map +0 -1
  260. package/types/types/std/Wrapper.d.ts.map +0 -1
  261. /package/{types → esm}/_dnt.polyfills.d.ts +0 -0
  262. /package/{types → esm}/_dnt.polyfills.d.ts.map +0 -0
  263. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/_utils.d.ts +0 -0
  264. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/_utils.d.ts.map +0 -0
  265. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/aggregate_groups.d.ts +0 -0
  266. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/aggregate_groups.d.ts.map +0 -0
  267. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/associate_by.d.ts +0 -0
  268. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/associate_by.d.ts.map +0 -0
  269. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/associate_with.d.ts +0 -0
  270. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/associate_with.d.ts.map +0 -0
  271. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/chunk.d.ts +0 -0
  272. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/chunk.d.ts.map +0 -0
  273. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/deep_merge.d.ts +0 -0
  274. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/deep_merge.d.ts.map +0 -0
  275. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/distinct.d.ts +0 -0
  276. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/distinct.d.ts.map +0 -0
  277. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/distinct_by.d.ts +0 -0
  278. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/distinct_by.d.ts.map +0 -0
  279. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/drop_last_while.d.ts +0 -0
  280. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/drop_last_while.d.ts.map +0 -0
  281. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/drop_while.d.ts +0 -0
  282. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/drop_while.d.ts.map +0 -0
  283. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/filter_entries.d.ts +0 -0
  284. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/filter_entries.d.ts.map +0 -0
  285. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/filter_keys.d.ts +0 -0
  286. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/filter_keys.d.ts.map +0 -0
  287. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/filter_values.d.ts +0 -0
  288. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/filter_values.d.ts.map +0 -0
  289. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/find_single.d.ts +0 -0
  290. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/find_single.d.ts.map +0 -0
  291. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/first_not_nullish_of.d.ts +0 -0
  292. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/first_not_nullish_of.d.ts.map +0 -0
  293. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/includes_value.d.ts +0 -0
  294. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/includes_value.d.ts.map +0 -0
  295. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/intersect.d.ts +0 -0
  296. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/intersect.d.ts.map +0 -0
  297. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/invert.d.ts +0 -0
  298. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/invert.d.ts.map +0 -0
  299. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/invert_by.d.ts +0 -0
  300. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/invert_by.d.ts.map +0 -0
  301. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/join_to_string.d.ts +0 -0
  302. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/join_to_string.d.ts.map +0 -0
  303. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/map_entries.d.ts +0 -0
  304. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/map_entries.d.ts.map +0 -0
  305. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/map_keys.d.ts +0 -0
  306. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/map_keys.d.ts.map +0 -0
  307. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/map_not_nullish.d.ts +0 -0
  308. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/map_not_nullish.d.ts.map +0 -0
  309. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/map_values.d.ts +0 -0
  310. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/map_values.d.ts.map +0 -0
  311. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/max_by.d.ts +0 -0
  312. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/max_by.d.ts.map +0 -0
  313. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/max_of.d.ts +0 -0
  314. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/max_of.d.ts.map +0 -0
  315. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/max_with.d.ts +0 -0
  316. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/max_with.d.ts.map +0 -0
  317. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/min_by.d.ts +0 -0
  318. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/min_by.d.ts.map +0 -0
  319. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/min_of.d.ts +0 -0
  320. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/min_of.d.ts.map +0 -0
  321. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/min_with.d.ts +0 -0
  322. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/min_with.d.ts.map +0 -0
  323. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/mod.d.ts +0 -0
  324. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/mod.d.ts.map +0 -0
  325. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/omit.d.ts +0 -0
  326. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/omit.d.ts.map +0 -0
  327. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/partition.d.ts +0 -0
  328. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/partition.d.ts.map +0 -0
  329. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/partition_entries.d.ts +0 -0
  330. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/partition_entries.d.ts.map +0 -0
  331. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/permutations.d.ts +0 -0
  332. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/permutations.d.ts.map +0 -0
  333. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/pick.d.ts +0 -0
  334. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/pick.d.ts.map +0 -0
  335. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/reduce_groups.d.ts +0 -0
  336. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/reduce_groups.d.ts.map +0 -0
  337. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/running_reduce.d.ts +0 -0
  338. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/running_reduce.d.ts.map +0 -0
  339. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/sample.d.ts +0 -0
  340. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/sample.d.ts.map +0 -0
  341. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/sliding_windows.d.ts +0 -0
  342. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/sliding_windows.d.ts.map +0 -0
  343. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/sort_by.d.ts +0 -0
  344. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/sort_by.d.ts.map +0 -0
  345. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/sum_of.d.ts +0 -0
  346. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/sum_of.d.ts.map +0 -0
  347. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/take_last_while.d.ts +0 -0
  348. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/take_last_while.d.ts.map +0 -0
  349. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/take_while.d.ts +0 -0
  350. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/take_while.d.ts.map +0 -0
  351. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/union.d.ts +0 -0
  352. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/union.d.ts.map +0 -0
  353. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/unzip.d.ts +0 -0
  354. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/unzip.d.ts.map +0 -0
  355. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/without_all.d.ts +0 -0
  356. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/without_all.d.ts.map +0 -0
  357. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/zip.d.ts +0 -0
  358. /package/{types → esm}/deps/jsr.io/@std/collections/1.0.9/zip.d.ts.map +0 -0
  359. /package/{types → esm}/mod.d.ts +0 -0
  360. /package/{types → esm}/mod.d.ts.map +0 -0
  361. /package/{types → esm}/types/Ref.d.ts +0 -0
  362. /package/{types → esm}/types/constant.d.ts +0 -0
  363. /package/{types → esm}/types/constantUnion.d.ts +0 -0
  364. /package/{types → esm}/types/std/Option.d.ts +0 -0
  365. /package/{types → esm}/types/std/Option.d.ts.map +0 -0
  366. /package/{types → esm}/types/std/mod.d.ts +0 -0
  367. /package/{types → esm}/types/std/mod.d.ts.map +0 -0
  368. /package/{types → esm}/util/phantoms.d.ts +0 -0
  369. /package/{types → esm}/util/phantoms.d.ts.map +0 -0
  370. /package/{types → esm}/util/recombineTaggedTemplateArgs.d.ts +0 -0
  371. /package/{types → esm}/util/recombineTaggedTemplateArgs.d.ts.map +0 -0
@@ -1,31 +0,0 @@
1
- // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
2
- // This module is browser compatible.
3
-
4
- /**
5
- * Error thrown when an assertion fails.
6
- *
7
- * @example Usage
8
- * ```ts ignore
9
- * import { AssertionError } from "@std/assert";
10
- *
11
- * try {
12
- * throw new AssertionError("foo", { cause: "bar" });
13
- * } catch (error) {
14
- * if (error instanceof AssertionError) {
15
- * error.message === "foo"; // true
16
- * error.cause === "bar"; // true
17
- * }
18
- * }
19
- * ```
20
- */
21
- export class AssertionError extends Error {
22
- /** Constructs a new instance.
23
- *
24
- * @param message The error message.
25
- * @param options Additional options. This argument is still unstable. It may change in the future release.
26
- */
27
- constructor(message: string, options?: ErrorOptions) {
28
- super(message, options);
29
- this.name = "AssertionError";
30
- }
31
- }
@@ -1,210 +0,0 @@
1
- // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
2
- // This module is browser compatible.
3
- import * as dntShim from "../../../../../_dnt.shims.js";
4
-
5
-
6
- type KeyedCollection = Set<unknown> | Map<unknown, unknown>;
7
- function isKeyedCollection(x: unknown): x is KeyedCollection {
8
- return x instanceof Set || x instanceof Map;
9
- }
10
-
11
- function prototypesEqual(a: object, b: object) {
12
- const pa = Object.getPrototypeOf(a);
13
- const pb = Object.getPrototypeOf(b);
14
- return pa === pb ||
15
- pa === Object.prototype && pb === null ||
16
- pa === null && pb === Object.prototype;
17
- }
18
-
19
- function isBasicObjectOrArray(obj: object) {
20
- const proto = Object.getPrototypeOf(obj);
21
- return proto === null || proto === Object.prototype ||
22
- proto === Array.prototype;
23
- }
24
-
25
- // Slightly faster than Reflect.ownKeys in V8 as of 12.9.202.13-rusty (2024-10-28)
26
- function ownKeys(obj: object) {
27
- return [
28
- ...Object.getOwnPropertyNames(obj),
29
- ...Object.getOwnPropertySymbols(obj),
30
- ];
31
- }
32
-
33
- function getKeysDeep(obj: object) {
34
- const keys = new Set<string | symbol>();
35
-
36
- while (obj !== Object.prototype && obj !== Array.prototype && obj != null) {
37
- for (const key of ownKeys(obj)) {
38
- keys.add(key);
39
- }
40
- obj = Object.getPrototypeOf(obj);
41
- }
42
-
43
- return keys;
44
- }
45
-
46
- // deno-lint-ignore no-explicit-any
47
- const Temporal: any = (dntShim.dntGlobalThis as any).Temporal ??
48
- new Proxy({}, { get: () => {} });
49
-
50
- /** A non-exhaustive list of prototypes that can be accurately fast-path compared with `String(instance)` */
51
- const stringComparablePrototypes = new Set<unknown>(
52
- [
53
- Intl.Locale,
54
- RegExp,
55
- Temporal.Duration,
56
- Temporal.Instant,
57
- Temporal.PlainDate,
58
- Temporal.PlainDateTime,
59
- Temporal.PlainTime,
60
- Temporal.PlainYearMonth,
61
- Temporal.PlainMonthDay,
62
- Temporal.ZonedDateTime,
63
- URL,
64
- URLSearchParams,
65
- ].filter((x) => x != null).map((x) => x.prototype),
66
- );
67
-
68
- function isPrimitive(x: unknown) {
69
- return typeof x === "string" ||
70
- typeof x === "number" ||
71
- typeof x === "boolean" ||
72
- typeof x === "bigint" ||
73
- typeof x === "symbol" ||
74
- x == null;
75
- }
76
-
77
- type TypedArray = Pick<Uint8Array | BigUint64Array, "length" | number>;
78
- const TypedArray = Object.getPrototypeOf(Uint8Array);
79
- function compareTypedArrays(a: TypedArray, b: TypedArray) {
80
- if (a.length !== b.length) return false;
81
- for (let i = 0; i < b.length; i++) {
82
- if (!sameValueZero(a[i], b[i])) return false;
83
- }
84
- return true;
85
- }
86
-
87
- /** Check both strict equality (`0 == -0`) and `Object.is` (`NaN == NaN`) */
88
- function sameValueZero(a: unknown, b: unknown) {
89
- return a === b || Object.is(a, b);
90
- }
91
-
92
- /**
93
- * Deep equality comparison used in assertions.
94
- *
95
- * @param a The actual value
96
- * @param b The expected value
97
- * @returns `true` if the values are deeply equal, `false` otherwise
98
- *
99
- * @example Usage
100
- * ```ts
101
- * import { equal } from "@std/assert/equal";
102
- *
103
- * equal({ foo: "bar" }, { foo: "bar" }); // Returns `true`
104
- * equal({ foo: "bar" }, { foo: "baz" }); // Returns `false`
105
- * ```
106
- */
107
- export function equal(a: unknown, b: unknown): boolean {
108
- const seen = new Map<unknown, unknown>();
109
- return (function compare(a: unknown, b: unknown): boolean {
110
- if (sameValueZero(a, b)) return true;
111
- if (isPrimitive(a) || isPrimitive(b)) return false;
112
-
113
- if (a instanceof Date && b instanceof Date) {
114
- return Object.is(a.getTime(), b.getTime());
115
- }
116
- if (a && typeof a === "object" && b && typeof b === "object") {
117
- if (!prototypesEqual(a, b)) {
118
- return false;
119
- }
120
- if (a instanceof TypedArray) {
121
- return compareTypedArrays(a as TypedArray, b as TypedArray);
122
- }
123
- if (a instanceof WeakMap) {
124
- throw new TypeError("cannot compare WeakMap instances");
125
- }
126
- if (a instanceof WeakSet) {
127
- throw new TypeError("cannot compare WeakSet instances");
128
- }
129
- if (a instanceof WeakRef) {
130
- return compare(a.deref(), (b as WeakRef<WeakKey>).deref());
131
- }
132
- if (seen.get(a) === b) {
133
- return true;
134
- }
135
- if (Object.keys(a).length !== Object.keys(b).length) {
136
- return false;
137
- }
138
- seen.set(a, b);
139
- if (isKeyedCollection(a) && isKeyedCollection(b)) {
140
- if (a.size !== b.size) {
141
- return false;
142
- }
143
-
144
- const aKeys = [...a.keys()];
145
- const primitiveKeysFastPath = aKeys.every(isPrimitive);
146
- if (primitiveKeysFastPath) {
147
- if (a instanceof Set) {
148
- return a.symmetricDifference(b).size === 0;
149
- }
150
-
151
- for (const key of aKeys) {
152
- if (
153
- !b.has(key) ||
154
- !compare(a.get(key), (b as Map<unknown, unknown>).get(key))
155
- ) {
156
- return false;
157
- }
158
- }
159
- return true;
160
- }
161
-
162
- let unmatchedEntries = a.size;
163
-
164
- for (const [aKey, aValue] of a.entries()) {
165
- for (const [bKey, bValue] of b.entries()) {
166
- /* Given that Map keys can be references, we need
167
- * to ensure that they are also deeply equal */
168
-
169
- if (!compare(aKey, bKey)) continue;
170
-
171
- if (
172
- (aKey === aValue && bKey === bValue) ||
173
- (compare(aValue, bValue))
174
- ) {
175
- unmatchedEntries--;
176
- break;
177
- }
178
- }
179
- }
180
-
181
- return unmatchedEntries === 0;
182
- }
183
-
184
- let keys: Iterable<string | symbol>;
185
-
186
- if (isBasicObjectOrArray(a)) {
187
- // fast path
188
- keys = ownKeys({ ...a, ...b });
189
- } else if (stringComparablePrototypes.has(Object.getPrototypeOf(a))) {
190
- // medium path
191
- return String(a) === String(b);
192
- } else {
193
- // slow path
194
- keys = getKeysDeep(a).union(getKeysDeep(b));
195
- }
196
-
197
- for (const key of keys) {
198
- type Key = keyof typeof a;
199
- if (!compare(a[key as Key], b[key as Key])) {
200
- return false;
201
- }
202
- if (((key in a) && (!(key in b))) || ((key in b) && (!(key in a)))) {
203
- return false;
204
- }
205
- }
206
- return true;
207
- }
208
- return false;
209
- })(a, b);
210
- }
@@ -1,52 +0,0 @@
1
- // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
2
- // This module is browser compatible.
3
- import { equal } from "./equal.js";
4
- import { buildMessage } from "../../internal/1.0.5/build_message.js";
5
- import { diff } from "../../internal/1.0.5/diff.js";
6
- import { diffStr } from "../../internal/1.0.5/diff_str.js";
7
- import { format } from "../../internal/1.0.5/format.js";
8
-
9
- import { AssertionError } from "./assertion_error.js";
10
-
11
- /**
12
- * Make an assertion that `actual` and `expected` are equal, deeply. If not
13
- * deeply equal, then throw.
14
- *
15
- * Type parameter can be specified to ensure values under comparison have the
16
- * same type.
17
- *
18
- * @example Usage
19
- * ```ts ignore
20
- * import { assertEquals } from "@std/assert";
21
- *
22
- * assertEquals("world", "world"); // Doesn't throw
23
- * assertEquals("hello", "world"); // Throws
24
- * ```
25
- *
26
- * @typeParam T The type of the values to compare. This is usually inferred.
27
- * @param actual The actual value to compare.
28
- * @param expected The expected value to compare.
29
- * @param msg The optional message to display if the assertion fails.
30
- */
31
- export function assertEquals<T>(
32
- actual: T,
33
- expected: T,
34
- msg?: string,
35
- ) {
36
- if (equal(actual, expected)) {
37
- return;
38
- }
39
- const msgSuffix = msg ? `: ${msg}` : ".";
40
- let message = `Values are not equal${msgSuffix}`;
41
-
42
- const actualString = format(actual);
43
- const expectedString = format(expected);
44
- const stringDiff = (typeof actual === "string") &&
45
- (typeof expected === "string");
46
- const diffResult = stringDiff
47
- ? diffStr(actual as string, expected as string)
48
- : diff(actualString.split("\n"), expectedString.split("\n"));
49
- const diffMsg = buildMessage(diffResult, { stringDiff }).join("\n");
50
- message = `${message}\n${diffMsg}`;
51
- throw new AssertionError(message);
52
- }
@@ -1,31 +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 is not null or undefined.
7
- * If not then throw.
8
- *
9
- * @example Usage
10
- * ```ts ignore
11
- * import { assertExists } from "@std/assert";
12
- *
13
- * assertExists("something"); // Doesn't throw
14
- * assertExists(undefined); // Throws
15
- * ```
16
- *
17
- * @typeParam T The type of the actual value.
18
- * @param actual The actual value to check.
19
- * @param msg The optional message to include in the error if the assertion fails.
20
- */
21
- export function assertExists<T>(
22
- actual: T,
23
- msg?: string,
24
- ): asserts actual is NonNullable<T> {
25
- if (actual === undefined || actual === null) {
26
- const msgSuffix = msg ? `: ${msg}` : ".";
27
- msg =
28
- `Expected actual: "${actual}" to not be null or undefined${msgSuffix}`;
29
- throw new AssertionError(msg);
30
- }
31
- }
@@ -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
- * Forcefully throws a failed assertion.
7
- *
8
- * @example Usage
9
- * ```ts ignore
10
- * import { fail } from "@std/assert";
11
- *
12
- * fail("Deliberately failed!"); // Throws
13
- * ```
14
- *
15
- * @param msg Optional message to include in the error.
16
- * @returns Never returns, always throws.
17
- */
18
- export function fail(msg?: string): never {
19
- const msgSuffix = msg ? `: ${msg}` : ".";
20
- throw new AssertionError(`Failed assertion${msgSuffix}`);
21
- }
@@ -1,26 +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
- /** Assertion condition for {@linkcode assertFalse}. */
6
- export type Falsy = false | 0 | 0n | "" | null | undefined;
7
-
8
- /**
9
- * Make an assertion, error will be thrown if `expr` have truthy value.
10
- *
11
- * @example Usage
12
- * ```ts ignore
13
- * import { assertFalse } from "@std/assert";
14
- *
15
- * assertFalse(false); // Doesn't throw
16
- * assertFalse(true); // Throws
17
- * ```
18
- *
19
- * @param expr The expression to test.
20
- * @param msg The optional message to display if the assertion fails.
21
- */
22
- export function assertFalse(expr: unknown, msg = ""): asserts expr is Falsy {
23
- if (expr) {
24
- throw new AssertionError(msg);
25
- }
26
- }
@@ -1,30 +0,0 @@
1
- // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
2
- // This module is browser compatible.
3
- import { format } from "../../internal/1.0.5/format.js";
4
- import { AssertionError } from "./assertion_error.js";
5
-
6
- /**
7
- * Make an assertion that `actual` is greater than `expected`.
8
- * If not then throw.
9
- *
10
- * @example Usage
11
- * ```ts ignore
12
- * import { assertGreater } from "@std/assert";
13
- *
14
- * assertGreater(2, 1); // Doesn't throw
15
- * assertGreater(1, 1); // Throws
16
- * assertGreater(0, 1); // Throws
17
- * ```
18
- *
19
- * @typeParam T The type of the values to compare.
20
- * @param actual The actual value to compare.
21
- * @param expected The expected value to compare.
22
- * @param msg The optional message to display if the assertion fails.
23
- */
24
- export function assertGreater<T>(actual: T, expected: T, msg?: string) {
25
- if (actual > expected) return;
26
-
27
- const actualString = format(actual);
28
- const expectedString = format(expected);
29
- throw new AssertionError(msg ?? `Expect ${actualString} > ${expectedString}`);
30
- }
@@ -1,36 +0,0 @@
1
- // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
2
- // This module is browser compatible.
3
- import { format } from "../../internal/1.0.5/format.js";
4
- import { AssertionError } from "./assertion_error.js";
5
-
6
- /**
7
- * Make an assertion that `actual` is greater than or equal to `expected`.
8
- * If not then throw.
9
- *
10
- * @example Usage
11
- * ```ts ignore
12
- * import { assertGreaterOrEqual } from "@std/assert";
13
- *
14
- * assertGreaterOrEqual(2, 1); // Doesn't throw
15
- * assertGreaterOrEqual(1, 1); // Doesn't throw
16
- * assertGreaterOrEqual(0, 1); // Throws
17
- * ```
18
- *
19
- * @typeParam T The type of the values to compare.
20
- * @param actual The actual value to compare.
21
- * @param expected The expected value to compare.
22
- * @param msg The optional message to display if the assertion fails.
23
- */
24
- export function assertGreaterOrEqual<T>(
25
- actual: T,
26
- expected: T,
27
- msg?: string,
28
- ) {
29
- if (actual >= expected) return;
30
-
31
- const actualString = format(actual);
32
- const expectedString = format(expected);
33
- throw new AssertionError(
34
- msg ?? `Expect ${actualString} >= ${expectedString}`,
35
- );
36
- }
@@ -1,64 +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
- /** Any constructor */
6
- // deno-lint-ignore no-explicit-any
7
- export type AnyConstructor = new (...args: any[]) => any;
8
- /** Gets constructor type */
9
- export type GetConstructorType<T extends AnyConstructor> = InstanceType<T>;
10
-
11
- /**
12
- * Make an assertion that `obj` is an instance of `type`.
13
- * If not then throw.
14
- *
15
- * @example Usage
16
- * ```ts ignore
17
- * import { assertInstanceOf } from "@std/assert";
18
- *
19
- * assertInstanceOf(new Date(), Date); // Doesn't throw
20
- * assertInstanceOf(new Date(), Number); // Throws
21
- * ```
22
- *
23
- * @typeParam T The expected type of the object.
24
- * @param actual The object to check.
25
- * @param expectedType The expected class constructor.
26
- * @param msg The optional message to display if the assertion fails.
27
- */
28
- export function assertInstanceOf<
29
- // deno-lint-ignore no-explicit-any
30
- T extends abstract new (...args: any[]) => any,
31
- >(
32
- actual: unknown,
33
- expectedType: T,
34
- msg = "",
35
- ): asserts actual is InstanceType<T> {
36
- if (actual instanceof expectedType) return;
37
-
38
- const msgSuffix = msg ? `: ${msg}` : ".";
39
- const expectedTypeStr = expectedType.name;
40
-
41
- let actualTypeStr = "";
42
- if (actual === null) {
43
- actualTypeStr = "null";
44
- } else if (actual === undefined) {
45
- actualTypeStr = "undefined";
46
- } else if (typeof actual === "object") {
47
- actualTypeStr = actual.constructor?.name ?? "Object";
48
- } else {
49
- actualTypeStr = typeof actual;
50
- }
51
-
52
- if (expectedTypeStr === actualTypeStr) {
53
- msg =
54
- `Expected object to be an instance of "${expectedTypeStr}"${msgSuffix}`;
55
- } else if (actualTypeStr === "function") {
56
- msg =
57
- `Expected object to be an instance of "${expectedTypeStr}" but was not an instanced object${msgSuffix}`;
58
- } else {
59
- msg =
60
- `Expected object to be an instance of "${expectedTypeStr}" but was "${actualTypeStr}"${msgSuffix}`;
61
- }
62
-
63
- throw new AssertionError(msg);
64
- }
@@ -1,65 +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 { stripAnsiCode } from "../../internal/1.0.5/styles.js";
5
-
6
- /**
7
- * Make an assertion that `error` is an `Error`.
8
- * If not then an error will be thrown.
9
- * An error class and a string that should be included in the
10
- * error message can also be asserted.
11
- *
12
- * @example Usage
13
- * ```ts ignore
14
- * import { assertIsError } from "@std/assert";
15
- *
16
- * assertIsError(null); // Throws
17
- * assertIsError(new RangeError("Out of range")); // Doesn't throw
18
- * assertIsError(new RangeError("Out of range"), SyntaxError); // Throws
19
- * assertIsError(new RangeError("Out of range"), SyntaxError, "Out of range"); // Doesn't throw
20
- * assertIsError(new RangeError("Out of range"), SyntaxError, "Within range"); // Throws
21
- * ```
22
- *
23
- * @typeParam E The type of the error to assert.
24
- * @param error The error to assert.
25
- * @param ErrorClass The optional error class to assert.
26
- * @param msgMatches The optional string or RegExp to assert in the error message.
27
- * @param msg The optional message to display if the assertion fails.
28
- */
29
- export function assertIsError<E extends Error = Error>(
30
- error: unknown,
31
- // deno-lint-ignore no-explicit-any
32
- ErrorClass?: abstract new (...args: any[]) => E,
33
- msgMatches?: string | RegExp,
34
- msg?: string,
35
- ): asserts error is E {
36
- const msgSuffix = msg ? `: ${msg}` : ".";
37
- if (!(error instanceof Error)) {
38
- throw new AssertionError(
39
- `Expected "error" to be an Error object${msgSuffix}`,
40
- );
41
- }
42
- if (ErrorClass && !(error instanceof ErrorClass)) {
43
- msg =
44
- `Expected error to be instance of "${ErrorClass.name}", but was "${error?.constructor?.name}"${msgSuffix}`;
45
- throw new AssertionError(msg);
46
- }
47
- let msgCheck;
48
- if (typeof msgMatches === "string") {
49
- msgCheck = stripAnsiCode(error.message).includes(
50
- stripAnsiCode(msgMatches),
51
- );
52
- }
53
- if (msgMatches instanceof RegExp) {
54
- msgCheck = msgMatches.test(stripAnsiCode(error.message));
55
- }
56
-
57
- if (msgMatches && !msgCheck) {
58
- msg = `Expected error message to include ${
59
- msgMatches instanceof RegExp
60
- ? msgMatches.toString()
61
- : JSON.stringify(msgMatches)
62
- }, but got ${JSON.stringify(error?.message)}${msgSuffix}`;
63
- throw new AssertionError(msg);
64
- }
65
- }
@@ -1,29 +0,0 @@
1
- // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
2
- // This module is browser compatible.
3
- import { format } from "../../internal/1.0.5/format.js";
4
- import { AssertionError } from "./assertion_error.js";
5
-
6
- /**
7
- * Make an assertion that `actual` is less than `expected`.
8
- * If not then throw.
9
- *
10
- * @example Usage
11
- * ```ts ignore
12
- * import { assertLess } from "@std/assert";
13
- *
14
- * assertLess(1, 2); // Doesn't throw
15
- * assertLess(2, 1); // Throws
16
- * ```
17
- *
18
- * @typeParam T The type of the values to compare.
19
- * @param actual The actual value to compare.
20
- * @param expected The expected value to compare.
21
- * @param msg The optional message to display if the assertion fails.
22
- */
23
- export function assertLess<T>(actual: T, expected: T, msg?: string) {
24
- if (actual < expected) return;
25
-
26
- const actualString = format(actual);
27
- const expectedString = format(expected);
28
- throw new AssertionError(msg ?? `Expect ${actualString} < ${expectedString}`);
29
- }
@@ -1,36 +0,0 @@
1
- // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
2
- // This module is browser compatible.
3
- import { format } from "../../internal/1.0.5/format.js";
4
- import { AssertionError } from "./assertion_error.js";
5
-
6
- /**
7
- * Make an assertion that `actual` is less than or equal to `expected`.
8
- * If not then throw.
9
- *
10
- * @example Usage
11
- * ```ts ignore
12
- * import { assertLessOrEqual } from "@std/assert";
13
- *
14
- * assertLessOrEqual(1, 2); // Doesn't throw
15
- * assertLessOrEqual(1, 1); // Doesn't throw
16
- * assertLessOrEqual(1, 0); // Throws
17
- * ```
18
- *
19
- * @typeParam T The type of the values to compare.
20
- * @param actual The actual value to compare.
21
- * @param expected The expected value to compare.
22
- * @param msg The optional message to display if the assertion fails.
23
- */
24
- export function assertLessOrEqual<T>(
25
- actual: T,
26
- expected: T,
27
- msg?: string,
28
- ) {
29
- if (actual <= expected) return;
30
-
31
- const actualString = format(actual);
32
- const expectedString = format(expected);
33
- throw new AssertionError(
34
- msg ?? `Expect ${actualString} <= ${expectedString}`,
35
- );
36
- }
@@ -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` match RegExp `expected`. If not
7
- * then throw.
8
- *
9
- * @example Usage
10
- * ```ts ignore
11
- * import { assertMatch } from "@std/assert";
12
- *
13
- * assertMatch("Raptor", /Raptor/); // Doesn't throw
14
- * assertMatch("Denosaurus", /Raptor/); // Throws
15
- * ```
16
- *
17
- * @param actual The actual value to be matched.
18
- * @param expected The expected pattern to match.
19
- * @param msg The optional message to display if the assertion fails.
20
- */
21
- export function assertMatch(
22
- actual: string,
23
- expected: RegExp,
24
- msg?: string,
25
- ) {
26
- if (expected.test(actual)) return;
27
- const msgSuffix = msg ? `: ${msg}` : ".";
28
- msg = `Expected actual: "${actual}" to match: "${expected}"${msgSuffix}`;
29
- throw new AssertionError(msg);
30
- }