bupkis 0.18.1 → 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 (376) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/package.json +1 -4
  3. package/src/assertion/assertion-types.ts +4 -4
  4. package/src/assertion/impl/sync-parametric.ts +1 -1
  5. package/src/expect.ts +0 -4
  6. package/src/guards.ts +24 -24
  7. package/src/internal-schema.ts +16 -32
  8. package/src/value-to-schema.ts +1 -1
  9. package/dist/assertion/assertion-async.cjs +0 -268
  10. package/dist/assertion/assertion-async.cjs.map +0 -1
  11. package/dist/assertion/assertion-async.d.cts +0 -40
  12. package/dist/assertion/assertion-async.d.cts.map +0 -1
  13. package/dist/assertion/assertion-async.d.ts +0 -40
  14. package/dist/assertion/assertion-async.d.ts.map +0 -1
  15. package/dist/assertion/assertion-async.js +0 -259
  16. package/dist/assertion/assertion-async.js.map +0 -1
  17. package/dist/assertion/assertion-standard-schema-async.cjs +0 -132
  18. package/dist/assertion/assertion-standard-schema-async.cjs.map +0 -1
  19. package/dist/assertion/assertion-standard-schema-async.d.cts +0 -52
  20. package/dist/assertion/assertion-standard-schema-async.d.cts.map +0 -1
  21. package/dist/assertion/assertion-standard-schema-async.d.ts +0 -52
  22. package/dist/assertion/assertion-standard-schema-async.d.ts.map +0 -1
  23. package/dist/assertion/assertion-standard-schema-async.js +0 -128
  24. package/dist/assertion/assertion-standard-schema-async.js.map +0 -1
  25. package/dist/assertion/assertion-standard-schema-sync.cjs +0 -141
  26. package/dist/assertion/assertion-standard-schema-sync.cjs.map +0 -1
  27. package/dist/assertion/assertion-standard-schema-sync.d.cts +0 -52
  28. package/dist/assertion/assertion-standard-schema-sync.d.cts.map +0 -1
  29. package/dist/assertion/assertion-standard-schema-sync.d.ts +0 -52
  30. package/dist/assertion/assertion-standard-schema-sync.d.ts.map +0 -1
  31. package/dist/assertion/assertion-standard-schema-sync.js +0 -137
  32. package/dist/assertion/assertion-standard-schema-sync.js.map +0 -1
  33. package/dist/assertion/assertion-sync.cjs +0 -284
  34. package/dist/assertion/assertion-sync.cjs.map +0 -1
  35. package/dist/assertion/assertion-sync.d.cts +0 -60
  36. package/dist/assertion/assertion-sync.d.cts.map +0 -1
  37. package/dist/assertion/assertion-sync.d.ts +0 -60
  38. package/dist/assertion/assertion-sync.d.ts.map +0 -1
  39. package/dist/assertion/assertion-sync.js +0 -275
  40. package/dist/assertion/assertion-sync.js.map +0 -1
  41. package/dist/assertion/assertion-types.cjs +0 -20
  42. package/dist/assertion/assertion-types.cjs.map +0 -1
  43. package/dist/assertion/assertion-types.d.cts +0 -1086
  44. package/dist/assertion/assertion-types.d.cts.map +0 -1
  45. package/dist/assertion/assertion-types.d.ts +0 -1086
  46. package/dist/assertion/assertion-types.d.ts.map +0 -1
  47. package/dist/assertion/assertion-types.js +0 -19
  48. package/dist/assertion/assertion-types.js.map +0 -1
  49. package/dist/assertion/assertion.cjs +0 -382
  50. package/dist/assertion/assertion.cjs.map +0 -1
  51. package/dist/assertion/assertion.d.cts +0 -109
  52. package/dist/assertion/assertion.d.cts.map +0 -1
  53. package/dist/assertion/assertion.d.ts +0 -109
  54. package/dist/assertion/assertion.d.ts.map +0 -1
  55. package/dist/assertion/assertion.js +0 -375
  56. package/dist/assertion/assertion.js.map +0 -1
  57. package/dist/assertion/create.cjs +0 -148
  58. package/dist/assertion/create.cjs.map +0 -1
  59. package/dist/assertion/create.d.cts +0 -85
  60. package/dist/assertion/create.d.cts.map +0 -1
  61. package/dist/assertion/create.d.ts +0 -85
  62. package/dist/assertion/create.d.ts.map +0 -1
  63. package/dist/assertion/create.js +0 -143
  64. package/dist/assertion/create.js.map +0 -1
  65. package/dist/assertion/format-assertion-failure.cjs +0 -63
  66. package/dist/assertion/format-assertion-failure.cjs.map +0 -1
  67. package/dist/assertion/format-assertion-failure.d.cts +0 -21
  68. package/dist/assertion/format-assertion-failure.d.cts.map +0 -1
  69. package/dist/assertion/format-assertion-failure.d.ts +0 -21
  70. package/dist/assertion/format-assertion-failure.d.ts.map +0 -1
  71. package/dist/assertion/format-assertion-failure.js +0 -59
  72. package/dist/assertion/format-assertion-failure.js.map +0 -1
  73. package/dist/assertion/impl/assertion-util.cjs +0 -68
  74. package/dist/assertion/impl/assertion-util.cjs.map +0 -1
  75. package/dist/assertion/impl/assertion-util.d.cts +0 -36
  76. package/dist/assertion/impl/assertion-util.d.cts.map +0 -1
  77. package/dist/assertion/impl/assertion-util.d.ts +0 -36
  78. package/dist/assertion/impl/assertion-util.d.ts.map +0 -1
  79. package/dist/assertion/impl/assertion-util.js +0 -62
  80. package/dist/assertion/impl/assertion-util.js.map +0 -1
  81. package/dist/assertion/impl/async-iterable.cjs +0 -627
  82. package/dist/assertion/impl/async-iterable.cjs.map +0 -1
  83. package/dist/assertion/impl/async-iterable.d.cts +0 -406
  84. package/dist/assertion/impl/async-iterable.d.cts.map +0 -1
  85. package/dist/assertion/impl/async-iterable.d.ts +0 -406
  86. package/dist/assertion/impl/async-iterable.d.ts.map +0 -1
  87. package/dist/assertion/impl/async-iterable.js +0 -624
  88. package/dist/assertion/impl/async-iterable.js.map +0 -1
  89. package/dist/assertion/impl/async-parametric.cjs +0 -412
  90. package/dist/assertion/impl/async-parametric.cjs.map +0 -1
  91. package/dist/assertion/impl/async-parametric.d.cts +0 -278
  92. package/dist/assertion/impl/async-parametric.d.cts.map +0 -1
  93. package/dist/assertion/impl/async-parametric.d.ts +0 -278
  94. package/dist/assertion/impl/async-parametric.d.ts.map +0 -1
  95. package/dist/assertion/impl/async-parametric.js +0 -409
  96. package/dist/assertion/impl/async-parametric.js.map +0 -1
  97. package/dist/assertion/impl/async.cjs +0 -56
  98. package/dist/assertion/impl/async.cjs.map +0 -1
  99. package/dist/assertion/impl/async.d.cts +0 -179
  100. package/dist/assertion/impl/async.d.cts.map +0 -1
  101. package/dist/assertion/impl/async.d.ts +0 -179
  102. package/dist/assertion/impl/async.d.ts.map +0 -1
  103. package/dist/assertion/impl/async.js +0 -39
  104. package/dist/assertion/impl/async.js.map +0 -1
  105. package/dist/assertion/impl/index.cjs +0 -37
  106. package/dist/assertion/impl/index.cjs.map +0 -1
  107. package/dist/assertion/impl/index.d.cts +0 -21
  108. package/dist/assertion/impl/index.d.cts.map +0 -1
  109. package/dist/assertion/impl/index.d.ts +0 -21
  110. package/dist/assertion/impl/index.d.ts.map +0 -1
  111. package/dist/assertion/impl/index.js +0 -21
  112. package/dist/assertion/impl/index.js.map +0 -1
  113. package/dist/assertion/impl/iteration-util.cjs +0 -297
  114. package/dist/assertion/impl/iteration-util.cjs.map +0 -1
  115. package/dist/assertion/impl/iteration-util.d.cts +0 -12
  116. package/dist/assertion/impl/iteration-util.d.cts.map +0 -1
  117. package/dist/assertion/impl/iteration-util.d.ts +0 -12
  118. package/dist/assertion/impl/iteration-util.d.ts.map +0 -1
  119. package/dist/assertion/impl/iteration-util.js +0 -282
  120. package/dist/assertion/impl/iteration-util.js.map +0 -1
  121. package/dist/assertion/impl/snapshot.cjs +0 -276
  122. package/dist/assertion/impl/snapshot.cjs.map +0 -1
  123. package/dist/assertion/impl/snapshot.d.cts +0 -278
  124. package/dist/assertion/impl/snapshot.d.cts.map +0 -1
  125. package/dist/assertion/impl/snapshot.d.ts +0 -278
  126. package/dist/assertion/impl/snapshot.d.ts.map +0 -1
  127. package/dist/assertion/impl/snapshot.js +0 -273
  128. package/dist/assertion/impl/snapshot.js.map +0 -1
  129. package/dist/assertion/impl/sync-basic.cjs +0 -553
  130. package/dist/assertion/impl/sync-basic.cjs.map +0 -1
  131. package/dist/assertion/impl/sync-basic.d.cts +0 -528
  132. package/dist/assertion/impl/sync-basic.d.cts.map +0 -1
  133. package/dist/assertion/impl/sync-basic.d.ts +0 -528
  134. package/dist/assertion/impl/sync-basic.d.ts.map +0 -1
  135. package/dist/assertion/impl/sync-basic.js +0 -550
  136. package/dist/assertion/impl/sync-basic.js.map +0 -1
  137. package/dist/assertion/impl/sync-collection.cjs +0 -856
  138. package/dist/assertion/impl/sync-collection.cjs.map +0 -1
  139. package/dist/assertion/impl/sync-collection.d.cts +0 -607
  140. package/dist/assertion/impl/sync-collection.d.cts.map +0 -1
  141. package/dist/assertion/impl/sync-collection.d.ts +0 -607
  142. package/dist/assertion/impl/sync-collection.d.ts.map +0 -1
  143. package/dist/assertion/impl/sync-collection.js +0 -850
  144. package/dist/assertion/impl/sync-collection.js.map +0 -1
  145. package/dist/assertion/impl/sync-date.cjs +0 -341
  146. package/dist/assertion/impl/sync-date.cjs.map +0 -1
  147. package/dist/assertion/impl/sync-date.d.cts +0 -209
  148. package/dist/assertion/impl/sync-date.d.cts.map +0 -1
  149. package/dist/assertion/impl/sync-date.d.ts +0 -209
  150. package/dist/assertion/impl/sync-date.d.ts.map +0 -1
  151. package/dist/assertion/impl/sync-date.js +0 -338
  152. package/dist/assertion/impl/sync-date.js.map +0 -1
  153. package/dist/assertion/impl/sync-esoteric.cjs +0 -214
  154. package/dist/assertion/impl/sync-esoteric.cjs.map +0 -1
  155. package/dist/assertion/impl/sync-esoteric.d.cts +0 -191
  156. package/dist/assertion/impl/sync-esoteric.d.cts.map +0 -1
  157. package/dist/assertion/impl/sync-esoteric.d.ts +0 -191
  158. package/dist/assertion/impl/sync-esoteric.d.ts.map +0 -1
  159. package/dist/assertion/impl/sync-esoteric.js +0 -211
  160. package/dist/assertion/impl/sync-esoteric.js.map +0 -1
  161. package/dist/assertion/impl/sync-iterable.cjs +0 -512
  162. package/dist/assertion/impl/sync-iterable.cjs.map +0 -1
  163. package/dist/assertion/impl/sync-iterable.d.cts +0 -334
  164. package/dist/assertion/impl/sync-iterable.d.cts.map +0 -1
  165. package/dist/assertion/impl/sync-iterable.d.ts +0 -334
  166. package/dist/assertion/impl/sync-iterable.d.ts.map +0 -1
  167. package/dist/assertion/impl/sync-iterable.js +0 -509
  168. package/dist/assertion/impl/sync-iterable.js.map +0 -1
  169. package/dist/assertion/impl/sync-parametric.cjs +0 -805
  170. package/dist/assertion/impl/sync-parametric.cjs.map +0 -1
  171. package/dist/assertion/impl/sync-parametric.d.cts +0 -560
  172. package/dist/assertion/impl/sync-parametric.d.cts.map +0 -1
  173. package/dist/assertion/impl/sync-parametric.d.ts +0 -560
  174. package/dist/assertion/impl/sync-parametric.d.ts.map +0 -1
  175. package/dist/assertion/impl/sync-parametric.js +0 -802
  176. package/dist/assertion/impl/sync-parametric.js.map +0 -1
  177. package/dist/assertion/impl/sync.cjs +0 -214
  178. package/dist/assertion/impl/sync.cjs.map +0 -1
  179. package/dist/assertion/impl/sync.d.cts +0 -512
  180. package/dist/assertion/impl/sync.d.cts.map +0 -1
  181. package/dist/assertion/impl/sync.d.ts +0 -512
  182. package/dist/assertion/impl/sync.d.ts.map +0 -1
  183. package/dist/assertion/impl/sync.js +0 -197
  184. package/dist/assertion/impl/sync.js.map +0 -1
  185. package/dist/assertion/index.cjs +0 -38
  186. package/dist/assertion/index.cjs.map +0 -1
  187. package/dist/assertion/index.d.cts +0 -18
  188. package/dist/assertion/index.d.cts.map +0 -1
  189. package/dist/assertion/index.d.ts +0 -18
  190. package/dist/assertion/index.d.ts.map +0 -1
  191. package/dist/assertion/index.js +0 -17
  192. package/dist/assertion/index.js.map +0 -1
  193. package/dist/assertion/slotify.cjs +0 -165
  194. package/dist/assertion/slotify.cjs.map +0 -1
  195. package/dist/assertion/slotify.d.cts +0 -11
  196. package/dist/assertion/slotify.d.cts.map +0 -1
  197. package/dist/assertion/slotify.d.ts +0 -11
  198. package/dist/assertion/slotify.d.ts.map +0 -1
  199. package/dist/assertion/slotify.js +0 -161
  200. package/dist/assertion/slotify.js.map +0 -1
  201. package/dist/bootstrap.cjs +0 -43
  202. package/dist/bootstrap.cjs.map +0 -1
  203. package/dist/bootstrap.d.cts +0 -27
  204. package/dist/bootstrap.d.cts.map +0 -1
  205. package/dist/bootstrap.d.ts +0 -27
  206. package/dist/bootstrap.d.ts.map +0 -1
  207. package/dist/bootstrap.js +0 -40
  208. package/dist/bootstrap.js.map +0 -1
  209. package/dist/constant.cjs +0 -82
  210. package/dist/constant.cjs.map +0 -1
  211. package/dist/constant.d.cts +0 -69
  212. package/dist/constant.d.cts.map +0 -1
  213. package/dist/constant.d.ts +0 -69
  214. package/dist/constant.d.ts.map +0 -1
  215. package/dist/constant.js +0 -79
  216. package/dist/constant.js.map +0 -1
  217. package/dist/diff.cjs +0 -340
  218. package/dist/diff.cjs.map +0 -1
  219. package/dist/diff.d.cts +0 -51
  220. package/dist/diff.d.cts.map +0 -1
  221. package/dist/diff.d.ts +0 -51
  222. package/dist/diff.d.ts.map +0 -1
  223. package/dist/diff.js +0 -334
  224. package/dist/diff.js.map +0 -1
  225. package/dist/error.cjs +0 -204
  226. package/dist/error.cjs.map +0 -1
  227. package/dist/error.d.cts +0 -212
  228. package/dist/error.d.cts.map +0 -1
  229. package/dist/error.d.ts +0 -212
  230. package/dist/error.d.ts.map +0 -1
  231. package/dist/error.js +0 -191
  232. package/dist/error.js.map +0 -1
  233. package/dist/expect.cjs +0 -590
  234. package/dist/expect.cjs.map +0 -1
  235. package/dist/expect.d.cts +0 -138
  236. package/dist/expect.d.cts.map +0 -1
  237. package/dist/expect.d.ts +0 -138
  238. package/dist/expect.d.ts.map +0 -1
  239. package/dist/expect.js +0 -582
  240. package/dist/expect.js.map +0 -1
  241. package/dist/guards.cjs +0 -297
  242. package/dist/guards.cjs.map +0 -1
  243. package/dist/guards.d.cts +0 -231
  244. package/dist/guards.d.cts.map +0 -1
  245. package/dist/guards.d.ts +0 -231
  246. package/dist/guards.d.ts.map +0 -1
  247. package/dist/guards.js +0 -277
  248. package/dist/guards.js.map +0 -1
  249. package/dist/index.cjs +0 -111
  250. package/dist/index.cjs.map +0 -1
  251. package/dist/index.d.cts +0 -448
  252. package/dist/index.d.cts.map +0 -1
  253. package/dist/index.d.ts +0 -448
  254. package/dist/index.d.ts.map +0 -1
  255. package/dist/index.js +0 -71
  256. package/dist/index.js.map +0 -1
  257. package/dist/internal-schema.cjs +0 -253
  258. package/dist/internal-schema.cjs.map +0 -1
  259. package/dist/internal-schema.d.cts +0 -8
  260. package/dist/internal-schema.d.cts.map +0 -1
  261. package/dist/internal-schema.d.ts +0 -8
  262. package/dist/internal-schema.d.ts.map +0 -1
  263. package/dist/internal-schema.js +0 -248
  264. package/dist/internal-schema.js.map +0 -1
  265. package/dist/metadata.cjs +0 -57
  266. package/dist/metadata.cjs.map +0 -1
  267. package/dist/metadata.d.cts +0 -27
  268. package/dist/metadata.d.cts.map +0 -1
  269. package/dist/metadata.d.ts +0 -27
  270. package/dist/metadata.d.ts.map +0 -1
  271. package/dist/metadata.js +0 -54
  272. package/dist/metadata.js.map +0 -1
  273. package/dist/schema.cjs +0 -1522
  274. package/dist/schema.cjs.map +0 -1
  275. package/dist/schema.d.cts +0 -1196
  276. package/dist/schema.d.cts.map +0 -1
  277. package/dist/schema.d.ts +0 -1196
  278. package/dist/schema.d.ts.map +0 -1
  279. package/dist/schema.js +0 -1516
  280. package/dist/schema.js.map +0 -1
  281. package/dist/snapshot/adapter.cjs +0 -31
  282. package/dist/snapshot/adapter.cjs.map +0 -1
  283. package/dist/snapshot/adapter.d.cts +0 -258
  284. package/dist/snapshot/adapter.d.cts.map +0 -1
  285. package/dist/snapshot/adapter.d.ts +0 -258
  286. package/dist/snapshot/adapter.d.ts.map +0 -1
  287. package/dist/snapshot/adapter.js +0 -27
  288. package/dist/snapshot/adapter.js.map +0 -1
  289. package/dist/snapshot/adapters/fallback.cjs +0 -453
  290. package/dist/snapshot/adapters/fallback.cjs.map +0 -1
  291. package/dist/snapshot/adapters/fallback.d.cts +0 -185
  292. package/dist/snapshot/adapters/fallback.d.cts.map +0 -1
  293. package/dist/snapshot/adapters/fallback.d.ts +0 -185
  294. package/dist/snapshot/adapters/fallback.d.ts.map +0 -1
  295. package/dist/snapshot/adapters/fallback.js +0 -446
  296. package/dist/snapshot/adapters/fallback.js.map +0 -1
  297. package/dist/snapshot/adapters/node-test.cjs +0 -301
  298. package/dist/snapshot/adapters/node-test.cjs.map +0 -1
  299. package/dist/snapshot/adapters/node-test.d.cts +0 -131
  300. package/dist/snapshot/adapters/node-test.d.cts.map +0 -1
  301. package/dist/snapshot/adapters/node-test.d.ts +0 -131
  302. package/dist/snapshot/adapters/node-test.d.ts.map +0 -1
  303. package/dist/snapshot/adapters/node-test.js +0 -297
  304. package/dist/snapshot/adapters/node-test.js.map +0 -1
  305. package/dist/snapshot/index.cjs +0 -61
  306. package/dist/snapshot/index.cjs.map +0 -1
  307. package/dist/snapshot/index.d.cts +0 -40
  308. package/dist/snapshot/index.d.cts.map +0 -1
  309. package/dist/snapshot/index.d.ts +0 -40
  310. package/dist/snapshot/index.d.ts.map +0 -1
  311. package/dist/snapshot/index.js +0 -44
  312. package/dist/snapshot/index.js.map +0 -1
  313. package/dist/snapshot/node-version.cjs +0 -49
  314. package/dist/snapshot/node-version.cjs.map +0 -1
  315. package/dist/snapshot/node-version.d.cts +0 -34
  316. package/dist/snapshot/node-version.d.cts.map +0 -1
  317. package/dist/snapshot/node-version.d.ts +0 -34
  318. package/dist/snapshot/node-version.d.ts.map +0 -1
  319. package/dist/snapshot/node-version.js +0 -44
  320. package/dist/snapshot/node-version.js.map +0 -1
  321. package/dist/snapshot/select-adapter.cjs +0 -170
  322. package/dist/snapshot/select-adapter.cjs.map +0 -1
  323. package/dist/snapshot/select-adapter.d.cts +0 -128
  324. package/dist/snapshot/select-adapter.d.cts.map +0 -1
  325. package/dist/snapshot/select-adapter.d.ts +0 -128
  326. package/dist/snapshot/select-adapter.d.ts.map +0 -1
  327. package/dist/snapshot/select-adapter.js +0 -164
  328. package/dist/snapshot/select-adapter.js.map +0 -1
  329. package/dist/snapshot/serializer.cjs +0 -246
  330. package/dist/snapshot/serializer.cjs.map +0 -1
  331. package/dist/snapshot/serializer.d.cts +0 -126
  332. package/dist/snapshot/serializer.d.cts.map +0 -1
  333. package/dist/snapshot/serializer.d.ts +0 -126
  334. package/dist/snapshot/serializer.d.ts.map +0 -1
  335. package/dist/snapshot/serializer.js +0 -238
  336. package/dist/snapshot/serializer.js.map +0 -1
  337. package/dist/standard-schema.cjs +0 -13
  338. package/dist/standard-schema.cjs.map +0 -1
  339. package/dist/standard-schema.d.cts +0 -192
  340. package/dist/standard-schema.d.cts.map +0 -1
  341. package/dist/standard-schema.d.ts +0 -192
  342. package/dist/standard-schema.d.ts.map +0 -1
  343. package/dist/standard-schema.js +0 -12
  344. package/dist/standard-schema.js.map +0 -1
  345. package/dist/types.cjs +0 -22
  346. package/dist/types.cjs.map +0 -1
  347. package/dist/types.d.cts +0 -905
  348. package/dist/types.d.cts.map +0 -1
  349. package/dist/types.d.ts +0 -905
  350. package/dist/types.d.ts.map +0 -1
  351. package/dist/types.js +0 -21
  352. package/dist/types.js.map +0 -1
  353. package/dist/use.cjs +0 -240
  354. package/dist/use.cjs.map +0 -1
  355. package/dist/use.d.cts +0 -8
  356. package/dist/use.d.cts.map +0 -1
  357. package/dist/use.d.ts +0 -8
  358. package/dist/use.d.ts.map +0 -1
  359. package/dist/use.js +0 -236
  360. package/dist/use.js.map +0 -1
  361. package/dist/util.cjs +0 -255
  362. package/dist/util.cjs.map +0 -1
  363. package/dist/util.d.cts +0 -141
  364. package/dist/util.d.cts.map +0 -1
  365. package/dist/util.d.ts +0 -141
  366. package/dist/util.d.ts.map +0 -1
  367. package/dist/util.js +0 -234
  368. package/dist/util.js.map +0 -1
  369. package/dist/value-to-schema.cjs +0 -537
  370. package/dist/value-to-schema.cjs.map +0 -1
  371. package/dist/value-to-schema.d.cts +0 -144
  372. package/dist/value-to-schema.d.cts.map +0 -1
  373. package/dist/value-to-schema.d.ts +0 -144
  374. package/dist/value-to-schema.d.ts.map +0 -1
  375. package/dist/value-to-schema.js +0 -533
  376. package/dist/value-to-schema.js.map +0 -1
package/dist/diff.cjs DELETED
@@ -1,340 +0,0 @@
1
- "use strict";
2
- /**
3
- * Diff utilities for generating rich assertion failure output.
4
- *
5
- * This module provides utilities for extracting meaningful actual/expected
6
- * values from Zod validation errors and generating high-quality diff output
7
- * using `jest-diff` for assertion failures.
8
- *
9
- * @packageDocumentation
10
- * @see {@link https://npm.im/jest-diff | jest-diff}
11
- */
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.shouldGenerateDiff = exports.generateDiff = exports.extractDiffValues = void 0;
14
- const jest_diff_1 = require("jest-diff");
15
- const { isArray } = Array;
16
- const { max } = Math;
17
- const { stringify } = JSON;
18
- const { entries, getOwnPropertyNames } = Object;
19
- /**
20
- * Extracts actual and expected values from a `ZodError` for meaningful diffs.
21
- *
22
- * @function
23
- * @param zodError The `ZodError` to extract values from
24
- * @param subject The original subject that failed validation
25
- * @returns Object with actual and expected values for diff
26
- */
27
- const extractDiffValues = (zodError, subject) => {
28
- try {
29
- const actual = subject;
30
- let expected = subject != null ? deepClone(subject) : subject;
31
- for (const issue of zodError.issues) {
32
- try {
33
- const filteredPath = issue.path.filter((key) => typeof key === 'string' || typeof key === 'number');
34
- switch (issue.code) {
35
- case 'custom': {
36
- const params = issue.params;
37
- if (params?.bupkisType === 'missing_key' &&
38
- filteredPath.length > 0) {
39
- const missingKey = filteredPath[0];
40
- if (typeof expected === 'object' && expected !== null) {
41
- expected = {
42
- ...expected,
43
- [missingKey]: undefined,
44
- };
45
- }
46
- }
47
- else if (filteredPath.length > 0) {
48
- const actualValue = getValueAtPath(actual, filteredPath);
49
- if (actualValue === undefined) {
50
- expected = setValueAtPath(expected, filteredPath, undefined);
51
- }
52
- }
53
- break;
54
- }
55
- case 'invalid_format': {
56
- const actualValue = getValueAtPath(actual, filteredPath);
57
- let correctedValue = actualValue;
58
- const regexMatch = issue.message.match(/pattern (.+)/);
59
- if (regexMatch) {
60
- correctedValue = `<string matching ${regexMatch[1]}>`;
61
- }
62
- else {
63
- correctedValue = '<string in valid format>';
64
- }
65
- expected = setValueAtPath(expected, filteredPath, correctedValue);
66
- break;
67
- }
68
- case 'invalid_type': {
69
- const correctedValue = createCorrectValueForType(issue.expected, getValueAtPath(actual, filteredPath));
70
- expected = setValueAtPath(expected, filteredPath, correctedValue);
71
- break;
72
- }
73
- case 'invalid_union': {
74
- // Union errors contain multiple sub-errors for each branch.
75
- // We can't determine a single "expected" value, so bail out
76
- // and let Zod's error message show all the union branch errors.
77
- return { actual: undefined, expected: undefined };
78
- }
79
- case 'invalid_value': {
80
- // Only use the corrected value if we have a concrete value from the schema
81
- if (issue.values && issue.values.length > 0) {
82
- const correctedValue = issue.values[0];
83
- expected = setValueAtPath(expected, filteredPath, correctedValue);
84
- }
85
- else {
86
- // No concrete value available, bail out to Zod's error message
87
- return { actual: undefined, expected: undefined };
88
- }
89
- break;
90
- }
91
- case 'too_big': {
92
- const actualValue = getValueAtPath(actual, filteredPath);
93
- let correctedValue;
94
- if (issue.origin === 'string' && typeof actualValue === 'string') {
95
- correctedValue = actualValue.slice(0, Number(issue.maximum));
96
- }
97
- else if (issue.origin === 'array' && isArray(actualValue)) {
98
- correctedValue = actualValue.slice(0, Number(issue.maximum));
99
- }
100
- else {
101
- correctedValue = issue.maximum;
102
- }
103
- expected = setValueAtPath(expected, filteredPath, correctedValue);
104
- break;
105
- }
106
- case 'too_small': {
107
- const actualValue = getValueAtPath(actual, filteredPath);
108
- let correctedValue;
109
- if (issue.origin === 'string' && typeof actualValue === 'string') {
110
- const needed = Number(issue.minimum) - actualValue.length;
111
- correctedValue = actualValue + 'x'.repeat(max(0, needed));
112
- }
113
- else if (issue.origin === 'array' && isArray(actualValue)) {
114
- const needed = Number(issue.minimum) - actualValue.length;
115
- correctedValue = actualValue.concat(new Array(max(0, needed)).fill(null));
116
- }
117
- else {
118
- correctedValue = issue.minimum;
119
- }
120
- expected = setValueAtPath(expected, filteredPath, correctedValue);
121
- break;
122
- }
123
- case 'unrecognized_keys': {
124
- if (filteredPath.length === 0 &&
125
- typeof expected === 'object' &&
126
- expected !== null) {
127
- const expectedCopy = {
128
- ...expected,
129
- };
130
- for (const key of issue.keys) {
131
- delete expectedCopy[key];
132
- }
133
- expected = expectedCopy;
134
- }
135
- break;
136
- }
137
- default: {
138
- break;
139
- }
140
- }
141
- }
142
- catch {
143
- continue;
144
- }
145
- }
146
- return { actual, expected };
147
- }
148
- catch {
149
- return { actual: undefined, expected: undefined };
150
- }
151
- };
152
- exports.extractDiffValues = extractDiffValues;
153
- /**
154
- * Generates a rich diff string using jest-diff for assertion failures.
155
- *
156
- * @function
157
- * @param expected The expected value
158
- * @param actual The actual value
159
- * @param options Configuration options for diff generation
160
- * @returns A formatted diff string, or null if values are identical
161
- */
162
- const generateDiff = (expected, actual, options = {}) => {
163
- if (!(0, exports.shouldGenerateDiff)(actual, expected)) {
164
- return null;
165
- }
166
- return (0, jest_diff_1.diff)(expected, actual, {
167
- aAnnotation: 'expected',
168
- bAnnotation: 'actual',
169
- expand: false,
170
- includeChangeCounts: true,
171
- ...options,
172
- });
173
- };
174
- exports.generateDiff = generateDiff;
175
- /**
176
- * Checks if two values should generate a meaningful diff.
177
- *
178
- * @function
179
- * @param actual The actual value
180
- * @param expected The expected value
181
- * @returns True if a diff should be generated, false otherwise
182
- */
183
- const shouldGenerateDiff = (actual, expected) => actual !== undefined && expected !== undefined && actual !== expected;
184
- exports.shouldGenerateDiff = shouldGenerateDiff;
185
- /**
186
- * Creates a corrected value for a given type
187
- *
188
- * @function
189
- */
190
- const createCorrectValueForType = (expectedType, actualValue) => {
191
- switch (expectedType) {
192
- case 'array':
193
- return isArray(actualValue) ? actualValue : [];
194
- case 'boolean':
195
- return typeof actualValue === 'boolean'
196
- ? actualValue
197
- : Boolean(actualValue);
198
- case 'null':
199
- return null;
200
- case 'number':
201
- return typeof actualValue === 'number'
202
- ? actualValue
203
- : Number(actualValue) || 0;
204
- case 'object':
205
- return typeof actualValue === 'object' && actualValue !== null
206
- ? actualValue
207
- : {};
208
- case 'string':
209
- if (typeof actualValue === 'string') {
210
- return actualValue;
211
- }
212
- if (actualValue == null) {
213
- return '';
214
- }
215
- if (typeof actualValue === 'object') {
216
- return stringify(actualValue);
217
- }
218
- // eslint-disable-next-line @typescript-eslint/no-base-to-string
219
- return `${actualValue}`;
220
- case 'undefined':
221
- return undefined;
222
- default:
223
- return `<${expectedType}>`;
224
- }
225
- };
226
- /**
227
- * Custom deep clone implementation for values that structuredClone can't
228
- * handle. Used as fallback when structuredClone fails.
229
- *
230
- * @function
231
- */
232
- const customDeepClone = (value) => {
233
- if (value === null || typeof value !== 'object') {
234
- return value;
235
- }
236
- if (isArray(value)) {
237
- return value.map(customDeepClone);
238
- }
239
- if (value instanceof Error) {
240
- const cloned = {};
241
- for (const [key, val] of entries(value)) {
242
- cloned[key] = customDeepClone(val);
243
- }
244
- for (const prop of getOwnPropertyNames(value)) {
245
- if (!(prop in cloned)) {
246
- try {
247
- cloned[prop] = value[prop];
248
- }
249
- catch {
250
- // Skip properties that can't be accessed
251
- }
252
- }
253
- }
254
- return cloned;
255
- }
256
- const cloned = {};
257
- for (const [key, val] of entries(value)) {
258
- cloned[key] = customDeepClone(val);
259
- }
260
- return cloned;
261
- };
262
- /**
263
- * Deep clone a value to avoid mutating the original. Uses the native
264
- * structuredClone API which handles more types and circular references better
265
- * than a custom implementation. Falls back to custom implementation for values
266
- * containing functions.
267
- *
268
- * @function
269
- */
270
- const deepClone = (value) => {
271
- try {
272
- return structuredClone(value);
273
- }
274
- catch (error) {
275
- if (error instanceof Error && error.name === 'DataCloneError') {
276
- return customDeepClone(value);
277
- }
278
- throw error;
279
- }
280
- };
281
- /**
282
- * Gets a value at a specific path in an object
283
- *
284
- * @function
285
- */
286
- const getValueAtPath = (obj, path) => {
287
- if (path.length === 0) {
288
- return obj;
289
- }
290
- let current = obj;
291
- for (const key of path) {
292
- if (current == null) {
293
- return undefined;
294
- }
295
- current = current[key];
296
- }
297
- return current;
298
- };
299
- /**
300
- * Returns a new object with the value at the specified path set to the given
301
- * value.
302
- *
303
- * @function
304
- */
305
- const setValueAtPath = (obj, path, value) => {
306
- if (path.length === 0) {
307
- return value;
308
- }
309
- if (obj == null) {
310
- obj = typeof path[0] === 'number' ? [] : {};
311
- }
312
- const [head, ...tail] = path;
313
- if (head === undefined) {
314
- return obj;
315
- }
316
- const newValue = tail.length === 0
317
- ? value
318
- : setValueAtPath(obj[head], tail, value);
319
- if (isArray(obj)) {
320
- const result = [...obj];
321
- result[head] = newValue;
322
- return result;
323
- }
324
- let result;
325
- if (obj instanceof Error) {
326
- result = {};
327
- for (const prop of getOwnPropertyNames(obj)) {
328
- if (prop !== 'stack') {
329
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
330
- result[prop] = obj[prop];
331
- }
332
- }
333
- }
334
- else {
335
- result = { ...obj };
336
- }
337
- result[head] = newValue;
338
- return result;
339
- };
340
- //# sourceMappingURL=diff.js.map
package/dist/diff.cjs.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"diff.js","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"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"}
package/dist/diff.d.cts DELETED
@@ -1,51 +0,0 @@
1
- /**
2
- * Diff utilities for generating rich assertion failure output.
3
- *
4
- * This module provides utilities for extracting meaningful actual/expected
5
- * values from Zod validation errors and generating high-quality diff output
6
- * using `jest-diff` for assertion failures.
7
- *
8
- * @packageDocumentation
9
- * @see {@link https://npm.im/jest-diff | jest-diff}
10
- */
11
- import type { DiffOptions } from 'jest-diff';
12
- import type { z } from 'zod';
13
- export type { DiffOptions };
14
- /**
15
- * Result of extracting diff values from a `ZodError`
16
- */
17
- export interface DiffValues {
18
- /** The actual value that was validated */
19
- actual: unknown;
20
- /** The expected value (corrected version) */
21
- expected: unknown;
22
- }
23
- /**
24
- * Extracts actual and expected values from a `ZodError` for meaningful diffs.
25
- *
26
- * @function
27
- * @param zodError The `ZodError` to extract values from
28
- * @param subject The original subject that failed validation
29
- * @returns Object with actual and expected values for diff
30
- */
31
- export declare const extractDiffValues: (zodError: z.ZodError, subject: unknown) => DiffValues;
32
- /**
33
- * Generates a rich diff string using jest-diff for assertion failures.
34
- *
35
- * @function
36
- * @param expected The expected value
37
- * @param actual The actual value
38
- * @param options Configuration options for diff generation
39
- * @returns A formatted diff string, or null if values are identical
40
- */
41
- export declare const generateDiff: (expected: unknown, actual: unknown, options?: DiffOptions) => null | string;
42
- /**
43
- * Checks if two values should generate a meaningful diff.
44
- *
45
- * @function
46
- * @param actual The actual value
47
- * @param expected The expected value
48
- * @returns True if a diff should be generated, false otherwise
49
- */
50
- export declare const shouldGenerateDiff: (actual: unknown, expected: unknown) => boolean;
51
- //# sourceMappingURL=diff.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAG7B,YAAY,EAAE,WAAW,EAAE,CAAC;AAO5B;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,0CAA0C;IAC1C,MAAM,EAAE,OAAO,CAAC;IAChB,6CAA6C;IAC7C,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAC5B,UAAU,CAAC,CAAC,QAAQ,EACpB,SAAS,OAAO,KACf,UAkJF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GACvB,UAAU,OAAO,EACjB,QAAQ,OAAO,EACf,UAAS,WAAgB,KACxB,IAAI,GAAG,MAYT,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,OAAO,EACf,UAAU,OAAO,KAChB,OACoE,CAAC"}
package/dist/diff.d.ts DELETED
@@ -1,51 +0,0 @@
1
- /**
2
- * Diff utilities for generating rich assertion failure output.
3
- *
4
- * This module provides utilities for extracting meaningful actual/expected
5
- * values from Zod validation errors and generating high-quality diff output
6
- * using `jest-diff` for assertion failures.
7
- *
8
- * @packageDocumentation
9
- * @see {@link https://npm.im/jest-diff | jest-diff}
10
- */
11
- import type { DiffOptions } from 'jest-diff';
12
- import type { z } from 'zod';
13
- export type { DiffOptions };
14
- /**
15
- * Result of extracting diff values from a `ZodError`
16
- */
17
- export interface DiffValues {
18
- /** The actual value that was validated */
19
- actual: unknown;
20
- /** The expected value (corrected version) */
21
- expected: unknown;
22
- }
23
- /**
24
- * Extracts actual and expected values from a `ZodError` for meaningful diffs.
25
- *
26
- * @function
27
- * @param zodError The `ZodError` to extract values from
28
- * @param subject The original subject that failed validation
29
- * @returns Object with actual and expected values for diff
30
- */
31
- export declare const extractDiffValues: (zodError: z.ZodError, subject: unknown) => DiffValues;
32
- /**
33
- * Generates a rich diff string using jest-diff for assertion failures.
34
- *
35
- * @function
36
- * @param expected The expected value
37
- * @param actual The actual value
38
- * @param options Configuration options for diff generation
39
- * @returns A formatted diff string, or null if values are identical
40
- */
41
- export declare const generateDiff: (expected: unknown, actual: unknown, options?: DiffOptions) => null | string;
42
- /**
43
- * Checks if two values should generate a meaningful diff.
44
- *
45
- * @function
46
- * @param actual The actual value
47
- * @param expected The expected value
48
- * @returns True if a diff should be generated, false otherwise
49
- */
50
- export declare const shouldGenerateDiff: (actual: unknown, expected: unknown) => boolean;
51
- //# sourceMappingURL=diff.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAG7B,YAAY,EAAE,WAAW,EAAE,CAAC;AAO5B;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,0CAA0C;IAC1C,MAAM,EAAE,OAAO,CAAC;IAChB,6CAA6C;IAC7C,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAC5B,UAAU,CAAC,CAAC,QAAQ,EACpB,SAAS,OAAO,KACf,UAkJF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GACvB,UAAU,OAAO,EACjB,QAAQ,OAAO,EACf,UAAS,WAAgB,KACxB,IAAI,GAAG,MAYT,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,OAAO,EACf,UAAU,OAAO,KAChB,OACoE,CAAC"}