bupkis 0.18.0 → 0.18.2

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 (377) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/package.json +1 -4
  3. package/src/assertion/assertion-types.ts +4 -4
  4. package/src/assertion/impl/async-parametric.ts +4 -21
  5. package/src/assertion/impl/sync-parametric.ts +5 -17
  6. package/src/expect.ts +0 -4
  7. package/src/guards.ts +24 -24
  8. package/src/internal-schema.ts +16 -32
  9. package/src/value-to-schema.ts +1 -1
  10. package/dist/assertion/assertion-async.cjs +0 -268
  11. package/dist/assertion/assertion-async.cjs.map +0 -1
  12. package/dist/assertion/assertion-async.d.cts +0 -40
  13. package/dist/assertion/assertion-async.d.cts.map +0 -1
  14. package/dist/assertion/assertion-async.d.ts +0 -40
  15. package/dist/assertion/assertion-async.d.ts.map +0 -1
  16. package/dist/assertion/assertion-async.js +0 -259
  17. package/dist/assertion/assertion-async.js.map +0 -1
  18. package/dist/assertion/assertion-standard-schema-async.cjs +0 -132
  19. package/dist/assertion/assertion-standard-schema-async.cjs.map +0 -1
  20. package/dist/assertion/assertion-standard-schema-async.d.cts +0 -52
  21. package/dist/assertion/assertion-standard-schema-async.d.cts.map +0 -1
  22. package/dist/assertion/assertion-standard-schema-async.d.ts +0 -52
  23. package/dist/assertion/assertion-standard-schema-async.d.ts.map +0 -1
  24. package/dist/assertion/assertion-standard-schema-async.js +0 -128
  25. package/dist/assertion/assertion-standard-schema-async.js.map +0 -1
  26. package/dist/assertion/assertion-standard-schema-sync.cjs +0 -141
  27. package/dist/assertion/assertion-standard-schema-sync.cjs.map +0 -1
  28. package/dist/assertion/assertion-standard-schema-sync.d.cts +0 -52
  29. package/dist/assertion/assertion-standard-schema-sync.d.cts.map +0 -1
  30. package/dist/assertion/assertion-standard-schema-sync.d.ts +0 -52
  31. package/dist/assertion/assertion-standard-schema-sync.d.ts.map +0 -1
  32. package/dist/assertion/assertion-standard-schema-sync.js +0 -137
  33. package/dist/assertion/assertion-standard-schema-sync.js.map +0 -1
  34. package/dist/assertion/assertion-sync.cjs +0 -284
  35. package/dist/assertion/assertion-sync.cjs.map +0 -1
  36. package/dist/assertion/assertion-sync.d.cts +0 -60
  37. package/dist/assertion/assertion-sync.d.cts.map +0 -1
  38. package/dist/assertion/assertion-sync.d.ts +0 -60
  39. package/dist/assertion/assertion-sync.d.ts.map +0 -1
  40. package/dist/assertion/assertion-sync.js +0 -275
  41. package/dist/assertion/assertion-sync.js.map +0 -1
  42. package/dist/assertion/assertion-types.cjs +0 -20
  43. package/dist/assertion/assertion-types.cjs.map +0 -1
  44. package/dist/assertion/assertion-types.d.cts +0 -1086
  45. package/dist/assertion/assertion-types.d.cts.map +0 -1
  46. package/dist/assertion/assertion-types.d.ts +0 -1086
  47. package/dist/assertion/assertion-types.d.ts.map +0 -1
  48. package/dist/assertion/assertion-types.js +0 -19
  49. package/dist/assertion/assertion-types.js.map +0 -1
  50. package/dist/assertion/assertion.cjs +0 -382
  51. package/dist/assertion/assertion.cjs.map +0 -1
  52. package/dist/assertion/assertion.d.cts +0 -109
  53. package/dist/assertion/assertion.d.cts.map +0 -1
  54. package/dist/assertion/assertion.d.ts +0 -109
  55. package/dist/assertion/assertion.d.ts.map +0 -1
  56. package/dist/assertion/assertion.js +0 -375
  57. package/dist/assertion/assertion.js.map +0 -1
  58. package/dist/assertion/create.cjs +0 -148
  59. package/dist/assertion/create.cjs.map +0 -1
  60. package/dist/assertion/create.d.cts +0 -85
  61. package/dist/assertion/create.d.cts.map +0 -1
  62. package/dist/assertion/create.d.ts +0 -85
  63. package/dist/assertion/create.d.ts.map +0 -1
  64. package/dist/assertion/create.js +0 -143
  65. package/dist/assertion/create.js.map +0 -1
  66. package/dist/assertion/format-assertion-failure.cjs +0 -63
  67. package/dist/assertion/format-assertion-failure.cjs.map +0 -1
  68. package/dist/assertion/format-assertion-failure.d.cts +0 -21
  69. package/dist/assertion/format-assertion-failure.d.cts.map +0 -1
  70. package/dist/assertion/format-assertion-failure.d.ts +0 -21
  71. package/dist/assertion/format-assertion-failure.d.ts.map +0 -1
  72. package/dist/assertion/format-assertion-failure.js +0 -59
  73. package/dist/assertion/format-assertion-failure.js.map +0 -1
  74. package/dist/assertion/impl/assertion-util.cjs +0 -68
  75. package/dist/assertion/impl/assertion-util.cjs.map +0 -1
  76. package/dist/assertion/impl/assertion-util.d.cts +0 -36
  77. package/dist/assertion/impl/assertion-util.d.cts.map +0 -1
  78. package/dist/assertion/impl/assertion-util.d.ts +0 -36
  79. package/dist/assertion/impl/assertion-util.d.ts.map +0 -1
  80. package/dist/assertion/impl/assertion-util.js +0 -62
  81. package/dist/assertion/impl/assertion-util.js.map +0 -1
  82. package/dist/assertion/impl/async-iterable.cjs +0 -627
  83. package/dist/assertion/impl/async-iterable.cjs.map +0 -1
  84. package/dist/assertion/impl/async-iterable.d.cts +0 -406
  85. package/dist/assertion/impl/async-iterable.d.cts.map +0 -1
  86. package/dist/assertion/impl/async-iterable.d.ts +0 -406
  87. package/dist/assertion/impl/async-iterable.d.ts.map +0 -1
  88. package/dist/assertion/impl/async-iterable.js +0 -624
  89. package/dist/assertion/impl/async-iterable.js.map +0 -1
  90. package/dist/assertion/impl/async-parametric.cjs +0 -423
  91. package/dist/assertion/impl/async-parametric.cjs.map +0 -1
  92. package/dist/assertion/impl/async-parametric.d.cts +0 -278
  93. package/dist/assertion/impl/async-parametric.d.cts.map +0 -1
  94. package/dist/assertion/impl/async-parametric.d.ts +0 -278
  95. package/dist/assertion/impl/async-parametric.d.ts.map +0 -1
  96. package/dist/assertion/impl/async-parametric.js +0 -420
  97. package/dist/assertion/impl/async-parametric.js.map +0 -1
  98. package/dist/assertion/impl/async.cjs +0 -56
  99. package/dist/assertion/impl/async.cjs.map +0 -1
  100. package/dist/assertion/impl/async.d.cts +0 -179
  101. package/dist/assertion/impl/async.d.cts.map +0 -1
  102. package/dist/assertion/impl/async.d.ts +0 -179
  103. package/dist/assertion/impl/async.d.ts.map +0 -1
  104. package/dist/assertion/impl/async.js +0 -39
  105. package/dist/assertion/impl/async.js.map +0 -1
  106. package/dist/assertion/impl/index.cjs +0 -37
  107. package/dist/assertion/impl/index.cjs.map +0 -1
  108. package/dist/assertion/impl/index.d.cts +0 -21
  109. package/dist/assertion/impl/index.d.cts.map +0 -1
  110. package/dist/assertion/impl/index.d.ts +0 -21
  111. package/dist/assertion/impl/index.d.ts.map +0 -1
  112. package/dist/assertion/impl/index.js +0 -21
  113. package/dist/assertion/impl/index.js.map +0 -1
  114. package/dist/assertion/impl/iteration-util.cjs +0 -297
  115. package/dist/assertion/impl/iteration-util.cjs.map +0 -1
  116. package/dist/assertion/impl/iteration-util.d.cts +0 -12
  117. package/dist/assertion/impl/iteration-util.d.cts.map +0 -1
  118. package/dist/assertion/impl/iteration-util.d.ts +0 -12
  119. package/dist/assertion/impl/iteration-util.d.ts.map +0 -1
  120. package/dist/assertion/impl/iteration-util.js +0 -282
  121. package/dist/assertion/impl/iteration-util.js.map +0 -1
  122. package/dist/assertion/impl/snapshot.cjs +0 -276
  123. package/dist/assertion/impl/snapshot.cjs.map +0 -1
  124. package/dist/assertion/impl/snapshot.d.cts +0 -278
  125. package/dist/assertion/impl/snapshot.d.cts.map +0 -1
  126. package/dist/assertion/impl/snapshot.d.ts +0 -278
  127. package/dist/assertion/impl/snapshot.d.ts.map +0 -1
  128. package/dist/assertion/impl/snapshot.js +0 -273
  129. package/dist/assertion/impl/snapshot.js.map +0 -1
  130. package/dist/assertion/impl/sync-basic.cjs +0 -553
  131. package/dist/assertion/impl/sync-basic.cjs.map +0 -1
  132. package/dist/assertion/impl/sync-basic.d.cts +0 -528
  133. package/dist/assertion/impl/sync-basic.d.cts.map +0 -1
  134. package/dist/assertion/impl/sync-basic.d.ts +0 -528
  135. package/dist/assertion/impl/sync-basic.d.ts.map +0 -1
  136. package/dist/assertion/impl/sync-basic.js +0 -550
  137. package/dist/assertion/impl/sync-basic.js.map +0 -1
  138. package/dist/assertion/impl/sync-collection.cjs +0 -856
  139. package/dist/assertion/impl/sync-collection.cjs.map +0 -1
  140. package/dist/assertion/impl/sync-collection.d.cts +0 -607
  141. package/dist/assertion/impl/sync-collection.d.cts.map +0 -1
  142. package/dist/assertion/impl/sync-collection.d.ts +0 -607
  143. package/dist/assertion/impl/sync-collection.d.ts.map +0 -1
  144. package/dist/assertion/impl/sync-collection.js +0 -850
  145. package/dist/assertion/impl/sync-collection.js.map +0 -1
  146. package/dist/assertion/impl/sync-date.cjs +0 -341
  147. package/dist/assertion/impl/sync-date.cjs.map +0 -1
  148. package/dist/assertion/impl/sync-date.d.cts +0 -209
  149. package/dist/assertion/impl/sync-date.d.cts.map +0 -1
  150. package/dist/assertion/impl/sync-date.d.ts +0 -209
  151. package/dist/assertion/impl/sync-date.d.ts.map +0 -1
  152. package/dist/assertion/impl/sync-date.js +0 -338
  153. package/dist/assertion/impl/sync-date.js.map +0 -1
  154. package/dist/assertion/impl/sync-esoteric.cjs +0 -214
  155. package/dist/assertion/impl/sync-esoteric.cjs.map +0 -1
  156. package/dist/assertion/impl/sync-esoteric.d.cts +0 -191
  157. package/dist/assertion/impl/sync-esoteric.d.cts.map +0 -1
  158. package/dist/assertion/impl/sync-esoteric.d.ts +0 -191
  159. package/dist/assertion/impl/sync-esoteric.d.ts.map +0 -1
  160. package/dist/assertion/impl/sync-esoteric.js +0 -211
  161. package/dist/assertion/impl/sync-esoteric.js.map +0 -1
  162. package/dist/assertion/impl/sync-iterable.cjs +0 -512
  163. package/dist/assertion/impl/sync-iterable.cjs.map +0 -1
  164. package/dist/assertion/impl/sync-iterable.d.cts +0 -334
  165. package/dist/assertion/impl/sync-iterable.d.cts.map +0 -1
  166. package/dist/assertion/impl/sync-iterable.d.ts +0 -334
  167. package/dist/assertion/impl/sync-iterable.d.ts.map +0 -1
  168. package/dist/assertion/impl/sync-iterable.js +0 -509
  169. package/dist/assertion/impl/sync-iterable.js.map +0 -1
  170. package/dist/assertion/impl/sync-parametric.cjs +0 -812
  171. package/dist/assertion/impl/sync-parametric.cjs.map +0 -1
  172. package/dist/assertion/impl/sync-parametric.d.cts +0 -560
  173. package/dist/assertion/impl/sync-parametric.d.cts.map +0 -1
  174. package/dist/assertion/impl/sync-parametric.d.ts +0 -560
  175. package/dist/assertion/impl/sync-parametric.d.ts.map +0 -1
  176. package/dist/assertion/impl/sync-parametric.js +0 -809
  177. package/dist/assertion/impl/sync-parametric.js.map +0 -1
  178. package/dist/assertion/impl/sync.cjs +0 -214
  179. package/dist/assertion/impl/sync.cjs.map +0 -1
  180. package/dist/assertion/impl/sync.d.cts +0 -512
  181. package/dist/assertion/impl/sync.d.cts.map +0 -1
  182. package/dist/assertion/impl/sync.d.ts +0 -512
  183. package/dist/assertion/impl/sync.d.ts.map +0 -1
  184. package/dist/assertion/impl/sync.js +0 -197
  185. package/dist/assertion/impl/sync.js.map +0 -1
  186. package/dist/assertion/index.cjs +0 -38
  187. package/dist/assertion/index.cjs.map +0 -1
  188. package/dist/assertion/index.d.cts +0 -18
  189. package/dist/assertion/index.d.cts.map +0 -1
  190. package/dist/assertion/index.d.ts +0 -18
  191. package/dist/assertion/index.d.ts.map +0 -1
  192. package/dist/assertion/index.js +0 -17
  193. package/dist/assertion/index.js.map +0 -1
  194. package/dist/assertion/slotify.cjs +0 -165
  195. package/dist/assertion/slotify.cjs.map +0 -1
  196. package/dist/assertion/slotify.d.cts +0 -11
  197. package/dist/assertion/slotify.d.cts.map +0 -1
  198. package/dist/assertion/slotify.d.ts +0 -11
  199. package/dist/assertion/slotify.d.ts.map +0 -1
  200. package/dist/assertion/slotify.js +0 -161
  201. package/dist/assertion/slotify.js.map +0 -1
  202. package/dist/bootstrap.cjs +0 -43
  203. package/dist/bootstrap.cjs.map +0 -1
  204. package/dist/bootstrap.d.cts +0 -27
  205. package/dist/bootstrap.d.cts.map +0 -1
  206. package/dist/bootstrap.d.ts +0 -27
  207. package/dist/bootstrap.d.ts.map +0 -1
  208. package/dist/bootstrap.js +0 -40
  209. package/dist/bootstrap.js.map +0 -1
  210. package/dist/constant.cjs +0 -82
  211. package/dist/constant.cjs.map +0 -1
  212. package/dist/constant.d.cts +0 -69
  213. package/dist/constant.d.cts.map +0 -1
  214. package/dist/constant.d.ts +0 -69
  215. package/dist/constant.d.ts.map +0 -1
  216. package/dist/constant.js +0 -79
  217. package/dist/constant.js.map +0 -1
  218. package/dist/diff.cjs +0 -340
  219. package/dist/diff.cjs.map +0 -1
  220. package/dist/diff.d.cts +0 -51
  221. package/dist/diff.d.cts.map +0 -1
  222. package/dist/diff.d.ts +0 -51
  223. package/dist/diff.d.ts.map +0 -1
  224. package/dist/diff.js +0 -334
  225. package/dist/diff.js.map +0 -1
  226. package/dist/error.cjs +0 -204
  227. package/dist/error.cjs.map +0 -1
  228. package/dist/error.d.cts +0 -212
  229. package/dist/error.d.cts.map +0 -1
  230. package/dist/error.d.ts +0 -212
  231. package/dist/error.d.ts.map +0 -1
  232. package/dist/error.js +0 -191
  233. package/dist/error.js.map +0 -1
  234. package/dist/expect.cjs +0 -590
  235. package/dist/expect.cjs.map +0 -1
  236. package/dist/expect.d.cts +0 -138
  237. package/dist/expect.d.cts.map +0 -1
  238. package/dist/expect.d.ts +0 -138
  239. package/dist/expect.d.ts.map +0 -1
  240. package/dist/expect.js +0 -582
  241. package/dist/expect.js.map +0 -1
  242. package/dist/guards.cjs +0 -297
  243. package/dist/guards.cjs.map +0 -1
  244. package/dist/guards.d.cts +0 -231
  245. package/dist/guards.d.cts.map +0 -1
  246. package/dist/guards.d.ts +0 -231
  247. package/dist/guards.d.ts.map +0 -1
  248. package/dist/guards.js +0 -277
  249. package/dist/guards.js.map +0 -1
  250. package/dist/index.cjs +0 -111
  251. package/dist/index.cjs.map +0 -1
  252. package/dist/index.d.cts +0 -448
  253. package/dist/index.d.cts.map +0 -1
  254. package/dist/index.d.ts +0 -448
  255. package/dist/index.d.ts.map +0 -1
  256. package/dist/index.js +0 -71
  257. package/dist/index.js.map +0 -1
  258. package/dist/internal-schema.cjs +0 -253
  259. package/dist/internal-schema.cjs.map +0 -1
  260. package/dist/internal-schema.d.cts +0 -8
  261. package/dist/internal-schema.d.cts.map +0 -1
  262. package/dist/internal-schema.d.ts +0 -8
  263. package/dist/internal-schema.d.ts.map +0 -1
  264. package/dist/internal-schema.js +0 -248
  265. package/dist/internal-schema.js.map +0 -1
  266. package/dist/metadata.cjs +0 -57
  267. package/dist/metadata.cjs.map +0 -1
  268. package/dist/metadata.d.cts +0 -27
  269. package/dist/metadata.d.cts.map +0 -1
  270. package/dist/metadata.d.ts +0 -27
  271. package/dist/metadata.d.ts.map +0 -1
  272. package/dist/metadata.js +0 -54
  273. package/dist/metadata.js.map +0 -1
  274. package/dist/schema.cjs +0 -1522
  275. package/dist/schema.cjs.map +0 -1
  276. package/dist/schema.d.cts +0 -1196
  277. package/dist/schema.d.cts.map +0 -1
  278. package/dist/schema.d.ts +0 -1196
  279. package/dist/schema.d.ts.map +0 -1
  280. package/dist/schema.js +0 -1516
  281. package/dist/schema.js.map +0 -1
  282. package/dist/snapshot/adapter.cjs +0 -31
  283. package/dist/snapshot/adapter.cjs.map +0 -1
  284. package/dist/snapshot/adapter.d.cts +0 -258
  285. package/dist/snapshot/adapter.d.cts.map +0 -1
  286. package/dist/snapshot/adapter.d.ts +0 -258
  287. package/dist/snapshot/adapter.d.ts.map +0 -1
  288. package/dist/snapshot/adapter.js +0 -27
  289. package/dist/snapshot/adapter.js.map +0 -1
  290. package/dist/snapshot/adapters/fallback.cjs +0 -453
  291. package/dist/snapshot/adapters/fallback.cjs.map +0 -1
  292. package/dist/snapshot/adapters/fallback.d.cts +0 -185
  293. package/dist/snapshot/adapters/fallback.d.cts.map +0 -1
  294. package/dist/snapshot/adapters/fallback.d.ts +0 -185
  295. package/dist/snapshot/adapters/fallback.d.ts.map +0 -1
  296. package/dist/snapshot/adapters/fallback.js +0 -446
  297. package/dist/snapshot/adapters/fallback.js.map +0 -1
  298. package/dist/snapshot/adapters/node-test.cjs +0 -301
  299. package/dist/snapshot/adapters/node-test.cjs.map +0 -1
  300. package/dist/snapshot/adapters/node-test.d.cts +0 -131
  301. package/dist/snapshot/adapters/node-test.d.cts.map +0 -1
  302. package/dist/snapshot/adapters/node-test.d.ts +0 -131
  303. package/dist/snapshot/adapters/node-test.d.ts.map +0 -1
  304. package/dist/snapshot/adapters/node-test.js +0 -297
  305. package/dist/snapshot/adapters/node-test.js.map +0 -1
  306. package/dist/snapshot/index.cjs +0 -61
  307. package/dist/snapshot/index.cjs.map +0 -1
  308. package/dist/snapshot/index.d.cts +0 -40
  309. package/dist/snapshot/index.d.cts.map +0 -1
  310. package/dist/snapshot/index.d.ts +0 -40
  311. package/dist/snapshot/index.d.ts.map +0 -1
  312. package/dist/snapshot/index.js +0 -44
  313. package/dist/snapshot/index.js.map +0 -1
  314. package/dist/snapshot/node-version.cjs +0 -49
  315. package/dist/snapshot/node-version.cjs.map +0 -1
  316. package/dist/snapshot/node-version.d.cts +0 -34
  317. package/dist/snapshot/node-version.d.cts.map +0 -1
  318. package/dist/snapshot/node-version.d.ts +0 -34
  319. package/dist/snapshot/node-version.d.ts.map +0 -1
  320. package/dist/snapshot/node-version.js +0 -44
  321. package/dist/snapshot/node-version.js.map +0 -1
  322. package/dist/snapshot/select-adapter.cjs +0 -170
  323. package/dist/snapshot/select-adapter.cjs.map +0 -1
  324. package/dist/snapshot/select-adapter.d.cts +0 -128
  325. package/dist/snapshot/select-adapter.d.cts.map +0 -1
  326. package/dist/snapshot/select-adapter.d.ts +0 -128
  327. package/dist/snapshot/select-adapter.d.ts.map +0 -1
  328. package/dist/snapshot/select-adapter.js +0 -164
  329. package/dist/snapshot/select-adapter.js.map +0 -1
  330. package/dist/snapshot/serializer.cjs +0 -246
  331. package/dist/snapshot/serializer.cjs.map +0 -1
  332. package/dist/snapshot/serializer.d.cts +0 -126
  333. package/dist/snapshot/serializer.d.cts.map +0 -1
  334. package/dist/snapshot/serializer.d.ts +0 -126
  335. package/dist/snapshot/serializer.d.ts.map +0 -1
  336. package/dist/snapshot/serializer.js +0 -238
  337. package/dist/snapshot/serializer.js.map +0 -1
  338. package/dist/standard-schema.cjs +0 -13
  339. package/dist/standard-schema.cjs.map +0 -1
  340. package/dist/standard-schema.d.cts +0 -192
  341. package/dist/standard-schema.d.cts.map +0 -1
  342. package/dist/standard-schema.d.ts +0 -192
  343. package/dist/standard-schema.d.ts.map +0 -1
  344. package/dist/standard-schema.js +0 -12
  345. package/dist/standard-schema.js.map +0 -1
  346. package/dist/types.cjs +0 -22
  347. package/dist/types.cjs.map +0 -1
  348. package/dist/types.d.cts +0 -905
  349. package/dist/types.d.cts.map +0 -1
  350. package/dist/types.d.ts +0 -905
  351. package/dist/types.d.ts.map +0 -1
  352. package/dist/types.js +0 -21
  353. package/dist/types.js.map +0 -1
  354. package/dist/use.cjs +0 -240
  355. package/dist/use.cjs.map +0 -1
  356. package/dist/use.d.cts +0 -8
  357. package/dist/use.d.cts.map +0 -1
  358. package/dist/use.d.ts +0 -8
  359. package/dist/use.d.ts.map +0 -1
  360. package/dist/use.js +0 -236
  361. package/dist/use.js.map +0 -1
  362. package/dist/util.cjs +0 -255
  363. package/dist/util.cjs.map +0 -1
  364. package/dist/util.d.cts +0 -141
  365. package/dist/util.d.cts.map +0 -1
  366. package/dist/util.d.ts +0 -141
  367. package/dist/util.d.ts.map +0 -1
  368. package/dist/util.js +0 -234
  369. package/dist/util.js.map +0 -1
  370. package/dist/value-to-schema.cjs +0 -537
  371. package/dist/value-to-schema.cjs.map +0 -1
  372. package/dist/value-to-schema.d.cts +0 -144
  373. package/dist/value-to-schema.d.cts.map +0 -1
  374. package/dist/value-to-schema.d.ts +0 -144
  375. package/dist/value-to-schema.d.ts.map +0 -1
  376. package/dist/value-to-schema.js +0 -533
  377. package/dist/value-to-schema.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.18.2](https://github.com/boneskull/bupkis/compare/bupkis-v0.18.1...bupkis-v0.18.2) (2026-06-19)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * **bupkis:** fix ArkType support ([79d3f00](https://github.com/boneskull/bupkis/commit/79d3f0058cc96eaff2e649b0b4220db5de830d98))
9
+
10
+ ## [0.18.1](https://github.com/boneskull/bupkis/compare/bupkis-v0.18.0...bupkis-v0.18.1) (2026-01-18)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * **bupkis:** support expect.it() in error-satisfying assertions ([#342](https://github.com/boneskull/bupkis/issues/342)) ([11d485f](https://github.com/boneskull/bupkis/commit/11d485f7bdfef7c5c822ff91ae600cc304557607))
16
+
3
17
  ## [0.18.0](https://github.com/boneskull/bupkis/compare/bupkis-v0.17.0...bupkis-v0.18.0) (2026-01-16)
4
18
 
5
19
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bupkis",
3
- "version": "0.18.0",
3
+ "version": "0.18.2",
4
4
  "type": "module",
5
5
  "description": "Uncommonly extensible assertions for the beautiful people",
6
6
  "repository": {
@@ -97,9 +97,6 @@
97
97
  "bench:value": "modestbench \"bench/value-to-schema.bench.js\"",
98
98
  "build": "zshy",
99
99
  "debug:assertion-ids": "tsx scripts/dump-assertion-ids.ts",
100
- "docs:build": "typedoc --options ../../.config/typedoc.js --cleanOutputDir --treatWarningsAsErrors",
101
- "docs:dev": "run-p \"docs:build -- --watch\" docs:serve",
102
- "docs:serve": "serve ../../docs",
103
100
  "prepare": "zshy",
104
101
  "profile:analyze": "tsx scripts/analyze-profiles.ts",
105
102
  "profile:benchmarks": "tsx scripts/profile-benchmarks.ts",
@@ -472,9 +472,7 @@ export type AssertionImplSync<Parts extends AssertionParts> =
472
472
  *
473
473
  * @group Assertion Creation
474
474
  */
475
- export type AssertionParseRequest = {
476
- subject: unknown;
477
- } & (
475
+ export type AssertionParseRequest = (
478
476
  | {
479
477
  asyncSchema: StandardSchemaV1 | z.ZodType;
480
478
  schema?: never;
@@ -483,7 +481,9 @@ export type AssertionParseRequest = {
483
481
  asyncSchema?: never;
484
482
  schema: StandardSchemaV1 | z.ZodType;
485
483
  }
486
- );
484
+ ) & {
485
+ subject: unknown;
486
+ };
487
487
 
488
488
  /**
489
489
  * Union type representing the fundamental building blocks of an assertion.
@@ -16,7 +16,6 @@
16
16
  import { inspect } from 'node:util';
17
17
  import { type z } from 'zod';
18
18
 
19
- import { InvalidObjectSchemaError } from '../../error.js';
20
19
  import { isA, isNonNullObject, isString } from '../../guards.js';
21
20
  import {
22
21
  ConstructibleSchema,
@@ -287,22 +286,14 @@ export const functionRejectWithErrorSatisfyingAssertion = createAsyncAssertion(
287
286
  };
288
287
  }
289
288
 
290
- let schema: undefined | z.ZodType;
291
- // TODO: can valueToSchema handle the first two conditional branches?
289
+ let schema: z.ZodType;
292
290
  if (isString(param)) {
293
291
  schema = createErrorMessageSchema(param);
294
292
  } else if (isA(param, RegExp)) {
295
293
  schema = createErrorMessageRegexSchema(param);
296
- } else if (isNonNullObject(param)) {
294
+ } else {
297
295
  schema = valueToSchema(param, valueToSchemaOptionsForSatisfies);
298
296
  }
299
- /* c8 ignore next 5 */
300
- if (!schema) {
301
- throw new InvalidObjectSchemaError(
302
- `Invalid parameter schema: ${inspect(param, { depth: 2 })}`,
303
- { schema: param },
304
- );
305
- }
306
297
 
307
298
  return {
308
299
  schema,
@@ -350,22 +341,14 @@ export const promiseRejectWithErrorSatisfyingAssertion = createAsyncAssertion(
350
341
  message: `Expected Promise to reject, but it fulfilled with ${inspect(result)}`,
351
342
  };
352
343
  }
353
- let schema: undefined | z.ZodType;
354
- // TODO: can valueToSchema handle the first two conditional branches?
344
+ let schema: z.ZodType;
355
345
  if (isString(param)) {
356
346
  schema = createErrorMessageSchema(param);
357
347
  } else if (isA(param, RegExp)) {
358
348
  schema = createErrorMessageRegexSchema(param);
359
- } else if (isNonNullObject(param)) {
349
+ } else {
360
350
  schema = valueToSchema(param, valueToSchemaOptionsForSatisfies);
361
351
  }
362
- /* c8 ignore next 5 */
363
- if (!schema) {
364
- throw new InvalidObjectSchemaError(
365
- `Invalid parameter schema: ${inspect(param, { depth: 2 })}`,
366
- { schema: param },
367
- );
368
- }
369
352
 
370
353
  return {
371
354
  schema,
@@ -16,7 +16,7 @@
16
16
  import { inspect } from 'node:util';
17
17
  import { z } from 'zod';
18
18
 
19
- import { BupkisError, InvalidObjectSchemaError } from '../../error.js';
19
+ import { BupkisError } from '../../error.js';
20
20
  import { isA, isError, isNonNullObject, isString } from '../../guards.js';
21
21
  import {
22
22
  AnyObjectSchema,
@@ -125,7 +125,7 @@ export const typeOfAssertion = createAssertion(
125
125
  ),
126
126
  ],
127
127
  (_, type) => {
128
- type = type.toLowerCase() as Lowercase<typeof type>;
128
+ type = type.toLowerCase();
129
129
  // these first three are names that are _not_ results of the `typeof` operator; i.e. `typeof x` will never return these strings
130
130
  switch (type) {
131
131
  case 'array':
@@ -752,14 +752,9 @@ export const functionThrowsSatisfyingAssertion = createAssertion(
752
752
  schema: createErrorMessageRegexSchema(param),
753
753
  subject: error,
754
754
  };
755
- } else if (isNonNullObject(param)) {
755
+ } else {
756
756
  const schema = valueToSchema(param, valueToSchemaOptionsForSatisfies);
757
757
  return { schema, subject: error };
758
- } else {
759
- throw new InvalidObjectSchemaError(
760
- `Invalid parameter schema: ${inspect(param, { depth: 2 })}`,
761
- { schema: param },
762
- );
763
758
  }
764
759
  },
765
760
  );
@@ -815,21 +810,14 @@ export const functionThrowsTypeSatisfyingAssertion = createAssertion(
815
810
  : `Expected function to throw an instance of ${ctor.name}, but it threw a non-object value: ${inspect(error)}`,
816
811
  };
817
812
  }
818
- let schema: undefined | z.ZodType;
819
- // TODO: can valueToSchema handle the first two conditional branches?
813
+ let schema: z.ZodType;
820
814
  if (isString(param)) {
821
815
  schema = createErrorMessageSchema(param);
822
816
  } else if (isA(param, RegExp)) {
823
817
  schema = createErrorMessageRegexSchema(param);
824
- } else if (isNonNullObject(param)) {
818
+ } else {
825
819
  schema = valueToSchema(param, valueToSchemaOptionsForSatisfies);
826
820
  }
827
- if (!schema) {
828
- throw new InvalidObjectSchemaError(
829
- `Invalid parameter schema: ${inspect(param)}`,
830
- { schema: param },
831
- );
832
- }
833
821
 
834
822
  return {
835
823
  schema,
package/src/expect.ts CHANGED
@@ -78,7 +78,6 @@ export function createExpectAsyncFunction<
78
78
  T extends AnyAsyncAssertions,
79
79
  U extends ExpectAsync<AnyAsyncAssertions>,
80
80
  >(assertions: T, expect: U): ExpectAsyncFunction<T & U['assertions']>;
81
-
82
81
  /**
83
82
  * Creates a new asynchronous expect function with the provided assertions.
84
83
  *
@@ -109,7 +108,6 @@ export function createExpectAsyncFunction<
109
108
  export function createExpectAsyncFunction<T extends AnyAsyncAssertions>(
110
109
  assertions: T,
111
110
  ): ExpectAsyncFunction<T>;
112
-
113
111
  /**
114
112
  * Implementation function that creates an asynchronous expect function with
115
113
  * optional parent inheritance.
@@ -356,7 +354,6 @@ export function createExpectSyncFunction<
356
354
  assertions: Assertions,
357
355
  expect: ParentExpect,
358
356
  ): ExpectFunction<Assertions & ParentExpect['assertions']>;
359
-
360
357
  /**
361
358
  * Creates a new synchronous expect function with the provided assertions.
362
359
  *
@@ -387,7 +384,6 @@ export function createExpectSyncFunction<
387
384
  export function createExpectSyncFunction<Assertions extends AnySyncAssertions>(
388
385
  assertions: Assertions,
389
386
  ): ExpectFunction<Assertions>;
390
-
391
387
  /**
392
388
  * Implementation function that creates a synchronous expect function with
393
389
  * optional parent inheritance.
package/src/guards.ts CHANGED
@@ -45,7 +45,6 @@ export function isZodType<T extends keyof ZodTypeMap>(
45
45
  value: unknown,
46
46
  type: T,
47
47
  ): value is ZodTypeMap[T];
48
-
49
48
  /**
50
49
  * Returns `true` if the given value looks like a Zod v4 schema, determined by
51
50
  * the presence of an internal {@link z.core.$ZodTypeDef} field.
@@ -93,16 +92,22 @@ export function isZodType<T extends keyof ZodTypeMap>(
93
92
  * @see {@link https://standardschema.dev | Standard Schema Specification}
94
93
  */
95
94
  export const isStandardSchema = (value: unknown): value is StandardSchemaV1 => {
95
+ // Some Standard Schema compliant libraries (e.g. ArkType) implement schemas
96
+ // as callable objects (functions with properties), so we must accept both
97
+ // plain objects and functions here.
98
+ if (!isObject(value) && !isFunction(value)) {
99
+ return false;
100
+ }
101
+ const v = value as Record<string | symbol, unknown>;
102
+ const std = v['~standard'];
96
103
  return (
97
- isObject(value) &&
98
- '~standard' in value &&
99
- isObject(value['~standard']) &&
100
- 'version' in value['~standard'] &&
101
- value['~standard'].version === 1 &&
102
- 'vendor' in value['~standard'] &&
103
- typeof value['~standard'].vendor === 'string' &&
104
- 'validate' in value['~standard'] &&
105
- typeof value['~standard'].validate === 'function'
104
+ isObject(std) &&
105
+ 'version' in std &&
106
+ std.version === 1 &&
107
+ 'vendor' in std &&
108
+ typeof std.vendor === 'string' &&
109
+ 'validate' in std &&
110
+ typeof std.validate === 'function'
106
111
  );
107
112
  };
108
113
 
@@ -117,16 +122,6 @@ export const isObject = (value: unknown): value is NonNullable<object> => {
117
122
  return typeof value === 'object' && value !== null && !isArray(value);
118
123
  };
119
124
 
120
- /**
121
- * Returns `true` if the given value is a {@link z.ZodPromise} schema.
122
- *
123
- * @function
124
- * @param value - Value to test
125
- * @returns `true` if the value is a `ZodPromise` schema; `false` otherwise
126
- */
127
- export const isZodPromise = (value: unknown): value is z.ZodPromise =>
128
- isZodType(value, 'promise');
129
-
130
125
  /**
131
126
  * Checks if a value is "promise-like", meaning it is a "thenable" object.
132
127
  *
@@ -222,9 +217,7 @@ export const isNonNullObject = (value: unknown): value is object =>
222
217
  * symbol), `false` otherwise
223
218
  */
224
219
  export const isWeakKey = (value: unknown): value is WeakKey =>
225
- (typeof value === 'object' && value !== null) ||
226
- typeof value === 'function' ||
227
- typeof value === 'symbol';
220
+ isNonNullObject(value) || isFunction(value) || typeof value === 'symbol';
228
221
 
229
222
  /**
230
223
  * Type guard for a {@link PhraseLiteral}, which is just a string that does not
@@ -305,6 +298,8 @@ export const isA = <T extends Constructor>(
305
298
  * its subclasses. It's useful for error handling and type narrowing when
306
299
  * working with unknown values that might be errors.
307
300
  *
301
+ * Uses `Error.isError` if available.
302
+ *
308
303
  * @example
309
304
  *
310
305
  * ```typescript
@@ -322,7 +317,12 @@ export const isA = <T extends Constructor>(
322
317
  * @param value - Value to test
323
318
  * @returns `true` if the value is an Error instance, `false` otherwise
324
319
  */
325
- export const isError = (value: unknown): value is Error => isA(value, Error);
320
+ export const isError =
321
+ 'isError' in Error && isFunction(Error.isError)
322
+ ? // @ts-expect-error - Error.isError is new
323
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call
324
+ (value: unknown): value is Error => Error.isError(value)
325
+ : (value: unknown): value is Error => isA(value, Error);
326
326
 
327
327
  /**
328
328
  * Type guard for {@link ExpectItExecutor} functions.
@@ -22,42 +22,26 @@ import { isPhrase, isStandardSchema, isZodType } from './guards.js';
22
22
  // This schema is only used for validation (safeParse), not for type inference.
23
23
  const AssertionFailureSchema = z
24
24
  .object({
25
- actual: z
26
- .unknown()
27
- .optional()
28
- .meta({
29
- description:
30
- 'The actual value or description of what actually occurred',
31
- }),
32
- diff: z
33
- .string()
34
- .optional()
35
- .meta({
36
- description: 'Pre-computed diff string that bypasses jest-diff',
37
- }),
25
+ actual: z.unknown().optional().meta({
26
+ description: 'The actual value or description of what actually occurred',
27
+ }),
28
+ diff: z.string().optional().meta({
29
+ description: 'Pre-computed diff string that bypasses jest-diff',
30
+ }),
38
31
  diffOptions: z
39
32
  .record(z.string(), z.unknown())
40
33
  .optional()
41
34
  .meta({ description: 'Override options for jest-diff' }),
42
- expected: z
43
- .unknown()
44
- .optional()
45
- .meta({
46
- description:
47
- 'The expected value or description of what was expected to occur',
48
- }),
49
- formatActual: z
50
- .function()
51
- .optional()
52
- .meta({
53
- description: 'Custom formatter for actual value in diff output',
54
- }),
55
- formatExpected: z
56
- .function()
57
- .optional()
58
- .meta({
59
- description: 'Custom formatter for expected value in diff output',
60
- }),
35
+ expected: z.unknown().optional().meta({
36
+ description:
37
+ 'The expected value or description of what was expected to occur',
38
+ }),
39
+ formatActual: z.function().optional().meta({
40
+ description: 'Custom formatter for actual value in diff output',
41
+ }),
42
+ formatExpected: z.function().optional().meta({
43
+ description: 'Custom formatter for expected value in diff output',
44
+ }),
61
45
  message: z
62
46
  .string()
63
47
  .optional()
@@ -89,7 +89,7 @@ export const valueToSchema = (
89
89
  })
90
90
  : z.undefined();
91
91
  }
92
- if (isNaN(value as number)) {
92
+ if (isNaN(value)) {
93
93
  return z.nan();
94
94
  }
95
95
  if (value === Infinity || value === -Infinity) {
@@ -1,268 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.BupkisAssertionSchemaAsync = exports.BupkisAssertionFunctionAsync = exports.BupkisAssertionAsync = void 0;
7
- const util_1 = require("util");
8
- const zod_1 = __importDefault(require("zod"));
9
- const error_js_1 = require("../error.cjs");
10
- const guards_js_1 = require("../guards.cjs");
11
- const internal_schema_js_1 = require("../internal-schema.cjs");
12
- const assertion_js_1 = require("./assertion.cjs");
13
- const format_assertion_failure_js_1 = require("./format-assertion-failure.cjs");
14
- class BupkisAssertionAsync extends assertion_js_1.BupkisAssertion {
15
- async parseValuesAsync(args) {
16
- const { slots } = this;
17
- const parsedValues = [];
18
- if (slots.length !== args.length) {
19
- return {
20
- success: false,
21
- };
22
- }
23
- let exactMatch = true;
24
- for (let i = 0; i < slots.length; i++) {
25
- const slot = slots[i];
26
- const arg = args[i];
27
- const parsedLiteralResult = this.parseSlotForLiteral(slot, i, arg);
28
- if (parsedLiteralResult === true) {
29
- continue;
30
- }
31
- else if (parsedLiteralResult !== false) {
32
- return parsedLiteralResult;
33
- }
34
- // unknown/any accept anything
35
- // IMPORTANT: do not use a type guard here; it will break inference
36
- if (slot.def.type === 'unknown' || slot.def.type === 'any') {
37
- parsedValues.push(arg);
38
- exactMatch = false;
39
- continue;
40
- }
41
- const result = await slot.safeParseAsync(arg);
42
- if (!result.success) {
43
- return {
44
- success: false,
45
- };
46
- }
47
- parsedValues.push(result.data);
48
- }
49
- return {
50
- exactMatch,
51
- parsedValues: parsedValues,
52
- success: true,
53
- };
54
- }
55
- }
56
- exports.BupkisAssertionAsync = BupkisAssertionAsync;
57
- /**
58
- * An assertion implemented as a Zod schema.
59
- *
60
- * Async schemas are supported via {@link expectAsync}.
61
- */
62
- /**
63
- * Optimized schema assertion that performs subject validation during
64
- * parseValues() to eliminate double parsing for simple schema-based
65
- * assertions.
66
- *
67
- * This class implements Option 2 from the z.function() analysis - it caches the
68
- * subject validation result during argument parsing and reuses it during
69
- * execution, eliminating the double parsing overhead.
70
- */
71
- class BupkisAssertionFunctionAsync extends BupkisAssertionAsync {
72
- async executeAsync(parsedValues, args, stackStartFn, _parseResult) {
73
- let result;
74
- try {
75
- result = await this.impl.call(null,
76
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
77
- ...parsedValues);
78
- }
79
- catch (err) {
80
- if (error_js_1.AssertionError.isAssertionError(err)) {
81
- throw err;
82
- }
83
- if ((0, guards_js_1.isError)(err) && err instanceof zod_1.default.ZodError) {
84
- throw this.fromZodError(err, stackStartFn, parsedValues);
85
- }
86
- throw new error_js_1.AssertionImplementationError(`Unexpected error thrown from assertion ${this}: ${err}`, { cause: err });
87
- }
88
- if ((0, guards_js_1.isZodType)(result)) {
89
- try {
90
- await result.parseAsync(parsedValues[0]);
91
- }
92
- catch (error) {
93
- if ((0, guards_js_1.isA)(error, zod_1.default.ZodError)) {
94
- throw this.fromZodError(error, stackStartFn, parsedValues);
95
- }
96
- throw error;
97
- }
98
- }
99
- else if ((0, guards_js_1.isStandardSchema)(result)) {
100
- const validationResult = result['~standard'].validate(parsedValues[0]);
101
- const finalResult = validationResult instanceof Promise
102
- ? await validationResult
103
- : validationResult;
104
- if (finalResult.issues) {
105
- throw this.fromStandardSchemaIssues(finalResult.issues, stackStartFn, parsedValues);
106
- }
107
- }
108
- else if ((0, guards_js_1.isBoolean)(result)) {
109
- if (!result) {
110
- throw new error_js_1.AssertionError({
111
- id: this.id,
112
- message: `Assertion ${this} failed for arguments: ${(0, util_1.inspect)(args)}`,
113
- });
114
- }
115
- }
116
- else if ((0, guards_js_1.isError)(result) && result instanceof zod_1.default.ZodError) {
117
- throw this.fromZodError(result, stackStartFn, parsedValues);
118
- }
119
- else if ((0, internal_schema_js_1.isAssertionParseRequest)(result)) {
120
- const { asyncSchema, schema, subject } = result;
121
- const schemaToUse = schema ?? asyncSchema;
122
- if ((0, guards_js_1.isZodType)(schemaToUse)) {
123
- let zodResult;
124
- if (schema) {
125
- zodResult = schemaToUse.safeParse(subject);
126
- }
127
- else {
128
- zodResult = await schemaToUse.safeParseAsync(subject);
129
- }
130
- if (!zodResult.success) {
131
- throw this.fromZodError(zodResult.error, stackStartFn, subject);
132
- }
133
- }
134
- else if ((0, guards_js_1.isStandardSchema)(schemaToUse)) {
135
- const validationResult = schemaToUse['~standard'].validate(subject);
136
- const finalResult = validationResult instanceof Promise
137
- ? await validationResult
138
- : validationResult;
139
- if (finalResult.issues) {
140
- throw this.fromStandardSchemaIssues(finalResult.issues, stackStartFn, subject);
141
- }
142
- }
143
- }
144
- else if ((0, internal_schema_js_1.isAssertionFailure)(result)) {
145
- const diffOutput = (0, format_assertion_failure_js_1.formatAssertionFailure)(result);
146
- const baseMessage = result.message ??
147
- `Assertion ${this} failed for arguments: ${(0, util_1.inspect)(args)}`;
148
- const message = diffOutput
149
- ? `${baseMessage}\n${diffOutput}`
150
- : baseMessage;
151
- throw new error_js_1.AssertionError({
152
- actual: result.actual,
153
- expected: result.expected,
154
- id: this.id,
155
- message,
156
- });
157
- }
158
- else if (result) {
159
- throw new error_js_1.AssertionImplementationError(`Invalid return type from assertion ${this}; expected boolean, ZodType, or AssertionFailure`, { result });
160
- }
161
- }
162
- }
163
- exports.BupkisAssertionFunctionAsync = BupkisAssertionFunctionAsync;
164
- /**
165
- * A class representing an assertion implemented as a function.
166
- *
167
- * This function may:
168
- *
169
- * 1. Return a `boolean` indicating pass/fail.
170
- * 2. Return a `ZodType` which will be used to validate the subject.
171
- * 3. Return a `Promise` resolving to either of the above (when called via
172
- * {@link expectAsync})
173
- * 4. Throw a {@link AssertionError}; when called via {@link expectAsync}, reject
174
- * with an {@link AssertionError}
175
- */
176
- class BupkisAssertionSchemaAsync extends BupkisAssertionAsync {
177
- async executeAsync(parsedValues, _args, stackStartFn, parseResult) {
178
- // Check if we have cached validation result from parseValuesAsync
179
- const cachedValidation = parseResult?.success
180
- ? parseResult.subjectValidationResult
181
- : undefined;
182
- if (cachedValidation && !cachedValidation.success) {
183
- // Subject validation failed during parseValuesAsync, throw the cached error
184
- if ('error' in cachedValidation) {
185
- throw this.fromZodError(cachedValidation.error, stackStartFn, parsedValues);
186
- }
187
- }
188
- // Fall back to standard validation if no cached result
189
- const [subject] = parsedValues;
190
- try {
191
- await this.impl.parseAsync(subject);
192
- }
193
- catch (error) {
194
- if ((0, guards_js_1.isA)(error, zod_1.default.ZodError)) {
195
- throw this.fromZodError(error, stackStartFn, parsedValues);
196
- }
197
- /* c8 ignore next */
198
- throw error;
199
- }
200
- }
201
- async parseValuesAsync(args) {
202
- const { slots } = this;
203
- const parsedValues = [];
204
- const mismatch = this.maybeParseValuesArgMismatch(args);
205
- if (mismatch) {
206
- return mismatch;
207
- }
208
- let exactMatch = true;
209
- let subjectValidationResult;
210
- for (let i = 0; i < slots.length; i++) {
211
- const slot = slots[i];
212
- const arg = args[i];
213
- const parsedLiteralResult = this.parseSlotForLiteral(slot, i, arg);
214
- if (parsedLiteralResult === true) {
215
- continue;
216
- }
217
- else if (parsedLiteralResult !== false) {
218
- return parsedLiteralResult;
219
- }
220
- // For the subject slot (first slot if it's unknown/any), try optimized validation
221
- if (i === 0 &&
222
- (slot.def.type === 'unknown' || slot.def.type === 'any') &&
223
- this.isSimpleSchemaAssertion()) {
224
- try {
225
- const result = await this.impl.parseAsync(arg);
226
- subjectValidationResult = { data: result, success: true };
227
- parsedValues.push(result); // Use validated data
228
- }
229
- catch (error) {
230
- if ((0, guards_js_1.isA)(error, zod_1.default.ZodError)) {
231
- subjectValidationResult = { error, success: false };
232
- parsedValues.push(arg); // Keep original for error reporting
233
- }
234
- else {
235
- throw error; // Re-throw non-Zod errors
236
- }
237
- }
238
- exactMatch = false; // Subject was validated, so we know the exact type
239
- continue;
240
- }
241
- // Standard slot processing for non-optimized cases
242
- if (slot.def.type === 'unknown' || slot.def.type === 'any') {
243
- parsedValues.push(arg);
244
- exactMatch = false;
245
- continue;
246
- }
247
- const result = await slot.safeParseAsync(arg);
248
- if (!result.success) {
249
- return {
250
- success: false,
251
- };
252
- }
253
- parsedValues.push(result.data);
254
- }
255
- const result = {
256
- exactMatch,
257
- parsedValues: parsedValues,
258
- success: true,
259
- };
260
- // Add cached validation result if we performed optimization
261
- if (subjectValidationResult) {
262
- result.subjectValidationResult = subjectValidationResult;
263
- }
264
- return result;
265
- }
266
- }
267
- exports.BupkisAssertionSchemaAsync = BupkisAssertionSchemaAsync;
268
- //# sourceMappingURL=assertion-async.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assertion-async.js","sourceRoot":"","sources":["../../src/assertion/assertion-async.ts"],"names":[],"mappings":"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"}