bupkis 0.18.2 → 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 (390) hide show
  1. package/CHANGELOG.md +29 -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 +24 -21
  372. package/src/assertion/assertion-sync.ts +1 -1
  373. package/src/assertion/assertion-types.ts +4 -8
  374. package/src/assertion/assertion.ts +12 -7
  375. package/src/assertion/format-assertion-failure.ts +2 -0
  376. package/src/assertion/impl/assertion-util.ts +1 -2
  377. package/src/assertion/impl/iteration-util.ts +3 -5
  378. package/src/assertion/impl/sync-collection.ts +633 -7
  379. package/src/assertion/impl/sync.ts +27 -0
  380. package/src/error.ts +13 -22
  381. package/src/expect.ts +1 -1
  382. package/src/guards.ts +8 -14
  383. package/src/internal-schema.ts +4 -8
  384. package/src/metadata.ts +1 -2
  385. package/src/snapshot/adapter.ts +2 -3
  386. package/src/snapshot/adapters/fallback.ts +2 -3
  387. package/src/snapshot/adapters/node-test.ts +14 -20
  388. package/src/snapshot/select-adapter.ts +3 -3
  389. package/src/snapshot/serializer.ts +2 -3
  390. package/src/types.ts +2 -162
@@ -0,0 +1,550 @@
1
+ /**
2
+ * Basic type and primitive value assertions.
3
+ *
4
+ * These are the fundamental building blocks for type checking including
5
+ * strings, numbers, booleans, arrays, objects, functions, and other primitive
6
+ * JavaScript types.
7
+ *
8
+ * @packageDocumentation
9
+ * @groupDescription Basic Assertions
10
+ * Fundamental type checking and primitive value validation.
11
+ *
12
+ * @showGroups
13
+ */
14
+ import { z } from 'zod';
15
+ import { BupkisRegistry } from "../../metadata.js";
16
+ import { ArrayLikeSchema, AsyncFunctionSchema, BigintSchema, BooleanSchema, ConstructibleSchema, DateSchema, ErrorSchema, FalsySchema, FunctionSchema, InfinitySchema, NegativeInfinitySchema, NegativeNumberSchema, NumberSchema, PositiveNumberSchema, PrimitiveSchema, SetSchema, StringSchema, SymbolSchema, TruthySchema, UnknownArraySchema, UnknownRecordSchema, UnknownSchema, WeakMapSchema, WeakSetSchema, } from "../../schema.js";
17
+ import { createAssertion } from "../create.js";
18
+ const { ownKeys } = Reflect;
19
+ /**
20
+ * Asserts that the subject is a string value.
21
+ *
22
+ * @example
23
+ *
24
+ * ```ts
25
+ * expect('hello', 'to be a string'); // passes
26
+ * expect(42, 'to be a string'); // fails
27
+ * ```
28
+ *
29
+ * @group Basic Assertions
30
+ * @bupkisAnchor unknown-to-be-a-string
31
+ * @bupkisAssertionCategory primitives
32
+ */
33
+ export const stringAssertion = createAssertion(['to be a string'], StringSchema);
34
+ /**
35
+ * Asserts that the subject is a finite number value.
36
+ *
37
+ * @example
38
+ *
39
+ * ```ts
40
+ * expect(42, 'to be a number'); // passes
41
+ * expect(Infinity, 'to be a number'); // fails
42
+ * expect('42', 'to be a number'); // fails
43
+ * ```
44
+ *
45
+ * @group Basic Assertions
46
+ */
47
+ export const numberAssertion = createAssertion([['to be a number', 'to be finite']], NumberSchema);
48
+ /**
49
+ * Asserts that the subject is either positive or negative infinity.
50
+ *
51
+ * @example
52
+ *
53
+ * ```ts
54
+ * expect(Infinity, 'to be infinite'); // passes
55
+ * expect(-Infinity, 'to be infinite'); // passes
56
+ * expect(42, 'to be infinite'); // fails
57
+ * ```
58
+ *
59
+ * @group Basic Assertions
60
+ */
61
+ export const infiniteAssertion = createAssertion(['to be infinite'], InfinitySchema.or(NegativeInfinitySchema));
62
+ /**
63
+ * Asserts that the subject is positive infinity.
64
+ *
65
+ * @example
66
+ *
67
+ * ```ts
68
+ * expect(Infinity, 'to be Infinity'); // passes
69
+ * expect(-Infinity, 'to be Infinity'); // fails
70
+ * ```
71
+ *
72
+ * @group Basic Assertions
73
+ */
74
+ export const positiveInfinityAssertion = createAssertion(['to be Infinity'], InfinitySchema);
75
+ /**
76
+ * Asserts that the subject is negative infinity.
77
+ *
78
+ * @example
79
+ *
80
+ * ```ts
81
+ * expect(-Infinity, 'to be -Infinity'); // passes
82
+ * expect(Infinity, 'to be -Infinity'); // fails
83
+ * ```
84
+ *
85
+ * @group Basic Assertions
86
+ */
87
+ export const negativeInfinityAssertion = createAssertion(['to be -Infinity'], NegativeInfinitySchema);
88
+ /**
89
+ * Asserts that the subject is a boolean value.
90
+ *
91
+ * @example
92
+ *
93
+ * ```ts
94
+ * expect(true, 'to be a boolean'); // passes
95
+ * expect('true', 'to be a boolean'); // fails
96
+ * ```
97
+ *
98
+ * @group Basic Assertions
99
+ */
100
+ export const booleanAssertion = createAssertion([['to be a boolean', 'to be boolean', 'to be a bool']], BooleanSchema);
101
+ /**
102
+ * Asserts that the subject is a positive number.
103
+ *
104
+ * @example
105
+ *
106
+ * ```ts
107
+ * expect(42, 'to be positive'); // passes
108
+ * expect(-1, 'to be positive'); // fails
109
+ * expect(0, 'to be positive'); // fails
110
+ * ```
111
+ *
112
+ * @group Basic Assertions
113
+ */
114
+ export const positiveAssertion = createAssertion([['to be positive', 'to be a positive number']], PositiveNumberSchema);
115
+ /**
116
+ * Asserts that the subject is a positive integer.
117
+ *
118
+ * @example
119
+ *
120
+ * ```ts
121
+ * expect(42, 'to be a positive integer'); // passes
122
+ * expect(-1, 'to be a positive integer'); // fails
123
+ * expect(42.5, 'to be a positive integer'); // fails
124
+ * ```
125
+ *
126
+ * @group Basic Assertions
127
+ */
128
+ export const positiveIntegerAssertion = createAssertion([['to be a positive integer', 'to be a positive int']], PositiveNumberSchema.int());
129
+ /**
130
+ * Asserts that the subject is a negative number.
131
+ *
132
+ * @example
133
+ *
134
+ * ```ts
135
+ * expect(-42, 'to be negative'); // passes
136
+ * expect(1, 'to be negative'); // fails
137
+ * expect(0, 'to be negative'); // fails
138
+ * ```
139
+ *
140
+ * @group Basic Assertions
141
+ */
142
+ export const negativeAssertion = createAssertion([['to be negative', 'to be a negative number']], NegativeNumberSchema);
143
+ /**
144
+ * Asserts that the subject is a negative integer.
145
+ *
146
+ * @example
147
+ *
148
+ * ```ts
149
+ * expect(-42, 'to be a negative integer'); // passes
150
+ * expect(1, 'to be a negative integer'); // fails
151
+ * expect(-42.5, 'to be a negative integer'); // fails
152
+ * ```
153
+ *
154
+ * @group Basic Assertions
155
+ */
156
+ export const negativeIntegerAssertion = createAssertion([['to be a negative integer', 'to be a negative int']], NegativeNumberSchema.int());
157
+ /**
158
+ * Asserts that the subject is exactly the boolean value true.
159
+ *
160
+ * @example
161
+ *
162
+ * ```ts
163
+ * expect(true, 'to be true'); // passes
164
+ * expect(false, 'to be true'); // fails
165
+ * expect(1, 'to be true'); // fails
166
+ * ```
167
+ *
168
+ * @group Basic Assertions
169
+ */
170
+ export const trueAssertion = createAssertion(['to be true'], z.literal(true));
171
+ /**
172
+ * Asserts that the subject is exactly the boolean value false.
173
+ *
174
+ * @example
175
+ *
176
+ * ```ts
177
+ * expect(false, 'to be false'); // passes
178
+ * expect(true, 'to be false'); // fails
179
+ * expect(0, 'to be false'); // fails
180
+ * ```
181
+ *
182
+ * @group Basic Assertions
183
+ */
184
+ export const falseAssertion = createAssertion(['to be false'], z.literal(false));
185
+ /**
186
+ * Asserts that the subject is a BigInt value.
187
+ *
188
+ * @example
189
+ *
190
+ * ```ts
191
+ * expect(123n, 'to be a bigint'); // passes
192
+ * expect(123, 'to be a bigint'); // fails
193
+ * ```
194
+ *
195
+ * @group Basic Assertions
196
+ */
197
+ export const bigintAssertion = createAssertion([['to be a bigint', 'to be a BigInt']], BigintSchema);
198
+ /**
199
+ * Asserts that the subject is a Symbol.
200
+ *
201
+ * @example
202
+ *
203
+ * ```ts
204
+ * expect(Symbol('test'), 'to be a symbol'); // passes
205
+ * expect('symbol', 'to be a symbol'); // fails
206
+ * ```
207
+ *
208
+ * @group Basic Assertions
209
+ */
210
+ export const symbolAssertion = createAssertion([['to be a symbol', 'to be a Symbol']], SymbolSchema);
211
+ /**
212
+ * Asserts that the subject is a function.
213
+ *
214
+ * @example
215
+ *
216
+ * ```ts
217
+ * expect(() => {}, 'to be a function'); // passes
218
+ * expect('function', 'to be a function'); // fails
219
+ * ```
220
+ *
221
+ * @group Basic Assertions
222
+ */
223
+ export const functionAssertion = createAssertion(['to be a function'], FunctionSchema);
224
+ /**
225
+ * Asserts that the subject is an async function.
226
+ *
227
+ * @example
228
+ *
229
+ * ```ts
230
+ * expect(async () => {}, 'to be an async function'); // passes
231
+ * expect(() => {}, 'to be an async function'); // fails
232
+ * ```
233
+ *
234
+ * @group Basic Assertions
235
+ */
236
+ export const asyncFunctionAssertion = createAssertion(['to be an async function'], AsyncFunctionSchema);
237
+ /**
238
+ * Asserts that the subject is NaN (Not a Number).
239
+ *
240
+ * @example
241
+ *
242
+ * ```ts
243
+ * expect(NaN, 'to be NaN'); // passes
244
+ * expect(42, 'to be NaN'); // fails
245
+ * expect('not a number', 'to be NaN'); // fails
246
+ * ```
247
+ *
248
+ * @group Basic Assertions
249
+ */
250
+ export const nanAssertion = createAssertion(['to be NaN'], z.nan());
251
+ /**
252
+ * Asserts that the subject is an integer (safe integer).
253
+ *
254
+ * @example
255
+ *
256
+ * ```ts
257
+ * expect(42, 'to be an integer'); // passes
258
+ * expect(42.5, 'to be an integer'); // fails
259
+ * ```
260
+ *
261
+ * @group Basic Assertions
262
+ */
263
+ export const integerAssertion = createAssertion([
264
+ [
265
+ 'to be an integer',
266
+ 'to be a safe integer',
267
+ 'to be an int',
268
+ 'to be a safe int',
269
+ ],
270
+ ], NumberSchema.int());
271
+ /**
272
+ * Asserts that the subject is null.
273
+ *
274
+ * @example
275
+ *
276
+ * ```ts
277
+ * expect(null, 'to be null'); // passes
278
+ * expect(undefined, 'to be null'); // fails
279
+ * ```
280
+ *
281
+ * @group Basic Assertions
282
+ */
283
+ export const nullAssertion = createAssertion(['to be null'], z.null());
284
+ /**
285
+ * Asserts that the subject is undefined.
286
+ *
287
+ * @example
288
+ *
289
+ * ```ts
290
+ * expect(undefined, 'to be undefined'); // passes
291
+ * expect(null, 'to be undefined'); // fails
292
+ * ```
293
+ *
294
+ * @group Basic Assertions
295
+ */
296
+ export const undefinedAssertion = createAssertion(['to be undefined'], z.undefined());
297
+ /**
298
+ * Asserts that the subject is an array.
299
+ *
300
+ * @example
301
+ *
302
+ * ```ts
303
+ * expect([1, 2, 3], 'to be an array'); // passes
304
+ * expect('array', 'to be an array'); // fails
305
+ * ```
306
+ *
307
+ * @group Basic Assertions
308
+ */
309
+ export const arrayAssertion = createAssertion([['to be an array', 'to be array']], UnknownArraySchema);
310
+ /**
311
+ * Asserts that the subject is a Date object.
312
+ *
313
+ * @example
314
+ *
315
+ * ```ts
316
+ * expect(new Date(), 'to be a date'); // passes
317
+ * expect('2023-01-01', 'to be a date'); // fails
318
+ * ```
319
+ *
320
+ * @group Basic Assertions
321
+ */
322
+ export const dateAssertion = createAssertion([['to be a date', 'to be a Date']], DateSchema);
323
+ /**
324
+ * Asserts that the subject is a class constructor (constructible function).
325
+ *
326
+ * @example
327
+ *
328
+ * ```ts
329
+ * expect(Date, 'to be a class'); // passes
330
+ * expect(() => {}, 'to be a class'); // fails
331
+ * ```
332
+ *
333
+ * @group Basic Assertions
334
+ */
335
+ export const classAssertion = createAssertion([['to be a class', 'to be a constructor', 'to be constructible']], ConstructibleSchema);
336
+ /**
337
+ * Asserts that the subject is a primitive value (string, number, boolean, null,
338
+ * undefined, symbol, or bigint).
339
+ *
340
+ * @example
341
+ *
342
+ * ```ts
343
+ * expect('hello', 'to be a primitive'); // passes
344
+ * expect({}, 'to be a primitive'); // fails
345
+ * ```
346
+ *
347
+ * @group Basic Assertions
348
+ */
349
+ export const primitiveAssertion = createAssertion(['to be a primitive'], PrimitiveSchema);
350
+ /**
351
+ * Asserts that the subject is a regular expression.
352
+ *
353
+ * @example
354
+ *
355
+ * ```ts
356
+ * expect(/test/, 'to be a RegExp'); // passes
357
+ * expect('test', 'to be a RegExp'); // fails
358
+ * ```
359
+ *
360
+ * @group Basic Assertions
361
+ */
362
+ export const regexpAssertion = createAssertion([['to be a RegExp', 'to be a regex', 'to be a regexp']], z.instanceof(RegExp));
363
+ /**
364
+ * Asserts that the subject is truthy (not false, 0, '', null, undefined, or
365
+ * NaN).
366
+ *
367
+ * @example
368
+ *
369
+ * ```ts
370
+ * expect('hello', 'to be truthy'); // passes
371
+ * expect('', 'to be truthy'); // fails
372
+ * ```
373
+ *
374
+ * @group Basic Assertions
375
+ */
376
+ export const truthyAssertion = createAssertion([['to be truthy', 'to exist', 'to be ok']], TruthySchema);
377
+ /**
378
+ * Asserts that the subject is falsy (false, 0, '', null, undefined, or NaN).
379
+ *
380
+ * @example
381
+ *
382
+ * ```ts
383
+ * expect('', 'to be falsy'); // passes
384
+ * expect('hello', 'to be falsy'); // fails
385
+ * ```
386
+ *
387
+ * @group Basic Assertions
388
+ */
389
+ export const falsyAssertion = createAssertion(['to be falsy'], FalsySchema);
390
+ /**
391
+ * Asserts that the subject is an object (non-null object type).
392
+ *
393
+ * @example
394
+ *
395
+ * ```ts
396
+ * expect({}, 'to be an object'); // passes
397
+ * expect(null, 'to be an object'); // fails
398
+ * expect('string', 'to be an object'); // fails
399
+ * ```
400
+ *
401
+ * @group Basic Assertions
402
+ */
403
+ export const objectAssertion = createAssertion(['to be an object'], z
404
+ .unknown()
405
+ .nonoptional()
406
+ .refine((value) => typeof value == 'object' && value !== null)
407
+ .register(BupkisRegistry, { name: 'Object' })
408
+ .meta({
409
+ description: 'Returns true for any non-null value where `typeof value` is `object`',
410
+ }));
411
+ /**
412
+ * Asserts that the subject is a record (plain object with string/symbol/number
413
+ * keys).
414
+ *
415
+ * @example
416
+ *
417
+ * ```ts
418
+ * expect({ key: 'value' }, 'to be a record'); // passes
419
+ * expect([], 'to be a record'); // fails
420
+ * ```
421
+ *
422
+ * @group Basic Assertions
423
+ */
424
+ export const recordAssertion = createAssertion([['to be a record', 'to be a plain object']], UnknownRecordSchema);
425
+ /**
426
+ * Asserts that an array is empty.
427
+ *
428
+ * @example
429
+ *
430
+ * ```ts
431
+ * expect([], 'to be empty'); // passes
432
+ * expect([1, 2], 'to be empty'); // fails
433
+ * ```
434
+ *
435
+ * @group Basic Assertions
436
+ */
437
+ export const emptyArrayAssertion = createAssertion([ArrayLikeSchema, 'to be empty'], (subject) => {
438
+ if (subject.length !== 0) {
439
+ return {
440
+ actual: subject.length,
441
+ expected: 0,
442
+ message: `Expected array-like to have length 0, but had length ${subject.length}`,
443
+ };
444
+ }
445
+ });
446
+ /**
447
+ * Asserts that an object is empty (has no own properties).
448
+ *
449
+ * @example
450
+ *
451
+ * ```ts
452
+ * expect({}, 'to be empty'); // passes
453
+ * expect({ key: 'value' }, 'to be empty'); // fails
454
+ * ```
455
+ *
456
+ * @group Basic Assertions
457
+ */
458
+ export const emptyObjectAssertion = createAssertion([UnknownRecordSchema, 'to be empty'], UnknownRecordSchema.refine((obj) => ownKeys(obj).length === 0));
459
+ /**
460
+ * Asserts that the subject is an Error instance.
461
+ *
462
+ * @example
463
+ *
464
+ * ```ts
465
+ * expect(new Error('test'), 'to be an Error'); // passes
466
+ * expect('error', 'to be an Error'); // fails
467
+ * ```
468
+ *
469
+ * @group Basic Assertions
470
+ */
471
+ export const errorAssertion = createAssertion([['to be an Error', 'to be a Error']], ErrorSchema);
472
+ /**
473
+ * Asserts that a string is empty.
474
+ *
475
+ * @example
476
+ *
477
+ * ```ts
478
+ * expect('', 'to be empty'); // passes
479
+ * expect('hello', 'to be empty'); // fails
480
+ * ```
481
+ *
482
+ * @group Basic Assertions
483
+ */
484
+ export const emptyStringAssertion = createAssertion([StringSchema, 'to be empty'], StringSchema.max(0));
485
+ /**
486
+ * Asserts that a string is non-empty.
487
+ *
488
+ * @example
489
+ *
490
+ * ```ts
491
+ * expect('hello', 'to be non-empty'); // passes
492
+ * expect('', 'to be non-empty'); // fails
493
+ * ```
494
+ *
495
+ * @group Basic Assertions
496
+ */
497
+ export const nonEmptyStringAssertion = createAssertion([StringSchema, 'to be non-empty'], StringSchema.min(1));
498
+ /**
499
+ * Asserts that the subject is defined (not undefined).
500
+ *
501
+ * @example
502
+ *
503
+ * ```ts
504
+ * expect(null, 'to be defined'); // passes
505
+ * expect(undefined, 'to be defined'); // fails
506
+ * ```
507
+ *
508
+ * @group Basic Assertions
509
+ */
510
+ export const definedAssertion = createAssertion(['to be defined'], UnknownSchema.nonoptional());
511
+ /**
512
+ * Asserts that the subject is a Set instance.
513
+ *
514
+ * @example
515
+ *
516
+ * ```ts
517
+ * expect(new Set(), 'to be a Set'); // passes
518
+ * expect([], 'to be a Set'); // fails
519
+ * ```
520
+ *
521
+ * @group Basic Assertions
522
+ */
523
+ export const setAssertion = createAssertion(['to be a Set'], SetSchema);
524
+ /**
525
+ * Asserts that the subject is a WeakMap instance.
526
+ *
527
+ * @example
528
+ *
529
+ * ```ts
530
+ * expect(new WeakMap(), 'to be a WeakMap'); // passes
531
+ * expect(new Map(), 'to be a WeakMap'); // fails
532
+ * ```
533
+ *
534
+ * @group Basic Assertions
535
+ */
536
+ export const weakMapAssertion = createAssertion(['to be a WeakMap'], WeakMapSchema);
537
+ /**
538
+ * Asserts that the subject is a WeakSet instance.
539
+ *
540
+ * @example
541
+ *
542
+ * ```ts
543
+ * expect(new WeakSet(), 'to be a WeakSet'); // passes
544
+ * expect(new Set(), 'to be a WeakSet'); // fails
545
+ * ```
546
+ *
547
+ * @group Basic Assertions
548
+ */
549
+ export const weakSetAssertion = createAssertion(['to be a WeakSet'], WeakSetSchema);
550
+ //# sourceMappingURL=sync-basic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-basic.js","sourceRoot":"","sources":["../../../src/assertion/impl/sync-basic.ts"],"names":[],"mappings":"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"}