bupkis 0.18.1 → 0.18.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (376) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/package.json +1 -4
  3. package/src/assertion/assertion-types.ts +4 -4
  4. package/src/assertion/impl/sync-parametric.ts +1 -1
  5. package/src/expect.ts +0 -4
  6. package/src/guards.ts +24 -24
  7. package/src/internal-schema.ts +16 -32
  8. package/src/value-to-schema.ts +1 -1
  9. package/dist/assertion/assertion-async.cjs +0 -268
  10. package/dist/assertion/assertion-async.cjs.map +0 -1
  11. package/dist/assertion/assertion-async.d.cts +0 -40
  12. package/dist/assertion/assertion-async.d.cts.map +0 -1
  13. package/dist/assertion/assertion-async.d.ts +0 -40
  14. package/dist/assertion/assertion-async.d.ts.map +0 -1
  15. package/dist/assertion/assertion-async.js +0 -259
  16. package/dist/assertion/assertion-async.js.map +0 -1
  17. package/dist/assertion/assertion-standard-schema-async.cjs +0 -132
  18. package/dist/assertion/assertion-standard-schema-async.cjs.map +0 -1
  19. package/dist/assertion/assertion-standard-schema-async.d.cts +0 -52
  20. package/dist/assertion/assertion-standard-schema-async.d.cts.map +0 -1
  21. package/dist/assertion/assertion-standard-schema-async.d.ts +0 -52
  22. package/dist/assertion/assertion-standard-schema-async.d.ts.map +0 -1
  23. package/dist/assertion/assertion-standard-schema-async.js +0 -128
  24. package/dist/assertion/assertion-standard-schema-async.js.map +0 -1
  25. package/dist/assertion/assertion-standard-schema-sync.cjs +0 -141
  26. package/dist/assertion/assertion-standard-schema-sync.cjs.map +0 -1
  27. package/dist/assertion/assertion-standard-schema-sync.d.cts +0 -52
  28. package/dist/assertion/assertion-standard-schema-sync.d.cts.map +0 -1
  29. package/dist/assertion/assertion-standard-schema-sync.d.ts +0 -52
  30. package/dist/assertion/assertion-standard-schema-sync.d.ts.map +0 -1
  31. package/dist/assertion/assertion-standard-schema-sync.js +0 -137
  32. package/dist/assertion/assertion-standard-schema-sync.js.map +0 -1
  33. package/dist/assertion/assertion-sync.cjs +0 -284
  34. package/dist/assertion/assertion-sync.cjs.map +0 -1
  35. package/dist/assertion/assertion-sync.d.cts +0 -60
  36. package/dist/assertion/assertion-sync.d.cts.map +0 -1
  37. package/dist/assertion/assertion-sync.d.ts +0 -60
  38. package/dist/assertion/assertion-sync.d.ts.map +0 -1
  39. package/dist/assertion/assertion-sync.js +0 -275
  40. package/dist/assertion/assertion-sync.js.map +0 -1
  41. package/dist/assertion/assertion-types.cjs +0 -20
  42. package/dist/assertion/assertion-types.cjs.map +0 -1
  43. package/dist/assertion/assertion-types.d.cts +0 -1086
  44. package/dist/assertion/assertion-types.d.cts.map +0 -1
  45. package/dist/assertion/assertion-types.d.ts +0 -1086
  46. package/dist/assertion/assertion-types.d.ts.map +0 -1
  47. package/dist/assertion/assertion-types.js +0 -19
  48. package/dist/assertion/assertion-types.js.map +0 -1
  49. package/dist/assertion/assertion.cjs +0 -382
  50. package/dist/assertion/assertion.cjs.map +0 -1
  51. package/dist/assertion/assertion.d.cts +0 -109
  52. package/dist/assertion/assertion.d.cts.map +0 -1
  53. package/dist/assertion/assertion.d.ts +0 -109
  54. package/dist/assertion/assertion.d.ts.map +0 -1
  55. package/dist/assertion/assertion.js +0 -375
  56. package/dist/assertion/assertion.js.map +0 -1
  57. package/dist/assertion/create.cjs +0 -148
  58. package/dist/assertion/create.cjs.map +0 -1
  59. package/dist/assertion/create.d.cts +0 -85
  60. package/dist/assertion/create.d.cts.map +0 -1
  61. package/dist/assertion/create.d.ts +0 -85
  62. package/dist/assertion/create.d.ts.map +0 -1
  63. package/dist/assertion/create.js +0 -143
  64. package/dist/assertion/create.js.map +0 -1
  65. package/dist/assertion/format-assertion-failure.cjs +0 -63
  66. package/dist/assertion/format-assertion-failure.cjs.map +0 -1
  67. package/dist/assertion/format-assertion-failure.d.cts +0 -21
  68. package/dist/assertion/format-assertion-failure.d.cts.map +0 -1
  69. package/dist/assertion/format-assertion-failure.d.ts +0 -21
  70. package/dist/assertion/format-assertion-failure.d.ts.map +0 -1
  71. package/dist/assertion/format-assertion-failure.js +0 -59
  72. package/dist/assertion/format-assertion-failure.js.map +0 -1
  73. package/dist/assertion/impl/assertion-util.cjs +0 -68
  74. package/dist/assertion/impl/assertion-util.cjs.map +0 -1
  75. package/dist/assertion/impl/assertion-util.d.cts +0 -36
  76. package/dist/assertion/impl/assertion-util.d.cts.map +0 -1
  77. package/dist/assertion/impl/assertion-util.d.ts +0 -36
  78. package/dist/assertion/impl/assertion-util.d.ts.map +0 -1
  79. package/dist/assertion/impl/assertion-util.js +0 -62
  80. package/dist/assertion/impl/assertion-util.js.map +0 -1
  81. package/dist/assertion/impl/async-iterable.cjs +0 -627
  82. package/dist/assertion/impl/async-iterable.cjs.map +0 -1
  83. package/dist/assertion/impl/async-iterable.d.cts +0 -406
  84. package/dist/assertion/impl/async-iterable.d.cts.map +0 -1
  85. package/dist/assertion/impl/async-iterable.d.ts +0 -406
  86. package/dist/assertion/impl/async-iterable.d.ts.map +0 -1
  87. package/dist/assertion/impl/async-iterable.js +0 -624
  88. package/dist/assertion/impl/async-iterable.js.map +0 -1
  89. package/dist/assertion/impl/async-parametric.cjs +0 -412
  90. package/dist/assertion/impl/async-parametric.cjs.map +0 -1
  91. package/dist/assertion/impl/async-parametric.d.cts +0 -278
  92. package/dist/assertion/impl/async-parametric.d.cts.map +0 -1
  93. package/dist/assertion/impl/async-parametric.d.ts +0 -278
  94. package/dist/assertion/impl/async-parametric.d.ts.map +0 -1
  95. package/dist/assertion/impl/async-parametric.js +0 -409
  96. package/dist/assertion/impl/async-parametric.js.map +0 -1
  97. package/dist/assertion/impl/async.cjs +0 -56
  98. package/dist/assertion/impl/async.cjs.map +0 -1
  99. package/dist/assertion/impl/async.d.cts +0 -179
  100. package/dist/assertion/impl/async.d.cts.map +0 -1
  101. package/dist/assertion/impl/async.d.ts +0 -179
  102. package/dist/assertion/impl/async.d.ts.map +0 -1
  103. package/dist/assertion/impl/async.js +0 -39
  104. package/dist/assertion/impl/async.js.map +0 -1
  105. package/dist/assertion/impl/index.cjs +0 -37
  106. package/dist/assertion/impl/index.cjs.map +0 -1
  107. package/dist/assertion/impl/index.d.cts +0 -21
  108. package/dist/assertion/impl/index.d.cts.map +0 -1
  109. package/dist/assertion/impl/index.d.ts +0 -21
  110. package/dist/assertion/impl/index.d.ts.map +0 -1
  111. package/dist/assertion/impl/index.js +0 -21
  112. package/dist/assertion/impl/index.js.map +0 -1
  113. package/dist/assertion/impl/iteration-util.cjs +0 -297
  114. package/dist/assertion/impl/iteration-util.cjs.map +0 -1
  115. package/dist/assertion/impl/iteration-util.d.cts +0 -12
  116. package/dist/assertion/impl/iteration-util.d.cts.map +0 -1
  117. package/dist/assertion/impl/iteration-util.d.ts +0 -12
  118. package/dist/assertion/impl/iteration-util.d.ts.map +0 -1
  119. package/dist/assertion/impl/iteration-util.js +0 -282
  120. package/dist/assertion/impl/iteration-util.js.map +0 -1
  121. package/dist/assertion/impl/snapshot.cjs +0 -276
  122. package/dist/assertion/impl/snapshot.cjs.map +0 -1
  123. package/dist/assertion/impl/snapshot.d.cts +0 -278
  124. package/dist/assertion/impl/snapshot.d.cts.map +0 -1
  125. package/dist/assertion/impl/snapshot.d.ts +0 -278
  126. package/dist/assertion/impl/snapshot.d.ts.map +0 -1
  127. package/dist/assertion/impl/snapshot.js +0 -273
  128. package/dist/assertion/impl/snapshot.js.map +0 -1
  129. package/dist/assertion/impl/sync-basic.cjs +0 -553
  130. package/dist/assertion/impl/sync-basic.cjs.map +0 -1
  131. package/dist/assertion/impl/sync-basic.d.cts +0 -528
  132. package/dist/assertion/impl/sync-basic.d.cts.map +0 -1
  133. package/dist/assertion/impl/sync-basic.d.ts +0 -528
  134. package/dist/assertion/impl/sync-basic.d.ts.map +0 -1
  135. package/dist/assertion/impl/sync-basic.js +0 -550
  136. package/dist/assertion/impl/sync-basic.js.map +0 -1
  137. package/dist/assertion/impl/sync-collection.cjs +0 -856
  138. package/dist/assertion/impl/sync-collection.cjs.map +0 -1
  139. package/dist/assertion/impl/sync-collection.d.cts +0 -607
  140. package/dist/assertion/impl/sync-collection.d.cts.map +0 -1
  141. package/dist/assertion/impl/sync-collection.d.ts +0 -607
  142. package/dist/assertion/impl/sync-collection.d.ts.map +0 -1
  143. package/dist/assertion/impl/sync-collection.js +0 -850
  144. package/dist/assertion/impl/sync-collection.js.map +0 -1
  145. package/dist/assertion/impl/sync-date.cjs +0 -341
  146. package/dist/assertion/impl/sync-date.cjs.map +0 -1
  147. package/dist/assertion/impl/sync-date.d.cts +0 -209
  148. package/dist/assertion/impl/sync-date.d.cts.map +0 -1
  149. package/dist/assertion/impl/sync-date.d.ts +0 -209
  150. package/dist/assertion/impl/sync-date.d.ts.map +0 -1
  151. package/dist/assertion/impl/sync-date.js +0 -338
  152. package/dist/assertion/impl/sync-date.js.map +0 -1
  153. package/dist/assertion/impl/sync-esoteric.cjs +0 -214
  154. package/dist/assertion/impl/sync-esoteric.cjs.map +0 -1
  155. package/dist/assertion/impl/sync-esoteric.d.cts +0 -191
  156. package/dist/assertion/impl/sync-esoteric.d.cts.map +0 -1
  157. package/dist/assertion/impl/sync-esoteric.d.ts +0 -191
  158. package/dist/assertion/impl/sync-esoteric.d.ts.map +0 -1
  159. package/dist/assertion/impl/sync-esoteric.js +0 -211
  160. package/dist/assertion/impl/sync-esoteric.js.map +0 -1
  161. package/dist/assertion/impl/sync-iterable.cjs +0 -512
  162. package/dist/assertion/impl/sync-iterable.cjs.map +0 -1
  163. package/dist/assertion/impl/sync-iterable.d.cts +0 -334
  164. package/dist/assertion/impl/sync-iterable.d.cts.map +0 -1
  165. package/dist/assertion/impl/sync-iterable.d.ts +0 -334
  166. package/dist/assertion/impl/sync-iterable.d.ts.map +0 -1
  167. package/dist/assertion/impl/sync-iterable.js +0 -509
  168. package/dist/assertion/impl/sync-iterable.js.map +0 -1
  169. package/dist/assertion/impl/sync-parametric.cjs +0 -805
  170. package/dist/assertion/impl/sync-parametric.cjs.map +0 -1
  171. package/dist/assertion/impl/sync-parametric.d.cts +0 -560
  172. package/dist/assertion/impl/sync-parametric.d.cts.map +0 -1
  173. package/dist/assertion/impl/sync-parametric.d.ts +0 -560
  174. package/dist/assertion/impl/sync-parametric.d.ts.map +0 -1
  175. package/dist/assertion/impl/sync-parametric.js +0 -802
  176. package/dist/assertion/impl/sync-parametric.js.map +0 -1
  177. package/dist/assertion/impl/sync.cjs +0 -214
  178. package/dist/assertion/impl/sync.cjs.map +0 -1
  179. package/dist/assertion/impl/sync.d.cts +0 -512
  180. package/dist/assertion/impl/sync.d.cts.map +0 -1
  181. package/dist/assertion/impl/sync.d.ts +0 -512
  182. package/dist/assertion/impl/sync.d.ts.map +0 -1
  183. package/dist/assertion/impl/sync.js +0 -197
  184. package/dist/assertion/impl/sync.js.map +0 -1
  185. package/dist/assertion/index.cjs +0 -38
  186. package/dist/assertion/index.cjs.map +0 -1
  187. package/dist/assertion/index.d.cts +0 -18
  188. package/dist/assertion/index.d.cts.map +0 -1
  189. package/dist/assertion/index.d.ts +0 -18
  190. package/dist/assertion/index.d.ts.map +0 -1
  191. package/dist/assertion/index.js +0 -17
  192. package/dist/assertion/index.js.map +0 -1
  193. package/dist/assertion/slotify.cjs +0 -165
  194. package/dist/assertion/slotify.cjs.map +0 -1
  195. package/dist/assertion/slotify.d.cts +0 -11
  196. package/dist/assertion/slotify.d.cts.map +0 -1
  197. package/dist/assertion/slotify.d.ts +0 -11
  198. package/dist/assertion/slotify.d.ts.map +0 -1
  199. package/dist/assertion/slotify.js +0 -161
  200. package/dist/assertion/slotify.js.map +0 -1
  201. package/dist/bootstrap.cjs +0 -43
  202. package/dist/bootstrap.cjs.map +0 -1
  203. package/dist/bootstrap.d.cts +0 -27
  204. package/dist/bootstrap.d.cts.map +0 -1
  205. package/dist/bootstrap.d.ts +0 -27
  206. package/dist/bootstrap.d.ts.map +0 -1
  207. package/dist/bootstrap.js +0 -40
  208. package/dist/bootstrap.js.map +0 -1
  209. package/dist/constant.cjs +0 -82
  210. package/dist/constant.cjs.map +0 -1
  211. package/dist/constant.d.cts +0 -69
  212. package/dist/constant.d.cts.map +0 -1
  213. package/dist/constant.d.ts +0 -69
  214. package/dist/constant.d.ts.map +0 -1
  215. package/dist/constant.js +0 -79
  216. package/dist/constant.js.map +0 -1
  217. package/dist/diff.cjs +0 -340
  218. package/dist/diff.cjs.map +0 -1
  219. package/dist/diff.d.cts +0 -51
  220. package/dist/diff.d.cts.map +0 -1
  221. package/dist/diff.d.ts +0 -51
  222. package/dist/diff.d.ts.map +0 -1
  223. package/dist/diff.js +0 -334
  224. package/dist/diff.js.map +0 -1
  225. package/dist/error.cjs +0 -204
  226. package/dist/error.cjs.map +0 -1
  227. package/dist/error.d.cts +0 -212
  228. package/dist/error.d.cts.map +0 -1
  229. package/dist/error.d.ts +0 -212
  230. package/dist/error.d.ts.map +0 -1
  231. package/dist/error.js +0 -191
  232. package/dist/error.js.map +0 -1
  233. package/dist/expect.cjs +0 -590
  234. package/dist/expect.cjs.map +0 -1
  235. package/dist/expect.d.cts +0 -138
  236. package/dist/expect.d.cts.map +0 -1
  237. package/dist/expect.d.ts +0 -138
  238. package/dist/expect.d.ts.map +0 -1
  239. package/dist/expect.js +0 -582
  240. package/dist/expect.js.map +0 -1
  241. package/dist/guards.cjs +0 -297
  242. package/dist/guards.cjs.map +0 -1
  243. package/dist/guards.d.cts +0 -231
  244. package/dist/guards.d.cts.map +0 -1
  245. package/dist/guards.d.ts +0 -231
  246. package/dist/guards.d.ts.map +0 -1
  247. package/dist/guards.js +0 -277
  248. package/dist/guards.js.map +0 -1
  249. package/dist/index.cjs +0 -111
  250. package/dist/index.cjs.map +0 -1
  251. package/dist/index.d.cts +0 -448
  252. package/dist/index.d.cts.map +0 -1
  253. package/dist/index.d.ts +0 -448
  254. package/dist/index.d.ts.map +0 -1
  255. package/dist/index.js +0 -71
  256. package/dist/index.js.map +0 -1
  257. package/dist/internal-schema.cjs +0 -253
  258. package/dist/internal-schema.cjs.map +0 -1
  259. package/dist/internal-schema.d.cts +0 -8
  260. package/dist/internal-schema.d.cts.map +0 -1
  261. package/dist/internal-schema.d.ts +0 -8
  262. package/dist/internal-schema.d.ts.map +0 -1
  263. package/dist/internal-schema.js +0 -248
  264. package/dist/internal-schema.js.map +0 -1
  265. package/dist/metadata.cjs +0 -57
  266. package/dist/metadata.cjs.map +0 -1
  267. package/dist/metadata.d.cts +0 -27
  268. package/dist/metadata.d.cts.map +0 -1
  269. package/dist/metadata.d.ts +0 -27
  270. package/dist/metadata.d.ts.map +0 -1
  271. package/dist/metadata.js +0 -54
  272. package/dist/metadata.js.map +0 -1
  273. package/dist/schema.cjs +0 -1522
  274. package/dist/schema.cjs.map +0 -1
  275. package/dist/schema.d.cts +0 -1196
  276. package/dist/schema.d.cts.map +0 -1
  277. package/dist/schema.d.ts +0 -1196
  278. package/dist/schema.d.ts.map +0 -1
  279. package/dist/schema.js +0 -1516
  280. package/dist/schema.js.map +0 -1
  281. package/dist/snapshot/adapter.cjs +0 -31
  282. package/dist/snapshot/adapter.cjs.map +0 -1
  283. package/dist/snapshot/adapter.d.cts +0 -258
  284. package/dist/snapshot/adapter.d.cts.map +0 -1
  285. package/dist/snapshot/adapter.d.ts +0 -258
  286. package/dist/snapshot/adapter.d.ts.map +0 -1
  287. package/dist/snapshot/adapter.js +0 -27
  288. package/dist/snapshot/adapter.js.map +0 -1
  289. package/dist/snapshot/adapters/fallback.cjs +0 -453
  290. package/dist/snapshot/adapters/fallback.cjs.map +0 -1
  291. package/dist/snapshot/adapters/fallback.d.cts +0 -185
  292. package/dist/snapshot/adapters/fallback.d.cts.map +0 -1
  293. package/dist/snapshot/adapters/fallback.d.ts +0 -185
  294. package/dist/snapshot/adapters/fallback.d.ts.map +0 -1
  295. package/dist/snapshot/adapters/fallback.js +0 -446
  296. package/dist/snapshot/adapters/fallback.js.map +0 -1
  297. package/dist/snapshot/adapters/node-test.cjs +0 -301
  298. package/dist/snapshot/adapters/node-test.cjs.map +0 -1
  299. package/dist/snapshot/adapters/node-test.d.cts +0 -131
  300. package/dist/snapshot/adapters/node-test.d.cts.map +0 -1
  301. package/dist/snapshot/adapters/node-test.d.ts +0 -131
  302. package/dist/snapshot/adapters/node-test.d.ts.map +0 -1
  303. package/dist/snapshot/adapters/node-test.js +0 -297
  304. package/dist/snapshot/adapters/node-test.js.map +0 -1
  305. package/dist/snapshot/index.cjs +0 -61
  306. package/dist/snapshot/index.cjs.map +0 -1
  307. package/dist/snapshot/index.d.cts +0 -40
  308. package/dist/snapshot/index.d.cts.map +0 -1
  309. package/dist/snapshot/index.d.ts +0 -40
  310. package/dist/snapshot/index.d.ts.map +0 -1
  311. package/dist/snapshot/index.js +0 -44
  312. package/dist/snapshot/index.js.map +0 -1
  313. package/dist/snapshot/node-version.cjs +0 -49
  314. package/dist/snapshot/node-version.cjs.map +0 -1
  315. package/dist/snapshot/node-version.d.cts +0 -34
  316. package/dist/snapshot/node-version.d.cts.map +0 -1
  317. package/dist/snapshot/node-version.d.ts +0 -34
  318. package/dist/snapshot/node-version.d.ts.map +0 -1
  319. package/dist/snapshot/node-version.js +0 -44
  320. package/dist/snapshot/node-version.js.map +0 -1
  321. package/dist/snapshot/select-adapter.cjs +0 -170
  322. package/dist/snapshot/select-adapter.cjs.map +0 -1
  323. package/dist/snapshot/select-adapter.d.cts +0 -128
  324. package/dist/snapshot/select-adapter.d.cts.map +0 -1
  325. package/dist/snapshot/select-adapter.d.ts +0 -128
  326. package/dist/snapshot/select-adapter.d.ts.map +0 -1
  327. package/dist/snapshot/select-adapter.js +0 -164
  328. package/dist/snapshot/select-adapter.js.map +0 -1
  329. package/dist/snapshot/serializer.cjs +0 -246
  330. package/dist/snapshot/serializer.cjs.map +0 -1
  331. package/dist/snapshot/serializer.d.cts +0 -126
  332. package/dist/snapshot/serializer.d.cts.map +0 -1
  333. package/dist/snapshot/serializer.d.ts +0 -126
  334. package/dist/snapshot/serializer.d.ts.map +0 -1
  335. package/dist/snapshot/serializer.js +0 -238
  336. package/dist/snapshot/serializer.js.map +0 -1
  337. package/dist/standard-schema.cjs +0 -13
  338. package/dist/standard-schema.cjs.map +0 -1
  339. package/dist/standard-schema.d.cts +0 -192
  340. package/dist/standard-schema.d.cts.map +0 -1
  341. package/dist/standard-schema.d.ts +0 -192
  342. package/dist/standard-schema.d.ts.map +0 -1
  343. package/dist/standard-schema.js +0 -12
  344. package/dist/standard-schema.js.map +0 -1
  345. package/dist/types.cjs +0 -22
  346. package/dist/types.cjs.map +0 -1
  347. package/dist/types.d.cts +0 -905
  348. package/dist/types.d.cts.map +0 -1
  349. package/dist/types.d.ts +0 -905
  350. package/dist/types.d.ts.map +0 -1
  351. package/dist/types.js +0 -21
  352. package/dist/types.js.map +0 -1
  353. package/dist/use.cjs +0 -240
  354. package/dist/use.cjs.map +0 -1
  355. package/dist/use.d.cts +0 -8
  356. package/dist/use.d.cts.map +0 -1
  357. package/dist/use.d.ts +0 -8
  358. package/dist/use.d.ts.map +0 -1
  359. package/dist/use.js +0 -236
  360. package/dist/use.js.map +0 -1
  361. package/dist/util.cjs +0 -255
  362. package/dist/util.cjs.map +0 -1
  363. package/dist/util.d.cts +0 -141
  364. package/dist/util.d.cts.map +0 -1
  365. package/dist/util.d.ts +0 -141
  366. package/dist/util.d.ts.map +0 -1
  367. package/dist/util.js +0 -234
  368. package/dist/util.js.map +0 -1
  369. package/dist/value-to-schema.cjs +0 -537
  370. package/dist/value-to-schema.cjs.map +0 -1
  371. package/dist/value-to-schema.d.cts +0 -144
  372. package/dist/value-to-schema.d.cts.map +0 -1
  373. package/dist/value-to-schema.d.ts +0 -144
  374. package/dist/value-to-schema.d.ts.map +0 -1
  375. package/dist/value-to-schema.js +0 -533
  376. package/dist/value-to-schema.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
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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"}