bupkis 0.18.1 → 0.18.3

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 (379) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/package.json +3 -6
  3. package/src/assertion/assertion-sync.ts +1 -1
  4. package/src/assertion/assertion-types.ts +4 -4
  5. package/src/assertion/assertion.ts +11 -6
  6. package/src/assertion/impl/iteration-util.ts +2 -2
  7. package/src/assertion/impl/sync-parametric.ts +1 -1
  8. package/src/expect.ts +1 -5
  9. package/src/guards.ts +24 -24
  10. package/src/internal-schema.ts +16 -32
  11. package/src/value-to-schema.ts +1 -1
  12. package/dist/assertion/assertion-async.cjs +0 -268
  13. package/dist/assertion/assertion-async.cjs.map +0 -1
  14. package/dist/assertion/assertion-async.d.cts +0 -40
  15. package/dist/assertion/assertion-async.d.cts.map +0 -1
  16. package/dist/assertion/assertion-async.d.ts +0 -40
  17. package/dist/assertion/assertion-async.d.ts.map +0 -1
  18. package/dist/assertion/assertion-async.js +0 -259
  19. package/dist/assertion/assertion-async.js.map +0 -1
  20. package/dist/assertion/assertion-standard-schema-async.cjs +0 -132
  21. package/dist/assertion/assertion-standard-schema-async.cjs.map +0 -1
  22. package/dist/assertion/assertion-standard-schema-async.d.cts +0 -52
  23. package/dist/assertion/assertion-standard-schema-async.d.cts.map +0 -1
  24. package/dist/assertion/assertion-standard-schema-async.d.ts +0 -52
  25. package/dist/assertion/assertion-standard-schema-async.d.ts.map +0 -1
  26. package/dist/assertion/assertion-standard-schema-async.js +0 -128
  27. package/dist/assertion/assertion-standard-schema-async.js.map +0 -1
  28. package/dist/assertion/assertion-standard-schema-sync.cjs +0 -141
  29. package/dist/assertion/assertion-standard-schema-sync.cjs.map +0 -1
  30. package/dist/assertion/assertion-standard-schema-sync.d.cts +0 -52
  31. package/dist/assertion/assertion-standard-schema-sync.d.cts.map +0 -1
  32. package/dist/assertion/assertion-standard-schema-sync.d.ts +0 -52
  33. package/dist/assertion/assertion-standard-schema-sync.d.ts.map +0 -1
  34. package/dist/assertion/assertion-standard-schema-sync.js +0 -137
  35. package/dist/assertion/assertion-standard-schema-sync.js.map +0 -1
  36. package/dist/assertion/assertion-sync.cjs +0 -284
  37. package/dist/assertion/assertion-sync.cjs.map +0 -1
  38. package/dist/assertion/assertion-sync.d.cts +0 -60
  39. package/dist/assertion/assertion-sync.d.cts.map +0 -1
  40. package/dist/assertion/assertion-sync.d.ts +0 -60
  41. package/dist/assertion/assertion-sync.d.ts.map +0 -1
  42. package/dist/assertion/assertion-sync.js +0 -275
  43. package/dist/assertion/assertion-sync.js.map +0 -1
  44. package/dist/assertion/assertion-types.cjs +0 -20
  45. package/dist/assertion/assertion-types.cjs.map +0 -1
  46. package/dist/assertion/assertion-types.d.cts +0 -1086
  47. package/dist/assertion/assertion-types.d.cts.map +0 -1
  48. package/dist/assertion/assertion-types.d.ts +0 -1086
  49. package/dist/assertion/assertion-types.d.ts.map +0 -1
  50. package/dist/assertion/assertion-types.js +0 -19
  51. package/dist/assertion/assertion-types.js.map +0 -1
  52. package/dist/assertion/assertion.cjs +0 -382
  53. package/dist/assertion/assertion.cjs.map +0 -1
  54. package/dist/assertion/assertion.d.cts +0 -109
  55. package/dist/assertion/assertion.d.cts.map +0 -1
  56. package/dist/assertion/assertion.d.ts +0 -109
  57. package/dist/assertion/assertion.d.ts.map +0 -1
  58. package/dist/assertion/assertion.js +0 -375
  59. package/dist/assertion/assertion.js.map +0 -1
  60. package/dist/assertion/create.cjs +0 -148
  61. package/dist/assertion/create.cjs.map +0 -1
  62. package/dist/assertion/create.d.cts +0 -85
  63. package/dist/assertion/create.d.cts.map +0 -1
  64. package/dist/assertion/create.d.ts +0 -85
  65. package/dist/assertion/create.d.ts.map +0 -1
  66. package/dist/assertion/create.js +0 -143
  67. package/dist/assertion/create.js.map +0 -1
  68. package/dist/assertion/format-assertion-failure.cjs +0 -63
  69. package/dist/assertion/format-assertion-failure.cjs.map +0 -1
  70. package/dist/assertion/format-assertion-failure.d.cts +0 -21
  71. package/dist/assertion/format-assertion-failure.d.cts.map +0 -1
  72. package/dist/assertion/format-assertion-failure.d.ts +0 -21
  73. package/dist/assertion/format-assertion-failure.d.ts.map +0 -1
  74. package/dist/assertion/format-assertion-failure.js +0 -59
  75. package/dist/assertion/format-assertion-failure.js.map +0 -1
  76. package/dist/assertion/impl/assertion-util.cjs +0 -68
  77. package/dist/assertion/impl/assertion-util.cjs.map +0 -1
  78. package/dist/assertion/impl/assertion-util.d.cts +0 -36
  79. package/dist/assertion/impl/assertion-util.d.cts.map +0 -1
  80. package/dist/assertion/impl/assertion-util.d.ts +0 -36
  81. package/dist/assertion/impl/assertion-util.d.ts.map +0 -1
  82. package/dist/assertion/impl/assertion-util.js +0 -62
  83. package/dist/assertion/impl/assertion-util.js.map +0 -1
  84. package/dist/assertion/impl/async-iterable.cjs +0 -627
  85. package/dist/assertion/impl/async-iterable.cjs.map +0 -1
  86. package/dist/assertion/impl/async-iterable.d.cts +0 -406
  87. package/dist/assertion/impl/async-iterable.d.cts.map +0 -1
  88. package/dist/assertion/impl/async-iterable.d.ts +0 -406
  89. package/dist/assertion/impl/async-iterable.d.ts.map +0 -1
  90. package/dist/assertion/impl/async-iterable.js +0 -624
  91. package/dist/assertion/impl/async-iterable.js.map +0 -1
  92. package/dist/assertion/impl/async-parametric.cjs +0 -412
  93. package/dist/assertion/impl/async-parametric.cjs.map +0 -1
  94. package/dist/assertion/impl/async-parametric.d.cts +0 -278
  95. package/dist/assertion/impl/async-parametric.d.cts.map +0 -1
  96. package/dist/assertion/impl/async-parametric.d.ts +0 -278
  97. package/dist/assertion/impl/async-parametric.d.ts.map +0 -1
  98. package/dist/assertion/impl/async-parametric.js +0 -409
  99. package/dist/assertion/impl/async-parametric.js.map +0 -1
  100. package/dist/assertion/impl/async.cjs +0 -56
  101. package/dist/assertion/impl/async.cjs.map +0 -1
  102. package/dist/assertion/impl/async.d.cts +0 -179
  103. package/dist/assertion/impl/async.d.cts.map +0 -1
  104. package/dist/assertion/impl/async.d.ts +0 -179
  105. package/dist/assertion/impl/async.d.ts.map +0 -1
  106. package/dist/assertion/impl/async.js +0 -39
  107. package/dist/assertion/impl/async.js.map +0 -1
  108. package/dist/assertion/impl/index.cjs +0 -37
  109. package/dist/assertion/impl/index.cjs.map +0 -1
  110. package/dist/assertion/impl/index.d.cts +0 -21
  111. package/dist/assertion/impl/index.d.cts.map +0 -1
  112. package/dist/assertion/impl/index.d.ts +0 -21
  113. package/dist/assertion/impl/index.d.ts.map +0 -1
  114. package/dist/assertion/impl/index.js +0 -21
  115. package/dist/assertion/impl/index.js.map +0 -1
  116. package/dist/assertion/impl/iteration-util.cjs +0 -297
  117. package/dist/assertion/impl/iteration-util.cjs.map +0 -1
  118. package/dist/assertion/impl/iteration-util.d.cts +0 -12
  119. package/dist/assertion/impl/iteration-util.d.cts.map +0 -1
  120. package/dist/assertion/impl/iteration-util.d.ts +0 -12
  121. package/dist/assertion/impl/iteration-util.d.ts.map +0 -1
  122. package/dist/assertion/impl/iteration-util.js +0 -282
  123. package/dist/assertion/impl/iteration-util.js.map +0 -1
  124. package/dist/assertion/impl/snapshot.cjs +0 -276
  125. package/dist/assertion/impl/snapshot.cjs.map +0 -1
  126. package/dist/assertion/impl/snapshot.d.cts +0 -278
  127. package/dist/assertion/impl/snapshot.d.cts.map +0 -1
  128. package/dist/assertion/impl/snapshot.d.ts +0 -278
  129. package/dist/assertion/impl/snapshot.d.ts.map +0 -1
  130. package/dist/assertion/impl/snapshot.js +0 -273
  131. package/dist/assertion/impl/snapshot.js.map +0 -1
  132. package/dist/assertion/impl/sync-basic.cjs +0 -553
  133. package/dist/assertion/impl/sync-basic.cjs.map +0 -1
  134. package/dist/assertion/impl/sync-basic.d.cts +0 -528
  135. package/dist/assertion/impl/sync-basic.d.cts.map +0 -1
  136. package/dist/assertion/impl/sync-basic.d.ts +0 -528
  137. package/dist/assertion/impl/sync-basic.d.ts.map +0 -1
  138. package/dist/assertion/impl/sync-basic.js +0 -550
  139. package/dist/assertion/impl/sync-basic.js.map +0 -1
  140. package/dist/assertion/impl/sync-collection.cjs +0 -856
  141. package/dist/assertion/impl/sync-collection.cjs.map +0 -1
  142. package/dist/assertion/impl/sync-collection.d.cts +0 -607
  143. package/dist/assertion/impl/sync-collection.d.cts.map +0 -1
  144. package/dist/assertion/impl/sync-collection.d.ts +0 -607
  145. package/dist/assertion/impl/sync-collection.d.ts.map +0 -1
  146. package/dist/assertion/impl/sync-collection.js +0 -850
  147. package/dist/assertion/impl/sync-collection.js.map +0 -1
  148. package/dist/assertion/impl/sync-date.cjs +0 -341
  149. package/dist/assertion/impl/sync-date.cjs.map +0 -1
  150. package/dist/assertion/impl/sync-date.d.cts +0 -209
  151. package/dist/assertion/impl/sync-date.d.cts.map +0 -1
  152. package/dist/assertion/impl/sync-date.d.ts +0 -209
  153. package/dist/assertion/impl/sync-date.d.ts.map +0 -1
  154. package/dist/assertion/impl/sync-date.js +0 -338
  155. package/dist/assertion/impl/sync-date.js.map +0 -1
  156. package/dist/assertion/impl/sync-esoteric.cjs +0 -214
  157. package/dist/assertion/impl/sync-esoteric.cjs.map +0 -1
  158. package/dist/assertion/impl/sync-esoteric.d.cts +0 -191
  159. package/dist/assertion/impl/sync-esoteric.d.cts.map +0 -1
  160. package/dist/assertion/impl/sync-esoteric.d.ts +0 -191
  161. package/dist/assertion/impl/sync-esoteric.d.ts.map +0 -1
  162. package/dist/assertion/impl/sync-esoteric.js +0 -211
  163. package/dist/assertion/impl/sync-esoteric.js.map +0 -1
  164. package/dist/assertion/impl/sync-iterable.cjs +0 -512
  165. package/dist/assertion/impl/sync-iterable.cjs.map +0 -1
  166. package/dist/assertion/impl/sync-iterable.d.cts +0 -334
  167. package/dist/assertion/impl/sync-iterable.d.cts.map +0 -1
  168. package/dist/assertion/impl/sync-iterable.d.ts +0 -334
  169. package/dist/assertion/impl/sync-iterable.d.ts.map +0 -1
  170. package/dist/assertion/impl/sync-iterable.js +0 -509
  171. package/dist/assertion/impl/sync-iterable.js.map +0 -1
  172. package/dist/assertion/impl/sync-parametric.cjs +0 -805
  173. package/dist/assertion/impl/sync-parametric.cjs.map +0 -1
  174. package/dist/assertion/impl/sync-parametric.d.cts +0 -560
  175. package/dist/assertion/impl/sync-parametric.d.cts.map +0 -1
  176. package/dist/assertion/impl/sync-parametric.d.ts +0 -560
  177. package/dist/assertion/impl/sync-parametric.d.ts.map +0 -1
  178. package/dist/assertion/impl/sync-parametric.js +0 -802
  179. package/dist/assertion/impl/sync-parametric.js.map +0 -1
  180. package/dist/assertion/impl/sync.cjs +0 -214
  181. package/dist/assertion/impl/sync.cjs.map +0 -1
  182. package/dist/assertion/impl/sync.d.cts +0 -512
  183. package/dist/assertion/impl/sync.d.cts.map +0 -1
  184. package/dist/assertion/impl/sync.d.ts +0 -512
  185. package/dist/assertion/impl/sync.d.ts.map +0 -1
  186. package/dist/assertion/impl/sync.js +0 -197
  187. package/dist/assertion/impl/sync.js.map +0 -1
  188. package/dist/assertion/index.cjs +0 -38
  189. package/dist/assertion/index.cjs.map +0 -1
  190. package/dist/assertion/index.d.cts +0 -18
  191. package/dist/assertion/index.d.cts.map +0 -1
  192. package/dist/assertion/index.d.ts +0 -18
  193. package/dist/assertion/index.d.ts.map +0 -1
  194. package/dist/assertion/index.js +0 -17
  195. package/dist/assertion/index.js.map +0 -1
  196. package/dist/assertion/slotify.cjs +0 -165
  197. package/dist/assertion/slotify.cjs.map +0 -1
  198. package/dist/assertion/slotify.d.cts +0 -11
  199. package/dist/assertion/slotify.d.cts.map +0 -1
  200. package/dist/assertion/slotify.d.ts +0 -11
  201. package/dist/assertion/slotify.d.ts.map +0 -1
  202. package/dist/assertion/slotify.js +0 -161
  203. package/dist/assertion/slotify.js.map +0 -1
  204. package/dist/bootstrap.cjs +0 -43
  205. package/dist/bootstrap.cjs.map +0 -1
  206. package/dist/bootstrap.d.cts +0 -27
  207. package/dist/bootstrap.d.cts.map +0 -1
  208. package/dist/bootstrap.d.ts +0 -27
  209. package/dist/bootstrap.d.ts.map +0 -1
  210. package/dist/bootstrap.js +0 -40
  211. package/dist/bootstrap.js.map +0 -1
  212. package/dist/constant.cjs +0 -82
  213. package/dist/constant.cjs.map +0 -1
  214. package/dist/constant.d.cts +0 -69
  215. package/dist/constant.d.cts.map +0 -1
  216. package/dist/constant.d.ts +0 -69
  217. package/dist/constant.d.ts.map +0 -1
  218. package/dist/constant.js +0 -79
  219. package/dist/constant.js.map +0 -1
  220. package/dist/diff.cjs +0 -340
  221. package/dist/diff.cjs.map +0 -1
  222. package/dist/diff.d.cts +0 -51
  223. package/dist/diff.d.cts.map +0 -1
  224. package/dist/diff.d.ts +0 -51
  225. package/dist/diff.d.ts.map +0 -1
  226. package/dist/diff.js +0 -334
  227. package/dist/diff.js.map +0 -1
  228. package/dist/error.cjs +0 -204
  229. package/dist/error.cjs.map +0 -1
  230. package/dist/error.d.cts +0 -212
  231. package/dist/error.d.cts.map +0 -1
  232. package/dist/error.d.ts +0 -212
  233. package/dist/error.d.ts.map +0 -1
  234. package/dist/error.js +0 -191
  235. package/dist/error.js.map +0 -1
  236. package/dist/expect.cjs +0 -590
  237. package/dist/expect.cjs.map +0 -1
  238. package/dist/expect.d.cts +0 -138
  239. package/dist/expect.d.cts.map +0 -1
  240. package/dist/expect.d.ts +0 -138
  241. package/dist/expect.d.ts.map +0 -1
  242. package/dist/expect.js +0 -582
  243. package/dist/expect.js.map +0 -1
  244. package/dist/guards.cjs +0 -297
  245. package/dist/guards.cjs.map +0 -1
  246. package/dist/guards.d.cts +0 -231
  247. package/dist/guards.d.cts.map +0 -1
  248. package/dist/guards.d.ts +0 -231
  249. package/dist/guards.d.ts.map +0 -1
  250. package/dist/guards.js +0 -277
  251. package/dist/guards.js.map +0 -1
  252. package/dist/index.cjs +0 -111
  253. package/dist/index.cjs.map +0 -1
  254. package/dist/index.d.cts +0 -448
  255. package/dist/index.d.cts.map +0 -1
  256. package/dist/index.d.ts +0 -448
  257. package/dist/index.d.ts.map +0 -1
  258. package/dist/index.js +0 -71
  259. package/dist/index.js.map +0 -1
  260. package/dist/internal-schema.cjs +0 -253
  261. package/dist/internal-schema.cjs.map +0 -1
  262. package/dist/internal-schema.d.cts +0 -8
  263. package/dist/internal-schema.d.cts.map +0 -1
  264. package/dist/internal-schema.d.ts +0 -8
  265. package/dist/internal-schema.d.ts.map +0 -1
  266. package/dist/internal-schema.js +0 -248
  267. package/dist/internal-schema.js.map +0 -1
  268. package/dist/metadata.cjs +0 -57
  269. package/dist/metadata.cjs.map +0 -1
  270. package/dist/metadata.d.cts +0 -27
  271. package/dist/metadata.d.cts.map +0 -1
  272. package/dist/metadata.d.ts +0 -27
  273. package/dist/metadata.d.ts.map +0 -1
  274. package/dist/metadata.js +0 -54
  275. package/dist/metadata.js.map +0 -1
  276. package/dist/schema.cjs +0 -1522
  277. package/dist/schema.cjs.map +0 -1
  278. package/dist/schema.d.cts +0 -1196
  279. package/dist/schema.d.cts.map +0 -1
  280. package/dist/schema.d.ts +0 -1196
  281. package/dist/schema.d.ts.map +0 -1
  282. package/dist/schema.js +0 -1516
  283. package/dist/schema.js.map +0 -1
  284. package/dist/snapshot/adapter.cjs +0 -31
  285. package/dist/snapshot/adapter.cjs.map +0 -1
  286. package/dist/snapshot/adapter.d.cts +0 -258
  287. package/dist/snapshot/adapter.d.cts.map +0 -1
  288. package/dist/snapshot/adapter.d.ts +0 -258
  289. package/dist/snapshot/adapter.d.ts.map +0 -1
  290. package/dist/snapshot/adapter.js +0 -27
  291. package/dist/snapshot/adapter.js.map +0 -1
  292. package/dist/snapshot/adapters/fallback.cjs +0 -453
  293. package/dist/snapshot/adapters/fallback.cjs.map +0 -1
  294. package/dist/snapshot/adapters/fallback.d.cts +0 -185
  295. package/dist/snapshot/adapters/fallback.d.cts.map +0 -1
  296. package/dist/snapshot/adapters/fallback.d.ts +0 -185
  297. package/dist/snapshot/adapters/fallback.d.ts.map +0 -1
  298. package/dist/snapshot/adapters/fallback.js +0 -446
  299. package/dist/snapshot/adapters/fallback.js.map +0 -1
  300. package/dist/snapshot/adapters/node-test.cjs +0 -301
  301. package/dist/snapshot/adapters/node-test.cjs.map +0 -1
  302. package/dist/snapshot/adapters/node-test.d.cts +0 -131
  303. package/dist/snapshot/adapters/node-test.d.cts.map +0 -1
  304. package/dist/snapshot/adapters/node-test.d.ts +0 -131
  305. package/dist/snapshot/adapters/node-test.d.ts.map +0 -1
  306. package/dist/snapshot/adapters/node-test.js +0 -297
  307. package/dist/snapshot/adapters/node-test.js.map +0 -1
  308. package/dist/snapshot/index.cjs +0 -61
  309. package/dist/snapshot/index.cjs.map +0 -1
  310. package/dist/snapshot/index.d.cts +0 -40
  311. package/dist/snapshot/index.d.cts.map +0 -1
  312. package/dist/snapshot/index.d.ts +0 -40
  313. package/dist/snapshot/index.d.ts.map +0 -1
  314. package/dist/snapshot/index.js +0 -44
  315. package/dist/snapshot/index.js.map +0 -1
  316. package/dist/snapshot/node-version.cjs +0 -49
  317. package/dist/snapshot/node-version.cjs.map +0 -1
  318. package/dist/snapshot/node-version.d.cts +0 -34
  319. package/dist/snapshot/node-version.d.cts.map +0 -1
  320. package/dist/snapshot/node-version.d.ts +0 -34
  321. package/dist/snapshot/node-version.d.ts.map +0 -1
  322. package/dist/snapshot/node-version.js +0 -44
  323. package/dist/snapshot/node-version.js.map +0 -1
  324. package/dist/snapshot/select-adapter.cjs +0 -170
  325. package/dist/snapshot/select-adapter.cjs.map +0 -1
  326. package/dist/snapshot/select-adapter.d.cts +0 -128
  327. package/dist/snapshot/select-adapter.d.cts.map +0 -1
  328. package/dist/snapshot/select-adapter.d.ts +0 -128
  329. package/dist/snapshot/select-adapter.d.ts.map +0 -1
  330. package/dist/snapshot/select-adapter.js +0 -164
  331. package/dist/snapshot/select-adapter.js.map +0 -1
  332. package/dist/snapshot/serializer.cjs +0 -246
  333. package/dist/snapshot/serializer.cjs.map +0 -1
  334. package/dist/snapshot/serializer.d.cts +0 -126
  335. package/dist/snapshot/serializer.d.cts.map +0 -1
  336. package/dist/snapshot/serializer.d.ts +0 -126
  337. package/dist/snapshot/serializer.d.ts.map +0 -1
  338. package/dist/snapshot/serializer.js +0 -238
  339. package/dist/snapshot/serializer.js.map +0 -1
  340. package/dist/standard-schema.cjs +0 -13
  341. package/dist/standard-schema.cjs.map +0 -1
  342. package/dist/standard-schema.d.cts +0 -192
  343. package/dist/standard-schema.d.cts.map +0 -1
  344. package/dist/standard-schema.d.ts +0 -192
  345. package/dist/standard-schema.d.ts.map +0 -1
  346. package/dist/standard-schema.js +0 -12
  347. package/dist/standard-schema.js.map +0 -1
  348. package/dist/types.cjs +0 -22
  349. package/dist/types.cjs.map +0 -1
  350. package/dist/types.d.cts +0 -905
  351. package/dist/types.d.cts.map +0 -1
  352. package/dist/types.d.ts +0 -905
  353. package/dist/types.d.ts.map +0 -1
  354. package/dist/types.js +0 -21
  355. package/dist/types.js.map +0 -1
  356. package/dist/use.cjs +0 -240
  357. package/dist/use.cjs.map +0 -1
  358. package/dist/use.d.cts +0 -8
  359. package/dist/use.d.cts.map +0 -1
  360. package/dist/use.d.ts +0 -8
  361. package/dist/use.d.ts.map +0 -1
  362. package/dist/use.js +0 -236
  363. package/dist/use.js.map +0 -1
  364. package/dist/util.cjs +0 -255
  365. package/dist/util.cjs.map +0 -1
  366. package/dist/util.d.cts +0 -141
  367. package/dist/util.d.cts.map +0 -1
  368. package/dist/util.d.ts +0 -141
  369. package/dist/util.d.ts.map +0 -1
  370. package/dist/util.js +0 -234
  371. package/dist/util.js.map +0 -1
  372. package/dist/value-to-schema.cjs +0 -537
  373. package/dist/value-to-schema.cjs.map +0 -1
  374. package/dist/value-to-schema.d.cts +0 -144
  375. package/dist/value-to-schema.d.cts.map +0 -1
  376. package/dist/value-to-schema.d.ts +0 -144
  377. package/dist/value-to-schema.d.ts.map +0 -1
  378. package/dist/value-to-schema.js +0 -533
  379. package/dist/value-to-schema.js.map +0 -1
@@ -1,512 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SyncIterableAssertions = exports.iterableYieldsSequenceSatisfyingAssertion = exports.iterableYieldsExactlyAssertion = exports.iterableEmptyAssertion = exports.iterableYieldsAtMostAssertion = exports.iterableYieldsAtLeastAssertion = exports.iterableYieldsCountAssertion = exports.iterableYieldsLastExhaustivelyAssertion = exports.iterableYieldsLastAssertion = exports.iterableYieldsFirstExhaustivelyAssertion = exports.iterableYieldsFirstAssertion = exports.iterableYieldsItemsExhaustivelyAssertion = exports.iterableYieldsItemsSatisfyingAssertion = exports.iterableYieldsExhaustivelyAssertion = exports.iterableYieldsAssertion = void 0;
4
- // do not remove; otherwise zshy will not resolve the .d.ts file; it must be referenced directly
5
- // eslint-disable-next-line @typescript-eslint/triple-slash-reference
6
- /// <reference path="./shims.d.ts" />
7
- /**
8
- * Iterable assertions for synchronous iterables and iterators.
9
- *
10
- * These assertions test iterables using the **iteration protocol**
11
- * (`Symbol.iterator`), as opposed to collection assertions which use native
12
- * collection APIs. This distinction matters when a subject has custom
13
- * `Symbol.iterator` behavior that differs from its collection API.
14
- *
15
- * @packageDocumentation
16
- * @groupDescription Sync Iterable Assertions
17
- * Assertions for synchronous iterables and iterators using the iteration protocol.
18
- *
19
- * @showGroup
20
- */
21
- const node_util_1 = require("node:util");
22
- const zod_1 = require("zod");
23
- const schema_js_1 = require("../../schema.cjs");
24
- const value_to_schema_js_1 = require("../../value-to-schema.cjs");
25
- const create_js_1 = require("../create.cjs");
26
- const iteration_util_js_1 = require("./iteration-util.cjs");
27
- // =============================================================================
28
- // 'to yield' assertions - check if ANY item matches
29
- // =============================================================================
30
- /**
31
- * Asserts that an iterable yields a value satisfying the expected shape.
32
- *
33
- * Uses partial/satisfy semantics (like `'to satisfy'`). The assertion passes if
34
- * ANY yielded value matches the expected shape.
35
- *
36
- * @example
37
- *
38
- * ```ts
39
- * expect([{ a: 1, b: 2 }], 'to yield', { a: 1 }); // passes (partial match)
40
- * expect([1, 2, 3], 'to emit', 2); // passes
41
- * expect(myGenerator(), 'to yield value satisfying', { name: 'test' }); // passes
42
- * ```
43
- *
44
- * @group Sync Iterable Assertions
45
- * @bupkisAnchor iterable-to-yield-any
46
- * @bupkisAssertionCategory iterable
47
- */
48
- exports.iterableYieldsAssertion = (0, create_js_1.createAssertion)([
49
- schema_js_1.SyncIterableOrIteratorSchema,
50
- ['to yield', 'to emit', 'to yield value satisfying'],
51
- schema_js_1.UnknownSchema,
52
- ], (subject, expected) => {
53
- const iterator = (0, iteration_util_js_1.toIterator)(subject);
54
- const schema = (0, value_to_schema_js_1.valueToSchema)(expected, value_to_schema_js_1.valueToSchemaOptionsForSatisfies);
55
- let next = iterator.next();
56
- while (!next.done) {
57
- if (schema.safeParse(next.value).success) {
58
- return; // success - found a matching value
59
- }
60
- next = iterator.next();
61
- }
62
- return {
63
- message: `Expected iterable to yield a value satisfying ${(0, node_util_1.inspect)(expected)}, but none matched`,
64
- };
65
- });
66
- /**
67
- * Asserts that an iterable yields a value exhaustively matching the expected
68
- * value.
69
- *
70
- * Uses deep equality semantics (like `'to equal'`). Extra properties on yielded
71
- * values cause failure.
72
- *
73
- * @example
74
- *
75
- * ```ts
76
- * expect([{ a: 1 }], 'to yield value exhaustively satisfying', { a: 1 }); // passes
77
- * expect([{ a: 1, b: 2 }], 'to yield value exhaustively satisfying', {
78
- * a: 1,
79
- * }); // fails (extra prop)
80
- * ```
81
- *
82
- * @group Sync Iterable Assertions
83
- * @bupkisAnchor iterable-to-yield-value-exhaustively-satisfying-any
84
- * @bupkisAssertionCategory iterable
85
- */
86
- exports.iterableYieldsExhaustivelyAssertion = (0, create_js_1.createAssertion)([
87
- schema_js_1.SyncIterableOrIteratorSchema,
88
- 'to yield value exhaustively satisfying',
89
- schema_js_1.UnknownSchema,
90
- ], (subject, expected) => {
91
- const iterator = (0, iteration_util_js_1.toIterator)(subject);
92
- const schema = (0, value_to_schema_js_1.valueToSchema)(expected, value_to_schema_js_1.valueToSchemaOptionsForDeepEqual);
93
- let next = iterator.next();
94
- while (!next.done) {
95
- if (schema.safeParse(next.value).success) {
96
- return; // success - found an exact match
97
- }
98
- next = iterator.next();
99
- }
100
- return {
101
- message: `Expected iterable to yield a value exhaustively satisfying ${(0, node_util_1.inspect)(expected)}, but none matched`,
102
- };
103
- });
104
- // =============================================================================
105
- // 'to yield items satisfying' - ALL items must match
106
- // =============================================================================
107
- /**
108
- * Asserts that ALL yielded values individually satisfy the expected shape.
109
- *
110
- * Uses partial/satisfy semantics. Every item yielded must match.
111
- *
112
- * @example
113
- *
114
- * ```ts
115
- * expect([{ a: 1 }, { a: 2, b: 3 }], 'to yield items satisfying', {
116
- * a: z.number(),
117
- * }); // passes
118
- * expect([1, 2, 3], 'to yield items satisfying', z.number()); // passes
119
- * ```
120
- *
121
- * @group Sync Iterable Assertions
122
- * @bupkisAnchor iterable-to-yield-items-satisfying-any
123
- * @bupkisAssertionCategory iterable
124
- */
125
- exports.iterableYieldsItemsSatisfyingAssertion = (0, create_js_1.createAssertion)([schema_js_1.SyncIterableOrIteratorSchema, 'to yield items satisfying', schema_js_1.UnknownSchema], (subject, expected) => {
126
- const iterator = (0, iteration_util_js_1.toIterator)(subject);
127
- const schema = (0, value_to_schema_js_1.valueToSchema)(expected, value_to_schema_js_1.valueToSchemaOptionsForSatisfies);
128
- let index = 0;
129
- let next = iterator.next();
130
- while (!next.done) {
131
- const result = schema.safeParse(next.value);
132
- if (!result.success) {
133
- return {
134
- message: `Expected all items to satisfy ${(0, node_util_1.inspect)(expected)}, but item at index ${index} did not match: ${(0, node_util_1.inspect)(next.value)}`,
135
- };
136
- }
137
- index++;
138
- next = iterator.next();
139
- }
140
- // Empty iterables trivially satisfy (vacuous truth)
141
- });
142
- /**
143
- * Asserts that ALL yielded values individually match with deep equality.
144
- *
145
- * Uses strict equality semantics. Every item yielded must exactly match.
146
- *
147
- * @example
148
- *
149
- * ```ts
150
- * expect([{ a: 1 }, { a: 1 }], 'to yield items exhaustively satisfying', {
151
- * a: 1,
152
- * }); // passes
153
- * expect([{ a: 1, b: 2 }], 'to yield items exhaustively satisfying', {
154
- * a: 1,
155
- * }); // fails
156
- * ```
157
- *
158
- * @group Sync Iterable Assertions
159
- * @bupkisAnchor iterable-to-yield-items-exhaustively-satisfying-any
160
- * @bupkisAssertionCategory iterable
161
- */
162
- exports.iterableYieldsItemsExhaustivelyAssertion = (0, create_js_1.createAssertion)([
163
- schema_js_1.SyncIterableOrIteratorSchema,
164
- 'to yield items exhaustively satisfying',
165
- schema_js_1.UnknownSchema,
166
- ], (subject, expected) => {
167
- const iterator = (0, iteration_util_js_1.toIterator)(subject);
168
- const schema = (0, value_to_schema_js_1.valueToSchema)(expected, value_to_schema_js_1.valueToSchemaOptionsForDeepEqual);
169
- let index = 0;
170
- let next = iterator.next();
171
- while (!next.done) {
172
- const result = schema.safeParse(next.value);
173
- if (!result.success) {
174
- return {
175
- message: `Expected all items to exhaustively satisfy ${(0, node_util_1.inspect)(expected)}, but item at index ${index} did not match: ${(0, node_util_1.inspect)(next.value)}`,
176
- };
177
- }
178
- index++;
179
- next = iterator.next();
180
- }
181
- });
182
- // =============================================================================
183
- // First/Last assertions
184
- // =============================================================================
185
- /**
186
- * Asserts that the first yielded value satisfies the expected shape.
187
- *
188
- * Uses partial/satisfy semantics.
189
- *
190
- * @example
191
- *
192
- * ```ts
193
- * expect([{ a: 1, b: 2 }, { c: 3 }], 'to yield first', { a: 1 }); // passes
194
- * expect([1, 2, 3], 'to yield first satisfying', 1); // passes
195
- * ```
196
- *
197
- * @group Sync Iterable Assertions
198
- * @bupkisAnchor iterable-to-yield-first-any
199
- * @bupkisAssertionCategory iterable
200
- */
201
- exports.iterableYieldsFirstAssertion = (0, create_js_1.createAssertion)([
202
- schema_js_1.SyncIterableOrIteratorSchema,
203
- ['to yield first', 'to yield first satisfying'],
204
- schema_js_1.UnknownSchema,
205
- ], (subject, expected) => {
206
- // Only call toIterator once to avoid exhausting raw iterators
207
- const iterator = (0, iteration_util_js_1.toIterator)(subject);
208
- const result = iterator.next();
209
- if (result.done) {
210
- return {
211
- message: 'Expected iterable to yield at least one value, but it was empty',
212
- };
213
- }
214
- const schema = (0, value_to_schema_js_1.valueToSchema)(expected, value_to_schema_js_1.valueToSchemaOptionsForSatisfies);
215
- if (!schema.safeParse(result.value).success) {
216
- return {
217
- message: `Expected first yielded value to satisfy ${(0, node_util_1.inspect)(expected)}, but got ${(0, node_util_1.inspect)(result.value)}`,
218
- };
219
- }
220
- });
221
- /**
222
- * Asserts that the first yielded value exhaustively matches.
223
- *
224
- * Uses deep equality semantics.
225
- *
226
- * @example
227
- *
228
- * ```ts
229
- * expect([{ a: 1 }], 'to yield first exhaustively satisfying', { a: 1 }); // passes
230
- * expect([{ a: 1, b: 2 }], 'to yield first exhaustively satisfying', {
231
- * a: 1,
232
- * }); // fails
233
- * ```
234
- *
235
- * @group Sync Iterable Assertions
236
- * @bupkisAnchor iterable-to-yield-first-exhaustively-satisfying-any
237
- * @bupkisAssertionCategory iterable
238
- */
239
- exports.iterableYieldsFirstExhaustivelyAssertion = (0, create_js_1.createAssertion)([
240
- schema_js_1.SyncIterableOrIteratorSchema,
241
- 'to yield first exhaustively satisfying',
242
- schema_js_1.UnknownSchema,
243
- ], (subject, expected) => {
244
- const iterator = (0, iteration_util_js_1.toIterator)(subject);
245
- const result = iterator.next();
246
- if (result.done) {
247
- return {
248
- message: 'Expected iterable to yield at least one value, but it was empty',
249
- };
250
- }
251
- const schema = (0, value_to_schema_js_1.valueToSchema)(expected, value_to_schema_js_1.valueToSchemaOptionsForDeepEqual);
252
- if (!schema.safeParse(result.value).success) {
253
- return {
254
- message: `Expected first yielded value to exhaustively satisfy ${(0, node_util_1.inspect)(expected)}, but got ${(0, node_util_1.inspect)(result.value)}`,
255
- };
256
- }
257
- });
258
- /**
259
- * Asserts that the last yielded value satisfies the expected shape.
260
- *
261
- * Uses partial/satisfy semantics. Note: fully consumes the iterator.
262
- *
263
- * @example
264
- *
265
- * ```ts
266
- * expect([{ a: 1 }, { b: 2, c: 3 }], 'to yield last', { b: 2 }); // passes
267
- * expect([1, 2, 3], 'to yield last satisfying', 3); // passes
268
- * ```
269
- *
270
- * @group Sync Iterable Assertions
271
- * @bupkisAnchor iterable-to-yield-last-any
272
- * @bupkisAssertionCategory iterable
273
- */
274
- exports.iterableYieldsLastAssertion = (0, create_js_1.createAssertion)([
275
- schema_js_1.SyncIterableOrIteratorSchema,
276
- ['to yield last', 'to yield last satisfying'],
277
- schema_js_1.UnknownSchema,
278
- ], (subject, expected) => {
279
- const { hasValue, lastValue } = (0, iteration_util_js_1.iterateFullySync)(subject);
280
- if (!hasValue) {
281
- return {
282
- message: 'Expected iterable to yield at least one value, but it was empty',
283
- };
284
- }
285
- const schema = (0, value_to_schema_js_1.valueToSchema)(expected, value_to_schema_js_1.valueToSchemaOptionsForSatisfies);
286
- if (!schema.safeParse(lastValue).success) {
287
- return {
288
- message: `Expected last yielded value to satisfy ${(0, node_util_1.inspect)(expected)}, but got ${(0, node_util_1.inspect)(lastValue)}`,
289
- };
290
- }
291
- });
292
- /**
293
- * Asserts that the last yielded value exhaustively matches.
294
- *
295
- * Uses deep equality semantics. Note: fully consumes the iterator.
296
- *
297
- * @example
298
- *
299
- * ```ts
300
- * expect([{ a: 1 }, { b: 2 }], 'to yield last exhaustively satisfying', {
301
- * b: 2,
302
- * }); // passes
303
- * expect(
304
- * [{ a: 1, extra: true }],
305
- * 'to yield last exhaustively satisfying',
306
- * { a: 1 },
307
- * ); // fails
308
- * ```
309
- *
310
- * @group Sync Iterable Assertions
311
- * @bupkisAnchor iterable-to-yield-last-exhaustively-satisfying-any
312
- * @bupkisAssertionCategory iterable
313
- */
314
- exports.iterableYieldsLastExhaustivelyAssertion = (0, create_js_1.createAssertion)([
315
- schema_js_1.SyncIterableOrIteratorSchema,
316
- 'to yield last exhaustively satisfying',
317
- schema_js_1.UnknownSchema,
318
- ], (subject, expected) => {
319
- const { hasValue, lastValue } = (0, iteration_util_js_1.iterateFullySync)(subject);
320
- if (!hasValue) {
321
- return {
322
- message: 'Expected iterable to yield at least one value, but it was empty',
323
- };
324
- }
325
- const schema = (0, value_to_schema_js_1.valueToSchema)(expected, value_to_schema_js_1.valueToSchemaOptionsForDeepEqual);
326
- if (!schema.safeParse(lastValue).success) {
327
- return {
328
- message: `Expected last yielded value to exhaustively satisfy ${(0, node_util_1.inspect)(expected)}, but got ${(0, node_util_1.inspect)(lastValue)}`,
329
- };
330
- }
331
- });
332
- // =============================================================================
333
- // Cardinality assertions
334
- // =============================================================================
335
- /**
336
- * Asserts that an iterable yields exactly the specified count of values.
337
- *
338
- * @example
339
- *
340
- * ```ts
341
- * expect([1, 2, 3], 'to yield count', 3); // passes
342
- * expect(new Set([1, 2]), 'to yield count', 2); // passes
343
- * ```
344
- *
345
- * @group Sync Iterable Assertions
346
- * @bupkisAnchor iterable-to-yield-count-number
347
- * @bupkisAssertionCategory iterable
348
- */
349
- exports.iterableYieldsCountAssertion = (0, create_js_1.createAssertion)([schema_js_1.SyncIterableOrIteratorSchema, 'to yield count', schema_js_1.NonNegativeIntegerSchema], (subject, expectedCount) => {
350
- const actual = (0, iteration_util_js_1.countSync)(subject);
351
- if (actual !== expectedCount) {
352
- return {
353
- actual,
354
- expected: expectedCount,
355
- message: `Expected iterable to yield ${expectedCount} value(s), but yielded ${actual}`,
356
- };
357
- }
358
- });
359
- /**
360
- * Asserts that an iterable yields at least the specified count of values.
361
- *
362
- * @example
363
- *
364
- * ```ts
365
- * expect([1, 2, 3], 'to yield at least', 2); // passes
366
- * expect([1], 'to yield at least', 2); // fails
367
- * ```
368
- *
369
- * @group Sync Iterable Assertions
370
- * @bupkisAnchor iterable-to-yield-at-least-number
371
- * @bupkisAssertionCategory iterable
372
- */
373
- exports.iterableYieldsAtLeastAssertion = (0, create_js_1.createAssertion)([schema_js_1.SyncIterableOrIteratorSchema, 'to yield at least', schema_js_1.NonNegativeIntegerSchema], (subject, minCount) => {
374
- const actual = (0, iteration_util_js_1.countSync)(subject);
375
- if (actual < minCount) {
376
- return {
377
- actual,
378
- expected: `at least ${minCount}`,
379
- message: `Expected iterable to yield at least ${minCount} value(s), but yielded ${actual}`,
380
- };
381
- }
382
- });
383
- /**
384
- * Asserts that an iterable yields at most the specified count of values.
385
- *
386
- * @example
387
- *
388
- * ```ts
389
- * expect([1, 2], 'to yield at most', 3); // passes
390
- * expect([1, 2, 3, 4], 'to yield at most', 3); // fails
391
- * ```
392
- *
393
- * @group Sync Iterable Assertions
394
- * @bupkisAnchor iterable-to-yield-at-most-number
395
- * @bupkisAssertionCategory iterable
396
- */
397
- exports.iterableYieldsAtMostAssertion = (0, create_js_1.createAssertion)([schema_js_1.SyncIterableOrIteratorSchema, 'to yield at most', schema_js_1.NonNegativeIntegerSchema], (subject, maxCount) => {
398
- const actual = (0, iteration_util_js_1.countSync)(subject);
399
- if (actual > maxCount) {
400
- return {
401
- actual,
402
- expected: `at most ${maxCount}`,
403
- message: `Expected iterable to yield at most ${maxCount} value(s), but yielded ${actual}`,
404
- };
405
- }
406
- });
407
- /**
408
- * Asserts that an iterable yields nothing (is empty).
409
- *
410
- * @remarks
411
- * Use `'not to be an empty iterable'` or `'to yield at least', 1` for non-empty
412
- * assertions.
413
- * @example
414
- *
415
- * ```ts
416
- * expect([], 'to be an empty iterable'); // passes
417
- * expect(new Set(), 'to be an empty iterable'); // passes
418
- * expect([1], 'to be an empty iterable'); // fails
419
- * ```
420
- *
421
- * @group Sync Iterable Assertions
422
- * @bupkisAnchor iterable-to-be-an-empty-iterable
423
- * @bupkisAssertionCategory iterable
424
- */
425
- exports.iterableEmptyAssertion = (0, create_js_1.createAssertion)([schema_js_1.SyncIterableOrIteratorSchema, 'to be an empty iterable'], (subject) => {
426
- const iterator = (0, iteration_util_js_1.toIterator)(subject);
427
- const result = iterator.next();
428
- if (!result.done) {
429
- return {
430
- message: `Expected iterable to be empty, but it yielded at least one value: ${(0, node_util_1.inspect)(result.value)}`,
431
- };
432
- }
433
- });
434
- // =============================================================================
435
- // Sequence/Collection assertions
436
- // =============================================================================
437
- /**
438
- * Asserts that an iterable yields exactly the specified values in order.
439
- *
440
- * Uses deep equality semantics. The iterable must yield the exact same number
441
- * of values in the exact same order.
442
- *
443
- * @example
444
- *
445
- * ```ts
446
- * expect([1, 2, 3], 'to yield exactly', [1, 2, 3]); // passes
447
- * expect([{ a: 1, b: 2 }], 'to yield exactly', [{ a: 1 }]); // fails (extra prop)
448
- * ```
449
- *
450
- * @group Sync Iterable Assertions
451
- * @bupkisAnchor iterable-to-yield-exactly-array
452
- * @bupkisAssertionCategory iterable
453
- */
454
- exports.iterableYieldsExactlyAssertion = (0, create_js_1.createAssertion)([schema_js_1.SyncIterableOrIteratorSchema, 'to yield exactly', zod_1.z.array(schema_js_1.UnknownSchema)], (subject, expected) => {
455
- const actual = (0, iteration_util_js_1.collectSync)(subject);
456
- const schema = (0, value_to_schema_js_1.valueToSchema)(expected, value_to_schema_js_1.valueToSchemaOptionsForDeepEqual);
457
- return { schema, subject: actual };
458
- });
459
- /**
460
- * Asserts that an iterable yields values that satisfy the expected sequence.
461
- *
462
- * Uses satisfy/partial matching semantics on the collected array.
463
- *
464
- * @example
465
- *
466
- * ```ts
467
- * expect([{ a: 1, b: 2 }], 'to yield sequence satisfying', [{ a: 1 }]); // passes
468
- * expect([1, 2, 3], 'to yield array satisfying', [1, 2, 3]); // passes
469
- * ```
470
- *
471
- * @group Sync Iterable Assertions
472
- * @bupkisAnchor iterable-to-yield-sequence-satisfying-array
473
- * @bupkisAssertionCategory iterable
474
- */
475
- exports.iterableYieldsSequenceSatisfyingAssertion = (0, create_js_1.createAssertion)([
476
- schema_js_1.SyncIterableOrIteratorSchema,
477
- ['to yield sequence satisfying', 'to yield array satisfying'],
478
- zod_1.z.array(schema_js_1.UnknownSchema),
479
- ], (subject, expected) => {
480
- const actual = (0, iteration_util_js_1.collectSync)(subject);
481
- const schema = (0, value_to_schema_js_1.valueToSchema)(expected, value_to_schema_js_1.valueToSchemaOptionsForSatisfies);
482
- return { schema, subject: actual };
483
- });
484
- // =============================================================================
485
- // Export all sync iterable assertions as a tuple
486
- // =============================================================================
487
- /**
488
- * All synchronous iterable assertions bundled as a tuple for convenient
489
- * registration.
490
- */
491
- exports.SyncIterableAssertions = [
492
- // 'to yield' - any item matches
493
- exports.iterableYieldsAssertion,
494
- exports.iterableYieldsExhaustivelyAssertion,
495
- // 'to yield items' - all items must match
496
- exports.iterableYieldsItemsSatisfyingAssertion,
497
- exports.iterableYieldsItemsExhaustivelyAssertion,
498
- // First/last assertions
499
- exports.iterableYieldsFirstAssertion,
500
- exports.iterableYieldsFirstExhaustivelyAssertion,
501
- exports.iterableYieldsLastAssertion,
502
- exports.iterableYieldsLastExhaustivelyAssertion,
503
- // Cardinality
504
- exports.iterableYieldsCountAssertion,
505
- exports.iterableYieldsAtLeastAssertion,
506
- exports.iterableYieldsAtMostAssertion,
507
- exports.iterableEmptyAssertion,
508
- // Sequence
509
- exports.iterableYieldsExactlyAssertion,
510
- exports.iterableYieldsSequenceSatisfyingAssertion,
511
- ];
512
- //# sourceMappingURL=sync-iterable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync-iterable.js","sourceRoot":"","sources":["../../../src/assertion/impl/sync-iterable.ts"],"names":[],"mappings":"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"}