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,423 +0,0 @@
1
- "use strict";
2
- /**
3
- * Asynchronous assertion implementations.
4
- *
5
- * This module contains all built-in asynchronous assertion implementations for
6
- * working with Promises and async operations. It provides assertions for
7
- * Promise resolution, rejection, and async function behavior validation with
8
- * comprehensive error handling.
9
- *
10
- * @module
11
- * @groupDescription Parametric Assertions (Async)
12
- * Asynchronous assertions for Promise resolution, rejection, and async function behavior.
13
- *
14
- * @showGroups
15
- */
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.functionFulfillWithValueSatisfyingAssertion = exports.promiseResolveWithValueSatisfyingAssertion = exports.promiseRejectWithErrorSatisfyingAssertion = exports.functionRejectWithErrorSatisfyingAssertion = exports.promiseRejectWithTypeAssertion = exports.functionRejectWithTypeAssertion = exports.promiseRejectAssertion = exports.functionRejectAssertion = exports.promiseResolveAssertion = exports.functionResolveAssertion = void 0;
18
- const node_util_1 = require("node:util");
19
- const error_js_1 = require("../../error.cjs");
20
- const guards_js_1 = require("../../guards.cjs");
21
- const schema_js_1 = require("../../schema.cjs");
22
- const value_to_schema_js_1 = require("../../value-to-schema.cjs");
23
- const create_js_1 = require("../create.cjs");
24
- const assertion_util_js_1 = require("./assertion-util.cjs");
25
- /**
26
- * Assertion for testing if a function returns a fulfilled Promise.
27
- *
28
- * @example
29
- *
30
- * ```typescript
31
- * await expectAsync(() => Promise.resolve('success'), 'to resolve'); // passes
32
- * await expectAsync(() => Promise.reject('error'), 'to fulfill'); // fails
33
- * ```
34
- *
35
- * @group Parametric Assertions (Async)
36
- * @bupkisAnchor function-to-resolve
37
- * @bupkisAssertionCategory promise
38
- */
39
- exports.functionResolveAssertion = (0, create_js_1.createAsyncAssertion)([schema_js_1.FunctionSchema, ['to resolve', 'to fulfill']], async (subject) => {
40
- try {
41
- await subject();
42
- }
43
- catch {
44
- return {
45
- message: 'Expected function to fulfill, but it rejected instead',
46
- };
47
- }
48
- });
49
- /**
50
- * Assertion for testing if a Promise is fulfilled.
51
- *
52
- * @example
53
- *
54
- * ```typescript
55
- * await expectAsync(Promise.resolve('success'), 'to resolve'); // passes
56
- * await expectAsync(Promise.reject('error'), 'to fulfill'); // fails
57
- * ```
58
- *
59
- * @bupkisAssertionCategory promise
60
- * @bupkisAnchor promise-to-resolve
61
- * @group Parametric Assertions (Async)
62
- */
63
- exports.promiseResolveAssertion = (0, create_js_1.createAsyncAssertion)([schema_js_1.WrappedPromiseLikeSchema, ['to resolve', 'to fulfill']], async (subject) => {
64
- try {
65
- await subject;
66
- }
67
- catch {
68
- return {
69
- message: 'Expected promise to fulfill, but it rejected instead',
70
- };
71
- }
72
- });
73
- /**
74
- * Assertion for testing if a function returns a rejected Promise.
75
- *
76
- * @example
77
- *
78
- * ```typescript
79
- * await expectAsync(() => Promise.reject('error'), 'to reject'); // passes
80
- * await expectAsync(() => Promise.resolve('success'), 'to reject'); // fails
81
- * ```
82
- *
83
- * @group Parametric Assertions (Async)
84
- */
85
- exports.functionRejectAssertion = (0, create_js_1.createAsyncAssertion)([schema_js_1.FunctionSchema, ['to reject', 'to be rejected']], async (subject) => {
86
- const { error, result } = await (0, assertion_util_js_1.trapAsyncFnError)(subject);
87
- if (error === undefined) {
88
- return {
89
- message: `Expected function to reject, but it fulfilled with ${(0, node_util_1.inspect)(result)}`,
90
- };
91
- }
92
- });
93
- /**
94
- * Assertion for testing if a Promise is rejected.
95
- *
96
- * @example
97
- *
98
- * ```typescript
99
- * await expectAsync(Promise.reject('error'), 'to reject'); // passes
100
- * await expectAsync(Promise.resolve('success'), 'to reject'); // fails
101
- * ```
102
- *
103
- * @group Parametric Assertions (Async)
104
- */
105
- exports.promiseRejectAssertion = (0, create_js_1.createAsyncAssertion)([schema_js_1.WrappedPromiseLikeSchema, ['to reject', 'to be rejected']], async (subject) => {
106
- const { error, result } = await (0, assertion_util_js_1.trapPromiseError)(subject);
107
- if (error === undefined) {
108
- return {
109
- message: `Expected Promise to reject, but it fulfilled with ${(0, node_util_1.inspect)(result)}`,
110
- };
111
- }
112
- });
113
- /**
114
- * Assertion for testing if a function rejects with a specific error type.
115
- *
116
- * @example
117
- *
118
- * ```typescript
119
- * await expectAsync(
120
- * () => Promise.reject(new TypeError('wrong')),
121
- * 'to reject with a',
122
- * TypeError,
123
- * ); // passes
124
- * await expectAsync(
125
- * () => Promise.reject(new Error('wrong')),
126
- * 'to reject with an',
127
- * TypeError,
128
- * ); // fails
129
- * ```
130
- *
131
- * @group Parametric Assertions (Async)
132
- */
133
- exports.functionRejectWithTypeAssertion = (0, create_js_1.createAsyncAssertion)([
134
- schema_js_1.FunctionSchema,
135
- [
136
- 'to reject with a',
137
- 'to reject with an',
138
- 'to be rejected with a',
139
- 'to be rejected with an',
140
- ],
141
- schema_js_1.ConstructibleSchema,
142
- ], async (subject, ctor) => {
143
- const { error, result } = await (0, assertion_util_js_1.trapAsyncFnError)(subject);
144
- if (error === undefined) {
145
- return {
146
- message: `Expected function to reject, but it fulfilled with ${(0, node_util_1.inspect)(result)}`,
147
- };
148
- }
149
- if (!(0, guards_js_1.isA)(error, ctor)) {
150
- if ((0, guards_js_1.isNonNullObject)(error)) {
151
- const err = error;
152
- return {
153
- actual: err.constructor.name,
154
- expected: ctor.name,
155
- message: `Expected function to reject with an instance of ${ctor.name}, but it rejected with a ${err.constructor.name}`,
156
- };
157
- }
158
- return {
159
- actual: typeof error,
160
- expected: ctor.name,
161
- message: `Expected function to reject with an instance of ${ctor.name}, but it rejected with a value of type ${typeof error}: ${(0, node_util_1.inspect)(error)}`,
162
- };
163
- }
164
- });
165
- /**
166
- * Assertion for testing if a Promise rejects with a specific error type.
167
- *
168
- * @example
169
- *
170
- * ```typescript
171
- * await expectAsync(
172
- * Promise.reject(new TypeError('wrong')),
173
- * 'to reject with a',
174
- * TypeError,
175
- * ); // passes
176
- * await expectAsync(
177
- * Promise.reject(new Error('wrong')),
178
- * 'to reject with an',
179
- * TypeError,
180
- * ); // fails
181
- * ```
182
- *
183
- * @group Parametric Assertions (Async)
184
- */
185
- exports.promiseRejectWithTypeAssertion = (0, create_js_1.createAsyncAssertion)([
186
- schema_js_1.WrappedPromiseLikeSchema,
187
- [
188
- 'to reject with a',
189
- 'to reject with an',
190
- 'to be rejected with a',
191
- 'to be rejected with an',
192
- ],
193
- schema_js_1.ConstructibleSchema,
194
- ], async (subject, ctor) => {
195
- const { error, result } = await (0, assertion_util_js_1.trapPromiseError)(subject);
196
- if (error === undefined) {
197
- return {
198
- message: `Expected Promise to reject, but it fulfilled with ${(0, node_util_1.inspect)(result)}`,
199
- };
200
- }
201
- if (!(0, guards_js_1.isA)(error, ctor)) {
202
- if ((0, guards_js_1.isNonNullObject)(error)) {
203
- const err = error;
204
- return {
205
- actual: err.constructor.name,
206
- expected: ctor.name,
207
- message: `Expected Promise to reject with an instance of ${ctor.name}, but it rejected with a ${err.constructor.name}`,
208
- };
209
- }
210
- return {
211
- actual: typeof error,
212
- expected: ctor.name,
213
- message: `Expected Promise to reject with an instance of ${ctor.name}, but it rejected with a value of type ${typeof error}: ${(0, node_util_1.inspect)(error)}`,
214
- };
215
- }
216
- });
217
- /**
218
- * Assertion for testing if a function rejects with an error satisfying specific
219
- * criteria.
220
- *
221
- * @example
222
- *
223
- * ```typescript
224
- * await expectAsync(
225
- * () => Promise.reject(new Error('oops')),
226
- * 'to reject with error satisfying',
227
- * 'oops',
228
- * ); // passes
229
- * await expectAsync(
230
- * () => Promise.reject(new Error('fail')),
231
- * 'to reject with error satisfying',
232
- * /error/i,
233
- * ); // passes
234
- * await expectAsync(
235
- * () => Promise.reject(new Error('oops')),
236
- * 'to reject with error satisfying',
237
- * { message: 'oops' },
238
- * ); // passes
239
- * ```
240
- *
241
- * @group Parametric Assertions (Async)
242
- */
243
- exports.functionRejectWithErrorSatisfyingAssertion = (0, create_js_1.createAsyncAssertion)([
244
- schema_js_1.FunctionSchema,
245
- ['to reject with error satisfying', 'to be rejected with error satisfying'],
246
- schema_js_1.UnknownSchema,
247
- ], async (subject, param) => {
248
- const { error, result } = await (0, assertion_util_js_1.trapAsyncFnError)(subject);
249
- if (error === undefined) {
250
- return {
251
- message: `Expected function to reject, but it fulfilled with ${(0, node_util_1.inspect)(result)}`,
252
- };
253
- }
254
- let schema;
255
- // TODO: can valueToSchema handle the first two conditional branches?
256
- if ((0, guards_js_1.isString)(param)) {
257
- schema = (0, schema_js_1.createErrorMessageSchema)(param);
258
- }
259
- else if ((0, guards_js_1.isA)(param, RegExp)) {
260
- schema = (0, schema_js_1.createErrorMessageRegexSchema)(param);
261
- }
262
- else if ((0, guards_js_1.isNonNullObject)(param)) {
263
- schema = (0, value_to_schema_js_1.valueToSchema)(param, value_to_schema_js_1.valueToSchemaOptionsForSatisfies);
264
- }
265
- /* c8 ignore next 5 */
266
- if (!schema) {
267
- throw new error_js_1.InvalidObjectSchemaError(`Invalid parameter schema: ${(0, node_util_1.inspect)(param, { depth: 2 })}`, { schema: param });
268
- }
269
- return {
270
- schema,
271
- subject: error,
272
- };
273
- });
274
- /**
275
- * Assertion for testing if a Promise rejects with an error satisfying specific
276
- * criteria.
277
- *
278
- * @example
279
- *
280
- * ```typescript
281
- * await expectAsync(
282
- * Promise.reject(new Error('oops')),
283
- * 'to reject with error satisfying',
284
- * 'oops',
285
- * ); // passes
286
- * await expectAsync(
287
- * Promise.reject(new Error('fail')),
288
- * 'to reject with error satisfying',
289
- * /error/i,
290
- * ); // passes
291
- * await expectAsync(
292
- * Promise.reject(new Error('oops')),
293
- * 'to reject with error satisfying',
294
- * { message: 'oops' },
295
- * ); // passes
296
- * ```
297
- *
298
- * @group Parametric Assertions (Async)
299
- */
300
- exports.promiseRejectWithErrorSatisfyingAssertion = (0, create_js_1.createAsyncAssertion)([
301
- schema_js_1.WrappedPromiseLikeSchema,
302
- ['to reject with error satisfying', 'to be rejected with error satisfying'],
303
- schema_js_1.UnknownSchema,
304
- ], async (subject, param) => {
305
- const { error, result } = await (0, assertion_util_js_1.trapPromiseError)(subject);
306
- if (error === undefined) {
307
- return {
308
- message: `Expected Promise to reject, but it fulfilled with ${(0, node_util_1.inspect)(result)}`,
309
- };
310
- }
311
- let schema;
312
- // TODO: can valueToSchema handle the first two conditional branches?
313
- if ((0, guards_js_1.isString)(param)) {
314
- schema = (0, schema_js_1.createErrorMessageSchema)(param);
315
- }
316
- else if ((0, guards_js_1.isA)(param, RegExp)) {
317
- schema = (0, schema_js_1.createErrorMessageRegexSchema)(param);
318
- }
319
- else if ((0, guards_js_1.isNonNullObject)(param)) {
320
- schema = (0, value_to_schema_js_1.valueToSchema)(param, value_to_schema_js_1.valueToSchemaOptionsForSatisfies);
321
- }
322
- /* c8 ignore next 5 */
323
- if (!schema) {
324
- throw new error_js_1.InvalidObjectSchemaError(`Invalid parameter schema: ${(0, node_util_1.inspect)(param, { depth: 2 })}`, { schema: param });
325
- }
326
- return {
327
- schema,
328
- subject: error,
329
- };
330
- });
331
- /**
332
- * Assertion for testing if a Promise fulfills with a value satisfying specific
333
- * criteria.
334
- *
335
- * @example
336
- *
337
- * ```typescript
338
- * await expectAsync(
339
- * Promise.resolve('hello'),
340
- * 'to fulfill with value satisfying',
341
- * 'hello',
342
- * ); // passes
343
- * await expectAsync(
344
- * Promise.resolve('world'),
345
- * 'to resolve with value satisfying',
346
- * /wor/,
347
- * ); // passes
348
- * await expectAsync(
349
- * Promise.resolve({ name: 'John' }),
350
- * 'to fulfill with value satisfying',
351
- * { name: 'John' },
352
- * ); // passes
353
- * ```
354
- *
355
- * @group Parametric Assertions (Async)
356
- */
357
- exports.promiseResolveWithValueSatisfyingAssertion = (0, create_js_1.createAsyncAssertion)([
358
- schema_js_1.WrappedPromiseLikeSchema,
359
- ['to fulfill with value satisfying', 'to resolve with value satisfying'],
360
- schema_js_1.UnknownSchema,
361
- ], async (promise, param) => {
362
- let value;
363
- try {
364
- value = await promise;
365
- }
366
- catch (err) {
367
- return {
368
- message: `Expected Promise to fulfill, but it rejected with ${(0, node_util_1.inspect)(err)}`,
369
- };
370
- }
371
- const schema = (0, value_to_schema_js_1.valueToSchema)(param, value_to_schema_js_1.valueToSchemaOptionsForSatisfies);
372
- return {
373
- schema,
374
- subject: value,
375
- };
376
- });
377
- /**
378
- * Assertion for testing if a function returns a Promise that fulfills with a
379
- * value satisfying specific criteria.
380
- *
381
- * @example
382
- *
383
- * ```typescript
384
- * await expectAsync(
385
- * () => Promise.resolve('hello'),
386
- * 'to fulfill with value satisfying',
387
- * 'hello',
388
- * ); // passes
389
- * await expectAsync(
390
- * () => Promise.resolve('world'),
391
- * 'to resolve with value satisfying',
392
- * /wor/,
393
- * ); // passes
394
- * await expectAsync(
395
- * () => Promise.resolve({ name: 'John' }),
396
- * 'to fulfill with value satisfying',
397
- * { name: 'John' },
398
- * ); // passes
399
- * ```
400
- *
401
- * @group Parametric Assertions (Async)
402
- */
403
- exports.functionFulfillWithValueSatisfyingAssertion = (0, create_js_1.createAsyncAssertion)([
404
- schema_js_1.FunctionSchema,
405
- ['to fulfill with value satisfying', 'to resolve with value satisfying'],
406
- schema_js_1.UnknownSchema,
407
- ], async (subject, param) => {
408
- let value;
409
- try {
410
- value = await subject();
411
- }
412
- catch (err) {
413
- return {
414
- message: `Expected function to fulfill, but it rejected with ${(0, node_util_1.inspect)(err)}`,
415
- };
416
- }
417
- const schema = (0, value_to_schema_js_1.valueToSchema)(param, value_to_schema_js_1.valueToSchemaOptionsForSatisfies);
418
- return {
419
- schema,
420
- subject: value,
421
- };
422
- });
423
- //# sourceMappingURL=async-parametric.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"async-parametric.js","sourceRoot":"","sources":["../../../src/assertion/impl/async-parametric.ts"],"names":[],"mappings":"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"}