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":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,WAAW,IAAI,mBAAmB,EAClC,mBAAmB,EACpB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EAGjB,aAAa,EACb,cAAc,EACd,aAAa,EACb,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EACvB,iBAAiB,EAClB,uCAAuC;AACxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,6BAA6B;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,6BAA6B;AAIjE;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,WAAW,CAAC,KAAK,SAAS,SAAS,aAAa,EAAE,IAC5D,KAAK,SAAS,SAAS;IACrB,MAAM,KAAK,SAAS,aAAa;IACjC,GAAG,MAAM,IAAI,SAAS,SAAS,aAAa,EAAE;CAC/C,GACG,KAAK,SAAS,mBAAmB,GAC/B,SAAS;IACP;SACG,CAAC,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,aAAa,GAC9C,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAClB,KAAK;KACV;IACD,GAAG,WAAW,CAAC,IAAI,CAAC;CACrB,GACD,KAAK,SAAS,aAAa,GACzB,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,GAChD,SAAS,CAAC,KAAK,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,GAC1C,SAAS,EAAE,CAAC;AAElB;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,eAAe,EAAE,iBAAiB,CAAC;IAEnC;;OAEG;IACH,oBAAoB,EAAE,sBAAsB,CAAC;IAC7C;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,gCAAgC;IAChC,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;IAC1C,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;GAaG;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,sDAAsD;IACtD,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,iDAAiD;IACjD,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,2CAA2C;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,QAAQ,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,qCAAqC;IACrC,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,oDAAoD;AACpD,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAEjC;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,MAAM,CACrB,kBAAkB,SAAS,iBAAiB,EAC5C,mBAAmB,SAAS,kBAAkB,EAC9C,sBAAsB,SAAS,SAAS,gBAAgB,EAAE,GAAG,SAAS,EAAE,EACxE,uBAAuB,SAAS,SAAS,iBAAiB,EAAE,GAAG,SAAS,EAAE;IAE1E;;;OAGG;IACH,MAAM,EAAE,MAAM,CACZ,MAAM,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,EAClD,MAAM,CAAC,mBAAmB,EAAE,uBAAuB,CAAC,CACrD,CAAC;IACF;;;OAGG;IACH,WAAW,EAAE,WAAW,CACtB,MAAM,CAAC,mBAAmB,EAAE,uBAAuB,CAAC,EACpD,MAAM,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,CACnD,CAAC;IACF;;;;;;;;;;;OAWG;IACH,GAAG,EAAE,KAAK,CACR,MAAM,CAAC,kBAAkB,EAAE,sBAAsB,CAAC,EAClD,MAAM,CAAC,mBAAmB,EAAE,uBAAuB,CAAC,CACrD,CAAC;CACH;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE9D;;;;GAIG;AACH,MAAM,MAAM,MAAM,CAChB,MAAM,SAAS,SAAS,OAAO,EAAE,EACjC,MAAM,SAAS,SAAS,OAAO,EAAE,IAC/B,SAAS,CAAC,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC;AAEpC;;;;;GAKG;AACH,MAAM,MAAM,WAAW,CACrB,QAAQ,GAAG,GAAG,EACd,IAAI,SAAS,OAAO,EAAE,GAAG,GAAG,EAAE,IAC5B,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAExC,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,OAAO,IAC9D,CAAC,SAAS,CAAC,CAAC,OAAO,GACf,CAAC,CAAC,KAAK,CAAC,GACR,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,GACvB,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAChB,KAAK,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,qCAAqC;IACrC,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,MAAM,CAChB,cAAc,SAAS,iBAAiB,GAAG,qBAAqB,EAChE,eAAe,SAAS,kBAAkB,GAAG,sBAAsB,IACjE,cAAc,CAAC,cAAc,CAAC,GAChC,eAAe,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;AAEnD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,WAAW,CACrB,eAAe,SAAS,kBAAkB,GAAG,sBAAsB,EACnE,cAAc,SAAS,iBAAiB,GAAG,qBAAqB,IAC9D,mBAAmB,CAAC,eAAe,CAAC,GACtC,gBAAgB,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,MAAM,mBAAmB,CAC7B,eAAe,SAAS,kBAAkB,GAAG,sBAAsB,IACjE,mBAAmB,CACrB,YAAY,CAAC;KACV,CAAC,IAAI,MAAM,eAAe,GAAG,CAC5B,GAAG,IAAI,EAAE,iBAAiB,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KACpE,OAAO,CAAC,IAAI,CAAC;CACnB,CAAC,CACH,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,WAAW,gBAAgB,CAC/B,eAAe,SAAS,kBAAkB,EAC1C,cAAc,SAAS,iBAAiB,CACxC,SAAQ,UAAU;IAClB;;;;OAIG;IACH,UAAU,EAAE,eAAe,CAAC;IAE5B;;OAEG;IACH,EAAE,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAEnC;;OAEG;IACH,GAAG,EAAE,KAAK,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;CAC7C;AAED;;;;;GAKG;AACH,MAAM,MAAM,cAAc,CACxB,cAAc,SAAS,iBAAiB,GAAG,qBAAqB,IAC9D,mBAAmB,CACrB,YAAY,CAAC;KACV,CAAC,IAAI,MAAM,cAAc,GAAG,CAC3B,GAAG,IAAI,EAAE,iBAAiB,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KACnE,IAAI;CACV,CAAC,CACH,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,MAAM,QAAQ,CAClB,cAAc,SAAS,iBAAiB,GAAG,qBAAqB,IAC9D,mBAAmB,CACrB,YAAY,CAAC;KACV,CAAC,IAAI,MAAM,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS,gBAAgB,GACnE,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,cAAc,GAC/C,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAC5C,KAAK,GACP,KAAK;CACV,CAAC,CACH,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,MAAM,aAAa,CACvB,eAAe,SAAS,kBAAkB,GAAG,sBAAsB,IACjE,mBAAmB,CACrB,YAAY,CAAC;KACV,CAAC,IAAI,MAAM,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,SAAS,iBAAiB,GACtE,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,cAAc,GAChD,qBAAqB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAClD,KAAK,GACP,KAAK;CACV,CAAC,CACH,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,WAAW,gBAAgB,CAAC,OAAO,SAAS,CAAC,CAAC,OAAO;IACzD,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;CAEnC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,qBAAqB,CAAC,OAAO,SAAS,CAAC,CAAC,OAAO;IAC9D,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAQ5C;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,KAAK,SAAS,cAAc,IAAI,CAC3D,GAAG,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,KACzD,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AAErE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,MAAM,qBAAqB,CAAC,KAAK,SAAS,cAAc,IAAI,CAChE,GAAG,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,KACzD,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AAE1E;;;;GAIG;AACH,MAAM,WAAW,eAAe,CAC9B,cAAc,SAAS,iBAAiB,EACxC,eAAe,SAAS,kBAAkB,CAC1C,SAAQ,UAAU;IAClB;;;;OAIG;IACH,UAAU,EAAE,cAAc,CAAC;IAE3B,EAAE,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IAE7B;;;OAGG;IACH,GAAG,EAAE,KAAK,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;CAC7C;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC;AAEhD;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,MAAM,qBAAqB,CAC/B,eAAe,SAAS,SAAS,YAAY,EAAE,IAC7C,eAAe,SAAS,SAAS;IACnC,MAAM,cAAc,SAAS,YAAY;IACzC,GAAG,MAAM,IAAI,SAAS,SAAS,YAAY,EAAE;CAC9C,GACG,cAAc,SAAS,iBAAiB,GACtC,SAAS,CAAC,cAAc,EAAE,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC,GACzD,qBAAqB,CAAC,IAAI,CAAC,GAC7B,SAAS,EAAE,CAAC;AAEhB;;GAEG;AACH,MAAM,MAAM,oBAAoB,CAC9B,eAAe,SAAS,SAAS,YAAY,EAAE,IAC7C,eAAe,SAAS,SAAS;IACnC,MAAM,cAAc,SAAS,YAAY;IACzC,GAAG,MAAM,IAAI,SAAS,SAAS,YAAY,EAAE;CAC9C,GACG,cAAc,SAAS,gBAAgB,GACrC,SAAS,CAAC,cAAc,EAAE,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,GACxD,oBAAoB,CAAC,IAAI,CAAC,GAC5B,SAAS,EAAE,CAAC;AAEhB;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,yBAAyB;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAC3C,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,MAAM,IAAI,EAAE,GAChC,CAAC,SAAS,MAAM,GACd,IAAI,SAAS,MAAM,GACjB,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,GACvB,KAAK,GACP,KAAK,GACP,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,MAAM,KAAK,IAAI,MAAM,IAAI,EAAE,GACjD,CAAC,SAAS,MAAM,GACd,KAAK,SAAS,IAAI,MAAM,GAAG,GAAG,GAAG,MAAM,EAAE,GAAG,IAAI,MAAM,GAAG,GACvD,IAAI,SAAS,EAAE,GACb,GAAG,CAAC,IAAI,KAAK,GAAG,GAChB,IAAI,SAAS,IAAI,MAAM,QAAQ,EAAE,GAC/B,GAAG,CAAC,IAAI,KAAK,KAAK,OAAO,CAAC,QAAQ,CAAC,EAAE,GACrC,IAAI,SAAS,IAAI,MAAM,SAAS,IAAI,MAAM,QAAQ,EAAE,GAClD,GAAG,CAAC,IAAI,KAAK,KAAK,SAAS,IAAI,QAAQ,SAAS,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,GAC7E,KAAK,GACX,KAAK,GACP,KAAK,GACP,CAAC,CAAC;AAEV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,MAAM,cAAc,CAAC,KAAK,SAAS,SAAS,aAAa,EAAE,IAC/D,KAAK,SAAS,SAAS;IACrB,MAAM,KAAK,SAAS,aAAa;IACjC,GAAG,MAAM,IAAI,SAAS,SAAS,aAAa,EAAE;CAC/C,GACG,SAAS;IACP,aAAa,CAAC,KAAK,CAAC,SAAS,iBAAiB,CAAC,MAAM,aAAa,CAAC,GAC/D,QAAQ,CAAC,aAAa,CAAC,GAAG,aAAa,GACvC,aAAa,CAAC,KAAK,CAAC,SAAS,uBAAuB,CAChD,MAAM,cAAc,CACrB,GAEG,WAAW,CAAC,cAAc,CAAC,GAC3B,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,GACzC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,GACpC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,GAC7B,KAAK;IACb,GAAG,cAAc,CAAC,IAAI,CAAC;CACxB,GACD,SAAS,EAAE,CAAC;AAElB;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,sBAAsB;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,SAAS,OAAO,EAAE,IAC5D,KAAK,SAAS,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,GACjC,IAAI,EAAE,GAAG,SAAS,IAAI,EAAE,GACxB,KAAK,SAAS,SAAS,CAAC,MAAM,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,GACjD,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAC5C,KAAK,CAAC;AAEd;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,IAAI,OAAO,CAAC,EAAE,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,6BAA6B;IAC7B,WAAW,EAAE,KAAK,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;QAClC,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,2BAA2B;IAC3B,QAAQ,EAAE,KAAK,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,oBAAoB,CAAC;QAC9B,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,yBAAyB;IACzB,OAAO,EAAE;QACP,mBAAmB,EAAE,MAAM,CAAC;QAC5B,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,MAAM,CAAC;QACxB,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,yBAAyB;IACzB,MAAM,EAAE,KAAK,CAAC;QACZ,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,wBAAwB;IACxB,aAAa,EAAE,kBAAkB,CAAC;IAClC,uCAAuC;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,qDAAqD;IACrD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,8CAA8C;IAC9C,OAAO,EAAE,oBAAoB,CAAC;IAC9B,iCAAiC;IACjC,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAM,MAAM,cAAc,CAAC,KAAK,SAAS,cAAc,IAAI,YAAY,CACrE,KAAK,SAAS,SAAS,CAAC,MAAM,KAAK,SAAS,aAAa,EAAE,GAAG,MAAM,CAAC,CAAC,GAClE,KAAK,SAAS,aAAa,GAAG,mBAAmB,GAC/C,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,GACnC,cAAc,CAAC,KAAK,CAAC,GACvB,KAAK,CACV,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,IAAI,CAAC,SAAS,SAAS;IACvE,OAAO;IACP,GAAG,MAAM,IAAI;CACd,GACG,IAAI,GACJ,SAAS,EAAE,CAAC;AAEhB;;;;GAIG;AACH,MAAM,WAAW,KAAK,CACpB,kBAAkB,SAAS,iBAAiB,EAC5C,mBAAmB,SAAS,kBAAkB;IAE9C;;;;;;;;;;OAUG;IACH,CACE,eAAe,SAAS,SAAS,YAAY,EAAE,EAC/C,sBAAsB,SAAS,oBAAoB,CAAC,eAAe,CAAC,EACpE,uBAAuB,SAAS,qBAAqB,CAAC,eAAe,CAAC,EAEtE,UAAU,EAAE,eAAe,GAC1B,MAAM,CACP,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,CACxB,CAAC;CACH;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC;IAClB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC;IACpB,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC;IACtB,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC;IAClB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC;IACpB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;IAChB,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC;IACtB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;IAChB,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC;IACxB,YAAY,EAAE,CAAC,CAAC,eAAe,CAAC;IAChC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;IAChB,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC;IACtB,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC;IAClB,WAAW,EAAE,CAAC,CAAC,cAAc,CAAC;IAC9B,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;IAChB,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC;IACxB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC;IACpB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC;IACpB,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC;IACxB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;IAChB,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC;IACtB,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC;IACxB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC;IACpB,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC;IACd,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC;IACpB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC;IACpB,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC;IAClB,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC;IAC1B,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC;IAClB,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC;IACtB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;CACjB"}
package/dist/types.js DELETED
@@ -1,21 +0,0 @@
1
- /**
2
- * Types used throughout <span class="bupkis">BUPKIS</span>.
3
- *
4
- * May be useful for those building on top of <span
5
- * class="bupkis">BUPKIS</span>.
6
- *
7
- * @example
8
- *
9
- * ```ts
10
- * // namespace
11
- * import { types } from 'bupkis';
12
- * // subpath import
13
- * import type * as alsoTypes from 'bupkis/types';
14
- * ```
15
- *
16
- * @groupDescription Utility Types
17
- * Types used throughout <span class="bupkis">BUPKIS</span>.
18
- * @packageDocumentation
19
- */
20
- export {};
21
- //# sourceMappingURL=types.js.map
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG"}
package/dist/use.cjs DELETED
@@ -1,240 +0,0 @@
1
- "use strict";
2
- /**
3
- * Contains {@link createUse} and which is consumed by the bootstrapper and any
4
- * subsequent calls to {@link bupkis!expect.use}.
5
- *
6
- * @packageDocumentation
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.createUse = void 0;
10
- const assertion_async_js_1 = require("./assertion/assertion-async.cjs");
11
- const assertion_sync_js_1 = require("./assertion/assertion-sync.cjs");
12
- const constant_js_1 = require("./constant.cjs");
13
- const expect_js_1 = require("./expect.cjs");
14
- const { assign } = Object;
15
- /**
16
- * Creates an `expect.it()` factory function for generating embeddable assertion
17
- * executors.
18
- *
19
- * This function produces a factory that creates embeddable assertion executors
20
- * from natural language assertion phrases. The resulting executors can be
21
- * embedded within object patterns for use with `'to satisfy'` assertions,
22
- * enabling type-safe pattern matching for complex nested validations.
23
- *
24
- * @remarks
25
- * The returned executors are marked with the {@link kExpectIt} symbol to
26
- * distinguish them from regular functions during pattern validation. They are
27
- * designed exclusively for use within `'to satisfy'` assertion contexts and
28
- * should not be executed directly outside of pattern matching scenarios.
29
- * @example
30
- *
31
- * ```typescript
32
- * const expectIt = createExpectIt(expect);
33
- *
34
- * // Create embeddable assertion executors
35
- * const isString = expectIt('to be a string');
36
- * const isPositive = expectIt('to be greater than', 0);
37
- *
38
- * // Use within 'to satisfy' patterns
39
- * expect(user, 'to satisfy', {
40
- * name: isString, // Validates that user.name is a string
41
- * age: isPositive, // Validates that user.age > 0
42
- * email: /\S+@\S+/, // Standard regex pattern
43
- * });
44
- * ```
45
- *
46
- * @template SyncAssertions - Array of synchronous assertion objects that define
47
- * the available assertion logic for the embeddable functions
48
- * @function
49
- * @param expect - The underlying expect function that will execute the
50
- * assertions when the returned executors are called
51
- * @returns A factory function that creates {@link ExpectItExecutor} instances
52
- * for embedding within object patterns
53
- * @internal
54
- * @see {@link ExpectIt} for the complete factory function interface
55
- * @see {@link ExpectItExecutor} for the executor function interface
56
- * @see {@link kExpectIt} for the internal marking symbol
57
- */
58
- const createExpectIt = (expect) => {
59
- /**
60
- * @function
61
- */
62
- const expectIt = (...args) => {
63
- const func = assign((subject) => {
64
- const allArgs = [subject, ...args];
65
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call
66
- expect(...allArgs);
67
- }, {
68
- [constant_js_1.kExpectIt]: true,
69
- });
70
- return func;
71
- };
72
- return expectIt;
73
- };
74
- /**
75
- * Creates an `expectAsync.it()` factory function for generating embeddable
76
- * async assertion executors.
77
- *
78
- * This function produces a factory that creates embeddable async assertion
79
- * executors from natural language assertion phrases. The resulting executors
80
- * can be embedded within async object patterns for use with `'to satisfy'`
81
- * assertions, enabling type-safe pattern matching for complex nested
82
- * validations with Promise support.
83
- *
84
- * @remarks
85
- * The returned async executors are marked with the {@link kExpectIt} symbol to
86
- * distinguish them from regular functions during pattern validation. They are
87
- * designed exclusively for use within async `'to satisfy'` assertion contexts
88
- * and should not be executed directly outside of pattern matching scenarios.
89
- * @example
90
- *
91
- * ```typescript
92
- * const expectItAsync = createExpectItAsync(expectAsync);
93
- *
94
- * // Create embeddable async assertion executors
95
- * const isAsyncString = expectItAsync('to be a string');
96
- * const resolvesFast = expectItAsync('to resolve quickly');
97
- *
98
- * // Use within async 'to satisfy' patterns
99
- * await expectAsync(asyncUser, 'to satisfy', {
100
- * name: isAsyncString, // Async validation that user.name is a string
101
- * loadPromise: resolvesFast, // Async validation that loadPromise resolves quickly
102
- * });
103
- * ```
104
- *
105
- * @template AsyncAssertions - Array of asynchronous assertion objects that
106
- * define the available assertion logic for the embeddable async functions
107
- * @function
108
- * @param expectAsync - The underlying expectAsync function that will execute
109
- * the assertions when the returned executors are called
110
- * @returns A factory function that creates {@link ExpectItExecutorAsync}
111
- * instances for embedding within async object patterns
112
- * @internal
113
- * @see {@link ExpectItAsync} for the complete factory function interface
114
- * @see {@link ExpectItExecutorAsync} for the executor function interface
115
- * @see {@link kExpectIt} for the internal marking symbol
116
- * @see {@link createExpectIt} for the synchronous equivalent
117
- */
118
- const createExpectItAsync = (expectAsync) => {
119
- /**
120
- * @function
121
- */
122
- const expectItAsync = (...args) => {
123
- const func = assign(async (subject) => {
124
- const allArgs = [subject, ...args];
125
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call
126
- await expectAsync(...allArgs);
127
- }, {
128
- [constant_js_1.kExpectIt]: true,
129
- });
130
- return func;
131
- };
132
- return expectItAsync;
133
- };
134
- /**
135
- * Creates a factory function for composing assertion functions with custom
136
- * assertions.
137
- *
138
- * This function implements the core plugin system for Bupkis, enabling users to
139
- * extend the built-in assertion library with custom assertions. It creates a
140
- * `use()` function that accepts mixed arrays of assertions and returns new
141
- * `expect` and `expectAsync` functions that include both the base assertions
142
- * and the newly added ones.
143
- *
144
- * The function separates synchronous and asynchronous assertions from the input
145
- * array, combines them with existing assertions, and constructs fully-featured
146
- * expect functions with all necessary properties including assertion creation
147
- * utilities, failure functions, and recursive composition via the `use`
148
- * property.
149
- *
150
- * @remarks
151
- * The returned function filters input assertions by type using `instanceof`
152
- * checks against {@link BupkisAssertionSync} and {@link BupkisAssertionAsync}
153
- * classes. It then creates new expect functions using
154
- * {@link createExpectSyncFunction} and {@link createExpectAsyncFunction}, and
155
- * attaches all necessary properties including recursive `use` functionality.
156
- *
157
- * The composition is recursive - the returned object's `use` property creates a
158
- * new `createUse` instance with the combined assertion sets, enabling unlimited
159
- * chaining of custom assertions.
160
- * @example
161
- *
162
- * ```typescript
163
- * // Create custom assertions
164
- * const customSyncAssertion = expect.createAssertion(
165
- * ['to be even'],
166
- * (n) => n % 2 === 0,
167
- * );
168
- * const customAsyncAssertion = expect.createAsyncAssertion(
169
- * ['to resolve quickly'],
170
- * async (promise) => {
171
- * const start = Date.now();
172
- * await promise;
173
- * return Date.now() - start < 100;
174
- * },
175
- * );
176
- *
177
- * // Use createUse to compose with existing assertions
178
- * const use = createUse(existingSyncAssertions, existingAsyncAssertions);
179
- * const { expect: newExpect, expectAsync: newExpectAsync } = use([
180
- * customSyncAssertion,
181
- * customAsyncAssertion,
182
- * ]);
183
- *
184
- * // Now both built-in and custom assertions are available
185
- * newExpect(4, 'to be even'); // Custom assertion
186
- * newExpect('hello', 'to be a string'); // Built-in assertion
187
- * await newExpectAsync(fastPromise, 'to resolve quickly'); // Custom async assertion
188
- * ```
189
- *
190
- * @template SyncAssertions - Array of base synchronous assertions that will be
191
- * available in the composed functions
192
- * @template AsyncAssertions - Array of base asynchronous assertions that will
193
- * be available in the composed functions
194
- * @function
195
- * @param syncAssertions - Base synchronous assertions to include in all
196
- * composed expect functions
197
- * @param asyncAssertions - Base asynchronous assertions to include in all
198
- * composed expect functions
199
- * @returns A {@link UseFn} that accepts additional assertions and returns
200
- * composed expect functions
201
- * @internal
202
- * @see {@link UseFn} for the interface of the returned function
203
- * @see {@link Bupkis} for the structure of the returned object
204
- * @see {@link FilterSyncAssertions} for how sync assertions are extracted
205
- * @see {@link FilterAsyncAssertions} for how async assertions are extracted
206
- * @see {@link Concat} for how assertion arrays are combined
207
- */
208
- const createUse = (syncAssertions, asyncAssertions) => {
209
- const syncAssertionsIn = syncAssertions ?? [];
210
- const asyncAssertionsIn = asyncAssertions ?? [];
211
- /**
212
- * @function
213
- */
214
- const use = (assertions) => {
215
- const newSyncAssertions = assertions.filter((a) => a instanceof assertion_sync_js_1.BupkisAssertionSync);
216
- const newAsyncAssertions = assertions.filter((a) => a instanceof assertion_async_js_1.BupkisAssertionAsync);
217
- const allSyncAssertions = [
218
- ...syncAssertionsIn,
219
- ...newSyncAssertions,
220
- ];
221
- const allAsyncAssertions = [
222
- ...asyncAssertionsIn,
223
- ...newAsyncAssertions,
224
- ];
225
- const expectFunction = (0, expect_js_1.createExpectSyncFunction)(allSyncAssertions);
226
- const expectAsyncFunction = (0, expect_js_1.createExpectAsyncFunction)(allAsyncAssertions);
227
- const expect = assign(expectFunction, (0, expect_js_1.createBaseExpect)(allSyncAssertions, allAsyncAssertions, 'sync'), { it: createExpectIt(expectFunction) });
228
- const expectAsync = assign(expectAsyncFunction, (0, expect_js_1.createBaseExpect)(allSyncAssertions, allAsyncAssertions, 'async'), { it: createExpectItAsync(expectAsyncFunction) });
229
- return {
230
- expect,
231
- expectAsync,
232
- get use() {
233
- return (0, exports.createUse)(allSyncAssertions, allAsyncAssertions);
234
- },
235
- };
236
- };
237
- return use;
238
- };
239
- exports.createUse = createUse;
240
- //# sourceMappingURL=use.js.map
package/dist/use.cjs.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"use.js","sourceRoot":"","sources":["../src/use.ts"],"names":[],"mappings":"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"}
package/dist/use.d.cts DELETED
@@ -1,8 +0,0 @@
1
- /**
2
- * Contains {@link createUse} and which is consumed by the bootstrapper and any
3
- * subsequent calls to {@link bupkis!expect.use}.
4
- *
5
- * @packageDocumentation
6
- */
7
- export {};
8
- //# sourceMappingURL=use.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../src/use.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
package/dist/use.d.ts DELETED
@@ -1,8 +0,0 @@
1
- /**
2
- * Contains {@link createUse} and which is consumed by the bootstrapper and any
3
- * subsequent calls to {@link bupkis!expect.use}.
4
- *
5
- * @packageDocumentation
6
- */
7
- export {};
8
- //# sourceMappingURL=use.d.ts.map
package/dist/use.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"use.d.ts","sourceRoot":"","sources":["../src/use.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
package/dist/use.js DELETED
@@ -1,236 +0,0 @@
1
- /**
2
- * Contains {@link createUse} and which is consumed by the bootstrapper and any
3
- * subsequent calls to {@link bupkis!expect.use}.
4
- *
5
- * @packageDocumentation
6
- */
7
- import { BupkisAssertionAsync } from "./assertion/assertion-async.js";
8
- import { BupkisAssertionSync } from "./assertion/assertion-sync.js";
9
- import { kExpectIt } from "./constant.js";
10
- import { createBaseExpect, createExpectAsyncFunction, createExpectSyncFunction, } from "./expect.js";
11
- const { assign } = Object;
12
- /**
13
- * Creates an `expect.it()` factory function for generating embeddable assertion
14
- * executors.
15
- *
16
- * This function produces a factory that creates embeddable assertion executors
17
- * from natural language assertion phrases. The resulting executors can be
18
- * embedded within object patterns for use with `'to satisfy'` assertions,
19
- * enabling type-safe pattern matching for complex nested validations.
20
- *
21
- * @remarks
22
- * The returned executors are marked with the {@link kExpectIt} symbol to
23
- * distinguish them from regular functions during pattern validation. They are
24
- * designed exclusively for use within `'to satisfy'` assertion contexts and
25
- * should not be executed directly outside of pattern matching scenarios.
26
- * @example
27
- *
28
- * ```typescript
29
- * const expectIt = createExpectIt(expect);
30
- *
31
- * // Create embeddable assertion executors
32
- * const isString = expectIt('to be a string');
33
- * const isPositive = expectIt('to be greater than', 0);
34
- *
35
- * // Use within 'to satisfy' patterns
36
- * expect(user, 'to satisfy', {
37
- * name: isString, // Validates that user.name is a string
38
- * age: isPositive, // Validates that user.age > 0
39
- * email: /\S+@\S+/, // Standard regex pattern
40
- * });
41
- * ```
42
- *
43
- * @template SyncAssertions - Array of synchronous assertion objects that define
44
- * the available assertion logic for the embeddable functions
45
- * @function
46
- * @param expect - The underlying expect function that will execute the
47
- * assertions when the returned executors are called
48
- * @returns A factory function that creates {@link ExpectItExecutor} instances
49
- * for embedding within object patterns
50
- * @internal
51
- * @see {@link ExpectIt} for the complete factory function interface
52
- * @see {@link ExpectItExecutor} for the executor function interface
53
- * @see {@link kExpectIt} for the internal marking symbol
54
- */
55
- const createExpectIt = (expect) => {
56
- /**
57
- * @function
58
- */
59
- const expectIt = (...args) => {
60
- const func = assign((subject) => {
61
- const allArgs = [subject, ...args];
62
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call
63
- expect(...allArgs);
64
- }, {
65
- [kExpectIt]: true,
66
- });
67
- return func;
68
- };
69
- return expectIt;
70
- };
71
- /**
72
- * Creates an `expectAsync.it()` factory function for generating embeddable
73
- * async assertion executors.
74
- *
75
- * This function produces a factory that creates embeddable async assertion
76
- * executors from natural language assertion phrases. The resulting executors
77
- * can be embedded within async object patterns for use with `'to satisfy'`
78
- * assertions, enabling type-safe pattern matching for complex nested
79
- * validations with Promise support.
80
- *
81
- * @remarks
82
- * The returned async executors are marked with the {@link kExpectIt} symbol to
83
- * distinguish them from regular functions during pattern validation. They are
84
- * designed exclusively for use within async `'to satisfy'` assertion contexts
85
- * and should not be executed directly outside of pattern matching scenarios.
86
- * @example
87
- *
88
- * ```typescript
89
- * const expectItAsync = createExpectItAsync(expectAsync);
90
- *
91
- * // Create embeddable async assertion executors
92
- * const isAsyncString = expectItAsync('to be a string');
93
- * const resolvesFast = expectItAsync('to resolve quickly');
94
- *
95
- * // Use within async 'to satisfy' patterns
96
- * await expectAsync(asyncUser, 'to satisfy', {
97
- * name: isAsyncString, // Async validation that user.name is a string
98
- * loadPromise: resolvesFast, // Async validation that loadPromise resolves quickly
99
- * });
100
- * ```
101
- *
102
- * @template AsyncAssertions - Array of asynchronous assertion objects that
103
- * define the available assertion logic for the embeddable async functions
104
- * @function
105
- * @param expectAsync - The underlying expectAsync function that will execute
106
- * the assertions when the returned executors are called
107
- * @returns A factory function that creates {@link ExpectItExecutorAsync}
108
- * instances for embedding within async object patterns
109
- * @internal
110
- * @see {@link ExpectItAsync} for the complete factory function interface
111
- * @see {@link ExpectItExecutorAsync} for the executor function interface
112
- * @see {@link kExpectIt} for the internal marking symbol
113
- * @see {@link createExpectIt} for the synchronous equivalent
114
- */
115
- const createExpectItAsync = (expectAsync) => {
116
- /**
117
- * @function
118
- */
119
- const expectItAsync = (...args) => {
120
- const func = assign(async (subject) => {
121
- const allArgs = [subject, ...args];
122
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call
123
- await expectAsync(...allArgs);
124
- }, {
125
- [kExpectIt]: true,
126
- });
127
- return func;
128
- };
129
- return expectItAsync;
130
- };
131
- /**
132
- * Creates a factory function for composing assertion functions with custom
133
- * assertions.
134
- *
135
- * This function implements the core plugin system for Bupkis, enabling users to
136
- * extend the built-in assertion library with custom assertions. It creates a
137
- * `use()` function that accepts mixed arrays of assertions and returns new
138
- * `expect` and `expectAsync` functions that include both the base assertions
139
- * and the newly added ones.
140
- *
141
- * The function separates synchronous and asynchronous assertions from the input
142
- * array, combines them with existing assertions, and constructs fully-featured
143
- * expect functions with all necessary properties including assertion creation
144
- * utilities, failure functions, and recursive composition via the `use`
145
- * property.
146
- *
147
- * @remarks
148
- * The returned function filters input assertions by type using `instanceof`
149
- * checks against {@link BupkisAssertionSync} and {@link BupkisAssertionAsync}
150
- * classes. It then creates new expect functions using
151
- * {@link createExpectSyncFunction} and {@link createExpectAsyncFunction}, and
152
- * attaches all necessary properties including recursive `use` functionality.
153
- *
154
- * The composition is recursive - the returned object's `use` property creates a
155
- * new `createUse` instance with the combined assertion sets, enabling unlimited
156
- * chaining of custom assertions.
157
- * @example
158
- *
159
- * ```typescript
160
- * // Create custom assertions
161
- * const customSyncAssertion = expect.createAssertion(
162
- * ['to be even'],
163
- * (n) => n % 2 === 0,
164
- * );
165
- * const customAsyncAssertion = expect.createAsyncAssertion(
166
- * ['to resolve quickly'],
167
- * async (promise) => {
168
- * const start = Date.now();
169
- * await promise;
170
- * return Date.now() - start < 100;
171
- * },
172
- * );
173
- *
174
- * // Use createUse to compose with existing assertions
175
- * const use = createUse(existingSyncAssertions, existingAsyncAssertions);
176
- * const { expect: newExpect, expectAsync: newExpectAsync } = use([
177
- * customSyncAssertion,
178
- * customAsyncAssertion,
179
- * ]);
180
- *
181
- * // Now both built-in and custom assertions are available
182
- * newExpect(4, 'to be even'); // Custom assertion
183
- * newExpect('hello', 'to be a string'); // Built-in assertion
184
- * await newExpectAsync(fastPromise, 'to resolve quickly'); // Custom async assertion
185
- * ```
186
- *
187
- * @template SyncAssertions - Array of base synchronous assertions that will be
188
- * available in the composed functions
189
- * @template AsyncAssertions - Array of base asynchronous assertions that will
190
- * be available in the composed functions
191
- * @function
192
- * @param syncAssertions - Base synchronous assertions to include in all
193
- * composed expect functions
194
- * @param asyncAssertions - Base asynchronous assertions to include in all
195
- * composed expect functions
196
- * @returns A {@link UseFn} that accepts additional assertions and returns
197
- * composed expect functions
198
- * @internal
199
- * @see {@link UseFn} for the interface of the returned function
200
- * @see {@link Bupkis} for the structure of the returned object
201
- * @see {@link FilterSyncAssertions} for how sync assertions are extracted
202
- * @see {@link FilterAsyncAssertions} for how async assertions are extracted
203
- * @see {@link Concat} for how assertion arrays are combined
204
- */
205
- export const createUse = (syncAssertions, asyncAssertions) => {
206
- const syncAssertionsIn = syncAssertions ?? [];
207
- const asyncAssertionsIn = asyncAssertions ?? [];
208
- /**
209
- * @function
210
- */
211
- const use = (assertions) => {
212
- const newSyncAssertions = assertions.filter((a) => a instanceof BupkisAssertionSync);
213
- const newAsyncAssertions = assertions.filter((a) => a instanceof BupkisAssertionAsync);
214
- const allSyncAssertions = [
215
- ...syncAssertionsIn,
216
- ...newSyncAssertions,
217
- ];
218
- const allAsyncAssertions = [
219
- ...asyncAssertionsIn,
220
- ...newAsyncAssertions,
221
- ];
222
- const expectFunction = createExpectSyncFunction(allSyncAssertions);
223
- const expectAsyncFunction = createExpectAsyncFunction(allAsyncAssertions);
224
- const expect = assign(expectFunction, createBaseExpect(allSyncAssertions, allAsyncAssertions, 'sync'), { it: createExpectIt(expectFunction) });
225
- const expectAsync = assign(expectAsyncFunction, createBaseExpect(allSyncAssertions, allAsyncAssertions, 'async'), { it: createExpectItAsync(expectAsyncFunction) });
226
- return {
227
- expect,
228
- expectAsync,
229
- get use() {
230
- return createUse(allSyncAssertions, allAsyncAssertions);
231
- },
232
- };
233
- };
234
- return use;
235
- };
236
- //# sourceMappingURL=use.js.map
package/dist/use.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"use.js","sourceRoot":"","sources":["../src/use.ts"],"names":[],"mappings":"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"}