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,276 +0,0 @@
1
- "use strict";
2
- /**
3
- * Snapshot testing assertions for BUPKIS.
4
- *
5
- * Provides unified snapshot testing across multiple test frameworks including
6
- * node:test, Jest, Vitest, Mocha, and others.
7
- *
8
- * @packageDocumentation
9
- * @group Snapshot Assertions
10
- */
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.SnapshotAssertions = exports.snapshotAssertionWithOptions = exports.snapshotAssertion = void 0;
13
- const zod_1 = require("zod");
14
- const schema_js_1 = require("../../schema.cjs");
15
- const select_adapter_js_1 = require("../../snapshot/select-adapter.cjs");
16
- const create_js_1 = require("../create.cjs");
17
- /**
18
- * Asserts that a value matches a stored snapshot.
19
- *
20
- * This assertion provides unified snapshot testing across multiple test
21
- * frameworks. It automatically detects the test framework from the context
22
- * parameter and uses the appropriate snapshot mechanism.
23
- *
24
- * **Supported Frameworks:**
25
- *
26
- * - **node:test**: Native `assert.snapshot()` support
27
- * - **Jest/Vitest**: Coming in Phase 2
28
- * - **Mocha**: Custom snapshot storage
29
- * - **Any framework**: Use explicit string names
30
- *
31
- * **Basic Usage:**
32
- *
33
- * ```typescript
34
- * import test from 'node:test';
35
- * import { expect } from 'bupkis';
36
- *
37
- * test('component renders correctly', (t) => {
38
- * const output = renderComponent();
39
- * expect(output, 'to match snapshot', t);
40
- * });
41
- * ```
42
- *
43
- * **With Custom Serializer:**
44
- *
45
- * ```typescript
46
- * test('redacts sensitive data', (t) => {
47
- * const data = { public: 'visible', secret: 'password123' };
48
- * expect(data, 'to match snapshot', t, {
49
- * serializer: (value: any) =>
50
- * JSON.stringify({ ...value, secret: '[REDACTED]' }, null, 2),
51
- * });
52
- * });
53
- * ```
54
- *
55
- * **Multiple Snapshots Per Test:**
56
- *
57
- * ```typescript
58
- * test('multi-step process', (t) => {
59
- * const step1 = processStep1();
60
- * expect(step1, 'to match snapshot', t, { hint: 'step-1' });
61
- *
62
- * const step2 = processStep2();
63
- * expect(step2, 'to match snapshot', t, { hint: 'step-2' });
64
- *
65
- * const step3 = processStep3();
66
- * expect(step3, 'to match snapshot', t, { hint: 'step-3' });
67
- * });
68
- * ```
69
- *
70
- * **Mocha Usage:**
71
- *
72
- * ```typescript
73
- * describe('MyComponent', function () {
74
- * it('renders correctly', function () {
75
- * const output = renderComponent();
76
- * expect(output, 'to match snapshot', this);
77
- * });
78
- * });
79
- * ```
80
- *
81
- * **Explicit Snapshot Names:**
82
- *
83
- * ```typescript
84
- * test('any framework', () => {
85
- * const output = renderComponent();
86
- * expect(output, 'to match snapshot', 'component-default-state');
87
- * });
88
- * ```
89
- *
90
- * **Chaining with Other Assertions:**
91
- *
92
- * ```typescript
93
- * test('validates and snapshots', (t) => {
94
- * const user = getUserData();
95
- * expect(
96
- * user,
97
- * 'to satisfy',
98
- * { name: 'Alice' },
99
- * 'and',
100
- * 'to have property',
101
- * 'email',
102
- * 'and',
103
- * 'to match snapshot',
104
- * t,
105
- * );
106
- * });
107
- * ```
108
- *
109
- * **Updating Snapshots:**
110
- *
111
- * ```sh
112
- * # node:test
113
- * node --test --test-update-snapshots
114
- *
115
- * # Jest/Vitest (Phase 2)
116
- * vitest -u
117
- *
118
- * # Other frameworks
119
- * BUPKIS_UPDATE_SNAPSHOTS=1 npm test
120
- * ```
121
- *
122
- * @example Basic snapshot assertion
123
- *
124
- * ```typescript
125
- * import test from 'node:test';
126
- * import { expect } from 'bupkis';
127
- *
128
- * test('renders user profile', (t) => {
129
- * const profile = { name: 'Alice', age: 30, role: 'admin' };
130
- * expect(profile, 'to match snapshot', t);
131
- * });
132
- * ```
133
- *
134
- * @example Snapshot with custom serialization
135
- *
136
- * ```typescript
137
- * test('redacts passwords', (t) => {
138
- * const user = {
139
- * username: 'alice',
140
- * password: 'secret123',
141
- * email: 'alice@example.com',
142
- * };
143
- *
144
- * expect(user, 'to match snapshot', t, {
145
- * serializer: (value: any) => {
146
- * return JSON.stringify(
147
- * {
148
- * ...value,
149
- * password: '[REDACTED]',
150
- * },
151
- * null,
152
- * 2,
153
- * );
154
- * },
155
- * });
156
- * });
157
- * ```
158
- *
159
- * @example Multiple snapshots with hints
160
- *
161
- * ```typescript
162
- * test('captures workflow steps', (t) => {
163
- * const initial = { status: 'pending' };
164
- * expect(initial, 'to match snapshot', t, { hint: 'initial-state' });
165
- *
166
- * const processing = { status: 'processing', progress: 50 };
167
- * expect(processing, 'to match snapshot', t, {
168
- * hint: 'processing-state',
169
- * });
170
- *
171
- * const complete = { status: 'complete', result: 'success' };
172
- * expect(complete, 'to match snapshot', t, { hint: 'complete-state' });
173
- * });
174
- * ```
175
- *
176
- * @param subject - The value to snapshot (any type)
177
- * @param context - Test context object or explicit snapshot name
178
- * @param options - Optional serialization and naming options
179
- * @group Snapshot Assertions
180
- * @bupkisAnchor unknown-to-match-snapshot
181
- * @bupkisAssertionCategory snapshot
182
- */
183
- exports.snapshotAssertion = (0, create_js_1.createAssertion)([
184
- zod_1.z.unknown(),
185
- [
186
- 'to match snapshot',
187
- 'to match the snapshot',
188
- 'to equal snapshot',
189
- 'to equal the snapshot',
190
- ],
191
- zod_1.z.unknown().nonoptional(),
192
- ], (actual, context) => {
193
- const adapter = (0, select_adapter_js_1.selectAdapter)(context);
194
- return adapter.validateSnapshot(actual, context);
195
- });
196
- /**
197
- * Asserts that a value matches a stored snapshot with custom options.
198
- *
199
- * This is an extended version of {@link snapshotAssertion} that accepts explicit
200
- * options for serialization and snapshot naming via the `with options` syntax.
201
- *
202
- * @example Snapshot with custom serializer using 'with options'
203
- *
204
- * ```typescript
205
- * import test from 'node:test';
206
- * import { expect } from 'bupkis';
207
- *
208
- * test('redacts sensitive fields', (t) => {
209
- * const data = { username: 'alice', password: 'secret123' };
210
- *
211
- * expect(data, 'to match snapshot', t, 'with options', {
212
- * serializer: (value: any) =>
213
- * JSON.stringify({ ...value, password: '[REDACTED]' }, null, 2),
214
- * });
215
- * });
216
- * ```
217
- *
218
- * @example Multiple snapshots with hints using 'with options'
219
- *
220
- * ```typescript
221
- * test('workflow stages', (t) => {
222
- * const stage1 = { phase: 'init' };
223
- * expect(stage1, 'to match snapshot', t, 'with options', {
224
- * hint: 'stage-1',
225
- * });
226
- *
227
- * const stage2 = { phase: 'processing' };
228
- * expect(stage2, 'to match snapshot', t, 'with options', {
229
- * hint: 'stage-2',
230
- * });
231
- * });
232
- * ```
233
- *
234
- * @param subject - The value to snapshot (any type)
235
- * @param context - Test context object or explicit snapshot name
236
- * @param options - Serialization and naming options
237
- * @group Snapshot Assertions
238
- * @bupkisAnchor unknown-to-match-snapshot-with-options
239
- * @bupkisAssertionCategory snapshot
240
- */
241
- exports.snapshotAssertionWithOptions = (0, create_js_1.createAssertion)([
242
- zod_1.z.unknown(),
243
- [
244
- 'to match snapshot',
245
- 'to match the snapshot',
246
- 'to equal snapshot',
247
- 'to equal the snapshot',
248
- ],
249
- zod_1.z.unknown().nonoptional(),
250
- 'with options',
251
- schema_js_1.SnapshotOptionsSchema,
252
- ], (actual, context, options) => {
253
- const adapter = (0, select_adapter_js_1.selectAdapter)(context);
254
- return adapter.validateSnapshot(actual, context, options);
255
- });
256
- /**
257
- * Collection of all snapshot assertions.
258
- *
259
- * Currently contains only the main snapshot assertion, but structured as a
260
- * collection for consistency with other assertion modules and to allow for
261
- * future expansion (e.g., inline snapshots, property matchers).
262
- *
263
- * @example
264
- *
265
- * ```typescript
266
- * import { SnapshotAssertions } from 'bupkis/assertions';
267
- *
268
- * // All snapshot assertions are available
269
- * const { snapshotAssertion } = SnapshotAssertions;
270
- * ```
271
- */
272
- exports.SnapshotAssertions = {
273
- snapshotAssertion: exports.snapshotAssertion,
274
- snapshotAssertionWithOptions: exports.snapshotAssertionWithOptions,
275
- };
276
- //# sourceMappingURL=snapshot.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../src/assertion/impl/snapshot.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,6BAAwB;AAExB,gDAAwD;AACxD,yEAAiE;AACjE,6CAA+C;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqKG;AACU,QAAA,iBAAiB,GAAG,IAAA,2BAAe,EAC9C;IACE,OAAC,CAAC,OAAO,EAAE;IACX;QACE,mBAAmB;QACnB,uBAAuB;QACvB,mBAAmB;QACnB,uBAAuB;KACxB;IACD,OAAC,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE;CAC1B,EACD,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IAClB,MAAM,OAAO,GAAG,IAAA,iCAAa,EAAC,OAAO,CAAC,CAAC;IACvC,OAAO,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC,CACF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACU,QAAA,4BAA4B,GAAG,IAAA,2BAAe,EACzD;IACE,OAAC,CAAC,OAAO,EAAE;IACX;QACE,mBAAmB;QACnB,uBAAuB;QACvB,mBAAmB;QACnB,uBAAuB;KACxB;IACD,OAAC,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE;IACzB,cAAc;IACd,iCAAqB;CACtB,EACD,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IAC3B,MAAM,OAAO,GAAG,IAAA,iCAAa,EAAC,OAAO,CAAC,CAAC;IACvC,OAAO,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC,CACF,CAAC;AACF;;;;;;;;;;;;;;;GAeG;AACU,QAAA,kBAAkB,GAAG;IAChC,iBAAiB,EAAjB,yBAAiB;IACjB,4BAA4B,EAA5B,oCAA4B;CACpB,CAAC"}
@@ -1,278 +0,0 @@
1
- /**
2
- * Snapshot testing assertions for BUPKIS.
3
- *
4
- * Provides unified snapshot testing across multiple test frameworks including
5
- * node:test, Jest, Vitest, Mocha, and others.
6
- *
7
- * @packageDocumentation
8
- * @group Snapshot Assertions
9
- */
10
- import { z } from 'zod';
11
- /**
12
- * Asserts that a value matches a stored snapshot.
13
- *
14
- * This assertion provides unified snapshot testing across multiple test
15
- * frameworks. It automatically detects the test framework from the context
16
- * parameter and uses the appropriate snapshot mechanism.
17
- *
18
- * **Supported Frameworks:**
19
- *
20
- * - **node:test**: Native `assert.snapshot()` support
21
- * - **Jest/Vitest**: Coming in Phase 2
22
- * - **Mocha**: Custom snapshot storage
23
- * - **Any framework**: Use explicit string names
24
- *
25
- * **Basic Usage:**
26
- *
27
- * ```typescript
28
- * import test from 'node:test';
29
- * import { expect } from 'bupkis';
30
- *
31
- * test('component renders correctly', (t) => {
32
- * const output = renderComponent();
33
- * expect(output, 'to match snapshot', t);
34
- * });
35
- * ```
36
- *
37
- * **With Custom Serializer:**
38
- *
39
- * ```typescript
40
- * test('redacts sensitive data', (t) => {
41
- * const data = { public: 'visible', secret: 'password123' };
42
- * expect(data, 'to match snapshot', t, {
43
- * serializer: (value: any) =>
44
- * JSON.stringify({ ...value, secret: '[REDACTED]' }, null, 2),
45
- * });
46
- * });
47
- * ```
48
- *
49
- * **Multiple Snapshots Per Test:**
50
- *
51
- * ```typescript
52
- * test('multi-step process', (t) => {
53
- * const step1 = processStep1();
54
- * expect(step1, 'to match snapshot', t, { hint: 'step-1' });
55
- *
56
- * const step2 = processStep2();
57
- * expect(step2, 'to match snapshot', t, { hint: 'step-2' });
58
- *
59
- * const step3 = processStep3();
60
- * expect(step3, 'to match snapshot', t, { hint: 'step-3' });
61
- * });
62
- * ```
63
- *
64
- * **Mocha Usage:**
65
- *
66
- * ```typescript
67
- * describe('MyComponent', function () {
68
- * it('renders correctly', function () {
69
- * const output = renderComponent();
70
- * expect(output, 'to match snapshot', this);
71
- * });
72
- * });
73
- * ```
74
- *
75
- * **Explicit Snapshot Names:**
76
- *
77
- * ```typescript
78
- * test('any framework', () => {
79
- * const output = renderComponent();
80
- * expect(output, 'to match snapshot', 'component-default-state');
81
- * });
82
- * ```
83
- *
84
- * **Chaining with Other Assertions:**
85
- *
86
- * ```typescript
87
- * test('validates and snapshots', (t) => {
88
- * const user = getUserData();
89
- * expect(
90
- * user,
91
- * 'to satisfy',
92
- * { name: 'Alice' },
93
- * 'and',
94
- * 'to have property',
95
- * 'email',
96
- * 'and',
97
- * 'to match snapshot',
98
- * t,
99
- * );
100
- * });
101
- * ```
102
- *
103
- * **Updating Snapshots:**
104
- *
105
- * ```sh
106
- * # node:test
107
- * node --test --test-update-snapshots
108
- *
109
- * # Jest/Vitest (Phase 2)
110
- * vitest -u
111
- *
112
- * # Other frameworks
113
- * BUPKIS_UPDATE_SNAPSHOTS=1 npm test
114
- * ```
115
- *
116
- * @example Basic snapshot assertion
117
- *
118
- * ```typescript
119
- * import test from 'node:test';
120
- * import { expect } from 'bupkis';
121
- *
122
- * test('renders user profile', (t) => {
123
- * const profile = { name: 'Alice', age: 30, role: 'admin' };
124
- * expect(profile, 'to match snapshot', t);
125
- * });
126
- * ```
127
- *
128
- * @example Snapshot with custom serialization
129
- *
130
- * ```typescript
131
- * test('redacts passwords', (t) => {
132
- * const user = {
133
- * username: 'alice',
134
- * password: 'secret123',
135
- * email: 'alice@example.com',
136
- * };
137
- *
138
- * expect(user, 'to match snapshot', t, {
139
- * serializer: (value: any) => {
140
- * return JSON.stringify(
141
- * {
142
- * ...value,
143
- * password: '[REDACTED]',
144
- * },
145
- * null,
146
- * 2,
147
- * );
148
- * },
149
- * });
150
- * });
151
- * ```
152
- *
153
- * @example Multiple snapshots with hints
154
- *
155
- * ```typescript
156
- * test('captures workflow steps', (t) => {
157
- * const initial = { status: 'pending' };
158
- * expect(initial, 'to match snapshot', t, { hint: 'initial-state' });
159
- *
160
- * const processing = { status: 'processing', progress: 50 };
161
- * expect(processing, 'to match snapshot', t, {
162
- * hint: 'processing-state',
163
- * });
164
- *
165
- * const complete = { status: 'complete', result: 'success' };
166
- * expect(complete, 'to match snapshot', t, { hint: 'complete-state' });
167
- * });
168
- * ```
169
- *
170
- * @param subject - The value to snapshot (any type)
171
- * @param context - Test context object or explicit snapshot name
172
- * @param options - Optional serialization and naming options
173
- * @group Snapshot Assertions
174
- * @bupkisAnchor unknown-to-match-snapshot
175
- * @bupkisAssertionCategory snapshot
176
- */
177
- export declare const snapshotAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly [z.ZodUnknown, readonly ["to match snapshot", "to match the snapshot", "to equal snapshot", "to equal the snapshot"], z.ZodNonOptional<z.ZodUnknown>], (actual: unknown, context: unknown) => void | import("../assertion-types.js").AssertionFailure, readonly [z.ZodUnknown, import("../assertion-types.js").PhraseLiteralChoiceSlot<readonly ["to match snapshot", "to match the snapshot", "to equal snapshot", "to equal the snapshot"]>, z.ZodNonOptional<z.ZodUnknown>]>;
178
- /**
179
- * Asserts that a value matches a stored snapshot with custom options.
180
- *
181
- * This is an extended version of {@link snapshotAssertion} that accepts explicit
182
- * options for serialization and snapshot naming via the `with options` syntax.
183
- *
184
- * @example Snapshot with custom serializer using 'with options'
185
- *
186
- * ```typescript
187
- * import test from 'node:test';
188
- * import { expect } from 'bupkis';
189
- *
190
- * test('redacts sensitive fields', (t) => {
191
- * const data = { username: 'alice', password: 'secret123' };
192
- *
193
- * expect(data, 'to match snapshot', t, 'with options', {
194
- * serializer: (value: any) =>
195
- * JSON.stringify({ ...value, password: '[REDACTED]' }, null, 2),
196
- * });
197
- * });
198
- * ```
199
- *
200
- * @example Multiple snapshots with hints using 'with options'
201
- *
202
- * ```typescript
203
- * test('workflow stages', (t) => {
204
- * const stage1 = { phase: 'init' };
205
- * expect(stage1, 'to match snapshot', t, 'with options', {
206
- * hint: 'stage-1',
207
- * });
208
- *
209
- * const stage2 = { phase: 'processing' };
210
- * expect(stage2, 'to match snapshot', t, 'with options', {
211
- * hint: 'stage-2',
212
- * });
213
- * });
214
- * ```
215
- *
216
- * @param subject - The value to snapshot (any type)
217
- * @param context - Test context object or explicit snapshot name
218
- * @param options - Serialization and naming options
219
- * @group Snapshot Assertions
220
- * @bupkisAnchor unknown-to-match-snapshot-with-options
221
- * @bupkisAssertionCategory snapshot
222
- */
223
- export declare const snapshotAssertionWithOptions: import("../assertion-types.js").AssertionFunctionSync<readonly [z.ZodUnknown, readonly ["to match snapshot", "to match the snapshot", "to equal snapshot", "to equal the snapshot"], z.ZodNonOptional<z.ZodUnknown>, "with options", z.ZodObject<{
224
- hint: z.ZodOptional<z.ZodString>;
225
- serializer: z.ZodOptional<z.ZodAny>;
226
- }, z.core.$strip>], (actual: unknown, context: unknown, options: {
227
- hint?: string | undefined;
228
- serializer?: any;
229
- }) => void | import("../assertion-types.js").AssertionFailure, readonly [z.ZodUnknown, import("../assertion-types.js").PhraseLiteralChoiceSlot<readonly ["to match snapshot", "to match the snapshot", "to equal snapshot", "to equal the snapshot"]>, z.ZodNonOptional<z.ZodUnknown>, import("../assertion-types.js").PhraseLiteralSlot<"with options">, z.ZodObject<{
230
- hint: z.ZodOptional<z.ZodString>;
231
- serializer: z.ZodOptional<z.ZodAny>;
232
- }, z.core.$strip>]>;
233
- /**
234
- * Collection of all snapshot assertions.
235
- *
236
- * Currently contains only the main snapshot assertion, but structured as a
237
- * collection for consistency with other assertion modules and to allow for
238
- * future expansion (e.g., inline snapshots, property matchers).
239
- *
240
- * @example
241
- *
242
- * ```typescript
243
- * import { SnapshotAssertions } from 'bupkis/assertions';
244
- *
245
- * // All snapshot assertions are available
246
- * const { snapshotAssertion } = SnapshotAssertions;
247
- * ```
248
- */
249
- export declare const SnapshotAssertions: {
250
- readonly snapshotAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly [z.ZodUnknown, readonly ["to match snapshot", "to match the snapshot", "to equal snapshot", "to equal the snapshot"], z.ZodNonOptional<z.ZodUnknown>], (actual: unknown, context: unknown) => void | import("../assertion-types.js").AssertionFailure, readonly [z.ZodUnknown, import("../assertion-types.js").PhraseLiteralChoiceSlot<readonly ["to match snapshot", "to match the snapshot", "to equal snapshot", "to equal the snapshot"]>, z.ZodNonOptional<z.ZodUnknown>]>;
251
- readonly snapshotAssertionWithOptions: import("../assertion-types.js").AssertionFunctionSync<readonly [z.ZodUnknown, readonly ["to match snapshot", "to match the snapshot", "to equal snapshot", "to equal the snapshot"], z.ZodNonOptional<z.ZodUnknown>, "with options", z.ZodObject<{
252
- hint: z.ZodOptional<z.ZodString>;
253
- serializer: z.ZodOptional<z.ZodAny>;
254
- }, z.core.$strip>], (actual: unknown, context: unknown, options: {
255
- hint?: string | undefined;
256
- serializer?: any;
257
- }) => void | import("../assertion-types.js").AssertionFailure, readonly [z.ZodUnknown, import("../assertion-types.js").PhraseLiteralChoiceSlot<readonly ["to match snapshot", "to match the snapshot", "to equal snapshot", "to equal the snapshot"]>, z.ZodNonOptional<z.ZodUnknown>, import("../assertion-types.js").PhraseLiteralSlot<"with options">, z.ZodObject<{
258
- hint: z.ZodOptional<z.ZodString>;
259
- serializer: z.ZodOptional<z.ZodAny>;
260
- }, z.core.$strip>]>;
261
- };
262
- /**
263
- * Type for the snapshot assertions collection.
264
- *
265
- * This type can be used for type checking or documentation purposes.
266
- *
267
- * @example
268
- *
269
- * ```typescript
270
- * import type { SnapshotAssertions } from 'bupkis/assertions';
271
- *
272
- * function useSnapshotAssertions(assertions: SnapshotAssertions) {
273
- * // assertions has the correct type
274
- * }
275
- * ```
276
- */
277
- export type SnapshotAssertions = typeof SnapshotAssertions;
278
- //# sourceMappingURL=snapshot.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../src/assertion/impl/snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqKG;AACH,eAAO,MAAM,iBAAiB,ghBAe7B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;mBAiBxC,CAAC;AACF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;CAGrB,CAAC;AAEX;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC"}