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
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
@@ -1,31 +0,0 @@
1
- "use strict";
2
- /**
3
- * Adapter interface and types for snapshot testing across multiple frameworks.
4
- *
5
- * @packageDocumentation
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.isTestContext = void 0;
9
- /**
10
- * Type guard to check if a value is a test context object.
11
- *
12
- * This is a basic check that the value is a non-null object, which is the
13
- * minimum requirement for a test context.
14
- *
15
- * @example
16
- *
17
- * ```typescript
18
- * if (isTestContext(context)) {
19
- * // context is Record<string, unknown>
20
- * }
21
- * ```
22
- *
23
- * @function
24
- * @param value - Value to check
25
- * @returns `true` if the value could be a test context
26
- */
27
- const isTestContext = (value) => {
28
- return typeof value === 'object' && value !== null;
29
- };
30
- exports.isTestContext = isTestContext;
31
- //# sourceMappingURL=adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/snapshot/adapter.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AA0PH;;;;;;;;;;;;;;;;;GAiBG;AACI,MAAM,aAAa,GAAG,CAC3B,KAAc,EACoB,EAAE;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC,CAAC;AAJW,QAAA,aAAa,iBAIxB"}
@@ -1,258 +0,0 @@
1
- /**
2
- * Adapter interface and types for snapshot testing across multiple frameworks.
3
- *
4
- * @packageDocumentation
5
- */
6
- import { type AssertionFailure } from "../types.cjs";
7
- /**
8
- * Adapter for framework-specific snapshot operations.
9
- *
10
- * Each test framework (node:test, Jest, Vitest, Mocha, etc.) has its own way of
11
- * providing test context and storing snapshots. Adapters abstract these
12
- * differences and provide a unified interface.
13
- *
14
- * @example
15
- *
16
- * ```typescript
17
- * class NodeTestAdapter implements SnapshotAdapter {
18
- * readonly name = 'node:test';
19
- *
20
- * canHandle(context: unknown): boolean {
21
- * return (
22
- * typeof context === 'object' &&
23
- * context !== null &&
24
- * 'assert' in context &&
25
- * typeof (context as any).assert?.snapshot === 'function'
26
- * );
27
- * }
28
- *
29
- * getContext(context: unknown): SnapshotContext {
30
- * // Extract test name, file path, update mode from node:test context
31
- * }
32
- *
33
- * assertSnapshot(
34
- * value: unknown,
35
- * context: unknown,
36
- * options?: SnapshotOptions,
37
- * ): void {
38
- * // Delegate to context.assert.snapshot()
39
- * }
40
- * }
41
- * ```
42
- */
43
- export interface SnapshotAdapter {
44
- /**
45
- * Check if this adapter can handle the given test context.
46
- *
47
- * This is used for adapter selection. Adapters are checked in priority order,
48
- * and the first adapter that returns `true` is used.
49
- *
50
- * @example
51
- *
52
- * ```typescript
53
- * canHandle(context: unknown): boolean {
54
- * // Check for node:test-specific properties
55
- * return typeof context === 'object' &&
56
- * context !== null &&
57
- * 'assert' in context &&
58
- * typeof (context as any).assert?.snapshot === 'function';
59
- * }
60
- * ```
61
- *
62
- * @param context - Test context object from the test framework
63
- * @returns `true` if this adapter can handle the context
64
- */
65
- canHandle(context: unknown): boolean;
66
- /**
67
- * Extract normalized snapshot context from framework-specific context.
68
- *
69
- * This method should extract the test name/path, file path, and update mode
70
- * from the framework's test context object.
71
- *
72
- * @example
73
- *
74
- * ```typescript
75
- * getContext(context: unknown): SnapshotContext {
76
- * const ctx = context as NodeTestContext;
77
- * return {
78
- * testPath: ctx.name,
79
- * filePath: getFilePathFromStack(),
80
- * isUpdateMode: process.argv.includes('--test-update-snapshots')
81
- * };
82
- * }
83
- * ```
84
- *
85
- * @param context - Test context object from the test framework
86
- * @returns Normalized snapshot context
87
- * @throws {TypeError} If the context is invalid for this adapter
88
- */
89
- getContext(context: unknown): SnapshotContext;
90
- /**
91
- * Adapter name for debugging and logging.
92
- *
93
- * @example
94
- *
95
- * ```typescript
96
- * 'node:test';
97
- * 'jest';
98
- * 'fallback';
99
- * ```
100
- */
101
- readonly name: string;
102
- /**
103
- * Perform the snapshot assertion.
104
- *
105
- * This method should either:
106
- *
107
- * - Compare the value against the existing snapshot and throw if different
108
- * - Create/update the snapshot if in update mode
109
- *
110
- * @example
111
- *
112
- * ```typescript
113
- * assertSnapshot(value: unknown, context: unknown, options?: SnapshotOptions): void {
114
- * const ctx = this.getContext(context);
115
- * const serialized = options?.serializer?.(value) ?? defaultSerializer(value);
116
- *
117
- * if (ctx.isUpdateMode) {
118
- * saveSnapshot(ctx.testPath, serialized);
119
- * } else {
120
- * const expected = loadSnapshot(ctx.testPath);
121
- * if (serialized !== expected) {
122
- * throw new AssertionError('Snapshot mismatch');
123
- * }
124
- * }
125
- * }
126
- * ```
127
- *
128
- * @param value - The value to snapshot
129
- * @param context - Test context object from the test framework
130
- * @param options - Optional serialization and naming options
131
- * @returns {@link AssertionFailure} If the snapshot doesn't match, void
132
- * otherwise
133
- */
134
- validateSnapshot(value: unknown, context: unknown, options?: SnapshotOptions): AssertionFailure | void;
135
- }
136
- /**
137
- * Context information extracted from a test framework's test context.
138
- *
139
- * This represents the normalized information needed to create and match
140
- * snapshots regardless of which test framework is being used.
141
- */
142
- export interface SnapshotContext {
143
- /**
144
- * Absolute path to the test file.
145
- *
146
- * This is used to determine where to store the snapshot file.
147
- *
148
- * @example
149
- *
150
- * ```typescript
151
- * '/Users/name/project/test/component.test.ts';
152
- * ```
153
- */
154
- filePath: string;
155
- /**
156
- * Whether we're in update mode.
157
- *
158
- * When `true`, snapshots should be created or updated rather than compared.
159
- * This is typically controlled by CLI flags like `--test-update-snapshots` or
160
- * environment variables.
161
- */
162
- isUpdateMode: boolean;
163
- /**
164
- * Full test path/name including describe blocks.
165
- *
166
- * This should uniquely identify the test within the test file.
167
- *
168
- * @example
169
- *
170
- * ```typescript
171
- * 'MyComponent > renders > shows the title';
172
- * ```
173
- */
174
- testPath: string;
175
- }
176
- /**
177
- * Options for snapshot assertions.
178
- *
179
- * These options control how snapshots are created, matched, and stored.
180
- */
181
- export interface SnapshotOptions {
182
- /**
183
- * Optional hint for the snapshot name.
184
- *
185
- * This can be used to give snapshots more descriptive names, especially when
186
- * multiple snapshots exist in a single test.
187
- *
188
- * @example
189
- *
190
- * ```typescript
191
- * {
192
- * "hint": "after-user-login"
193
- * }
194
- * // Results in snapshot name: "test name [after-user-login]"
195
- * ```
196
- */
197
- hint?: string;
198
- /**
199
- * Custom serializer for the snapshot value.
200
- *
201
- * If provided, this serializer will be used instead of the default
202
- * serialization logic. This is useful for:
203
- *
204
- * - Redacting sensitive data
205
- * - Custom formatting
206
- * - Framework-specific serialization
207
- *
208
- * @example
209
- *
210
- * ```typescript
211
- * {
212
- * serializer: (value) => {
213
- * // Redact passwords before snapshotting
214
- * return JSON.stringify({ ...value, password: '[REDACTED]' }, null, 2);
215
- * }
216
- * }
217
- * ```
218
- */
219
- serializer?: SnapshotSerializer;
220
- }
221
- /**
222
- * Serializer function for converting values to snapshot strings.
223
- *
224
- * A serializer takes any JavaScript value and converts it to a string
225
- * representation suitable for storage in a snapshot file.
226
- *
227
- * @example
228
- *
229
- * ```typescript
230
- * const serializer: SnapshotSerializer = (value) => {
231
- * return JSON.stringify(value, null, 2);
232
- * };
233
- * ```
234
- *
235
- * @param value - The value to serialize
236
- * @returns String representation of the value
237
- */
238
- export type SnapshotSerializer = (value: unknown) => string;
239
- /**
240
- * Type guard to check if a value is a test context object.
241
- *
242
- * This is a basic check that the value is a non-null object, which is the
243
- * minimum requirement for a test context.
244
- *
245
- * @example
246
- *
247
- * ```typescript
248
- * if (isTestContext(context)) {
249
- * // context is Record<string, unknown>
250
- * }
251
- * ```
252
- *
253
- * @function
254
- * @param value - Value to check
255
- * @returns `true` if the value could be a test context
256
- */
257
- export declare const isTestContext: (value: unknown) => value is Record<string, unknown>;
258
- //# sourceMappingURL=adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/snapshot/adapter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,gBAAgB,EAAE,qBAAoB;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;IAErC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,eAAe,CAAC;IAE9C;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,gBAAgB,CACd,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,eAAe,GACxB,gBAAgB,GAAG,IAAI,CAAC;CAC5B;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;;;;;OAUG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;;OAMG;IACH,YAAY,EAAE,OAAO,CAAC;IAEtB;;;;;;;;;;OAUG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;;;;;;;;;OAcG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,UAAU,CAAC,EAAE,kBAAkB,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;AAE5D;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,aAAa,GACxB,OAAO,OAAO,KACb,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAEjC,CAAC"}
@@ -1,258 +0,0 @@
1
- /**
2
- * Adapter interface and types for snapshot testing across multiple frameworks.
3
- *
4
- * @packageDocumentation
5
- */
6
- import { type AssertionFailure } from "../types.js";
7
- /**
8
- * Adapter for framework-specific snapshot operations.
9
- *
10
- * Each test framework (node:test, Jest, Vitest, Mocha, etc.) has its own way of
11
- * providing test context and storing snapshots. Adapters abstract these
12
- * differences and provide a unified interface.
13
- *
14
- * @example
15
- *
16
- * ```typescript
17
- * class NodeTestAdapter implements SnapshotAdapter {
18
- * readonly name = 'node:test';
19
- *
20
- * canHandle(context: unknown): boolean {
21
- * return (
22
- * typeof context === 'object' &&
23
- * context !== null &&
24
- * 'assert' in context &&
25
- * typeof (context as any).assert?.snapshot === 'function'
26
- * );
27
- * }
28
- *
29
- * getContext(context: unknown): SnapshotContext {
30
- * // Extract test name, file path, update mode from node:test context
31
- * }
32
- *
33
- * assertSnapshot(
34
- * value: unknown,
35
- * context: unknown,
36
- * options?: SnapshotOptions,
37
- * ): void {
38
- * // Delegate to context.assert.snapshot()
39
- * }
40
- * }
41
- * ```
42
- */
43
- export interface SnapshotAdapter {
44
- /**
45
- * Check if this adapter can handle the given test context.
46
- *
47
- * This is used for adapter selection. Adapters are checked in priority order,
48
- * and the first adapter that returns `true` is used.
49
- *
50
- * @example
51
- *
52
- * ```typescript
53
- * canHandle(context: unknown): boolean {
54
- * // Check for node:test-specific properties
55
- * return typeof context === 'object' &&
56
- * context !== null &&
57
- * 'assert' in context &&
58
- * typeof (context as any).assert?.snapshot === 'function';
59
- * }
60
- * ```
61
- *
62
- * @param context - Test context object from the test framework
63
- * @returns `true` if this adapter can handle the context
64
- */
65
- canHandle(context: unknown): boolean;
66
- /**
67
- * Extract normalized snapshot context from framework-specific context.
68
- *
69
- * This method should extract the test name/path, file path, and update mode
70
- * from the framework's test context object.
71
- *
72
- * @example
73
- *
74
- * ```typescript
75
- * getContext(context: unknown): SnapshotContext {
76
- * const ctx = context as NodeTestContext;
77
- * return {
78
- * testPath: ctx.name,
79
- * filePath: getFilePathFromStack(),
80
- * isUpdateMode: process.argv.includes('--test-update-snapshots')
81
- * };
82
- * }
83
- * ```
84
- *
85
- * @param context - Test context object from the test framework
86
- * @returns Normalized snapshot context
87
- * @throws {TypeError} If the context is invalid for this adapter
88
- */
89
- getContext(context: unknown): SnapshotContext;
90
- /**
91
- * Adapter name for debugging and logging.
92
- *
93
- * @example
94
- *
95
- * ```typescript
96
- * 'node:test';
97
- * 'jest';
98
- * 'fallback';
99
- * ```
100
- */
101
- readonly name: string;
102
- /**
103
- * Perform the snapshot assertion.
104
- *
105
- * This method should either:
106
- *
107
- * - Compare the value against the existing snapshot and throw if different
108
- * - Create/update the snapshot if in update mode
109
- *
110
- * @example
111
- *
112
- * ```typescript
113
- * assertSnapshot(value: unknown, context: unknown, options?: SnapshotOptions): void {
114
- * const ctx = this.getContext(context);
115
- * const serialized = options?.serializer?.(value) ?? defaultSerializer(value);
116
- *
117
- * if (ctx.isUpdateMode) {
118
- * saveSnapshot(ctx.testPath, serialized);
119
- * } else {
120
- * const expected = loadSnapshot(ctx.testPath);
121
- * if (serialized !== expected) {
122
- * throw new AssertionError('Snapshot mismatch');
123
- * }
124
- * }
125
- * }
126
- * ```
127
- *
128
- * @param value - The value to snapshot
129
- * @param context - Test context object from the test framework
130
- * @param options - Optional serialization and naming options
131
- * @returns {@link AssertionFailure} If the snapshot doesn't match, void
132
- * otherwise
133
- */
134
- validateSnapshot(value: unknown, context: unknown, options?: SnapshotOptions): AssertionFailure | void;
135
- }
136
- /**
137
- * Context information extracted from a test framework's test context.
138
- *
139
- * This represents the normalized information needed to create and match
140
- * snapshots regardless of which test framework is being used.
141
- */
142
- export interface SnapshotContext {
143
- /**
144
- * Absolute path to the test file.
145
- *
146
- * This is used to determine where to store the snapshot file.
147
- *
148
- * @example
149
- *
150
- * ```typescript
151
- * '/Users/name/project/test/component.test.ts';
152
- * ```
153
- */
154
- filePath: string;
155
- /**
156
- * Whether we're in update mode.
157
- *
158
- * When `true`, snapshots should be created or updated rather than compared.
159
- * This is typically controlled by CLI flags like `--test-update-snapshots` or
160
- * environment variables.
161
- */
162
- isUpdateMode: boolean;
163
- /**
164
- * Full test path/name including describe blocks.
165
- *
166
- * This should uniquely identify the test within the test file.
167
- *
168
- * @example
169
- *
170
- * ```typescript
171
- * 'MyComponent > renders > shows the title';
172
- * ```
173
- */
174
- testPath: string;
175
- }
176
- /**
177
- * Options for snapshot assertions.
178
- *
179
- * These options control how snapshots are created, matched, and stored.
180
- */
181
- export interface SnapshotOptions {
182
- /**
183
- * Optional hint for the snapshot name.
184
- *
185
- * This can be used to give snapshots more descriptive names, especially when
186
- * multiple snapshots exist in a single test.
187
- *
188
- * @example
189
- *
190
- * ```typescript
191
- * {
192
- * "hint": "after-user-login"
193
- * }
194
- * // Results in snapshot name: "test name [after-user-login]"
195
- * ```
196
- */
197
- hint?: string;
198
- /**
199
- * Custom serializer for the snapshot value.
200
- *
201
- * If provided, this serializer will be used instead of the default
202
- * serialization logic. This is useful for:
203
- *
204
- * - Redacting sensitive data
205
- * - Custom formatting
206
- * - Framework-specific serialization
207
- *
208
- * @example
209
- *
210
- * ```typescript
211
- * {
212
- * serializer: (value) => {
213
- * // Redact passwords before snapshotting
214
- * return JSON.stringify({ ...value, password: '[REDACTED]' }, null, 2);
215
- * }
216
- * }
217
- * ```
218
- */
219
- serializer?: SnapshotSerializer;
220
- }
221
- /**
222
- * Serializer function for converting values to snapshot strings.
223
- *
224
- * A serializer takes any JavaScript value and converts it to a string
225
- * representation suitable for storage in a snapshot file.
226
- *
227
- * @example
228
- *
229
- * ```typescript
230
- * const serializer: SnapshotSerializer = (value) => {
231
- * return JSON.stringify(value, null, 2);
232
- * };
233
- * ```
234
- *
235
- * @param value - The value to serialize
236
- * @returns String representation of the value
237
- */
238
- export type SnapshotSerializer = (value: unknown) => string;
239
- /**
240
- * Type guard to check if a value is a test context object.
241
- *
242
- * This is a basic check that the value is a non-null object, which is the
243
- * minimum requirement for a test context.
244
- *
245
- * @example
246
- *
247
- * ```typescript
248
- * if (isTestContext(context)) {
249
- * // context is Record<string, unknown>
250
- * }
251
- * ```
252
- *
253
- * @function
254
- * @param value - Value to check
255
- * @returns `true` if the value could be a test context
256
- */
257
- export declare const isTestContext: (value: unknown) => value is Record<string, unknown>;
258
- //# sourceMappingURL=adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/snapshot/adapter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,gBAAgB,EAAE,oBAAoB;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;IAErC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,eAAe,CAAC;IAE9C;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,gBAAgB,CACd,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,eAAe,GACxB,gBAAgB,GAAG,IAAI,CAAC;CAC5B;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;;;;;OAUG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;;OAMG;IACH,YAAY,EAAE,OAAO,CAAC;IAEtB;;;;;;;;;;OAUG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;;;;;;;;;OAcG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,UAAU,CAAC,EAAE,kBAAkB,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;AAE5D;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,aAAa,GACxB,OAAO,OAAO,KACb,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAEjC,CAAC"}
@@ -1,27 +0,0 @@
1
- /**
2
- * Adapter interface and types for snapshot testing across multiple frameworks.
3
- *
4
- * @packageDocumentation
5
- */
6
- /**
7
- * Type guard to check if a value is a test context object.
8
- *
9
- * This is a basic check that the value is a non-null object, which is the
10
- * minimum requirement for a test context.
11
- *
12
- * @example
13
- *
14
- * ```typescript
15
- * if (isTestContext(context)) {
16
- * // context is Record<string, unknown>
17
- * }
18
- * ```
19
- *
20
- * @function
21
- * @param value - Value to check
22
- * @returns `true` if the value could be a test context
23
- */
24
- export const isTestContext = (value) => {
25
- return typeof value === 'object' && value !== null;
26
- };
27
- //# sourceMappingURL=adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/snapshot/adapter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA0PH;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,KAAc,EACoB,EAAE;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC,CAAC"}