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
@@ -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"}