bupkis 0.18.3 → 1.0.0

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 (388) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +1 -1
  3. package/dist/assertion/assertion-async.cjs +268 -0
  4. package/dist/assertion/assertion-async.cjs.map +1 -0
  5. package/dist/assertion/assertion-async.d.cts +40 -0
  6. package/dist/assertion/assertion-async.d.cts.map +1 -0
  7. package/dist/assertion/assertion-async.d.ts +40 -0
  8. package/dist/assertion/assertion-async.d.ts.map +1 -0
  9. package/dist/assertion/assertion-async.js +259 -0
  10. package/dist/assertion/assertion-async.js.map +1 -0
  11. package/dist/assertion/assertion-standard-schema-async.cjs +132 -0
  12. package/dist/assertion/assertion-standard-schema-async.cjs.map +1 -0
  13. package/dist/assertion/assertion-standard-schema-async.d.cts +52 -0
  14. package/dist/assertion/assertion-standard-schema-async.d.cts.map +1 -0
  15. package/dist/assertion/assertion-standard-schema-async.d.ts +52 -0
  16. package/dist/assertion/assertion-standard-schema-async.d.ts.map +1 -0
  17. package/dist/assertion/assertion-standard-schema-async.js +128 -0
  18. package/dist/assertion/assertion-standard-schema-async.js.map +1 -0
  19. package/dist/assertion/assertion-standard-schema-sync.cjs +141 -0
  20. package/dist/assertion/assertion-standard-schema-sync.cjs.map +1 -0
  21. package/dist/assertion/assertion-standard-schema-sync.d.cts +52 -0
  22. package/dist/assertion/assertion-standard-schema-sync.d.cts.map +1 -0
  23. package/dist/assertion/assertion-standard-schema-sync.d.ts +52 -0
  24. package/dist/assertion/assertion-standard-schema-sync.d.ts.map +1 -0
  25. package/dist/assertion/assertion-standard-schema-sync.js +137 -0
  26. package/dist/assertion/assertion-standard-schema-sync.js.map +1 -0
  27. package/dist/assertion/assertion-sync.cjs +281 -0
  28. package/dist/assertion/assertion-sync.cjs.map +1 -0
  29. package/dist/assertion/assertion-sync.d.cts +60 -0
  30. package/dist/assertion/assertion-sync.d.cts.map +1 -0
  31. package/dist/assertion/assertion-sync.d.ts +60 -0
  32. package/dist/assertion/assertion-sync.d.ts.map +1 -0
  33. package/dist/assertion/assertion-sync.js +275 -0
  34. package/dist/assertion/assertion-sync.js.map +1 -0
  35. package/dist/assertion/assertion-types.cjs +20 -0
  36. package/dist/assertion/assertion-types.cjs.map +1 -0
  37. package/dist/assertion/assertion-types.d.cts +1086 -0
  38. package/dist/assertion/assertion-types.d.cts.map +1 -0
  39. package/dist/assertion/assertion-types.d.ts +1086 -0
  40. package/dist/assertion/assertion-types.d.ts.map +1 -0
  41. package/dist/assertion/assertion-types.js +19 -0
  42. package/dist/assertion/assertion-types.js.map +1 -0
  43. package/dist/assertion/assertion.cjs +382 -0
  44. package/dist/assertion/assertion.cjs.map +1 -0
  45. package/dist/assertion/assertion.d.cts +109 -0
  46. package/dist/assertion/assertion.d.cts.map +1 -0
  47. package/dist/assertion/assertion.d.ts +109 -0
  48. package/dist/assertion/assertion.d.ts.map +1 -0
  49. package/dist/assertion/assertion.js +375 -0
  50. package/dist/assertion/assertion.js.map +1 -0
  51. package/dist/assertion/create.cjs +148 -0
  52. package/dist/assertion/create.cjs.map +1 -0
  53. package/dist/assertion/create.d.cts +85 -0
  54. package/dist/assertion/create.d.cts.map +1 -0
  55. package/dist/assertion/create.d.ts +85 -0
  56. package/dist/assertion/create.d.ts.map +1 -0
  57. package/dist/assertion/create.js +143 -0
  58. package/dist/assertion/create.js.map +1 -0
  59. package/dist/assertion/format-assertion-failure.cjs +63 -0
  60. package/dist/assertion/format-assertion-failure.cjs.map +1 -0
  61. package/dist/assertion/format-assertion-failure.d.cts +21 -0
  62. package/dist/assertion/format-assertion-failure.d.cts.map +1 -0
  63. package/dist/assertion/format-assertion-failure.d.ts +21 -0
  64. package/dist/assertion/format-assertion-failure.d.ts.map +1 -0
  65. package/dist/assertion/format-assertion-failure.js +59 -0
  66. package/dist/assertion/format-assertion-failure.js.map +1 -0
  67. package/dist/assertion/impl/assertion-util.cjs +68 -0
  68. package/dist/assertion/impl/assertion-util.cjs.map +1 -0
  69. package/dist/assertion/impl/assertion-util.d.cts +36 -0
  70. package/dist/assertion/impl/assertion-util.d.cts.map +1 -0
  71. package/dist/assertion/impl/assertion-util.d.ts +36 -0
  72. package/dist/assertion/impl/assertion-util.d.ts.map +1 -0
  73. package/dist/assertion/impl/assertion-util.js +62 -0
  74. package/dist/assertion/impl/assertion-util.js.map +1 -0
  75. package/dist/assertion/impl/async-iterable.cjs +627 -0
  76. package/dist/assertion/impl/async-iterable.cjs.map +1 -0
  77. package/dist/assertion/impl/async-iterable.d.cts +406 -0
  78. package/dist/assertion/impl/async-iterable.d.cts.map +1 -0
  79. package/dist/assertion/impl/async-iterable.d.ts +406 -0
  80. package/dist/assertion/impl/async-iterable.d.ts.map +1 -0
  81. package/dist/assertion/impl/async-iterable.js +624 -0
  82. package/dist/assertion/impl/async-iterable.js.map +1 -0
  83. package/dist/assertion/impl/async-parametric.cjs +412 -0
  84. package/dist/assertion/impl/async-parametric.cjs.map +1 -0
  85. package/dist/assertion/impl/async-parametric.d.cts +278 -0
  86. package/dist/assertion/impl/async-parametric.d.cts.map +1 -0
  87. package/dist/assertion/impl/async-parametric.d.ts +278 -0
  88. package/dist/assertion/impl/async-parametric.d.ts.map +1 -0
  89. package/dist/assertion/impl/async-parametric.js +409 -0
  90. package/dist/assertion/impl/async-parametric.js.map +1 -0
  91. package/dist/assertion/impl/async.cjs +56 -0
  92. package/dist/assertion/impl/async.cjs.map +1 -0
  93. package/dist/assertion/impl/async.d.cts +179 -0
  94. package/dist/assertion/impl/async.d.cts.map +1 -0
  95. package/dist/assertion/impl/async.d.ts +179 -0
  96. package/dist/assertion/impl/async.d.ts.map +1 -0
  97. package/dist/assertion/impl/async.js +39 -0
  98. package/dist/assertion/impl/async.js.map +1 -0
  99. package/dist/assertion/impl/index.cjs +37 -0
  100. package/dist/assertion/impl/index.cjs.map +1 -0
  101. package/dist/assertion/impl/index.d.cts +21 -0
  102. package/dist/assertion/impl/index.d.cts.map +1 -0
  103. package/dist/assertion/impl/index.d.ts +21 -0
  104. package/dist/assertion/impl/index.d.ts.map +1 -0
  105. package/dist/assertion/impl/index.js +21 -0
  106. package/dist/assertion/impl/index.js.map +1 -0
  107. package/dist/assertion/impl/iteration-util.cjs +297 -0
  108. package/dist/assertion/impl/iteration-util.cjs.map +1 -0
  109. package/dist/assertion/impl/iteration-util.d.cts +12 -0
  110. package/dist/assertion/impl/iteration-util.d.cts.map +1 -0
  111. package/dist/assertion/impl/iteration-util.d.ts +12 -0
  112. package/dist/assertion/impl/iteration-util.d.ts.map +1 -0
  113. package/dist/assertion/impl/iteration-util.js +282 -0
  114. package/dist/assertion/impl/iteration-util.js.map +1 -0
  115. package/dist/assertion/impl/snapshot.cjs +276 -0
  116. package/dist/assertion/impl/snapshot.cjs.map +1 -0
  117. package/dist/assertion/impl/snapshot.d.cts +278 -0
  118. package/dist/assertion/impl/snapshot.d.cts.map +1 -0
  119. package/dist/assertion/impl/snapshot.d.ts +278 -0
  120. package/dist/assertion/impl/snapshot.d.ts.map +1 -0
  121. package/dist/assertion/impl/snapshot.js +273 -0
  122. package/dist/assertion/impl/snapshot.js.map +1 -0
  123. package/dist/assertion/impl/sync-basic.cjs +553 -0
  124. package/dist/assertion/impl/sync-basic.cjs.map +1 -0
  125. package/dist/assertion/impl/sync-basic.d.cts +528 -0
  126. package/dist/assertion/impl/sync-basic.d.cts.map +1 -0
  127. package/dist/assertion/impl/sync-basic.d.ts +528 -0
  128. package/dist/assertion/impl/sync-basic.d.ts.map +1 -0
  129. package/dist/assertion/impl/sync-basic.js +550 -0
  130. package/dist/assertion/impl/sync-basic.js.map +1 -0
  131. package/dist/assertion/impl/sync-collection.cjs +1424 -0
  132. package/dist/assertion/impl/sync-collection.cjs.map +1 -0
  133. package/dist/assertion/impl/sync-collection.d.cts +922 -0
  134. package/dist/assertion/impl/sync-collection.d.cts.map +1 -0
  135. package/dist/assertion/impl/sync-collection.d.ts +922 -0
  136. package/dist/assertion/impl/sync-collection.d.ts.map +1 -0
  137. package/dist/assertion/impl/sync-collection.js +1418 -0
  138. package/dist/assertion/impl/sync-collection.js.map +1 -0
  139. package/dist/assertion/impl/sync-date.cjs +341 -0
  140. package/dist/assertion/impl/sync-date.cjs.map +1 -0
  141. package/dist/assertion/impl/sync-date.d.cts +209 -0
  142. package/dist/assertion/impl/sync-date.d.cts.map +1 -0
  143. package/dist/assertion/impl/sync-date.d.ts +209 -0
  144. package/dist/assertion/impl/sync-date.d.ts.map +1 -0
  145. package/dist/assertion/impl/sync-date.js +338 -0
  146. package/dist/assertion/impl/sync-date.js.map +1 -0
  147. package/dist/assertion/impl/sync-esoteric.cjs +214 -0
  148. package/dist/assertion/impl/sync-esoteric.cjs.map +1 -0
  149. package/dist/assertion/impl/sync-esoteric.d.cts +191 -0
  150. package/dist/assertion/impl/sync-esoteric.d.cts.map +1 -0
  151. package/dist/assertion/impl/sync-esoteric.d.ts +191 -0
  152. package/dist/assertion/impl/sync-esoteric.d.ts.map +1 -0
  153. package/dist/assertion/impl/sync-esoteric.js +211 -0
  154. package/dist/assertion/impl/sync-esoteric.js.map +1 -0
  155. package/dist/assertion/impl/sync-iterable.cjs +512 -0
  156. package/dist/assertion/impl/sync-iterable.cjs.map +1 -0
  157. package/dist/assertion/impl/sync-iterable.d.cts +334 -0
  158. package/dist/assertion/impl/sync-iterable.d.cts.map +1 -0
  159. package/dist/assertion/impl/sync-iterable.d.ts +334 -0
  160. package/dist/assertion/impl/sync-iterable.d.ts.map +1 -0
  161. package/dist/assertion/impl/sync-iterable.js +509 -0
  162. package/dist/assertion/impl/sync-iterable.js.map +1 -0
  163. package/dist/assertion/impl/sync-parametric.cjs +805 -0
  164. package/dist/assertion/impl/sync-parametric.cjs.map +1 -0
  165. package/dist/assertion/impl/sync-parametric.d.cts +560 -0
  166. package/dist/assertion/impl/sync-parametric.d.cts.map +1 -0
  167. package/dist/assertion/impl/sync-parametric.d.ts +560 -0
  168. package/dist/assertion/impl/sync-parametric.d.ts.map +1 -0
  169. package/dist/assertion/impl/sync-parametric.js +802 -0
  170. package/dist/assertion/impl/sync-parametric.js.map +1 -0
  171. package/dist/assertion/impl/sync.cjs +229 -0
  172. package/dist/assertion/impl/sync.cjs.map +1 -0
  173. package/dist/assertion/impl/sync.d.cts +536 -0
  174. package/dist/assertion/impl/sync.d.cts.map +1 -0
  175. package/dist/assertion/impl/sync.d.ts +536 -0
  176. package/dist/assertion/impl/sync.d.ts.map +1 -0
  177. package/dist/assertion/impl/sync.js +212 -0
  178. package/dist/assertion/impl/sync.js.map +1 -0
  179. package/dist/assertion/index.cjs +38 -0
  180. package/dist/assertion/index.cjs.map +1 -0
  181. package/dist/assertion/index.d.cts +18 -0
  182. package/dist/assertion/index.d.cts.map +1 -0
  183. package/dist/assertion/index.d.ts +18 -0
  184. package/dist/assertion/index.d.ts.map +1 -0
  185. package/dist/assertion/index.js +17 -0
  186. package/dist/assertion/index.js.map +1 -0
  187. package/dist/assertion/slotify.cjs +165 -0
  188. package/dist/assertion/slotify.cjs.map +1 -0
  189. package/dist/assertion/slotify.d.cts +11 -0
  190. package/dist/assertion/slotify.d.cts.map +1 -0
  191. package/dist/assertion/slotify.d.ts +11 -0
  192. package/dist/assertion/slotify.d.ts.map +1 -0
  193. package/dist/assertion/slotify.js +161 -0
  194. package/dist/assertion/slotify.js.map +1 -0
  195. package/dist/bootstrap.cjs +43 -0
  196. package/dist/bootstrap.cjs.map +1 -0
  197. package/dist/bootstrap.d.cts +27 -0
  198. package/dist/bootstrap.d.cts.map +1 -0
  199. package/dist/bootstrap.d.ts +27 -0
  200. package/dist/bootstrap.d.ts.map +1 -0
  201. package/dist/bootstrap.js +40 -0
  202. package/dist/bootstrap.js.map +1 -0
  203. package/dist/constant.cjs +82 -0
  204. package/dist/constant.cjs.map +1 -0
  205. package/dist/constant.d.cts +69 -0
  206. package/dist/constant.d.cts.map +1 -0
  207. package/dist/constant.d.ts +69 -0
  208. package/dist/constant.d.ts.map +1 -0
  209. package/dist/constant.js +79 -0
  210. package/dist/constant.js.map +1 -0
  211. package/dist/diff.cjs +340 -0
  212. package/dist/diff.cjs.map +1 -0
  213. package/dist/diff.d.cts +51 -0
  214. package/dist/diff.d.cts.map +1 -0
  215. package/dist/diff.d.ts +51 -0
  216. package/dist/diff.d.ts.map +1 -0
  217. package/dist/diff.js +334 -0
  218. package/dist/diff.js.map +1 -0
  219. package/dist/error.cjs +194 -0
  220. package/dist/error.cjs.map +1 -0
  221. package/dist/error.d.cts +212 -0
  222. package/dist/error.d.cts.map +1 -0
  223. package/dist/error.d.ts +212 -0
  224. package/dist/error.d.ts.map +1 -0
  225. package/dist/error.js +181 -0
  226. package/dist/error.js.map +1 -0
  227. package/dist/expect.cjs +587 -0
  228. package/dist/expect.cjs.map +1 -0
  229. package/dist/expect.d.cts +138 -0
  230. package/dist/expect.d.cts.map +1 -0
  231. package/dist/expect.d.ts +138 -0
  232. package/dist/expect.d.ts.map +1 -0
  233. package/dist/expect.js +582 -0
  234. package/dist/expect.js.map +1 -0
  235. package/dist/guards.cjs +291 -0
  236. package/dist/guards.cjs.map +1 -0
  237. package/dist/guards.d.cts +225 -0
  238. package/dist/guards.d.cts.map +1 -0
  239. package/dist/guards.d.ts +225 -0
  240. package/dist/guards.d.ts.map +1 -0
  241. package/dist/guards.js +273 -0
  242. package/dist/guards.js.map +1 -0
  243. package/dist/index.cjs +111 -0
  244. package/dist/index.cjs.map +1 -0
  245. package/dist/index.d.cts +460 -0
  246. package/dist/index.d.cts.map +1 -0
  247. package/dist/index.d.ts +460 -0
  248. package/dist/index.d.ts.map +1 -0
  249. package/dist/index.js +71 -0
  250. package/dist/index.js.map +1 -0
  251. package/dist/internal-schema.cjs +234 -0
  252. package/dist/internal-schema.cjs.map +1 -0
  253. package/dist/internal-schema.d.cts +8 -0
  254. package/dist/internal-schema.d.cts.map +1 -0
  255. package/dist/internal-schema.d.ts +8 -0
  256. package/dist/internal-schema.d.ts.map +1 -0
  257. package/dist/internal-schema.js +229 -0
  258. package/dist/internal-schema.js.map +1 -0
  259. package/dist/metadata.cjs +57 -0
  260. package/dist/metadata.cjs.map +1 -0
  261. package/dist/metadata.d.cts +27 -0
  262. package/dist/metadata.d.cts.map +1 -0
  263. package/dist/metadata.d.ts +27 -0
  264. package/dist/metadata.d.ts.map +1 -0
  265. package/dist/metadata.js +54 -0
  266. package/dist/metadata.js.map +1 -0
  267. package/dist/schema.cjs +1522 -0
  268. package/dist/schema.cjs.map +1 -0
  269. package/dist/schema.d.cts +1196 -0
  270. package/dist/schema.d.cts.map +1 -0
  271. package/dist/schema.d.ts +1196 -0
  272. package/dist/schema.d.ts.map +1 -0
  273. package/dist/schema.js +1516 -0
  274. package/dist/schema.js.map +1 -0
  275. package/dist/snapshot/adapter.cjs +29 -0
  276. package/dist/snapshot/adapter.cjs.map +1 -0
  277. package/dist/snapshot/adapter.d.cts +258 -0
  278. package/dist/snapshot/adapter.d.cts.map +1 -0
  279. package/dist/snapshot/adapter.d.ts +258 -0
  280. package/dist/snapshot/adapter.d.ts.map +1 -0
  281. package/dist/snapshot/adapter.js +25 -0
  282. package/dist/snapshot/adapter.js.map +1 -0
  283. package/dist/snapshot/adapters/fallback.cjs +452 -0
  284. package/dist/snapshot/adapters/fallback.cjs.map +1 -0
  285. package/dist/snapshot/adapters/fallback.d.cts +185 -0
  286. package/dist/snapshot/adapters/fallback.d.cts.map +1 -0
  287. package/dist/snapshot/adapters/fallback.d.ts +185 -0
  288. package/dist/snapshot/adapters/fallback.d.ts.map +1 -0
  289. package/dist/snapshot/adapters/fallback.js +445 -0
  290. package/dist/snapshot/adapters/fallback.js.map +1 -0
  291. package/dist/snapshot/adapters/node-test.cjs +297 -0
  292. package/dist/snapshot/adapters/node-test.cjs.map +1 -0
  293. package/dist/snapshot/adapters/node-test.d.cts +131 -0
  294. package/dist/snapshot/adapters/node-test.d.cts.map +1 -0
  295. package/dist/snapshot/adapters/node-test.d.ts +131 -0
  296. package/dist/snapshot/adapters/node-test.d.ts.map +1 -0
  297. package/dist/snapshot/adapters/node-test.js +293 -0
  298. package/dist/snapshot/adapters/node-test.js.map +1 -0
  299. package/dist/snapshot/index.cjs +61 -0
  300. package/dist/snapshot/index.cjs.map +1 -0
  301. package/dist/snapshot/index.d.cts +40 -0
  302. package/dist/snapshot/index.d.cts.map +1 -0
  303. package/dist/snapshot/index.d.ts +40 -0
  304. package/dist/snapshot/index.d.ts.map +1 -0
  305. package/dist/snapshot/index.js +44 -0
  306. package/dist/snapshot/index.js.map +1 -0
  307. package/dist/snapshot/node-version.cjs +49 -0
  308. package/dist/snapshot/node-version.cjs.map +1 -0
  309. package/dist/snapshot/node-version.d.cts +34 -0
  310. package/dist/snapshot/node-version.d.cts.map +1 -0
  311. package/dist/snapshot/node-version.d.ts +34 -0
  312. package/dist/snapshot/node-version.d.ts.map +1 -0
  313. package/dist/snapshot/node-version.js +44 -0
  314. package/dist/snapshot/node-version.js.map +1 -0
  315. package/dist/snapshot/select-adapter.cjs +170 -0
  316. package/dist/snapshot/select-adapter.cjs.map +1 -0
  317. package/dist/snapshot/select-adapter.d.cts +128 -0
  318. package/dist/snapshot/select-adapter.d.cts.map +1 -0
  319. package/dist/snapshot/select-adapter.d.ts +128 -0
  320. package/dist/snapshot/select-adapter.d.ts.map +1 -0
  321. package/dist/snapshot/select-adapter.js +164 -0
  322. package/dist/snapshot/select-adapter.js.map +1 -0
  323. package/dist/snapshot/serializer.cjs +245 -0
  324. package/dist/snapshot/serializer.cjs.map +1 -0
  325. package/dist/snapshot/serializer.d.cts +126 -0
  326. package/dist/snapshot/serializer.d.cts.map +1 -0
  327. package/dist/snapshot/serializer.d.ts +126 -0
  328. package/dist/snapshot/serializer.d.ts.map +1 -0
  329. package/dist/snapshot/serializer.js +237 -0
  330. package/dist/snapshot/serializer.js.map +1 -0
  331. package/dist/standard-schema.cjs +13 -0
  332. package/dist/standard-schema.cjs.map +1 -0
  333. package/dist/standard-schema.d.cts +192 -0
  334. package/dist/standard-schema.d.cts.map +1 -0
  335. package/dist/standard-schema.d.ts +192 -0
  336. package/dist/standard-schema.d.ts.map +1 -0
  337. package/dist/standard-schema.js +12 -0
  338. package/dist/standard-schema.js.map +1 -0
  339. package/dist/types.cjs +22 -0
  340. package/dist/types.cjs.map +1 -0
  341. package/dist/types.d.cts +756 -0
  342. package/dist/types.d.cts.map +1 -0
  343. package/dist/types.d.ts +756 -0
  344. package/dist/types.d.ts.map +1 -0
  345. package/dist/types.js +21 -0
  346. package/dist/types.js.map +1 -0
  347. package/dist/use.cjs +240 -0
  348. package/dist/use.cjs.map +1 -0
  349. package/dist/use.d.cts +8 -0
  350. package/dist/use.d.cts.map +1 -0
  351. package/dist/use.d.ts +8 -0
  352. package/dist/use.d.ts.map +1 -0
  353. package/dist/use.js +236 -0
  354. package/dist/use.js.map +1 -0
  355. package/dist/util.cjs +255 -0
  356. package/dist/util.cjs.map +1 -0
  357. package/dist/util.d.cts +141 -0
  358. package/dist/util.d.cts.map +1 -0
  359. package/dist/util.d.ts +141 -0
  360. package/dist/util.d.ts.map +1 -0
  361. package/dist/util.js +234 -0
  362. package/dist/util.js.map +1 -0
  363. package/dist/value-to-schema.cjs +537 -0
  364. package/dist/value-to-schema.cjs.map +1 -0
  365. package/dist/value-to-schema.d.cts +144 -0
  366. package/dist/value-to-schema.d.cts.map +1 -0
  367. package/dist/value-to-schema.d.ts +144 -0
  368. package/dist/value-to-schema.d.ts.map +1 -0
  369. package/dist/value-to-schema.js +533 -0
  370. package/dist/value-to-schema.js.map +1 -0
  371. package/package.json +22 -19
  372. package/src/assertion/assertion-types.ts +4 -8
  373. package/src/assertion/assertion.ts +1 -1
  374. package/src/assertion/format-assertion-failure.ts +2 -0
  375. package/src/assertion/impl/assertion-util.ts +1 -2
  376. package/src/assertion/impl/iteration-util.ts +1 -3
  377. package/src/assertion/impl/sync-collection.ts +633 -7
  378. package/src/assertion/impl/sync.ts +27 -0
  379. package/src/error.ts +13 -22
  380. package/src/guards.ts +8 -14
  381. package/src/internal-schema.ts +4 -8
  382. package/src/metadata.ts +1 -2
  383. package/src/snapshot/adapter.ts +2 -3
  384. package/src/snapshot/adapters/fallback.ts +2 -3
  385. package/src/snapshot/adapters/node-test.ts +14 -20
  386. package/src/snapshot/select-adapter.ts +3 -3
  387. package/src/snapshot/serializer.ts +2 -3
  388. package/src/types.ts +2 -162
@@ -0,0 +1,560 @@
1
+ /**
2
+ * Parameterized assertions for comparisons, function behavior, and complex
3
+ * validation.
4
+ *
5
+ * These assertions accept additional parameters to customize their behavior,
6
+ * including numeric comparisons, string matching, object satisfaction, function
7
+ * throwing behavior, and deep equality checks.
8
+ *
9
+ * @packageDocumentation
10
+ * @groupDescription Parametric Assertions (Sync)
11
+ * Complex assertions that accept parameters for customized validation behavior.
12
+ *
13
+ * @showGroups
14
+ */
15
+ import { z } from 'zod';
16
+ import { type Constructor } from "../../types.js";
17
+ /**
18
+ * Assertion for testing if a value is an instance of a specific constructor.
19
+ *
20
+ * @example
21
+ *
22
+ * ```typescript
23
+ * expect(new Date(), 'to be an instance of', Date); // passes
24
+ * expect('hello', 'to be a', String); // fails
25
+ * ```
26
+ *
27
+ * @group Parametric Assertions (Sync)
28
+ */
29
+ export declare const instanceOfAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly [readonly ["to be an instance of", "to be a", "to be an"], z.ZodCustom<Constructor, Constructor>], (_: unknown, ctor: Constructor) => z.ZodCustom<Constructor, Constructor>, never>;
30
+ /**
31
+ * Assertion for testing if a value is of a specific built-in type.
32
+ *
33
+ * @example
34
+ *
35
+ * ```typescript
36
+ * expect('hello', 'to be a', 'string'); // passes
37
+ * expect(42, 'to be an', 'Array'); // fails
38
+ * expect([], 'to be a', 'array'); // passes
39
+ * ```
40
+ *
41
+ * @group Parametric Assertions (Sync)
42
+ */
43
+ export declare const typeOfAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly [z.ZodUnknown, readonly ["to be a", "to be an", "to have type"], z.ZodEnum<{
44
+ [x: string]: string;
45
+ }>], (_: unknown, type: string) => z.ZodString | z.ZodCustom<Map<unknown, unknown>, Map<unknown, unknown>> | z.ZodCustom<WeakMap<WeakKey, unknown>, WeakMap<WeakKey, unknown>> | z.ZodNumber | z.ZodCustom<WeakSet<WeakKey>, WeakSet<WeakKey>> | z.ZodArray<z.ZodUnknown> | z.ZodSymbol | z.ZodCustom<RegExp, RegExp> | z.ZodCustom<(...args: import("../../types.js").MutableOrReadonly<unknown[]>) => unknown, (...args: import("../../types.js").MutableOrReadonly<unknown[]>) => unknown> | z.ZodBigInt | z.ZodBoolean | z.ZodDate | z.ZodCustom<Error, Error> | z.ZodNull | z.ZodUndefined | z.ZodObject<{}, z.core.$loose> | z.ZodCustom<PromiseLike<unknown>, PromiseLike<unknown>> | z.ZodCustom<WeakRef<WeakKey>, WeakRef<WeakKey>>, readonly [z.ZodUnknown, import("../assertion-types.js").PhraseLiteralChoiceSlot<readonly ["to be a", "to be an", "to have type"]>, z.ZodEnum<{
46
+ [x: string]: string;
47
+ }>]>;
48
+ /**
49
+ * Assertion for testing if a number is greater than another number.
50
+ *
51
+ * @example
52
+ *
53
+ * ```typescript
54
+ * expect(5, 'to be greater than', 3); // passes
55
+ * expect(2, 'to be greater than', 5); // fails
56
+ * ```
57
+ *
58
+ * @group Parametric Assertions (Sync)
59
+ */
60
+ export declare const numberGreaterThanAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly [z.ZodNumber, "to be greater than", z.ZodNumber], (_: number, other: number) => z.ZodNumber, readonly [z.ZodNumber, import("../assertion-types.js").PhraseLiteralSlot<"to be greater than">, z.ZodNumber]>;
61
+ /**
62
+ * Assertion for testing if a number is less than another number.
63
+ *
64
+ * @example
65
+ *
66
+ * ```typescript
67
+ * expect(3, 'to be less than', 5); // passes
68
+ * expect(5, 'to be less than', 2); // fails
69
+ * ```
70
+ *
71
+ * @group Parametric Assertions (Sync)
72
+ */
73
+ export declare const numberLessThanAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly [z.ZodNumber, readonly ["to be less than", "to be lt"], z.ZodNumber], (_: number, other: number) => z.ZodNumber, readonly [z.ZodNumber, import("../assertion-types.js").PhraseLiteralChoiceSlot<readonly ["to be less than", "to be lt"]>, z.ZodNumber]>;
74
+ /**
75
+ * Assertion for testing if a number is greater than or equal to another number.
76
+ *
77
+ * @example
78
+ *
79
+ * ```typescript
80
+ * expect(5, 'to be greater than or equal to', 5); // passes
81
+ * expect(5, 'to be at least', 3); // passes
82
+ * expect(2, 'to be at least', 5); // fails
83
+ * ```
84
+ *
85
+ * @group Parametric Assertions (Sync)
86
+ */
87
+ export declare const numberGreaterThanOrEqualAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly [z.ZodNumber, readonly ["to be greater than or equal to", "to be at least", "to be gte"], z.ZodNumber], (_: number, other: number) => z.ZodNumber, readonly [z.ZodNumber, import("../assertion-types.js").PhraseLiteralChoiceSlot<readonly ["to be greater than or equal to", "to be at least", "to be gte"]>, z.ZodNumber]>;
88
+ /**
89
+ * Assertion for testing if a number is less than or equal to another number.
90
+ *
91
+ * @example
92
+ *
93
+ * ```typescript
94
+ * expect(3, 'to be less than or equal to', 5); // passes
95
+ * expect(5, 'to be at most', 5); // passes
96
+ * expect(7, 'to be at most', 5); // fails
97
+ * ```
98
+ *
99
+ * @group Parametric Assertions (Sync)
100
+ */
101
+ export declare const numberLessThanOrEqualAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly [z.ZodNumber, readonly ["to be less than or equal to", "to be at most", "to be lte"], z.ZodNumber], (_: number, other: number) => z.ZodNumber, readonly [z.ZodNumber, import("../assertion-types.js").PhraseLiteralChoiceSlot<readonly ["to be less than or equal to", "to be at most", "to be lte"]>, z.ZodNumber]>;
102
+ /**
103
+ * Assertion for testing if a number is within a specific range (inclusive).
104
+ *
105
+ * @example
106
+ *
107
+ * ```typescript
108
+ * expect(5, 'to be within', 1, 10); // passes
109
+ * expect(15, 'to be between', 1, 10); // fails
110
+ * ```
111
+ *
112
+ * @group Parametric Assertions (Sync)
113
+ */
114
+ export declare const numberWithinRangeAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly [z.ZodNumber, readonly ["to be within", "to be between"], z.ZodNumber, z.ZodNumber], (subject: number, min: number, max: number) => {
115
+ message: string;
116
+ } | undefined, readonly [z.ZodNumber, import("../assertion-types.js").PhraseLiteralChoiceSlot<readonly ["to be within", "to be between"]>, z.ZodNumber, z.ZodNumber]>;
117
+ /**
118
+ * Assertion for testing if a number is close to another number within a
119
+ * tolerance.
120
+ *
121
+ * @example
122
+ *
123
+ * ```typescript
124
+ * expect(1.0001, 'to be close to', 1.0, 0.001); // passes
125
+ * expect(1.1, 'to be close to', 1.0, 0.01); // fails
126
+ * ```
127
+ *
128
+ * @group Parametric Assertions (Sync)
129
+ */
130
+ export declare const numberCloseToAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly [z.ZodNumber, "to be close to", z.ZodNumber, z.ZodOptional<z.ZodNumber>], (subject: number, expected: number, tolerance?: number | undefined) => {
131
+ actual: number;
132
+ expected: number;
133
+ message: string;
134
+ } | undefined, readonly [z.ZodNumber, import("../assertion-types.js").PhraseLiteralSlot<"to be close to">, z.ZodNumber, z.ZodOptional<z.ZodNumber>]>;
135
+ /**
136
+ * Assertion for testing if a string is lexicographically greater than another
137
+ * string.
138
+ *
139
+ * @example
140
+ *
141
+ * ```typescript
142
+ * expect('b', 'to be greater than', 'a'); // passes
143
+ * expect('apple', 'to be greater than', 'banana'); // fails
144
+ * ```
145
+ *
146
+ * @group Parametric Assertions (Sync)
147
+ */
148
+ export declare const stringGreaterThanAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly [z.ZodString, "to be greater than", z.ZodString], (subject: string, other: string) => {
149
+ message: string;
150
+ } | undefined, readonly [z.ZodString, import("../assertion-types.js").PhraseLiteralSlot<"to be greater than">, z.ZodString]>;
151
+ /**
152
+ * Assertion for testing if a string is lexicographically less than another
153
+ * string.
154
+ *
155
+ * @example
156
+ *
157
+ * ```typescript
158
+ * expect('a', 'to be less than', 'b'); // passes
159
+ * expect('banana', 'to be less than', 'apple'); // fails
160
+ * ```
161
+ *
162
+ * @group Parametric Assertions (Sync)
163
+ */
164
+ export declare const stringLessThanAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly [z.ZodString, "to be less than", z.ZodString], (subject: string, other: string) => {
165
+ message: string;
166
+ } | undefined, readonly [z.ZodString, import("../assertion-types.js").PhraseLiteralSlot<"to be less than">, z.ZodString]>;
167
+ /**
168
+ * Assertion for testing if a string is lexicographically greater than or equal
169
+ * to another string.
170
+ *
171
+ * @example
172
+ *
173
+ * ```typescript
174
+ * expect('b', 'to be greater than or equal to', 'a'); // passes
175
+ * expect('a', 'to be greater than or equal to', 'a'); // passes
176
+ * expect('a', 'to be greater than or equal to', 'b'); // fails
177
+ * ```
178
+ *
179
+ * @group Parametric Assertions (Sync)
180
+ */
181
+ export declare const stringGreaterThanOrEqualAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly [z.ZodString, "to be greater than or equal to", z.ZodString], (subject: string, other: string) => {
182
+ message: string;
183
+ } | undefined, readonly [z.ZodString, import("../assertion-types.js").PhraseLiteralSlot<"to be greater than or equal to">, z.ZodString]>;
184
+ /**
185
+ * Assertion for testing if a string is lexicographically less than or equal to
186
+ * another string.
187
+ *
188
+ * @example
189
+ *
190
+ * ```typescript
191
+ * expect('a', 'to be less than or equal to', 'b'); // passes
192
+ * expect('a', 'to be less than or equal to', 'a'); // passes
193
+ * expect('b', 'to be less than or equal to', 'a'); // fails
194
+ * ```
195
+ *
196
+ * @group Parametric Assertions (Sync)
197
+ */
198
+ export declare const stringLessThanOrEqualAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly [z.ZodString, "to be less than or equal to", z.ZodString], (subject: string, other: string) => {
199
+ message: string;
200
+ } | undefined, readonly [z.ZodString, import("../assertion-types.js").PhraseLiteralSlot<"to be less than or equal to">, z.ZodString]>;
201
+ /**
202
+ * Assertion for testing if a string begins with a specific prefix.
203
+ *
204
+ * @example
205
+ *
206
+ * ```typescript
207
+ * expect('hello world', 'to begin with', 'hello'); // passes
208
+ * expect('hello world', 'to start with', 'world'); // fails
209
+ * ```
210
+ *
211
+ * @group Parametric Assertions (Sync)
212
+ */
213
+ export declare const stringBeginsWithAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly [z.ZodString, readonly ["to begin with", "to start with"], z.ZodString], (subject: string, prefix: string) => {
214
+ message: string;
215
+ } | undefined, readonly [z.ZodString, import("../assertion-types.js").PhraseLiteralChoiceSlot<readonly ["to begin with", "to start with"]>, z.ZodString]>;
216
+ /**
217
+ * Assertion for testing if a string ends with a specific suffix.
218
+ *
219
+ * @example
220
+ *
221
+ * ```typescript
222
+ * expect('hello world', 'to end with', 'world'); // passes
223
+ * expect('hello world', 'to end with', 'hello'); // fails
224
+ * ```
225
+ *
226
+ * @group Parametric Assertions (Sync)
227
+ */
228
+ export declare const stringEndsWithAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly [z.ZodString, "to end with", z.ZodString], (subject: string, suffix: string) => {
229
+ message: string;
230
+ } | undefined, readonly [z.ZodString, import("../assertion-types.js").PhraseLiteralSlot<"to end with">, z.ZodString]>;
231
+ /**
232
+ * Assertion for testing if a value is one of a specific set of values.
233
+ *
234
+ * @example
235
+ *
236
+ * ```typescript
237
+ * expect('red', 'to be one of', ['red', 'green', 'blue']); // passes
238
+ * expect('yellow', 'to be one of', ['red', 'green', 'blue']); // fails
239
+ * ```
240
+ *
241
+ * @group Parametric Assertions (Sync)
242
+ */
243
+ export declare const oneOfAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly ["to be one of", z.ZodArray<z.ZodUnknown>], (subject: unknown, values: unknown[]) => {
244
+ actual: unknown;
245
+ expected: unknown[];
246
+ message: string;
247
+ } | undefined, never>;
248
+ /**
249
+ * Assertion for testing if a function has a specific arity (number of
250
+ * parameters).
251
+ *
252
+ * @example
253
+ *
254
+ * ```typescript
255
+ * expect((a, b) => a + b, 'to have arity', 2); // passes
256
+ * expect((a, b, c) => a + b + c, 'to have arity', 2); // fails
257
+ * ```
258
+ *
259
+ * @group Parametric Assertions (Sync)
260
+ */
261
+ export declare const functionArityAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly [z.ZodCustom<(...args: import("../../types.js").MutableOrReadonly<unknown[]>) => unknown, (...args: import("../../types.js").MutableOrReadonly<unknown[]>) => unknown>, "to have arity", z.ZodInt], (subject: (...args: import("../../types.js").MutableOrReadonly<unknown[]>) => unknown, expectedArity: number) => {
262
+ actual: number;
263
+ expected: number;
264
+ message: string;
265
+ } | undefined, readonly [z.ZodCustom<(...args: import("../../types.js").MutableOrReadonly<unknown[]>) => unknown, (...args: import("../../types.js").MutableOrReadonly<unknown[]>) => unknown>, import("../assertion-types.js").PhraseLiteralSlot<"to have arity">, z.ZodInt]>;
266
+ /**
267
+ * Assertion for testing if an Error has a specific message.
268
+ *
269
+ * @example
270
+ *
271
+ * ```typescript
272
+ * expect(new Error('oops'), 'to have message', 'oops'); // passes
273
+ * expect(new Error('oops'), 'to have message', 'wrong'); // fails
274
+ * ```
275
+ *
276
+ * @group Parametric Assertions (Sync)
277
+ */
278
+ export declare const errorMessageAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly [z.ZodCustom<Error, Error>, "to have message", z.ZodString], (subject: Error, expectedMessage: string) => {
279
+ actual: string;
280
+ expected: string;
281
+ message: string;
282
+ } | undefined, readonly [z.ZodCustom<Error, Error>, import("../assertion-types.js").PhraseLiteralSlot<"to have message">, z.ZodString]>;
283
+ /**
284
+ * Assertion for testing if an Error has a message matching a regular
285
+ * expression.
286
+ *
287
+ * @example
288
+ *
289
+ * ```typescript
290
+ * expect(
291
+ * new Error('Error: something went wrong'),
292
+ * 'to have message matching',
293
+ * /something/,
294
+ * ); // passes
295
+ * expect(new Error('All good'), 'to have message matching', /error/i); // fails
296
+ * ```
297
+ *
298
+ * @group Parametric Assertions (Sync)
299
+ */
300
+ export declare const errorMessageMatchingAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly [z.ZodCustom<Error, Error>, "to have message matching", z.ZodCustom<RegExp, RegExp>], (subject: Error, pattern: RegExp) => {
301
+ message: string;
302
+ } | undefined, readonly [z.ZodCustom<Error, Error>, import("../assertion-types.js").PhraseLiteralSlot<"to have message matching">, z.ZodCustom<RegExp, RegExp>]>;
303
+ /**
304
+ * Assertion for testing strict equality between two values.
305
+ *
306
+ * @example
307
+ *
308
+ * ```typescript
309
+ * expect(42, 'to be', 42); // passes
310
+ * expect('hello', 'to equal', 'hello'); // passes
311
+ * expect({}, 'to be', {}); // fails (different object references)
312
+ * ```
313
+ *
314
+ * @group Parametric Assertions (Sync)
315
+ */
316
+ export declare const strictEqualityAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly [readonly ["to be", "to equal", "equals", "is", "is equal to", "to strictly equal", "is strictly equal to"], z.ZodUnknown], (subject: unknown, value: unknown) => {
317
+ actual: unknown;
318
+ expected: unknown;
319
+ message: string;
320
+ } | undefined, never>;
321
+ /**
322
+ * Assertion for testing deep equality between any values.
323
+ *
324
+ * Works with primitives, objects, arrays, Maps, Sets, and other types.
325
+ *
326
+ * @example
327
+ *
328
+ * ```typescript
329
+ * // Primitives
330
+ * expect(42, 'to deep equal', 42); // passes
331
+ * expect('hello', 'to deeply equal', 'world'); // fails
332
+ *
333
+ * // Objects
334
+ * expect({ a: 1, b: 2 }, 'to deep equal', { a: 1, b: 2 }); // passes
335
+ * expect({ a: 1 }, 'to deeply equal', { a: 1, b: 2 }); // fails
336
+ *
337
+ * // Arrays
338
+ * expect([1, 2, 3], 'to deep equal', [1, 2, 3]); // passes
339
+ *
340
+ * // Maps and Sets
341
+ * expect(new Map([['a', 1]]), 'to deep equal', new Map([['a', 1]])); // passes
342
+ * expect(new Set([1, 2]), 'to deeply equal', new Set([1, 2])); // passes
343
+ * ```
344
+ *
345
+ * @group Parametric Assertions (Sync)
346
+ * @bupkisAnchor unknown-to-deep-equal-any
347
+ * @bupkisAssertionCategory equality
348
+ */
349
+ export declare const deepEqualAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly [readonly ["to deep equal", "to deeply equal"], z.ZodUnknown], (_: unknown, expected: unknown) => z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, never>;
350
+ /**
351
+ * Assertion for testing if a function throws an error when called.
352
+ *
353
+ * @example
354
+ *
355
+ * ```typescript
356
+ * expect(() => {
357
+ * throw new Error('oops');
358
+ * }, 'to throw'); // passes
359
+ * expect(() => 'hello', 'to throw'); // fails
360
+ * ```
361
+ *
362
+ * @group Parametric Assertions (Sync)
363
+ * @bupkisAnchor function-to-throw-any
364
+ * @bupkisAssertionCategory function
365
+ * @bupkisRedirect to-throw
366
+ */
367
+ export declare const functionThrowsAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly [z.ZodCustom<(...args: import("../../types.js").MutableOrReadonly<unknown[]>) => unknown, (...args: import("../../types.js").MutableOrReadonly<unknown[]>) => unknown>, "to throw"], (subject: (...args: import("../../types.js").MutableOrReadonly<unknown[]>) => unknown) => {
368
+ message: string;
369
+ } | undefined, readonly [z.ZodCustom<(...args: import("../../types.js").MutableOrReadonly<unknown[]>) => unknown, (...args: import("../../types.js").MutableOrReadonly<unknown[]>) => unknown>, import("../assertion-types.js").PhraseLiteralSlot<"to throw">]>;
370
+ /**
371
+ * Assertion for testing if a function throws an error of a specific type.
372
+ *
373
+ * @example
374
+ *
375
+ * ```typescript
376
+ * expect(
377
+ * () => {
378
+ * throw new TypeError('wrong type');
379
+ * },
380
+ * 'to throw a',
381
+ * TypeError,
382
+ * ); // passes
383
+ * expect(
384
+ * () => {
385
+ * throw new Error('oops');
386
+ * },
387
+ * 'to throw an',
388
+ * TypeError,
389
+ * ); // fails
390
+ * ```
391
+ *
392
+ * @group Parametric Assertions (Sync)
393
+ */
394
+ export declare const functionThrowsTypeAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly [z.ZodCustom<(...args: import("../../types.js").MutableOrReadonly<unknown[]>) => unknown, (...args: import("../../types.js").MutableOrReadonly<unknown[]>) => unknown>, readonly ["to throw a", "to throw an"], z.ZodCustom<Constructor, Constructor>], (subject: (...args: import("../../types.js").MutableOrReadonly<unknown[]>) => unknown, ctor: Constructor) => {
395
+ message: string;
396
+ actual?: undefined;
397
+ expected?: undefined;
398
+ } | {
399
+ actual: string;
400
+ expected: string;
401
+ message: string;
402
+ } | undefined, readonly [z.ZodCustom<(...args: import("../../types.js").MutableOrReadonly<unknown[]>) => unknown, (...args: import("../../types.js").MutableOrReadonly<unknown[]>) => unknown>, import("../assertion-types.js").PhraseLiteralChoiceSlot<readonly ["to throw a", "to throw an"]>, z.ZodCustom<Constructor, Constructor>]>;
403
+ /**
404
+ * Assertion for testing if a function throws an error matching specific
405
+ * criteria.
406
+ *
407
+ * @example
408
+ *
409
+ * ```typescript
410
+ * expect(
411
+ * () => {
412
+ * throw new Error('oops');
413
+ * },
414
+ * 'to throw',
415
+ * 'oops',
416
+ * ); // passes
417
+ * expect(
418
+ * () => {
419
+ * throw new Error('fail');
420
+ * },
421
+ * 'to throw',
422
+ * /error/i,
423
+ * ); // passes
424
+ * expect(
425
+ * () => {
426
+ * throw new Error('oops');
427
+ * },
428
+ * 'to throw',
429
+ * { message: 'oops' },
430
+ * ); // passes
431
+ * ```
432
+ *
433
+ * @group Parametric Assertions (Sync)
434
+ */
435
+ export declare const functionThrowsSatisfyingAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly [z.ZodCustom<(...args: import("../../types.js").MutableOrReadonly<unknown[]>) => unknown, (...args: import("../../types.js").MutableOrReadonly<unknown[]>) => unknown>, readonly ["to throw", "to throw error satisfying"], z.ZodUnknown], (subject: (...args: import("../../types.js").MutableOrReadonly<unknown[]>) => unknown, param: unknown) => {
436
+ message: string;
437
+ schema?: undefined;
438
+ subject?: undefined;
439
+ } | {
440
+ schema: z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>;
441
+ subject: {} | null;
442
+ message?: undefined;
443
+ }, readonly [z.ZodCustom<(...args: import("../../types.js").MutableOrReadonly<unknown[]>) => unknown, (...args: import("../../types.js").MutableOrReadonly<unknown[]>) => unknown>, import("../assertion-types.js").PhraseLiteralChoiceSlot<readonly ["to throw", "to throw error satisfying"]>, z.ZodUnknown]>;
444
+ /**
445
+ * Assertion for testing if a function throws an error of a specific type that
446
+ * also matches criteria.
447
+ *
448
+ * @example
449
+ *
450
+ * ```typescript
451
+ * expect(
452
+ * () => {
453
+ * throw new TypeError('wrong type');
454
+ * },
455
+ * 'to throw a',
456
+ * TypeError,
457
+ * 'satisfying',
458
+ * { message: 'wrong type' },
459
+ * ); // passes
460
+ * expect(
461
+ * () => {
462
+ * throw new Error('oops');
463
+ * },
464
+ * 'to throw an',
465
+ * TypeError,
466
+ * 'satisfying',
467
+ * /type/,
468
+ * ); // fails
469
+ * ```
470
+ *
471
+ * @group Parametric Assertions (Sync)
472
+ */
473
+ export declare const functionThrowsTypeSatisfyingAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly [z.ZodCustom<(...args: import("../../types.js").MutableOrReadonly<unknown[]>) => unknown, (...args: import("../../types.js").MutableOrReadonly<unknown[]>) => unknown>, readonly ["to throw a", "to throw an"], z.ZodCustom<Constructor, Constructor>, "satisfying", z.ZodUnknown], (subject: (...args: import("../../types.js").MutableOrReadonly<unknown[]>) => unknown, ctor: Constructor, param: unknown) => {
474
+ message: string;
475
+ schema?: undefined;
476
+ subject?: undefined;
477
+ } | {
478
+ schema: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
479
+ subject: {} | null;
480
+ message?: undefined;
481
+ }, readonly [z.ZodCustom<(...args: import("../../types.js").MutableOrReadonly<unknown[]>) => unknown, (...args: import("../../types.js").MutableOrReadonly<unknown[]>) => unknown>, import("../assertion-types.js").PhraseLiteralChoiceSlot<readonly ["to throw a", "to throw an"]>, z.ZodCustom<Constructor, Constructor>, import("../assertion-types.js").PhraseLiteralSlot<"satisfying">, z.ZodUnknown]>;
482
+ /**
483
+ * Assertion for testing if a string includes/contains another string.
484
+ *
485
+ * @example
486
+ *
487
+ * ```typescript
488
+ * expect('hello world', 'includes', 'world'); // passes
489
+ * expect('hello world', 'contains', 'foo'); // fails
490
+ * expect('hello world', 'to include', 'hello'); // passes
491
+ * expect('hello world', 'to contain', 'bar'); // fails
492
+ * ```
493
+ *
494
+ * @group Parametric Assertions (Sync)
495
+ */
496
+ export declare const stringIncludesAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly [z.ZodString, readonly ["includes", "contains", "to include", "to contain"], z.ZodString], (subject: string, expected: string) => {
497
+ message: string;
498
+ } | undefined, readonly [z.ZodString, import("../assertion-types.js").PhraseLiteralChoiceSlot<readonly ["includes", "contains", "to include", "to contain"]>, z.ZodString]>;
499
+ /**
500
+ * Assertion for testing if a string matches a regular expression.
501
+ *
502
+ * @example
503
+ *
504
+ * ```typescript
505
+ * expect('hello123', 'to match', /\d+/); // passes
506
+ * expect('hello', 'to match', /\d+/); // fails
507
+ * ```
508
+ *
509
+ * @group Parametric Assertions (Sync)
510
+ */
511
+ export declare const stringMatchesAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly [z.ZodString, "to match", z.ZodCustom<RegExp, RegExp>], (subject: string, regex: RegExp) => boolean, readonly [z.ZodString, import("../assertion-types.js").PhraseLiteralSlot<"to match">, z.ZodCustom<RegExp, RegExp>]>;
512
+ /**
513
+ * Assertion for testing if a string has a specific length.
514
+ *
515
+ * @example
516
+ *
517
+ * ```typescript
518
+ * expect('hello', 'to have length', 5); // passes
519
+ * expect('hi', 'to have length', 5); // fails
520
+ * ```
521
+ *
522
+ * @group Parametric Assertions (Sync)
523
+ * @bupkisAnchor string-to-have-length
524
+ * @bupkisAssertionCategory strings
525
+ */
526
+ export declare const stringLengthAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly [z.ZodString, "to have length", z.ZodInt], (subject: string, expectedLength: number) => {
527
+ actual: number;
528
+ expected: number;
529
+ message: string;
530
+ } | undefined, readonly [z.ZodString, import("../assertion-types.js").PhraseLiteralSlot<"to have length">, z.ZodInt]>;
531
+ /**
532
+ * Assertion for testing if a value satisfies a pattern or shape.
533
+ *
534
+ * Works with any value type: primitives, objects, arrays, or cross-type checks.
535
+ * Uses partial matching semantics - extra properties are allowed in objects.
536
+ *
537
+ * @example
538
+ *
539
+ * ```typescript
540
+ * // Primitives
541
+ * expect(42, 'to satisfy', 42); // passes
542
+ * expect('hello', 'satisfies', 'hello'); // passes
543
+ *
544
+ * // Objects (partial matching)
545
+ * expect({ name: 'John', age: 30 }, 'to satisfy', { name: 'John' }); // passes
546
+ * expect({ name: 'John' }, 'to be like', { name: 'John', age: 30 }); // fails
547
+ *
548
+ * // Arrays
549
+ * expect([1, 2, 3], 'to satisfy', [1, 2, 3]); // passes
550
+ *
551
+ * // Cross-type satisfaction
552
+ * expect([1, 2, 3], 'to satisfy', { length: 3 }); // passes
553
+ * ```
554
+ *
555
+ * @group Parametric Assertions (Sync)
556
+ * @bupkisAnchor unknown-to-satisfy-any
557
+ * @bupkisAssertionCategory equality
558
+ */
559
+ export declare const satisfiesAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly [readonly ["to satisfy", "to be like", "satisfies"], z.ZodUnknown], (_subject: unknown, shape: unknown) => z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, never>;
560
+ //# sourceMappingURL=sync-parametric.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-parametric.d.ts","sourceRoot":"","sources":["../../../src/assertion/impl/sync-parametric.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA8BxB,OAAO,EAAE,KAAK,WAAW,EAAE,uBAAuB;AAuClD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,oPAG/B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe;;;;IA2D3B,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,0BAA0B,2QAGtC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB,yTAGnC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iCAAiC,6XAO7C,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,8BAA8B,qXAO1C,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,0BAA0B;;qKAStC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB;;;;oJAYlC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,0BAA0B;;4HAStC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,uBAAuB;;yHASnC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,iCAAiC;;wIAS7C,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,8BAA8B;;qIAS1C,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,yBAAyB;;yJASrC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB;;qHASnC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc;;;;qBAW1B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB;;;;8QAWlC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB;;;;uIAWjC,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,6BAA6B;;gKASzC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,uBAAuB;;;;qBAsBnC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,kBAAkB,0OAG9B,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,uBAAuB;;+PAUnC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;wUAyBvC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;+SAyB7C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,qCAAqC;;;;;;;;2YAoCjD,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,uBAAuB;;2KAanC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,yRAGlC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qBAAqB;;;;qHAajC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,kBAAkB,mPAG9B,CAAC"}